CN109376117B - 计算芯片及其操作方法 - Google Patents

计算芯片及其操作方法 Download PDF

Info

Publication number
CN109376117B
CN109376117B CN201811144018.3A CN201811144018A CN109376117B CN 109376117 B CN109376117 B CN 109376117B CN 201811144018 A CN201811144018 A CN 201811144018A CN 109376117 B CN109376117 B CN 109376117B
Authority
CN
China
Prior art keywords
data
computing
computing node
node
circuit
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
Application number
CN201811144018.3A
Other languages
English (en)
Other versions
CN109376117A (zh
Inventor
李楠
杨作兴
范志军
郭海丰
陈默
张宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen MicroBT Electronics Technology Co Ltd
Original Assignee
Shenzhen MicroBT Electronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen MicroBT Electronics Technology Co Ltd filed Critical Shenzhen MicroBT Electronics Technology Co Ltd
Priority to CN201811144018.3A priority Critical patent/CN109376117B/zh
Publication of CN109376117A publication Critical patent/CN109376117A/zh
Application granted granted Critical
Publication of CN109376117B publication Critical patent/CN109376117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本公开涉及计算芯片及其操作方法。提供有一种计算芯片,包括多个计算节点,每个计算节点包括:控制电路,用于控制该计算节点的操作;运算电路,连接到控制电路,从控制电路接收数据并基于该数据进行运算;以及路由电路,连接到控制电路并连接到相邻的计算节点的路由电路,能够与控制电路进行数据交互并与相邻的计算节点的路由电路进行数据交互。每个计算节点与至少一个其他计算节点相邻,并且每个计算节点的路由电路与相邻计算节点的路由电路之间直接连接。每个计算节点的路由电路与任何一个不相邻的计算节点的路由电路之间,通过二者之间的计算节点路径中的计算节点的路由电路而间接连接。每个计算节点能够与任何一个其他计算节点进行数据交互。

Description

计算芯片及其操作方法
技术领域
本公开总体而言涉及集成电路领域,具体而言,涉及计算芯片及其操作方法。
背景技术
随着计算需求的增加,人们对于硬件的计算能力提出了越来越高的要求,并行计算也随之应运而生。为了实现并行计算,现有的计算芯片常采用多核互联的内部架构。但由于用于计算或存储的硬件资源通常采用集中式的设计架构,计算芯片的多个核对资源的使用或访问会是竞争性的,这极大地限制了计算的效率。
因此,存在对于具有新颖的架构的计算芯片及其操作方法的需求。
发明内容
本公开的一个目的是提供一种新颖的计算芯片及其操作方法。
根据本公开的第一方面,提供了一种计算芯片,所述计算芯片包括多个计算节点,每个计算节点包括:控制电路,其用于控制该计算节点的操作;运算电路,其连接到所述控制电路,所述运算电路从所述控制电路接收数据,并基于该数据进行运算;以及路由电路,其连接到所述控制电路并连接到相邻的计算节点的路由电路,所述路由电路能够与控制电路进行数据交互,并且能够与相邻的计算节点的路由电路进行数据交互。其中,每个计算节点与至少一个其他计算节点相邻,并且每个计算节点的路由电路与相邻计算节点的路由电路之间直接连接。其中,每个计算节点的路由电路与任何一个不相邻的计算节点的路由电路之间,通过二者之间的计算节点路径中的计算节点的路由电路而间接连接。并且其中,每个计算节点能够与任何一个其他计算节点进行数据交互。
根据本公开的另一个方面,提供了一种用于如前所述的计算芯片的操作方法,该操作方法包括通过每个计算节点的运算电路执行如下操作:从所述控制电路接收数据,根据同一算法基于各自的数据进行运算,以及将运算的结果提供给所述控制电路。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1例示了一种现有的计算芯片。
图2例示了根据本公开的示例性实施例的计算芯片中的三个计算节点的示意图。
图3例示了图2中的控制电路120的可能的实现方式。
图4例示了图2中的路由电路140的可能的实施方式。
图5A例示了图2中的两个相邻计算节点之间的数据交互操作。
图5B例示了图2中的两个不相邻的计算节点之间的数据交互操作。
图6例示了根据本公开的示例性实施例的包括以点阵形式排列的多个计算节点的计算芯片。
图7示出了图6所示的计算芯片的一个具体实施例。
图8例示了图6中所示的计算芯片的变型例。
图9例示了图6中所示的计算芯片的变型例。
图10例示了根据本公开的另一个示例性实施例的包括以点阵形式排列的多个计算节点的计算芯片。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,所公开的发明并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
图1例示了一种现有的计算芯片10。如图1所示,多个CPU(中央处理器)12连接到同一总线14并通过总线14进行彼此之间的数据交互。多个CPU 12还可以通过总线14连接到存储器16并访问存储器16中的数据。由于多个CPU 12之间以及CPU 12与存储器16之间的数据交互都需要通过总线14来完成,多个数据交互需求可能同时发生,而这会对总线14的占用权限以及存储器16的访问权限产生竞争性的需求,从而降低并行计算架构的效率。
对此,本申请的发明人希望提出具有全新架构的计算芯片及其操作方法,以实现更高的计算效率。
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的计算芯片及其操作方法是以示例性的方式示出,来说明本公开中的装置或方法的不同实施例,而并非意图限制。本领域的技术人员将会理解,它们仅仅说明可以用来实施本发明的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
图2示出了根据本公开的示例性实施例的计算芯片中的三个计算节点的示意图。
根据本公开的示例性实施例的计算芯片100包括多个计算节点,为了简化示意,图2中仅示意性地例示了所述多个计算节点中的三个计算节点110A、110B和110C。本领域的技术人员将理解,图2中示出的计算节点的数量和排列方式仅用作例示,而不意图构成限制,根据本公开的计算芯片100可以包括以任意方式排列的任意数量的计算节点。
如图2所示,所述多个计算节点中的每个计算节点可以包括:控制电路120,其用于控制本计算节点的操作;运算电路130,其连接到本计算节点中的控制电路120,并且能够从控制电路120接收数据并基于该数据进行运算;以及,路由电路140,其连接到本计算节点中的控制电路120,并且能够与控制电路120进行数据交互。
继续参考图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”)中的计算节点的路由电路的间接连接来实现。
在一些实施例中,每个计算节点可以具有不同的坐标,以用于对多个计算节点进行标识和区分。每个计算节点的坐标还能够根据需要被重新配置。
在一些实施例中,每个计算节点的路由电路能够根据坐标来寻址目标计算节点。寻址的实现方式有多种。在一些实施例中,寻址的实现方式如下:当计算节点的路由电路接收到包含目标计算节点的坐标的指令时,可以基于该目标计算节点的坐标进行适当的操作以使得该指令被发送到目标计算节点。
如图2所示,每个计算节点中的运算电路130还可以配置为:从本计算节点的控制电路120接收数据,根据同一算法基于各自的数据进行运算,以及将运算的结果提供给本计算节点的控制电路120。
继续参考图2,每个计算节点还可以包括易失性存储器160。易失性存储器160可以连接到控制电路120,并且由控制电路120直接访问。在一些实施例中,易失性存储器160还可以可选择地连接到运算电路130(图中未示出),并相应地可以由运算电路130直接访问。
继续参考图2,计算芯片100还可以包括主控电路150。主控电路150可以连接到所述多个计算节点中的至少一部分计算节点,并且借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
在一些实施例中,主控电路150可以配置为将初始数据分配到每个计算节点。通过主控电路150分配给每个计算节点的初始数据可以具备如下特征:分配给每个计算节点的数据的数据量相同,但数据内容不同。
在一些实施例中,通过主控电路150分配到每个计算节点的初始数据可以存储在该计算节点的易失性存储器160中。每个计算节点的坐标可以与该计算节点的易失性存储器160中所存储的数据相关联。每个计算节点的易失性存储器160中所存储的数据可以通过地址或查找表来索引。
图3示出了图2中的控制电路120的可能的实现方式。如图3所示,每个计算节点中的控制电路120可以包括地址解析电路122。地址解析电路122可以配置为基于本计算节点的运算电路130的运算结果,确定用于运算电路130的下一次计算的数据所在的计算节点的坐标,即目标计算节点的坐标。基于此,计算节点可以通过地址解析电路122确定目标计算节点的坐标,并向该目标计算节点发出数据读取请求。
回到图2,根据本公开的计算芯片100可以通过多个计算节点完成复杂的运算。在一些实施例中,凭借高度重复的并行计算结构,计算芯片100可以配置用于实现包含多次循环运算的算法,并且实现较高的运算效率。
在一个实施例中,每个计算节点可以通过该计算节点中的控制电路和运算电路基于同一算法进行多次循环运算,并将运算结果返回。在每一次循环运算中,运算电路可以基于本计算节点中的控制电路指定的数据进行运算,并将单次循环运算结果返回该控制电路;控制电路可以基于单次循环运算结果,通过地址解析电路和路由电路从本计算节点或其它计算节点的易失性存储器获取用于下一次循环运算的数据。此外,每个计算节点还可以配置为,在控制电路控制本计算单元中的运算电路基于同一算法进行循环运算达预定次数以后,自动停止运算并向主控电路返回运算结果。
在另一个实施例中,每个计算节点可以通过该计算节点中的控制电路和运算电路基于同一算法进行多次循环运算,并将运算结果返回。在多次循环运算中的第一次循环运算中:运算电路可以基于分配到本计算节点的初始数据进行运算,并将第一次循环运算的结果写入本计算节点中的易失性存储器;在多次循环运算中的除第一次循环运算以外的每一次循环运算中:运算电路可以基于易失性存储器中所存储的上一次循环运算的结果进行本次循环运算,并将本次循环运算的结果存储到易失性存储器中。此外,每个计算节点还可以配置为,在控制电路控制本计算单元中的运算电路基于同一算法进行循环运算达预定次数以后,自动停止运算并向主控电路返回运算结果。
在一些实施例中,计算芯片100可以配置用于实现相关的算法。凭借各自具备独立计算能力的多个计算节点及其间的网状互连,计算芯片100可以用较高的运算速度和运算效率实现相关的算法。例如,在某些算法中,需要基于不同的初始值进行多次循环运算,在通过本公开的计算芯片100实现这些算法时,可以将不同的初始值分配给各个计算节点,然后通过各个计算节点进行多次循环运算,从而高效地实现算法。
在一个实施例中,计算芯片100的各计算节点可以被配置用于进行以下算法操作:获取用于计算的初始数据;基于初始数据根据预定算法计算种子数据;根据种子数据计算掺杂值;根据该掺杂值进行中间循环计算处理,其中中间循环计算处理包括根据中间计算数据更新掺杂值;基于种子和更新的掺杂值根据预定算法进行计算,以得到结果数据。其中,根据种子数据计算所得的掺杂值是第1掺杂值。
更进一步,中间循环计算处理包括:基于i掺杂值计算第j索引;根据第j索引获得对应的第j数据;基于所获得的第j数据计算第j中间数据;基于第j中间数据计算j+1索引;当j满足预定条件时,以第j中间数据更新掺杂值,从而得到第i+1掺杂值,当i满足预定条件时,以第i+1掺杂值作为更新的掺杂值,其中i为大于等于1的自然数,j为大于等于1且不大于i的自然数。
初始数据可以至少包括:计算数、偏移值。计算芯片100还可以配置为根据比较的结果更新偏移值,以及基于更新的偏移值执行计算操作。计算芯片100还可以被配置用于基于结果数据进行判决。
在一些实施例中,计算芯片100可以配置用于实现与人工智能、图像处理相关的算法。
例如,在一个实施例中,计算芯片100的各计算节点被配置用于进行以下算法操作:获取用于计算的初始数据和对应的X组系数,每组系数包括S个系数;基于初始数据和第1组的S个系数中每一个根据预定算法循环执行S次,得到对应的第1组S个特征数据;基于第1组S个特征数据,根据预定函数,获得第1结果数据;根据第1结果数据和第i组系数的S个系数中的每一个根据预定算法循环执行S次,得到对应的第i组S个特征数据;以及基于第1组S个特征数据,根据预定函数,获得第i结果数据,其中X和S是自然数,i是大于1且小于等于X的自然数。其中,初始数据至少包括多个像素的像素数据,系数包括卷积滤波器系数。
图4示出了图2中的路由电路140的可能的实施方式。如图4所示,路由电路140可以包括路由逻辑142以及一个或多个外接接口144,所述一个或多个外界接口144用于连接到本计算节点中的控制电路120或者其他计算节点的路由电路。
在一些实施例中,计算节点的路由电路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。
图5A例示了图2中的两个相邻计算节点110A和110B之间的数据交互操作。
假设计算节点110A想要从与其相邻的计算节点110B读取数据,如图5A所示,计算节点110A可以配置为:通过计算节点110A的控制电路生成数据读取请求并发送到计算节点110A的路由电路,接着通过计算节点110A的路由电路向计算节点110B的路由电路发送数据读取请求。在该数据读取请求中,目标计算节点为计算节点110B。
计算节点110B可以配置为:响应于计算节点110B的路由电路接收到数据读取请求,判断该请求是否针对计算节点110B;如果是,则通过计算节点110B的路由电路将该请求传输到计算节点110B的控制电路;如果否,则通过计算节点110B的路由电路向与其相邻的一个或多个计算节点转发该数据读取请求。如前所述,该数据读取请求的目标计算节点为计算节点110B,因此该数据读取请求会被计算节点110B的路由电路转发到其控制电路。
计算节点110B可以进而配置为:计算节点110B的控制电路响应于接收到数据读取请求而进行数据检索、生成包括所检索到的数据的数据返回应答并通过计算节点110B的路由电路向计算节点110A的路由电路发送数据返回应答。在该数据返回应答中,目标计算节点为计算节点110A。
相应地,计算节点110A还可以配置为:响应于计算节点110A的路由电路接收到数据返回应答,判断该应答是否针对计算节点110A;如果是,则通过计算节点110A的路由电路将该应答传输到计算节点110A的控制电路;如果否,则通过计算节点110A的路由电路向与其相邻的一个或多个计算节点的路由电路转发该数据返回应答。如前所述,该数据返回应答的目标计算节点为计算节点110A,因此该数据操作请求会被计算节点110A的路由电路转发到其控制电路。而后,计算节点110A的控制电路可以对该数据返回应答进行解析。
应当理解的是,图5A所示的两个相邻计算节点110A和110B之间的数据交互操作仅用于例示数据交互操作的一种可能的实现方式,而并非意图构成限制。
图5B例示了图2中的两个不相邻的计算节点110A和110C之间的数据交互操作。
假设计算节点110A想要从不相邻的计算节点110C读取数据,如图5B所示,计算节点110A可以配置为:响应于计算节点110A的控制电路的控制,通过计算节点110A的路由电路向优化路径中与其相邻的计算节点110B的路由电路发送数据读取请求。在该数据读取请求中,目标计算节点为计算节点110C。
计算节点110B可以配置为:响应于计算节点110B的路由电路接收到数据读取请求,判断该请求是否针对计算节点110B;如果是,则通过计算节点110B的路由电路将该请求传输到计算节点110B的控制电路;如果否,则通过计算节点110B的路由电路向优化路径中与其相邻的计算节点转发该数据读取请求。如前所述,该数据操作请求的目标计算节点为计算节点110C,因此该数据操作请求会被计算节点110B的路由电路转发到在通向目标计算节点110C的优化路径中与其相邻的下一个计算节点。在本示例中,由于计算节点110B与目标计算节点110C相邻,因此计算节点110B的路由电路将数据操作请求转发到目标计算节点110C。
计算节点110C可以配置为:响应于计算节点110C的路由电路接收到数据读取请求,判断该请求是否针对计算节点110C;如果是,则通过计算节点110C的路由电路将该请求传输到计算节点110C的控制电路;如果否,则通过计算节点110C的路由电路向优化路径中与其相邻的一个或多个计算节点转发该数据读取请求。如前所述,该数据操作请求的目标计算节点为计算节点110C,因此该数据操作请求会被计算节点110C的路由电路转发到其控制电路。
计算节点110C进而可以配置为:计算节点110C的控制电路响应于接收到数据读取请求而进行数据检索、生成包括所检索到的数据的数据返回应答并通过计算节点110C的路由电路向计算节点110B的路由电路发送数据返回应答。在该数据返回应答中,目标计算节点为计算节点110A。与转发数据读取请求类似的,计算节点110B的路由电路进行判断,然后将数据返回应答转发到计算节点110A的路由电路。
相应地,计算节点110A还可以配置为:响应于计算节点110A的路由电路接收到数据返回应答,判断该应答是否针对计算节点110A;如果是,则通过计算节点110A的路由电路将该应答传输到计算节点110A的控制电路;如果否,则通过计算节点110A的路由电路向优化路径中与其相邻的一个或多个计算节点转发该数据返回应答。如前所述,该数据返回应答的目标计算节点为计算节点110A,因此该数据操作请求会被计算节点110A的路由电路转发到其控制电路。
图5B中示出的数据交互操作是基于图2中的不相邻的计算节点110A和110C描述的。本领域技术人员将理解,上述数据交互操作并不意图构成限制。
在根据本公开的实施例的计算芯片100中,两个不相邻的计算节点之间可能存在多条优化路径,并且每条优化路径中可能包括多个计算节点。例如,根据本公开的计算芯片的多个计算节点可以包括第1计算节点和与之不相邻的第N计算节点,其中第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,第N计算节点包括第N路由电路、第N控制电路以及第N运算电路。所述多个计算节点还包括在第1计算节点到第N计算节点的优化路径中的(N-2)个计算节点,其中N是大于2的自然数,并且其中第k个计算节点包括第k路由电路,其中k为2、3、…、N-1。
第1计算节点与第N计算节点之间的数据交互操作的一种可能的实现方式如下所述。第1路由电路可以配置为:响应于第1控制电路的控制,向在优化路径中的与之相邻的第2计算节点的路由电路发送针对数据的数据读取请求。第k计算节点可以被配置为:响应于接收到数据读取请求,其路由电路向在优化路径中与其相邻的第(k+1)个中间计算节点转发该数据读取请求。第N计算节点被配置为:响应于第N控制电路接收到数据读取请求,进行数据检索,以及,生成包括检索到的数据的数据返回应答,并通过第N路由电路向第N-1个计算节点的路由电路发送数据返回应答。第k计算节点还可以配置为:响应于接收到数据返回应答,其路由电路向与其相邻的第(k-1)个中间计算节点转发该数据返回应答。
在一些实施例中,根据本公开的示例性实施例的计算芯片可以是单片集成电路或者封装的单片集成电路。
如前所述,根据本公开的实施例的计算芯片100包括多个计算节点。在一些实施例中,所述多个计算节点可以以点阵形式排列。
图6例示了根据本公开的实施例的包括以点阵形式排列的多个计算节点的计算芯片200A。图6中所示的计算芯片200A是图2中所示的计算芯片的100的一种可能的实现方式,可以认为图2中所示的三个计算节点是图6中所示的多个计算节点的一部分。因此,前文中对于图2的相关描述也适用于图6中的计算芯片200A。
如图6所示,计算芯片200A的多个计算节点以点阵形式排列,该点阵可以采用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列的计算节点的路由电路直接连接。
如图6中所示,在包括以矩阵形式排列的多个计算节点的计算芯片200A中,不相邻的计算节点之间存在多条优化路径。为了例示可能的优化路径,图7示出了图6所示的计算芯片200A的一个具体实施例。如图7所示,计算节点以3*3的矩阵形式排列,不相邻的计算节点(1,1)与计算节点(3,3)之间存在多条优化路径,包括例如:计算节点(1,1)-计算节点(1,2)-计算节点(1,3)-计算节点(2,3)-计算节点(3,3);计算节点(1,1)-计算节点(2,1)-计算节点(3,1)-计算节点(3,2)-计算节点(3,3);以及计算节点(1,1)-计算节点(2,1)-计算节点(2,2)-计算节点(3,2)-计算节点(3,3),等等。
图8例示了图6中所示的计算芯片的变型例。图8中所示的计算芯片200B与图6中所示的计算芯片200A的区别仅在于,多个计算节点之间的连接关系不同。
参见图8,除了图6中所示的连接关系以外,在矩阵的第i行第j列的计算节点的路由电路还与在矩阵的第i-1行第j-1列的计算节点以及第i+1行第j+1列的计算节点的路由电路直接连接。其中,i为2、3…M-1,并且j为2、3…N-1在一些实施例中,如图8所示,在矩阵的第i行第j列的计算节点的路由电路还可以与在矩阵的第i-1行第j+1列的计算节点以及第i+1行第j-1列的计算节点的路由电路直接连接。
如前文中参照图2所述,根据本公开的实施例的计算芯片可以包括主控电路150。在如图7中或图8中所示计算芯片包括主控电路的情况下,该主控电路可以连接到位于矩阵边缘的行或列的计算节点。在一些实施例中,位于矩阵边缘的行或列的计算节点可以将来自主控电路的数据转发到同一列或行同一中的对应的目标计算节点。
图9例示了图6中所示的计算芯片的变型例。参见图9,在计算芯片200C中,多个计算节点以矩阵形式排列。在矩阵的每个奇数列上,位于两个相邻的行中的两个计算节点直接连接。在矩阵的每个偶数列上,位于相邻的两个奇数行中的两个计算节点直接连接,并且位于相邻的两个偶数行中的两个计算节点直接连接。此外,在矩阵的每一行中,位于相邻的两列中的两个计算节点直接连接。
图9例示了在根据本公开的实施例的计算芯片中的多个计算节点的另一种可能的连接方式。由图9的计算芯片结构可知,两个计算节点也可以跨越其他计算节点而直接连接。
图10例示了根据本公开的另一个示例性实施例的包括以点阵形式排列的多个计算节点的计算芯片。图10中所示的计算芯片300是图2中所示的计算芯片的100的一种可能的实现方式,可以认为图2中所示的三个计算节点是图10中所示的多个计算节点的一部分。因此,前文中对于图2中的计算芯片100的描述,也适用于图10中的计算芯片300。
如图10所示,计算芯片300的多个计算节点以点阵形式排列,该点阵包括N列,并且每列包括M个计算节点。例如,M和N都可以为4。图10中所示的点阵中的计算节点的坐标可以按照其位置设置为(x,y),其中x为所在的行(x为小于或等于M的正整数),y为所在的列(y为小于或等于N的正整数)。如图10中所示,在计算芯片300中,第j列的计算节点布置成相对于j-1列的计算节点向下错位半个计算节点,j为小于或等于N的偶数。
继续参考图10,以点阵形式排列的计算节点的点阵可以采用如下连接方式:在矩阵的第i行第j列的计算节点的路由电路与在矩阵的第i-1行第j列的计算节点、第i+1行第j列的计算节点、第i-1行第j-1列的计算节点、第i行第j-1列的计算节点、第i-1行第j+1列的计算节点以及第i行第j+1列的计算节点直接连接,其中i为2、3…M-1,并且j为2、3…N-1;在矩阵的第1行第j列的计算节点的路由电路与在矩阵的第1行第j-1列的计算节点的路由电路直接连接,并且与在矩阵的第1行第j+1列的计算节点的路由电路直接连接;以及在矩阵的第M行第j列的计算节点的路由电路与在矩阵的第M行第j-1列的计算节点的路由电路直接连接,并且与在矩阵的第M行第j+1列的计算节点的路由电路直接连接。
在根据本公开的实施例的计算芯片100、200A、200B、200C和300中中,每个计算节点各自具有控制电路和运算电路,并且可以各自独立地基于预定算法进行运算,这极大地提高了计算芯片的运算速度和运行效率。进一步的,多个计算节点通过各自的路由电路以网状关系互连,在确保任意两个计算节点能够进行数据交互的同时,有效减少了可能的访问冲突,从而提高了并行式计算芯片的性能。此外,存储资源可以以易失性存储器的形式分布在各个计算节点中。通过前述的各个计算节点之间的网状互连,任意一个计算节点都可以方便地访问任意另一个计算节点的存储器,这种访问模式避免了集中式访问资源带来的访问冲突,极大地提高了对存储器的访问效率。并且,在各个计算节点的易失性存储器中的数据被访问的几率均等的情况下,访问效率可以达到性能最优。
接下来描述根据本公开的示例性实施例的用于计算芯片的操作方法。
用于计算芯片的操作方法包括:通过每个计算节点的运算电路执行如下操作:从所述控制电路接收数据,根据同一算法基于各自的数据进行运算,以及将运算的结果提供给所述控制电路。
在一些实施例中,用于计算芯片的操作方法还可以包括:为每个计算节点分配不同的坐标,并且坐标能够被重新配置。每个计算节点的路由电路能够根据坐标来寻址目标计算节点。
在一些实施例中,每个计算节点还可以包括:易失性存储器,该易失性存储器连接到控制电路,并且控制电路能够直接访问易失性存储器。
在一些实施例中,计算芯片还可以包括:主控电路,主控电路连接到多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
在一些实施例中,用于计算芯片的操作方法还可以包括:通过主控电路将初始数据分配到每个计算节点。并且,还可以包括:为每个计算节点分配数据量相同但数据内容不同的初始数据。
在一些实施例中,用于计算芯片的操作方法还可以包括:将分配到每个计算节点的初始数据存储在该计算节点的易失性存储器中,以及将每个计算节点的坐标与该计算节点的易失性存储器中所存储的数据相关联。其中,每个计算节点的易失性存储器中所存储的数据可以通过地址或查找表来索引。
在一些实施例中,每个计算节点中的控制电路可以包括地址解析电路,其配置为基于本计算节点的运算电路的运算结果,确定用于该运算电路的下一次计算的数据所在的计算节点的坐标。基于此,用于计算芯片的操作方法还可以包括:通过每个计算节点中的地址解析电路确定目标计算节点的坐标,并向该目标计算节点发出数据读取请求。
在一些实施例中,用于计算芯片的操作方法还可以包括:通过每个计算节点执行如下操作:基于同一算法进行多次循环运算,以及将运算结果提返回。所用于计算芯片的操作方法还可以包括,通过每个计算节点执行如下操作:在控制电路控制运算电路基于同一算法进行循环运算达预定次数以后,自动停止运算并向主控电路返回运算结果。在一个实施例中,在多次循环运算中的每一次循环运算中:运算电路基于控制电路指定的数据进行运算,并将单次循环运算结果返回控制电路;以及控制电路基于单次循环运算结果,通过地址解析电路和路由电路从本计算节点或其它计算节点的易失性存储器获取用于下一次循环运算的数据。在另一个实施例中,在多次循环运算中的第一次循环运算中:运算电路基于分配到本计算节点的初始数据进行运算,并将第一次循环运算的结果写入本计算节点中的易失性存储器;在多次循环运算中的除第一次循环运算以外的每一次循环运算中:运算电路基于易失性存储器中所存储的上一次循环运算的结果,进行本次循环运算,将本次循环运算的结果存储到易失性存储器中。
在一些实施例中,计算芯片的操作方法可以包括通过计算芯片实现相关的算法。
例如,在一个实施例中,用于计算芯片的操作方法还可以包括,通过各计算节点进行以下计算操作:获取用于计算的初始数据;基于所述初始数据根据预定算法计算种子数据;根据所述种子数据计算掺杂值;根据所述掺杂值进行中间循环计算处理,所述中间循环计算处理包括根据中间计算数据更新所述掺杂值;基于所述种子和更新的掺杂值根据所述预定算法进行计算,以得到结果数据。其中,根据所述种子数据计算所得的掺杂值是第1掺杂值。
更进一步,中间循环计算处理可以包括:基于所述i掺杂值计算第j索引;根据第j索引获得对应的第j数据;基于所获得的第j数据计算第j中间数据;基于所述第j中间数据计算j+1索引;当j满足预定条件时,以第j中间数据更新所述掺杂值,从而得到第i+1掺杂值,当i满足预定条件时,以第i+1掺杂值作为所述更新的掺杂值,其中i为大于等于1的自然数,j为大于等于1且不大于i的自然数。其中,初始数据可以至少包括:计算数、偏移值。此外,用于计算芯片的操作方法还可以包括:根据比较的结果,更新所述偏移值;以及基于更新的偏移值执行计算操作。用于计算芯片的操作方法还可以包括:基于所述结果数据进行判决。
在一些实施例中,计算芯片的操作方法可以包括通过计算芯片实现与人工智能、图像处理相关的算法。
例如,在一个实施例中,用于计算芯片的操作方法还可以包括,通过各计算节点进行以下计算操作:获取用于计算的初始数据和对应的X组系数,每组系数包括S个系数;基于所述初始数据和第1组的S个系数中每一个根据预定算法循环执行S次,得到对应的第1组S个特征数据;基于所述第1组S个特征数据,根据预定函数,获得第1结果数据;根据所述第1结果数据和第i组系数的S个系数中的每一个根据预定算法循环执行S次,得到对应的第i组S个特征数据;以及基于所述第1组S个特征数据,根据预定函数,获得第i结果数据,其中X和S是自然数,i是大于1且小于等于X的自然数。其中,初始数据可以至少包括多个像素的像素数据,所述系数包括卷积滤波器系数。
在一些实施例中,在每个计算节点中,路由电路可以配置为:能够判断某个坐标是否代表该计算节点自身、是否代表直接连接的计算节点以及是否代表间接连接的计算节点。
在一些实施例中,用于计算芯片的操作方法还可以包括:通过每个计算节点中的控制电路执行如下操作:生成数据操作请求,并将该请求发送到该计算节点的路由电路。数据操作请求可以包括目标计算节点的坐标。数据操作请求包括数据读取请求和数据返回应答中的一个。数据读取请求可以包括:发出数据读取请求的计算节点的坐标、目标计算节点的坐标以及与所要读取的数据相关的信息。数据返回应答可以包括:目标计算节点的坐标,所要返回的数据以及与所要返回的数据相关的信息。
在一些实施例中,用于计算芯片的操作方法还可以包括通过每个计算节点中的路由电路执行如下操作:从控制电路接收数据操作请求,当目标计算节点为相邻计算节点时,将数据操作请求转发到相邻计算节点的路由电路,以及当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
在一些实施例中,用于计算芯片的操作方法还可以包括:通过每个计算节点中的路由电路执行如下操作:从相邻计算节点的路由电路接收数据操作请求,当目标计算节点为本计算节点时,将数据操作请求发送到本计算节点的控制电路;当目标计算节点为相邻计算节点时,将数据操作请求发送到相邻计算节点的路由电路,以及当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
在一些实施例中,用于计算芯片的操作方法还可以包括:通过每个计算节点中的控制电路执行如下操作:当从本计算节点的路由电路接收到数据读取请求时,检索数据并生成相应的数据返回应答,以及当从本计算节点的路由电路接收到数据返回应答时,将数据发送到运算电路。
在一些实施例中,计算芯片的多个计算节点包括第1计算节点和与之相邻的第2计算节点,第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,第2计算节点包括第2路由电路、第2控制电路以及第2运算电路。在这种情况下,所述操作方法还可以包括如下步骤:
1)通过第1计算节点执行如下操作:响应于第1控制电路的控制,通过第1路由电路向第2路由电路发送数据读取请求;
2)通过第2计算节点执行如下操作:响应于第2路由电路接收到数据读取请求,判断该请求是否针对第2计算节点;如果是,则通过第2路由电路将该请求传输到第2控制电路;如果否,则通过第2路由电路向与其相邻的一个或多个计算节点转发该数据读取请求;
3)通过第2计算节点执行如下操作:响应于第2控制电路接收到数据读取请求,进行数据检索,以及生成包括所检索到的数据的数据返回应答,并通过第2路由电路向第1路由电路发送数据返回应答;以及
4)通过第1控制电路执行如下操作:响应于第1路由电路接收到数据返回应答,判断该应答是否针对第1计算节点;如果是,则通过第1路由电路将该应答传输到第1控制电路;如果否,则通过第1路由电路向与其相邻的一个或多个计算节点转发该数据返回应答。
在一些实施例中,所述多个计算节点还可以包括:第1计算节点和与之不相邻的第N计算节点,其中第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,第N计算节点包括第N路由电路、第N控制电路以及第N运算电路;以及在第1计算节点到第N计算节点的优化路径中的(N-2)个计算节点,其中N是大于2的自然数,并且其中第k个计算节点包括第k路由电路,其中k为2、3、…、N-1。在这种情况下,所述操作方法还可以包括如下步骤:
1)通过第1路由电路执行如下操作:响应于第1控制电路的控制,向在优化路径中的与之相邻的第2计算节点的路由电路发送针对数据的数据读取请求;
2)通过第k计算节点执行如下操作:响应于接收到数据读取请求,其路由电路向在优化路径与其相邻的第(k+1)个中间计算节点转发该数据读取请求;
3)通过第N计算节点执行如下操作:响应于第N控制电路接收到数据读取请求,进行数据检索,以及,生成包括检索到的数据的数据返回应答,并通过第N路由电路向第N-1个计算节点的路由电路发送数据返回应答;以及
4)通过第k计算节点执行如下操作:响应于接收到数据返回应答,其路由电路向与其相邻的第(k-1)个中间计算节点转发该数据返回应答。
在一些实施例中,计算芯片的多个计算节点可以以点阵形式排列。其中点阵可以为M行N列的矩阵形式。
在一个实施例中,计算芯片的多个计算节点以M行N列的矩阵形式排列。在矩阵的第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列的计算节点的路由电路直接连接。在一个实施例中,在矩阵的第i行第j列的计算节点的路由电路与在矩阵的第i-1行第j-1列的计算节点以及第i+1行第j+1列的计算节点的路由电路直接连接。在一些实施例中,在矩阵的第i行第j列的计算节点的路由电路还与在矩阵的第i-1行第j+1列的计算节点以及第i+1行第j-1列的计算节点的路由电路直接连接。
在一些实施例中,计算芯片的多个计算节点可以以点阵形式排列。点阵包括N列,并且每列包括M个计算节点,其中,第j列的计算节点布置成相对于j-1列的计算节点向下错位半个计算节点,j为小于或等于N的偶数。其中,在矩阵的第i行第j列的计算节点的路由电路与在矩阵的第i-1行第j列的计算节点、第i+1行第j列的计算节点、第i-1行第j-1列的计算节点、第i行第j-1列的计算节点、第i-1行第j+1列的计算节点以及第i行第j+1列的计算节点直接连接,其中i为2、3…M-1,并且j为2、3…N-1;在矩阵的第1行第j列的计算节点的路由电路与在矩阵的第1行第j-1列的计算节点的路由电路直接连接,并且与在矩阵的第1行第j+1列的计算节点的路由电路直接连接;以及在矩阵的第M行第j列的计算节点的路由电路与在矩阵的第M行第j-1列的计算节点的路由电路直接连接,并且与在矩阵的第M行第j+1列的计算节点的路由电路直接连接。
在一些实施例中,当计算芯片包括主控电路且所述多个计算节点以矩阵形式的点阵排列时,主控电路可以连接到位于所述矩阵边缘的行或列的计算节点,并将位于矩阵边缘的行或列的计算节点可以来自主控电路的数据数据转发到同一列或行中的对应的目标计算节点。
本公开的实施例还包括以下各项。
1、一种计算芯片,其特征在于,所述计算芯片包括多个计算节点,每个计算节点包括:控制电路,其用于控制该计算节点的操作;运算电路,其连接到所述控制电路,所述运算电路从所述控制电路接收数据,并基于该数据进行运算;以及路由电路,其连接到所述控制电路并连接到相邻的计算节点的路由电路,所述路由电路能够与控制电路进行数据交互,并且能够与相邻的计算节点的路由电路进行数据交互;其中,每个计算节点与至少一个其他计算节点相邻,并且每个计算节点的路由电路与相邻计算节点的路由电路之间直接连接;其中,每个计算节点的路由电路与任何一个不相邻的计算节点的路由电路之间,通过二者之间的计算节点路径中的计算节点的路由电路而间接连接;并且其中,每个计算节点能够与任何一个其他计算节点进行数据交互。
2、根据1所述的计算芯片,其特征在于,每个计算节点具有不同的坐标,所述坐标能够被重新配置。
3、根据2所述的计算芯片,其特征在于,每个计算节点的路由电路能够根据坐标来寻址目标计算节点。
4、根据3所述的计算芯片,其特征在于,在每个计算节点中,所述运算电路被配置为:从所述控制电路接收数据,根据同一算法基于各自的数据进行运算,以及将运算的结果提供给所述控制电路。
5、根据4所述的计算芯片,其特征在于,每个计算节点还包括:易失性存储器,该易失性存储器连接到所述控制电路,并且所述控制电路能够直接访问所述易失性存储器。
6、根据4所述的计算芯片,其特征在于,所述计算芯片还包括:主控电路,所述主控电路连接到所述多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
7、根据6所述的计算芯片,其特征在于,所述主控电路还配置为:将初始数据分配到每个计算节点。
8、根据7所述的计算芯片,其特征在于,分配给每个计算节点的初始数据的数据量是相同的,但数据内容是不同的。
9、根据7所述的计算芯片,其特征在于,每个计算节点还包括:易失性存储器,该易失性存储器连接到所述控制电路,并且所述控制电路能够直接访问该易失性存储器。
10、根据9所述的计算芯片,其特征在于,其中,分配到每个计算节点的初始数据存储在该计算节点的易失性存储器中,并且其中,每个计算节点的坐标与该计算节点的易失性存储器中所存储的数据相关联。
11、根据10所述的计算芯片,其特征在于,每个计算节点的易失性存储器中所存储的数据能够通过地址或查找表来索引。
12、根据10所述的计算芯片,其特征在于,在每个计算节点中,控制电路包括:地址解析电路,该地址解析电路配置为:基于本计算节点的运算电路的运算结果,确定用于该运算电路的下一次计算的数据所在的计算节点的坐标。
13、根据12所述的计算芯片,其特征在于,每个计算节点配置为:基于所述地址解析电路确定目标计算节点的坐标,并向该目标计算节点发出数据读取请求。
14、根据1所述的计算芯片,其特征在于,每个计算节点配置为:基于同一算法进行多次循环运算;以及将运算结果提返回。
15、根据14所述的计算芯片,其特征在于,在多次循环运算中的每一次循环运算中:所述运算电路基于所述控制电路指定的数据进行运算,并将单次循环运算结果返回所述控制电路;以及所述控制电路基于单次循环运算结果,通过所述地址解析电路和所述路由电路从本计算节点或其它计算节点的易失性存储器获取用于下一次循环运算的数据。
16、根据14所述的计算芯片,其特征在于,在多次循环运算中的第一次循环运算中:所述运算电路基于分配到本计算节点的初始数据进行运算,并将第一次循环运算的结果写入本计算节点中的易失性存储器;在多次循环运算中的除第一次循环运算以外的每一次循环运算中:所述运算电路基于易失性存储器中所存储的上一次循环运算的结果,进行本次循环运算,将本次循环运算的结果存储到易失性存储器中。
17、根据15或16所述的计算芯片,其特征在于,每个计算节点的控制电路配置为:在所述控制电路控制所述运算电路基于同一算法进行循环运算达预定次数以后,自动停止运算并向所述主控电路返回运算结果。
18、根据1所述的计算芯片,其特征在于,各计算节点被配置用于进行以下计算操作:获取用于计算的初始数据;基于所述初始数据根据预定算法计算种子数据;根据所述种子数据计算掺杂值;根据所述掺杂值进行中间循环计算处理,所述中间循环计算处理包括根据中间计算数据更新所述掺杂值;基于所述种子和更新的掺杂值根据所述预定算法进行计算,以得到结果数据。
19、根据18所述的计算芯片,其特征在于,根据所述种子数据计算所得的掺杂值是第1掺杂值,所述中间循环计算处理包括:基于所述i掺杂值计算第j索引;根据第j索引获得对应的第j数据;基于所获得的第j数据计算第j中间数据;基于所述第j中间数据计算j+1索引;当j满足预定条件时,以第j中间数据更新所述掺杂值,从而得到第i+1掺杂值,当i满足预定条件时,以第i+1掺杂值作为所述更新的掺杂值,其中i为大于等于1的自然数,j为大于等于1且不大于i的自然数。
20、根据18所述的计算芯片,其特征在于,其中所述初始数据至少包括:计算数、偏移值,所述计算芯片还配置为:根据比较的结果,更新所述偏移值;以及基于更新的偏移值执行所述计算操作。
21、根据20所述的计算芯片,其特征在于,所述计算芯片被配置用于:基于所述结果数据进行判决。
22、根据1所述的计算芯片,其特征在于,各计算节点被配置用于进行以下计算操作:获取用于计算的初始数据和对应的X组系数,每组系数包括S个系数;基于所述初始数据和第1组的S个系数中每一个根据预定算法循环执行S次,得到对应的第1组S个特征数据;基于所述第1组S个特征数据,根据预定函数,获得第1结果数据;根据所述第1结果数据和第i组系数的S个系数中的每一个根据预定算法循环执行S次,得到对应的第i组S个特征数据;以及基于所述第1组S个特征数据,根据预定函数,获得第i结果数据,其中X和S是自然数,i是大于1且小于等于X的自然数。
23、根据22所述的计算芯片,其特征在于,所述初始数据至少包括多个像素的像素数据,所述系数包括卷积滤波器系数。
24、根据4所述的计算芯片,其特征在于,在每个计算节点中,路由电路配置为:能够判断某个坐标是否代表该计算节点自身、是否代表直接连接的计算节点以及是否代表间接连接的计算节点。
25、根据24所述的计算芯片,其特征在于,在每个计算节点中,控制电路配置为:生成数据操作请求,并将该请求发送到该计算节点的路由电路,其中,所述数据操作请求至少包括目标计算节点的坐标。
26、根据25所述的计算芯片,其特征在于,在每个计算节点中,路由电路还配置为:从所述控制电路接收数据操作请求;当目标计算节点为相邻计算节点时,将数据操作请求转发到相邻计算节点的路由电路;以及当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
27、根据26所述的计算芯片,其特征在于,在每个计算节点中,路由电路还配置为:从相邻计算节点的路由电路接收数据操作请求;
当目标计算节点为本计算节点时,将数据操作请求发送到本计算节点的控制电路;当目标计算节点为相邻计算节点时,将数据操作请求发送到相邻计算节点的路由电路;以及当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
28、根据27所述的计算芯片,其特征在于,数据操作请求包括数据读取请求和数据返回应答中的一个,其中,数据读取请求至少包括:发出数据读取请求的计算节点的坐标、目标计算节点的坐标以及与所要读取的数据相关的信息;其中,数据返回应答至少包括:目标计算节点的坐标,所要返回的数据以及与所要返回的数据相关的信息。
29、根据28所述的计算芯片,其特征在于,在每个计算节点中,控制电路还配置为:当从本计算节点的路由电路接收到数据读取请求时,检索数据并生成相应的数据返回应答;以及当从本计算节点的路由电路接收到数据返回应答时,将数据发送到运算电路。
30、根据24所述的计算芯片,其特征在于,所述多个计算节点包括第1计算节点和与之相邻的第2计算节点,第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,所述第2计算节点包括第2路由电路、第2控制电路以及第2运算电路,所述第1计算节点被配置为:响应于第1控制电路的控制,通过第1路由电路向第2路由电路发送数据读取请求;所述第2计算节点被配置为:响应于第2路由电路接收到数据读取请求,判断该请求是否针对所述第2计算节点;如果是,则通过第2路由电路将该请求传输到第2控制电路;如果否,则通过第2路由电路向与其相邻的一个或多个计算节点转发该数据读取请求。
31、根据30所述的计算芯片,其特征在于,第2计算节点还配置为:响应于第2控制电路接收到数据读取请求,进行数据检索,以及生成包括所检索到的数据的数据返回应答,并通过第2路由电路向第1路由电路发送数据返回应答。
32、根据31所述的计算芯片,其特征在于,第1控制电路还配置为:响应于第1路由电路接收到数据返回应答,判断该应答是否针对所述第1计算节点;如果是,则通过第1路由电路将该应答传输到第1控制电路;如果否,则通过第1路由电路向与其相邻的一个或多个计算节点转发该数据返回应答。
33、根据24所述的计算芯片,其特征在于,所述多个计算节点包括第1计算节点和与之不相邻的第N计算节点,其中第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,所述第N计算节点包括第N路由电路、第N控制电路以及第N运算电路;并且所述多个计算节点还包括在所述第1计算节点到所述第N计算节点的优化路径中的(N-2)个计算节点,其中N是大于2的自然数,并且其中第k个计算节点包括第k路由电路,其中k为2、3、…、N-1;所述第1路由电路被配置为:响应于第1控制电路的控制,向在所述优化路径中的与之相邻的第2计算节点的路由电路发送针对数据的数据读取请求;第k计算节点被配置为:响应于接收到所述数据读取请求,其路由电路向在所述优化路径中与其相邻的第(k+1)个中间计算节点转发该数据读取请求;所述第N计算节点被配置为:响应于第N控制电路接收到数据读取请求,进行数据检索,以及,生成包括检索到的数据的数据返回应答,并通过第N路由电路向第N-1个计算节点的路由电路发送数据返回应答;第k计算节点还被配置为:响应于接收到数据返回应答,其路由电路向与其相邻的第(k-1)个中间计算节点转发该数据返回应答。
34、根据1-33中的任一项所述的计算芯片,其特征在于,所述多个计算节点以点阵形式排列。
35、根据34所述的计算芯片,其特征在于,所述点阵为M行N列的矩阵形式。
36、根据35所述的计算芯片,其特征在于,在矩阵的第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列的计算节点的路由电路直接连接。
37、根据36所述的计算芯片,其特征在于,在矩阵的第i行第j列的计算节点的路由电路与在矩阵的第i-1行第j-1列的计算节点以及第i+1行第j+1列的计算节点的路由电路直接连接。
38、根据32所述的计算芯片,其特征在于,在矩阵的第i行第j列的计算节点的路由电路还与在矩阵的第i-1行第j+1列的计算节点以及第i+1行第j-1列的计算节点的路由电路直接连接。
39、根据35所述的计算芯片,其特征在于,位于所述矩阵边缘的行或列的计算节点连接到所述主控电路,并将数据转发到同一列或行中的对应的目标计算节点。
40、根据34所述的计算芯片,其特征在于,所述点阵包括N列,并且每列包括M个计算节点,其中,第j列的计算节点布置成相对于j-1列的计算节点向下错位半个计算节点,j为小于或等于N的偶数。
41、40所述的计算芯片,其特征在于,在矩阵的第i行第j列的计算节点的路由电路与在矩阵的第i-1行第j列的计算节点、第i+1行第j列的计算节点、第i-1行第j-1列的计算节点、第i行第j-1列的计算节点、第i-1行第j+1列的计算节点以及第i行第j+1列的计算节点直接连接,其中i为2、3…M-1,并且j为2、3…N-1;在矩阵的第1行第j列的计算节点的路由电路与在矩阵的第1行第j-1列的计算节点的路由电路直接连接,并且与在矩阵的第1行第j+1列的计算节点的路由电路直接连接;以及在矩阵的第M行第j列的计算节点的路由电路与在矩阵的第M行第j-1列的计算节点的路由电路直接连接,并且与在矩阵的第M行第j+1列的计算节点的路由电路直接连接。
42、根据1-33中的任一项所述的计算芯片,其特征在其中所述计算芯片是单片集成电路或者封装的单片集成电路。
43、根据1至33中的任一项所述的计算芯片,其特征在于,所述直接连接是通过集成电路中的布线形成的。
44、一种用于计算芯片的操作方法,其特征在于,所述计算芯片是如1-43中任一项所述的计算芯片,所述方法包括:通过每个计算节点的运算电路执行如下操作:从所述控制电路接收数据,根据同一算法基于各自的数据进行运算,以及将运算的结果提供给所述控制电路。
45、根据44所述的操作方法,其特征在于,所述方法包括:为每个计算节点分配不同的坐标,并且所述坐标能够被重新配置。
46、根据45所述的操作方法,其特征在于,所述方法还包括:通过每个计算节点的路由电路根据坐标来寻址目标计算节点。
47、根据46所述的操作方法,其特征在于,每个计算节点还包括:易失性存储器,该易失性存储器连接到所述控制电路,并且所述控制电路能够直接访问所述易失性存储器。
48、根据46所述的操作方法,其特征在于,所述计算芯片还包括:主控电路,所述主控电路连接到所述多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
49、根据48所述的操作方法,其特征在于,所述方法包括:通过所述主控电路将初始数据分配到每个计算节点。
50、根据49所述的操作方法,其特征在于,所述方法包括:为每个计算节点分配数据量相同但数据内容不同的初始数据。
51、根据49所述的操作方法,其特征在于,每个计算节点还包括:易失性存储器,该易失性存储器连接到所述控制电路,并且所述控制电路能够直接访问该易失性存储器。
52、根据51所述的操作方法,其特征在于,所述方法包括:将分配到每个计算节点的初始数据存储在该计算节点的易失性存储器中;以及将每个计算节点的坐标与该计算节点的易失性存储器中所存储的数据相关联。
53、根据52所述的操作方法,其特征在于,每个计算节点的易失性存储器中所存储的数据能够通过地址或查找表来索引。
54、根据52所述的操作方法,其特征在于,在每个计算节点中,控制电路包括:地址解析电路,该地址解析电路配置为:基于本计算节点的运算电路的运算结果,确定用于该运算电路的下一次计算的数据所在的计算节点的坐标。
55、根据54所述的操作方法,其特征在于,所述方法还包括:通过每个计算节点中的地址解析电路确定目标计算节点的坐标,并向该目标计算节点发出数据读取请求。
56、根据44所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点执行如下操作:基于同一算法进行多次循环运算;以及将运算结果提返回。
57、根据56所述的操作方法,其特征在于,在多次循环运算中的每一次循环运算中:所述运算电路基于所述控制电路指定的数据进行运算,并将单次循环运算结果返回所述控制电路;以及所述控制电路基于单次循环运算结果,通过所述地址解析电路和所述路由电路从本计算节点或其它计算节点的易失性存储器获取用于下一次循环运算的数据。
58、根据56所述的操作方法,其特征在于,在多次循环运算中的第一次循环运算中:所述运算电路基于分配到本计算节点的初始数据进行运算,并将第一次循环运算的结果写入本计算节点中的易失性存储器;在多次循环运算中的除第一次循环运算以外的每一次循环运算中:所述运算电路基于易失性存储器中所存储的上一次循环运算的结果,进行本次循环运算,将本次循环运算的结果存储到易失性存储器中。
59、根据57或58所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点执行如下操作:在所述控制电路控制所述运算电路基于同一算法进行循环运算达预定次数以后,自动停止运算并向所述主控电路返回运算结果。
60、根据44所述的操作方法,其特征在于,所述操作方法包括,通过各计算节点进行以下计算操作:获取用于计算的初始数据;基于所述初始数据根据预定算法计算种子数据;根据所述种子数据计算掺杂值;根据所述掺杂值进行中间循环计算处理,所述中间循环计算处理包括根据中间计算数据更新所述掺杂值;基于所述种子和更新的掺杂值根据所述预定算法进行计算,以得到结果数据。
61、根据60所述的操作方法,其特征在于,根据所述种子数据计算所得的掺杂值是第1掺杂值,所述中间循环计算处理包括:基于所述i掺杂值计算第j索引;根据第j索引获得对应的第j数据;基于所获得的第j数据计算第j中间数据;基于所述第j中间数据计算j+1索引;当j满足预定条件时,以第j中间数据更新所述掺杂值,从而得到第i+1掺杂值,当i满足预定条件时,以第i+1掺杂值作为所述更新的掺杂值,其中i为大于等于1的自然数,j为大于等于1且不大于i的自然数。
62、根据60所述的操作方法,其特征在于,其中所述初始数据至少包括:计算数、偏移值,所述操作方法还包括:根据比较的结果,更新所述偏移值;以及基于更新的偏移值执行所述计算操作。
63、根据62所述的操作方法,其特征在于,所述操作方法还包括:基于所述结果数据进行判决。
64、根据44所述的操作方法,其特征在于,所述操作方法还包括:获取用于计算的初始数据和对应的X组系数,每组系数包括S个系数;基于所述初始数据和第1组的S个系数中每一个根据预定算法循环执行S次,得到对应的第1组S个特征数据;基于所述第1组S个特征数据,根据预定函数,获得第1结果数据;根据所述第1结果数据和第i组系数的S个系数中的每一个根据预定算法循环执行S次,得到对应的第i组S个特征数据;以及基于所述第1组S个特征数据,根据预定函数,获得第i结果数据,其中X和S是自然数,i是大于1且小于等于X的自然数。
65、根据64所述的操作方法,其特征在于,所述初始数据至少包括多个像素的像素数据,所述系数包括卷积滤波器系数。
66、根据46所述的操作方法,其特征在于,在每个计算节点中,路由电路配置为:能够判断某个坐标是否代表该计算节点自身、是否代表直接连接的计算节点以及是否代表间接连接的计算节点。
67、根据66所述的操作方法,其特征在于,所述方法还包括通过每个计算节点中的控制电路执行如下操作:生成数据操作请求,并将该请求发送到该计算节点的路由电路,其中,所述数据操作请求至少包括目标计算节点的坐标。
68、根据67所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点中的路由电路执行如下操作:从所述控制电路接收数据操作请求;当目标计算节点为相邻计算节点时,将数据操作请求转发到相邻计算节点的路由电路;以及当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
69、根据68所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点中的路由电路执行如下操作:从相邻计算节点的路由电路接收数据操作请求;当目标计算节点为本计算节点时,将数据操作请求发送到本计算节点的控制电路;当目标计算节点为相邻计算节点时,将数据操作请求发送到相邻计算节点的路由电路;以及当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
70、根据69所述的操作方法,其特征在于,数据操作请求包括数据读取请求和数据返回应答中的一个,其中,数据读取请求至少包括:发出数据读取请求的计算节点的坐标、目标计算节点的坐标以及与所要读取的数据相关的信息;其中,数据返回应答至少包括:目标计算节点的坐标,所要返回的数据以及与所要返回的数据相关的信息。
71、根据70所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点中的控制电路执行如下操作:当从本计算节点的路由电路接收到数据读取请求时,检索数据并生成相应的数据返回应答;以及当从本计算节点的路由电路接收到数据返回应答时,将数据发送到运算电路。
72、根据66所述的操作方法,其特征在于,其中,所述多个计算节点包括第1计算节点和与之相邻的第2计算节点,第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,所述第2计算节点包括第2路由电路、第2控制电路以及第2运算电路;其中,所述方法还包括:通过所述第1计算节点执行如下操作:响应于第1控制电路的控制,通过第1路由电路向第2路由电路发送数据读取请求;通过所述第2计算节点执行如下操作:响应于第2路由电路接收到数据读取请求,判断该请求是否针对所述第2计算节点;如果是,则通过第2路由电路将该请求传输到第2控制电路;如果否,则通过第2路由电路向与其相邻的一个或多个计算节点转发该数据读取请求。
73、根据72所述的操作方法,其特征在于,所述方法还包括,通过第2计算节点执行如下操作:响应于第2控制电路接收到数据读取请求,进行数据检索;以及生成包括所检索到的数据的数据返回应答,并通过第2路由电路向第1路由电路发送数据返回应答。
74、根据73所述的操作方法,其特征在于,所述方法还包括,通过第1控制电路执行如下操作:响应于第1路由电路接收到数据返回应答,判断该应答是否针对所述第1计算节点;如果是,则通过第1路由电路将该应答传输到第1控制电路;如果否,则通过第1路由电路向与其相邻的一个或多个计算节点转发该数据返回应答。
75、根据66所述的操作方法,其特征在于,其中,所述多个计算节点包括第1计算节点和与之不相邻的第N计算节点,其中第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,所述第N计算节点包括第N路由电路、第N控制电路以及第N运算电路;并且其中,所述多个计算节点还包括在所述第1计算节点到所述第N计算节点的优化路径中的(N-2)个计算节点,其中N是大于2的自然数,并且其中第k个计算节点包括第k路由电路,其中k为2、3、…、N-1;其中,所述方法还包括:通过所述第1路由电路执行如下操作:响应于第1控制电路的控制,向在所述优化路径中的与之相邻的第2计算节点的路由电路发送针对数据的数据读取请求;通过第k计算节点执行如下操作:响应于接收到所述数据读取请求,其路由电路向在所述优化路径与其相邻的第(k+1)个中间计算节点转发该数据读取请求;通过所述第N计算节点执行如下操作:响应于第N控制电路接收到数据读取请求,进行数据检索,以及,生成包括检索到的数据的数据返回应答,并通过第N路由电路向第N-1个计算节点的路由电路发送数据返回应答;通过第k计算节点执行如下操作:响应于接收到数据返回应答,其路由电路向与其相邻的第(k-1)个中间计算节点转发该数据返回应答。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪音以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
上述描述可以指示被“连接”或“耦合”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦合”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦合”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
另外,仅仅为了参考的目的,还可以在下面描述中使用某种术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。

Claims (70)

1.一种计算芯片,其特征在于,所述计算芯片包括多个计算节点,每个计算节点包括:
控制电路,其用于控制该计算节点的操作;
运算电路,其连接到所述控制电路,所述运算电路从所述控制电路接收数据,并基于该数据进行运算;以及
路由电路,其连接到所述控制电路并连接到相邻的计算节点的路由电路,所述路由电路能够与控制电路进行数据交互,并且能够与相邻的计算节点的路由电路进行数据交互;
其中,每个计算节点与至少一个其他计算节点相邻,并且每个计算节点的路由电路与相邻计算节点的路由电路之间直接连接;
其中,每个计算节点的路由电路与任何一个不相邻的计算节点的路由电路之间,通过二者之间的计算节点路径中的计算节点的路由电路而间接连接;
其中,每个计算节点能够与任何一个其他计算节点进行数据交互;并且
其中,每个计算节点具有不同的坐标,所述坐标能够被重新配置,并且每个计算节点的路由电路能够根据坐标来寻址目标计算节点,
其中,每个计算节点配置为:
基于同一算法进行多次循环运算,在多次循环运算中的每一次循环运算中:
所述运算电路基于所述控制电路指定的数据进行运算,并将单次循环运算结果返回所述控制电路;以及
所述控制电路基于单次循环运算结果,通过地址解析电路和所述路由电路从本计算节点或其它计算节点的易失性存储器获取用于下一次循环运算的数据,
在所述控制电路控制所述运算电路基于同一算法进行循环运算达预定次数以后,自动停止运算并向主控电路返回运算结果。
2.根据权利要求1所述的计算芯片,其特征在于,在每个计算节点中,所述运算电路被配置为:
从所述控制电路接收数据;
根据同一算法基于各自的数据进行运算;以及
将运算的结果提供给所述控制电路。
3.根据权利要求2所述的计算芯片,其特征在于,每个计算节点还包括:
易失性存储器,该易失性存储器连接到所述控制电路,并且所述控制电路能够直接访问所述易失性存储器。
4.根据权利要求2所述的计算芯片,其特征在于,所述计算芯片还包括:
主控电路,所述主控电路连接到所述多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
5.根据权利要求4所述的计算芯片,其特征在于,所述主控电路还配置为:
将初始数据分配到每个计算节点。
6.根据权利要求5所述的计算芯片,其特征在于,
分配给每个计算节点的初始数据的数据量是相同的,但数据内容是不同的。
7.根据权利要求5所述的计算芯片,其特征在于,每个计算节点还包括:
易失性存储器,该易失性存储器连接到所述控制电路,并且所述控制电路能够直接访问该易失性存储器。
8.根据权利要求7所述的计算芯片,其特征在于,
其中,分配到每个计算节点的初始数据存储在该计算节点的易失性存储器中;并且
其中,每个计算节点的坐标与该计算节点的易失性存储器中所存储的数据相关联。
9.根据权利要求8所述的计算芯片,其特征在于,每个计算节点的易失性存储器中所存储的数据能够通过地址或查找表来索引。
10.根据权利要求8所述的计算芯片,其特征在于,在每个计算节点中,控制电路包括:
地址解析电路,该地址解析电路配置为:基于本计算节点的运算电路的运算结果,确定用于该运算电路的下一次计算的数据所在的计算节点的坐标。
11.根据权利要求10所述的计算芯片,其特征在于,每个计算节点配置为:
基于所述地址解析电路确定目标计算节点的坐标,并向该目标计算节点发出数据读取请求。
12.根据权利要求1所述的计算芯片,其特征在于,
在多次循环运算中的第一次循环运算中:所述运算电路基于分配到本计算节点的初始数据进行运算,并将第一次循环运算的结果写入本计算节点中的易失性存储器;
在多次循环运算中的除第一次循环运算以外的每一次循环运算中:所述运算电路基于易失性存储器中所存储的上一次循环运算的结果,进行本次循环运算,将本次循环运算的结果存储到易失性存储器中。
13.根据权利要求1所述的计算芯片,其特征在于,各计算节点被配置用于进行以下计算操作:
获取用于计算的初始数据;
基于所述初始数据根据预定算法计算种子数据;
根据所述种子数据计算掺杂值;
根据所述掺杂值进行中间循环计算处理,所述中间循环计算处理包括根据中间计算数据更新所述掺杂值;
基于所述种子和更新的掺杂值根据所述预定算法进行计算,以得到结果数据。
14.根据权利要求13所述的计算芯片,其特征在于,根据所述种子数据计算所得的掺杂值是第1掺杂值,
所述中间循环计算处理包括:
基于i掺杂值计算第j索引;
根据第j索引获得对应的第j数据;
基于所获得的第j数据计算第j中间数据;
基于所述第j中间数据计算j+1索引;
当j满足预定条件时,以第j中间数据更新所述掺杂值,从而得到第i+1掺杂值,
当i满足预定条件时,以第i+1掺杂值作为所述更新的掺杂值,其中i为大于等于1的自然数,j为大于等于1且不大于i的自然数。
15.根据权利要求13所述的计算芯片,其特征在于,其中所述初始数据至少包括:计算数、偏移值,
所述计算芯片还配置为:
根据比较的结果,更新所述偏移值;以及
基于更新的偏移值执行所述计算操作。
16.根据权利要求15所述的计算芯片,其特征在于,所述计算芯片被配置用于:
基于所述结果数据进行判决。
17.根据权利要求1所述的计算芯片,其特征在于,各计算节点被配置用于进行以下计算操作:
获取用于计算的初始数据和对应的X组系数,每组系数包括S个系数;
基于所述初始数据和第1组的S个系数中每一个根据预定算法循环执行S次,得到对应的第1组S个特征数据;
基于所述第1组S个特征数据,根据预定函数,获得第1结果数据;
根据所述第1结果数据和第i组系数的S个系数中的每一个根据预定算法循环执行S次,得到对应的第i组S个特征数据;以及
基于所述第1组S个特征数据,根据预定函数,获得第i结果数据,
其中X和S是自然数,i是大于1且小于等于X的自然数。
18.根据权利要求17所述的计算芯片,其特征在于,所述初始数据至少包括多个像素的像素数据,所述系数包括卷积滤波器系数。
19.根据权利要求2所述的计算芯片,其特征在于,在每个计算节点中,路由电路配置为:
能够判断某个坐标是否代表该计算节点自身、是否代表直接连接的计算节点以及是否代表间接连接的计算节点。
20.根据权利要求19所述的计算芯片,其特征在于,在每个计算节点中,控制电路配置为:
生成数据操作请求,并将该请求发送到该计算节点的路由电路;
其中,所述数据操作请求至少包括目标计算节点的坐标。
21.根据权利要求20所述的计算芯片,其特征在于,在每个计算节点中,路由电路还配置为:
从所述控制电路接收数据操作请求;
当目标计算节点为相邻计算节点时,将数据操作请求转发到相邻计算节点的路由电路;以及
当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
22.根据权利要求21所述的计算芯片,其特征在于,在每个计算节点中,路由电路还配置为:
从相邻计算节点的路由电路接收数据操作请求;
当目标计算节点为本计算节点时,将数据操作请求发送到本计算节点的控制电路;
当目标计算节点为相邻计算节点时,将数据操作请求发送到相邻计算节点的路由电路;以及
当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
23.根据权利要求22所述的计算芯片,其特征在于,数据操作请求包括数据读取请求和数据返回应答中的一个;
其中,数据读取请求至少包括:发出数据读取请求的计算节点的坐标、目标计算节点的坐标以及与所要读取的数据相关的信息;
其中,数据返回应答至少包括:目标计算节点的坐标,所要返回的数据以及与所要返回的数据相关的信息。
24.根据权利要求23所述的计算芯片,其特征在于,在每个计算节点中,控制电路还配置为:
当从本计算节点的路由电路接收到数据读取请求时,检索数据并生成相应的数据返回应答;以及
当从本计算节点的路由电路接收到数据返回应答时,将数据发送到运算电路。
25.根据权利要求19所述的计算芯片,其特征在于,所述多个计算节点包括第1计算节点和与之相邻的第2计算节点,第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,所述第2计算节点包括第2路由电路、第2控制电路以及第2运算电路,
所述第1计算节点被配置为:
响应于第1控制电路的控制,通过第1路由电路向第2路由电路发送数据读取请求;
所述第2计算节点被配置为:
响应于第2路由电路接收到数据读取请求,判断该请求是否针对所述第2计算节点;
如果是,则通过第2路由电路将该请求传输到第2控制电路;
如果否,则通过第2路由电路向与其相邻的一个或多个计算节点转发该数据读取请求。
26.根据权利要求25所述的计算芯片,其特征在于,第2计算节点还配置为:
响应于第2控制电路接收到数据读取请求,进行数据检索;以及
生成包括所检索到的数据的数据返回应答,并通过第2路由电路向第1路由电路发送数据返回应答。
27.根据权利要求26所述的计算芯片,其特征在于,第1控制电路还配置为:
响应于第1路由电路接收到数据返回应答,判断该应答是否针对所述第1计算节点;
如果是,则通过第1路由电路将该应答传输到第1控制电路;
如果否,则通过第1路由电路向与其相邻的一个或多个计算节点转发该数据返回应答。
28.根据权利要求19所述的计算芯片,其特征在于,
所述多个计算节点包括第1计算节点和与之不相邻的第N计算节点,其中第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,所述第N计算节点包括第N路由电路、第N控制电路以及第N运算电路;并且
所述多个计算节点还包括在所述第1计算节点到所述第N计算节点的优化路径中的(N-2)个计算节点,其中N是大于2的自然数,并且其中第k个计算节点包括第k路由电路,其中k为2、3、…、N-1;
所述第1路由电路被配置为:响应于第1控制电路的控制,向在所述优化路径中的与之相邻的第2计算节点的路由电路发送针对数据的数据读取请求;
第k计算节点被配置为:响应于接收到所述数据读取请求,其路由电路向在所述优化路径中与其相邻的第(k+1)个中间计算节点转发该数据读取请求,
所述第N计算节点被配置为:响应于第N控制电路接收到数据读取请求,进行数据检索,以及,生成包括检索到的数据的数据返回应答,并通过第N路由电路向第N-1个计算节点的路由电路发送数据返回应答;
第k计算节点还被配置为:响应于接收到数据返回应答,其路由电路向与其相邻的第(k-1)个中间计算节点转发该数据返回应答。
29.根据权利要求1-28中的任一项所述的计算芯片,其特征在于,所述多个计算节点以点阵形式排列。
30.根据权利要求29所述的计算芯片,其特征在于,所述点阵为M行N列的矩阵形式。
31.根据权利要求30所述的计算芯片,其特征在于,
在矩阵的第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列的计算节点的路由电路直接连接。
32.根据权利要求31所述的计算芯片,其特征在于,
在矩阵的第i行第j列的计算节点的路由电路与在矩阵的第i-1行第j-1列的计算节点以及第i+1行第j+1列的计算节点的路由电路直接连接。
33.根据权利要求27所述的计算芯片,其特征在于,
在矩阵的第i行第j列的计算节点的路由电路还与在矩阵的第i-1行第j+1列的计算节点以及第i+1行第j-1列的计算节点的路由电路直接连接。
34.根据权利要求30所述的计算芯片,其特征在于,位于所述矩阵边缘的行或列的计算节点连接到所述主控电路,并将数据转发到同一列或行中的对应的目标计算节点。
35.根据权利要求29所述的计算芯片,其特征在于,所述点阵包括N列,并且每列包括M个计算节点,
其中,第j列的计算节点布置成相对于j-1列的计算节点向下错位半个计算节点,j为小于或等于N的偶数。
36.权利要求35所述的计算芯片,其特征在于,
在矩阵的第i行第j列的计算节点的路由电路与在矩阵的第i-1行第j列的计算节点、第i+1行第j列的计算节点、第i-1行第j-1列的计算节点、第i行第j-1列的计算节点、第i-1行第j+1列的计算节点以及第i行第j+1列的计算节点直接连接,其中i为2、3…M-1,并且j为2、3…N-1;
在矩阵的第1行第j列的计算节点的路由电路与在矩阵的第1行第j-1列的计算节点的路由电路直接连接,并且与在矩阵的第1行第j+1列的计算节点的路由电路直接连接;以及
在矩阵的第M行第j列的计算节点的路由电路与在矩阵的第M行第j-1列的计算节点的路由电路直接连接,并且与在矩阵的第M行第j+1列的计算节点的路由电路直接连接。
37.根据权利要求1-28中的任一项所述的计算芯片,其特征在其中所述计算芯片是单片集成电路或者封装的单片集成电路。
38.根据权利要求1至28中的任一项所述的计算芯片,其特征在于,所述直接连接是通过集成电路中的布线形成的。
39.一种用于计算芯片的操作方法,其特征在于,所述计算芯片是如权利要求1-38中任一项所述的计算芯片,所述方法包括:
通过每个计算节点的运算电路执行如下操作:
从所述控制电路接收数据;
根据同一算法基于各自的数据进行运算;以及
将运算的结果提供给所述控制电路。
40.根据权利要求39所述的操作方法,其特征在于,所述方法包括:
为每个计算节点分配不同的坐标,并且所述坐标能够被重新配置。
41.根据权利要求40所述的操作方法,其特征在于,所述方法还包括:
通过每个计算节点的路由电路根据坐标来寻址目标计算节点。
42.根据权利要求41所述的操作方法,其特征在于,每个计算节点还包括:
易失性存储器,该易失性存储器连接到所述控制电路,并且所述控制电路能够直接访问所述易失性存储器。
43.根据权利要求41所述的操作方法,其特征在于,所述计算芯片还包括:
主控电路,所述主控电路连接到所述多个计算节点中的至少一部分计算节点,并借助于计算节点之间的直接连接或间接连接与所有计算节点进行数据交互。
44.根据权利要求43所述的操作方法,其特征在于,所述方法包括:通过所述主控电路将初始数据分配到每个计算节点。
45.根据权利要求44所述的操作方法,其特征在于,所述方法包括:为每个计算节点分配数据量相同但数据内容不同的初始数据。
46.根据权利要求44所述的操作方法,其特征在于,每个计算节点还包括:
易失性存储器,该易失性存储器连接到所述控制电路,并且所述控制电路能够直接访问该易失性存储器。
47.根据权利要求46所述的操作方法,其特征在于,所述方法包括:
将分配到每个计算节点的初始数据存储在该计算节点的易失性存储器中,以及
将每个计算节点的坐标与该计算节点的易失性存储器中所存储的数据相关联。
48.根据权利要求47所述的操作方法,其特征在于,每个计算节点的易失性存储器中所存储的数据能够通过地址或查找表来索引。
49.根据权利要求47所述的操作方法,其特征在于,在每个计算节点中,控制电路包括:
地址解析电路,该地址解析电路配置为:基于本计算节点的运算电路的运算结果,确定用于该运算电路的下一次计算的数据所在的计算节点的坐标。
50.根据权利要求49所述的操作方法,其特征在于,所述方法还包括:
通过每个计算节点中的地址解析电路确定目标计算节点的坐标,并向该目标计算节点发出数据读取请求。
51.根据权利要求39所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点执行如下操作:
基于同一算法进行多次循环运算;以及
将运算结果提返回。
52.根据权利要求51所述的操作方法,其特征在于,在多次循环运算中的每一次循环运算中:
所述运算电路基于所述控制电路指定的数据进行运算,并将单次循环运算结果返回所述控制电路;以及
所述控制电路基于单次循环运算结果,通过所述地址解析电路和所述路由电路从本计算节点或其它计算节点的易失性存储器获取用于下一次循环运算的数据。
53.根据权利要求51所述的操作方法,其特征在于,
在多次循环运算中的第一次循环运算中:所述运算电路基于分配到本计算节点的初始数据进行运算,并将第一次循环运算的结果写入本计算节点中的易失性存储器;
在多次循环运算中的除第一次循环运算以外的每一次循环运算中:所述运算电路基于易失性存储器中所存储的上一次循环运算的结果,进行本次循环运算,将本次循环运算的结果存储到易失性存储器中。
54.根据权利要求52或53所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点执行如下操作:
在所述控制电路控制所述运算电路基于同一算法进行循环运算达预定次数以后,自动停止运算并向所述主控电路返回运算结果。
55.根据权利要求39所述的操作方法,其特征在于,所述操作方法包括,通过各计算节点进行以下计算操作:
获取用于计算的初始数据;
基于所述初始数据根据预定算法计算种子数据;
根据所述种子数据计算掺杂值;
根据所述掺杂值进行中间循环计算处理,所述中间循环计算处理包括根据中间计算数据更新所述掺杂值;
基于所述种子和更新的掺杂值根据所述预定算法进行计算,以得到结果数据。
56.根据权利要求55所述的操作方法,其特征在于,根据所述种子数据计算所得的掺杂值是第1掺杂值,
所述中间循环计算处理包括:
基于i掺杂值计算第j索引;
根据第j索引获得对应的第j数据;
基于所获得的第j数据计算第j中间数据;
基于所述第j中间数据计算j+1索引;
当j满足预定条件时,以第j中间数据更新所述掺杂值,从而得到第i+1掺杂值,
当i满足预定条件时,以第i+1掺杂值作为所述更新的掺杂值,其中i为大于等于1的自然数,j为大于等于1且不大于i的自然数。
57.根据权利要求55所述的操作方法,其特征在于,其中所述初始数据至少包括:计算数、偏移值,
所述操作方法还包括:
根据比较的结果,更新所述偏移值;以及
基于更新的偏移值执行所述计算操作。
58.根据权利要求57所述的操作方法,其特征在于,所述操作方法还包括:基于所述结果数据进行判决。
59.根据权利要求39所述的操作方法,其特征在于,所述操作方法还包括:
获取用于计算的初始数据和对应的X组系数,每组系数包括S个系数;
基于所述初始数据和第1组的S个系数中每一个根据预定算法循环执行S次,得到对应的第1组S个特征数据;
基于所述第1组S个特征数据,根据预定函数,获得第1结果数据;
根据所述第1结果数据和第i组系数的S个系数中的每一个根据预定算法循环执行S次,得到对应的第i组S个特征数据;以及
基于所述第1组S个特征数据,根据预定函数,获得第i结果数据,
其中X和S是自然数,i是大于1且小于等于X的自然数。
60.根据权利要求59所述的操作方法,其特征在于,所述初始数据至少包括多个像素的像素数据,所述系数包括卷积滤波器系数。
61.根据权利要求41所述的操作方法,其特征在于,在每个计算节点中,路由电路配置为:
能够判断某个坐标是否代表该计算节点自身、是否代表直接连接的计算节点以及是否代表间接连接的计算节点。
62.根据权利要求61所述的操作方法,其特征在于,所述方法还包括通过每个计算节点中的控制电路执行如下操作:
生成数据操作请求,并将该请求发送到该计算节点的路由电路,
其中,所述数据操作请求至少包括目标计算节点的坐标。
63.根据权利要求62所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点中的路由电路执行如下操作:
从所述控制电路接收数据操作请求;
当目标计算节点为相邻计算节点时,将数据操作请求转发到相邻计算节点的路由电路;以及
当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
64.根据权利要求63所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点中的路由电路执行如下操作:
从相邻计算节点的路由电路接收数据操作请求;
当目标计算节点为本计算节点时,将数据操作请求发送到本计算节点的控制电路;
当目标计算节点为相邻计算节点时,将数据操作请求发送到相邻计算节点的路由电路;以及
当目标计算节点为不相邻的计算节点时,将数据操作请求转发到通向目标计算节点的优化路径上的相邻计算节点之一的路由电路。
65.根据权利要求64所述的操作方法,其特征在于,数据操作请求包括数据读取请求和数据返回应答中的一个,
其中,数据读取请求至少包括:发出数据读取请求的计算节点的坐标、目标计算节点的坐标以及与所要读取的数据相关的信息;
其中,数据返回应答至少包括:目标计算节点的坐标,所要返回的数据以及与所要返回的数据相关的信息。
66.根据权利要求65所述的操作方法,其特征在于,所述方法还包括,通过每个计算节点中的控制电路执行如下操作:
当从本计算节点的路由电路接收到数据读取请求时,检索数据并生成相应的数据返回应答;以及
当从本计算节点的路由电路接收到数据返回应答时,将数据发送到运算电路。
67.根据权利要求61所述的操作方法,其特征在于,
其中,所述多个计算节点包括第1计算节点和与之相邻的第2计算节点,第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,所述第2计算节点包括第2路由电路、第2控制电路以及第2运算电路;
其中,所述方法还包括:
通过所述第1计算节点执行如下操作:响应于第1控制电路的控制,通过第1路由电路向第2路由电路发送数据读取请求;
通过所述第2计算节点执行如下操作:响应于第2路由电路接收到数据读取请求,判断该请求是否针对所述第2计算节点;如果是,则通过第2路由电路将该请求传输到第2控制电路;如果否,则通过第2路由电路向与其相邻的一个或多个计算节点转发该数据读取请求。
68.根据权利要求67所述的操作方法,其特征在于,所述方法还包括,通过第2计算节点执行如下操作:
响应于第2控制电路接收到数据读取请求,进行数据检索;以及
生成包括所检索到的数据的数据返回应答,并通过第2路由电路向第1路由电路发送数据返回应答。
69.根据权利要求68所述的操作方法,其特征在于,所述方法还包括,通过第1控制电路执行如下操作:
响应于第1路由电路接收到数据返回应答,判断该应答是否针对所述第1计算节点;
如果是,则通过第1路由电路将该应答传输到第1控制电路;
如果否,则通过第1路由电路向与其相邻的一个或多个计算节点转发该数据返回应答。
70.根据权利要求61所述的操作方法,其特征在于,
其中,所述多个计算节点包括第1计算节点和与之不相邻的第N计算节点,其中第1计算节点包括第1路由电路、第1控制电路以及第1运算电路,所述第N计算节点包括第N路由电路、第N控制电路以及第N运算电路;并且
其中,所述多个计算节点还包括在所述第1计算节点到所述第N计算节点的优化路径中的(N-2)个计算节点,其中N是大于2的自然数,并且其中第k个计算节点包括第k路由电路,其中k为2、3、…、N-1;
其中,所述方法还包括:
通过所述第1路由电路执行如下操作:响应于第1控制电路的控制,向在所述优化路径中的与之相邻的第2计算节点的路由电路发送针对数据的数据读取请求;
通过第k计算节点执行如下操作:响应于接收到所述数据读取请求,其路由电路向在所述优化路径与其相邻的第(k+1)个中间计算节点转发该数据读取请求;
通过所述第N计算节点执行如下操作:响应于第N控制电路接收到数据读取请求,进行数据检索,以及,生成包括检索到的数据的数据返回应答,并通过第N路由电路向第N-1个计算节点的路由电路发送数据返回应答;
通过第k计算节点执行如下操作:响应于接收到数据返回应答,其路由电路向与其相邻的第(k-1)个中间计算节点转发该数据返回应答。
CN201811144018.3A 2018-09-29 2018-09-29 计算芯片及其操作方法 Active CN109376117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811144018.3A CN109376117B (zh) 2018-09-29 2018-09-29 计算芯片及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811144018.3A CN109376117B (zh) 2018-09-29 2018-09-29 计算芯片及其操作方法

Publications (2)

Publication Number Publication Date
CN109376117A CN109376117A (zh) 2019-02-22
CN109376117B true CN109376117B (zh) 2023-06-13

Family

ID=65403047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811144018.3A Active CN109376117B (zh) 2018-09-29 2018-09-29 计算芯片及其操作方法

Country Status (1)

Country Link
CN (1) CN109376117B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120090667A (ko) * 2011-02-08 2012-08-17 삼성전자주식회사 재구성 가능 프로세서 및 구동 제어 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307116B2 (en) * 2009-06-19 2012-11-06 Board Of Regents Of The University Of Texas System Scalable bus-based on-chip interconnection networks
CN102446158B (zh) * 2010-10-12 2013-09-18 无锡江南计算技术研究所 多核处理器及多核处理器组
CN104040528B (zh) * 2011-12-28 2016-12-28 富士通株式会社 计算机系统、通信控制装置以及计算机系统的控制方法
US9491259B2 (en) * 2013-03-13 2016-11-08 International Business Machines Corporation Collectively loading programs in a multiple program multiple data environment
US10715436B2 (en) * 2014-05-28 2020-07-14 Comcast Cable Communications, Llc Dynamic loop detection and suppression
CN108427584B (zh) * 2018-03-19 2021-07-30 清华大学 快速启动的具有并行计算核的芯片及该芯片的配置方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120090667A (ko) * 2011-02-08 2012-08-17 삼성전자주식회사 재구성 가능 프로세서 및 구동 제어 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
可重构阵列DSP结构ReMAP;王新安;叶兆华;戴鹏;周丹;;深圳大学学报(理工版)(01);全文 *

Also Published As

Publication number Publication date
CN109376117A (zh) 2019-02-22

Similar Documents

Publication Publication Date Title
JP7053775B2 (ja) ネットワークオンチップによるデータ処理方法及び装置
US11741346B2 (en) Systolic neural network engine with crossover connection optimization
US7287255B2 (en) System and method for dynamic ordering in a network processor
US8151088B1 (en) Configuring routing in mesh networks
US20150130500A1 (en) Configurable Vertical Integration
CN105468546B (zh) 互连电路的数据处理装置和方法
CN108139882B (zh) 针对网络装置实施阶层分布式链接列表的系统及方法
KR102539572B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
KR102539571B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN109376117B (zh) 计算芯片及其操作方法
CN110865950B (zh) 数据预处理方法、装置、计算机设备和存储介质
CN113487020B (zh) 用于神经网络计算的参差存储结构及神经网络计算方法
KR102539573B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
US9203733B2 (en) Method of pseudo-dynamic routing in a cluster comprising static communication links and computer program implementing that method
CN109117333B (zh) 计算芯片及其操作方法
KR20200139256A (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN109117417B (zh) 计算芯片及其操作方法
US10928871B2 (en) Computing device and operation method thereof
CN113285880B (zh) 多播路由方法、互连设备、网状网络系统及其配置方法
CN110865792B (zh) 数据预处理方法、装置、计算机设备和存储介质
US20060095711A1 (en) Method for wiring allocation and switch configuration in a multiprocessor environment
CN115129939A (zh) 向量检索方法、系统、设备及存储介质
CN102194002B (zh) 哈希表的表项添加、删除、查找方法及哈希表存储装置
CN117639884A (zh) 一种高通量卫星环备份动态连接方案自动计算方法及系统
Swarztrauber The Communication Machine

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