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

文档序号:9844430阅读:来源:国知局
随机存储器或与本细胞相对应的内存单元进行数据的读写操作。
[0194]如前所述,本发明实施例的细胞阵列中的细胞兼具内存、存储和计算三个功能,细胞内的所述非易失随机存储器既能实现所述微处理器计算时所涉及数据的随机存取,又能存储软件的指令代码和需要永久保存的数据,然而所述非易失随机存储器的成本一般是较高的,所以细胞中的非易失随机存储器用作存储部分的空间同样是有限的,那么当存在大量文件或数据需要存储在细胞阵列中的各个细胞时,有限的存储空间便无法满足存储要求,甚至还有可能会影响微处理器的处理效率,如何扩展细胞的存储空间则同样是亟待解决的问题。
[0195]基于上述考虑,本发明实施例还给出了细胞阵列计算系统的又一种结构,如图15所示,所述细胞阵列计算系统除了包括如前所述的主控CPU、细胞阵列和细胞阵列总线,还可以进一步包括至少一个存储单元阵列,所述存储单元阵列是由一个以上存储单元组成的二维阵列,所述细胞阵列与所有存储单元阵列叠合形成三维结构,每个存储单元阵列中的存储单元与所述细胞阵列中的细胞一一对应地相连,所述存储单元配合所述非易失随机存储器,两者共同用于存储软件的指令代码和需要永久保存的数据。
[0196]在实际实施时,细胞中的非易失随机存储器可以是MRAM,所述存储单元阵列则具体可以是闪存硅片,一般可以选取成本相对于MRAM更低的一个或多个NAND闪存硅片,其中每个NAND闪存硅片是由与所述细胞阵列中各个细胞位置相一致的存储单元形成的存储单元阵列,再将所有NAND闪存硅片与一个细胞阵列硅片进行3D组合,任一存储单元与细胞阵列中相对应的细胞之间可以通过TSV垂直相连以建立通信联系,由此扩展每个细胞的存储空间。
[0197]具体实施时,所述细胞阵列中的细胞还包括与所述微处理器相连的存储控制器,用于对与本细胞相连的存储单元进行数据存储访问控制。当把一个或多个NAND闪存硅片和一个细胞阵列硅片进行3D组合后,还可以为细胞阵列中的每一个细胞配置NAND闪存控制器,本细胞的MPU通过本细胞的NAND闪存控制器才可以实现对与本细胞相对应的存储单元进行读写。当大量文件或者数据储存在NAND闪存中时,对数据的搜索可以由各个细胞通过各自的NAND通道进行搜索,得到极大的加速。大型软件系统的编译同样需要对成千上万个源代码文件进行编译,当这些源代码保存在这样的细胞阵列计算系统中时,编译同样得到了极大的加速。
[0198]本发明实施例提供的包含所述存储单元阵列的细胞阵列计算系统,能以较低的成本扩展细胞阵列中每个细胞的存储空间,提高各个细胞的数据存储能力。
[0199]需要指出的是,图15中仅示出了一个存储单元阵列与所述细胞阵列叠合形成三维结构的情况,本领域技术人员同样也能够理解一个以上存储单元阵列与所述细胞阵列叠合形成三维结构的情况。
[0200]本领域技术人员能够理解的是,前述主控CPU通过细胞阵列总线与细胞阵列中每个细胞进行通信、任意两个细胞之间不依靠主控CPU进行的通信、任一细胞向目标区域中所有细胞进行群发通信、通过在细胞阵列中设置专职输出细胞作为终点细胞接收并存储其他细胞给主控CPU的输出数据以供主控CPU读取等通信方法,这些同样适用于包含所述存储单元阵列的细胞阵列计算系统。
[0201]如前所述,由于细胞中的非易失随机存储器用作内存和存储部分的空间都非常有限,因此如何同时扩展细胞的内存和存储空间是亟待解决的问题。基于上述考虑,本发明实施例还给出了细胞阵列计算系统的再一种结构,如图16所示,所述细胞阵列计算系统除了包括主控CPU、细胞阵列和细胞阵列总线,还可以进一步包括至少一个上述存储单元阵列和至少一个上述内存单元阵列。同时包含所述存储单元阵列和内存单元阵列的细胞阵列计算系统可以参考上述仅包含存储单元阵列或仅包含内存单元阵列的细胞阵列计算系统的具体实施,此处不再赘述。
[0202]本发明实施例提供的同时包含所述存储单元阵列和内存单元阵列的细胞阵列计算系统,能以较低的成本同时扩展细胞阵列中每个细胞的存储和内存空间,提高各个细胞的数据存储能力以及细胞中微处理器的处理效率,从而能更进一步提升计算系统的整体性會K。
[0203]高端的图像传感器是可以在极短的时间内(微秒级)取得图像数据的,但一帧高清图像的数据量很大,在目前的摄像系统中,考虑到现有计算机架构因CPU与内存、存储之间存在的通信瓶颈对于计算机整体性能的影响,把图像数据读出来通常就需要1/30秒-1/60秒的时间,因此在绝大部分的摄像系统中,对视频的处理能力远远跟不上取得图像数据的速度。
[0204]因此,现有技术中的摄像系统由于其采用的计算机构架存在CPU与内存、存储之间的通信瓶颈,这极大地影响了计算系统的整体性能,使得目前的摄像系统对于视频的处理能力远远跟不上该摄像系统中的图像传感器采集得到图像数据的速度。
[0205]为解决上述问题,本发明实施例还提供一种应用上述细胞阵列计算系统的摄像系统。如图17所示,所述摄像系统包括细胞阵列计算系统以及图像传感器,所述细胞阵列计算系统包括主控CPU、细胞阵列和细胞阵列总线,具体可以参考上述相关实施例的描述,此处不再赘述;所述图像传感器是由一个以上图像采集单元组成的二维阵列,所述细胞阵列与所述图像传感器叠合形成三维结构,所述图像传感器中的图像采集单元与所述细胞阵列中的细胞一一对应地相连;所述图像采集单元用于采集图像数据以供所述细胞阵列中的细胞进行处理。
[0206]在实际实施时,所述图像传感器可以采用目前较为流行的CMOS图像传感器,低端的CMOS图像传感器可以把感光器件和其他电路(例如信号放大电路、模数转换电路等)做在硅片的同一面,而高端的CMOS图像传感器则可以把其他电路做在背面,通过TSV和感光面连接;无论哪一种情况,都可以把图像传感器中大量的图像采集单元划分为与所述细胞阵列中各个细胞位置相一致的二维阵列,再将图像传感器与一个细胞阵列硅片进行3D组合,任一图像采集单元与细胞阵列中相对应的细胞之间可以通过TSV建立通信联系。
[0207]需要说明的是,本领域技术人员知晓,图17所示图像传感器的各个图像采集单元的有效面需要设置于所在硅片的下方,因为镜头只能在下面,否则上面的光将会被其他几个硅片挡住。在其他实施例中,图像传感器也可以叠加在细胞阵列硅片的上方。
[0208]此外,在实际实施时,每一帧图像将被分割到所述图像传感器的各个图像采集单元里,每个图像采集单元负责采集一帧图像中相应的一部分内容,后续便能够实现对一帧图像中各部分内容的并行处理,如此提高了图像处理效率。
[0209]本实施例中,所述细胞阵列中的每个细胞还可以配置图像处理器,该图像处理器用于对与本细胞相连的图像采集单元所采集的图像数据进行处理。当然,在实际实施时,所述图像处理器也可以集成于细胞中的微处理器之中。
[0210]当细胞阵列中的细胞数量达到几千个的情况下,那么图像传感器中的图像采集单元数量具有相同的规模,如此每一帧图像便可以通过几千个通道读出并同时被处理,使摄像系统的图像处理的能力将得到百倍的提高,从而满足对于高速摄像的更高要求。
[0211]另外,本申请发明人进一步考虑到,“现有技术的摄像系统对于视频的处理能力远远跟不上图像传感器采集得到图像数据的速度,使摄像系统的图像处理能力较为有限”的问题,除了高速数字摄像目前仍没有很好的解决办法,对于一些图像识别存在更快速度要求的应用来说,例如未来的汽车自动驾驶系统,可能要求对一帧图像在千分之一秒内作出识别并形成反应,则同样缺乏有效的应对之策。
[0212]为此,本发明实施例还提供一种图像识别系统,包括识别单元以及本发明实施例提供的摄像系统,所述识别单元用于对所述摄像系统处理后得到的图像进行识别。
[0213]本领域技术人员能够理解的是,当本发明实施例提供的摄像系统能够以比现有技术快得多的速度完成每一帧图像的读取和处理的情况下,自然能够以更快的速度实现对于每一帧图像的识别。
[0214]因此,通过将包含细胞阵列计算系统的摄像系统应用于图像识别系统中,由于每一帧图像的处理速度得到大幅提升,便能够在更短的时间内实现对于每一帧图像的识别,使该图像识别系统具有更快的图像识别能力,从而满足对于高速图像识别的要求。
[0215]本发明实施例提供的上述摄像系统以及图像识别系统的具体实施还可以参考上述细胞阵列计算系统的相关描述,此处不再赘述。
[0216]如前所述,由于细胞阵列计算系统的细胞阵列中的细胞所包括的非易失随机存储器用作内存和存储部分的空间都非常有限,因此如何同时扩展细胞的内存和存储空间是亟待解决的问题,为此本发明实施例已提供了一种在包含主控CPU、细胞阵列和细胞阵列总线的基础上,又同时包含所述存储单元阵列和内存单元阵列的细胞阵列计算系统,该细胞阵列计算系统同时扩展了细胞的内存和存储空间,尤其适合完成一些大数据量存储和处理的任务,由于摄像系统中图像传感器所采集的一帧帧高清图像的数据量较大,因此为摄像系统中的细胞阵列计算系统的各个细胞扩展内存和存储空间便显得尤为必要。
[0217]基于上述考虑,本发明实施例还提供摄像系统的另一种结构。如图18所示,所述摄像系统包括细胞阵列计算系统以及图像传感器,所述细胞阵列计算系统包括主控CPU、细胞阵列和细胞阵列总线,具体可以参考上述相关实施例的描述,此处不再赘述;本实施例中,所述细胞阵列计算系统还包括至少一个存储单元阵列和至少一个内存单元阵列;所述存储单元阵列是由一个以上存储单元组成的二维阵列,所述细胞阵列与一个或一个以上存储单元阵列叠合形成三维结构,每个存储单元阵列中的存储单元与所述细胞阵列中的细胞一一对应地相连;所述存储单元用于存储软件的指令代码和需要永久保存的数据;所述内存单元阵列是由一个以上内存单元组成的二维阵列,所述细胞阵列与一个或一个以上内存单元阵列叠合形成三维结构,每个内存单元阵列中的内存单元与所述细胞阵列中的细胞一一对应地相连,所述内存单元用于所述微处理器计算时所涉及数据的随机存取。
[0218]实际实施时,所述存储单元阵列可以为闪存硅片,所述内存单元阵列可以为MRAM、DRAM或SRAM硅片,所述细胞阵列在一个硅片上,所述图像传感器可以采用目前较为流行的CMOS图像传感器。
[0219]本发明实施例提供的另一种结构的摄像系统所包含的细胞阵列计算系统也可以参考图16。
[0220]通过将至少一个由一个以上存储单元组成的存储单元阵列,以及至少一个由一个以上内存单元组成的内存单元阵列,分别与所述细胞阵列叠合形成三维结构,并使每个存储单元阵列中的存储单元、每个内存单元阵列中的内存单元与细胞阵列中的细胞一一对应地相连,如此便能以较低的成本扩展细胞阵列中每个细胞的存储空间和内存空间,既能提高各个细胞的数据存储能力,又能提高细胞中微处理器的处理效率,从而进一步提高了摄像系统的图像处理能力。
[0221]需要说明的是,本发明实施例提供的摄像系统的另一种结构是以所述细胞阵列计算系统中同时包含至少一个存储单元阵列和至少一个内存单元阵列为例进行说明的,在其他实施例中,摄像系统所包含的细胞阵列计算系统中也可以仅包含所述存储单元阵列和内存单元阵列中的任意一种,例如图14或图15所示的细胞阵列计算系统。
[0222]此外,图18所示摄像系统的结构中,图像传感器与细胞阵列硅片之间是直接叠合在一起的,两者之间不存在内存单元阵列硅片或是存储单元阵列硅片,使图像采集单元与相应细胞之间的连线较短,如此能够使图像传感器采集的图像更快速地被细胞阵列中的细胞读取和处理,从而提高图像处理效率。
[0223]当然,本发明实施例还提供一种包括识别单元以及如图18所示摄像系统的图像识别系统,所述识别单元用于对该摄像系统处理后得到的图像进行识别。
[0224]本发明实施例提供的上述摄像系统以及图像识别系统的具体实施还可以参考上述相关细胞阵列计算系统的描述,此处不再赘述。
[0225]神经网络(Neural Networks)是计算机学习中常用的计算方法,是仿照人脑的工作原理,一般使用感知器(Perceptron)或者神经元(Neuron)这样的概念。NeuralNetworks的学习训练过程是一个海量计算的过程,一个神经网络实际上是一个拥有大量参数(可能有数万个)的函数,需要大量的场景,每个场景有输入数据和正确答案,用来调节这些大量的参数以达到学习的目的。由于神经网络计算中涉及的计算量极大,而现有技术中的计算机架构因CPU与内存、存储之间存在的通信瓶颈则会严重影响计算机整体性能,从而不利于神经网络计算的高效实现。
[0226]为此,基于本发明实施例所提供的上述细胞阵列计算系统,本发明实施例还提供一种应用上述细胞阵列计算系统实现神经网络计算的方法,包括:在所述细胞阵列内每个参与神经网络计算的细胞中存储一个或一个以上神经元函数的代码;所述主控CPU选择一个或一个以上细胞执行各细胞所存储的神经元函数的代码,并将执行结果向一个或一个以上的目标细胞输出;任一参与神经网络计算的细胞接收到来自其他细胞所输出的对于神经元函数的代码的执行结果,将其作为本细胞的输入数据,基于所有来自其他细胞的输入数据执行本细胞所存储的神经元函数的代码,并将执行结果输出到需要该执行结果的神经元函数所在的细胞,或者存入预设地址等待所述主控CPU读取,或者向所述主控CPU输出。
[0227]为了能够更好的理解本发明实施例提供的应用上述细胞阵列计算系统实现神经网络计算的方法,有必要先对神经网络计算的原理作简单介绍。
[0228]神经网络是计算机学习中常用的算法,其仿照了人脑的工作原理。人脑是由大量神经元组成的,每一个神经元可以通过树突结构上的大量(数千个)突触和其他神经元接触,得到输入;突触上的耦合强度具有记忆功能;它输出一个兴奋或抑制的信号,这个信号通过轴突可以传送给远处大量的神经元。
[0229]仿照人脑工作原理所形成的神经网络计算方法,其中的神经元就是一个函数,如图19所不,它有很多个输入,例如XpX2和X3是其中3个输入,每一个输入都对应着一个权重,一般的计算方法是每一个输入乘以权重再相加;它输出O或I (由一个阈值决定),或者一个介于O和I之间的值;它内部有很多个参数(例如权重参数、阈值参数等等),调整这些参数的过程就是计算机学习的过程。
[0230]一个典型的Neural Network,是把大量Neuron的输出、输入连接在一起的网络,通常组织成多级架构。如图20所示,图中这个神经网络组织成三层架构,每一个第一层Neuron的输出发送到每一个第二层Neuron,每一个第二层Neuron的输出发送到每一个第三层Neuron。图20中神经网络的第一层可以称为输入层,第二层可以称为隐含层,第三层可以称为输出层,所述输出层所输出的0、1、2、……、8、9为神经网络计算的最终结果。应用中的神经网络,通常都是这样的分级结构,在实际实施时,这可以是一个用来识别手写数字的神经网络。
[0231]Neural network的学习训练过程是一个海量计算的过程。一个网络实际上是一个拥有大量参数(可能有数万个)的函数,需要大量的场景,每个场景有输入数据和正确答案,用来调节这些大量的参数以达到学习的目的(通常使用最陡下降法)。比如训练一个神经网络识别手写数字,需要通过几万张图片,调节参数使得神经网络对每一张图片给出正确的结果,此后的手写识别就有很高的成功率。
[0232]本申请发明人认为,神经网络计算是非常适合在本发明实施例提供的细胞阵列计算系统中予以实现的。由于训练过程中需要对神经网络进行很多次数的估值,那么该神经网络是可以通过大量的MPU平行计算来加速。
[0233]在实际实施时,若神经网络中神经元的数量规模未超过细胞阵列计算系统中细胞数量,则细胞阵列中的一个细胞可以完成神经网络中的一个神经元涉及的计算,否则神经网络中一个以上神经元涉及的计算可以集成于一个细胞中完成。
[0234]具体实施时,每一个细胞
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1