CN105871761A - 一种高阶矩阵开关、片上网络及通信方法 - Google Patents
一种高阶矩阵开关、片上网络及通信方法 Download PDFInfo
- Publication number
- CN105871761A CN105871761A CN201610202554.9A CN201610202554A CN105871761A CN 105871761 A CN105871761 A CN 105871761A CN 201610202554 A CN201610202554 A CN 201610202554A CN 105871761 A CN105871761 A CN 105871761A
- Authority
- CN
- China
- Prior art keywords
- input
- virtual channel
- message
- output port
- target
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种高阶矩阵开关、片上网络及通信方法,该高阶矩阵开关可以包括:至少一个输入端口、至少一个输入队列、控制逻辑、交换矩阵和至少一个输出端口;输入端口,用于接收源节点发送的报文;输入队列,用于缓存从相应输入端口输入的报文;控制逻辑,用于根据输入队列中缓存的报文确定相应的输出端口;交换矩阵,用于根据每一个报文的输入队列和输出端口创建用于连接该输入队列和该输出端口的数据路径,并利用该数据路径将报文从其对应的输入队列中读出,传输给相应的输出端口;每一个输出端口,用于将接收到的各个报文分别发送给相应的目的节点。根据本方案,可以实现异步通信,从而可以降低片上网络的集成面积和功耗。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及一种高阶矩阵开关、片上网络及通信方法。
背景技术
随着集成电路技术、封装测试等技术的不断发展,单芯片的集成度越来越高,且集成功能也越来越复杂。
目前,一般使用SOC(System On Chip,片上***)作为一个集成电路,在该SOC中可以包括多个节点和片上总线,其中,片上总线用于实现SOC中各个节点之间的互连,各个节点之间通过共享片上总线的方式实现数据的传输。
然而,SOC以片上总线来实现数据传输作为主要特征,会存在全局时钟单一的问题,导致SOC集成面积和功耗较大的问题。
发明内容
本发明实施例提供了一种高阶矩阵开关、片上网络及通信方法,以解决全局时钟单一的问题。
第一方面,本发明实施例提供了一种高阶矩阵开关,包括:至少一个输入端口、至少一个输入队列、控制逻辑、交换矩阵和至少一个输出端口;其中,
每一个输入端口,用于接收源节点发送的报文;
每一个所述输入队列,与每一个输入端口相对应,用于缓存从相应输入端口输入的报文;
所述控制逻辑,用于根据所述输入队列中缓存的报文确定相应的输出端口;
所述交换矩阵,用于根据每一个报文的输入队列和输出端口创建用于连接该输入队列和该输出端口的数据路径,并利用该数据路径将报文从其对应的输入队列中读出,传输给相应的输出端口;
每一个输出端口,用于将接收到的各个报文分别发送给相应的目的节点。
其中,所述输入队列包括:至少一条输入虚信道和与每一条输入虚信道相对应的输入缓存空间;其中,每一条输入虚信道包括对应的编号,以与其他输入虚信道进行区分;
进一步包括:控制单元,用于在监测到从输入端口中输入的报文时,在该报文头微片中的虚信道域中解析出虚信道编号;将该报文通过所述虚信道编号对应的输入虚信道发送至相应的输入缓存空间。
其中,所述控制单元,具体用于在解析出所述虚信道编号之后,利用该报文对所述虚信道编号对应的输入虚信道进行锁定,并将该报文的头微片通过该输入虚信道发送至相应的输入缓存空间,以及将该报文的体微片和尾微片按照顺序依次通过该输入虚信道发送至相应的输入缓存空间,并在发送结束后释放该输入虚信道,以供其他报文使用。
其中,所述控制逻辑包括:路由计算子模块;其中,所述路由计算子模块包括:路由算法单元和输出请求生成单元;其中,
所述路由算法单元,用于根据输入队列中缓存的目标报文的路由信息计算出相应的目标输出端口,并在所述目标报文头微片中的虚信道域中解析出虚信道编号,并根据该虚信道编号确定相应的目标输出虚信道;其中,每一个输出端口对应至少一条输出虚信道;
输出请求生成单元,用于针对所述目标报文生成对所述目标输出虚信道的第一请求以及生成对所述目标输出端口的第二请求,并发送所述第一请求和所述第二请求。
其中,所述控制逻辑进一步包括:仲裁子模块;其中,所述仲裁子模块包括:输出虚信道仲裁单元和输出端口仲裁单元;其中,
所述输出虚信道仲裁单元,用于在接收到所述第一请求时,判断所述第一请求是否满足第一条件,在判断结果包括所述第一请求满足所述第一条件时,仲裁成功,并将所述目标输出虚信道分配给所述目标报文;
所述输出端口仲裁单元,用于在接收到所述第二请求时,判断所述第二请求是否满足第二条件,若判断结果包括所述第二请求满足所述第二条件时,仲裁成功,并将所述目标输出端口分配给所述目标报文,并触发所述交换矩阵执行相应操作。
其中,进一步包括:优先级配置单元,用于对每一个输入队列中缓存的报文配置优先级,以及用于对每一个输出虚信道配置优先级;
所述第一请求满足所述第一条件,包括:所述目标输出虚信道所对应的输出缓存空间包括空闲空间,和,所述目标输出虚信道中已经将上一轮仲裁的整个报文传输结束;其中,每一输出虚信道对应一个输出缓存空间;
和/或,
所述第二请求满足所述第二条件,包括:在同时请求所述目标输出端口的多个输出虚信道中,所述目标输出虚信道的优先级最高。
其中,所述交换矩阵,具体用于将缓存有所述目标报文的输入队列与所述目标输出端口之间的所述目标输出虚信道打通,并利用所述目标输出虚信道传输所述目标报文到所述目标输出端口;
所述优先级配置单元,进一步用于在所述交换矩阵利用目标输出虚信道传输所述目标报文时,将所述目标输出虚信道的优先级调整为最高,并在所述目标报文的头微片、体微片和尾微片传输结束后,按照轮询机制对与所述目标输出端口对应的各个输出虚信道进行优先级的调整。
第二方面,本发明实施例还提供了一种片上网络,包括上述一所述的高阶矩阵开关、以及多个节点;其中,
多个节点中源节点,用于向所述高阶矩阵开关发送目标报文;
多个节点中的目的节点,用于接收所述高阶矩阵开关发送的所述目标报文。
第三方面,本发明实施例还提供了一种基于上述片上网络的通信方法,应用于高阶矩阵开关,包括:
通过目标输入端口接收源节点发送的目标报文;
将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列;
根据所述目标报文确定相应的目标输出端口;
创建用于连接所述目标输入队列和所述目标输出端口的目标数据路径;
利用所述目标数据路径将所述目标报文从所述目标输入队列中读出,传输给所述目标输出端口;
利用所述目标输出端口将所述目标报文发送给相应的目的节点。
其中,所述将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列,包括:
在监测到从目标输入端口中输入的所述目标报文时,在所述目标报文头微片中的虚信道域中解析出虚信道编号;
并利用所述目标报文对该解析出的虚信道编号对应的目标输入虚信道进行锁定;
将所述目标报文的头微片通过所述目标输入虚信道发送给相应的目标输入缓存空间;
将所述目标报文的体微片和尾微片按照顺序依次通过所述目标输入虚信道发送至所述目标输入缓存空间;
在发送结束后释放所述目标输入虚信道,以供其他报文使用。
本发明实施例提供了一种高阶矩阵开关、片上网络及通信方法,利用该高阶矩阵开关中的至少一个输入端口和至少一个输出端口,输入端口与输出端口之间是通过数据路径进行数据传输的,因此,每一个节点可以工作在独立的时钟域,不同节点之间可以通过该高阶矩阵开关实现异步通信,从而可以降低片上网络的集成面积和功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种高阶矩阵开关结构示意图;
图2是本发明一个实施例提供的另一种高阶矩阵开关结构示意图;
图3是本发明一个实施例提供的片上网络结构示意图;
图4是本发明一个实施例提供的一种通信方法流程图;
图5是本发明一个实施例提供的另一种通信方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,本发明实施例提供了一种高阶矩阵开关,该高阶矩阵开关可以包括以下内容:至少一个输入端口101、至少一个输入队列102、控制逻辑103、交换矩阵104和至少一个输出端口105;其中,
每一个输入端口101,用于接收源节点发送的报文;
每一个所述输入队列102,与每一个输入端口101相对应,用于缓存从相应输入端口101输入的报文;
所述控制逻辑103,用于根据所述输入队列102中缓存的报文确定相应的输出端口105;
所述交换矩阵104,用于根据每一个报文的输入队列102和输出端口105创建用于连接该输入队列102和该输出端口105的数据路径,并利用该数据路径将报文从其对应的输入队列102中读出,传输给相应的输出端口105;
每一个输出端口105,用于将接收到的各个报文分别发送给相应的目的节点。
可见,利用该高阶矩阵开关中的至少一个输入端口和至少一个输出端口,输入端口与输出端口之间是通过数据路径进行数据传输的,因此,每一个节点可以工作在独立的时钟域,不同节点之间可以通过该高阶矩阵开关实现异步通信,从而可以降低片上网络的集成面积和功耗。
需要说明的是,该高阶矩阵开关可以是NOC(Network On Chip,片上网络)中用于实现源节点与目的节点之间数据通信的通信节点,源节点发送的报文通过高阶矩阵开关的输入端口输入,由高阶矩阵开关的输出端口输出给目的节点。
下面以该高阶矩阵开关包括输入端口1、输入端口2、…、输入端口n、输出端口1、输出端口2、…、输出端口m为例,其中,n、m均为不小于1的整数,对本发明实施例提供的高阶矩阵开关做进一步详细说明。
在本发明一个实施例中,每一个输入接口对应一个输入队列,每一个输入队列可以包括至少一条输入虚信道和与每一条输入虚信道相对应的输入缓存空间,每一条输入虚信道包括对应的编号,以与其他输入虚信道进行区分。
例如,每一个输入队列中包括4条输入虚信道以及4个分别与输入虚信道相对应的输入缓存空间。那么,以输入端口1为例,可以对应输入虚信道1、输入虚信道、输入虚信道3和输入虚信道4这四个输入虚信道,以及对应输入缓存空间1、输入缓存空间2、输入缓存空间3和输入缓存空间4。
请参考图2,在本发明一个实施例中,该高阶矩阵开关可以进一步包括:控制单元201,与各个输入端口相连以及与各个输入阵列相连,用于在监测到从输入端口中输入的报文时,在该报文头微片Flit中的虚信道域中解析出虚信道编号;将该报文通过所述虚信道编号对应的输入虚信道发送至相应的输入缓存空间。
由于报文在生成过程中,源节点在报文的头Flit中的虚信道域中添加了虚信道编号,以保证高阶矩阵开关可以利用相应的输入虚信道将报文缓存到相应输入缓存空间中。
例如,控制单元201在报文头Flit中的虚信道域中解析出的虚信道编号为1,那么控制单元可以将该报文通过输入虚信道1缓存到输入缓存空间1中进行存储。
在本发明一个实施例中,由于一个报文一般包括头Flit、至少一个体Flit和一个尾Flit,因此,该控制单元201,可以在解析出虚信道编号之后,利用该报文对所述虚信道编号对应的输入虚信道进行锁定,并将该报文的头微片通过该输入虚信道发送至相应的输入缓存空间,并将该报文的体微片和尾微片按照顺序依次通过该输入虚信道发送至相应的输入缓存空间,直到整个报文全部缓存到输入缓存空间中,则释放该输入虚信道,以供其他报文使用。
其中,报文的体Flit和尾Flit在缓存时,无需对其进行虚信道编号的判断,只需将其跟随头Flit进行传输即可。
在本发明一个实施例中,该输入队列102,可以采用先进先出(FIFO)策略,先缓存的报文先被读取出去。
请参考图2,在本发明一个实施例中,该控制逻辑103可以包括:路由计算子模块1031和仲裁子模块1032。
下面分别对路由子模块1031和仲裁子模块1032的作用进行说明。
首先,路由计算子模块1031可以包括:路由算法单元10311和输出请求生成单元10312;其中,
路由算法单元10311,用于计算输入缓存队列中待读出的各个报文的目标输出端口和目标输出虚信道,具体的,根据输入队列中缓存的目标报文的路由信息计算出相应的目标输出端口,并在目标报文头微片中的虚信道域中解析出虚信道编号,并根据该虚信道编号确定相应的目标输出虚信道,以及将确定的目标输出端口和目标输出虚信道发送给输出请求生成单元10312。
其中,每一个输出端口对应至少一条输出虚信道以及相应的输出缓存队列。
其中,该路由信息可以包括目的节点的IP地址。
输出请求生成单元10312,用于接收路由算法单元10311发送的目标输出端口和目标输出虚信道,并针对目标报文生成对目标输出虚信道的第一请求以及生成对所述目标输出端口的第二请求,并发送所述第一请求和所述第二请求。
在本发明一个实施例中,路由算法单元10311计算得到的目标输出端口和目标输出虚信道可以保存在寄存器中,直到在下一个头Flit到来,以使该头Flit所在的整个报文都使用该输出虚信道和输出端口进行数据传输。输出请求生成单元10312收到路由算法单元10311的计算结果后,第一请求和第二请求,第一请求和第二请求一直保持到目标输出端口接收到释放信号。
其次,仲裁子模块1032可以包括:输出虚信道仲裁单元10321和输出端口仲裁单元10322。其中,
输出虚信道仲裁单元10321,用于在接收到所述第一请求时,判断所述第一请求是否满足第一条件,在判断结果包括所述第一请求满足所述第一条件时,仲裁成功,并将所述目标输出虚信道分配给所述目标报文。
在本发明一个实施例中,可以采用Round-Robin轮询机制对这些请求进行仲裁。
请参考图2,在本发明一个实施例中,该高阶矩阵开关可以进一步包括:优先级配置单元202,用于对每一个输入队列中缓存的报文配置优先级,以及用于对每一个输出虚信道配置优先级。其中,该优先级的配置可以根据报文的重要程度、紧急程度等信息进行配置,以保证优先级高的报文被优先传输。
在本发明一个实施例中,该第一请求满足第一条件以确定仲裁成功,需要同时满足以下两个条件:
1、目标输出虚信道所对应的输出缓存空间包括空闲空间;本实施例通过基于credit的流控机制,来防止当下游模块缓存空间满时,上游模块仍在持续转发数据而产生报文丢失的问题。
2、该目标输出虚信道中已经将上一轮仲裁的整个报文传输结束。
输出端口仲裁单元10322,用于在接收到所述第二请求时,判断所述第二请求是否满足第二条件,若判断结果包括所述第二请求满足所述第二条件时,仲裁成功,并将所述目标输出端口分配给所述目标报文,并触发所述交换矩阵执行相应操作。
在本发明一个实施例中,该第二请求满足第二条件以确定仲裁成功,可以满足如下条件:在同时请求该目标输出端口的多个输出虚信道中,所述目标输出虚信道的优先级最高。
在本发明一个实施例中,当第一请求和第二请求被仲裁成功之后,将目标输出端口和目标输出虚信道分配给该目标报文。
在本发明一个实施例中,该交换矩阵104,是一个将输入端口和输出端口实现全互连的路径结构,具体用于将缓存有该目标报文的输入队列与该目标输出端口之间的所述目标输出虚信道打通,以将该目标输出虚信道作为数据路径,并向该目标报文的输入队列发送读信号,以从该输入队列中读取出该目标报文,并利用所述目标输出虚信道传输所述目标报文到所述目标输出端口。
进一步地,该优先级配置单元202,可以进一步用于在所述交换矩阵利用目标输出虚信道传输所述目标报文时,将所述目标输出虚信道的优先级调整为最高,并在所述目标报文的头微片、体微片和尾微片传输结束后,按照轮询机制对与所述目标输出端口对应的各个输出虚信道进行优先级的调整。
根据上实施例,各个输入端口可以在同一时钟下发送报文,且各个输出端口可以在同一时钟下输出报文,从而可以支持多CPU核的并行通信,可以提高***整体性能和吞吐量。以及得到良好的可扩展性,没有地址空间的限制,理论上源节点、目的节点的集成数目不受限制。另外,使用全局异步、局部同步机制,每一个节点工作在独立的时钟域,不同的节点之间通过该高阶矩阵开关实现异步通信,可以很好解决全局单一时钟带来的面积和功耗问题。
请参考图3,本发明实施例还提供了一种片上网络,包括上述任一所述的高阶矩阵开关301、以及多个节点302;其中,
多个节点中源节点,用于向所述高阶矩阵开关发送目标报文;
多个节点中的目的节点,用于接收所述高阶矩阵开关发送的所述目标报文。
根据本发明实施例提供的片上网络,可以实现各个节点并行通信,提高了数据传输效率,以及降低了片上网络的集成面积,且可以降低功耗。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
请参考图4,本发明实施例还提供了一种片上网络通信方法,应用于高阶矩阵开关,可以包括以下步骤:
步骤401:通过目标输入端口接收源节点发送的目标报文;
步骤402:将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列;
步骤403:根据所述目标报文确定相应的目标输出端口;
步骤404:创建用于连接所述目标输入队列和所述目标输出端口的目标数据路径;
步骤405:利用所述目标数据路径将所述目标报文从所述目标输入队列中读出,传输给所述目标输出端口;
步骤406:利用所述目标输出端口将所述目标报文发送给相应的目的节点。
请参考图5,在本发明一个实施例中,步骤402可以包括:
步骤501:在监测到从目标输入端口中输入的所述目标报文时,在所述目标报文头微片中的虚信道域中解析出虚信道编号;
步骤502:并利用所述目标报文对该解析出的虚信道编号对应的目标输入虚信道进行锁定;
步骤503:将所述目标报文的头微片通过所述目标输入虚信道发送给相应的目标输入缓存空间;
步骤504:将所述目标报文的体微片和尾微片按照顺序依次通过所述目标输入虚信道发送至所述目标输入缓存空间;
步骤505:在发送结束后释放所述目标输入虚信道,以供其他报文使用。
在本发明一个实施例中,对于一个缓存到输入缓存空间的报文一般可以经过如下几个步骤:输出端口分配、输出虚信道分配、仲裁和数据传输,报文经过这四级处理后,最后转发出去。
由于在报文中仅头Flit中包含路由信息,所以当头Flit被分别了输出端口和输出虚信道成功后,其它体Flit和尾Flit可以直接使用头Flit的分配结果,跳过输出端口分配和输出虚信道分配的过程,直接进入到仲裁和数据传输。
综上,本发明实施例至少可以实现如下有益效果:
1、在本发明实施例中,利用该高阶矩阵开关中的至少一个输入端口和至少一个输出端口,输入端口与输出端口之间是通过数据路径进行数据传输的,因此,每一个节点可以工作在独立的时钟域,不同节点之间可以通过该高阶矩阵开关实现异步通信,从而可以降低片上网络的集成面积和功耗。
2、在本发明实施例中,各个输入端口可以在同一时钟下发送报文,且各个输出端口可以在同一时钟下输出报文,从而可以支持多CPU核的并行通信,可以提高***整体性能和吞吐量。以及得到良好的可扩展性,没有地址空间的限制,理论上源节点、目的节点的集成数目不受限制。另外,使用全局异步、局部同步机制,每一个节点工作在独立的时钟域,不同的节点之间通过该高阶矩阵开关实现异步通信,可以很好解决全局单一时钟带来的面积和功耗问题。
3、在本发明实施例中,可以实现各个节点并行通信,提高了数据传输效率,以及降低了片上网络的集成面积,且可以降低功耗。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种高阶矩阵开关,其特征在于,包括:至少一个输入端口、至少一个输入队列、控制逻辑、交换矩阵和至少一个输出端口;其中,
每一个输入端口,用于接收源节点发送的报文;
每一个所述输入队列,与每一个输入端口相对应,用于缓存从相应输入端口输入的报文;
所述控制逻辑,用于根据所述输入队列中缓存的报文确定相应的输出端口;
所述交换矩阵,用于根据每一个报文的输入队列和输出端口创建用于连接该输入队列和该输出端口的数据路径,并利用该数据路径将报文从其对应的输入队列中读出,传输给相应的输出端口;
每一个输出端口,用于将接收到的各个报文分别发送给相应的目的节点。
2.根据权利要求1所述的高阶矩阵开关,其特征在于,
所述输入队列包括:至少一条输入虚信道和与每一条输入虚信道相对应的输入缓存空间;其中,每一条输入虚信道包括对应的编号,以与其他输入虚信道进行区分;
进一步包括:控制单元,用于在监测到从输入端口中输入的报文时,在该报文头微片中的虚信道域中解析出虚信道编号;将该报文通过所述虚信道编号对应的输入虚信道发送至相应的输入缓存空间。
3.根据权利要求2所述的高阶矩阵开关,其特征在于,所述控制单元,具体用于在解析出所述虚信道编号之后,利用该报文对所述虚信道编号对应的输入虚信道进行锁定,并将该报文的头微片通过该输入虚信道发送至相应的输入缓存空间,以及将该报文的体微片和尾微片按照顺序依次通过该输入虚信道发送至相应的输入缓存空间,并在发送结束后释放该输入虚信道,以供其他报文使用。
4.根据权利要求1所述的高阶矩阵开关,其特征在于,所述控制逻辑包括:路由计算子模块;其中,所述路由计算子模块包括:路由算法单元和输出请求生成单元;其中,
所述路由算法单元,用于根据输入队列中缓存的目标报文的路由信息计算出相应的目标输出端口,并在所述目标报文头微片中的虚信道域中解析出虚信道编号,并根据该虚信道编号确定相应的目标输出虚信道;其中,每一个输出端口对应至少一条输出虚信道;
输出请求生成单元,用于针对所述目标报文生成对所述目标输出虚信道的第一请求以及生成对所述目标输出端口的第二请求,并发送所述第一请求和所述第二请求。
5.根据权利要求4所述的高阶矩阵开关,其特征在于,所述控制逻辑进一步包括:仲裁子模块;其中,所述仲裁子模块包括:输出虚信道仲裁单元和输出端口仲裁单元;其中,
所述输出虚信道仲裁单元,用于在接收到所述第一请求时,判断所述第一请求是否满足第一条件,在判断结果包括所述第一请求满足所述第一条件时,仲裁成功,并将所述目标输出虚信道分配给所述目标报文;
所述输出端口仲裁单元,用于在接收到所述第二请求时,判断所述第二请求是否满足第二条件,若判断结果包括所述第二请求满足所述第二条件时,仲裁成功,并将所述目标输出端口分配给所述目标报文,并触发所述交换矩阵执行相应操作。
6.根据权利要求5所述的高阶矩阵开关,其特征在于,
进一步包括:优先级配置单元,用于对每一个输入队列中缓存的报文配置优先级,以及用于对每一个输出虚信道配置优先级;
所述第一请求满足所述第一条件,包括:所述目标输出虚信道所对应的输出缓存空间包括空闲空间,和,所述目标输出虚信道中已经将上一轮仲裁的整个报文传输结束;其中,每一输出虚信道对应一个输出缓存空间;
和/或,
所述第二请求满足所述第二条件,包括:在同时请求所述目标输出端口的多个输出虚信道中,所述目标输出虚信道的优先级最高。
7.根据权利要求6所述的高阶矩阵开关,其特征在于,
所述交换矩阵,具体用于将缓存有所述目标报文的输入队列与所述目标输出端口之间的所述目标输出虚信道打通,并利用所述目标输出虚信道传输所述目标报文到所述目标输出端口;
所述优先级配置单元,进一步用于在所述交换矩阵利用目标输出虚信道传输所述目标报文时,将所述目标输出虚信道的优先级调整为最高,并在所述目标报文的头微片、体微片和尾微片传输结束后,按照轮询机制对与所述目标输出端口对应的各个输出虚信道进行优先级的调整。
8.一种片上网络,其特征在于,包括上述权利要求1-7中任一所述的高阶矩阵开关、以及多个节点;其中,
多个节点中源节点,用于向所述高阶矩阵开关发送目标报文;
多个节点中的目的节点,用于接收所述高阶矩阵开关发送的所述目标报文。
9.一种基于上述权利要求7所述的片上网络通信方法,其特征在于,应用于高阶矩阵开关,包括:
通过目标输入端口接收源节点发送的目标报文;
将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列;
根据所述目标报文确定相应的目标输出端口;
创建用于连接所述目标输入队列和所述目标输出端口的目标数据路径;
利用所述目标数据路径将所述目标报文从所述目标输入队列中读出,传输给所述目标输出端口;
利用所述目标输出端口将所述目标报文发送给相应的目的节点。
10.根据权利要求9所述的方法,其特征在于,所述将所述目标报文缓存到与所述目标输入端口相对应的目标输入队列,包括:
在监测到从目标输入端口中输入的所述目标报文时,在所述目标报文头微片中的虚信道域中解析出虚信道编号;
并利用所述目标报文对该解析出的虚信道编号对应的目标输入虚信道进行锁定;
将所述目标报文的头微片通过所述目标输入虚信道发送给相应的目标输入缓存空间;
将所述目标报文的体微片和尾微片按照顺序依次通过所述目标输入虚信道发送至所述目标输入缓存空间;
在发送结束后释放所述目标输入虚信道,以供其他报文使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610202554.9A CN105871761A (zh) | 2016-04-01 | 2016-04-01 | 一种高阶矩阵开关、片上网络及通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610202554.9A CN105871761A (zh) | 2016-04-01 | 2016-04-01 | 一种高阶矩阵开关、片上网络及通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105871761A true CN105871761A (zh) | 2016-08-17 |
Family
ID=56627853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610202554.9A Pending CN105871761A (zh) | 2016-04-01 | 2016-04-01 | 一种高阶矩阵开关、片上网络及通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871761A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107743101A (zh) * | 2017-09-26 | 2018-02-27 | 杭州迪普科技股份有限公司 | 一种数据的转发方法及装置 |
CN110691043A (zh) * | 2019-09-11 | 2020-01-14 | 无锡江南计算技术研究所 | 一种支持多源多虚通道非连续传输的插花整理方法 |
CN114064562A (zh) * | 2022-01-17 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种片上网络的esl建模的方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070041405A1 (en) * | 2005-06-23 | 2007-02-22 | Navada Muraleedhara H | Method and system for response determinism by synchronization |
CN104158738A (zh) * | 2014-08-29 | 2014-11-19 | 中国航空无线电电子研究所 | 一种低缓冲区片上网络路由器及路由方法 |
CN104780122A (zh) * | 2015-03-23 | 2015-07-15 | 中国人民解放军信息工程大学 | 基于缓存再分配的层次化片上网络路由器的控制方法 |
CN104994026A (zh) * | 2015-05-27 | 2015-10-21 | 复旦大学无锡研究院 | 一种应用于片上网络支持硬实时通信的路由开关 |
-
2016
- 2016-04-01 CN CN201610202554.9A patent/CN105871761A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070041405A1 (en) * | 2005-06-23 | 2007-02-22 | Navada Muraleedhara H | Method and system for response determinism by synchronization |
CN104158738A (zh) * | 2014-08-29 | 2014-11-19 | 中国航空无线电电子研究所 | 一种低缓冲区片上网络路由器及路由方法 |
CN104780122A (zh) * | 2015-03-23 | 2015-07-15 | 中国人民解放军信息工程大学 | 基于缓存再分配的层次化片上网络路由器的控制方法 |
CN104994026A (zh) * | 2015-05-27 | 2015-10-21 | 复旦大学无锡研究院 | 一种应用于片上网络支持硬实时通信的路由开关 |
Non-Patent Citations (2)
Title |
---|
刘亮亮,韩国栋等: "《一种基于微片分组的片上网络微节点交叉开关调度机制》", 《小型微型计算机***》 * |
胡哲琨,陈杰: "《消息传递型片上多核***的设计》", 《湖南大学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107743101A (zh) * | 2017-09-26 | 2018-02-27 | 杭州迪普科技股份有限公司 | 一种数据的转发方法及装置 |
CN107743101B (zh) * | 2017-09-26 | 2020-10-09 | 杭州迪普科技股份有限公司 | 一种数据的转发方法及装置 |
CN110691043A (zh) * | 2019-09-11 | 2020-01-14 | 无锡江南计算技术研究所 | 一种支持多源多虚通道非连续传输的插花整理方法 |
CN110691043B (zh) * | 2019-09-11 | 2021-10-29 | 无锡江南计算技术研究所 | 一种支持多源多虚通道非连续传输的插花整理方法 |
CN114064562A (zh) * | 2022-01-17 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种片上网络的esl建模的方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10084692B2 (en) | Streaming bridge design with host interfaces and network on chip (NoC) layers | |
CN105007226B (zh) | 一种基于包电路交换技术的多播路由器及其工作方式 | |
US10218581B2 (en) | Generation of network-on-chip layout based on user specified topological constraints | |
CN102185751B (zh) | 一种基于快速通道技术的单周期片上路由器 | |
CN106603420B (zh) | 一种具有实时和容错特性的片上网络路由器 | |
US20190266088A1 (en) | Backbone network-on-chip (noc) for field-programmable gate array (fpga) | |
CN101834789B (zh) | 面向包-电路交换片上路由器的回退转向路由算法及所用路由器 | |
WO2022094771A1 (zh) | 网络芯片和网络设备 | |
CN102685017A (zh) | 一种基于fpga的片上网络路由器 | |
CN103595627A (zh) | 基于多播维序路由算法的NoC路由器及其路由算法 | |
US10983910B2 (en) | Bandwidth weighting mechanism based network-on-chip (NoC) configuration | |
US10547514B2 (en) | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation | |
CN105871761A (zh) | 一种高阶矩阵开关、片上网络及通信方法 | |
CN109582622A (zh) | 基于三维Mesh片上网络的双链路互连架构 | |
US20020196745A1 (en) | Method for the broadcasting of a data packet within a switched network based on an optimized calculation of the spanning tree | |
Lusala et al. | Combining SDM‐Based Circuit Switching with Packet Switching in a Router for On‐Chip Networks | |
WO2016004820A1 (zh) | 交换***的流量转发方法和装置 | |
US7218638B2 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
CN103152275A (zh) | 一种适用于片上网络的可配置交换机制的路由器 | |
CN103491023B (zh) | 用于三维torus光电混合网络的路由方法 | |
CN105893321A (zh) | 片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法 | |
US7272151B2 (en) | Centralized switching fabric scheduler supporting simultaneous updates | |
US20180198682A1 (en) | Strategies for NoC Construction Using Machine Learning | |
Adamu et al. | Review of deterministic routing algorithm for network-on-chip | |
Lee et al. | Design of a feasible on-chip interconnection network for a chip multiprocessor (cmp) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160817 |
|
RJ01 | Rejection of invention patent application after publication |