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

文档序号:9929884阅读:518来源:国知局
细胞阵列计算系统以及其中细胞之间的通信方法
【技术领域】
[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)0
[0021]可选的,所述主控CPU与所述细胞阵列和所述细胞阵列总线集成于一个芯片中。
[0022]可选的,所述主控CPU作为独立的芯片,通过标准的内存接口与由所述细胞阵列和所述细胞阵列总线组成的芯片进行通信。
[0023]为解决上述问题,本发明技术方案还提供一种上述细胞阵列计算系统中细胞之间的通信方法,包括:所述细胞阵列中的起点细胞将向终点细胞发出的数据,按选定的发送方向发送至与所述起点细胞相邻的细胞;当所述细胞阵列中的任一细胞接收到相邻细胞发出的数据或中转的数据时,若根据接收到的数据中所标明的所述终点细胞的ID判断出本细胞为终点细胞,则将接收到的数据存入本细胞的非易失随机存储器,或者通知本细胞的微处理器对接收的数据进行处理,否则本细胞作为中转细胞,在选定发送方向后将所述接收到的数据中转给与本细胞相邻的细胞。
[0024]可选的,所述起点细胞向终点细胞发出的数据中还标明所述终点细胞中要被访问的地址或者微处理器;所述将接收到的数据存入本细胞的非易失随机存储器,是所述终点细胞在识别出接收到的数据中所标明的要被访问的地址之后进行的;所述通知本细胞的微处理器对接收的数据进行处理,是所述终点细胞在识别出接收到的数据中所标明的微处理器之后进行的。
[0025]可选的,所述起点细胞向终点细胞发出的数据中还标明所述起点细胞的ID,所述终点细胞以接收到的数据中所标明的起点细胞的ID作为终点细胞的ID,在对接收到的数据进行处理后所得到的反馈数据中予以标明。
[0026]可选的,所述细胞阵列中的细胞还包括与所述微处理器相连的网络控制器;所述起点细胞向终点细胞发出数据、所述细胞阵列中的任一细胞接收相邻细胞发出的数据或中转的数据并判断本细胞为最终细胞或是中转细胞、将接收到的数据存入本细胞的非易失随机存储器或者通知本细胞的微处理器对接收的数据进行处理,均是在所述网络控制器的控制下完成的。
[0027]可选的,所述细胞阵列中的细胞还包括与所述网络控制器相连的一组或一组以上先入先出队列,各组先入先出队列分别对应一个与本细胞相邻的细胞,每一组先入先出队列包括输入先入先出队列和输出先入先出队列;所述通信方法还包括:所述起点细胞向终点细胞发出的数据先由所述网络控制器输入所述输出先入先出队列,再由所述网络控制器从所述输出先入先出队列输出至与所述起点细胞相邻的细胞;若所述细胞阵列中的任一细胞接收到相邻细胞发出的数据或中转的数据,则将接收到的数据输入所述输入先入先出队列,并在判断出接收到的数据需要进行中转时再将该数据输入所述输出先入先出队列。
[0028]可选的,所述细胞阵列计算系统中细胞之间的通信方法还包括:若所述网络控制器判断出所述输入先入先出队列或输出先入先出队列为空或者已满,或接收到相邻细胞发出或中转的数据
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1