细胞阵列计算系统的制作方法_2

文档序号:9929888阅读:来源:国知局
对本发明 的具体实施例作详细的说明。
[0060] 要施例一 阳06U 如图2所示,本实施例提供的细胞阵列计算系统包括:主控CPU、细胞阵列和细胞 阵列总线;所述细胞阵列是所述细胞阵列计算系统中的主体,它是由一个W上兼具计算和 存储功能的细胞组成的二维阵列,其中每一个细胞包括微处理器(MPU)和非易失随机存储 器(图2中WMRAM为例);所述非易失随机存储器用于所述微处理器计算时所设及数据的 随机存取,还用于存储软件的指令代码和需要永久保存的数据;每一个细胞储存各自在所 述细胞阵列中的位置作为ID W供细胞中的软件或硬件读取;所述主控CPU通过所述细胞阵 列总线与所述细胞阵列中的每一个细胞进行通信;所述细胞阵列中的相邻细胞之间有通信 接口,能相互发送数据。
[0062] 需要说明的是,在本实施例中,所述非易失随机存储器是W MRAM为例进行说明。 在其他实施例中,随着非易失随机存储技术的进一步发展与成熟,所述非易失随机存储器 也可W采用另外几种有潜力的技术实现,例如:相变随机存储器(PCRAM,化ase化ange Random Access Memoir)、阻变式随机存储器巧esistive Random Access Memoir)、铁电随 机存储器(FeRAMJerroelectric Random Access Memoir)、铁电动态随机存储器(阳DRAM, Ferroelectric Dynamic Random Access Memory)等等。
[0063] MRAM是一种新的内存和存储技术,可W像SRAM/DRAM -样快速随机读写,并且 比DRAM快;还可W像闪存一样在断电后永久保留数据,并且不像NAND闪存,MRAM可W不 限次地擦写,使用寿命较长。此外,MRAM的经济性想当地好,单位容量占用的娃片面积比 SRAM (通常作为CPU的缓存)有很大的优势,有望接近DRAM的水平。它的性能也相当好, 读写时延接近最好的SRAM,功耗则在各种内存和存储技术最好。而且MRAM不像DRAM W及 Flash那样与标准CMOS半导体工艺不兼容,MRAM可W和逻辑电路集成到一个忍片中。通过 采用MRAM技术,就可W把内存、存储、计算=个功能集成到一个忍片上来,使所述细胞阵列 计算系统的实现便能成为可能。
[0064] 本实施例中,所述微处理器具有通常CPU的功能,还可W根据具体的应用场景添 加浮点计算处理器、图像处理器等单元,因此,所述微处理器中可W集成有浮点计算处理器 和图像处理器中的至少一种。
[0065] 在实际实施时,所述主控CPU与所述细胞阵列和所述细胞阵列总线可W集成于一 个忍片中,所述主控CPU也可W作为独立的忍片,通过标准的内存接口与由所述细胞阵列 和所述细胞阵列总线组成的忍片进行通信。当所述主控CPU与所述细胞阵列之间采用标准 的内存接口进行通信时,则主控CPU可W采用通用的CPU忍片实现,更易于所述细胞阵列计 算系统的实施。
[0066] 本实施例中,每一个细胞储存各自在细胞阵列中的位置作为ID,所述位置可W采 用平面直角坐标系中第一象限的坐标表示方式,若(x,y)表示某个细胞在细胞阵列中的位 置,则(X,y)可W作为ID存储在该细胞中,细胞中的软件和硬件可W读取运个ID,在具体的 操作中使用。
[0067] 本实施例中,所述主控CPU通过所述细胞阵列总线与所述细胞阵列中的每一个细 胞进行的通信包括W下情况:
[0068] 按地址读写所述细胞阵列中任一细胞的非易失随机存储器;
[0069] 将数据广播到所述细胞阵列中目标区域内每一个细胞的非易失随机存储器,并写 入该目标区域内每一个细胞的非易失随机存储器中相同的相对地址;
[0070] 给所述细胞阵列中任一细胞的微处理器发送指令(包括开始、暂停)、发送数据或 读取状态;
[0071] 给该目标区域内所有细胞的微处理器广播指令。 阳0巧当然,在其他实施例中,所述主控CPU通过所述细胞阵列总线与所述细胞阵列中 的每一个细胞进行的通信也可W是上述情况中的一种或多种组合。
[0073] 需要说明的是,本发明实施例中的"目标区域"是指由所述主控CPU或所述细胞阵 列中的任一细胞选择一个W上存在相邻关系的细胞所构成的区域,该区域内的细胞是主控 CPU或细胞阵列中的任一细胞广播/群发数据或指令的对象。本实施例中,所述目标区域具 体W矩形区域(a《X《b,C《y《山其中a、b分别是该矩形区域在平面直角坐标系中X 轴方向的边界坐标,c、d分别是该矩形区域在平面直角坐标系中y轴方向的边界坐标)为例 进行说明。在其他实施例中,所述目标区域也可W是其他形状构成的区域,例如菱形区域、 =角形区域、六边形区域等等。
[0074] 此外,本发明实施例中"广播"的概念不同于"群发"的概念,前者可W是发一遍数 据或指令使得所有的对象都能接收到,而后者则可W是分很多遍发给不同的对象。 阳0巧]除了通过主控CPU对所述细胞阵列中任一细胞(包括细胞中的微处理器或非易失 随机存储器)进行广播,在所述细胞阵列内,还有一个通信网络,该通信网络能够使得一个 细胞可W在其MPU的控制下,向与它相邻的细胞发送数据。如图3所示,在一平面中,任一细 胞可W与其上、下、左、右四个方向的相邻细胞进行通信。当然,相邻细胞之间通信方式的概 念并不仅仅局限于"上、下、左、右四个方向",在线路布局能够支持的情况下,也可W是"上、 下、左、右、左上、右上、左下、右下八个方向",如图4所示,任一细胞可W与其上、下、左、右、 左上、右上、左下、右下八个方向的相邻细胞进行通信。
[0076] 如图5所示,在本实施例中,所述细胞阵列中的细胞具体还可W包括总线控制器 和细胞内部总线,所述总线控制器与所述细胞阵列总线、微处理器W及细胞内部总线相连, 所述总线控制器用于识别所述主控CPU与本细胞之间进行的通信,连接所述微处理器W传 递所述主控CPU发送的指令或数据、状态读取,或者通过所述细胞内部总线连接所述非易 失随机存储器进行数据的读写操作。
[0077] 本领域技术人员知晓,一个比较简单而性能很好的CPU,如ARM Cotex MO,只有5 万个左右的MOS管,即使适度增加 FPU功能,也比顶级CPU的上亿个MOS管小得多,提升CPU 性能带来的面积(成本)增加是不成比例的。把一个大CPU用许多小CPU替换,在总成本 一样的情况下,总计算能力一定提高很多倍。然而传统计算机架构受制于通信瓶颈,使用大 量CPU内核带来的实际性能提升非常有限。
[0078] 而本发明技术方案提供的细胞阵列计算系统通过数据广播/群发和内部网络,解 决了通信瓶颈的问题,从而提升计算系统的整体性能,并能使费效比较佳,对此将在后续的 应用实例中更清楚地看到运一点。
[0079] 初步的研究表明,如果使用类似于Codex MO的MPU,配合32邸的内存,组成一个 细胞。使用40纳米的工艺,可W把3000个运样的细胞做在一个忍片上,运是非常强大的计 算能力。进一步的研究表明,使用运种方法,可W在同样的娃片面积上超越当代顶级CPU的 计算能力(一般用每秒浮点运算次数(FLOPS, floating-point operations per second) 测量)。由于本发明技术方案的细胞阵列计算系统不再面临与内存接口的瓶颈,在解决很多 实际问题中,表现的会更好。
[0080] 基于上述细胞阵列计算系统,本实施例还提供一种上述细胞阵列计算系统中的通 信方法,包括:主控CPU读写非易失随机存储器的操作、主控CPU与微处理器之间的通信操 作、主控CPU的广播操作W及细胞阵列内相邻细胞之间的通信操作;
[0081] 所述主控CPU读写非易失随机存储器的操作具体包括:所述细胞阵列中的任一细 胞接收所述主控CPU在所述细胞阵列总线上广播的目标地址,若判断出所述目标地址在本 细胞中,则连接该细胞的非易失随机存储器W使所述主控CPU进行数据的读写操作。
[0082] 所述主控CPU与微处理器之间的通信操作具体包括:在系统地址空间中预留第一 特殊地址段用于所述主控CPU与微处理器之间的通信并存储目标细胞的ID,若所述细胞阵 列中任一细胞接收所述第一特殊地址段时识别出是与本细胞的微处理器的通信,则连接该 细胞的微处理器完成后续的指令接收、数据接收和状态读取操作。
[0083] 需要说明的是,所述系统地址空间并不仅仅局限于由细胞阵列的各个细胞中包含 的非易失随机存储器组成的地址空间总和,因为连接细胞阵列总线的存储器可能不止是细 胞阵列的各个细胞中包含的非易失随机存储器,完全可能还存在其他类型的存储器与细胞 阵列总线相连,供所述主控CPU访问。因此,所述主控CPU需要根据细胞的ID去标识其准 备访问的细胞(此时该细胞在本实施例中称为"目标细胞")。
[0084] 所述主控CPU的广播操作具体包括:在系统地址空间中预留第二特殊地址段用于 所述主控CPU广播指令,所述第二特殊地址段存有能帮助确定所述细胞阵列中目标区域的 范围的各个细胞的ID,若所述细胞阵列中任一细胞接收所述第二特殊地址段后识别出本细 胞在所述目标区域中,则连接该细胞的微处理器W传递所述主控CPU发送的指令或数据、 状态读取,或者通过连接该细胞的非易失随机存储器进行数据的读写操作。
[00化]下面W所述目标区域具体是矩形区域为例对所述主控CPU的广播操作举例说明。 在系统地址空间中预留一段用做广播指令,运个地址中的一段用于存储目标矩形区域中起 点细胞的ID。所述起点细胞是该目标矩形区域中首个被主控CPU访问的细胞,该细胞中的 总线控制器接收运个特殊地址后,接收后面的一个字(word)的数据,运个数据包括目标矩 形区域中与起点细胞对角的细胞的ID。总线控制器判断本细胞在该区域中,接收第二个字 的数据。第二个字标明是给MPU的指令或数据,还是从非易失随机存储器中某一个相对地 址开始写入。如果是前者,连接MPU,如果是后者,连接非易失随机存储器完成后面的操作。
[0086] 需要说明的是,在所述第二特殊地址段的存储空间较为有限的情况下,其存储的 细胞ID并不一定能完全据此确定目标区域的范围,此时接收所述第二特殊地址段之后,还 需要接收后续的数据W配合所述第二特殊地址段中所存储的细胞ID共同确定目标区域的 范围。
[0087] 细胞阵列内相邻细胞之间的通信操作包括:所述细胞阵列中的任一细胞在其微处 理器的控制下向相邻细胞发送数据。
[0088] 本实施例中,每个细胞设置有一个总线控制器,与细胞阵列总线连接。细胞内部设 置细胞内部总线,所述非易失随机存储器是该细胞内部总线的从设备(Slave),所述总线控 制器和微处理器是主设备(Master)。
[0089] 上述细胞阵列计算系统中的通信方法中设及的"所述细胞阵列中的任一细胞判断 所述目标地址是否在本细胞中","识别是否与本细胞的微处理器的通信","识别本细胞是 否在所述目标区域中",W及"连接非易失随机存储器或微处理器"均是由所述总线控制器 完成的,所述总线控制器通过所述细胞内部总线连接所述非易失随机存储器。
[0090] 在具体实施时,所述主控CPU对于所述细胞阵列中任一细胞的非易失随机存储器 的读写操作的优先级高于该细胞内的微处理器对于相应的非易失随机存储器的读写操作。 也就是说,如果某个细胞中的微处理器需要读写该细胞中的非易失随机存储器,须等主控 CPU对于该细胞的非易失随机存储器的读写操作完成之后才能进行。
[0091] 所述细胞阵列计算系统中的通信方法的具体实施也可W参考上述细胞阵列计算 系统的实施,此处不再寶述。
[0092] 此外,本实施例还提供一种应用上述细胞阵列计算系统计算Monte Carlo积分的 方法。Monte Carlo积分是对随机数的求和,是在科学和工程常用到的大计算,其原理相对 简单,计算过程参考如下公式。
[0093]
[0094] 下面将W对于运个问题的解决方法进一步展示细胞阵列计算系统的优越性。 Monte Carlo积分的计算非常适合于上述细胞阵列计算系统,具体执行步骤如下:
[0095] 所述主控CPU选择所述细胞阵列中全部或一个目标区域内的细胞,把被积函数 FQ对应的程序广播到所选择的每一个细胞的相对地址段;
[0096] 所述主控CPU广播指令,使所选择细胞的微处理器从所述相对地址段开始执行被 积函数FQ对应的程序;
[0097] 每个细胞完成积分运算后,将总和存储于约定的地址,供所述主控CPU读取后进 行总求和。
[0098] 本实施例中,所述被积函数FQ对应的程序在开始执行时,其自带的随机数发生 器读取细胞的ID作为种子,如此能够保证每个细胞产生的随机数都是不同的。
[0099] 在实际实施时,几千个细胞同时开始运算,强大的运算能力完全释放,不再受到现 有技术中通f目瓶颈的制约,从而能更局效地完成Monte Carlo积分的计算。
[0100] 在实际实施时,如果被积函数FO非常复杂,一个细胞的内存装不下,还可W通过 流水线的方式解决。因此,本实施例还提供另一种应用上述细胞阵列计算系统计算Monte Carlo积分的方法,包括: 阳101] 所述主控CPU选择所述细胞阵列中全部或一个目标区域内的细胞;
[0102] 所述主控CPU广播一个下载程序到所选择的每一个细胞的同一段相对地址中,并 广播指令使所选择细胞的微处理器从所述相对地址开始执行所述下载程序;所述下载程序 将等待下一步的输入;
[0103] 将被积函数对应的程序拆分成两个或两个W上的子程序,所述主控CPU广播各个 子程序到所选择细胞的微处理器中;
[0104] 运行所述下载程序的微处理器,根据各自所在细胞的ID选择其中一个子程序储 存,使各个子程序被按序部署在依次相邻的一组细胞中;
[01化]所述主控CPU广播指令,使每一组细胞的微处理器依次执行所述被积函数对应的 程序被拆分后的子程序,前一级的中间结果输送到下一级做输入;
[0106] 每一组细胞完成积分运算后,将总和存储于约定的地址,供所述主控CPU读取后 进行总求和。 阳107] 举例来说,如图6所示,比如可W把被积函数FQ拆分成n、f2、f3立个部分(立 个子程序),部署在相邻的细胞中,前一级的中间结果输送到下一级做输入。
[0108] 具体地,当主控CPU广播fl、f2、巧到每一个MPU(注:不是发到内存中,是发给 MPU),运行下载程序的MPU,根据自己ID在直角坐标系X轴方向的坐标X (例如W x/3的余 数)选择其中一个子程序储存。运样,通过两个阶
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1