细胞阵列计算系统以及其中的通信方法

文档序号:9844430阅读:267来源:国知局
细胞阵列计算系统以及其中的通信方法
【技术领域】
[0001]本发明涉及计算机及计算机应用技术领域,特别涉及一种细胞阵列计算系统以及其中的通信方法。
【背景技术】
[0002]通常来说,一台计算机主要包括三个核心部分:中央处理器(CPU,CentralProcessing Unit)、内存和存储。
[0003]经过一些世界顶级公司的不懈努力,CPU已经演变成极度复杂的半导体芯片。顶级的CPU内核内部的MOS管数目可以超过一亿个。目前的产业趋势是受制于功耗,CPU的运行频率已经很难再提高。已经极度复杂的现代CPU,运行效率同样很难再提高。新的CPU产品,越来越多地朝多核方向演进。
[0004]在内存方面,目前居于统治地位的是动态随机存取存储器(DRAM,Dynamic RandomAccess Memory)技术。DRAM可以快速随机读写,但却不能在断电的情况下保持内容。实际上,即使在通电的情况下,它也会由于内部用于储存信息的电容器的漏电而丢失信息,必须周期性地自刷新。
[0005]在存储方面,NAND闪存技术正在逐步取代传统硬盘。闪存所依赖的浮置栅极(floating gate)技术,虽然能够在断电的情况下保持内容,但写入(将‘I’改写为‘0’ )的速度很慢,擦除(将‘0’改写为‘I’)的速度更慢,无法像DRAM那样用于对计算的直接支持。它被制作成块设备(block device),必须整块一起擦除,一个块(block)包含很多页(page),擦除后每页可以进行写入操作。NAND的另外一个问题是具有有限的寿命。
[0006]DRAM和NAND闪存,以及CPU的逻辑电路,虽然都是基于CMOS半导体工艺生产的,但这三者的工艺彼此并不兼容。于是,计算机的三个核心部分无法在一个芯片上共存,这深刻地影响了现代计算机的架构。
[0007]现有技术中的计算机架构如图1所示,图1中示出多个CPU内核,分别为CPU1、CPU2、CPU3、……、CPUn,每个CPU内核一般具有相应的一级缓存(LlCache),根据需要还可以进一步为每个CPU内核配备相应的二级缓存(L2Cache)、三级缓存(L3Cache)。DRAM与各个CPU内核之间通过双倍速率(DDR,Double Data Rate)接口进行通信,硬盘(HD,HardDisk)或固态硬盘(SSD,Solid State Drives)与各个CPU内核之间则通过外围设备接口进行通信。
[0008]—方面,CPU在向多核的方向发展,另一方面内存和存储都在另外的芯片里。多核CPU吞吐信息量成比例增加,与内存、存储的通信就越来越成为系统性能的瓶颈。为了缓解通信瓶颈,CPU不得不采用越来越大的多级缓存。缓存是把内存中的内容复制,通常是用成本比DRAM高得多但速度更快的静态随机存取存储器(SRAM,Static Random AccessMemory)设计的。这样的架构,费效比非常的差。半导体芯片的成本由其硅片的面积决定,而传统计算机架构带来的性能提升与其硅片面积的增加远远不成比例。

【发明内容】

[0009]本发明要解决的问题是现有技术中的计算机架构因CPU与内存、存储之间存在的通信瓶颈而影响计算机整体性能的提升,并使费效比较差。
[0010]为解决上述问题,本发明技术方案提供一种细胞阵列计算系统,包括:主控CPU、细胞阵列和细胞阵列总线;所述细胞阵列是由一个以上兼具计算和存储功能的细胞组成的二维阵列,其中每一个细胞包括微处理器(MPU,Micro Processing Unit)和非易失(NV,NotVolatile)随机存储器;所述非易失随机存储器用于所述微处理器计算时所涉及数据的随机存取,还用于存储软件的指令代码和需要永久保存的数据;每一个细胞储存各自在所述细胞阵列中的位置作为身份识别号(ID,identificat1n)以供细胞中的软件或硬件读取;所述主控CPU通过所述细胞阵列总线与所述细胞阵列中的每一个细胞进行通信;所述细胞阵列中的相邻细胞之间有通信接口,能相互发送数据。
[0011]可选的,所述主控CPU通过所述细胞阵列总线与所述细胞阵列中的每一个细胞进行的通信包括以下情况中的至少一种:
[0012]按地址读写所述细胞阵列中任一细胞的非易失随机存储器;
[0013]将数据广播到所述细胞阵列中目标区域内每一个细胞的非易失随机存储器,并写入所述目标区域内每一个细胞的非易失随机存储器中相同的相对地址;
[0014]给所述细胞阵列中任一细胞的微处理器发送指令、发送数据或读取状态;
[0015]给所述目标区域内所有细胞的微处理器广播指令。
[0016]可选的,所述细胞阵列中的细胞还包括总线控制器和细胞内部总线,所述总线控制器与所述细胞阵列总线、微处理器以及细胞内部总线相连,所述总线控制器用于识别所述主控CPU与本细胞之间进行的通信,连接所述微处理器以传递所述主控CPU发送的指令或数据、状态读取,或者通过所述细胞内部总线连接所述非易失随机存储器进行数据的读写操作。
[0017]可选的,所述微处理器中集成有浮点计算处理器(FPU,Float Point Unit)和图像处理器中的至少一种。
[0018]可选的,所述非易失随机存储器为磁性随机存储器(MRAM,Magnetic RandomAccess Memory)ο
[0019]可选的,所述主控CPU与所述细胞阵列和所述细胞阵列总线集成于一个芯片中。
[0020]可选的,所述主控CPU作为独立的芯片,通过标准的内存接口与由所述细胞阵列和所述细胞阵列总线组成的芯片进行通信。
[0021]为解决上述问题,本发明技术方案还提供一种上述细胞阵列计算系统中的通信方法,包括:
[0022]所述细胞阵列中的任一细胞接收所述主控CPU在所述细胞阵列总线上广播的目标地址,若判断出所述目标地址在本细胞中,则连接该细胞的非易失随机存储器以使所述主控CPU进行数据的读写操作;
[0023]在系统地址空间中预留第一特殊地址段用于所述主控CPU与微处理器之间的通信并存储目标细胞的ID,若所述细胞阵列中任一细胞接收所述第一特殊地址段时识别出是与本细胞的微处理器的通信,则连接该细胞的微处理器完成后续的指令接收、数据接收和状态读取操作;
[0024]在系统地址空间中预留第二特殊地址段用于所述主控CPU广播指令,所述第二特殊地址段存有能帮助确定所述细胞阵列中目标区域的范围的各个细胞的ID,若所述细胞阵列中任一细胞接收所述第二特殊地址段后识别出本细胞在所述目标区域中,则连接该细胞的微处理器以传递所述主控CPU发送的指令或数据、状态读取,或者通过连接该细胞的非易失随机存储器进行数据的读写操作;
[0025]所述细胞阵列中的任一细胞在其微处理器的控制下向相邻细胞发送数据。
[0026]可选的,所述细胞阵列中的细胞还包括总线控制器和细胞内部总线,所述总线控制器与所述细胞阵列总线、微处理器以及细胞内部总线相连;所述细胞阵列中的任一细胞判断所述目标地址是否在本细胞中,识别是否与本细胞的微处理器的通信,识别本细胞是否在所述目标区域中,以及连接非易失随机存储器或微处理器均是由所述总线控制器完成的,所述总线控制器通过所述细胞内部总线连接所述非易失随机存储器。
[0027]可选的,所述主控CPU对于所述细胞阵列中任一细胞的非易失随机存储器的读写操作的优先级高于该细胞内的微处理器对于相应的非易失随机存储器的读写操作。
[0028]本发明技术方案还提供一种应用上述细胞阵列计算系统计算蒙特卡洛(MonteCarlo)积分的方法,包括:
[0029]所述主控CPU选择所述细胞阵列中全部或一个目标区域内的细胞,把被积函数对应的程序广播到所选择的每一个细胞的相对地址段;
[0030]所述主控CPU广播指令,使所选择细胞的微处理器从所述相对地址段开始执行所述被积函数对应的程序;
[0031]每个细胞完成积分运算后,将总和存储于约定的地址,供所述主控CPU读取后进行总求和。
[0032]可选的,所述被积函数对应的程序在开始执行时,其自带的随机数发生器读取细胞的ID作为种子。
[0033]本发明技术方案还提供另一种应用上述细胞阵列计算系统计算Monte Carlo积分的方法,包括:
[0034]所述主控CPU选择所述细胞阵列中全部或一个目标区域内的细胞;
[0035]所述主控CPU广播一个下载程序到所选择的每一个细胞的同一段相对地址中,并广播指令使所选择细胞的微处理器从所述相对地址开始执行所述下载程序;
[0036]将被积函数对应的程序拆分成两个或两个以上的子程序,所述主控CPU广播各个子程序到所选择细胞的微处理器中;
[0037]运行所述下载程序的微处理器,根据各自所在细胞的ID选择其中一个子程序储存,使各个子程序被按序部署在依次相邻的一组细胞中;
[0038]所述主控CPU广播指令,使每一组细胞的微处理器依次执行所述被积函数对应的程序被拆分后的子程序,前一级的中间结果输送到下一级做输入;
[0039]每一组细胞完成积分运算后,将总和存储于约定的地址,供所述主控CPU读取后进行总求和。
[0040]与现有技术相比,本发明的技术方案至少具有以下优点:
[0041]通过将一个以上兼具独立计算和存储功能的单元(称为“细胞”)组成二维阵列(称为“细胞阵列”),其中每一个细胞包括微处理器和非易失随机存储器,所述非易失随机存储器既能支持所述微处理器进行计算时所涉及数据的随机存取,也能支持存储软件的指令代码和需要永久保存的数据,使内存、存储、计算三个功能集成到每个细胞中,并使各细胞之间形成密集的通讯网络,一方面,主控CPU能通过细胞阵列总线与细胞阵列中的每一个细胞进行通信,另一方面,细胞阵列中的相邻细胞之间也能相互发送数据,由此能通过数据群发和内部网络,克服现有计算机架构因CPU与内存、存储之间存在的通信瓶颈,从而提升计算系统的整体性能,并能使费效比较佳。
[0042]现有技术中利用多核CPU架构计算Monte Carlo积分,当每个CPU自带的缓存不够时,所有的CPU都需要从和内存的接口中读取被积函数的代码,由此形成瓶颈,而通过应用上述细胞阵列计算系统计算Monte Carlo积分,细胞阵列计算系统的广播/群发功能和能够大规模平行传输数据的内部网络的优势将充分体现出来,大量细胞的同时运算使所述细胞阵列计算系统强大的运算能力完全释放,从而更高效地完成Monte Carlo积分的计算。
【附图说明】
[0043]图1是现有技术中计算机架构的示意图;
[0044]图2是本发明实施例提供的细胞阵列计算系统的一种结构示意图;
[0045]图3是本发明实施例的一种相邻细胞之间通信方式的示意图;
[0046]图4是本发明实施例的另一种相邻细胞之间通信方式的示意图;
[0047]图5是本发明实施例的细胞的结构示意图;
[0048]图6是应用细胞阵列计算系统以流水线的方式计算Monte Carlo积分的示意图;
[0049]图7是本发明实施例的细胞阵列中进行细胞间通信的细胞的结构示意图;
[0050]图8是本发明实施例的细胞阵列中细胞间通信的路径选择的示意图;
[0051]图9是本发明实施例的专职输出细胞的实施过程示意图;
[0052]图10是本发明实施例的细胞阵列中起点细胞在目标区域角上的细胞群发示意图;
[0053]图11是本发明实施例的细胞阵列中起点细胞在目标区域边上的细胞群发示意图;
[0054]图12是本发明实施例的细胞阵列中起点细胞在目标区域内部的细胞群发示意图;
[0055]图13是本发明实施例的细胞阵列中起点细胞在目标区域外的细胞群发示意图;
[0056]图14是本发明实施例提供的细胞阵列计算系统的另一种结构示意图;
[0057]图15是本发明实施例提供的细胞阵列计算系统的又一种结构示意图;
[0058]图16是本发明实施例提供的细胞阵列计算系统的再一种结构示意图;
[0059]图17是本发明实施例提供的摄像系统的一种结构示意图;
[0060]图18是本发明实施例提供的摄像系统的另一种结构示意图;
[0061]图19是神经网络中一个神经元的示意图;
[0062]图20是神经网络计算的示意图;
[0063]图21是本发明实施例提供的带有调试接口的细胞阵列计算系统的结构示意图。【具体实施方式】
[0064]现有技术的计算机架构由于CPU与内存、存储之间存在通信瓶颈,从而影响计算机整体性能的提升,并使费效比较差。
[0065]本申请发明人经过研究后考虑,若是把内存、存储、计算三个功能集成到一个芯片上来,形成相对简单但兼具独立计算和存储功能的单元,并使大量此类单元之间形成密集的通讯网络,以此实现数据群发功能和能够大规模平行传输数据的内部网络,便能开发出一种与人脑存在相似之处的计算架构,这相当于把大量的微型计算机做在一个芯片上。
[0066]为此,本发明技术方案提供一种与人脑结构相似的计算架构(本发明技术方案中将其称为“细胞阵列计算系统”),该计算架构由众多结构相对简单,兼具存储和计算功能,又有着密集网络连接的单元(本发明技术方案中将其称为“细胞”)组成。这种新计算架构将在大型计算、大数据处理、人工智能等领域中得到广泛的应用。
[0067]为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例作详细的说明。
[0068]如图2所示,本发明实施例提供的细胞阵列计算系统包括:主控CPU、细胞阵列和细胞阵列总线;所述细胞阵列是所述细胞阵列计算系统中的主体,它是由一个以上兼具计算和存储功能的细胞组成的二维阵列,其中每一个细胞包括微处理器(MPU)和非易失随机存储器(图2中以MRAM为例);所述非易失随机存储器用于所述微处理器计算时所涉及数据的随机存取,还用于存储软件的指令代码和需要永久保存的数据;每一个细胞储存各自在所述细胞阵列中的位置作为ID以供细胞中的软件或硬件读取;所述主控CPU通过所述细胞阵列总线与所述细胞阵列中的每一个细胞进行通信;所述细胞阵列中的相邻细胞之间有通信接口,能相互发送数据。
[0069]需要说明的是,在本实施例中,所述非易失随机存储器是以MRAM为例进行说明。在其他实施例中,随着非易失随机存储技术的进一步发展与成熟,所述非易失随机存储器也可以采用另外几种有潜力的技术实现,例如:相变随机存储器(PCRAM,Phase ChangeRandom Access Memory)、阻变式随机存储器(Resistive Random Access Memory)、铁电随机存储器(FeRAM,Ferroelectric Random Access Memory)、铁电动态随机存储器(FEDRAM,Ferroelectric Dynamic Random Access Memory)等等。
[0070]MRAM是一种新的内存和存储技术,可以像SRAM/DRAM —样快速随机读写,并且比DRAM快;还可以像闪存一样在断电后永久保留数据,并且不像NAND闪存,MRAM可以不限次地擦写,使用寿命较长。此外,MRAM的经济性想当地好,单位容量占用的硅片面积比SRAM (通常作为CPU的缓存)有很大的优势,有望接近DRAM的水平。它的性能也相当好,读写时延接近最好的SRAM,功耗则在各种内存和存储技术最好。而且MRAM不像DRAM以及Flash那样与标准CMOS半导体工艺不兼容,MRAM可以和逻辑电路集成到一个芯片中。通过采用MRAM技术,就可以把内存、存储、计算三个功能集成到一个芯片上来,使所述细胞阵列
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1