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

文档序号:9844430阅读:来源:国知局
间群发通信的具体实施也可以参考任意两个细胞之间进行通信的实施,例如此前提及的所述细胞阵列中的细胞同样可以包括与所述网络控制器相连的一组或一组以上先入先出队列,此处不再赘述。
[0169]在上述细胞阵列计算系统支持细胞间群发通信的基础上,本发明实施例还提供一种上述细胞阵列计算系统中细胞间群发通信方法,包括:当细胞阵列中的任一细胞作为起点细胞向目标区域内所有细胞发起群发通信时,若该起点细胞位于该目标区域内,则将细胞间群发数据发送至所有位于该目标区域内的相邻细胞,并针对每一个相邻细胞更新目标区域,否则按靠近目标区域的方向将所述细胞间群发数据发送至相邻的细胞;若位于目标区域外的细胞接收到相邻细胞发送的所述细胞间群发数据,则在判断出所述细胞间群发数据中所标明的目标区域不包含本细胞后,本细胞作为中转细胞,按靠近目标区域的方向将所述细胞间群发数据中转给相邻细胞;若位于目标区域内的细胞接收到相邻细胞发送的所述细胞间群发数据,则在判断出所述细胞间群发数据中所标明的目标区域包含本细胞后,本细胞作为终点细胞,将接收到的所述细胞间群发数据存入本细胞的非易失随机存储器,或者通知本细胞的微处理器对所述细胞间群发数据进行处理,如果目标区域内仍然存在与本细胞相邻的细胞,则本细胞还作为中转细胞,将接收到的所述细胞间群发数据中转给所有位于目标区域内的相邻细胞,并针对每一个相邻细胞更新目标区域;更新后的目标区域包括由更新前的目标区域划分而成的一个或一个以上目标区域,更新前的目标区域内发出或中转所述细胞间群发数据的细胞的每一个相邻细胞分别包含于更新后的各个目标区域内,已发出或已中转所述细胞间群发数据的细胞排除在更新后的目标区域之外。
[0170]需要说明的是,由于主控CPU也可以将某个细胞的数据广播到细胞阵列中的某个目标区域,为了与“主控CPU的广播数据”有所区别,因此本实施例中将细胞间群发通信时所涉及的群发数据称为“细胞间群发数据”。发起细胞间群发通信的细胞会明确目标区域,该目标区域内所有细胞的ID或者所有细胞ID的范围将会标明在所述细胞间群发数据之中,任一细胞接收到所述细胞间群发数据,便能够根据所述细胞间群发数据中所标明的目标区域判断该细胞间群发数据是由本细胞最终接收的,或是需要进一步中转给其他相邻细胞的,还是两者皆需执行的。
[0171]此外,所述针对每一个相邻细胞更新目标区域,具体便是将更新前的目标区域划分而成的一个或一个以上目标区域(已发出或已中转所述细胞间群发数据的细胞被排除在更新后的目标区域之外),其中每个目标区域会各自包含一个所述相邻细胞(即与更新前的目标区域内发出或中转所述细胞间群发数据的细胞相邻的细胞),所述每一个相邻细胞在各自所对应的更新后的目标区域内继续进行细胞间的群发通信,相应地,所述细胞间群发数据中所标明的目标区域同样也会得到更新。
[0172]本实施例中,以图3所示相邻细胞之间通信方式,且以发起群发通信的起点细胞所确定的目标区域的形状为矩形为例进行说明。需要说明的是,本实施例所给出的细胞间群发通信方式是实际实施时较为便捷和高效的方式,本领域技术人员能够理解,在其他实施例中,上述细胞阵列计算系统中细胞间群发通信方法同样能适用于其他相邻细胞之间通信方式或是其他形状的目标区域。
[0173]具体实施时,作为起点细胞或中转细胞的细胞所处位置的不同,发出或中转的方式将有所不同。
[0174]当作为起点细胞或中转细胞的第一细胞位于矩形目标区域的角上时,如果所述矩形目标区域中均含有所述第一细胞的相邻两边的其中一边的细胞数量为1,则更新后的目标区域为所述矩形目标区域在所述相邻两边的另一边排除所述第一细胞后形成的矩形区域,否则更新后的目标区域包括两个矩形的目标区域,其中一个目标区域为所述相邻两边中任一边排除所述第一细胞后形成的矩形区域。需要说明的是,本实施例中的所述第一细胞是位于矩形目标区域的角上的一类细胞的统称。
[0175]可以参阅图10,假设K点所在的细胞为发起细胞间群发通信的起点细胞,或者为负责中转细胞间群发数据的中转细胞,矩形目标区域101为K点所在的细胞发出或中转所述细胞间群发数据前所确定的目标区域,此时K点所在的细胞在矩形目标区域101内,且位于矩形目标区域101的角上,由于矩形目标区域101在水平方向的这条边仅包含I个细胞,此时K点所在的细胞只有一个邻居可以选择为下一站中转,那么该细胞的网络控制器将所述细胞间群发数据发送到L点所在的细胞,并对矩形目标区域101进行更新,更新后形成的目标区域为矩形目标区域102,相当于将K点所在的细胞排除在矩形目标区域101之外;随着目标区域的不断更新,如果目标区域中剩下最后一个细胞,则停止中转。
[0176]假设M点所在的细胞也为发起细胞间群发通信的起点细胞,或者为负责中转细胞间群发数据的中转细胞,矩形目标区域103为M点所在的细胞发出或中转所述细胞间群发数据前所确定的目标区域,此时M点所在的细胞在矩形目标区域103内,且位于矩形目标区域103的角上,由于矩形目标区域103相邻两边均包含I个以上的细胞,此时M点所在的细胞有两个邻居可以选择为下一站中转,那么该细胞的网络控制器将所述细胞间群发数据发送到N点所在的细胞和O点所在的细胞,并对矩形目标区域103进行更新,更新后的目标区域包括两个矩形的目标区域,其中一个目标区域为矩形目标区域104,另一个目标区域为矩形目标区域105,相当于将M点所在的细胞排除在矩形目标区域103之外,矩形目标区域104和矩形目标区域105可以作为独立的目标区域继续以前述类似方法进行数据中转;随着目标区域的不断更新,如果目标区域中剩下最后一个细胞,则停止中转。
[0177]当作为起点细胞或中转细胞的第二细胞位于矩形目标区域的边上时,如果所述矩形目标区域中与所述第二细胞所在边相邻的边的细胞数量为1,则更新后的目标区域包括所述第二细胞所在边排除所述第二细胞后形成的两个矩形的目标区域,否则更新后的目标区域包括三个矩形的目标区域,其中两个目标区域为所述第二细胞所在边排除所述第二细胞后形成的两个矩形区域。需要说明的是,本实施例中的所述第二细胞是位于矩形目标区域的边上的一类细胞的统称。
[0178]可以参阅图11,假设P点所在的细胞为发起细胞间群发通信的起点细胞,或者为负责中转细胞间群发数据的中转细胞,矩形目标区域111为P点所在的细胞发出或中转所述细胞间群发数据前所确定的目标区域,此时P点所在的细胞在矩形目标区域111内,且位于矩形目标区域111的某条边上,由于矩形目标区域111中与P点所在的细胞所在边相邻的边的细胞数量大于1,则此时P点所在的细胞有三个邻居可以选择为下一站中转,该细胞的网络控制器将所述细胞间群发数据分别发送到Q点所在的细胞、R点所在的细胞和S点所在的细胞,并对矩形目标区域111进行更新,更新后的目标区域包括三个矩形的目标区域,分别为矩形目标区域112、矩形目标区域113和矩形目标区域114,相当于将P点所在的细胞排除在矩形目标区域111之外,矩形目标区域112和矩形目标区域113这两个目标区域相当于是P点所在的细胞所在边排除P点所在的细胞后形成的两个矩形区域,矩形目标区域112、矩形目标区域113和矩形目标区域114可以作为独立的目标区域继续以前述类似方法进行数据中转;随着目标区域的不断更新,如果目标区域中剩下最后一个细胞,则停止中转。
[0179]可以理解的是,若目标区域(图11中未标示)中与P点所在的细胞所在边相邻的边的细胞数量为1,则此时P点所在的细胞有两个邻居可以选择为下一站中转,该细胞的网络控制器将所述细胞间群发数据分别发送到Q点所在的细胞和R点所在的细胞,并对目标区域进行更新,更新后的目标区域包括两个矩形的目标区域,具体为矩形目标区域112和矩形目标区域113。
[0180]当作为起点细胞的第三细胞位于矩形目标区域的内部时,更新后的目标区域包括四个矩形的目标区域,其中两个目标区域为所述第三细胞所在行或列排除所述第三细胞后形成的两个矩形区域,另外两个目标区域为更新前的所述矩形目标区域被所述第三细胞所在行或列分割而形成的两个矩形区域。需要说明的是,本实施例中的所述第三细胞是位于矩形目标区域的内部的一类细胞的统称,所述矩形目标区域的内部指的是除“角”和“边”以外的区域。
[0181]可以参阅图12,假设T点所在的细胞为发起细胞间群发通信的起点细胞(本实施例中T点所在的细胞不可能为负责中转细胞间群发数据的中转细胞),矩形目标区域121为T点所在的细胞发出所述细胞间群发数据前所确定的目标区域,此时T点所在的细胞位于矩形目标区域121的内部,T点所在的细胞有四个邻居可以选择为下一站中转,该细胞的网络控制器将所述细胞间群发数据分别发送到U点所在的细胞、V点所在的细胞、W点所在的细胞和X点所在的细胞,并对矩形目标区域121进行更新,更新后的目标区域包括四个矩形的目标区域,分别为矩形目标区域122、矩形目标区域123、矩形目标区域124和矩形目标区域125,相当于将T点所在的细胞排除在矩形目标区域121之外,矩形目标区域122和矩形目标区域123这两个目标区域相当于是T点所在的细胞所在行排除T点所在的细胞后形成的两个矩形区域,矩形目标区域124和矩形目标区域125这两个目标区域相当于是矩形目标区域121被T点所在的细胞所在行分割而形成的两个矩形区域,矩形目标区域122、矩形目标区域123、矩形目标区域124和矩形目标区域125可以作为独立的目标区域继续以前述类似方法进行数据中转;随着目标区域的不断更新,如果目标区域中剩下最后一个细胞,则停止中转。
[0182]本实施例中,当作为起点细胞或中转细胞的第四细胞位于目标区域之外时,如果所述第四细胞与目标区域内任一细胞之间能形成一条直线的通信路径,则所述第四细胞发出或中转所述细胞间群发数据的发送方向为由所述第四细胞沿所述直线向目标区域的方向,否则所述发送方向为由所述第四细胞向待选相邻细胞的方向,所述待选相邻细胞为与所述第四细胞相邻的细胞之中靠近目标区域的细胞。需要说明的是,本实施例中的所述第四细胞是位于矩形目标区域之外的一类细胞的统称。
[0183]可以参阅图13,假设Yl点所在的细胞为发起细胞间群发通信的起点细胞,矩形目标区域131为Yl点所在的细胞发出所述细胞间群发数据前所确定的目标区域,此时Yl点所在的细胞在矩形目标区域131之外,由于该细胞在矩形目标区域相对两个边的延长线之间,与矩形目标区域内Y3点所在细胞之间能够形成一条直线的通信路径,此时只有一个邻居可以作为下一站的中转,Yl点所在的细胞的网络控制器把所述细胞间群发数据发送至这个邻居,即Y2点所在的细胞,Y2点所在的细胞作为负责中转所述细胞间群发数据的中转细胞。Y2点所在的细胞将沿着图13中虚线箭头所示的方向中转数据,直至传送到Y3点所在细胞。Y3点所在细胞位于矩形目标区域131的边上,可以按照前述相关方法继续完成矩形目标区域131内的中转过程。
[0184]继续参阅图13,假设Zl点所在的细胞为发起细胞间群发通信的起点细胞,矩形目标区域131为Zl点所在的细胞发出所述细胞间群发数据前所确定的目标区域,此时Zl点所在的细胞在矩形目标区域131之外,由于该细胞并不在矩形目标区域相对两个边的延长线之间,与矩形目标区域内任一细胞之间都难以形成一条直线的通信路径,此时有两个邻居可以作为下一站的中转,即Z2点所在的细胞和Z3点所在的细胞,这两个细胞为Zl点所在的细胞的待选相邻细胞,因为这两个细胞为Zl点所在的细胞相邻的细胞之中更靠近矩形目标区域131的细胞。在实际实施时,可以任意选择一个或更加实际通信情况选择一个负担比较轻的细胞作为下一站中转,所述负担比较轻的细胞具体指的是输出数据的通信任务更少的细胞。从Zl点所在的细胞出发,通过两条可行的中转通信路径,直至将所述细胞间群发数据中转至Z4点所在细胞。Z4点所在细胞位于矩形目标区域131的角上,可以按照前述相关方法继续完成矩形目标区域131内的中转过程。
[0185]本实施例提供的细胞阵列计算系统中细胞间群发通信方法,通过将细胞间的点对点通信功能扩展到区域群发,可以支持更高的平行度,获得高得多的总带宽,从而进一步提升计算系统的整体性能。
[0186]如前所述,本发明实施例的细胞阵列中的细胞兼具内存、存储和计算三个功能,细胞内的所述非易失随机存储器既能实现所述微处理器计算时所涉及数据的随机存取,又能存储软件的指令代码和需要永久保存的数据,然而所述非易失随机存储器的成本一般是较高的,所以细胞中的非易失随机存储器用作内存部分的空间是有限的,那么当细胞中微处理器的数据处理量较大时,有限的内存空间便可能影响微处理器的处理效率,如何扩展细胞的内存空间便成为亟待解决的问题。
[0187]基于上述考虑,本发明实施例还给出了细胞阵列计算系统的另一种结构,如图14所示,所述细胞阵列计算系统除了包括如前所述的主控CPU、细胞阵列和细胞阵列总线,还可以进一步包括至少一个内存单元阵列,所述内存单元阵列是由一个以上内存单元组成的二维阵列,所述细胞阵列与所有内存单元阵列叠合形成三维结构,每个内存单元阵列中的内存单元与所述细胞阵列中的细胞一一对应地相连,所述内存单元配合所述非易失随机存储器,两者共同用于所述微处理器计算时所涉及数据的随机存取。
[0188]在实际实施时,细胞中的非易失随机存储器可以是MRAM,所述内存单元阵列则可以是MRAM、DRAM或SRAM硅片,一般可以选取成本较低的一个或多个DRAM硅片,其中每个DRAM硅片是由与所述细胞阵列中各个细胞位置相一致的内存单元形成的内存单元阵列,再将所有DRAM硅片与一个细胞阵列硅片进行3D组合,任一内存单元与细胞阵列中相对应的细胞之间可以通过TSV建立通信联系,由此扩展每个细胞的内存。
[0189]本发明实施例中,通过将至少一个由一个以上内存单元组成的内存单元阵列,与所述细胞阵列叠合形成三维结构,并使每个内存单元阵列中的内存单元与细胞阵列中的细胞一一对应地相连,所述内存单元用于所述微处理器计算时所涉及数据的随机存取,如此便能以较低的成本扩展细胞阵列中每个细胞的内存空间,提高细胞中微处理器的处理效率。
[0190]需要指出的是,图14中仅示出了一个内存单元阵列与所述细胞阵列叠合形成三维结构的情况,本领域技术人员同样也能够理解一个以上内存单元阵列与所述细胞阵列叠合形成三维结构的情况。
[0191]本领域技术人员还能够理解的是,前述主控CPU通过细胞阵列总线与细胞阵列中每个细胞进行通信、任意两个细胞之间不依靠主控CPU进行的通信、任一细胞向目标区域中所有细胞进行群发通信、通过在细胞阵列中设置专职输出细胞作为终点细胞接收并存储其他细胞给主控CPU的输出数据以供主控CPU读取等通信方法,这些同样适用于包含所述内存单元阵列的细胞阵列计算系统。
[0192]需要说明的是,由于细胞阵列中的各个细胞扩展了内存空间,所述主控CPU除了可以访问本细胞的非易失随机存储器,还可以访问与本细胞相对应的内存单元(当与细胞阵列叠加成三维结构的内存单元阵列的数量为一个以上时,则与本细胞相对应的内存单元的数量也会有一个以上),因此所述主控CPU通过所述细胞阵列总线与所述细胞阵列中的每一个细胞进行的通信包括以下情况中的至少一种:按地址读写所述细胞阵列中任一细胞的非易失随机存储器或相应的内存单元;将数据广播到目标区域内每一个细胞的非易失随机存储器或相应的内存单元,并写入该目标区域内每一个细胞的非易失随机存储器或相应的内存单元中相同的相对地址;给所述细胞阵列中任一细胞的微处理器发送指令、发送数据或读取状态;给目标区域内所有细胞的微处理器广播指令。
[0193]当所述细胞阵列中的细胞还包括总线控制器和细胞内部总线时,所述细胞内部总线除了连接所述微处理器、非易失随机存储器,还与本细胞相对应的内存单元相连,所述总线控制器与所述细胞阵列总线、微处理器以及细胞内部总线相连,所述总线控制器用于识别所述主控CPU与本细胞之间进行的通信,连接所述微处理器以传递所述主控CPU发送的指令或数据、状态读取,或者通过所述细胞内部总线连接所述非易失
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1