CN117951070B - 交叉开关模块、多核互联芯片、事务处理方法及产品 - Google Patents
交叉开关模块、多核互联芯片、事务处理方法及产品 Download PDFInfo
- Publication number
- CN117951070B CN117951070B CN202410346544.7A CN202410346544A CN117951070B CN 117951070 B CN117951070 B CN 117951070B CN 202410346544 A CN202410346544 A CN 202410346544A CN 117951070 B CN117951070 B CN 117951070B
- Authority
- CN
- China
- Prior art keywords
- module
- node
- transmission
- target
- recording
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 230000005540 biological transmission Effects 0.000 claims abstract description 206
- 238000000034 method Methods 0.000 claims description 39
- 239000000872 buffer Substances 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000001172 regenerating effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
本申请涉及芯片技术领域,公开了一种交叉开关模块、多核互联芯片、事务处理方法及产品。其中,交叉开关模块部署在系统级芯片中,与多个工作节点相连,包括:多个记录模块,每个记录模块被配置为获取其他工作节点向目标接收端口发送的传输请求,生成记录信号并发送到仲裁模块;仲裁模块,被配置为根据记录信号,确定目标接收端口待连接的源节点,生成多个选择信号并发送到选择模块;选择模块,被配置为根据接收到的每个选择信号及传输请求,在目标接收端口与源节点对应的发送端口之间,建立不同类型的传输通路,用于执行不同类型的事务。本申请提供的交叉开关模块适用不同规模和复杂度的芯片架构,能够提高多核片上系统处理数据的效率。
Description
技术领域
本申请涉及芯片技术领域,特别是涉及一种交叉开关模块、多核互联芯片、事务处理方法及产品。
背景技术
随着云计算、人工智能、自动驾驶、和高性能计算等领域快速发展,对计算机的算力的需求呈现指数形式的增长。相关统计结果表明,超级计算机性能的增长速度一直受到摩尔定律的限制,使得各个领域对算力的需求愈发强烈。计算机算力的发展主要受到半导体技术的推动,而半导体技术的发展趋势与算力的发展趋势基本相同。随着后摩尔时代的到来,工艺节点逐渐逼近物理极限,尤其是芯片技术进入7nm之后,半导体技术工艺节点的更新速度大大放缓。在这种情况下,单纯通过特征尺寸的缩小(即增加芯片单位面积的晶体管数量)来提升芯片的性能十分困难,这使得集成多个处理内核的多核片上系统(也称为系统级芯片)成为了解决算力不足的重要方法。
系统级芯片内部集成多个内核,能够提升芯片的算力,然而芯片中各个内核之间如何互联和通信,成为需要解决的问题。芯片内部多核互联的性能优劣会影响芯片的性能,因此,当前需要找到合适的方法实现芯片内部多个处理器核心(即工作节点)之间的高速通信。
发明内容
有鉴于此,本申请旨在提出一种交叉开关模块、多核互联芯片、事务处理方法及产品,以实现多核互联的高速通信。
为达到上述目的,本申请的技术方案如下:
本申请实施例第一方面提供一种交叉开关模块,部署在系统级芯片中,所述交叉开关模块与多个工作节点相连,任一工作节点包括至少两种类型的传输端口;所述至少两种类型的传输端口包括:请求端口、数据端口、响应端口及侦听端口中的至少两种端口;
所述交叉开关模块包括:
多个记录模块,每个记录模块分别对应一个工作节点的一个接收端口,将所述工作节点作为自身对应的目标节点;任一记录模块,被配置为根据其他工作节点向自身对应的目标接收端口发送的传输请求,生成记录信号;将所有传输请求及所述记录信号发送到仲裁模块;所述传输请求包括:源地址及目标地址;
所述仲裁模块,被配置为根据每个记录模块发送的记录信号,从所述其他工作节点中确定所述记录模块对应的目标接收端口待连接的源节点,并生成选择信号;将所有选择信号及对应的源节点发送的传输请求,发送到选择模块;所述源节点为所述目标接收端口待连接的工作节点;
所述选择模块,被配置为根据接收到的每个选择信号及传输请求,在所述目标接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路,用于执行不同类型的事务。
可选地,所述记录模块,被配置为根据其他工作节点向自身对应的目标接收端口发送的传输请求,生成记录信号,具体包括:
根据所述交叉开关模块连接的所述其他工作节点的数量,确定记录信号的位宽;
为所述其他工作节点中的每个工作节点分配一个标识,每个标识与所述记录信号中一位相对应;
采用二进制编码表示所述记录信号中每一位的电平状态,将所述记录信号的每一位均初始化为低电平,并存储在寄存器中;
获取当前所有工作节点发送的传输请求,将每个传输请求中的目标地址与所述目标节点的地址进行比较,若所述目标地址与所述目标节点的地址相同,则将所述记录信号中对应位的电平拉高。
可选地,所述仲裁模块,被配置为根据每个记录模块发送的记录信号,从所述其他工作节点中确定所述目标节点待连接的源节点,具体包括:
确定所述记录信号的轮询顺序;
基于所述轮询顺序,遍历所述记录信号的每一位,直到当前被遍历的位为高电平,暂停遍历;
将当前被遍历的位对应的工作节点,作为待连接的源节点。
可选地,所述仲裁模块,被配置为确定所述记录信号的轮询顺序,具体包括:
根据接收所述记录信号时的主轮询状态,从轮询信息中获取对应的检测顺序;所述轮询信息包括:预先确定的多个循环切换的主轮询状态及对应的检测顺序;所述主轮询状态按照时钟周期进行循环切换;
将所述检测顺序,确定为所述记录信号的轮询顺序。
可选地,所述选择模块,具体被配置为对接收到的选择信号进行解码;
根据接收到的传输请求中的源地址及目标地址,在所述源节点与所述目标节点各自对应的传输端口之间,传输握手信号;
在握手成功后,将所述源地址对应的传输端口,及所述目标地址对应的传输端口进行连接。
可选地,所有工作节点通过各自对应的数据缓存模块与所述交叉开关模块进行通信。
可选地,所述选择模块还包括:计数器,被配置为记录每个传输通路中执行的事务已消耗的时钟周期;根据已消耗的时钟周期与所述事务的类型,判断所述传输通路中的事务是否执行完毕;
所述选择模块,还被配置为在任一类型的传输通路中的事务执行完毕的情况下,断开所述传输通路,控制其他工作节点对应的数据缓存模块发送所述类型的新的传输请求;控制所述仲裁模块,根据所述新的传输请求,重新生成所述类型的选择信号。
可选地,所述选择模块,还被配置为在建立任一类型的传输通路时,控制其他工作节点对应的数据缓存模块停止向所述目标节点发送所述类型的传输请求;
控制所述仲裁模块,暂停生成所述目标节点对应的所述类型的选择信号。
根据本申请实施例的第二方面,提供一种多核互联芯片,所述多核互联芯片为系统级芯片,包括:如本申请实施例的第一方面所述的交叉开关模块及多个工作节点;
其中,所述工作节点至少包括以下一种类型的节点:全一致性主节点RHN-F、全一致性主节点HN-F、全一致性请求节点RN-F或监听节点SN-F。
根据本申请实施例的第三方面,提供一种事务处理方法,基于本申请实施例的第一方面所述的交叉开关模块实现,或本申请实施例的第二方面所述的多核互联芯片实现,包括:
根据其他工作节点向目标节点发送的传输请求,生成记录信号;所述传输请求包括:源地址及目标地址;
根据所述记录信号,从所述其他工作节点中确定所述记录模块对应的目标接收端口待连接的源节点,并生成选择信号;
根据所有选择信号及传输请求,在所述目标节点的多个接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路;
控制所述源节点及所述目标节点,通过所述传输通路执行对应类型的事务。
可选地,根据其他工作节点向目标节点发送的传输请求,生成记录信号,包括:
根据所述其他工作节点的数量,确定记录信号的位宽;
为所述其他工作节点中的每个工作节点分配一个标识,每个标识与所述记录信号中一位相对应;
采用二进制编码表示所述记录信号中每一位的电平状态,将所述记录信号的每一位均初始化为低电平,并存储在寄存器中;
将当前获取到的每个传输请求中的目标地址,与所述目标节点的地址进行比较,若所述目标地址与所述目标节点的地址相同,则将所述记录信号中对应位的电平拉高。
可选地,从所述其他工作节点中确定所述目标节点待连接的源节点,包括:
确定所述记录信号的轮询顺序;
基于所述轮询顺序,遍历所述记录信号的每一位,直到当前被遍历的位为高电平,暂停遍历;
将当前被遍历的位对应的工作节点,作为待连接的源节点。
可选地,确定所述记录信号的轮询顺序,包括:
根据接收所述记录信号时的主轮询状态,从轮询信息中获取对应的检测顺序;所述轮询信息包括:预先确定的多个循环切换的主轮询状态及对应的检测顺序;所述主轮询状态按照时钟周期进行循环切换;
将所述检测顺序,确定为所述记录信号的轮询顺序。
可选地,根据所有选择信号及传输请求,在所述目标节点的多个接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路,包括:
根据接收到的传输请求中的源地址及目标地址,在所述源节点与所述目标节点各自对应的传输端口之间,传输握手信号;
在握手成功后,将所述源地址对应的传输端口,及所述目标地址对应的传输端口进行连接。
可选地,所述事务处理方法,还包括:
记录每个传输通路中执行的事务已消耗的时钟周期;根据已消耗的时钟周期与所述事务的类型,判断所述传输通路中的事务是否执行完毕;
在任一类型的传输通路中的事务执行完毕的情况下,断开所述传输通路,控制其他工作节点对应的数据缓存模块发送所述类型的新的传输请求,并根据所述新的传输请求,重新生成所述类型的选择信号。
可选地,所述事务处理方法,还包括:
在建立任一类型的传输通路时,控制其他工作节点对应的数据缓存模块停止向所述目标节点发送所述类型的传输请求,并暂停生成所述目标节点对应的所述类型的选择信号。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请实施例第三方面所述的事务处理方法中的步骤。
根据本申请实施例的第五方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请实施例第三方面所述的事务处理方法中的步骤。
本申请所提供的交叉开关模块,与芯片中的多个工作节点(内核)相连,实现高效的核间通信。当各个工作节点间需要传输信息时,通过交叉开关模块接收所有工作节点发送的传输请求并进行集中处理。芯片中每个内核(工作节点)均具有至少两种类型的传输端口(包括发送端口与接收端口)。当各个工作节点通过不同的传输端口进行通信时,交叉开关模块通过每个接收端口对应的记录模块对当前的所有传输请求进行筛选,确定其他工作节点向该记录模块对应的目标节点的接收端口发送的传输请求,并进一步通过仲裁模块进行优先级判定,最终确定该目标节点的接收端口优先连接的源节点对应的发送端口;通过选择模块建立源节点对应端口与该目标节点的接收端口间的临时传输通路,以实现两个工作节点的事务通信。
本申请所提供的交叉开关模块直接与多个工作节点相连,通过部署多个记录模块对各自对应的传输通道接收的传输请求进行处理,实现了灵活的拓扑结构以适应不同规模和复杂度的芯片架构。通过交叉开关模块,实现对不同工作节点内部不同类型的传输端口进行独立控制,将请求通道、数据通道、响应通道和侦听通道进行分开处理,从而实现了多通道数据的并行处理,提高了多核片上系统处理数据的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提出的交叉开关模块的示意图;
图2是本申请一实施例中交叉开关模块与工作节点的连接示意图;
图3是本申请一实施例提出的记录模块的信号传递示意图;
图4是本申请一实施例提出的一种多核互联的芯片内核架构示意图;
图5是本申请一实施例提出的一种事务处理方法的流程图;
图6是本申请一实施例提出的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
ARM的CHI协议是ARM公司推出的一种高性能、低功耗的片上系统互连协议。它是一种高速、高带宽的互连技术,用于连接SoC(System-on-Chip,片上系统,也称为系统级芯片)内的不同功能模块,如处理器核心、高速缓存、内存控制器、外设等。CHI协议支持多级缓存一致性协议,具有高性能、低功耗的特点。本申请提供一种交叉开关模块(crossbar模块),该模块基于CHI协议,部署在系统级芯片上用于实现芯片内部的多核互联。
下面将参考附图并结合实施例来详细说明本申请。
本申请中,交叉开关模块部署在系统级芯片中,所述交叉开关模块与多个工作节点相连,任一工作节点包括至少两种类型的传输端口;所述至少两种类型的传输端口包括:请求端口、数据端口、响应端口及侦听端口中的至少两种端口;
所述交叉开关模块包括:
多个记录模块,每个记录模块分别对应一个工作节点的一个接收端口,将所述工作节点作为自身对应的目标节点;任一记录模块,被配置为根据其他工作节点向自身对应的目标接收端口发送的传输请求,生成记录信号;将所有传输请求及所述记录信号发送到仲裁模块;所述传输请求包括:源地址及目标地址;
所述仲裁模块,被配置为根据每个记录模块发送的记录信号,从所述其他工作节点中确定所述记录模块对应的目标接收端口待连接的源节点,并生成选择信号;将所有选择信号及对应的源节点发送的传输请求,发送到选择模块;所述源节点为所述目标接收端口待连接的工作节点;
所述选择模块,被配置为根据接收到的每个选择信号及传输请求,在所述目标接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路,用于执行不同类型的事务。
图1是本申请一实施例提出的交叉开关模块100的示意图。交叉开关模块100包括:多个记录模块101、仲裁模块102及选择模块103。交叉开关模块连接芯片内部各个工作节点,通过内部的记录模块(recorder模块)、仲裁模块(round_roubin模块)和选择模块(selector模块),能够准确地实现不同工作节点、不同类型的发送端口和接收端口的快速连接和事务执行。
本实施例中,交叉开关模块基于CHI协议,系统级芯片内可通过部署交叉开关模块,实现各个工作节点间的高速通信,本方案对交叉开关模块可以连接的工作节点数量不做限制,可根据实际需要进行适应性配置。各个工作节点所能传输事务的通道可以分为4类,分别为请求通道、数据通道、响应通道和侦听通道。任一工作节点至少包括两种类型的传输端口。例如,工作节点1包括“请求通道”与“数据通道”2个通道的传输端口,具体地,包括请求通道的发送端口、接收端口,以及数据通道的发送端口与接收端口。交叉开关模块连接多个工作节点,根据每个工作节点的接收端口的类型,对各个工作节点间不同类型的通道传输进行单独处理,实现多通道的并行事务传输。
具体地,交叉开关模块中,每个记录模块对应一个工作节点的一个接收端口,将该工作节点作为目标节点,将该接收端口作为目标接收端口,记录其他工作节点向该目标接收端口发送的传输请求,并生成记录信号。记录模块可能同时接到多个其他工作节点向目标接收端口发送的传输请求,记录模块根据这些传输请求生成记录信号,并发送到仲裁模块。
仲裁模块对每个记录模块发送的记录信号进行仲裁,选择每个记录模块对应的目标接收端口优先连接的源节点,并生成选择信号发送到选择模块。源节点是仲裁模块从多个向目标接收端口发送传输请求的工作节点中筛选出的,待连接的发送端的工作节点。
选择模块接收到仲裁模块发送的多个选择信号后,分别对每个选择信号进行解码。根据每个选择信号及对应源节点的传输请求,将目标接收端口与源节点的对应发送端口连接,构建临时的传输通路,以执行对应类型的事务。值得注意的是,建立传输通路的源节点的发送端口与目标接收端口是同一类型的端口,例如,两个端口均为数据类型的端口,建立的传输通路可执行数据类事务。
本实施例中,交叉开关模块对工作节点中,各个类型的传输通道的事务进行分开处理,实现了单个工作节点中多通道事务的并行数据处理,基于工作节点的每个接收端口进行传输请求的筛选、处理优先级仲裁进而快速建立临时的传输通路,实现了多核互联架构下内核间高效的事务通信。
作为本申请的一种实施方式,所有工作节点通过各自对应的数据缓存模块与所述交叉开关模块进行通信。
图2是本申请一实施例中交叉开关模块与工作节点的连接示意图。如图2所示,工作节点1(node)和工作节点2为芯片中的两个内核,其中,工作节点1和工作节点2可以为处理器核、外设或其它处理设备。在一种实施例中,工作节点1作为发送端的节点,工作节点2作为接收端的节点,两个工作节点分别与其对应的数据缓存模块(router)进行直接通信。工作节点1对应的缓存模块1为发送端的数据缓存模块,工作节点2对应的缓存模块2为接收端的数据缓存模块。
当工作节点1发送的传输请求无法被交叉开关模块(crossbar)及时处理时,该传输请求被数据缓存1进行缓存,等待crossbar模块空闲时,再将内部缓存的传输请求发送到crossbar模块。crossbar模块将上游的缓存模块1中的数据路由至下游的缓存模块2,缓存模块2将该传输请求进行缓存,等待工作节点2处理。
本实施例中,通过各个工作节点对应的缓存模块缓存交叉开关模块待处理的传输请求,确保交叉开关模块能够对每个传输请求进行处理,避免请求丢失,保障核减通信的稳定,同时,使各个工作节点无需重复发送传输请求,减少资源消耗。
作为本申请的一种实施方式,所述记录模块,被配置为根据其他工作节点向自身对应的目标接收端口发送的传输请求,生成记录信号,具体包括:
根据所述交叉开关模块连接的所述其他工作节点的数量,确定记录信号的位宽;
为所述其他工作节点中的每个工作节点分配一个标识,每个标识与所述记录信号中一位相对应;
采用二进制编码表示所述记录信号中每一位的电平状态,将所述记录信号的每一位均初始化为低电平,并存储在寄存器中;
获取当前所有工作节点发送的传输请求,将每个传输请求中的目标地址与所述目标节点的地址进行比较,若所述目标地址与所述目标节点的地址相同,则将所述记录信号中对应位的电平拉高。
在本实施例中,记录模块根据当前连接到交叉模块的所有工作节点的数量,确定记录信号的位宽。具体地,记录模块采用二进制编码表示记录信号,记录信号的位宽为除该记录模块自身连接到的目标节点之外的其他工作节点的数量。将记录信号的每一位初始化为低电平,并存储在寄存器中。例如,交叉开关模块连接了8个工作节点,则每个记录模块生成的记录信号的位宽为7,将记录信号初始化为“0000000”,并存储在寄存器中。
记录模块按照预先设定的规则对其他的每个工作节点分配节点ID,每个节点ID对应记录信号中的一位,当记录模块接收到任一工作节点向该目标端口发送的传输请求时,将该工作节点的节点ID对应的记录信号中的对应位,设置为高电平,用“1”表示。
图3是本申请一实施例提出的记录模块的信号传递示意图。如图3所示,各个工作节点将传输请求信号发送到记录模块中。记录模块受到时钟信号clk、复位信号rst_n控制,连接发起信号(图中tx_linkactive_reg_0、tx_linkactive_reg_n)与传输请求信号(图中tx_tgt_src_0、tx_tgt_src_n)。传输请求信号中包括发送端的源地址及接收端的目标地址。将传输请求中的目标地址与该记录模块对应的目标端口的地址进行比较,判断传输请求的目标地址是否与目标端口的地址相同,若二者相等,则将发送该传输请求的工作节点的节点ID对应的记录信号record_reg中对应位的电平拉高,表示当前接收到该节点发送的传输请求。例如,记录模块接收到节点ID分别为2、3的两个工作节点向目标端口发送的传输请求,则将记录信号对应位的电平拉高,生成的记录信号为“0000110”。
在比较完一个时钟周期内接收到的所有传输请求后,记录模块将记录信号record_reg与对应的多个传输信号(图3中tx_tgt_src_0_t0、tx_tgt_src_n_t0)继续向下一个功能模块发送,即发送到仲裁模块(round_roubin模块)。
作为本申请的一种实施方式,所述仲裁模块,被配置为根据每个记录模块发送的记录信号,从所述其他工作节点中确定所述目标节点待连接的源节点,具体包括:
确定所述记录信号的轮询顺序;
基于所述轮询顺序,遍历所述记录信号的每一位,直到当前被遍历的位为高电平,暂停遍历;
将当前被遍历的位对应的工作节点,作为待连接的源节点。
round_roubin模块为recorder模块的下游功能模块。在一种实施例中,仲裁模块采用轮询的方式处理接收到的所有记录信号。针对每个记录信号确定对应的轮询顺序,然后根据轮询顺序对该记录信号进行遍历,直到遍历到的当前位为高电平,则停止遍历。根据该高电平位对应的节点ID,确定目标端口优先连接的工作节点,即待连接的源节点。
作为本申请的一种实施方式,所述仲裁模块,被配置为确定所述记录信号的轮询顺序,具体包括:
根据接收所述记录信号时的主轮询状态,从轮询信息中获取对应的检测顺序;所述轮询信息包括:预先确定的多个循环切换的主轮询状态及对应的检测顺序;所述主轮询状态按照时钟周期进行循环切换;
将所述检测顺序,确定为所述记录信号的轮询顺序。
在一种实施例中,根据预先设置的轮询规则生成轮询信息。轮询信息中包括按照时钟周期进行切换的主轮询状态及对应的检测顺序。针对仲裁模块接收到的每一个记录信号,首先根据接收到该记录信号时的时钟周期,确定对应的主轮询状态,再进一步确定对应的检测顺序,将该检测顺序作为该记录信号的轮询顺序。
本实施例中,通过轮询的方式对接收到的每个记录信号按照不同的遍历顺序进行高电位检测,从而在建立数据传输通路时实现对所有工作节点的均衡分配,避免出现少数工作节点的事务被优先处理,其他工作节点长时间处于等待状态的情况。
可选地,本实施例中,可在仲裁模块中设置轮询算法模块,轮询算法模块基于预先的设置,对输入其中的记录信号的每一位进行遍历,进而确定待连接的源节点。当仲裁模块接收到record_reg信号和对应的所有传输请求信号后,将record_reg信号输入轮询算法模块进行仲裁。
本实施例中,可按照节点ID由小到大的顺序设置轮询规则。例如,在crossbar模块连接到8个工作节点的情况下,对于目标节点来说当前有7个发送端的工作节点,其节点ID分别是0、1、2、3、4、5、6。设置初始的主轮询状态为0123456,主轮询状态按照时钟周期进行循环切换,其过程具体为:0123456、1234560、2345601、3456012、4560123、5601234、6012345、0123456......在此基础上,对记录信号从低位向高位进行遍历。具体的轮询方式如下表1所示。
表1
在仲裁模块中,基于轮询算法遍历记录信号,最终确定待连接的源节点的节点ID,并生成选择信号发送到选择模块。例如,当主轮询状态处于0123456时,对record_reg寄存器按照0123456的顺序进行遍历,直到在record_reg寄存器找到值为1的bit位,将该高电平位对应的工作节点作为源节点。
基于源节点的对应发送端口与目标接收端口各自的通道信号,生成选择信号。具体地,选择信号可以是,源节点的对应通道与目标节点的对应通道相连通的信号与。将该高电平位对应的源节点向该目标接收端口发送的传输请求信号,以及生成的选择信号一同传输至下游的选择模块(selector模块)。
可选地,实际应用时用户可按照需要预先配置信号的轮询规则,本申请中对此不做限制。
作为本申请的一种实施方式,所述选择模块,具体被配置为对接收到的选择信号进行解码;
根据接收到的传输请求中的源地址及目标地址,在所述源节点与所述目标节点各自对应的传输端口之间,传输握手信号;
在握手成功后,将所述源地址对应的传输端口,及所述目标地址对应的传输端口进行连接。
本实施例中,selector模块为round_roubin模块的下游功能模块。选择模块接收仲裁模块发送的多个选择信号及对应的传输请求信号,并对选择信号进行解码操作。针对每个选择信号,在解码完成后,选择模块根据该选择信号,在源节点的对应发送端口与目标接收端口之间建立传输通路。
具体地,选择模块在源节点的对应发送端口与目标接收端口之间传输握手信号,源节点的对应发送端口向目标接收端口发送的信号包括:tx_linkacitve:发送端发送的握手信号;tx_flitpend:告知接下来要开始发送数据;tx_flitv:数据通路有效;tx_flit信号:该通路传输的数据。目标接收端口向该发送端口返回对应的应答信号:rx_linkacitve、rx_flitpend、rx_flitv、rx_flit信号。
选择模块通过在接收端与发送端间传输:连接响应信号rx_linkactive_ack和对应的应答信号tx_linkactive_ack,接收端存在信用的信号rx_lcrdv和对应的应答信号tx_lcrdv,进而将发送端的源节点的对应端口与目标接收端口相连,建立传输通路。
作为本申请的一种实施方式,所述选择模块还包括:计数器,被配置为记录每个传输通路中执行的事务已消耗的时钟周期;根据已消耗的时钟周期与所述事务的类型,判断所述传输通路中的事务是否执行完毕;
所述选择模块,还被配置为在任一类型的传输通路中的事务执行完毕的情况下,断开所述传输通路,控制其他工作节点对应的数据缓存模块发送所述类型的新的传输请求;控制所述仲裁模块,根据所述新的传输请求,重新生成所述类型的选择信号。
在一种实施例中,在选择模块中设置了计数器,计数器通过计数信号tx_flitv对传输通路中事务执行已消耗的时钟周期进行计数。为了判断发送节点发起的事务是否结束,在selector模块中拉高的计数器,当tx_flitv信号被拉高一定的周期数后,选择模块判定该传输通路中执行的事务已经完成。此时选择模块输出rd_singal信号给各个发送端的工作节点,并断开该传输通路。rd_singal信号的电平被拉高,表示当前传输通路中的事务已经结束,目标接收端口可进行新的连接。当其他的工作节点接收到该信号时,通过对应的缓存模块将针对该目标接收端口的传输请求重新发到交叉开关模块,进入新的循环处理流程。所有新的传输请求经过记录模块及仲裁模块的筛选,最终由选择模块建立新的传输通路。
本实施例中,数据通路规定传输4个flit大小的数据则判定完成了事务,即tx_flitv信号拉高四个周期其他类型的通路则规定传输1个flit大小的数据即判定完成了事务,即tx_flitv信号拉高一个周期。
本实施例中,通过在选择模块中增加计数器,从而能够对传输通路进行监控,当事务执行完毕后,通过选择模块及时断开传输通路并通知其他工作节点,以便建立新的连接。
作为本申请的一种实施方式,所述选择模块,还被配置为在建立任一类型的传输通路时,控制其他工作节点对应的数据缓存模块停止向所述目标节点发送所述类型的传输请求;
控制所述仲裁模块,暂停生成所述目标节点对应的所述类型的选择信号。
在一种实施例中,当选择模块(selector模块)建立传输通路时,告知其他工作节点对应的数据缓存模块停止向crossbar发送新的传输请求。同时,selector模块发送ctrl信号给round_roubin模块,该ctrl信号的功能是,告知仲裁模块停止对向该目标接收端口发送的记录信号进行轮询,保持当前的传输请求中源地址与目标地址不变。当计数器信号tx_flitv信号达到一定值后,ctrl信号将会拉低,从而再次告知仲裁信号重新开始轮询,更新输出的选择信号。
本实施例中,在建立目标接收端口上的传输通路时,告知仲裁模块和其他工作节点对应的数据缓存模块暂停发送针对该目标接收端口的新的选择信号和传输请求,从而避免产生大量无效数据,占用系统资源影响当前事务的执行效率,提高芯片的性能。
基于同一发明构思,本申请一实施例提供一种多核互联芯片。该多核互联芯片为系统级芯片,包括:如上述实施例中所提供的交叉开关模块,及多个工作节点;
其中,工作节点至少包括以下一种类型的节点:全一致性主节点RHN-F、全一致性主节点HN-F、全一致性请求节点RN-F或监听节点SN-F。
本实施例中,系统级芯片中包括多种类型的工作节点,所有工作节点均通过一个交叉开关模块进行连接,各个工作节点间发送的传输请求均由交叉开关模块进行处理。参考图4,图4是本申请一实施例提出的一种多核互联的芯片内核架构示意图。如图4所示,芯片中工作节点可以为以下4种类型中的一种或多种节点:全一致性主节点RHN-F、全一致性主节点HN-F、全一致性请求节点RN-F或监听节点SN-F。
其中,RHN-F节点拥有请求通道、数据通道、响应通道和侦听通道的发送端和接收端,共计8个传输端口;
HN-F节点拥有请求通道、数据通道、响应通道的发送端和接收端。以及侦听通道的发送端,共计7个传输端口;
RN-F节点拥有请求通道、数据通道和响应通道的发送端口,并拥有数据通道、响应通道和侦听通道的接收端口,共计6个传输端口;
SN-F拥有数据通道和响应通道的发送端口,并且拥有数据通道和请求通道的接收端口,共计4个传输端口。基于上述实施例中的交叉开关模块,能够实现不同类型的工作节点间的通信与事务处理。
基于同一发明构思,本申请一实施例提供一种事务处理方法,该方法基于上述实施例中提供的交叉开关模块实现,或基于上述实施例中提供的多核互联芯片实现。图5是本申请一实施例提出的一种事务处理方法的流程图。如图5所示,该方法包括:
S1:根据其他工作节点向目标节点发送的传输请求,生成记录信号;所述传输请求包括:源地址及目标地址;
S2:根据所述记录信号,从所述其他工作节点中确定所述记录模块对应的目标接收端口待连接的源节点,并生成选择信号;
S3:根据所有选择信号及传输请求,在所述目标节点的多个接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路;
S4:控制所述源节点及所述目标节点,通过所述传输通路执行对应类型的事务。
作为本申请的一种实施方式,根据其他工作节点向目标节点发送的传输请求,生成记录信号,包括:
根据所述其他工作节点的数量,确定记录信号的位宽;
为所述其他工作节点中的每个工作节点分配一个标识,每个标识与所述记录信号中一位相对应;
采用二进制编码表示所述记录信号中每一位的电平状态,将所述记录信号的每一位均初始化为低电平,并存储在寄存器中;
将当前获取到的每个传输请求中的目标地址,与所述目标节点的地址进行比较,若所述目标地址与所述目标节点的地址相同,则将所述记录信号中对应位的电平拉高。
作为本申请的一种实施方式,从所述其他工作节点中确定所述目标节点待连接的源节点,包括:
确定所述记录信号的轮询顺序;
基于所述轮询顺序,遍历所述记录信号的每一位,直到当前被遍历的位为高电平,暂停遍历;
将当前被遍历的位对应的工作节点,作为待连接的源节点。
作为本申请的一种实施方式,确定所述记录信号的轮询顺序,包括:
根据接收所述记录信号时的主轮询状态,从轮询信息中获取对应的检测顺序;所述轮询信息包括:预先确定的多个循环切换的主轮询状态及对应的检测顺序;所述主轮询状态按照时钟周期进行循环切换;
将所述检测顺序,确定为所述记录信号的轮询顺序。
作为本申请的一种实施方式,根据所有选择信号及传输请求,在所述目标节点的多个接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路,包括:
根据接收到的传输请求中的源地址及目标地址,在所述源节点与所述目标节点各自对应的传输端口之间,传输握手信号;
在握手成功后,将所述源地址对应的传输端口,及所述目标地址对应的传输端口进行连接。
作为本申请的一种实施方式,所述事务处理方法,还包括:
记录每个传输通路中执行的事务已消耗的时钟周期;根据已消耗的时钟周期与所述事务的类型,判断所述传输通路中的事务是否执行完毕;
在任一类型的传输通路中的事务执行完毕的情况下,断开所述传输通路,控制其他工作节点对应的数据缓存模块发送所述类型的新的传输请求,并根据所述新的传输请求,重新生成所述类型的选择信号。
作为本申请的一种实施方式,所述事务处理方法,还包括:
在建立任一类型的传输通路时,控制其他工作节点对应的数据缓存模块停止向所述目标节点发送所述类型的传输请求,并暂停生成所述目标节点对应的所述类型的选择信号。
基于同一发明构思,本申请一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的事务处理方法中的步骤。
基于同一发明构思,本申请一实施例提供一种电子设备。图6是本申请一实施例提出的一种电子设备200的示意图。如图6所示,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的事务处理方法中的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和部件并不一定是本申请所必须的。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,本申请意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的交叉开关模块、多核互联芯片、事务处理方法及产品进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (17)
1.一种交叉开关模块,其特征在于,部署在系统级芯片中,所述交叉开关模块与多个工作节点相连,任一工作节点包括至少两种类型的传输端口;所述至少两种类型的传输端口包括:请求端口、数据端口、响应端口及侦听端口中的至少两种端口;
所述交叉开关模块包括:
多个记录模块,每个记录模块分别对应一个工作节点的一个接收端口,将所述工作节点作为自身对应的目标节点;任一记录模块,被配置为根据其他工作节点向自身对应的目标接收端口发送的传输请求,生成记录信号;将所有传输请求及所述记录信号发送到仲裁模块;所述传输请求包括:源地址及目标地址;所述根据其他工作节点向自身对应的目标接收端口发送的传输请求,生成记录信号,具体包括:根据所述交叉开关模块连接的所述其他工作节点的数量,确定记录信号的位宽;为所述其他工作节点中的每个工作节点分配一个标识,每个标识与所述记录信号中一位相对应;采用二进制编码表示所述记录信号中每一位的电平状态,将所述记录信号的每一位均初始化为低电平,并存储在寄存器中;获取当前所有工作节点发送的传输请求,将每个传输请求中的目标地址与所述目标节点的地址进行比较,若所述目标地址与所述目标节点的地址相同,则将所述记录信号中对应位的电平拉高;
所述仲裁模块,被配置为根据每个记录模块发送的记录信号,从所述其他工作节点中确定所述记录模块对应的目标接收端口待连接的源节点,并生成选择信号;将所有选择信号及对应的源节点发送的传输请求,发送到选择模块;所述源节点为所述目标接收端口待连接的工作节点;
所述选择模块,被配置为根据接收到的每个选择信号及传输请求,在所述目标接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路,用于执行不同类型的事务。
2.根据权利要求1所述的交叉开关模块,其特征在于,所述仲裁模块,被配置为根据每个记录模块发送的记录信号,从所述其他工作节点中确定所述目标节点待连接的源节点,具体包括:
确定所述记录信号的轮询顺序;
基于所述轮询顺序,遍历所述记录信号的每一位,直到当前被遍历的位为高电平,暂停遍历;
将当前被遍历的位对应的工作节点,作为待连接的源节点。
3.根据权利要求2所述的交叉开关模块,其特征在于,所述仲裁模块,被配置为确定所述记录信号的轮询顺序,具体包括:
根据接收所述记录信号时的主轮询状态,从轮询信息中获取对应的检测顺序;所述轮询信息包括:预先确定的多个循环切换的主轮询状态及对应的检测顺序;所述主轮询状态按照时钟周期进行循环切换;
将所述检测顺序,确定为所述记录信号的轮询顺序。
4.根据权利要求1所述的交叉开关模块,其特征在于,所述选择模块,具体被配置为对接收到的选择信号进行解码;
根据接收到的传输请求中的源地址及目标地址,在所述源节点与所述目标节点各自对应的传输端口之间,传输握手信号;
在握手成功后,将所述源地址对应的传输端口,及所述目标地址对应的传输端口进行连接。
5.根据权利要求1所述的交叉开关模块,其特征在于,所有工作节点通过各自对应的数据缓存模块与所述交叉开关模块进行通信。
6.根据权利要求5所述的交叉开关模块,其特征在于,所述选择模块还包括:计数器,被配置为记录每个传输通路中执行的事务已消耗的时钟周期;根据已消耗的时钟周期与所述事务的类型,判断所述传输通路中的事务是否执行完毕;
所述选择模块,还被配置为在任一类型的传输通路中的事务执行完毕的情况下,断开所述传输通路,控制其他工作节点对应的数据缓存模块发送所述类型的新的传输请求;控制所述仲裁模块,根据所述新的传输请求,重新生成所述类型的选择信号。
7.根据权利要求5所述的交叉开关模块,其特征在于,所述选择模块,还被配置为在建立任一类型的传输通路时,控制其他工作节点对应的数据缓存模块停止向所述目标节点发送所述类型的传输请求;
控制所述仲裁模块,暂停生成所述目标节点对应的所述类型的选择信号。
8.一种多核互联芯片,其特征在于,所述多核互联芯片为系统级芯片,包括:如权利要求1-7任一所述的交叉开关模块及多个工作节点;
其中,所述工作节点至少包括以下一种类型的节点:全一致性主节点RHN-F、全一致性主节点HN-F、全一致性请求节点RN-F或监听节点SN-F。
9.一种事务处理方法,其特征在于,基于权利要求1-7任一所述的交叉开关模块实现,或权利要求8所述的多核互联芯片实现,包括:
根据其他工作节点向目标节点发送的传输请求,生成记录信号;所述传输请求包括:源地址及目标地址;
根据所述记录信号,从所述其他工作节点中确定所述记录模块对应的目标接收端口待连接的源节点,并生成选择信号;
根据所有选择信号及传输请求,在所述目标节点的多个接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路;
控制所述源节点及所述目标节点,通过所述传输通路执行对应类型的事务。
10.根据权利要求9所述的事务处理方法,其特征在于,根据其他工作节点向目标节点发送的传输请求,生成记录信号,包括:
根据所述其他工作节点的数量,确定记录信号的位宽;
为所述其他工作节点中的每个工作节点分配一个标识,每个标识与所述记录信号中一位相对应;
采用二进制编码表示所述记录信号中每一位的电平状态,将所述记录信号的每一位均初始化为低电平,并存储在寄存器中;
将当前获取到的每个传输请求中的目标地址,与所述目标节点的地址进行比较,若所述目标地址与所述目标节点的地址相同,则将所述记录信号中对应位的电平拉高。
11.根据权利要求9所述的事务处理方法,其特征在于,从所述其他工作节点中确定所述目标节点待连接的源节点,包括:
确定所述记录信号的轮询顺序;
基于所述轮询顺序,遍历所述记录信号的每一位,直到当前被遍历的位为高电平,暂停遍历;
将当前被遍历的位对应的工作节点,作为待连接的源节点。
12.根据权利要求11所述的事务处理方法,其特征在于,确定所述记录信号的轮询顺序,包括:
根据接收所述记录信号时的主轮询状态,从轮询信息中获取对应的检测顺序;所述轮询信息包括:预先确定的多个循环切换的主轮询状态及对应的检测顺序;所述主轮询状态按照时钟周期进行循环切换;
将所述检测顺序,确定为所述记录信号的轮询顺序。
13.根据权利要求9所述的事务处理方法,其特征在于,根据所有选择信号及传输请求,在所述目标节点的多个接收端口与所述源节点对应的发送端口之间,建立不同类型的传输通路,包括:
根据接收到的传输请求中的源地址及目标地址,在所述源节点与所述目标节点各自对应的传输端口之间,传输握手信号;
在握手成功后,将所述源地址对应的传输端口,及所述目标地址对应的传输端口进行连接。
14.根据权利要求9所述的事务处理方法,其特征在于,还包括:
记录每个传输通路中执行的事务已消耗的时钟周期;根据已消耗的时钟周期与所述事务的类型,判断所述传输通路中的事务是否执行完毕;
在任一类型的传输通路中的事务执行完毕的情况下,断开所述传输通路,控制其他工作节点对应的数据缓存模块发送所述类型的新的传输请求,并根据所述新的传输请求,重新生成所述类型的选择信号。
15.根据权利要求9所述的事务处理方法,其特征在于,还包括:
在建立任一类型的传输通路时,控制其他工作节点对应的数据缓存模块停止向所述目标节点发送所述类型的传输请求,并暂停生成所述目标节点对应的所述类型的选择信号。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求9-15任一所述的方法中的步骤。
17.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求9-15任一所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410346544.7A CN117951070B (zh) | 2024-03-26 | 2024-03-26 | 交叉开关模块、多核互联芯片、事务处理方法及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410346544.7A CN117951070B (zh) | 2024-03-26 | 2024-03-26 | 交叉开关模块、多核互联芯片、事务处理方法及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117951070A CN117951070A (zh) | 2024-04-30 |
CN117951070B true CN117951070B (zh) | 2024-07-02 |
Family
ID=90799814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410346544.7A Active CN117951070B (zh) | 2024-03-26 | 2024-03-26 | 交叉开关模块、多核互联芯片、事务处理方法及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117951070B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132336A (zh) * | 2007-10-17 | 2008-02-27 | 中国人民解放军国防科学技术大学 | 异构多核处理器高速异步互连通信网络 |
CN102289421A (zh) * | 2011-07-26 | 2011-12-21 | 西安电子科技大学 | 一种基于交叉开关结构的片上互联方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9086973B2 (en) * | 2009-06-09 | 2015-07-21 | Hyperion Core, Inc. | System and method for a cache in a multi-core processor |
CN102629913B (zh) * | 2012-04-11 | 2014-12-24 | 浙江大学 | 适用于全局异步局部同步片上互连网络的路由器装置 |
CN109815191A (zh) * | 2019-01-31 | 2019-05-28 | 郑州云海信息技术有限公司 | 一种交叉开关及其创建方法、ip核 |
CN112152932B (zh) * | 2020-09-11 | 2022-11-18 | 山东云海国创云计算装备产业创新中心有限公司 | 片上网络路由控制方法、片上网络路由器及可读存储介质 |
CN112866148B (zh) * | 2021-01-12 | 2022-06-24 | 之江实验室 | 一种面向类脑计算芯片的芯片间数据传输系统及实现方法 |
CN115840621A (zh) * | 2021-09-18 | 2023-03-24 | 炬芯科技股份有限公司 | 一种多核系统的交互方法及相关装置 |
-
2024
- 2024-03-26 CN CN202410346544.7A patent/CN117951070B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132336A (zh) * | 2007-10-17 | 2008-02-27 | 中国人民解放军国防科学技术大学 | 异构多核处理器高速异步互连通信网络 |
CN102289421A (zh) * | 2011-07-26 | 2011-12-21 | 西安电子科技大学 | 一种基于交叉开关结构的片上互联方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117951070A (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8140704B2 (en) | Pacing network traffic among a plurality of compute nodes connected using a data communications network | |
US8161268B2 (en) | Performing an allreduce operation on a plurality of compute nodes of a parallel computer | |
US9477280B1 (en) | Specification for automatic power management of network-on-chip and system-on-chip | |
US7797445B2 (en) | Dynamic network link selection for transmitting a message between compute nodes of a parallel computer | |
US8055879B2 (en) | Tracking network contention | |
US9009648B2 (en) | Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification | |
US8122228B2 (en) | Broadcasting collective operation contributions throughout a parallel computer | |
JP4763405B2 (ja) | データ・フロー・アプリケーションのためのネットワーク・オン・チップ半自動通信アーキテクチャ | |
US8422402B2 (en) | Broadcasting a message in a parallel computer | |
US8370551B2 (en) | Arbitration in crossbar interconnect for low latency | |
US20150358211A1 (en) | Transactional traffic specification for network-on-chip design | |
US10831701B2 (en) | Configuring compute nodes in a parallel computer using remote direct memory access (‘RDMA’) | |
US8484440B2 (en) | Performing an allreduce operation on a plurality of compute nodes of a parallel computer | |
US9246861B2 (en) | Locality mapping in a distributed processing system | |
US20130060833A1 (en) | Topology mapping in a distributed processing system | |
US11816052B2 (en) | System, apparatus and method for communicating telemetry information via virtual bus encodings | |
JP3785373B2 (ja) | 通信制御回路 | |
US9246792B2 (en) | Providing point to point communications among compute nodes in a global combining network of a parallel computer | |
US20130212555A1 (en) | Developing A Collective Operation For Execution In A Parallel Computer | |
CN117951070B (zh) | 交叉开关模块、多核互联芯片、事务处理方法及产品 | |
CN116627891A (zh) | 一种软件可控的片上网络动态信用管理装置、系统及方法 | |
US9223393B2 (en) | Collective operation management in a parallel computer | |
US8868673B2 (en) | Optimized data communications in a parallel computer | |
US9336172B2 (en) | Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration | |
US8359404B2 (en) | Zone routing in a torus network |
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 |