专利名称:片上网络路由器的低开销分配结构及分配方法
技术领域:
本发明属于通信技术领域,具体涉及ー种用于路由器中虚信道分配和开关分配的片上网络路由器的低开销分配结构及分配方法。
背景技术:
随着CMOSエ艺步入纳米级,单个芯片上可以集成数十亿晶体管,片上系统(SoC)设计越来越复杂,片上系统芯片集成的IP核也越来越多,如何处理好多核之间的通信问题日益得到关注。传统的总线结构严重制约着性能提升,因为总线结构存在以下两个方面瓶颈(I)带宽限制。虽然总线可以有效的连接多个IP核,但总线地址资源并不能随着IP核的増加而无限扩展,并且总线无法支持ー对以上的IP核同时通信,当多个IP核竞争一条总线时,会造成严重阻塞。(2)时钟问题。随着集成特征尺寸进入纳米级,纳米エ艺所帯来的物理效应问题将使得片上全局同步越来越困难,时钟将会产生偏斜变得无法控制,芯片无 法正常工作。近年来,为了克服上述问题,借鉴计算机网络的思想,研究人员将网络的概念引入到芯片中,提出的片上网络(NoC)结构有效的解决了总线结构的诸多问题。片上网络主要包括路由器,路由器之间的互连链路和网络接ロ,IP核通过网络接ロ与路由器相连。数据在片上网络中的传输须通过路由器进行转发,因此路由器是影响片上网络性能的关键。传统虚信道路由器包括P个输入与输出单元,一个路由计算单元,一个虚信道分配単元,一个开关分配単元和ー个交叉开关。传统虚信道路由器采用4级流水线设计,分别是路由计算、虚信道分配、开关分配和开关传输。首先路由计算单元为数据计算出要去往的输出端ロ,然后虚信道分配単元才能为该数据分配一个该输出端ロ可用的虚信道。虚信道分配成功后再进行开关分配,为该数据配置交叉开关,链接相应的输入端口和输出端ロ。最后根据配置成功的通道进行开关传输,离开当前路由器。虚信道分配与开关分配是传统虚信道路由器传输数据必不可少的两歩,并且虚信道分配与开关分配各占ー级流水线,因此它们分配所需要的时延占了微片通过路由器所需要的总时间的一半,时延比重较大,而路由器时延是衡量路由器性能的重要參数之一 O传统虚信道路由器的虚信道分配能同时将同一输出端ロ的多个输出虚信道分配给不同的输入虚信道请求,而开关分配遵循两步仲裁原理,它的第二阶段分配是从同一输出端ロ的多个被成功分配的输出虚信道中仲裁ー个,这导致了虚信道分配工作相对于开关分配而言,存在重复性。传统虚信道路由器的虚信道分配第二阶段总共有P*V个P*V: I仲裁器,仲裁器的大小和数目都会随着端口数或者虚信道数的变大而急剧增加,因此虚信道分配所占路由器资源比重较大
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种片上网络路由器的低开销分配结构及分配方法,该结构合并虚信道分配単元与开关分配単元,以解决传统虚信道路由器虚信道分配単元占用的资源比重大,虚信道分配与开关分配的工作重复和虚信道分配与开关分配的分配时延大的问题。为实现上述目的,本发明片上网络路由器的低开销分配结构为由两步分配结构组成,其中第一歩分配结构分布在输出端ロ,包括P个输出端ロ分配単元,第二步分配结构分布在输入端ロ,包括P个输入端ロ分配単元,所述的P个输出端ロ分配単元的输入端与路由计算单元的输出端相连接,输出端与P个输入端ロ分配単元的输入端相连,所述的P个输入端ロ分配単元的输出端与交叉开关相连;所述的每个输出端ロ分配単元均包括ー个滤除无效新请求模块,ー个PV: I仲裁 器模块和一个简单虚信道分配模块;所述的每个输入端ロ分配单元即为ー个V: I仲裁器模块;所述的滤除无效新请求模块接收路由计算单元的输入虚信道请求,并滤除这些请求中无效的请求,将剩下的有效请求送入PV: I仲裁器模块;所述的PV: I仲裁器模块对滤除无效新请求模块滤除后的有效请求进行开关分配第一歩仲裁,将竞争成功的请求送入简单虚信道分配模块;所述的简单虚信道分配模块根据PV: I仲裁器模块发送的竞争成功的请求的性质进行虚信道分配处理,将结果输入至V: I仲裁器模块完成开关分配的第二步仲裁。本发明片上网络路由器的低开销分配方法包括以下步骤I)第一阶段分配,完成开关分配的第一歩仲裁和虚信道分配,Ia)滤除无效新请求模块接收由路由计算单元输入的虚信道请求,并调用简单虚信道分配模块记录的虚信道分配信息,根据记录的虚信道分配信息判断输入虚信道请求的类型,未成功进行过虚信道分配的请求标记为“新请求”,已成功进行过虚信道分配的请求标记为“成功请求”;Ib)滤除无效新请求模块根据输出虚信道状态信息判断“新请求”所请求的输出端ロ是否还有空闲的输出虚信道,如果没有空闲输出虚信道,则表示该“新请求”是无效新请求,将该“新请求”滤除,如果有空闲输出虚信道则对该“新请求”不做任何处理,将剩下的未滤除的“新请求”和“成功请求”送往PV: I仲裁器模块;lc) PV: I仲裁器模块接收滤除无效新请求模块送入的有效请求,对这些请求进行仲裁,完成开关分配第一歩,竞争成功的请求的输入虚信道号作为仲裁结果送入简单虚信道分配模块;Id)简单虚信道分配模块接收PV: I仲裁器模块送来的仲裁结果,判断该竞争成功的输入虚信道请求是“新请求”还是“成功请求”,如果是“新请求”,则按固定的顺序将第一个的空闲的输出虚信道分配给该“新请求”,记录虚信道分配信息,更新被分配的输出虚信道状态信息为不可用状态,如果是“成功请求”则跳过虚信道分配的操作;将经过判断处理的仲裁结果送往V 1仲裁器模块;2)进行第二阶段分配,完成开关分配的第二步仲裁V: I仲裁器模块接收P个输出端ロ的简单虚信道分配模块送来的仲裁結果,对这些仲裁结果进行开关分配的第二步仲裁,最終完成整体开关分配。
本发明与现有技术相比具有以下优点I、现有传统虚信道路由器的虚信道分配器与开关分配器有P*V个P*V: I仲裁器、(P+l) *V个V: I仲裁器和P个P: I仲裁器,而本发明的分配结构有P个V: I仲裁器和P个P*v I仲裁器,本发明中的滤除无效请求模块,区分新请求与旧请求模块和新虚信道分配単元所占资源比较少,因此本发明的仲裁器无论是数目与大小都比传统虚信道路由器小的多,减少了面积。2、现有的传统虚信道路由器的虚信道分配与开关分配的工作存在重复性,而本发明中简单虚信道分配模块只对开关分配第一歩仲裁胜利的单个请求进行虚信道分配,因此毎次最多只分配出去ー个输出虚信道,避免了虚信道分配工作的重复性。3、现有传统虚信道路由器采用流水线技术,其中虚信道分配与开关分配各占ー级流水线,同时虚信道分配与开关分配都遵循两阶段分配原理,而本发明采用简单的简单虚信道分配模块代替传统的虚信道分配単元,并且将该简单虚信道分配模块融入到开关分配的第一阶段中,从而将虚信道分配虚信道分配与开关分配合并为ー级流水线,減少了分配 时延提高了路由器时延性能。
图I是本发明的虚信道路由器结构示意图;图2是本发明的片上网络路由器的低开销分配结构示意图。
具体实施例方式下面结合附图对本发明做进ー步描述。參见图1,本发明的虚信道路由器包括P个输入単元101,一个路由计算单元102,ー个低开销分配単元103和ー个交叉开关104,与传统虚信道路由器不同之处在于,传统的虚信道路由器由P个输入単元,一个路由计算单元,一个虚信道分配単元,一个开关分配单元和ー个交叉开关组成,其中虚信道分配与开关分配是两个分离的模块,虚信道分配単元和开关分配单元构成了传统虚信道路由器的分配结构,而本发明直接将虚信道分配与开关分配合并为ー个模块即低开销分配単元103。參照图2,本发明的片上网络路由器的低开销分配结构,将虚信道分配与开关分配合并为ー级流水线操作,由两步分配结构组成,其中第一歩分配结构分布在输出端ロ,包括P个输出端ロ分配单元201,第二步分配结构分布在输入端ロ,包括P个输入端ロ分配单元205,所述的P个输出端ロ分配单元201的输入端与路由计算单元102的输出端相连接,输出端与P个输入端ロ分配单元205的输入端相连,所述的P个输入端ロ分配单元205的输出端与交叉开关104相连;以其中ー个输出端ロ分配単元201为例,它包括ー个滤除无效新请求模块202,一个PV: I仲裁器模块203和一个简单虚信道分配模块204,其中滤除无效新请求模块202通过有效请求信息与PV: I仲裁器模块203相连,PV: I仲裁器模块203又通过竞争成功请求信息与简单虚信道分配模块204相连;所述的滤除无效新请求模块202接收路由计算单元102输入的虚信道请求,并滤除这些请求中无效的请求,将剩下的有效请求送入PV: I仲裁器模块203。
所述PV: I仲裁器模块203对这些有效请求进行开关分配第一歩仲裁,将竞争成功的请求送入简单虚信道分配模块204。所述简单虚信道分配模块204根据该竞争成功的请求的性质进行虚信道分配处理,将结果送往输入端ロ分配单元205的V: I仲裁器模块206 ;所述的姆个输入端ロ分配单兀205即为一个V: I仲裁器模块206,以其中一个V: I仲裁器模块206为例,P个简单虚信道分配模块204根据PV: I仲裁器模块203发送的竞争成功的请求的性质进行虚信道分配处理,将结果输入至P个V :1仲裁器模块206完成开关分配的第二步仲裁;所述的开关分配的第一歩仲裁指的是所有输出端ロ同时刻通过各自的ー个PV: I仲裁器,从所有请求自己的输入虚信道请求中选择ー个;
所述的开关分配的第二步仲裁指的是所有输入端ロ同时刻通过各自的ー个V: I仲裁器,从自己的输入虚信道请求中选择ー个。本发明实现片上网络路由器的低开销分配结构的分配步骤有I)第一阶段分配,以ー个输出端ロ分配単元201为例,完成开关分配的第一歩仲裁和虚信道分配的过程如下Ia)滤除无效新请求模块202接收由路由计算单元101输入的虚信道请求,并调用简单虚信道分配模块204记录的虚信道分配信息,根据记录的虚信道分配信息判断输入虚信道请求的类型,未成功进行过虚信道分配的请求标记为“新请求”,已成功进行过虚信道分配的请求标记为“成功请求”;Ib)滤除无效新请求模块202根据输出虚信道状态信息判断“新请求”所请求的输出端ロ是否还有空闲的输出虚信道,如果没有空闲输出虚信道,则表示该“新请求”是无效新请求,将该“新请求”滤除,如果有空闲输出虚信道则对该“新请求”不做任何处理,将剩下的未滤除的“新请求”和“成功请求”送往PV: I仲裁器模块203 ;lc) PV: I仲裁器模块203接收滤除无效新请求模块202送入的有效请求,对这些请求进行仲裁,完成开关分配第一歩,将竞争成功的请求的输入虚信道号作为仲裁结果送入简单虚信道分配模块204 ;Id)简单虚信道分配模块204接收PV: I仲裁器模块203送来的仲裁结果,判断该竞争成功的输入虚信道请求是“新请求”还是“成功请求”,如果是“新请求”,则按固定的顺序将第一个的空闲的输出虚信道分配给该“新请求”,记录虚信道分配信息,更新被分配的输出虚信道状态信息为不可用状态,如果是“成功请求”则跳过虚信道分配的操作;将经过判断处理的仲裁结果送往V 1仲裁器模块206 ;Ie)剩下所有的输出端ロ分配単元201同时刻也按顺序执行步骤I中的la)、lb)、lc)与Id)分步骤,共同完成第一阶段的分配;步骤2,进行第二阶段分配,以ー个输入端ロ分配単元205为例,完成开关分配的第二步仲裁2a) V: I仲裁器模块206接收第一歩分配结构的P个简单虚信道分配模块203送来的输入虚信道号,对这些输入虚信道号进行第二阶段开关分配仲裁,得到的仲裁结果作为缓存的读信号,比较读信号和P个输入虚信道号,如果仲裁结果与其中ー个相同,就表示输入端ロ I最終与相同结果所代表的输出端ロ相连,完成了整体开关分配;
2b)剩下所有的输入端ロ分配单元205同时刻也执行步骤2中分步骤2a)的操作,共同完成第二阶段分 配。
权利要求
1.一种片上网络路由器的低开销分配结构,其特征在干由两步分配结构组成,其中第一歩分配结构分布在输出端ロ,包括P个输出端ロ分配单元(201 ),第二步分配结构分布在输入端ロ,包括P个输入端ロ分配单元(205),所述的P个输出端ロ分配单元(201)的输入端与路由计算单元(102)的输出端相连接,输出端与P个输入端ロ分配单元(205)的输入端相连,所述的P个输入端ロ分配単元(205)的输出端与交叉开关(104)相连; 所述的每个输出端ロ分配単元(201)均包括ー个滤除无效新请求模块(202),ー个PV: I仲裁器模块(203)和一个简单虚信道分配模块(204); 所述的每个输入端ロ分配単元(205)即为ー个V: I仲裁器模块(206); 所述的滤除无效新请求模块(202)接收路由计算单元(102)的输入虚信道请求,并滤除这些请求中无效的请求,将剩下的有效请求送入PV: I仲裁器模块(203); 所述的PV: I仲裁器模块(203)对滤除无效新请求模块(202)滤除后的有效请求进行开关分配第一歩仲裁,将竞争成功的请求送入简单虚信道分配模块(204); 所述的简单虚信道分配模块(204)根据PV: I仲裁器模块(203)发送的竞争成功的请求的性质进行虚信道分配处理,将结果输入至V: I仲裁器模块(206)完成开关分配的第二步仲裁。
2.一种如权利要求I所述的片上网络路由器的低开销分配结构的分配方法,其特征在于包括以下步骤 1)第一阶段分配,完成开关分配的第一歩仲裁和虚信道分配 Ia)滤除无效新请求模块(202)接收由路由计算单元(102)输入的虚信道请求,并调用简单虚信道分配模块(204)记录的虚信道分配信息,根据记录的虚信道分配信息判断输入虚信道请求的类型,未成功进行过虚信道分配的请求标记为“新请求”,已成功进行过虚信道分配的请求标记为“成功请求”; Ib)滤除无效新请求模块(202)根据输出虚信道状态信息判断“新请求”所请求的输出端ロ是否还有空闲的输出虚信道,如果没有空闲输出虚信道,则表示该“新请求”是无效新请求,将该“新请求”滤除,如果有空闲输出虚信道则对该“新请求”不做任何处理,将剩下的未滤除的“新请求”和“成功请求”送往PV:1仲裁器模块(203); lc)PV: I仲裁器模块(203)接收滤除无效新请求模块(202)送入的有效请求,对这些请求进行仲裁,完成开关分配第一歩,竞争成功的请求的输入虚信道号作为仲裁结果送入简单虚信道分配模块(204); Id)简单虚信道分配模块(204)接收PV: I仲裁器模块(203)送来的仲裁结果,判断该竞争成功的输入虚信道请求是“新请求”还是“成功请求”,如果是“新请求”,则按固定的顺序将第一个的空闲的输出虚信道分配给该“新请求”,记录虚信道分配信息,更新被分配的输出虚信道状态信息为不可用状态,如果是“成功请求”则跳过虚信道分配的操作;将经过判断处理的仲裁结果送往V :1仲裁器模块(206); 2)进行第二阶段分配,完成开关分配的第二步仲裁V:I仲裁器模块(206)接收P个输出端ロ的简单虚信道分配模块(203)送来的仲裁結果,对这些仲裁结果进行开关分配的第ニ步仲裁,最終完成整体开关分配。
全文摘要
片上网络路由器的低开销分配结构及其分配方法,解决传统虚信道路由器虚信道分配单元占用的资源比重大,虚信道分配与开关分配的工作重复和虚信道分配与开关分配的分配时延大的问题。其结构包括第一步分配结构和第二步分配结构,第一步分配结构分布在输出端口中,每个输出端口分配单元包含一个剔除无效新请求模块,一个PV:1仲裁器模块和一个简单虚信道分配模块,第一步分配结构完成开关分配的第一步仲裁和虚信道分配;第二步分配结构位于所有输入端口中,每个输入端口分配单元即为一个V:1仲裁器模块,第二步分配结构完成开关分配的第二步仲裁,第二步分配结构与第一步分配结构共同完成了虚信道路由器的虚信道分配与开关分配操作。本发明具有低时延,面积小的优点。
文档编号H04L12/911GK102857445SQ20121033233
公开日2013年1月2日 申请日期2012年9月10日 优先权日2012年9月10日
发明者顾华玺, 黄忠凡, 杨银堂, 王琨, 高茸, 付希松 申请人:西安电子科技大学