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

文档序号:9929470阅读:672来源:国知局
细胞阵列计算系统以及其中细胞间群发通信方法
【技术领域】
[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]可选的,所述细胞阵列中的细胞还包括与所述微处理器相连的网络控制器,所述网络控制器用于在所述群发通信时或任意两个细胞进行细胞间通信时,对发出的数据、中转的数据或者最终接收的数据进行收发控制,还用于向所述微处理器发送中断信号。
[0012]可选的,所述细胞阵列中的细胞还包括与所述网络控制器相连的一组或一组以上先入先出队列(FIFO,First Input First Output),各组先入先出队列分别对应一个与本细胞相邻的细胞,每一组先入先出队列包括输入先入先出队列和输出先入先出队列,所述输入先入先出队列用于存储输入本细胞进行中转的数据或最终接收的数据,所述输出先入先出队列用于存储从本细胞输出的需进行中转的数据或本细胞向其他细胞发出的数据。
[0013]可选的,所述主控CPU通过所述细胞阵列总线与所述细胞阵列中的每一个细胞进行的通信包括以下情况中的至少一种:
[0014]按地址读写所述细胞阵列中任一细胞的非易失随机存储器;
[0015]将数据广播到目标区域内每一个细胞的非易失随机存储器,并写入该目标区域内每一个细胞的非易失随机存储器中相同的相对地址;
[0016]给所述细胞阵列中任一细胞的微处理器发送指令、发送数据或读取状态;
[0017]给目标区域内所有细胞的微处理器广播指令。
[0018]可选的,所述细胞阵列中的细胞还包括总线控制器和细胞内部总线,所述总线控制器与所述细胞阵列总线、微处理器以及细胞内部总线相连,所述总线控制器用于识别所述主控CPU与本细胞之间进行的通信,连接所述微处理器以传递所述主控CPU发送的指令或数据、状态读取,或者通过所述细胞内部总线连接所述非易失随机存储器进行数据的读写操作。
[0019]可选的,所述微处理器中集成有浮点计算处理器(FPU,Float Point Unit)和图像处理器中的至少一种。
[0020]可选的,所述非易失随机存储器为磁性随机存储器(MRAM,Magnetic RandomAccess Memory)ο
[0021]可选的,所述主控CPU与所述细胞阵列和所述细胞阵列总线集成于一个芯片中。
[0022]可选的,所述主控CPU作为独立的芯片,通过标准的内存接口与由所述细胞阵列和所述细胞阵列总线组成的芯片进行通信。
[0023]为解决上述问题,本发明技术方案还提供一种上述细胞阵列计算系统中细胞间群发通信方法,包括:当细胞阵列中的任一细胞作为起点细胞向目标区域内所有细胞发起群发通信时,若该起点细胞位于该目标区域内,则将细胞间群发数据发送至所有位于该目标区域内的相邻细胞,并针对每一个相邻细胞更新目标区域,否则按靠近目标区域的方向将所述细胞间群发数据发送至相邻的细胞;若位于目标区域外的细胞接收到相邻细胞发送的所述细胞间群发数据,则在判断出所述细胞间群发数据中所标明的目标区域不包含本细胞,本细胞作为中转细胞,按靠近目标区域的方向将所述细胞间群发数据中转给相邻细胞;若位于目标区域内的细胞接收到相邻细胞发送的所述细胞间群发数据,则在判断出所述细胞间群发数据中所标明的目标区域包含本细胞,本细胞作为终点细胞,将接收到的所述细胞间群发数据存入本细胞的非易失随机存储器,或者通知本细胞的微处理器对所述细胞间群发数据进行处理,如果目标区域内仍然存在与本细胞相邻的细胞,则本细胞还作为中转细胞,将接收到的所述细胞间群发数据中转给所有位于目标区域内的相邻细胞,并针对每一个相邻细胞更新目标区域;更新后的目标区域包括由更新前的目标区域划分而成的一个或一个以上目标区域,更新前的目标区域内发出或中转所述细胞间群发数据的细胞的每一个相邻细胞分别包含于更新后的各个目标区域内,已发出或已中转所述细胞间群发数据的细胞排除在更新后的目标区域之外。
[0024]可选的,发起群发通信的起点细胞所确定的目标区域的形状为矩形;当作为起点细胞或中转细胞的第一细胞位于矩形目标区域的角上时,如果所述矩形目标区域中均含有所述第一细胞的相邻两边的其中一边的细胞数量为1,则更新后的目标区域为所述矩形目标区域在所述相邻两边的另一边排除所述第一细胞后形成的矩形区域,否则更新后的目标区域包括两个矩形的目标区域,其中一个目标区域为所述相邻两边中任一边排除所述第一细胞后形成的矩形区域;当作为起点细胞或中转细胞的第二细胞位于矩形目标区域的边上时,如果所述矩形目标区域中与所述第二细胞所在边相邻的边的细胞数量为1,则更新后的目标区域包括所述第二细胞所在边排除所述第二细胞后形成的两个矩形的目标区域,否则更新后的目标区域包括三个矩形的目标区域,其中两个目标区域为所述第二细胞所在边排除所述第二细胞后形成的两个矩形区域;当作为起点细胞的第三细胞位于矩形目标区域的内部时,更新后的目标区域包括四个矩形的目标区域,其中两个目标区域为所述第三细胞所在行或列排除所述第三细胞后形成的两个矩形区域,另外两个目标区域为更新前的所述矩形目标区域被所述第三细胞所在行或列分割而形成的两个矩形区域。
[0025]可选的,当作为起点细胞或中转细胞的第四细胞位于目标区域之外时,如果所述第四细胞与目标区域内任一细胞之间能形成一条直线的通信路径,则所述第四细胞发出或中转所述细胞间群发数据的发送方向为由所述第四细胞沿所述直线向目标区域的方向,否则所述发送方向为由所述第四细胞向待选相邻细胞的方向,所述待选相邻细胞为与所述第四细胞相邻的细胞之中靠近目标区域的细胞。
[0026]可选的,若所述待选相邻细胞的数量为两个,则选择这两个待选相邻细胞中输出数据的通信任务更少的细胞作为中转细胞。
[0027]与现有技术相比,本发明的技术方案至少具有以下优点:
[0028]通过将一个以上兼具独立计算和存储功能的单元(称为“细胞”)组成二维阵列(称为“细胞阵列”),其中每一个细胞包括微处理器和非易失随机存储器,所述非易失随机存储器既能支持所述微处理器进行计算时所涉及数据的随机存取,也能支持存储软件的指令代码和需要永久保存的数据,使内存、存储、计算三个功能集成到每个细胞中,并使各细胞之间形成密集的通讯网络,一方面,主控CPU能通过细胞阵列总线与细胞阵列中的每一个细胞进行通信,另一方面,细胞阵列中的相邻细胞之间也能相互发送数据,由此能通过数据群发和内部网络,克服现有计算机架构因CPU与内存、存储之间存在的通信瓶颈,从而提升计算系统的整体性能,并能使费效比较佳。
[0029]通过细胞阵列中相邻细胞之间的通信接口,实现相邻细胞之间对于数据的多次中转,使细胞阵列中的任意两个细胞之间不依靠主控C
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1