CN102629913B - 适用于全局异步局部同步片上互连网络的路由器装置 - Google Patents
适用于全局异步局部同步片上互连网络的路由器装置 Download PDFInfo
- Publication number
- CN102629913B CN102629913B CN201210104961.8A CN201210104961A CN102629913B CN 102629913 B CN102629913 B CN 102629913B CN 201210104961 A CN201210104961 A CN 201210104961A CN 102629913 B CN102629913 B CN 102629913B
- Authority
- CN
- China
- Prior art keywords
- virtual channel
- cross bar
- bar switch
- microplate
- router
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种适用于全局异步局部同步片上互连网络的路由器装置,具有3个流水级,在BW/RC级对微片进行缓存和时钟域的转换,并利用时钟域转换的延迟对数据包进行路由计算和对计算结果的同步;在VA/SA级以投机的方式同时对虚通道和交叉开关的使用权进行申请,虚通道分配器对虚通道请求做出仲裁,交叉开关分配器只对非投机微片的交叉开关请求进行仲裁,并直接将虚通道请求的仲裁结果直接做为微片投机申请交叉开关的仲裁结果,交叉开关分配器优先选择非投机交叉开关请求的仲裁结果做为最终的交叉开关分配结果;在ST级,交叉开关选择器根据交叉开关的仲裁结果,连通相应虚通道的输入端口至输出端口,微片离开异步缓存通过路由器。
Description
技术领域
本发明涉及一种适用于全局异步局部同步片上互连网络的路由器装置。
背景技术
随着集成电路工艺的不断进步,单芯片上能够集成的知识产权核越来越多,系统对通信带宽的需求也越来越大。在传统的芯片中,通常使用总线作为各个设备之间通信的主要结构,然而一条总线同时只能支持一对设备之间的通信,总线带宽不会随着总线设备数目的增加而增加,却面临着延迟和功耗增大等问题,已经无法满足各知识产权核之间的通信需求。于是,研究人员借鉴并行计算机互连网络技术,提出片上互连网络用于取代总线为片上各个知识产权核提供通信服务。片上互连网络成为大规模片上互连的优选解决方案之
路由器是构成片上互连网络的核心部件,数据包以跳步的形式经过路径上的每一个路由器到达目的地。在片上互连网络中,通常采用虫孔交换。数据包以微片为基本单位在网络中传输,一个数据包可以划分为一个头微片,若干个体微片和一个尾微片,按顺序依次在网络中传输。数据包需要申请路由器中的资源以通过路由器向下一跳路由器传输,所需的资源包括下一跳路由器的虚通道缓存和本级路由器的交叉开关使用权。虚通道缓存的分配以数据包为单位,由数据包的头微片申请,一个数据包内的所有微片共用同一个虚通道缓存,并且只能使用该虚通道缓存,虚通道缓存被一个数据包使用时,其他数据包不能使用该虚通道缓存。交叉开关的分配以微片为单位,数据包中的每个微片都需要独立地申请交叉开关的使用权。通常,数据包通过路由器包括如下5个步骤:
1)写缓存:路由器在输入通道中提供缓存用于暂时存储数据包中的微片。一个输入通道提供多个虚通道缓存用于存储来自不同数据包的微片。虚通道之间共享路由器的物理链路。在路由器之间传输微片的同时,需要传输微片所要写入的虚通道编号,路由器根据虚通道编号将微片写入相应的虚通道缓存。微片将一直保存在虚通道缓存中,直到它可以离开路由器继续传输。
2)路由计算:数据包的头微片包含路由信息,当头微片从虚通道缓存中读取后,路由器提取头微片中的路由信息,计算数据包的输出端口。
3)虚通道分配:数据包根据路由计算的结果,向相应输出端口的虚通道分配器申请一个与该输出端口连接的下一跳路由器中的虚通道。可能同时存在多个虚通道请求,虚通道分配器将在请求之间做出仲裁,选择出获得仲裁的请求,并返回该请求可以使用的虚通道编号。
4)交叉开关分配:数据包获得下一跳路由器虚通道的使用权后,头微片向位于同一个输出端口的交叉开关分配器申请交叉开关的使用权。可能同时存在多个交叉开关请求,交叉开关分配器将在请求之间做出仲裁,选择出获得仲裁的请求,允许其使用交叉开关。
5)通过路由器:当微片赢得了交叉开关仲裁后,离开虚通道缓存通过路由器向下一跳路由器传输。
对于体微片和尾微片,它们通过路由器时不需要经过步骤2和3。同一个数据包内的所有微片拥有相同的路由结果并使用同一条虚通道。尾微片离开虚通道时,将释放由头微片保留的虚通道。
对上述5个步骤进行流水化处理可提高路由器的工作频率,每个步骤成为一个流水级依次执行,在网络零负载的条件下,一个微片通过路由器需要5个时钟周期。
为了减小网络的传输延迟,需要缩小微片通过路由器的延迟。在不影响路由器工作频率的前提下,缩短路由器的流水级数可以达到目的。缩短流水级的方法是流水级的并行执行。
与本发明相关的现有技术具体如下:
1、现有技术一的技术方案:
现有的路由器为了使微片从虚通道中读取后直接进入虚通道分配阶段,采用前瞻路由。前瞻路由要求在上一跳路由器中计算下一跳路由器中使用的路由结果,并通过路由器之间的物理通道把路由计算结果传输给下一跳路由器。路由计算结果和微片一起写入虚通道缓存。微片从虚通道缓存读取的同时,读取路由计算结果,用于虚通道分配。该技术需要扩展虚通道缓存的位宽,用于保存路由计算的结果,增加的位宽等于路由计算结果信号的位宽。微片和路由计算结果从虚通道缓存中读取后,路由计算结果用于虚通道分配,如果微片是头微片,则对微片在下一跳路由器中将使用的路由结果进行计算。读取后的微片和下一跳路由器中使用的路由计算结果一起传输至下一跳路由器。前瞻路由的实现如图1所示,每个虚通道需要配置一个路由计算单元。与常见的5级流水路由器相比,前瞻路由的物理开销在于路由器之间用于传输路由结果的物理连线和虚通道缓存中用于保存路由计算结果的寄存器开销。
其存在着以下缺点:
前瞻路由的缺点在于路由器之间额外的用于传输路由计算结果的物理连线开销和虚通道缓存开销。1)在全局异步局部同步的片上互连网络中,由于对微片进行时钟域转换需要3个读时钟周期,发明人发现:可以利用这段时间进行路由计算,即在本级路由器中进行路由计算,从而不需要路由器之间的连线开销,路由计算的结果可以在3个读时钟周期内完成,当微片可以从虚通道缓存读端口读取时,路由计算的结果也准备就绪。2)前瞻路由要求扩展虚通道缓存中的每一项的位宽,用于存储路由计算结果,增加了缓存的成本。发明人发现:只有在传输头微片时路由计算结果才是有效的,在传输其他微片时路由计算结果是无效的,虚通道缓存中的项用于存储其他微片时,路由计算结果扩展位是无效的。一个数据包仅有一个头微片,路由计算结果扩展位的利用率很低。3)前瞻路由不能减小对路由计算单元数量的需求。
2、现有技术二的技术方案
文献1(L.S.Peh,W.J.Dal ly.A delay model and speculative architecture forpipel ined routers.Proceedings of the 7th International Symposium onHigh-Performance Computer Architecture,2001.pp.255-266)提出了交叉开关使用权的投机申请方式,交叉开关分配器同时接受投机的交叉开关请求和非投机的交叉开关请求,使用两个仲裁器分别对投机的交叉开关请求和非投机的交叉开关请求进行仲裁。非投机的交叉开关请求的优先级高于投机的交叉开关请求。当存在非投机的交叉开关请求时,投机的交叉开关请求被忽略。交叉开关使用权的投机申请允许数据包的头微片在申请虚通道使用权的同时申请交叉开关的使用权。在网络零负载的条件下,虚通道请求和交叉开关请求可以同时得到满足。文献1的交叉开关分配器如图2所示,每个虚通道中的微片拥有两种交叉开关请求,非投机交叉开关请求和投机交叉开关请求,同一时刻只能有一种交叉开关请求有效,当请求有效时,请求信号为高电平。每个虚通道都可以向交叉开关分配器申请交叉开关的使用,当有多个虚通道中的微片申请交叉开关的使用权时,进入交叉开关分配器的投机(非投机)请求信号有多个比特为高电平,仲裁器对请求信号进行仲裁,保证只有一个投机(非投机)交叉开关请求可以获得仲裁,仲裁器输出的仲裁结果中,获得仲裁的请求的相应比特位为高电平,其余位均为低电平。非投机的交叉开关请求的仲裁结果经过逻辑或门,判断是否存在非投机的交叉开关请求。当或门的输出为高电平时,表示存在非投机的交叉开关请求,则选择器选择非投机的交叉开关仲裁结果做为交叉开关分配结果;当或门的输出为低电平时,表示不存在非投机的交叉开关请求,则选择器选择投机的交叉开关仲裁结果作为交叉开关分配结果。
其存在着以下缺点:
在网络零负载的条件下,当数据包的头微片出现在虚通道缓存的读端口时,同时产生虚通道请求和投机的交叉开关请求。由于不存在竞争,虚通道分配和交叉开关分配的结果都是相同的,将许可授予了同一个微片。这样,微片可以在下一个时钟周期离开虚通道缓存向下一跳路由器传输。文献1的虚通道分配器和交叉开关分配器之间是相互独立的,即两者拥有独立的请求和仲裁,虚通道分配的结果和交叉开关分配的结果是不相关的。当路由器中只有一个数据包时,虚通道和交叉开关的使用权都将授予同一个微片,则微片虚通道申请是成功的,投机的交叉开关申请也是成功的。但是,当路由器中同时存在多个数据包时,虚通道和交叉开关分配的结果可能是不同的。如有两个数据包,数据包1和数据包2,分别缓冲在不同的虚通道缓存中。两个数据包的头微片在同一个时钟周期到达各自虚通道缓存的读端口,并产生虚通道请求和投机的交叉开关请求。由于虚通道分配和交叉开关分配的过程是相互独立的,可能出现两种分配结果。1)虚通道和交叉开关的使用权分配给了同一个微片,如数据包1的头微片,则数据包1的头微片的投机是成功的,下一个时钟周期就可以离开当前路由器。2)虚通道和交叉开关的使用权分配给了不同的微片,如虚通道的使用权授予了数据包1的头微片,交叉开关的使用权授予了数据包2的头微片。由于没有一个微片能够同时获得虚通道和交叉开关的使用权,下一个时钟周期,两个微片都不能离开当前路由器,投机的目的没有达到。在存在多个数据包同时投机的情况下,文献1方案的投机成功率不能达到100%,原因是文献1的设计不能保证虚通道分配和投机交叉开关分配的许可都授予同一个微片。
文献1的交叉开关分配器需要使用两个仲裁器分别对非投机的交叉开关请求和投机的交叉开关请求进行仲裁,而在普通的5级流水的路由器的交叉开关分配器中,只需要一个仲裁器,与之间比增加了电路开销。
发明内容
本发明要解决的技术问题是提供一种适用于全局异步局部同步片上互连网络的路由器装置,该路由器适用于全局异步局部同步的片上互连网络,采用路由计算和写缓存并行执行和交叉开关投机申请技术,缩短路由器的流水级数,减小微片通过路由器的延迟。
为了解决上述技术问题,本发明提供一种适用于全局异步局部同步片上互连网络的路由器装置,其特征是:
路由器具有3个流水级,分别为写缓存和路由计算(BW/RC)、虚通道分配和交叉开关分配(VA/SA)、以及通过路由器(ST);
该路由器在BW/RC级对微片进行缓存和时钟域的转换,并利用时钟域转换的延迟对数据包进行路由计算和对计算结果的同步;在VA/SA级以投机的方式同时对虚通道和交叉开关的使用权进行申请,虚通道分配器对虚通道请求做出仲裁,交叉开关分配器只对非投机微片的交叉开关请求进行仲裁,并直接将虚通道请求的仲裁结果直接做为微片投机申请交叉开关的仲裁结果,交叉开关分配器优先选择非投机交叉开关请求的仲裁结果做为最终的交叉开关分配结果;在ST级,交叉开关选择器根据交叉开关的仲裁结果,连通相应虚通道的输入端口至输出端口,微片离开异步缓存通过路由器。
作为本发明的适用于全局异步局部同步片上互连网络的路由器装置的改进:
在全局异步局部同步的片上互连网络路由器中,利用异步先入先出缓存对微片进行时钟域转换的延迟对数据包头微片进行路由计算,并在微片可在异步先入先出缓存的读端口被读取时可供后续电路使用;
在路由器的交叉开关分配器中,直接采用虚通道分配的结果做为投机交叉请求的仲裁结果。
作为本发明的适用于全局异步局部同步片上互连网络的路由器装置的进一步改进:路由器在网络中的最小传输单位是微片,微片由微片头和载荷两部分组成;微片头包含微片的类型、源地址和目的地址信息,载荷为微片传输的有效数据;路由器根据每个数据包头微片中的微片头中的信息进行路由计算。
作为本发明的适用于全局异步局部同步片上互连网络的路由器装置的进一步改进:所述路由器装置包括:
多个物理通道用于物理微片的传输,物理通道的宽度为一个微片宽度,每个物理通道可以提供多个虚通道,在输入通道中使用异步先入先出缓存构建虚通道缓存,输出通道不提供通道缓存,缓存宽度为一个微片宽度,深度可为2的N次方;
注:物理通道中的一部分为输入通道,剩余的为输出通道;N为非负整数,即深度可为1,2,4,8……;
多个路由计算单元,分布在输入通道的入口,根据输入微片的微片头信息决定微片的转发方向,每个输入通道中的虚通道之间共享一个路由计算单元;
多个输入信号分配器,根据微片携带的虚通道编号将数据(微片数据信号114)和控制信号(微片写使能信号112、路由计算结果127和路由结果有效信号132)传递给相应的虚通道缓存和虚通道状态寄存器;
多组虚通道状态寄存器,用于记录虚通道的状态,并拥有相应的逻辑电路根据虚通道状态寄存器的值产生虚通道请求和交叉开关请求;每条虚通道都拥有独立的虚通道状态寄存器和请求产生逻辑;
多个分布式虚通道分配器,每个输出通道拥有一个虚通道分配器,当同时存在多个虚通道请求时,根据一定的仲裁策略选择其中一个请求获得虚通道的使用权;虚通道分配器根据下一跳路由器中虚通道的占用状态维护一个可被分配的虚通道队列,从中选择一条虚通道分配给赢得仲裁的请求;
多个分布式交叉开关分配器,每个输出通道拥有一个交叉开关分配器,对非投机的交叉开关请求进行仲裁,并使用虚通道分配器的仲裁结果作为投机交叉开关请求的仲裁结果,交叉开关分配器优先选择非投机交叉开关请求的仲裁结果;
多个分布式交叉开关选择器,每个输出通道拥有一个交叉开关选择器,根据交叉开关分配器的仲裁结果提供输入虚通道到输出通道的连接。
作为本发明的适用于全局异步局部同步片上互连网络的路由器装置的进一步改进:
路由器工作在多个时钟域,适用于全局异步局部同步的片上互连网络;路由器每个输入通道中的异步先入先出缓存的写端口,路由计算单元、输入信号分配器和部分虚通道状态寄存器工作在各自的时钟域,时钟信号由与输入通道相连的上一跳路由器提供;微片通过异步先入先出缓存同步到路由器本地时钟域,即异步先入先出缓存的读端口工作在路由器本地时钟域;路由器中的另一部分虚通道状态寄存器、虚通道分配器、交叉开关分配器、以及交叉开关选择器等均工作在路由器的本地时钟域;路由器中的微片、传输请求和控制信号都由路由器本地时钟域同步后向下一跳路由器输出,路由器的本地时钟也同时传输到下一跳路由器;路由器的每一个输入通道都可以连接一个不同时钟域的信号,构成全局异步局部同步的片上互连网络;
路由器为每个输入通道提供一个路由计算单元,使用一定的路由算法对数据包的头微片进行路由计算;当数据包中的其他微片进入输入通道时,不需要进行路由计算,直接使用头微片获得的路由计算结果;路由计算与微片写入异步先入先出缓存在同一个时钟周期进行;在微片传输的同时,上一跳路由器提供微片所使用的虚通道号,用于选择本级路由器中的相应虚通道缓存和状态寄存器的控制信号;微片写缓存和路由计算在BW/RC级完成;
路由器为每个输入通道提供一个输入信号分配器,根据微片携带的虚通道编号,将微片数据写入相应编号的虚通道缓存,并将路由计算结果写入相应编号的虚通道状态寄存器;
路由器为每个虚通道提供一组虚通道状态寄存器,记录数据包路由计算的结果、异步先入先出缓存的空满指示、虚通道的占用状态、虚通道申请的结果、以及得到的虚通道编号;保存路由结果的寄存器和虚通道满状态的寄存器工作在上一跳路由器的时钟域,其他寄存器均工作在本地路由器的时钟域;虚通道的满信号和占用状态需要反馈给上一跳路由器,用于流量控制和虚通道分配;路由器为每组虚通道状态寄存器提供相应的逻辑产生虚通道的申请和交叉开关的申请,请求信号在VA/SA级产生;
路由器提供多个虚通道分配器,用于为数据包分配一条下一跳路由器中的虚通道;虚通道分配器根据下一跳路由器反馈的信号维护虚通道分配状态的列表,虚通道占用状态是产生于下一跳路由器本地时钟域的信号,虚通道分配器提供同步器将虚通道占用状态同步到虚通道分配器所在的时钟域;当有多个数据包同时申请虚通道时,虚通道分配器中的仲裁单元使用一定的算法选出优先级最高的数据包获得虚通道的使用权,并将可用虚通道的编号反馈给该数据包所在虚通道的状态寄存器;虚通道分配器将向交叉开关分配器提供虚通道分配的结果,用于交叉开关的投机申请;虚通道分配的过程在VA/SA级完成;
路由器提供多个交叉开关分配器,每个交叉开关分配器分别控制一个交叉开关选择器;每个交叉开关分配器具有一个仲裁单元,用于对非投机数据包的交叉开关请求做出仲裁;已经获得下一跳路由器中虚通道使用权的数据包称为非投机数据包,未获得下一跳路由器中虚通道使用权的数据包称为投机数据包;交叉开关分配器使用虚通道分配器提供的虚通道分配结果做为投机交叉开关请求的仲裁结果;当有非投机数据包参与交叉开关的分配时,选择非投机的交叉开关请求的仲裁结果做为最终的交叉开关分配结果;当没有非投机数据包参与交叉开关分配时,选择投机交叉开关请求的仲裁结果做为最终的交叉开关分配结果;交叉开关分配的过程在VA/SA级完成;
路由器提供多个全连接的交叉开关选择器,每个交叉开关选择器负责一个路由器输出端口;每条虚通道都拥有一个交叉开关选择器输入端口,可以直接连接到任意一个交叉开关选择器的输出端口;每个交叉开关选择器的连接配置由交叉开关分配器决定;获得交叉开关使用权的微片在交叉开关配置完成后离开虚通道缓存到达路由器的输出端口,该过程在ST级完成。
本发明提供的适用于片上多处理器和多处理器系统芯片的片上互连网络的路由器装置。
本发明采用模块化设计,路由器的路由计算单元、输入信号分配器、虚通道状态寄存器、申请产生逻辑、虚通道分配器、交叉开关分配器、以及交叉开关选择器均设计成复用的可扩展模块。
本发明采用路由计算和写缓存并行执行和交叉开关投机申请技术,即将现有技术中的步骤2和步骤1并行执行,微片从虚通道缓存中读取后直接进入步骤3,步骤4以投机的方式和步骤3并行执行,如果步骤4投机成功,微片同时获得下一跳路由器虚通道的使用权和本级路由器交叉开关的使用权,在下一个时钟周期进入步骤5。采用上述技术后,在网络零负载的条件下,一个微片通过路由器仅需要3个时钟周期。本发明的路由器可用于全局异步局部同步的片上互连网络,虚通道缓存采用异步先入先出缓存,异步先入先出缓存工作在两个时钟域,写端口时钟域和读端口时钟域,数据从写入异步先入先出缓存到可以从读端口读出需要3个读时钟周期,本发明利用这段时间,在数据可以被读取前,完成对数据包的路由计算。本发明同时采用投机交叉开关申请技术,已经获得下一跳路由器虚通道使用权的数据包中的微片产生的交叉开关请求称为非投机交叉开关请求,尚未获得下一跳路由器虚通道使用权的数据包中的微片产生的交叉开关请求称为投机交叉开关请求。本发明将虚通道分配的结果做为投机交叉开关请求的仲裁结果,交叉开关分配器仅对非投机交叉开关请求进行仲裁,如果存在非投机交叉开关请求,则将非投机交叉开关请求的仲裁结果做为交叉开关的最终分配结果,如果不存在非投机的交叉开关请求,则将投机交叉开关请求的仲裁结果做为交叉开关的最终分配结果。投机的交叉开关请求优先级低于非投机的交叉开关请求,当采用投机交叉开关请求的仲裁结果做为交叉开关的最终分配结果时,称为交叉开关投机申请成功,由于虚通道分配的结果与之相同,允许数据包的头微片在同一个时钟内同时获得下一跳路由器中虚通道的使用权和本级路由器交叉开关的使用权。
终上所述,本发明采用的路由计算和写缓存并行执行技术,利用异步先入先出缓存对微片进行时钟域转换的延迟,完成对数据包头微片的路由计算,实现当微片可以从先入先出缓存中读取时,路由计算已经完成,可供使用。本发明采用的这项技术实现了与前瞻路由相同的效果,但与前瞻路由相比具有明显的优点:1)路由计算在本级路由器完成,不需要在路由器之间传输路由计算结果,从而不存在物理连线开销;2)采用独立于虚通道缓存的寄存器记录路由计算结果,无需扩展虚通道缓存的位宽,节约了存储资源;3)路由计算单元的位置从虚通道读端口之后调整到虚通道写端口之前,由于每个时钟周期路由器的一个输入通道只能接收一个微片,同一输入通道中的各虚通道之间可以共享一个路由计算单元而不会产生资源冲突和性能下降,从而减少路由计算单元的数量需求。
本发明采用的交叉开关投机申请技术,关注虚通道请求的仲裁结果和投机交叉开关请求的仲裁结果之间的相关性,投机成功是指微片同时获得虚通道使用权和交叉开关使用权。在网络零负载的条件下,虚通道分配结果和交叉开关分配结果是一致的;当网络中出现多个数据包在申请虚通道使用权的同时投机申请交叉开关的使用权时,可能会出现虚通道分配结果和交叉开关分配结果不一致的情况,这会导致投机失败。本发明消除了多数据包同时投机申请交叉开关使用权时可能出现的投机失败的情况。本发明的交叉开关分配器只对非投机的交叉开关请求进行仲裁,而将同一个时钟周期的虚通道分配结果直接做为投机的交叉开关仲裁结果,保证了当交叉开关分配器采用投机交叉开关仲裁结果做为最终交叉开关分配的结果时,获得交叉开关使用权的微片和获得虚通道使用权的微片是同一个微片,实现了100%的投机成功率。在物理实现上,由于采用了将虚通道分配结果直接做为投机交叉开关仲裁的结果,虚通道不需要产生投机的交叉开关请求信号,交叉开关分配器的输入中不存在投机交叉开关请求信号,也就不需要使用仲裁器对其进行仲裁,因此本发明的交叉开关分配器只需要一个仲裁器,与文献1的实现相比,电路成本更低,速度更快。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1为现有的前瞻路由的电路结构示意图;
图2为文献1的交叉开关分配器的示意图;
图3为本发明的系统结构图;
图4为本发明的路由计算单元电路图;
图4中:
a为路由计算单元的整体结构图,
b为路由计算单元中路由计算模块的电路图,
c为路由计算单元中微片类型判断模块的电路图;
图5为输入信号分配器电路图;
图5中:
a为虚通道缓存的写使能信号分配的电路图,
b为路由结果写使能信号分配的电路图;
图6为虚通道和交叉开关请求信号产生电路图;
图7为仲裁器的电路图;
图7中:
a为仲裁器的整体电路结构图,
b为仲裁器中的译码电路图,
c为仲裁器中的编码电路图;
图8为交叉开关分配器电路图;
图9为交叉开关选择器电路图。
具体实施方式
本发明的路由器在网络中的最小传输单位是微片,由微片头和载荷两部分组成。微片头包含微片的类型、源地址和目的地址信息,载荷为微片传输的有效数据。路由器接收到微片后只对微片头部分进行路由计算,微片头的长度为22位,其内容如表1所示。表1中使用10位地址空间,支持1024个节点的片上互连网络,扩展地址空间的长度可以支持更多节点的片上互连网络。表2列出了微片类型的编码。载荷长度可根据需要配置。
表1
22-20 | 19-10 | 9-0 |
微片类型 | 微片源地址 | 微片目的地址 |
表2
本发明的路由器的框图如图3所示,路由器采用模块化设计。本发明的路由器包括路由计算单元110、输入信号分配器120、虚通道缓存130、虚通道状态寄存器140、虚通道分配器150、交叉开关分配器160、以及交叉开关选择器170。网络输入信号(111-114)来自上一级路由器或网络接口。网络输入信号包括时钟信号111、微片写使能信号112、虚通道编号信号113、微片数据信号114,它们同步于时钟信号111。当微片写使能信号112到达时,输入信号分配器120根据虚通道编号113选通相应虚通道缓存的写使能信号115,微片数据信号广播到各个虚通道缓存130的写端口。微片数据信号114的微片头部分送入路由计算单元110进行路由计算,路由计算结果127通过输入信号分配器120广播到各个虚通道寄存器140的输入端口。路由计算单元110同时对输入微片的类型进行判断,如果输入微片为头微片,则将路由结果有效信号132置位。输入信号分配器120根据虚通道编号信号113置位相应虚通道状态寄存器140的路由结果写使能信号116,将路由计算的结果写入虚通道状态寄存器140的路由结果位。微片写入到虚通道缓存130后,当虚通道缓存130中的微片数据有效时,虚通道状态寄存器生成虚通道请求信号117至虚通道分配器150,虚通道分配器150根据请求状况和当前的优先级设定给出仲裁结果,置位对应虚通道的仲裁结果信号118,仲裁的结果同时返回到虚通道状态寄存器140和交叉开关分配器160。虚通道分配器150根据下一跳路由器虚通道的占用状态信号119维护一个可分配虚通道的列表,虚通道分配器150在置位虚通道的仲裁结果信号118的同时,将返回赢得仲裁的请求所获得的虚通道分配结果信号121。虚通道状态寄存器140将虚通道分配器150返回的虚通道申请结果写入虚通道有效位和虚通道编号位。虚通道中的数据包获得下一跳路由器中虚通道使用权后,虚通道状态寄存器140通过相应电路生成非投机的交叉开关请求信号122,交叉开关分配器160根据请求状态和下一跳路由器的满状态信号134做出仲裁,产生相应的交叉开关分配的结果123。当存在非投机的交叉开关请求时,交叉开关分配器160仅在非投机请求之间选择一个做为最终仲裁结果,当不存在非投机的交叉开关请求时,将虚通道的仲裁结果信号118直接作为交叉开关分配的结果123。交叉开关分配的结果123返回到虚通道缓存130的读端口和交叉开关选择器170。虚通道缓存130更新数据读指针指向下一个有效数据,交叉开关选择器170连接相应的输入端口至输出端口。虚通道状态寄存器140中的虚通道编号位124和虚通道缓存中的微片125一起通过交叉开关选择器170,向下一跳路由器传输,输出信号包括微片写时钟信号141,微片写使能信号142,微片数据信号143和微片的虚通道编号144。每个微片离开后,虚通道状态寄存器140向上一跳路由器反馈虚通道满状态信号201和虚通道已占用信号203。下面给出每个模块的具体电路设计。
路由计算单元110根据当前路由器的节点地址和微片的目的地址选择微片的输出通道。本发明的路由器使用的路由计算单元110的电路如图4所示。微片的目的地址128与当前节点地址129经过路由计算模块210得到路由计算结果127,微片的头信息中的微片类型131经过微片类型判断模块220生成路由结果有效信号132。微片的目的地址128和微片的头信息中的微片类型131从微片数据信号114中提取。图4-b给出了互连网络中使用的路由计算模块210,将地址按维度分为高位地址和地位地址两部分,路由时首先根据低位地址进行路由,当低位地址相等后,再根据高位地址路由。这里只是给出一种可行的路由算法,可以根据需要改变路由计算模块210获得不同的路由计算结果。图4-c给出了微片类型判断模块220,当微片类型为头微片或单微片时,路由结果有效信号132为高电平。
输入信号分配器120用于根据微片的虚通道编号置位相应虚通道缓存的写使能信号115和路由结果写使能信号116。图5给出了本发明使用的输入信号分配器120的电路图。当前片上互连网络中每个输入端口配置了两条虚通道,虚通道编号的位宽为1比特。当没有微片输入时,即微片写使能信号112为低电平时,虚通道缓存的写使能信号115的值为2’b00,当有微片输入时,即微片写使能信号112为高电平时,如果虚通道编号信号113为低电平,则虚通道缓存的写使能信号115的值为2’b01;如果虚通道编号信号113为高电平,则虚通道缓存的写使能信号115的值为2’b10。同样地,当输入的微片不是头微片或者单微片时,即路由结果有效信号132为低电平时,路由结果写使能信号116的值为2’b00,当输入的微片是头微片或者单微片时,即路由结果有效信号132为高电平时,如果虚通道编号信号113为低电平,则路由结果写使能信号116的值为2’b01,如果虚通道编号信号113为高电平,则路由结果写使能信号116的值为2’b10。虚通道缓存的写使能信号115和路由结果写使能信号116在下一个时钟边沿到来时分别被采样,当虚通道缓存的写使能信号115中有一位为高电平时,输入微片写入相应虚通道缓存130中,当路由结果写使能信号116中有一位为高电平时,则路由计算结果127写入相应虚通道状态寄存器140的路由结果位中。如果路由结果写使能信号116中的每一位都为低电平,则虚通道状态寄存器140中的路由结果位不保持不变。
表3虚通道状态寄存器
寄存器名称 | 宽度 | 复位值 | 时钟域 |
Full | 1比特 | 1’b0 | 上一跳路由器 |
Empty | 1比特 | 1’b1 | 本级路由器 |
Occupied | 1比特 | 1’b0 | 本级路由器 |
RS | 5比特 | 5’b00000 | 上一跳路由器 |
GV | 1比特 | 1’b0 | 本级路由器 |
VCID | 1比特 | 1’b0 | 本级路由器 |
表3列出了本发明路由器所使用的虚通道状态寄存器140中各项的名称、位宽、复位值和工作时钟域。Full寄存器记录虚通道缓存的满状态,当Full信号201为高电平时,表明虚通道缓存130已满,Full寄存器的输入由虚通道缓存130提供,Full寄存器每个时钟周期都对输入信号进行重新采样。Empty寄存器记录虚通道缓存130的空状态,当Empty信号202为高电平时,表明虚通道缓存130为空,Empty寄存器的输入也由虚通道缓存130提供,Empty寄存器每个时钟周期都对输入信号进行重新采样。Occupied寄存器记录虚通道是否被占用,当虚通道已占用信号203为高电平时,表明虚通道已经被一个数据包占用。当一个数据包的头微片进入虚通道缓存时,Occupied寄存器被置为高电平,当数据包的尾微片离开虚通道缓存时,Occupied寄存器被置为低电平。RS寄存器记录路由计算的结果,RS寄存器的输入来自路由计算结果127。GV寄存器记录虚通道申请的结果,当GV信号204为高电平,表明数据包获得了下一跳路由器中的虚通道使用权。GV信号的输入来自虚通道的仲裁结果信号118。当GV寄存器的输出为低电平时,每个周期都对输入信号进行采样并更新寄存器的输出,当GV寄存器的输出为高电平时,只有当数据包的尾微片离开虚通道缓存130时,GV寄存器才能被置为低电平。VCID寄存器记录数据包获得下一跳路由器虚通道的编号,虚通道编号位124为VCID寄存器的输出信号。VCID寄存器的输入来自虚通道分配器的虚通道分配结果信号121,当GV寄存器的输入为高电平时,VCID寄存器才对输入值进行保存,否则VCID寄存器的输出保持不变。
图6给出了本发明的虚通道及交叉开关请求信号产生电路。请求信号产生电路用于产生虚通道请求信号117和非投机的交叉开关请求信号122,虚通道请求信号117和非投机的交叉开关请求信号122根据虚通道状态寄存器140中的Empty位、GV位和RS位产生。虚通道请求有效需要满足的条件是:1)虚通道缓存130中存在有效微片,即Empty信号202为低电平;2)虚通道缓存130中的数据包还未获得下一跳路由器虚通道的使用权,即GV信号204为低电平。当虚通道请求有效条件满足时,虚通道请求信号117的值与RS寄存器的输出相同。交叉开关请求有效需要满足的条件是:1)虚通道缓存130中存在有效微片,即Empty信号202为低电平;2)虚通道中的数据包已经获得下一跳路由器虚通道的使用权,即GV信号204为高电平。当交叉开关请求有效条件满足时,非投机的交叉开关请求信号122的值与RS寄存器的输出相同。
虚通道分配器150完成对虚通道请求的仲裁,并从可被分配的虚通道中选择一条分配给赢得仲裁的请求。虚通道分配器150将虚通道请求信号117送入虚通道分配器150内部的仲裁器,仲裁器根据输入请求和优先级信息得到相应的仲裁结果。图7给出了仲裁器的电路图。仲裁器拥有两个译码电路510和570,其中译码器510直接对虚通道请求信号117进行译码,得到非屏蔽译码结果501。另一个译码器570对进行优先级屏蔽后的虚通道请求507进行译码,得到屏蔽译码结果502。优先级屏蔽的虚通道请求507由虚通道请求信号117和优先级屏蔽码506通过与门540得到。优先级屏蔽码506由仲裁结果寄存器520的仲裁结果寄存器输出信号505经过编码电路530得到。或门550对屏蔽译码结果502做位或操作,得到屏蔽译码结果有效信号503。当屏蔽译码结果有效信号503为高电平时,表示经过优先级屏蔽后的虚通道请求不全为0,选择器560选择屏蔽译码结果502做为虚通道的仲裁结果信号118;当屏蔽译码结果有效信号503为低电平时,表示经过优先级屏蔽后没有有效的请求,选择器560选择非屏蔽译码结果501做为虚通道的仲裁结果信号118。仲裁结果经过或门580得到仲裁有效信号508。当仲裁有效信号508为高电平时,表明有请求赢得了仲裁,仲裁结果有效,驱动仲裁结果寄存器520记录本次仲裁的结果;当仲裁有效信号508为低电平时,表明没有请求赢得了仲裁,仲裁结果寄存器520不更新。当存在有效的虚通道仲裁时,赢得仲裁的虚通道的状态寄存器中的GV位在下一个时钟周期到来时置位,并在VCID位写入获得的虚通道编号。图7-b给出了译码电路的电路图,其译码规则如表4所示。图7-c给出了编码电路的电路图,其编码规则如表5所示。值得注意的是,这里只给出了本发明使用的一种仲裁电路,在实际应用中可以根据需要选择其他的仲裁电路。
表4
输入值(虚通道请求信号117) | 输出值(非屏蔽译码结果501) |
1xxxxxxx | 10000000 |
01xxxxxx | 01000000 |
001xxxxx | 00100000 |
0001xxxx | 00010000 |
00001xxx | 00001000 |
000001xx | 00000100 |
0000001x | 00000010 |
00000001 | 00000001 |
00000000 | 00000000 |
表5
输入值(仲裁结果寄存器输出信号505) | 输出值(优先级屏蔽码506) |
10000000 | 01111111 |
01000000 | 00111111 |
00100000 | 00011111 |
00010000 | 00001111 |
00001000 | 00000111 |
00000100 | 00000011 |
00000010 | 00000001 |
00000001 | 00000000 |
其他 | xxxxxxxx |
交叉开关分配器160完成对交叉请求的仲裁。交叉开关分配器160仅接受非投机的交叉开关请求信号122。投机的交叉开关请求无需向交叉开关分配器160提交请求,交叉开关分配器160直接使用虚通道分配器的仲裁结果做为投机的交叉开关请求的仲裁结果。图8给出了本发明的交叉开关分配器160的电路图。非投机的交叉开关请求的虚通道编号位124有效,通过选择器630从虚通道满状态信号134中选择出虚通道编号位124指定的虚通道的满状态信号604。当满状态信号604为高电平时,表示虚通道编号位124指定的虚通道已满。当虚通道状态为满时,相应的交叉开关请求被禁止。满状态信号604和非投机交叉开关请求信号122经过与门640后得到最终可以参加交叉开关仲裁的非投机请求信号603。交叉开关仲裁器610从非投机请求信号603中做出仲裁判断601。仲裁判断601经过或门650得到交叉开关仲裁有效信号602。当交叉开关仲裁有效信号602为高电平时,表明仲裁判断中有赢得仲裁的请求,驱动选择器620将仲裁判断601做为交叉开关分配器的交叉开关分配的结果123。当交叉开关仲裁有效信号602为低电平时,表明没有非投机的交叉开关请求赢得了仲裁,将选择虚通道的仲裁结果信号118做为交叉开关分配器的最终仲裁结果。交叉开关分配器160中使用的仲裁器电路和图7相同。交叉开关分配的结果123在下一个时钟边沿到来时写入交叉开关选择器170的配置寄存器中,驱动交叉开关选择器170将赢得交叉开关仲裁的输入连接到输入端口。同时,仲裁结果返回到虚通道缓存130,当虚通道缓存130中的微片赢得仲裁时,释放当前微片并在下一个时钟周期更新虚通道缓存的读端口输出信号。
交叉开关选择器170用于从交叉开关的输入端选择赢得交叉开关仲裁的请求通过路由器向下一跳路由器传播,同时,交叉开关分配器160负责产生微片写使能信号。图9给出了本发明的交叉开关选择器170的电路图。交叉开关分配结果寄存器710采样交叉开关分配的结果123,用于在下一个时钟周期控制选择器720和选择器730。交叉开关分配结果寄存器的输出信号701经过或门740得到微片写使能信号142。当交叉开关分配结果寄存器的输出信号701有一个比特为高电平时,微片写使能信号142即为高电平,表示有有效的微片向下一跳路由器传输。交叉开关分配结果寄存器的输出信号701同时传至选择器720和选择器730。选择器720根据交叉开关分配结果寄存器的输出信号701从虚通道缓存中的微片125中选择赢得交叉开关仲裁的微片做为微片数据信号143,选择器730根据交叉开关分配结果寄存器的输出信号701从输入的虚通道编号位124中选择赢得交叉开关仲裁的微片所使用的虚通道编号做为微片的虚通道编号144。交叉开关分配器同时将微片写时钟信号141向下一跳路由器传输。
通过上述一系列的操作,形成了一个三级流水的片上互连网络的路由器装置。
本发明利用微片写入异步先入先出缓存并进行时钟域转换的延迟,对数据包的头微片进行路由计算,当微片完成同步时,路由计算已经完成并可立即使用。本发明实现了与前瞻路由相同的效果,且不存在额外的路由器间连线开销和虚通道缓存扩位开销。同时,本发明将路由计算单元移至虚通道缓存的写端口之前,同一输入通道内的各虚通道共享同一个路由计算单元,减少了对路由计算单元数目的需求。
本发明采用交叉开关投机申请技术,在网络零负载或者同时存在多个数据包进行交叉投机申请的情况下,当交叉开关分配器选择投机交叉请求的仲裁结果做为最终交叉开关分配结果时,保证虚通道分配结果和交叉开关分配结果的一致性,使投机的成功率达到了100%。由于交叉开关分配器直接使用虚通道分配的结果做为投机交叉请求的仲裁结果,因此电路中不需要向交叉开关分配器提供投机的交叉开关请求信号,也不需要对其进行仲裁,交叉开关分配器只需要一个仲裁器对非投机的交叉开关请求进行仲裁,与现有技术相比,本发明的交叉开关分配器的电路更加简单和速度更快。
通过上述技术,形成了本发明的3级流水的片上互连网络路由器。
最后,还需要注意的是,以上列举的仅是本发明的若干个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (5)
1.适用于全局异步局部同步片上互连网络的路由器装置,其特征是:
所述路由器装置具有3个流水级,分别为写缓存和路由计算BW/RC、虚通道分配和交叉开关分配VA/SA、以及通过路由器ST;
该路由器装置在BW/RC级对微片进行缓存和时钟域的转换,并利用时钟域转换的延迟对数据包进行路由计算和对计算结果的同步;在VA/SA级以投机的方式同时对虚通道和交叉开关的使用权进行申请,虚通道分配器对虚通道请求做出仲裁,交叉开关分配器只对非投机微片的交叉开关请求进行仲裁,并直接将虚通道请求的仲裁结果直接做为微片投机申请交叉开关的仲裁结果,交叉开关分配器优先选择非投机交叉开关请求的仲裁结果做为最终的交叉开关分配结果;在ST级,交叉开关选择器根据交叉开关的仲裁结果,连通相应虚通道的输入端口至输出端口,微片离开异步缓存通过路由器。
2.根据权利要求1所述的适用于全局异步局部同步片上互连网络的路由器装置,其特征是:
在全局异步局部同步的片上互连网络路由器装置中,利用异步先入先出缓存对微片进行时钟域转换的延迟对数据包头微片进行路由计算,并在微片可在异步先入先出缓存的读端口被读取时可供后续电路使用;
在路由器装置的交叉开关分配器中,直接采用虚通道分配的结果做为投机交叉请求的仲裁结果。
3.根据权利要求2所述的适用于全局异步局部同步片上互连网络的路由器装置,其特征是:
路由器装置在网络中的最小传输单位是微片,所述微片由微片头和载荷两部分组成;微片头包含微片的类型、源地址和目的地址信息,载荷为微片传输的有效数据;路由器装置根据每个数据包头微片中的微片头中的信息进行路由计算。
4.根据权利要求1、2或3所述的适用于全局异步局部同步片上互连网络的路由器装置,其特征是:
所述路由器装置包括:
多个物理通道用于物理微片的传输,物理通道的宽度为一个微片宽度,每个物理通道提供多个虚通道,在输入通道中使用异步先入先出缓存构建虚通道缓存,输出通道不提供通道缓存,缓存宽度为一个微片宽度,深度为2的N次方;
多个路由计算单元,分布在输入通道的入口,根据输入微片的微片头信息决定微片的转发方向,每个输入通道中的虚通道之间共享一个路由计算单元;
多个输入信号分配器,根据微片携带的虚通道编号将数据和控制信号传递给相应的虚通道缓存和虚通道状态寄存器;
多组虚通道状态寄存器,用于记录虚通道的状态,并拥有相应的逻辑电路根据虚通道状态寄存器的值产生虚通道请求和交叉开关请求;每条虚通道都拥有独立的虚通道状态寄存器和请求产生逻辑;
多个分布式虚通道分配器,每个输出通道拥有一个虚通道分配器,当同时存在多个虚通道请求时,根据一定的仲裁策略选择其中一个请求获得虚通道的使用权;虚通道分配器根据下一跳路由器装置中虚通道的占用状态维护一个可被分配的虚通道队列,从中选择一条虚通道分配给赢得仲裁的请求;
多个分布式交叉开关分配器,每个输出通道拥有一个交叉开关分配器,对非投机的交叉开关请求进行仲裁,并使用虚通道分配器的仲裁结果作为投机交叉开关请求的仲裁结果,交叉开关分配器优先选择非投机交叉开关请求的仲裁结果;
多个分布式交叉开关选择器,每个输出通道拥有一个交叉开关选择器,根据交叉开关分配器的仲裁结果提供输入虚通道到输出通道的连接。
5.根据权利要求4所述的适用于全局异步局部同步片上互连网络的路由器装置,其特征是:
路由器装置工作在多个时钟域,适用于全局异步局部同步的片上互连网络;路由器装置每个输入通道中的异步先入先出缓存的写端口,路由计算单元、输入信号分配器和部分虚通道状态寄存器工作在各自的时钟域,时钟信号由与输入通道相连的上一跳路由器装置提供;微片通过异步先入先出缓存同步到路由器装置本地时钟域,即异步先入先出缓存的读端口工作在路由器装置本地时钟域;路由器装置中的另一部分虚通道状态寄存器、虚通道分配器、交叉开关分配器、以及交叉开关选择器均工作在路由器装置的本地时钟域;路由器装置中的微片、传输请求和控制信号都由路由器装置本地时钟域同步后向下一跳路由器装置输出,路由器装置的本地时钟也同时传输到下一跳路由器装置;路由器装置的每一个输入通道都可以连接一个不同时钟域的信号,构成全局异步局部同步的片上互连网络;
路由器装置为每个输入通道提供一个路由计算单元,使用一定的路由算法对数据包的头微片进行路由计算;当数据包中的其他微片进入输入通道时,不需要进行路由计算,直接使用头微片获得的路由计算结果;路由计算与微片写入异步先入先出缓存在同一个时钟周期进行;在微片传输的同时,上一跳路由器装置提供微片所使用的虚通道号,用于选择本级路由器装置中的相应虚通道缓存和状态寄存器的控制信号;微片写缓存和路由计算在BW/RC级完成;
路由器装置为每个输入通道提供一个输入信号分配器,根据微片携带的虚通道编号,将微片数据写入相应编号的虚通道缓存,并将路由计算结果写入相应编号的虚通道状态寄存器;
路由器装置为每个虚通道提供一组虚通道状态寄存器,记录数据包路由计算的结果、异步先入先出缓存的空满指示、虚通道的占用状态、虚通道申请的结果、以及得到的虚通道编号;保存路由结果的寄存器和虚通道满状态的寄存器工作在上一跳路由器装置的时钟域,其他寄存器均工作在本地路由器装置的时钟域;虚通道的满信号和占用状态需要反馈给上一跳路由器装置,用于流量控制和虚通道分配;路由器装置为每组虚通道状态寄存器提供相应的逻辑产生虚通道的申请和交叉开关的申请,请求信号在VA/SA级产生;
路由器装置提供多个虚通道分配器,用于为数据包分配一条下一跳路由器装置中的虚通道;虚通道分配器根据下一跳路由器装置反馈的信号维护虚通道分配状态的列表,虚通道占用状态是产生于下一跳路由器装置本地时钟域的信号,虚通道分配器提供同步器将虚通道占用状态同步到虚通道分配器所在的时钟域;当有多个数据包同时申请虚通道时,虚通道分配器中的仲裁单元使用一定的算法选出优先级最高的数据包获得虚通道的使用权,并将可用虚通道的编号反馈给该数据包所在虚通道的状态寄存器;虚通道分配器将向交叉开关分配器提供虚通道分配的结果,用于交叉开关的投机申请;虚通道分配的过程在VA/SA级完成;
路由器装置提供多个交叉开关分配器,每个交叉开关分配器分别控制一个交叉开关选择器;每个交叉开关分配器具有一个仲裁单元,用于对非投机数据包的交叉开关请求做出仲裁;已经获得下一跳路由器装置中虚通道使用权的数据包称为非投机数据包,未获得下一跳路由器装置中虚通道使用权的数据包称为投机数据包;交叉开关分配器使用虚通道分配器提供的虚通道分配结果做为投机交叉开关请求的仲裁结果;当有非投机数据包参与交叉开关的分配时,选择非投机的交叉开关请求的仲裁结果做为最终的交叉开关分配结果;当没有非投机数据包参与交叉开关分配时,选择投机交叉开关请求的仲裁结果做为最终的交叉开关分配结果;交叉开关分配的过程在VA/SA级完成;
路由器装置提供多个全连接的交叉开关选择器,每个交叉开关选择器负责一个路由器装置输出端口;每条虚通道都拥有一个交叉开关选择器输入端口,可以直接连接到任意一个交叉开关选择器的输出端口;每个交叉开关选择器的连接配置由交叉开关分配器决定;获得交叉开关使用权的微片在交叉开关配置完成后离开虚通道缓存到达路由器装置的输出端口,该过程在ST级完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210104961.8A CN102629913B (zh) | 2012-04-11 | 2012-04-11 | 适用于全局异步局部同步片上互连网络的路由器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210104961.8A CN102629913B (zh) | 2012-04-11 | 2012-04-11 | 适用于全局异步局部同步片上互连网络的路由器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102629913A CN102629913A (zh) | 2012-08-08 |
CN102629913B true CN102629913B (zh) | 2014-12-24 |
Family
ID=46588074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210104961.8A Expired - Fee Related CN102629913B (zh) | 2012-04-11 | 2012-04-11 | 适用于全局异步局部同步片上互连网络的路由器装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102629913B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9514074B2 (en) | 2009-02-13 | 2016-12-06 | The Regents Of The University Of Michigan | Single cycle arbitration within an interconnect |
CN102857445B (zh) * | 2012-09-10 | 2014-12-03 | 西安电子科技大学 | 片上网络路由器的低开销分配结构及分配方法 |
US8972663B2 (en) * | 2013-03-14 | 2015-03-03 | Oracle International Corporation | Broadcast cache coherence on partially-ordered network |
TWI617920B (zh) * | 2013-07-12 | 2018-03-11 | 密西根大學董事會 | 單循環仲裁 |
CN104270279B (zh) * | 2014-10-28 | 2017-07-18 | 电子科技大学 | 一种片上网络非法路径故障在线检错电路 |
SG10201600224SA (en) * | 2016-01-12 | 2017-08-30 | Huawei Int Pte Ltd | Dedicated ssr pipeline stage of router for express traversal (extra) noc |
US9501439B1 (en) | 2016-01-19 | 2016-11-22 | International Business Machines Corporation | Communicating in an integrated circuit using hardware-managed virtual channels |
CN105721355A (zh) * | 2016-01-29 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种片上网络路由传输报文的方法及片上网络路由 |
CN105871730B (zh) * | 2016-03-22 | 2019-03-05 | 广东工业大学 | 基于网络编码的片上网络路由器 |
CN106453109A (zh) * | 2016-10-28 | 2017-02-22 | 南通大学 | 一种片上网络通信方法及路由器 |
CN108959107B (zh) * | 2017-05-18 | 2020-06-16 | 深圳市中兴微电子技术有限公司 | 一种共享方法及装置 |
CN109086075B (zh) * | 2017-10-30 | 2021-06-08 | 上海寒武纪信息科技有限公司 | 人工智能处理器及使用处理器执行矩阵乘向量指令的方法 |
CN110825688B (zh) * | 2019-02-22 | 2023-08-01 | 苏州全图半导体科技有限公司 | 一种时钟系统 |
CN111030927B (zh) * | 2019-11-20 | 2021-07-23 | 中国人民解放军国防科技大学 | 一种顺序感知的片上网络路由方法和网络路由器 |
CN113014497B (zh) * | 2021-02-05 | 2022-08-09 | 西安交通大学 | 用于通道均衡传输的路由节点 |
CN113543154B (zh) * | 2021-07-26 | 2022-06-07 | 合肥工业大学 | 无线片上网络中流量自适应的可重构无线节点及重构方法 |
CN114925018B (zh) * | 2022-07-22 | 2022-10-21 | 中科声龙科技发展(北京)有限公司 | 片上交叉开关系统及芯片 |
CN116028398B (zh) * | 2022-11-01 | 2023-10-31 | 中科计算技术西部研究院 | 一种互连网络仲裁系统、装置、方法及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232456A (zh) * | 2008-01-25 | 2008-07-30 | 浙江大学 | 一种分布式可测试片上网络路由器 |
CN101488922A (zh) * | 2009-01-08 | 2009-07-22 | 浙江大学 | 具备自适应路由能力的片上网络路由器及其实现方法 |
-
2012
- 2012-04-11 CN CN201210104961.8A patent/CN102629913B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232456A (zh) * | 2008-01-25 | 2008-07-30 | 浙江大学 | 一种分布式可测试片上网络路由器 |
CN101488922A (zh) * | 2009-01-08 | 2009-07-22 | 浙江大学 | 具备自适应路由能力的片上网络路由器及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102629913A (zh) | 2012-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102629913B (zh) | 适用于全局异步局部同步片上互连网络的路由器装置 | |
CN101232456B (zh) | 一种分布式可测试片上网络路由器 | |
Richardson et al. | A hybrid SoC interconnect with dynamic TDMA-based transaction-less buses and on-chip networks | |
Kumary et al. | A 4.6 Tbits/s 3.6 GHz single-cycle NoC router with a novel switch allocator in 65nm CMOS | |
Dall'Osso et al. | Xpipes: a latency insensitive parameterized network-on-chip architecture for multi-processor SoCs | |
CN101841420B (zh) | 面向片上网络的低延迟路由器结构 | |
US7554355B2 (en) | Crossbar switch architecture for multi-processor SoC platform | |
CN101383712B (zh) | 一种片上网络的路由节点微结构 | |
CN102185751B (zh) | 一种基于快速通道技术的单周期片上路由器 | |
CN113114593B (zh) | 一种片上网络中双信道路由器及其路由方法 | |
JP2002508100A (ja) | 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ | |
Jiang et al. | A lightweight early arbitration method for low-latency asynchronous 2D-mesh NoC's | |
CN107276920B (zh) | 一种应用于混合三维片上网络的分布式流控系统及方法 | |
US8619554B2 (en) | Interconnecting initiator devices and recipient devices | |
CN1307568C (zh) | 计算机系统的输入/输出节点装置 | |
Agyeman et al. | An efficient 2d router architecture for extending the performance of inhomogeneous 3d noc-based multi-core architectures | |
CN108431790B (zh) | 用于高速迁移(EXTRA)NoC的路由器的专用SSR管线级 | |
Song et al. | Asynchronous spatial division multiplexing router | |
CN113490293B (zh) | 一种双层自适应重配置环簇片上网络硬件结构 | |
Guo et al. | A bypass-based low latency network-on-chip router | |
JP5814298B2 (ja) | ルータ | |
Kline Jr et al. | Mscs: Multi-hop segmented circuit switching | |
CN115550235B (zh) | 面向神经网络平台的单周期路由器 | |
Zeng et al. | A performance enhanced dual-switch Network-on-Chip architecture | |
Ejaz et al. | FastTrackNoC: A DDR NoC with FastTrack Router Datapaths |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141224 Termination date: 20200411 |