CN109117417B - 计算芯片及其操作方法 - Google Patents
计算芯片及其操作方法 Download PDFInfo
- Publication number
- CN109117417B CN109117417B CN201811143995.1A CN201811143995A CN109117417B CN 109117417 B CN109117417 B CN 109117417B CN 201811143995 A CN201811143995 A CN 201811143995A CN 109117417 B CN109117417 B CN 109117417B
- Authority
- CN
- China
- Prior art keywords
- memory
- computing
- node
- data
- compute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本公开涉及计算芯片及其操作方法。提供有一种计算芯片,包括多个计算节点,每个计算节点包括:控制电路,其用于控制该计算节点的操作,运算电路,其连接到所述控制电路,所述运算电路从所述控制电路接收数据,并基于该数据进行运算,存储器,其连接到所述控制电路并且能够由所述控制电路直接访问,所述存储器包括多个存储区域;路由电路,其连接到所述控制电路并连接到相邻的计算节点的路由电路,所述路由电路能够与控制电路进行数据交互,并且能够与相邻的计算节点的路由电路进行数据交互。
Description
技术领域
本公开总体而言涉及集成电路领域,具体而言,涉及计算芯片及其操作方法。
背景技术
随着计算需求的增加,人们对于硬件的计算能力提出了越来越高的要求,并行计算也随之应运而生。为了实现并行计算,现有的计算芯片常采用多核互联的内部架构。但由于用于计算或存储的硬件资源通常采用集中式的设计架构,计算芯片的多个核对资源的使用或访问会是竞争性的,这极大地限制了计算的效率。
因此,存在对于具有新颖的架构的计算芯片及其操作方法的需求。
发明内容
本公开的一个目的是提供一种新颖的计算芯片及其操作方法。
根据本公开的第一方面,提供了一种计算芯片,包括:控制电路,其用于控制该计算节点的操作,运算电路,其连接到所述控制电路,所述运算电路从所述控制电路接收数据,并基于该数据进行运算,存储器,其连接到所述控制电路并且能够由所述控制电路直接访问,所述存储器包括多个存储区域;路由电路,其连接到所述控制电路并连接到相邻的计算节点的路由电路,所述路由电路能够与控制电路进行数据交互,并且能够与相邻的计算节点的路由电路进行数据交互;其中,每个计算节点与至少一个其他计算节点相邻,并且每个计算节点的路由电路与相邻计算节点的路由电路之间直接连接;其中,每个计算节点的路由电路与任何一个不相邻的计算节点的路由电路之间,通过二者之间的计算节点路径中的计算节点的路由电路而间接连接;以及其中,每个计算节点能够与任何一个其他计算节点进行数据交互。
根据本公开的另一个方面,提供了一种用于如前所述的计算芯片的操作方法,该操作方法包括在每个计算节点中通过该计算节点的控制电路执行如下操作:在该计算节点的存储器中的若干存储区域或若干存储控制器出现故障的情况下,通过重新配置该存储器而维持该计算节点的正常运行。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1例示了一种现有的计算芯片。
图2例示了根据本公开的示例性实施例的计算芯片中的三个计算节点的示意图。
图3例示了根据本公开的示例性实施例的图2中所示的存储器的结构示意图。
图4例示了根据本公开的示例性实施例的图3中所示的存储器中的多个存储区域的结构示意图。
图5例示了根据本公开的示例性实施例的图4中所示的存储区域在存储来自故障存储区域的数据时的结构示意图。
图6例示了根据本公开的示例性实施例的包括以点阵形式排列的多个计算节点的计算芯片。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,所公开的发明并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
图1例示了一种现有的计算芯片10。如图1所示,多个CPU(中央处理器)12连接到同一总线14并通过总线14进行彼此之间的数据交互。多个CPU 12还可以通过总线14连接到存储器16并访问存储器16中的数据。由于多个CPU 12之间以及CPU 12与存储器16之间的数据交互都需要通过总线14来完成,多个数据交互需求可能同时发生,而这会对总线14的占用权限以及存储器16的访问权限产生竞争性的需求,从而降低并行计算架构的效率。此外,一旦存储16出现故障,整个计算芯片10都无法继续运行。
对此,本申请的发明人希望提出具有全新架构的计算芯片及其操作方法,以实现更高的计算效率。
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的计算芯片及其操作方法是以示例性的方式示出,来说明本公开中的装置或方法的不同实施例,而并非意图限制。本领域的技术人员将会理解,它们仅仅说明可以用来实施本发明的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
图2示出了根据本公开的示例性实施例的计算芯片中的三个计算节点的示意图。
根据本公开的示例性实施例的计算芯片100包括多个计算节点,为了简化示意,图2中仅示意性地例示了所述多个计算节点中的三个计算节点110A、110B和110C。本领域的技术人员将理解,图2中示出的计算节点的数量和排列方式仅用作例示,而不意图构成限制,根据本公开的计算芯片100可以包括以任意方式排列的任意数量的计算节点。
如图2所示,所述多个计算节点中的每个计算节点可以包括:控制电路120,其用于控制本计算节点的操作;运算电路130,其连接到本计算节点中的控制电路120,并且能够从控制电路120接收数据并基于该数据进行运算;存储器160,其连接到本计算节点的控制电路120并且能够由控制电路120直接访问;以及路由电路140,其连接到本计算节点中的控制电路120,并且能够与控制电路120进行数据交互。存储器160可以包括多个存储区域,并且多个存储区域的存储空间可以相同。在一些实施例中,存储器160可以为易失性存储器。优选地,存储器160可以为SRAM。
本领域技术人员将理解,每个计算节点所包括的多个不同的电路可以是各自独立的硬件模块,也可以是作为整体的硬件中的一部分。例如,在一些实施例中,计算节点中的控制电路120、运算电路130、路由电路140和存储器160的一个可以作为另一个的一部分存在,或者计算节点中的控制电路120、运算电路130、路由电路140和存储器160的某几个可以作为一个整体存在。
继续参考图2,每个计算节点的路由电路140还连接到相邻的计算节点的路由电路140,并且能够与相邻的计算节点的路由电路140进行数据交互。在计算芯片100中,每个计算节点与至少一个其他计算节点相邻,并且其路由电路与相邻计算节点的路由电路之间直接连接;每个计算节点的路由电路与任何一个不相邻的计算节点的路由电路之间,通过二者之间的计算节点路径中的计算节点的路由电路而间接连接。通过上述直接连接或者间接连接,每个计算节点都能够与任何一个其他计算节点进行数据交互。在一些实施例中,计算节点之间的直接连接可以通过集成电路中的布线形成。
本领域的技术人员将理解,前文所述的计算节点之间的“相邻”,不仅包括计算节点在计算芯片的物理布局中彼此邻近的情况,还包括任意其他方式的“相邻”,例如,在逻辑运算的前后关系上“相邻”等等。因此,“相邻”的判断标准可以根据具体需求来灵活限定。
以图2中的三个节点110A、110B和110C作为示例,计算节点110A与计算节点110B相邻,因而其路由电路连接到计算节点110B的路由电路,并能够与其进行数据交互;计算节点110B与算节点110A和110C都相邻,因而其路由电路分别连接到计算节点110A和110C两者的路由电路,并能够分别与这两者进行数据交互。计算节点110A与计算节点110C并不相邻,两者之间通过“计算节点110A——计算节点110B——计算节点110C”的计算节点路径中的路由电路间接连接。
本领域的技术人员将理解,图2中示出的计算节点的具体连接方式仅用作例示,而不意图构成限制,根据本公开的计算芯片100可以包括以任意方式连接的多个计算节点。另外,尽管图2中所示出的不相邻的计算节点110A和110C之间仅存在一条能够实现间接连接的计算节点路径,但这并不意图构成限制,在计算芯片100中,不相邻的计算节点之间可以存在一条或者多条能够实现间接连接的计算节点路径。
当相邻的计算节点110A和110B需要进行数据交互时,可以通过两者的路由电路的直接连接来实现。当不相邻的计算节点110A和110C需要进行数据交互时,可以通过计算节点路径(“计算节点110A——计算节点110B——计算节点110C”)中的计算节点的路由电路的间接连接来实现。
在一些实施例中,根据本公开的计算芯片100可以配置为将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器160中。分配给每个计算节点并且存储在计算节点的存储器160中的初始数据可以具备如下特征:分配给每个计算节点的数据的数据量相同,但数据内容不同。
继续参考图2,计算芯片100还可以包括主控电路150。主控电路150可以连接到所述多个计算节点中的至少一部分计算节点,并且借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。在一些实施例中,主控电路150可以配置为将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器160中。通过主控电路150分配给每个计算节点的初始数据可以具备如下特征:分配给每个计算节点的数据的数据量相同,但数据内容不同。
图3例示了根据本公开的示例性实施例的图2中所示的存储器160的结构示意图。
如图3所示,存储器160可以包括多个存储区域162,还可以包括用于分别控制多个存储区域162的多个存储控制器164。本领域技术人员将理解,存储器160可以包括任意数量的存储区域162以及任意数量的存储控制器164。为了便于采用二进制形式的地址,存储器160中的多个存储区域162的数量优选地可以为2的整数次幂。
在一些实施例中,为了便于地址管理和数据管理,每个计算节点的控制电路可以通过所述多个存储控制器164为所述多个存储区域162分配连续的地址段。
回到图2,在根据本公开的示例性实施例的计算芯片100中,每个计算节点中的控制电路120可以在本计算节点的存储器160中的若干存储区域或若干存储控制器出现故障的情况下通过重新配置存储器160而维持该计算节点的正常运行。
图4例示了根据本公开的示例性实施例的图3中所示的存储器160中的多个存储区域162的结构示意图。下面参考图4描述通过计算节点中的控制电路实现存储器的重新配置的可能的实现方式。
注意,尽管图4中示意性地示出了4个存储区域162A、162B、162C和162D,但是本领域技术人员均理解,根据本公开的计算节点中的存储器可以包括任意数量的存储区域。
如图4所示,在每个计算节点中,控制电路可以将所要存储的数据均匀分配到本计算节点的存储器的多个存储区域162A、162B、162C和162D中的每个存储区域中,并且从每个存储区域的地址段的顶部地址起顺序存储。这有助于数据的高效管理并且便于对存储器进行重新配置。在每个存储区域中,已经存储了数据的存储空间示出为阴影区域165,还未存储数据的剩余存储空间示出为空白区域166。假设存储区域162A、162B、162C和162D中的每个存储区域的地址段中包含256个地址(例如,地址0b0000 0000到0b1111 1111),则地址段中的顶部地址可以为地址0b0000 0000,地址段中的底部地址可以为地址0b1111 1111。
如前所述,在根据本公开的示例性实施例的计算节点中,在若干存储区域发生故障或者若干存储控制器发生故障的情况下,该计算节点的控制器可以通过对存储器的重新配置使得该计算节点仍然可能继续工作。
继续参考图4,假设存储区域162C发生故障或者用于控制存储区域162C的存储控制器(未示出)发生故障,则该计算节点中的控制电路可以配置为对其他正常工作的存储区域162A、162B和162D中的剩余存储空间是否能够容纳存储在存储区域162C中的数据进行判断。如果判断结果为是,则控制电路可以标记并停止使用存储区域162C及其存储控制器,并将存储在存储区域162C中的数据重新分配到其他正常工作的存储区域中。如果判断结果为否,则控制电路可以标记该计算节点并停止使用该计算节点中的存储器160。
在一些实施例中,因为每个存储区域大小相同并且存储在每个存储区域中的数据量相同,所以每个存储区域的剩余存储空间的大小也是相同的,这有助于简化对剩余存储空间的判断。例如,假设某个存储器包括一个故障存储区域和(N-1)个正常工作的存储区域(N为大于1的正整数),则当故障存储区域中的剩余存储空间大于或等于该故障存储区域的总存储空间的1/N时,需要重新分配的数据所需的存储空间小于或等于该故障存储区域的总存储空间的(N-1)/N,由此可以判断出(N-1)个正常工作的存储区域中的剩余存储空间能够容纳存储在故障存储区域中的数据。
例如,参考图4,存储器包括4个存储区域162A、162B、162C和162D。在存储区域162C故障的情况下,如果存储区域162C的剩余存储空间大于或等于存储区域162C的总存储空间的1/4,则其他正常工作的存储区域162A、162B和162D中的剩余存储空间能够容纳存储在存储区域162C中的数据
如前所述,分配到每个存储区域的数据可以从该存储区域的地址段的顶部地址起顺序存储。在这种情况下,当将发生故障的存储区域或者发生故障的存储控制器所控制的存储区域中的数据重新分配到其他正常工作的存储区域中时,可以将重新分配的数据从其他正常工作的存储区域中的每个存储区域的地址段的底部地址起逆序存储。这有助于高效的管理和读取数据。
本领域技术人员将理解,在地址段中,可以规定从地址段的顶部地址到地址段的底部地址的正向顺序。基于此,“顺序存储”可以理解为按照该正向顺序依次存储,而“逆序存储”可以理解为按照与该正向顺序相反的逆序顺序依次存储。例如,如果地址段为从顶部地址0b0000 0000到底部地址0b1111 1111的连续地址段,则地址值依次增大可以作为正向顺序,地址值依次减小作为与正向顺序相反的逆序顺序。
在一些实施例中,可以将其他正常工作的存储区域中的每个存储区域的从其地址段的底部地址起的预定大小的存储空间设置为纠错存储空间,并且将来自发生故障的存储区域或发生故障的存储控制器所控制的存储区域中的数据填入其他正常工作的存储区域的纠错存储空间中。将数据填入纠错存储空间时,可以在填满某个纠错存储空间之后才开始填入下一个纠错存储空间,并且可以从每个纠错存储空间的地址段的底部地址起逆序存储。这有助于对重新分配的数据的高效管理。
在将发生故障的存储区域或发生故障的存储控制器所控制的存储区域中的数据重新分配到其他正常工作的存储区域时,可以将发生故障的存储区域的地址映射到其他正常工作的存储区域中的地址。通过上述分配方式,能够以非常简单的取反、加减、大小比较等逻辑运算实现地址的映射,避免使用取模运算,从而在满足平均分配的前提下,以极低的硬件消耗实现存储空间的重新分配。
图5例示了根据本公开的示例性实施例的图4中的存储区域162A在存储来自故障存储区域162C的数据时的结构示意图。
如图5所示,原本存储在存储区域162A中的数据可以从地址段中的顶部地址起顺序存储(如按照箭头A的方向所示),如阴影区域165所示。而来自发生故障的存储区域162C的重新分配的数据可以从存储区域162A的地址段的底部地址起逆序(如按照箭头B的方向所示)存储在如空白区域166所示的剩余存储空间中。
参考图5,可以将存储区域162A的从其地址段的底部地址起的预定大小的存储空间设置为纠错存储空间167,并将来自存储区域162C的数据依次填入该纠错存储空间167中。纠错存储空间167可以小于该存储区域中的剩余存储空间,也可以完全占满剩余存储空间。相应的,存储区域162B和162D也可以各自设置有纠错存储空间。在将来自存储区域162C的数据依次填入纠错存储空间时,可以在填满某个纠错存储空间之后才开始填入下一个纠错存储空间。
假设存储区域162A、162B、162C和162D中的每个存储区域的地址段中包含256个地址(例如,地址段0b0000 0000到0b1111 1111),则每个存储区域的地址段中的顶部地址可以为地址0b0000 0000,底部地址可以为地址0b1111 1111,并且纠错存储区域167可以对应于地址段的后四分之一,即0b1100 0000到0b1111 1111。全部四个存储区域162A、162B、162C和162D所要用到的地址长度为4*256。因此,四个存储区域162A、162B、162C和162D的地址可以表示为10位的二进制值地址Address[9:0],各个存储区域与地址段的对应关系可以如以下的表格1所示:
表格1
如表格1所示,Address[9:8]用于选择四个存储区域162A、162B、162C和162D中的某一个(例如,Address[9:8]=0b00代表存储区域162A,Address[9:8]=0b01代表存储区域162B等等),Address[7:0]对应于每个存储区域中的256个地址。此外,存储区域162A、162B和162D各自的Address[7:6]=0b11的地址所对应的存储区域为纠错存储区域。
由表格1可知,通过使得每个存储器中的存储区域的数量为2的整数次幂,每个存储区域的地址段中的顶部地址的尾数Address[7:0]均为若干个0,底部地址的尾数Address[7:0]均为若干个1。当将重新分配的数据存储到其他正常工作的区域时,从底部地址开始逆序填充意味着将重新分配的数据按照从底部地址倒序减小的次序来填充。从底部地址起逆序填充的便利在于,可以通过直接对原地址中的部分位取反来得到所映射到的新地址。
例如,出现故障的存储区域162C的地址重新分配后的地址映射关系可以如以下的表格2所示:
表格2
如表格2中所示,存储区域162C的地址中的Address[7:6]用来选择存储区域162A、162B和162D中的一个,其中Address[7:6]=0b00选择存储区域162A,Address[7:6]=0b01选择存储区域162B,并且Address[7:6]=0b10选择存储区域162D。注意,存储区域162C的地址中的Address[7:6]=0b11的地址无需映射,因为这些地址未被占用,否则该计算节点的存储器中的剩余存储空间不足以进行重新分配。此外,存储区域162C中的地址映射到了存储区域162A、162B和162D中的纠错存储区域,即映射到了存储区域162A、162B和162D中的Address[7:6]=0b11的地址。
继续参考表格2,由于重新分配的数据从正常工作的存储区域的地址段中的底部地址起逆序存储,所以通过将存储区域162C的原地址中的后6位Address[5:0]按位取反,即可得到映射后的新地址的后6位Address[5:0]。
通过如表格2中所示的分配关系,能够以非常简单的取反、加减、大小比较等逻辑运算将发生故障的存储区域中的地址映射到正常工作的存储区域中的地址,从而在满足平均分配的前提下,以极低的硬件消耗实现存储空间的重新分配,并极大降低了数据重新分配带来的额外的时间消耗。
回到图2,在根据本公开的计算芯片100中,每个计算节点可以具有不同的坐标,以用于对多个计算节点进行标识和区分。每个计算节点的坐标还能够根据需要被重新配置。在一些实施例中,每个计算节点的路由电路能够根据坐标来寻址目标计算节点。寻址的实现方式有多种。例如,寻址的实现方式可以包括:当计算节点的路由电路接收到包含目标计算节点的坐标的指令时,可以基于该目标计算节点的坐标进行适当的操作以使得该指令被发送到目标计算节点。
在一些实施例中,计算节点的路由电路140可以判断某个坐标是否代表该计算节点自身、是否代表直接连接的计算节点以及是否代表间接连接的计算节点。
在一些实施例中,计算节点的控制电路120和路由电路140可以协同操作以发出数据操作请求。例如,控制电路120可以生成数据操作请求,并将该请求发送到该计算节点的路由电路140。在数据操作请求中,至少包括目标计算节点的坐标。相应地,路由电路140可以进行如下操作:从控制电路120接收前述数据操作请求并进行判断;当判断出目标计算节点为相邻计算节点时,将数据操作请求转发到相邻计算节点的路由电路;而当判断出目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
在一些实施例中,计算节点的控制电路120和路由电路140也可以协同操作以接收数据操作请求。例如,路由电路140可以从相邻计算节点的路由电路接收数据操作请求并进行相应判断;当判断出目标计算节点为本计算节点时,路由电路140将数据操作请求发送到本计算节点的控制电路120;当判断出目标计算节点为相邻计算节点时,路由电路140将数据操作请求发送到相邻计算节点的路由电路;以及,当判断出目标计算节点为不相邻的计算节点时,路由电路140将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
在本文中,“优化路径”可以是根据一定规则(例如某些调度仲裁算法)选取的实现两个不相邻的计算节点的间接连接的计算节点路径。优化路径可以以任意合适的规则选取,例如以路径最短为目标选取,或者以提高硬件利用率为目标选取,等等。由于根据本公开的计算芯片可以包括以任意方式排列的多个计算节点,两个不相邻的计算节点之间可能存在多种间接连接的计算节点路径,因此也可能存在多种优化路径。两个不相邻的计算节点之间的优化路径可以是固定的也可以是变化的,例如随着计算芯片的运行,优化路径可以根据运行情况而实时改变。应当理解的是,尽管在图2中,在不相邻的计算节点110A至110C之间只存在一条间接连接路径,但这并不意图构成限制。
在根据本公开的实施例中,数据操作请求可以是任意类型的数据操作请求。在一些实施例中,数据操作请求可以包括数据读取请求和数据返回应答。数据读取请求可以包括:发出数据读取请求的计算节点的坐标、目标计算节点的坐标以及与所要读取的数据相关的信息。数据返回应答可以包括:目标计算节点的坐标,所要返回的数据以及与所要返回的数据相关的信息。
在一些实施例中,在每个计算节点中,控制电路120可以对从路由电路140接收的数据进行解析,并执行相应操作。例如,当从本计算节点的路由电路140接收到数据读取请求时,控制电路120进行数据检索并生成相应的数据返回应答。数据返回应答中可以包括前述数据读取请求所请求的数据,还可以包括发出前述数据读取请求的计算节点的坐标作为目标计算节点坐标。当控制电路120从本计算节点的路由电路140接收到数据返回应答时,可以解析该数据返回应答中的数据。控制电路120可以将解析出的数据应用于控制电路120自身、发送到运算电路130或者发送到存储器160。
根据本公开的计算芯片100可以通过多个计算节点完成复杂的运算。在一些实施例中,凭借高度重复的并行计算结构,计算芯片100可以配置用于实现包含多次循环运算的算法,并且实现较高的运算效率。
在一些实施例中,计算芯片100可以配置用于实现与人工智能、图像处理相关的算法。
在一些实施例中,计算芯片100可以是单片集成电路或者封装的单片集成电路。
如前所述,根据本公开的示例性实施例的计算芯片100可以包括多个计算节点。在一些实施例中,所述多个计算节点可以以点阵形式排列,点阵可以是M行N列的矩阵形式。
图6例示了根据本公开的示例性实施例的包括以点阵形式排列的多个计算节点的计算芯片200。图6中所示的计算芯片200是图2中所示的计算芯片的100的一种可能的实现方式,可以认为图2中所示的三个计算节点是图6中所示的多个计算节点的一部分。因此,前文中对于图2的相关描述也适用于图6中的计算芯片200。
如图6所示,计算芯片200的多个计算节点以点阵形式排列,该点阵可以采用M行N列的矩阵形式。M行N列的矩阵中的计算节点的坐标可以按照其位置设置为(x,y),其中x为所在的行(x为小于或等于M的正整数),y为所在的列(y为小于或等于N的正整数)。
继续参考图6,以矩阵形式排列的计算节点的点阵可以采用如下连接方式:在矩阵的第i行第j列的计算节点的路由电路与在矩阵的第i+1行第j列的计算节点、第i-1行第j列的计算节点、第i行第j+1列的计算节点以及第i行第j-1列的计算节点的路由电路直接连接,其中i为2、3…M-1,并且j为2、3…N-1;在矩阵的第1行第1列的计算节点的路由电路与在矩阵的第1行第2列的计算节点以及第2行第1列的计算节点的路由电路直接连接;在矩阵的第1行第N列的计算节点的路由电路与在矩阵的第1行第N-1列的计算节点以及第2行第N列的计算节点的路由电路直接连接;在矩阵的第M行第1列的计算节点的路由电路与在矩阵的第M-1行第1列的计算节点以及第M行第2列的计算节点的路由电路直接连接;以及在矩阵的第M行第N列的计算节点的路由电路与在矩阵的第M-1行第N列的计算节点以及第M行第N-1列的计算节点的路由电路直接连接。
在根据本公开的实施例的计算芯片100和200中,每个计算节点各自具有控制电路和运算电路,并且可以各自独立地基于预定算法进行运算,这极大地提高了计算芯片的运算速度和运行效率。进一步的,多个计算节点通过各自的路由电路以网状关系互连,在确保任意两个计算节点能够进行数据交互的同时,有效减少了可能的访问冲突,从而提高了并行式计算芯片的性能。由于计算芯片包括多个计算节点并且多个计算节点采用网状的互连,当某个计算节点出现故障时,其他计算节点仍然可能继续运行,从而降低了计算芯片的故障率。存储资源可以以存储器的形式分布在各个计算节点中。通过前述的各个计算节点之间的网状互连,任意一个计算节点都可以方便地访问任意另一个计算节点的存储器,这种访问模式避免了集中式访问资源带来的访问冲突,极大地提高了对存储器的访问效率。并且,在各个计算节点的存储器中的数据被访问的几率均等的情况下,访问效率可以达到性能最优。此外,由于每个计算节点的存储器具备多个存储区域,每个计算节点可以在本计算节点的若干存储区域出现故障的情况下,通过对本计算节点的存储器的重新配置使得该计算节点维持正常运行,从而有效提高了计算节点的稳定性并降低了故障率,最终有助于计算芯片整体性能的提升。进一步的,通过对存储器的多个存储区域的地址段的设置,能够简单高效地实现数据的重新分配从而迅速解决故障。
接下来描述根据本公开的示例性实施例的用于计算芯片的操作方法。
用于计算芯片的操作方法可以包括,在每个计算节点中通过该计算节点的控制电路执行如下操作:在该计算节点的存储器中的若干存储区域或若干存储控制器出现故障的情况下,通过重新配置该存储器而维持该计算节点的正常运行。
在一些实施例中,在每个计算节点中,存储器还可以包括用于分别控制多个存储区域多个存储控制器。
在一些实施例中,用于计算芯片的操作方法可以包括:将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。其中,分配给每个计算节点的初始数据的数据量是相同的,但数据内容是不同的。
在一些实施例中,计算芯片还可以包括主控电路。主控电路可以连接到多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。在计算芯片包括主控电路的情况下,用于计算芯片的操作方法可以包括:通过主控电路将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
在一些实施例中,存储器可以为易失性存储器。优选地,存储器可以为SRAM。
在一些实施例中,在计算芯片的每个计算节点中,存储器中的多个存储区域的数量可以为2的整数次幂。
在一些实施例中,用于计算芯片的操作方法还可以包括在每个计算节点中通过控制电路执行如下操作:将要存储在存储器中的数据均匀分配到多个存储区域中的每个存储区域中,并且从每个存储区域的地址段的顶部地址起顺序存储。
在计算芯片的每个计算节点中,存储器可以包括第一存储区域以及控制该第一存储区域的第一存储控制器。相应地,操作方法可以包括在每个计算节点中通过控制电路执行如下操作:当第一存储区域或第一存储控制器发生故障时,判断其他正常工作的存储区域中的剩余存储空间是否能够容纳存储在第一存储区域中的数据,其中:当判断结果为是,标记并停止使用第一存储区域和第一存储控制器,并将存储在第一存储区域中的数据重新分配到其他正常工作的存储区域中,以及当判断结果为否,标记该计算节点并停止使用该计算节点中的存储器。在计算芯片的每个计算节点中,存储器还可以包括(N-1)个正常工作的存储区域,N为大于1的正整数。在这种情况下,当第一存储区域或第一存储控制器发生故障时,若第一存储区域中的剩余存储空间大于或等于第一存储区域的总存储空间的1/N,则判断其他正常工作的存储区域中的剩余存储空间能够容纳存储在第一存储区域中的数据。
在一些实施例中,用于计算芯片的操作方法还可以包括在每个计算节点中通过控制电路执行如下操作:将第一存储区域中的数据从其他正常工作的存储区域中的每个存储区域的地址段的底部地址起逆序存储。
在一些实施例中,用于计算芯片的操作方法还可以包括:在每个计算节点中通过控制电路执行如下操作:将其他正常工作的存储区域中的每个存储区域的从其地址段的底部地址起的预定大小的存储空间设置为纠错存储空间,并且将第一存储区域中的数据依次填入其他正常工作的存储区域的纠错存储空间,并且在填满某个纠错存储空间之后才开始填入下一个纠错存储空间。此外,用于计算芯片的操作方法还可以包括在每个计算节点中通过控制电路执行如下操作:将第一存储区域中的数据从每个纠错存储空间的地址段的底部地址起逆序存储。
在一些实施例中,用于计算芯片的操作方法还可以包括:为每个计算节点分配不同的坐标,其中坐标能够被重新配置;以及通过路由电路根据坐标来寻址目标计算节点。
在一些实施例中,计算芯片中的多个计算节点可以采用点阵形式排列,其中点阵可以是M行N列的矩阵形式。
本公开的实施例还包括以下各项。
1、一种计算芯片,其特征在于,所述计算芯片包括多个计算节点,每个计算节点包括:控制电路,其用于控制该计算节点的操作;运算电路,其连接到所述控制电路,所述运算电路从所述控制电路接收数据,并基于该数据进行运算;存储器,其连接到所述控制电路并且能够由所述控制电路直接访问,所述存储器包括多个存储区域;路由电路,其连接到所述控制电路并连接到相邻的计算节点的路由电路,所述路由电路能够与控制电路进行数据交互,并且能够与相邻的计算节点的路由电路进行数据交互;以及其中,每个计算节点与至少一个其他计算节点相邻,并且每个计算节点的路由电路与相邻计算节点的路由电路之间直接连接;其中,每个计算节点的路由电路与任何一个不相邻的计算节点的路由电路之间,通过二者之间的计算节点路径中的计算节点的路由电路而间接连接;以及其中,每个计算节点能够与任何一个其他计算节点进行数据交互。
2、根据1所述的计算芯片,其特征在于,在每个计算节点中,所述存储器还包括:多个存储控制器,用于分别控制所述多个存储区域。
3、根据2所述的计算芯片,其特征在于,所述计算芯片配置为:
将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
4、根据3所述的计算芯片,其特征在于,
其中,分配给每个计算节点的初始数据的数据量是相同的,但数据内容是不同的。
5、根据2所述的计算芯片,其特征在于,所述计算芯片还包括:主控电路,所述主控电路连接到所述多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
6、根据5所述的计算芯片,其特征在于,所述主控电路还配置为:将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
7、根据1所述的计算芯片,其特征在于,所述存储器为易失性存储器。
8、根据1所述的计算芯片,其特征在于,所述存储器为SRAM。
9、根据1所述的计算芯片,其特征在于,在每个计算节点中,所述存储器中的所述多个存储区域的数量为2的整数次幂。
10、根据2所述的计算芯片,其特征在于,在每个计算节点中,所述控制电路配置为:在所述存储器中的若干存储区域或若干存储控制器出现故障的情况下,通过重新配置该存储器而维持该计算节点的正常运行。
11、根据10所述的计算芯片,其特征在于,在每个计算节点中,所述控制电路配置为:将要存储在所述存储器中的数据均匀分配到所述多个存储区域中的每个存储区域中,并且从每个存储区域的地址段的顶部地址起顺序存储。
12、根据11所述的计算芯片,其特征在于,在每个计算节点中,所述存储器包括第一存储区域以及控制该第一存储区域的第一存储控制器,所述控制电路配置为:当第一存储区域或第一存储控制器发生故障时,判断其他正常工作的存储区域中的剩余存储空间是否能够容纳存储在第一存储区域中的数据,其中:当判断结果为是,标记并停止使用第一存储区域和第一存储控制器,并将存储在第一存储区域中的数据重新分配到其他正常工作的存储区域中;以及当判断结果为否,标记该计算节点并停止使用该计算节点中的存储器。
13、根据12所述的计算芯片,其特征在于,在每个计算节点中,所述多个存储区域还包括(N-1)个正常工作的存储区域,N为大于1的正整数,其中,当第一存储区域或第一存储控制器发生故障时,若第一存储区域中的剩余存储空间大于或等于第一存储区域的总存储空间的1/N,则判断(N-1)个正常工作的存储区域中的剩余存储空间能够容纳存储在第一存储区域中的数据。
14、根据12所述的计算芯片,其特征在于,在每个计算节点中,所述控制电路配置为:将第一存储区域中的数据从其他正常工作的存储区域中的每个存储区域的地址段的底部地址起逆序存储。
15、根据12所述的计算芯片,其特征在于,在每个计算节点中,所述控制电路配置为:将其他正常工作的存储区域中的每个存储区域的从其地址段的底部地址起的预定大小的存储空间设置为纠错存储空间;并且将第一存储区域中的数据依次填入其他正常工作的存储区域的纠错存储空间,并且在填满某个纠错存储空间之后才开始填入下一个纠错存储空间。
16、根据15所述的计算芯片,其特征在于,在每个计算节点中,所述控制电路配置为:将第一存储区域中的数据从每个纠错存储空间的地址段的底部地址起逆序存储。
17、根据1所述的计算芯片,其特征在于,每个计算节点具有不同的坐标,所述坐标能够被重新配置。
18、根据1所述的计算芯片,其特征在于,每个计算节点的路由电路能够根据坐标来寻址目标计算节点。
19、根据1至18中的任一项所述的计算芯片,其特征在于,所述多个计算节点以点阵形式排列。
20、根据19所述的计算芯片,其特征在于,所述点阵为M行N列的矩阵形式。
21、一种用于计算芯片的操作方法,其特征在于,所述计算芯片是如1-20中任一项所述的计算芯片,所述操作方法包括在每个计算节点中通过该计算节点的控制电路执行如下操作:在该计算节点的存储器中的若干存储区域或若干存储控制器出现故障的情况下,通过重新配置该存储器而维持该计算节点的正常运行。
22、根据21所述的操作方法,其特征在于,在每个计算节点中,所述存储器还包括:多个存储控制器,用于分别控制所述多个存储区域。
23、根据22所述的操作方法,其特征在于,所述操作方法还包括:将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
24、根据23所述的操作方法,其特征在于,其中,分配给每个计算节点的初始数据的数据量是相同的,但数据内容是不同的。
25、根据22所述的操作方法,其特征在于,所述计算芯片还包括:主控电路,所述主控电路连接到所述多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
26、根据25所述的操作方法,其特征在于,所述操作方法还包括:通过所述主控电路将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
27、根据21所述的操作方法,其特征在于,所述存储器为易失性存储器。
28、根据21所述的操作方法,其特征在于,所述存储器为SRAM。
29、根据21所述的操作方法,其特征在于,在每个计算节点中,所述存储器中的所述多个存储区域的数量为2的整数次幂。
30、根据22所述的操作方法,其特征在于,所述操作方法还包括在每个计算节点中通过所述控制电路执行如下操作:将要存储在所述存储器中的数据均匀分配到所述多个存储区域中的每个存储区域中,并且从每个存储区域的地址段的顶部地址起顺序存储。
31、根据30所述的操作方法,其特征在于,在每个计算节点中,所述存储器包括第一存储区域以及控制该第一存储区域的第一存储控制器,所述操作方法还包括在每个计算节点中通过所述控制电路执行如下操作:当第一存储区域或第一存储控制器发生故障时,判断其他正常工作的存储区域中的剩余存储空间是否能够容纳存储在第一存储区域中的数据,其中:当判断结果为是,标记并停止使用第一存储区域和第一存储控制器,并将存储在第一存储区域中的数据重新分配到其他正常工作的存储区域中;以及当判断结果为否,标记该计算节点并停止使用该计算节点中的存储器。
32、根据31所述的操作方法,其特征在于,在每个计算节点中,所述多个存储区域还包括(N-1)个正常工作的存储区域,N为大于1的正整数,其中,当第一存储区域或第一存储控制器发生故障时,若第一存储区域中的剩余存储空间大于或等于第一存储区域的总存储空间的1/N,则判断其他正常工作的存储区域中的剩余存储空间能够容纳存储在第一存储区域中的数据。
33、根据31所述的操作方法,其特征在于,所述操作方法还包括在每个计算节点中通过所述控制电路执行如下操作:将第一存储区域中的数据从其他正常工作的存储区域中的每个存储区域的地址段的底部地址起逆序存储。
34、根据31所述的操作方法,其特征在于,所述操作方法还包括在每个计算节点中通过所述控制电路执行如下操作:将其他正常工作的存储区域中的每个存储区域的从其地址段的底部地址起的预定大小的存储空间设置为纠错存储空间;并且将第一存储区域中的数据依次填入其他正常工作的存储区域的纠错存储空间,并且在填满某个纠错存储空间之后才开始填入下一个纠错存储空间。
35、根据34所述的操作方法,其特征在于,所述操作方法还包括在每个计算节点中通过所述控制电路执行如下操作:将第一存储区域中的数据从每个纠错存储空间的地址段的底部地址起逆序存储。
36、根据21所述的操作方法,其特征在于,所述操作方法包括:为每个计算节点分配不同的坐标,并且所述坐标能够被重新配置。
37、根据21所述的操作方法,其特征在于,所述操作方法还包括:在每个计算节点中,通过路由电路根据坐标来寻址目标计算节点。
38、根据21至37中的任一项所述的操作方法,其特征在于,所述多个计算节点以点阵形式排列。
39、、根据38所述的操作方法,其特征在于,所述点阵为M行N列的矩阵形式。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪音以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
上述描述可以指示被“连接”或“耦合”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦合”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦合”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
另外,仅仅为了参考的目的,还可以在下面描述中使用某种术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。
Claims (27)
1.一种计算芯片,其特征在于,所述计算芯片包括多个计算节点,每个计算节点包括:
控制电路,其用于控制该计算节点的操作;
运算电路,其连接到所述控制电路,所述运算电路从所述控制电路接收数据,并基于该数据进行运算;
存储器,其连接到所述控制电路并且能够由所述控制电路直接访问,所述存储器包括多个存储区域和用于分别控制所述多个存储区域的多个存储控制器;
路由电路,其连接到所述控制电路并连接到相邻的计算节点的路由电路,所述路由电路能够与控制电路进行数据交互,并且能够与相邻的计算节点的路由电路进行数据交互;以及
其中,每个计算节点与至少一个其他计算节点相邻,并且每个计算节点的路由电路与相邻计算节点的路由电路之间直接连接;
其中,每个计算节点的路由电路与任何一个不相邻的计算节点的路由电路之间,通过二者之间的计算节点路径中的计算节点的路由电路而间接连接;
其中,每个计算节点能够与任何一个其他计算节点进行数据交互;其中,每个计算节点的控制电路配置为将要存储在所述存储器中的每个存储区域中的数据从该存储区域的地址段的顶部地址起顺序存储,以及
其中,在每个计算节点中,所述存储器包括第一存储区域以及控制该第一存储区域的第一存储控制器,所述控制电路配置为:
当第一存储区域或第一存储控制器发生故障时,判断其他正常存储区域中的剩余存储空间是否能够容纳存储在第一存储区域中的数据,当判断结果为是,标记并停止使用第一存储区域和第一存储控制器,并将存储在第一存储区域中的数据重新分配到其他正常存储区域中,当判断结果为否,标记该计算节点并停止使用该计算节点中的存储器;以及
将其他正常存储区域中的每个存储区域的从其地址段的底部地址起的预定大小的存储空间设置为纠错存储空间,将第一存储区域中的数据依次填入其他正常存储区域的纠错存储空间,其中,在填满某个纠错存储空间之后才开始填入下一个纠错存储空间,并且将第一存储区域中的数据从每个纠错存储空间的地址段的底部地址起逆序存储。
2.根据权利要求1所述的计算芯片,其特征在于,每个计算节点具有不同的坐标,所述坐标能够被重新配置,并且每个计算节点的路由电路能够根据坐标来寻址目标计算节点。
3.根据权利要求1所述的计算芯片,其特征在于,所述计算芯片配置为:
将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
4.根据权利要求3所述的计算芯片,其特征在于,
其中,分配给每个计算节点的初始数据的数据量是相同的,但数据内容是不同的。
5.根据权利要求1所述的计算芯片,其特征在于,所述计算芯片还包括:
主控电路,所述主控电路连接到所述多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
6.根据权利要求5所述的计算芯片,其特征在于,所述主控电路还配置为:
将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
7.根据权利要求1所述的计算芯片,其特征在于,所述存储器为易失性存储器。
8.根据权利要求1所述的计算芯片,其特征在于,所述存储器为SRAM。
9.根据权利要求1所述的计算芯片,其特征在于,在每个计算节点中,所述存储器中的所述多个存储区域的数量为2的整数次幂。
10.根据权利要求1所述的计算芯片,其特征在于,在每个计算节点中,所述控制电路配置为:
将要存储在所述存储器中的数据均匀分配到所述多个存储区域中的每个存储区域中。
11.根据权利要求1所述的计算芯片,其特征在于,在每个计算节点中,所述多个存储区域还包括N-1个正常存储区域,N为大于1的正整数,
其中,当第一存储区域或第一存储控制器发生故障时,若第一存储区域中的剩余存储空间大于或等于第一存储区域的总存储空间的1/N,则判断N-1个正常存储区域中的剩余存储空间能够容纳存储在第一存储区域中的数据。
12.根据权利要求1至11中的任一项所述的计算芯片,其特征在于,所述多个计算节点以点阵形式排列。
13.根据权利要求12所述的计算芯片,其特征在于,所述点阵为M行N列的矩阵形式,N为大于1的正整数,且M为大于1的正整数。
14.一种用于计算芯片的操作方法,其特征在于,所述计算芯片是如权利要求1-13中任一项所述的计算芯片,所述操作方法包括在每个计算节点中通过该计算节点的控制电路执行如下操作:
在该计算节点的存储器中的若干存储区域或若干存储控制器出现故障的情况下,通过重新配置该存储器而维持该计算节点的正常运行。
15.根据权利要求14所述的操作方法,其特征在于,所述操作方法还包括:
将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
16.根据权利要求15所述的操作方法,其特征在于,
其中,分配给每个计算节点的初始数据的数据量是相同的,但数据内容是不同的。
17.根据权利要求14所述的操作方法,其特征在于,所述计算芯片还包括:
主控电路,所述主控电路连接到所述多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
18.根据权利要求17所述的操作方法,其特征在于,所述操作方法还包括:
通过所述主控电路将初始数据分配到每个计算节点,并存储在每个计算节点中的存储器中。
19.根据权利要求14所述的操作方法,其特征在于,所述存储器为易失性存储器。
20.根据权利要求14所述的操作方法,其特征在于,所述存储器为SRAM。
21.根据权利要求14所述的操作方法,其特征在于,在每个计算节点中,所述存储器中的所述多个存储区域的数量为2的整数次幂。
22.根据权利要求14所述的操作方法,其特征在于,所述操作方法还包括在每个计算节点中通过所述控制电路执行如下操作:
将要存储在所述存储器中的数据均匀分配到所述多个存储区域中的每个存储区域中。
23.根据权利要求14所述的操作方法,其特征在于,在每个计算节点中,所述多个存储区域还包括N-1个正常存储区域,N为大于1的正整数,
其中,当第一存储区域或第一存储控制器发生故障时,若第一存储区域中的剩余存储空间大于或等于第一存储区域的总存储空间的1/N,则判断其他正常存储区域中的剩余存储空间能够容纳存储在第一存储区域中的数据。
24.根据权利要求14所述的操作方法,其特征在于,所述操作方法包括:
为每个计算节点分配不同的坐标,并且所述坐标能够被重新配置。
25.根据权利要求14所述的操作方法,其特征在于,所述操作方法还包括:在每个计算节点中,通过路由电路根据坐标来寻址目标计算节点。
26.根据权利要求14至25中的任一项所述的操作方法,其特征在于,所述多个计算节点以点阵形式排列。
27.根据权利要求26所述的操作方法,其特征在于,所述点阵为M行N列的矩阵形式,N为大于1的正整数,且M为大于1的正整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811143995.1A CN109117417B (zh) | 2018-09-29 | 2018-09-29 | 计算芯片及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811143995.1A CN109117417B (zh) | 2018-09-29 | 2018-09-29 | 计算芯片及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117417A CN109117417A (zh) | 2019-01-01 |
CN109117417B true CN109117417B (zh) | 2023-02-17 |
Family
ID=64857170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811143995.1A Active CN109117417B (zh) | 2018-09-29 | 2018-09-29 | 计算芯片及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109117417B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091208A2 (en) * | 2001-05-07 | 2002-11-14 | Sun Microsystems, Inc. | Fault-tolerant, self-healing routing scheme for a multi-path interconnection fabric in a storage network |
CN101174464A (zh) * | 2006-11-02 | 2008-05-07 | 株式会社日立制作所 | 电子控制装置以及在电子控制装置中写入备份数据的方法 |
CN102446158A (zh) * | 2010-10-12 | 2012-05-09 | 无锡江南计算技术研究所 | 多核处理器及多核处理器组 |
CN102461264A (zh) * | 2009-06-19 | 2012-05-16 | 德克萨斯系统大学董事会 | 可缩放的基于总线的片上互连网络 |
CN103310848A (zh) * | 2012-03-08 | 2013-09-18 | 鼎桥通信技术有限公司 | 一种使用存储器的方法和装置 |
CN103902228A (zh) * | 2012-12-27 | 2014-07-02 | 航天信息股份有限公司 | 一种变长数据存取方法 |
CN107017029A (zh) * | 2016-01-08 | 2017-08-04 | 三星电子株式会社 | 半导体存储设备以及包括其的存储系统 |
CN107145306A (zh) * | 2017-04-27 | 2017-09-08 | 杭州哲信信息技术有限公司 | 分布式数据存储方法及系统 |
CN108170366A (zh) * | 2016-12-06 | 2018-06-15 | 华为技术有限公司 | 存储设备中的存储介质管理方法、装置和存储设备 |
-
2018
- 2018-09-29 CN CN201811143995.1A patent/CN109117417B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091208A2 (en) * | 2001-05-07 | 2002-11-14 | Sun Microsystems, Inc. | Fault-tolerant, self-healing routing scheme for a multi-path interconnection fabric in a storage network |
CN101174464A (zh) * | 2006-11-02 | 2008-05-07 | 株式会社日立制作所 | 电子控制装置以及在电子控制装置中写入备份数据的方法 |
CN102461264A (zh) * | 2009-06-19 | 2012-05-16 | 德克萨斯系统大学董事会 | 可缩放的基于总线的片上互连网络 |
CN102446158A (zh) * | 2010-10-12 | 2012-05-09 | 无锡江南计算技术研究所 | 多核处理器及多核处理器组 |
CN103310848A (zh) * | 2012-03-08 | 2013-09-18 | 鼎桥通信技术有限公司 | 一种使用存储器的方法和装置 |
CN103902228A (zh) * | 2012-12-27 | 2014-07-02 | 航天信息股份有限公司 | 一种变长数据存取方法 |
CN107017029A (zh) * | 2016-01-08 | 2017-08-04 | 三星电子株式会社 | 半导体存储设备以及包括其的存储系统 |
CN108170366A (zh) * | 2016-12-06 | 2018-06-15 | 华为技术有限公司 | 存储设备中的存储介质管理方法、装置和存储设备 |
CN107145306A (zh) * | 2017-04-27 | 2017-09-08 | 杭州哲信信息技术有限公司 | 分布式数据存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109117417A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934669B2 (en) | Scaling out architecture for DRAM-based processing unit (DPU) | |
US10681136B2 (en) | Memory network methods, apparatus, and systems | |
US8933715B2 (en) | Configurable vertical integration | |
US11296705B2 (en) | Stacked programmable integrated circuitry with smart memory | |
CN106030553A (zh) | 存储器网络 | |
CN108139882B (zh) | 针对网络装置实施阶层分布式链接列表的系统及方法 | |
CN111488114A (zh) | 一种可重构的处理器架构及计算设备 | |
CN114880112A (zh) | 三类顶点度数感知的1.5维度图划分方法及应用 | |
CN105095110A (zh) | 可融合可重构缓存架构 | |
CN103365795A (zh) | 分布式重排序缓冲器 | |
CN104956349A (zh) | 将数据高速缓存在具有在不同分层次的层级处的存储器节点的存储器系统中 | |
CN109117417B (zh) | 计算芯片及其操作方法 | |
US9330006B2 (en) | System and method for managing correspondence between a cache memory and a main memory | |
US9940260B1 (en) | System and method for controlling optimized access to memory device having three-dimensional stacked structure | |
US11816025B2 (en) | Hardware acceleration | |
CN114880272A (zh) | 全局高度数顶点集合通信的优化方法及应用 | |
US20020032838A1 (en) | Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device | |
CN109376117B (zh) | 计算芯片及其操作方法 | |
US11861190B2 (en) | Memory allocation and reallocation for memory access instructions and data using intermediate processor | |
CN113285880B (zh) | 多播路由方法、互连设备、网状网络系统及其配置方法 | |
CN111158636B (zh) | 可重构计算结构及计算处理阵列的路由寻址方法、装置 | |
CN118132230A (zh) | 众核架构下的神经形态芯片的数据拆分处理方法和处理器 | |
JP2552287B2 (ja) | システムバス方式 | |
JP2000228501A (ja) | 半導体メモリ装置 | |
JPS6075947A (ja) | メモリ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |