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

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