【技术实现步骤摘要】
【国外来华专利技术】基于存储器的分布式处理器架构相关申请的交叉引用本申请主张以下申请的优先权权利:2017年7月30日提交的美国临时专利申请第62/538,722号、2017年7月30提交的美国临时专利申请第62/538,724号及2017年8月23日提交的美国临时专利申请第62/548,990号。所有前述申请以全文引用的方式并入本文中。
本公开总体上涉及用于促进存储器密集型操作的设备。更具体地,本公开涉及包括耦接至专属存储器组(bank)的处理元件的硬件芯片。
技术介绍
随着处理器速度及存储器大小均继续增大,有效处理速度的明显局限性是冯诺依曼(vonNeumann)瓶颈。冯诺依曼瓶颈由产生于传统计算机架构的吞吐量限制造成。具体地,与由处理器进行的实际计算相比,自存储器至处理器的数据传送常常成为瓶颈。因此,用以自存储器读取及写入的时钟周期的数目由于存储器密集型处理而显著增大。这些时钟周期导致较低的有效处理速度,因为自存储器的读取及写入消耗了不能用于对数据执行操作的时钟周期。此外,处理器的计算带宽通常大于处理器用于存取存储器的总线 ...
【技术保护点】
1.一种分布式处理器,包含:/n基板;/n安置于所述基板上的存储器阵列,所述存储器阵列包括多个离散存储器组;/n安置于所述基板上的处理阵列,所述处理阵列包括多个处理器子单元,所述处理器子单元中的每一个与所述多个离散存储器组中对应的专属存储器组相关联;/n第一多个总线,其每一个将所述多个处理器子单元中的一个连接至其对应的专属存储器组;以及/n第二多个总线,其每一个将所述多个处理器子单元中的一个连接至所述多个处理器子单元中的另一个。/n
【技术特征摘要】
【国外来华专利技术】20170730 US 62/538,722;20170730 US 62/538,724;20171.一种分布式处理器,包含:
基板;
安置于所述基板上的存储器阵列,所述存储器阵列包括多个离散存储器组;
安置于所述基板上的处理阵列,所述处理阵列包括多个处理器子单元,所述处理器子单元中的每一个与所述多个离散存储器组中对应的专属存储器组相关联;
第一多个总线,其每一个将所述多个处理器子单元中的一个连接至其对应的专属存储器组;以及
第二多个总线,其每一个将所述多个处理器子单元中的一个连接至所述多个处理器子单元中的另一个。
2.根据权利要求1所述的分布式处理器,其中所述基板是半导体基板。
3.根据权利要求1所述的分布式处理器,其中所述基板是电路板。
4.根据权利要求1所述的分布式处理器,其中所述处理阵列的所述多个处理器子单元在空间上分布在所述存储器阵列的所述多个离散存储器组当中。
5.根据权利要求1所述的分布式处理器,其中芯片上的所述分布式处理器是人工智能加速器处理器。
6.根据权利要求1所述的分布式处理器,其中所述多个处理器子单元中的每一个被配置为相对于包含于所述多个处理器子单元中的其他处理器子单元独立地执行与特定应用相关联的软件代码。
7.根据权利要求1所述的分布式处理器,其中所述多个逻辑处理器子单元被布置成至少一行及至少一列,且所述第二多个总线将每一处理器子单元连接至同一行中的至少一个邻近处理器子单元且连接至同一列中的至少一个邻近处理器子单元。
8.根据权利要求1所述的分布式处理器,其中所述多个处理器子单元被布置成星形图案,且所述第二多个总线将每一处理器子单元连接至所述星形图案内的至少一个邻近处理器子单元。
9.根据权利要求1所述的分布式处理器,其中每一处理器子单元与至少两个专属存储器组相关联。
10.根据权利要求1所述的分布式处理器,其中每一专属存储器组包含至少一个动态随机存取存储器。
11.一种存储器芯片,包含:
基板;
安置于所述基板上的存储器阵列,所述存储器阵列包括多个离散存储器组;
安置于所述基板上的处理阵列,所述处理阵列包括各自包括地址产生器的多个逻辑部分,其中所述地址产生器中的每一个与所述多个离散存储器组中对应的专属存储器组相关联;以及
多个总线,每一总线将所述多个地址产生器中的一个连接至其对应的专属存储器组。
12.根据权利要求11所述的存储器芯片,其中每一地址产生器被配置为确定对应于所述地址产生器的存储器组中的待存取以供处理的地址。
13.根据权利要求11所述的存储器芯片,其中所述处理阵列进一步包括多个加速器,每一加速器与对应的地址产生器相关联且被配置为执行特定功能。
14.根据权利要求13所述的存储器芯片,其中所述特定功能包含乘法累加功能、最小值功能、最大值功能、比较功能或计数功能。
15.根据权利要求11所述的存储器芯片,其中所述存储器芯片是DRAM、快闪、SRAM、ReRAM、PRAM、MRAM或ROM存储器芯片中的至少一个。
16.根据权利要求11所述的存储器芯片,其中每一处理器子单元包含精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC)处理器。
17.根据权利要求11所述的存储器芯片,其进一步包含连接至外部主机的存储器接口。
18.根据权利要求17所述的存储器芯片,其中所述存储器接口包含符合至少一个电子器件工程联合委员会(JEDEC)标准或其变体的接口。
19.根据权利要求11所述的存储器芯片,其中所述多个逻辑部分中的每一个对应于所述多个离散存储器组中的至少一个存储器组、包含于所述多个离散存储器组中的单个存储器组中的多个存储器垫、或包含于所述多个离散存储器组的单个存储器组中的单个存储器垫。
20.一种分布式处理器,包含:
基板;
安置于所述基板上的存储器阵列,所述存储器阵列包括多个离散存储器组,其中所述多个离散存储器组中的每一个具有大于一兆字节的容量;以及
安置于所述基板上的处理阵列,所述处理阵列包括多个处理器子单元,所述处理器子单元中的每一个与所述多个离散存储器组中对应的专属存储器组相关联。
21.根据权利要求20所述的分布式处理器,进一步包括:
第一多个总线,其每一个将所述多个处理器子单元中的一个连接至对应的专属存储器组;以及
第二多个总线,其每一个将所述多个处理器子单元中的一个连接至所述多个处理器子单元中的另一个。
22.根据权利要求20所述的分布式处理器,其中每一专属存储器组包含至少一个动态随机存取存储器组。
23.根据权利要求20所述的分布式处理器,其中每一专属存储器组包含至少一个静态随机存取存储器组。
24.根据权利要求20所述的分布式处理器,其中每一专属存储器组大小相同。
25.根据权利要求20所述的分布式处理器,其中所述多个存储器组中的至少两个存储器组具有不同大小。
26.根据权利要求20所述的分布式处理器,其中所述多个处理器子单元在空间上分布在所述存储器阵列内的所述多个离散存储器组当中。
27.根据权利要求20所述的分布式处理器,其中所述基板包括半导体基板。
28.一种分布式处理器,包含:
基板;
安置于所述基板上的存储器阵列,所述存储器阵列包括多个离散存储器组;以及
安置于所述基板上的处理阵列,所述处理阵列包括多个处理器子单元,所述处理器子单元中的每一个与所述多个离散存储器组中对应的专属存储器组相关联;以及
多个总线,所述多个总线中的每一个将所述多个处理器子单元中的一个连接至所述多个处理器子单元中的至少另一个,
其中所述多个总线免于定时硬件逻辑组件,以使得处理器子单元之间及跨所述多个总线中的对应总线的数据传送不受定时硬件逻辑组件控制。
29.根据权利要求28所述的分布式处理器,其中所述多个总线免于总线仲裁器,以使得处理器子单元之间及跨所述多个总线中的对应总线的数据传送不受总线仲裁器控制。
30.根据权利要求28所述的分布式处理器,其中所述多个总线包含所述多个处理器子单元的对应处理器子单元之间的导线或光纤中的至少一个。
31.根据权利要求28所述的分布式处理器,其中所述多个处理器子单元被配置为根据由所述多个处理器子单元执行的代码在所述多个总线中的至少一个上传送数据。
32.根据权利要求31所述的分布式处理器,其中所述代码规定所述多个总线中的至少一个上的数据传送的定时。
33.根据权利要求28所述的分布式处理器,其进一步包含第二多个总线,其中所述第二多个总线中的每一个将所述多个处理器子单元中的一个连接至对应的专属存储器组。
34.根据权利要求33所述的分布式处理器,其中所述第二多个总线免于定时硬件逻辑组件,以使得处理器子单元与对应的专属存储器组之间的数据传送不受定时硬件逻辑组件控制。
35.根据权利要求33所述的分布式处理器,其中所述第二多个总线免于总线仲裁器,以使得处理器子单元与对应的专属存储器组之间的数据传送不受总线仲裁器控制。
36.根据权利要求28所述的分布式处理器,其中所述多个处理器子单元在空间上分布在所述存储器阵列内的所述多个离散存储器组当中。
37.根据权利要求28所述的分布式处理器,其中所述基板包括半导体基板。
38.一种在存储器芯片上的分布式处理器,包含:
基板;
安置于所述基板上的存储器阵列,所述存储器阵列包括多个离散存储器组;以及
安置于所述基板上的处理阵列,所述处理阵列包括多个处理器子单元,所述处理器子单元中的每一个与所述多个离散存储器组中对应的专属存储器组相关联;以及
多个总线,所述多个总线中的每一个将所述多个处理器子单元中的一个连接至所述多个离散存储器组中对应的专属存储器组,
其中所述多个总线免于定时硬件逻辑组件,以使得处理器子单元与所述多个离散存储器组中对应的专属存储器组之间及跨所述多个总线中对应总线的数据传送不受定时硬件逻辑组件控制。
39.一种分布式处理器,包含:
基板;
安置于所述基板上的存储器阵列,所述存储器阵列包括多个离散存储器组;以及
安置于所述基板上的处理阵列,所述处理阵列包括多个处理器子单元,所述处理器子单元中的每一个与所述多个离散存储器组中对应的专属存储器组相关联;以及
多个总线,所述多个总线中的每一个将所述多个处理器子单元中的一个连接至所述多个处理器子单元中的至少另一个,
其中所述多个处理器子单元被配置为执行控制跨所述多个总线的数据传送的定时以避免与所述多个总线中的至少一个上的数据传送冲突的软件。
40.一种在存储器芯片上的分布式处理器,包含:
基板;
安置于所述基板上的多个处理器子单元,每一处理器子单元被配置为独立于其他处理器子单元执行一系列的指令,每一系列的指令定义待由单个处理器子单元执行的一系列的任务;
安置于所述基板上的多个对应存储器组,所述多个处理器子单元中的每一个连接至不被所述多个处理器子单元中的任何其他处理器子单元共享的至少一个专属存储器组;以及
多个总线,所述多个总线中的每一个将所述多个处理器子单元中的一个连接至所述多个处理器子单元中的至少一个其他处理器子单元,
其中跨所述多个总线中的至少一个的数据传送通过连接至所述多个总线中的所述至少一个的处理器子单元中所包含的所述系列的指令来预定义。
41.根据权利要求40所述的在存储器芯片上的分布式处理器,其中每一系列的指令包含定义对应系列的任务的机器码的集合。
42.根据权利要求41所述的在存储器芯片上的分布式处理器,其中所述系列的任务由编译器定义,所述编译器被配置为将较高层级系列的任务作为多个系列的任务分布在多个逻辑电路当中。
43.根据权利要求42所述的在存储器芯片上的分布式处理器,其中所述较高层级系列的任务包含用人类可读编程语言表示的指令的集合。
44.根据权利要求40所述的在存储器芯片上的分布式处理器,其中连接至所述多个总线中的所述至少一个的所述处理器子单元中所包含的所述系列的指令包括发送任务,所述发送任务包含令连接至所述多个总线中的所述至少一个的所述处理器子单元将数据写入至所述多个总线中的所述至少一个的命令。
45.根据权利要求40所述的在存储器芯片上的分布式处理器,其中连接至所述多个总线中的所述至少一个的所述处理器子单元中所包含的所述系列的指令包括接收任务,所述接收任务包含令连接至所述多个总线中的所述至少一个的所述处理器子单元从所述多个总线中的所述至少一个读取数据的命令。
46.一种在存储器芯片上的分布式处理器,包含:
安置于所述存储器芯片上的多个处理器子单元;
安置于所述存储器芯片上的多个存储器组,其中所述多个存储器组中的每一个被配置为储存与储存于所述多个存储器组的其他存储器组中的数据独立的数据,且其中所述多个处理器子单元中的一个连接至来自所述多个存储器组当中的至少一个专属存储器组;以及
多个总线,其中所述多个总线中的每一个将所述多个处理器子单元中的一个连接至来自所述多个存储器组当中的一个或多个对应的专属存储器组,
其中跨所述多个总线中的特定总线的数据传送由连接至所述多个总线中的所述特定总线的对应处理器子单元控制。
47.根据权利要求46所述的在存储器芯片上的分布式处理器,其中储存于所述多个存储器组中的每一个中的数据由编译器定义,所述编译器被配置为将数据分布在所述多个存储器组当中。
48.根据权利要求47所述的在存储器芯片上的分布式处理器,其中所述编译器被配置为使用分布在对应处理器子单元当中的多个较低层级任务,将定义于较高层级系列的任务中的数据分布在所述多个存储器组当中。
49.根据权利要求48所述的在存储器芯片上的分布式处理器,其中所述较高层级系列的任务包含用人类可读编程语言表示的指令的集合。
50.根据权利要求48所述的在存储器芯片上的分布式处理器,其中所述较低层级系列的任务包含以机器码表示的指令的集合。
51.一种在存储器芯片上的分布式处理器,包含:
安置于所述存储器芯片上的多个处理器子单元;
安置于所述存储器芯片上的多个存储器组,其中所述多个处理器子单元中的一个连接至来自所述多个存储器组当中的至少一个专属存储器组,且其中所述多个存储器组中的每一存储器组被配置为储存与储存于所述多个存储器组的其他存储器组中的数据独立的数据,且其中储存于来自所述多个存储器组当中的一个特定存储器组中的所述数据的至少一些包含储存于所述多个存储器组中的至少另一存储器组中的数据的副本;以及
多个总线,其中所述多个总线中的每一个将所述多个处理器子单元中的一个连接至来自所述多个存储器组当中的一个或多个对应的专属存储器组,
其中跨所述多个总线中的特定总线的数据传送由连接至所述多个总线中的所述特定总线的对应处理器子单元控制。
52.根据权利要求51所述的在存储器芯片上的分布式处理器,其中跨来自所述多个存储器组当中的所述一个特定存储器组及所述多个存储器组中的所述至少另一存储器组而被复制的至少一些数据由编译器定义,所述编译器被配置为跨存储器组复制数据。
53.根据权利要求51所述的在存储器芯片上的分布式处理器,其中跨来自所述多个存储器组当中的所述一个特定存储器组及所述多个存储器组中的所述至少另一存储器组而被复制的至少一些数据包含神经网络的权重。
54.根据权利要求53所述的在存储器芯片上的分布式处理器,其中所述神经网络中的每一节点通过来自所述多个处理器子单元当中的至少一个处理器子单元来定义。
55.根据权利要求54所述的在存储器芯片上的分布式处理器,其中每一节点包含由定义所述节点的所述至少一个处理器子单元执行的机器码。
56.一种储存指令的非暂时性计算机可读介质,所述指令用于编译一系列的指令以供在包含多个处理器子单元及多个存储器组的存储器芯片上执行,其中来自所述多个处理器子单元当中的每一处理器子单元连接至来自所述多个存储器组当中的至少一个对应的专属存储器组,所述指令使至少一个处理器:
将所述系列的指令分割成子系列指令的多个群组,所述分割包含:
将与所述系列指令相关联的任务指派给所述处理器子单元中的不同处理器子单元,其中所述处理器子单元在空间上分布在安置于所述存储器芯片上的所述多个存储器组当中;
产生用以在所述存储器芯片的处理器子单元对之间传送数据的任务,每一对处理器子单元通过总线连接,以及
将经指派及所产生的任务分组成子系列指令的所述多个群组,其中子系列指令的所述多个群组中的每一个对应于所述多个处理器子单元中的不同处理器子单元;
产生对应于子系列指令的所述多个群组中的每一个的机器码;以及
根据所述分割,将对应于子系列指令的所述多个群组中的每一个的所产生机器码指派给所述多个处理器子单元中的对应处理器子单元。
57.根据权利要求56所述的非暂时性计算机可读介质,其中将与所述系列的指令相关联的任务向所述处理器子单元中的不同处理器子单元的指派取决于所述存储器芯片上的所述处理器子单元中的两个或更多个处理器子单元之间的空间接近性。
58.根据权利要求56所述的非暂时性计算机可读介质,其中所述指令进一步使所述至少一个处理器:
基于所述分割对与所述系列的指令相关联的数据分组;以及
根据所述分组将数据指派给存储器组。
59.根据权利要求58所述的非暂时性计算机可读介质,其中对所述数据分组包含确定要在所述存储器组中的两个或更多个存储器组中复制的所述数据的至少一部分。
60.一种存储器芯片,包含多个处理器子单元及多个对应存储器组,每一处理器子单元连接至专属于所述处理器子单元的至少一个存储器组,所述存储器芯片的所述处理器子单元被配置为执行根据权利要求56所产生的机器码。
61.一种存储器芯片,包含:
多个存储器组,每一存储器组具有组行解码器、组列解码器及多个存储器子组,每一存储器子组具有子组行解码器及子组列解码器以允许对所述存储器子组上的位置的读取及写入,每一存储器子组包含:
多个存储器垫,每一存储器垫具有多个存储器胞元,
其中所述子组行解码器及所述子组列解码器连接至所述组行解码器及所述组列解码器。
62.根据权利要求61所述的存储器芯片,其中每一存储器子组进一步具有子组控制器,所述子组控制器被配置为确定是否处理来自所述存储器组的控制器的读取请求及写入请求。
63.根据权利要求62所述的存储器芯片,其中所述存储器的控制器同步至系统时钟。
64.根据权利要求62所述的存储器芯片,其中所述存储器子组的控制器不同步至系统时钟。
65.根据权利要求61所述的存储器芯片,其中每一子组进一步具有使用所述子组作为专属存储器的处理器子单元。
66.根据权利要求61所述的存储器芯片,其中所述处理器子单元包含可配置处理器子单元或加速器。
67.根据权利要求65所述的存储器芯片,其中每一处理器子单元被配置为使用子组的行解码器及列解码器而不使用所述组行解码器及所述组列解码器,来存取专属于所述处理器子单元的子组。
68.一种存储器芯片,包含:
多个存储器组,每一存储器组具有组控制器及多个存储器子组,每一存储器子组具有子组行解码器及子组列解码器以允许对所述存储器子组上的位置的读取及写入,每一存储器子组包含:
多个存储器垫,每一存储器垫具有多个存储器胞元,
其中所述子组行解码器及所述子组列解码器处理来自所述组控制器的读取及写入请求。
69.根据权利要求68所述的存储器芯片,其中每一存储器子组进一步具有子组控制器,所述子组控制器被配置为确定是否处理来自所述组控制器的读取请求及写入请求。
70.根据权利要求69所述的存储器芯片,其中所述组控制器同步至系统时钟。
71.根据权利要求69所述的存储器芯片,其中所述存储器子...
【专利技术属性】
技术研发人员:E西蒂,E希勒尔,
申请(专利权)人:纽罗布拉德有限公司,
类型:发明
国别省市:以色列;IL
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。