CN101075959A - 用于设计片上网络的一种带宽动态分配方法 - Google Patents
用于设计片上网络的一种带宽动态分配方法 Download PDFInfo
- Publication number
- CN101075959A CN101075959A CNA2007101177155A CN200710117715A CN101075959A CN 101075959 A CN101075959 A CN 101075959A CN A2007101177155 A CNA2007101177155 A CN A2007101177155A CN 200710117715 A CN200710117715 A CN 200710117715A CN 101075959 A CN101075959 A CN 101075959A
- Authority
- CN
- China
- Prior art keywords
- virtual channel
- buffering area
- bandwidth
- data
- output
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 23
- 230000003139 buffering effect Effects 0.000 claims description 47
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于设计片上网络的一种带宽动态分配方法属于片上互连网络设计领域,其特征在于,在发送端设定一个仲裁器,其输入端与各虚通道发送缓冲区相连;在发送缓冲区设定一个空标志指示信号,指示信号为“0”,表示“空”,为“1”表示“不空”;在接收端设定一个分路器,其各数据输出端与各虚通道接收缓冲区相连,在接收缓冲区也设定一个满标志指示信号,若为“0”表示“满”,为“1”表示“不满”;把所述各发送或接收缓冲区的指示信号送往与缓冲区个数相应的多个与门,当某一个与门输出为“1”时,表示某个虚通道请求带宽,由仲裁器为其分配带宽。本方法保证在任何时刻都能有效利用物理链路的带宽。
Description
技术领域
本发明属于集成电路设计、尤其涉及片上互连网络设计领域。
背景技术
集成电路一直按照摩尔定律推进,单芯片所集成的IP(Intellectual Property)块数目越来越多,传统的基于总线的片上互连结构已经在带宽、功耗、可靠性、扩展性等方面表现处越来越多的局限性,片上通信已经取代计算成为集成电路设计的瓶颈。片上网络(Network-on-Chip,NoC)作为集成电路设计领域的一项关键技术,已用于解决芯片规模增大所带来的片上互连问题。
由于片上网络资源有限并对传输延迟比较敏感,目前片上网络的研究者们多数推荐采用虫孔路由方式。在虫孔路由方式中,数据包被切割成一串数据微片(基本的数据传输单元),然后微片串以流水的方式在网络中传输,因此极大的降低了传输延迟。数据包的第一个微片被称为头微片,只有它才包含路由信息。数据包的其他微片只是紧跟在头微片的后面在网络中传输。一旦头微片被堵塞,其他微片原地等待,因此路由节点允许使用较小的缓冲区。
在虫孔路由方式中,由于数据包可以同时占用几个路由器的缓冲区,因此可能出现的两个问题是:1)链路利用率低;2)死锁。通过将物理链路分成若干虚通道,可以有效提高链路利用率和避免死锁。
多个虚通道共享一个物理链路,必须合理分配各个虚通道的带宽才能保证物理链路带宽的有效利用。图1所示为传统的基于时隙的固定带宽分配方法,在该方法中,物理链路的带宽被固定分配给四个虚通道,当某个发送虚通道缓冲区没有数据或接收虚通道缓冲区已满时,都造成该虚通道时隙无法传输数据,分配给该虚通道的带宽将被浪费。因此,固定带宽分配方法不能很好的利用物理链路的带宽。
发明内容
本发明的目的在于提出一种可以克服固定带宽分配方法的缺点的动态带宽分配方法。
本发明的特征在于,依次含有以下步骤:
步骤(1).初始化
在发送端,设定一个仲裁器,在输入端设有N个数据输入端,N个读使能信号输出端,N为虚通道发送缓冲区的个数,每个虚通道发送缓冲区设有:一个数据输出端,以及个读使能信号输入端,分别与所述仲裁器的相应的数据信号输入端、读使能信号输出端相连,每个虚通道发送缓冲区输出的数据的带宽为kW,W为物理链路总带宽,k为每个虚通道发送缓冲区所输出数据的带宽占物理链路总带宽之比,0≤k≤1;此外,还在每个虚通道发送缓冲区设有一个空标志指示信号,该信号为“0”,表示所述的虚通道发送缓冲区为空,否则,为不空,用“1”表示;
在接收端,设定一个分路器,在输出端设有N个数据输出端以及N个写使能信号输出端,N为虚通道接收缓冲区的个数,所述虚通道接收缓冲区的个数与虚通道发送缓冲区的个数相等,每个虚通道接收缓冲区都设有一个数据输入端和一个写使能信号输入端;另外,在每个虚通道接收缓冲区设有一个满标志信号,该信号为“0”,表示所述虚通道接收缓冲区已满,否则,为不满,用“1”表示;
此外,在发送端,还设有N个与门电路,每个与门电路的两个输入端分别与所述虚通道发送缓冲区的空标志指示信号输出端以及虚通道接收缓冲区的满标志指示信号输出端相连,每个与门电路的输出端与仲裁器的多路选择器的控制信号输入端相连;
步骤(2).依次按以下步骤执行带宽动态分配方法:
步骤(2.1).所述仲裁器设置一个虚通道指示标记,初始化为虚通道d;
步骤(2.2).在第一个链路时钟周期,该仲裁器在所述初试化虚通道的下一个虚通道开始搜索,直到找出某一个与门电路的输出为“1”为止,此时表示该虚通道有相应的带宽请求,分配给相应虚通道带宽并传送相应虚通道的数据;否则,如果没有找到有带宽请求的虚通道,则在该时钟周期链路空闲,不传送任何数据;
步骤(2.3).对于以后任何一个链路时钟周期,仲裁器都在虚通道指示标志所指示的下一个虚通道按步骤(2.2)所述方法开始搜索。
本发明保证了在任何时刻均能有效利用物理链路带宽。
附图说明
图1.传统的固定带宽分配方法。
图2.带宽动态分配方法中在时刻1的带宽分配。
图3.带宽动态分配方法中在时刻2的带宽分配。
图4.带宽动态分配方法的实施流程图。
图5.仲裁器工作流程图。
具体实施方式
针对固定带宽分配方法在带宽分配上的缺点,我们提出了动态带宽分配方法,该方法在每个时钟周期根据每个发送虚通道缓冲区和接收虚通道缓冲区的空满情况,动态将物理链路带宽平均分配给发送缓冲区不空且接收缓冲区不满的虚通道。例如:在时刻1(如图2所示),a、b、c、d四个虚通道的发送缓冲区都不空(有数据等待传输),接收缓冲区都不满(可以接收数据),则a、b、c、d四个虚通道在时刻1分别被分配到1/4的物理链路带宽。然而,在时刻2(如图3所示),a虚通道的发送缓冲区为空(没有数据等待传输),c虚通道的接收缓冲区为满(不能接收数据),b、d虚通道的发送缓冲区不空且接收缓冲区都不满,则在时刻2,b、d虚通道分别被分配到1/2的物理链路带宽,而不分配给a、c虚通道任何带宽。这样保证了在任何时刻物理链路带宽均能被有效利用。
实施方式如图4所示,在发送端,动态带宽分配通过一个仲裁器来实现。虚通道的发送缓冲区设置了一个空标志指示信号,空用“0”表示,不空用“1”表示。虚通道的接收缓冲区设置了一个满标志指示信号,满用“0”表示,不满用“1”表示。将虚通道发送缓冲区的空标志指示信号和接收缓冲区的满标志指示信号相与的结果作为该虚通道的带宽请求信号。仲裁器通过判断每个虚通道的带宽请求信号决定是否分配给该虚通道带宽,当虚通道带宽请求信号为“1”时,表示该虚通道有带宽请求,则仲裁器分配给该虚通道带宽,否则,当该信号为“0”时,仲裁器不分配给该虚通道带宽。
仲裁器的具体工作流程如图5所示(以四个虚通道a,b,c,d为例):仲裁器设置一个虚通道指示标记,该标记指示上一时钟周期发送数据的虚通道,初始化为虚通道d,在每个时钟周期,仲裁器从虚通道指示标记指示的虚通道的下一个虚通道开始搜索,直到找到有带宽请求的虚通道为止,然后为搜索到的虚通道的数据贴上标签(该标签指示数据所属的虚通道)并将其发送出去,同时将虚通道指示标记更新为在该时钟周期发送数据的虚通道。如果搜索了所有虚通道仍没有找到有带宽请求的虚通道,则在该时钟周期不发送数据,虚通道指示标记不变。
在接收端,分路器根据每个接收到数据的标签,将数据存入相应的虚通道缓冲区。
综上所述,动态带宽分配方法避免了传统的固定带宽分配方法在某些情况下浪费带宽的缺点,保证了在任何时刻均能有效利用物理链路带宽。
Claims (2)
1.用于设计片上网络的一种带宽动态分配方法,其特征在于,依次含有以下步骤:
步骤(1).初始化
在发送端,设定一个仲裁器,在输入端设有N个数据输入端,N个读使能信号输出端,N为虚通道发送缓冲区的个数,每个虚通道发送缓冲区设有:一个数据输出端,以及一个读使能信号输入端,分别与所述仲裁器的相应的数据信号输入端、读使能信号输出端相连,每个虚通道发送缓冲区输出的数据的带宽为kW,W为物理链路总带宽,k为每个虚通道发送缓冲区所输出数据的带宽占物理链路总带宽之比,0≤k≤1;此外,还在每个虚通道发送缓冲区设有一个空标志指示信号,该信号为“0”,表示所述的虚通道发送缓冲区为空,否则,为不空,用“1”表示;
在接收端,设定一个分路器,在输出端设有N个数据输出端以及N个写使能信号输出端,N为虚通道接收缓冲区的个数,所述虚通道接收缓冲区的个数与虚通道发送缓冲区的个数相等,每个虚通道接收缓冲区都设有一个数据输入端和一个写使能信号输入端;另外,在每个虚通道接收缓冲区设有一个满标志信号,该信号为“0”,表示所述虚通道接收缓冲区已满,否则,为不满,用“1”表示;
此外,在发送端,还设有N个与门电路,每个与门电路的两个输入端分别与所述虚通道发送缓冲区的空标志指示信号输出端以及虚通道接收缓冲区的满标志指示信号输出端相连,每个与门电路的输出端与仲裁器的多路选择器的控制信号输入端相连;
步骤(2).依次按以下步骤执行带宽动态分配方法:
步骤(2.1).所述仲裁器设置一个虚通道指示标记,初始化为虚通道d;
步骤(2.2).在第一个链路时钟周期,该仲裁器在所述初试化虚通道的下一个虚通道开始搜索,直到找出某一个与门电路的输出为“1”为止,此时表示该虚通道有相应的带宽请求,分配给相应虚通道带宽并传送相应虚通道的数据;否则,如果没有找到有带宽请求的虚通道,则在该时钟周期链路空闲,不传送任何数据;
步骤(2.3).对于以后任何一个链路时钟周期,仲裁器都在虚通道指示标志所指示的下一个虚通道按步骤(2.2)所述方法开始搜索。
2.根据权利要求1所述的用于设计片上网络的一种带宽动态分配方法,其特征在于,所述的N=4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101177155A CN100521657C (zh) | 2007-06-22 | 2007-06-22 | 用于设计片上网络的一种带宽动态分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101177155A CN100521657C (zh) | 2007-06-22 | 2007-06-22 | 用于设计片上网络的一种带宽动态分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101075959A true CN101075959A (zh) | 2007-11-21 |
CN100521657C CN100521657C (zh) | 2009-07-29 |
Family
ID=38976785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101177155A Expired - Fee Related CN100521657C (zh) | 2007-06-22 | 2007-06-22 | 用于设计片上网络的一种带宽动态分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100521657C (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227297B (zh) * | 2007-12-21 | 2010-06-02 | 清华大学 | 用于设计片上网络的一种服务质量保证方法 |
CN101789892A (zh) * | 2010-03-11 | 2010-07-28 | 浙江大学 | 全节点虚通道的片上网络环形拓扑数据交换方法及其系统 |
CN101252513B (zh) * | 2008-04-07 | 2010-09-29 | 哈尔滨工业大学 | 保障服务质量的片上网络带宽资源调度方法 |
CN101267315B (zh) * | 2008-04-18 | 2011-01-26 | 清华大学 | 用于片上网络的一种不规则拓扑结构生成方法 |
CN102291314A (zh) * | 2011-09-06 | 2011-12-21 | 厦门大学 | 用于片上网络的有中心流控方法和装置 |
CN103490930A (zh) * | 2013-09-26 | 2014-01-01 | 上海大学 | 一种带宽管理方法 |
CN103490930B (zh) * | 2013-09-26 | 2016-11-30 | 上海大学 | 一种带宽管理方法 |
CN109639585A (zh) * | 2017-10-09 | 2019-04-16 | 中兴通讯股份有限公司 | 流量控制方法、装置、网络设备和计算机可读存储介质 |
-
2007
- 2007-06-22 CN CNB2007101177155A patent/CN100521657C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227297B (zh) * | 2007-12-21 | 2010-06-02 | 清华大学 | 用于设计片上网络的一种服务质量保证方法 |
CN101252513B (zh) * | 2008-04-07 | 2010-09-29 | 哈尔滨工业大学 | 保障服务质量的片上网络带宽资源调度方法 |
CN101267315B (zh) * | 2008-04-18 | 2011-01-26 | 清华大学 | 用于片上网络的一种不规则拓扑结构生成方法 |
CN101789892A (zh) * | 2010-03-11 | 2010-07-28 | 浙江大学 | 全节点虚通道的片上网络环形拓扑数据交换方法及其系统 |
CN101789892B (zh) * | 2010-03-11 | 2012-05-09 | 浙江大学 | 全节点虚通道的片上网络环形拓扑数据交换方法及其系统 |
CN102291314A (zh) * | 2011-09-06 | 2011-12-21 | 厦门大学 | 用于片上网络的有中心流控方法和装置 |
CN103490930A (zh) * | 2013-09-26 | 2014-01-01 | 上海大学 | 一种带宽管理方法 |
CN103490930B (zh) * | 2013-09-26 | 2016-11-30 | 上海大学 | 一种带宽管理方法 |
CN109639585A (zh) * | 2017-10-09 | 2019-04-16 | 中兴通讯股份有限公司 | 流量控制方法、装置、网络设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100521657C (zh) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8085801B2 (en) | Resource arbitration | |
US7797467B2 (en) | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features | |
CN100521657C (zh) | 用于设计片上网络的一种带宽动态分配方法 | |
US7412588B2 (en) | Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus | |
Dobkin et al. | QNoC asynchronous router | |
US20060136681A1 (en) | Method and apparatus to support multiple memory banks with a memory block | |
US20090282419A1 (en) | Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip | |
US20090210883A1 (en) | Network On Chip Low Latency, High Bandwidth Application Messaging Interconnect | |
US20060095621A1 (en) | Methods and apparatuses for generating a single request for block transactions over a communication fabric | |
US7818546B2 (en) | Pipeline processing communicating adjacent stages and controls to prevent the address information from being overwritten | |
EP2333671A1 (en) | Inter-die interconnection interface | |
US7277975B2 (en) | Methods and apparatuses for decoupling a request from one or more solicited responses | |
CN1504913A (zh) | 数据访问环系统及采用环形总线的方法 | |
CN103532807A (zh) | 一种用于pcie数据服务质量管理的技术 | |
US20110078386A1 (en) | Buffering in media and pipelined processing components | |
CN106445869B (zh) | 一种基于FPGA和PCIe的高速数据交换方法 | |
KR20240024188A (ko) | 네트워크 인터페이스 디바이스 | |
Zhang et al. | A multi-VC dynamically shared buffer with prefetch for network on chip | |
CN1568462A (zh) | 计算机系统的输入/输出节点 | |
CN101702714B (zh) | 计算机系统中的基于信用的流动控制的方法、系统和设备 | |
CN101038573A (zh) | 总线仲裁方法 | |
Larsen et al. | Platform io dma transaction acceleration | |
Kim et al. | Optically Networked Heterogeneous Data-centric Computing System with Silicon Photonics Transceivers | |
US20060155959A1 (en) | Method and apparatus to provide efficient communication between processing elements in a processor unit | |
CN1662894A (zh) | 包括时隙总线和若干缓冲器的交换装置 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090729 Termination date: 20120622 |