CN114928578B - 芯片结构 - Google Patents

芯片结构 Download PDF

Info

Publication number
CN114928578B
CN114928578B CN202210844640.5A CN202210844640A CN114928578B CN 114928578 B CN114928578 B CN 114928578B CN 202210844640 A CN202210844640 A CN 202210844640A CN 114928578 B CN114928578 B CN 114928578B
Authority
CN
China
Prior art keywords
unit
arbitration
node
routing
data exchange
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
CN202210844640.5A
Other languages
English (en)
Other versions
CN114928578A (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.)
Shenglong Singapore Pte Ltd
Original Assignee
Sunlune Technology Beijing 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 Sunlune Technology Beijing Co Ltd filed Critical Sunlune Technology Beijing Co Ltd
Priority to CN202210844640.5A priority Critical patent/CN114928578B/zh
Publication of CN114928578A publication Critical patent/CN114928578A/zh
Application granted granted Critical
Publication of CN114928578B publication Critical patent/CN114928578B/zh
Priority to PCT/CN2023/077714 priority patent/WO2024016660A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • 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
    • G06F15/781On-chip cache; Off-chip memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • 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

Abstract

本公开提供一种芯片结构,包括多个节点,多个节点采用网格互联,每个节点包括多个路由单元、多个仲裁单元、数据交换单元、互连单元、多个第一节点入口、多个第一节点出口、一个或多个第二节点入口以及一个或多个第二节点出口,其中:路由单元用于接收第一节点入口的消息,将消息发送至仲裁单元和/或数据交换单元;数据交换单元用于接收第二节点入口的消息,将消息发送至仲裁单元,以及用于接收路由单元发送的消息,将消息通过第二节点出口输出;仲裁单元用于接收路由单元和/或数据交换单元发送的消息,将消息通过互连单元发送至第一节点出口。采用本公开实施例提供芯片网络结构,结构简单,效率高,且片内带宽高。

Description

芯片结构
技术领域
本公开实施例涉及但不限于计算机应用技术领域,尤指一种芯片结构。
背景技术
区块链技术中,区块的产生需要靠工作量证明算法(Proof of Work,POW)来完成,工作量证明是一种哈希函数,可以使用中央处理器(Central Processing Unit,CPU)、图形处理器(Graphic Processing Unit ,GPU)或现场可编程逻辑门阵列(Field-ProgrammableGate Array,FPGA)等对其求解,求解的过程中需要对一个大数据集进行随机地址访问,整个数据集一般存放于内存或者显存中。在区块链工作量证明应用中,算力与数据带宽成正比,所以需要用到很高的片内带宽,但传统CPU、GPU或FPGA结构都无法很好的解决这个问题。
发明内容
本公开实施例提供了一种芯片结构,提高片内带宽。
本公开实施例提供了一种芯片结构,包括多个节点,所述多个节点采用网格互联,每个节点包括多个路由单元、多个仲裁单元、数据交换单元、互连单元、多个第一节点入口、多个第一节点出口、一个或多个第二节点入口以及一个或多个第二节点出口,所述路由单元与仲裁单元一一对应连接,所述路由单元和仲裁单元分别与数据交换单元连接,所述仲裁单元与互连单元连接,每个所述路由单元与一个所述第一节点入口连接,所述互连单元与所述第一节点出口连接,所述数据交换单元与所述第二节点入口和第二节点出口连接,所述节点通过第二节点入口和第二节点出口与其他节点连接,其中:
所述路由单元用于接收所述第一节点入口的消息,将所述消息发送至仲裁单元和/或数据交换单元;
所述数据交换单元用于接收第二节点入口的消息,将所述消息发送至仲裁单元,以及用于接收所述路由单元发送的消息,将所述消息通过所述第二节点出口输出;
所述仲裁单元用于接收路由单元和/或数据交换单元发送的消息,将所述消息通过互连单元发送至第一节点出口。
采用本公开实施例提供芯片网络结构,各节点采用网格拓扑结构,通过数据交换单元与其他节点连接,并且通过互连单元实现节点输出,结构简单,效率高,且片内带宽高。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。附图中各部件的形状和大小不反映真实比例,目的只是示意说明本公开内容。
图1为本公开实施例提供的一种芯片结构示意图;
图2为本公开实施例提供的另一种芯片结构示意图;
图3为本公开实施例一种压缩单元和解压单元的示意图;
图4为本公开实施例提供的一种数据交换子单元的结构示意图;
图5为本公开实施例提供的包含4节点的芯片结构示意图;
图6为本公开实施例提供的包含6节点时数据交换单元连接示意图;
图7为图6所示数据交换单元中每个数据子单元内部结构示意图;
图8为本公开实施例提供的包含9节点时数据交换单元连接示意图;
图9为图8所示数据交换单元中每个数据子单元内部结构示意图节点入口。
具体实施方式
本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本公开包括并设想了与本领域普通技术人员已知的特征和元件的组合。本公开已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本公开中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。
图1为本公开实施例提供的芯片结构示意图,包括多个节点,所述多个节点采用网格互联,每个节点包括多个路由单元、多个仲裁单元、数据交换单元、互连单元、多个第一节点入口、多个第一节点出口、一个或多个第二节点入口以及一个或多个第二节点出口,所述路由单元与仲裁单元一一对应连接,且所述路由单元和仲裁单元分别与数据交换单元连接,所述仲裁单元与互连单元连接,每个所述路由单元与一个所述第一节点入口连接,所述互连单元与所述第一节点出口连接,所述数据交换单元与所述第二节点入口和第二节点出口连接,所述节点通过第二节点入口和第二节点出口与其他节点连接,其中:
所述路由单元用于接收第一节点入口的消息,将所述消息发送至仲裁单元和/或数据交换单元;
所述数据交换单元用于接收第二节点入口的消息,将所述消息发送至仲裁单元,以及用于接收所述路由单元发送的消息,将所述消息通过第二节点出口输出;
所述仲裁单元用于接收路由单元和/或数据交换单元发送的消息,将所述消息通过互连单元发送至第一节点出口。
所述互连单元可以实现将仲裁单元发送的消息发送至任一第一节点出口。
本文中所述消息包括请求或数据。本文中所述多个包括2个或2个以上。
下面对上述芯片结构进行具体说明。该芯片包括多个节点,每个节点包括:多个路由单元、多个仲裁单元、数据交换单元、互连单元、多个第一节点入口、多个第一节点出口、至少一个第二节点入口,至少一个第二节点出口,其中:
所述路由单元包括一个路由输入端口、第一路由输出端口和第二路由输出端口,每个路由输入端口与一个第一节点入口连接,第一路由输出端口与数据交换单元连接,第二路由输出端口与仲裁单元连接,所述路由单元用于接收第一节点入口输入的消息(例如数据或请求),并向仲裁单元或数据交换单元转发;在本示例中,每个节点入口连接一个独立的路由单元,每个路由单元对应一个独立的仲裁单元,路由单元可以根据消息中包含的目的地,将消息路由至仲裁单元或者数据交换单元;
所述数据交换单元包括多个第一交换输入端口,多个第一交换输出端口,多个第二输入端口和多个第二交换输出端口,每个第一交换输入端口与所述路由单元连接,每个第一交换输出端口与仲裁单元连接,每个第二输入端口与一个第二节点入口连接,每个第二输出端口与一个第二节点出口连接,所述数据交换单元用于向其他节点转发消息,或者接收其他节点发送的消息;
所述仲裁单元包括与所述第二路由输出端口连接的第一仲裁输入端口、与所述第一交换输出端口连接的第二仲裁输入端口和与所述互连单元连接的仲裁输出端口,所述仲裁单元用于接收路由单元和/或数据交换单元发送的消息,通过仲裁输出端口发送给互连单元;
所述互连单元包括多个互连输入端口和多个互连输出端口,每个互连输入端口与一个仲裁单元的仲裁输出端口连接,每个互连输出端口与一个第一节点出口连接,所述互连单元用于将仲裁单元输出的消息发送至任意一个第一节点出口。
采用本公开实施例提供芯片网络结构,各节点采用网格拓扑结构,通过数据交换单元与其他节点连接,并且通过互连单元实现节点输出,结构简单,效率高,且片内带宽高。
第一节点入口和第一节点出口的数量可以相同也可以不同,第一节点入口和第一节点出口的数量范围可以是在2至16348个。芯片内节点数量可以为2个或2个以上,例如可以是4个、6个、9个甚至更多个,本申请对此不做限制。多个节点之间可采用网格(mesh)互联的拓扑结构,节点排列成规则的网格,每个节点只与其同行或同列的相邻节点连接。
在示例性实施例中,仲裁单元可以为带反压和缓存的仲裁结构,仲裁单元可以缓存一定数量的消息,并在该消息能被对应的互连单元接收时,将其发送到对应的互连单元,当缓存满时,对前一级单元产生反压,防止前一级单元发出的消息无法被接收而丢失,当缓存不满时,反压解除。同样地,所述路由单元也可以为带反压和缓存的路由结构。
在示例性实施例中,所述仲裁单元还用于为本仲裁单元的多个输入端口分别设置不同的权重,每个输入端口的权重值表示该输入端口能连续处理的消息的数量。仲裁单元可以根据各个输入端口的数据量设计每个端口的权重比,这决定了每个端口通过的消息的比例,当该比例设置与实际需要通过的请求或数据的比例相符,则会提升整个系统的效率。
此外,所述仲裁单元还可以为本仲裁单元的多个输入端口分别设置不同的优先级,在本仲裁单元处理消息时,所述仲裁单元选择优先级最高的且有待处理消息的输入端口,所述输入端口的消息处理完成后,重新调整各输入端口的优先级,调整方法例如可以是:在优先级最高且有待处理消息的输入端口的消息处理完成后,将该输入端口的优先级调至最低。
下面以仲裁单元采用权重比为1:3的加权轮询仲裁为例进行说明。以仲裁单元包括两个输入端口S1和S2为例,假设两个输入端口的默认优先级为S1>S2,并且假设S1的权重为3,S2的权重为1,其中S1端口可以为连接数据交换单元的端口,S2端口可以为连接路由单元的结构。在本例中,权重数量与发送请求的数量相关,权重为3表示最多可连续发送3x个消息,权重为1表示最多可连续发送x个消息,x为大于或等于1的整数,如果权重为0则可视为端口关闭,不允许消息通过。本例中,优先级调整的原则是在端口发送完消息或者没有消息后,将该端口的优先级调至最低。
仲裁单元加权轮询仲裁过程说明如下:假设端口S1接收到请求,且当前端口S1的优先级最高,由于端口S1的权重为3,因此该端口S1最多可以连续发送3x个请求,当端口S1连续发送完3x个消息或者S1没有消息后,仲裁单元将优先级顺序调整为:S2>S1;如果此时端口S2有请求,由于S2是目前优先级最高的有请求的端口,且由于端口S2的权重为1,因此端口S2最多可以连续发送x个消息,当端口S2连续发送完x个消息或者S2没有消息后,仲裁单元将优先级顺序调整为:S1>S2。采用上述加权轮询仲裁方式可以提高仲裁单元的处理效率,在数据压力大时效果明显。在其他实施例中,可以采用固定权重轮询仲裁方案(例如每个端口权重比固定为1:1),或者固定优先级仲裁方案。
所述互连单元包括多个互连输入端口和多个互连输出端口,任一互连输入端口输入的数据可以通过任一互连输出端口输出,也就是说互连单元可以根据消息的目的地,将消息发往任一第一节点出口。互连输入端口和互连输出端口的数量可以相同也可以不同,具体数量可根据芯片需要进行设置,例如可以设置为128或4096个等等。所述互连单元例如可以采用全交叉开关(或称全相联交叉开关)实现,全交叉开关是一种多入口多出口的结构,数据可以从任一入口进入,到达任一出口。
在一示例性实施例中,该芯片还可以包括压缩单元和解压单元,每个路由单元通过压缩单元与数据交换单元连接,该数据交换单元通过解压单元与每个仲裁单元连接。图2为本公开实施例提供的另一种芯片结构示意图,在本示例中,每个路由单元的第一路由输出端口与压缩单元的输入端口连接,压缩单元的输出端口与数据交换单元的第一交换输入端口连接。数据交换单元的第一交换输出端口与解压单元的输入端口连接,解压单元的输出端口与每个仲裁单元的第二仲裁输入端口连接。
压缩单元用于压缩总线数量,将m个路由单元输入的m路总线压缩为n路输出至所述数据交换单元,例如,压缩单元包括m个输入端口和n个输出端口,m和n均为大于零的正整数,且m>n。压缩单元可以将与多个路由单元连接的总线数量进行压缩,使总线数量减少,即总线数量由m个被压缩为n个,从而减小数据交换单元的复杂程度。总线数量可以压缩是由于第一节点入口进入的消息经过路由单元时,有一部分消息被路由到了仲裁单元,所以被路由到压缩单元的总线压力必然减小,因此就可以通过压缩单元使用数量更少的总线来承载这些消息,以芯片包含4个节点为例,总线可以按4:3的压缩比压缩,即m:n=4:3,因为第一节点入口发来的消息经过路由单元后,概率上有1/4发到仲裁单元,3/4发到压缩单元。压缩后的总线(依然为多组总线)连接到数据交换单元。
解压单元的作用与压缩单元相反,将总线数量恢复成与仲裁单元数量相同,包括n个输入端口和m个输出端口,将所述数据交换单元输入的n路总线恢复为m路分别输入m个仲裁单元,通过将总线数量由n个被解压为m个,方便总线进行仲裁操作。
图3为一种压缩单元和解压单元的示例,在本示例中,以4组总线的压缩和解压为例进行说明,压缩单元可以将4组总线压缩为3组,解压单元可以将3组总线还原为4组,由此可以使用更少的总线来传输数据而不影响芯片功能。图中S00,S01,S02,S03为数据源,分别与总线S10,S11,S12,S13相连;总线S10,S11,S12,S13与压缩单元S2相连,分别与压缩单元S2中的仲裁单元S220,S221,S222相连。仲裁单元S220,S221,S222优选为加权轮询仲裁器,在一些示例中,仲裁单元S220,S221,S222也可使用普通仲裁器或者轮询仲裁器。路由单元S20分别与缓存单元S210,S211,S212相连;缓存单元S210,S211,S212分别与仲裁单元S220,S221,S222相连;仲裁单元S220,S221,S222与压缩后的总线S30,S31,S32相连;总线S30,S31,S32与解压单元S4相连,分别与S4的路由单元S400,S401,S402相连;路由单元S400,S401,S402分别与还原出的总线S50,S51,S52相连;路由单元S400,S401,S402均与仲裁单元S41相连;仲裁单元S41优选为轮询仲裁器,也可使用普通仲裁器;仲裁单元S41与还原出的总线S53相连;总线S50,S51,S52,S53分别与数据终点S60,S61,S62,S63相连。
数据压缩工作流程如下:
数据源S00,S01 ,S02 ,S03分别将数据发送到总线S10,S11,S12,S13;其中:总线S13的数据通过路由单元S20被分为3部分,分别缓存到缓存单元S210,S211,S212;缓存单元S210的数据与总线S10的数据通过仲裁单元S220生成总线S30的数据;缓存单元S211的数据与总线S11的数据通过仲裁单元S221生成总线S31的数据;缓存单元S212的数据与总线S12的数据通过仲裁单元S222生成总线S32的数据;至此数据压缩完成;
数据解压工作流程如下:
总线S30,S31,S32将数据传送到解压单元S4;路由单元S400接收到总线S30的数据,分离出总线S10的数据发送到总线S50,完成对总线S10数据的还原,分离出的总线S13的数据发送到仲裁单元S41;路由单元S401接收到总线S31的数据,分离出总线S11的数据发送到总线S51,完成对总线S11数据的还原,分离出的总线S13的数据发送到仲裁单元S41;路由单元S402接收到总线S32的数据,分离出总线S12的数据发送到总线S52,完成对总线S12数据的还原,分离出的总线S13的数据发送到仲裁单元S41;仲裁单元S41接收到路由单元S400,S401,S402的数据,将其发送到总线S53,完成对总线S13的数据还原;总线S50,S51,S52,S53分别将数据发送到数据终点S60,S61,S62,S63。
每个节点中的数据交换单元可以包括k个数据交换子单元,k为大于或等于2的正整数,k的取值取决与路由单元的数量或压缩单元的压缩比。具体地:
如果数据交换单元与路由单元连接(如图1所示结构),则数据交换子单元的数量与路由单元的数量相同,每个数据交换子单元包括一组用于与路由单元和仲裁单元连接的第一输入、输出端口以及一组或多组用于与第二节点入口和第二节点出口连接的第二输入、输出端口,其中,第一输入端口与路由单元连接,第一输出端口与仲裁单元连接,一个第二输入端口与一个第二节点入口连接,一个第二输出端口与一个第二节点出口连接。
如果数据交换单元分别与压缩单元和解压缩单元连接(如图2所示结构),则数据交换子单元的数量与压缩单元输出端口数量相同。每个数据交换子单元包括一组用于与所述压缩单元和解压单元连接的第一输入、输出端口以及一组或多组用于与第二节点入口和第二节点出口连接的第二输入、输出端口,其中,第一输入端口与压缩单元连接,第一输出端口与解压单元连接,一个第二输入端口与一个第二节点入口连接,一个第二输出端口与一个第二节点出口连接。可见,连接压缩单元和解压缩单元后,还可以降低数据交换单元的复杂度。
每个数据交换子单元中包括多组路由子单元和仲裁子单元,路由子单元和仲裁子单元的数量相同,路由子单元和仲裁子单元两两互连,路由子单元和仲裁子单元的数量取决于该数据交换单元所在节点相邻的节点数,具体可以是相邻节点数+1,如果当前节点相邻节点为2个,则路由子单元和仲裁子单元的数量均为2+1。每个数据交换子单元中,所述第一输入端口与一个路由子单元连接,所述第一输出端口与一个仲裁子单元连接,一个第二输入端口与一个路由子单元连接,一个第二输入端口与一个仲裁子单元连接。
以相邻两个节点为例,一组(包括一个输入和一个输出)总线连接的数据交换子单元结构如图4所示。图中数据交换子单元为包括三组路由子单元和仲裁子单元的两两互连结构,其中一组路由子单元和仲裁子单元分别与压缩单元(无压缩单元时与路由单元)和解压单元(无解压单元时与仲裁单元)连接,另外两组路由子单元和仲裁子单元分别与相邻两个节点的数据交换单元连接,其中,路由子单元与相邻节点的数据交换子单元的仲裁子单元连接,仲裁子单元与相邻节点的数据交换子单元的路由子单元连接。k个数据交换子单元组成一个数据交换单元。
数据交换子单元内的仲裁子单元可以采用加权轮询仲裁方式。加权轮询仲裁需要给每个数据入口配置权重,权重比值表示每个数据入口通过的数据量之比,以芯片结构包含4节点为例,4个节点中的数据交换单元按2x2排布且数据路由方式按先横向路由后纵向路由时(即如果对角线的节点要传输数据,数据会首先被路由到横向相邻节点,再被路由到数据终点),每个数据交换子单元内,与解压单元相连的仲裁子单元中与横向节点相连的入口:与纵向节点相连的入口的权重比为1:2;数据交换子单元内其他仲裁子单元的入口权重比为1:1。加权轮询仲裁方式的实现过程参见前文所述,此处不再赘述,采用加权轮询仲裁方式可以提高数据交换单元的效率。在其他实施例中,数据交换子单元内的仲裁子单元也可以使用轮询仲裁或者固定优先级仲裁。
图5为本公开实施例提供的一种4节点芯片结构示意图,在本示例中每个节点包含压缩单元和解压单元,图中每个节点的结构相同,4个节点采用2 x2的mesh拓扑结构,每个数据交换单元包含的数据交换子单元的结构如图4所示。
图6为芯片结构包括6节点时,6节点中的6个数据交换单元的互联示意图,数据交换单元采用2x3的mesh拓扑分布。此时由于位于中间行的数据交换单元与相邻3个节点连接,因此6节点芯片结构内每个数据交换单元中的数据交换子单元中路由子单元和仲裁子单元的数量均为3+1个。每个数据子单元内部结构如图7所示,包括4组路由子单元和仲裁子单元两两互连。
图8为芯片结构包括9节点时,9节点中的9个数据交换单元的互联示意图,数据交换单元采用3x3的mesh拓扑分布。此时由于位于中部的数据交换单元与相邻4个节点连接,因此9节点芯片结构内每个数据交换单元中的数据交换子单元中路由子单元和仲裁子单元的数量均为4+1个。每个数据子单元内部结构如图9所示,包括5组路由子单元和仲裁子单元两两互连。
采用本公开实施例的方案,至少可以实现2-9节点的芯片结构。虽然文中以mesh分布为例进行说明,但不排除可以采用其他拓扑结构,例如,在节点数量较少时,如3个或5个时,可以采用星型(star)结构。
以共需要120个数据入口和120个数据出口为例,如果单纯使用全交叉开关实现,则需要120x120的全交叉开关,当前科技水平难以实现,如果单纯使用mesh结构实现,则需要16x8的mesh排布,会导致效率非常低下。而采用本实施例提供的芯片结构,以采用4节点结构为例,每个节点包括30组出入口,即每个节点包括30个第一节点入口和30个第一节点出口,每个节点的互连单元可以为30x30的全交叉开关,则该芯片只需要4个30x30的全交叉开关和2x2的mesh互连即可实现消息从任一节点入口发往任一节点出口。由于各mesh节点分担了端口数,避免了单纯使用全交叉开关端口数量太多导致规模太大无法实现的问题。且使用较少的mesh节点即可实现,结构简单、效率高。另外,采用本公开实施例提供的芯片结构实现可以获得较高的片内带宽,实测在端口1024bit位宽,500M时钟频率下,该芯片结构可实现大约6144GB/s的片内带宽,远超过当前最高端的GPU的1004GB/s的片内带宽。
在本公开实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据情况理解上述术语在本公开中的含义。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于 RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (10)

1.一种芯片结构,其特征在于,包括多个节点,所述多个节点采用网格互联,每个节点包括:多个路由单元、多个仲裁单元、数据交换单元、互连单元、多个第一节点入口、多个第一节点出口、一个或多个第二节点入口以及一个或多个第二节点出口,所述路由单元与仲裁单元一一对应连接,所述路由单元和仲裁单元分别与所述数据交换单元连接,所述仲裁单元与所述互连单元连接,每个所述路由单元与一个所述第一节点入口连接,所述互连单元与所述第一节点出口连接,所述数据交换单元与所述第二节点入口和第二节点出口连接,所述节点通过第二节点入口和第二节点出口与其他节点连接,其中:
所述路由单元用于接收所述第一节点入口的消息,将所述消息发送至所述仲裁单元和/或所述数据交换单元;
所述数据交换单元用于接收所述第二节点入口的消息,将所述消息发送至所述仲裁单元,以及用于接收所述路由单元发送的消息,将所述消息通过所述第二节点出口输出;
所述仲裁单元用于接收所述路由单元和/或所述数据交换单元发送的消息,将所述消息通过所述互连单元发送至所述第一节点出口。
2.根据权利要求1所述的芯片结构,其特征在于,所述节点还包括压缩单元和解压单元,每个所述路由单元通过所述压缩单元与所述数据交换单元连接,所述数据交换单元通过所述解压单元与每个仲裁单元连接;其中:
所述压缩单元包括m个输入端口和n个输出端口,用于将m个路由单元输入的m路总线压缩为n路输出至所述数据交换单元;
所述解压单元包括n个输入端口和m个输出端口,用于将所述数据交换单元输入的n路总线恢复为m路分别输入m个仲裁单元;
其中,所述m和n均为大于零的正整数,且m>n。
3.根据权利要求1所述的芯片结构,其特征在于,
所述数据交换单元包括多个数据交换子单元,所述数据交换子单元的数量与所述路由单元的数量相同,每个数据交换子单元包括用于与路由单元连接的第一输入端口,用于与仲裁单元连接的第一输出端口,用于与第二节点入口连接的第二输入端口,以及用于与第二节点出口连接的第二输出端口。
4.根据权利要求2所述的芯片结构,其特征在于,
所述数据交换单元包括n个数据交换子单元,每个数据交换子单元包括用于与所述压缩单元连接的第一输入端口,用于与所述解压单元连接的第一输出端口、用于与第二节点入口连接的第二输入端口,以及用于与第二节点出口连接的第二输出端口。
5.根据权利要求3或4所述的芯片结构,其特征在于,
每个数据交换子单元包括多组路由子单元和仲裁子单元,所述路由子单元与仲裁子单元两两互连,其中,所述第一输入端口与一个路由子单元连接,所述第一输出端口与一个仲裁子单元连接,一个第二输入端口与一个路由子单元连接,一个第二输入端口与一个仲裁子单元连接。
6.根据权利要求5所述的芯片结构,其特征在于,
所述仲裁子单元用于为本仲裁子单元的多个输入端口分别设置不同的权重,每个输入端口的权重值表示该输入端口能连续处理的消息的数量,以及用于为本仲裁子单元的多个输入端口分别设置不同的优先级,在本仲裁子单元处理消息时,所述仲裁子单元选择优先级最高的且有待处理消息的输入端口,所述输入端口的消息处理完成后,重新调整各输入端口的优先级。
7.根据权利要求1-4中任一项所述的芯片结构,其特征在于,
所述芯片结构包括4个节点,所述4个节点采用2×2网格拓扑结构,每个节点中的数据交换单元包括n个数据交换子单元,每个数据交换子单元包括3组两两互连的路由子单元和仲裁子单元;或者
所述芯片结构包括6个节点,所述6个节点采用2×3网格拓扑结构,每个节点中的数据交换单元包括n个数据交换子单元,每个数据交换子单元包括4组两两互连的路由子单元和仲裁子单元;或者
所述芯片结构包括9个节点,所述9个节点采用3×3网格拓扑结构,每个节点中的数据交换单元包括n个数据交换子单元,每个数据交换子单元包括5组两两互连的路由子单元和仲裁子单元。
8.根据权利要求1所述的芯片结构,其特征在于,
所述仲裁单元还用于为本仲裁单元的多个输入端口分别设置不同的权重,每个输入端口的权重值表示该输入端口能连续处理的消息的数量,以及用于为本仲裁单元的多个输入端口分别设置不同的优先级,在本仲裁单元处理消息时,所述仲裁单元选择优先级最高的且有待处理消息的输入端口,所述输入端口的消息处理完成后,重新调整各输入端口的优先级。
9.根据权利要求1所述的芯片结构,其特征在于,
所述互连单元包括多个互连输入端口和多个互连输出端口,每个互连输入端口与一个仲裁单元连接,每个互连输出端口与一个第一节点出口连接,所述互连单元用于将所述仲裁单元输出的消息发送至任意一个第一节点出口。
10.根据权利要求1或9所述的芯片结构,其特征在于,所述互连单元为全交叉开关。
CN202210844640.5A 2022-07-19 2022-07-19 芯片结构 Active CN114928578B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210844640.5A CN114928578B (zh) 2022-07-19 2022-07-19 芯片结构
PCT/CN2023/077714 WO2024016660A1 (zh) 2022-07-19 2023-02-22 芯片结构及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210844640.5A CN114928578B (zh) 2022-07-19 2022-07-19 芯片结构

Publications (2)

Publication Number Publication Date
CN114928578A CN114928578A (zh) 2022-08-19
CN114928578B true CN114928578B (zh) 2022-09-16

Family

ID=82815994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210844640.5A Active CN114928578B (zh) 2022-07-19 2022-07-19 芯片结构

Country Status (2)

Country Link
CN (1) CN114928578B (zh)
WO (1) WO2024016660A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928578B (zh) * 2022-07-19 2022-09-16 中科声龙科技发展(北京)有限公司 芯片结构
CN114968865B (zh) * 2022-07-22 2022-09-27 中科声龙科技发展(北京)有限公司 总线传输结构及方法、芯片
CN115314438B (zh) * 2022-10-09 2023-01-13 中科声龙科技发展(北京)有限公司 芯片的地址重构方法、装置以及电子设备、存储介质
CN115328828B (zh) * 2022-10-17 2023-01-24 中科声龙科技发展(北京)有限公司 数据存储系统及其数据存储结构的数据寻址和返回方法
CN115905088B (zh) * 2022-12-27 2023-07-14 声龙(新加坡)私人有限公司 一种数据收集结构、方法、芯片和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302745A (zh) * 2014-06-30 2016-02-03 深圳市中兴微电子技术有限公司 高速缓冲存储器及其应用方法
CN112073336A (zh) * 2020-08-21 2020-12-11 西安电子科技大学 基于AXI4 Stream接口协议的高性能数据交换系统及方法
CN113220627A (zh) * 2021-04-23 2021-08-06 西安微电子技术研究所 一种二维片上网络路由节点结构
WO2022121783A1 (zh) * 2020-12-11 2022-06-16 上海砹芯科技有限公司 Axi总线结构及芯片系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866980B (zh) * 2012-07-31 2015-02-25 中国人民解放军国防科学技术大学 用于多核微处理器片上互连网络的网络通信胞元
CN105022717B (zh) * 2015-06-04 2018-11-27 中国航空无线电电子研究所 附加请求数优先级的片上网络资源仲裁方法及仲裁单元
CN111027971B (zh) * 2018-12-07 2023-08-22 深圳市智税链科技有限公司 在区块链网络中确定记账节点的方法、代理节点和介质
CN113746763B (zh) * 2020-05-29 2022-11-11 华为技术有限公司 一种数据处理的方法、装置和设备
US11474964B2 (en) * 2020-10-28 2022-10-18 Moxa Inc. Configurable input/output device and operation method thereof
CN115002050B (zh) * 2022-07-18 2022-09-30 中科声龙科技发展(北京)有限公司 工作量证明芯片
CN114928578B (zh) * 2022-07-19 2022-09-16 中科声龙科技发展(北京)有限公司 芯片结构

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302745A (zh) * 2014-06-30 2016-02-03 深圳市中兴微电子技术有限公司 高速缓冲存储器及其应用方法
CN112073336A (zh) * 2020-08-21 2020-12-11 西安电子科技大学 基于AXI4 Stream接口协议的高性能数据交换系统及方法
WO2022121783A1 (zh) * 2020-12-11 2022-06-16 上海砹芯科技有限公司 Axi总线结构及芯片系统
CN113220627A (zh) * 2021-04-23 2021-08-06 西安微电子技术研究所 一种二维片上网络路由节点结构

Also Published As

Publication number Publication date
CN114928578A (zh) 2022-08-19
WO2024016660A1 (zh) 2024-01-25

Similar Documents

Publication Publication Date Title
CN114928578B (zh) 芯片结构
CN115002050B (zh) 工作量证明芯片
US8605716B2 (en) Large-scale packet switch
US7023841B2 (en) Three-stage switch fabric with buffered crossbar devices
US7161906B2 (en) Three-stage switch fabric with input device features
CA2268361C (en) Rotator switch data path structures
US9148370B2 (en) Packet-switching node with inner flow equalization
JP2005513827A (ja) インテリジェントな制御を備えるスケーラブルスイッチングシステム
US6826186B1 (en) Method and apparatus for distributing packets across multiple paths leading to a destination
US6999453B1 (en) Distributed switch fabric arbitration
JP2016501475A (ja) 受動相互接続及び分散型スイッチレススイッチングを行うルータ
JP2016501474A (ja) 分散型スイッチレス相互接続
Xia et al. A practical large-capacity three-stage buffered Clos-network switch architecture
US20200127936A1 (en) Dynamic scheduling method, apparatus, and system
EP1217796A2 (en) Recursion based switch fabric
CN114968865B (zh) 总线传输结构及方法、芯片
JP2015536621A (ja) 受動接続性光学モジュール
US20170176688A1 (en) Network Switch With Augmented Input and Output Capabilities
US6711407B1 (en) Array of processors architecture for a space-based network router
US20020181449A1 (en) Method and apparatus for determining connections in a crossbar switch
US6724758B1 (en) Stage specific dilation in multi-stage interconnection networks
Lee A virtual bus architecture for dynamic parallel processing
WO2019193598A1 (en) A rapidio® network for achieving load balancing
US7009986B2 (en) Network apparatus
Li et al. Orthogonal-path Schedule Algorithm for MSM Clos-network Switching Fabric

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230425

Address after: 10 Jialeng Road, Singapore # 09-11

Patentee after: Shenglong (Singapore) Pte. Ltd.

Address before: 1605, floor 16, No. 9, North Fourth Ring West Road, Haidian District, Beijing 100080

Patentee before: SUNLUNE TECHNOLOGY DEVELOPMENT (BEIJING) Co.,Ltd.