CN106302163A - 一种具有多种工作模式的片上网络路由器及路由方法 - Google Patents
一种具有多种工作模式的片上网络路由器及路由方法 Download PDFInfo
- Publication number
- CN106302163A CN106302163A CN201610873363.5A CN201610873363A CN106302163A CN 106302163 A CN106302163 A CN 106302163A CN 201610873363 A CN201610873363 A CN 201610873363A CN 106302163 A CN106302163 A CN 106302163A
- Authority
- CN
- China
- Prior art keywords
- buffer
- module
- router
- output port
- input
- 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 abstract description 21
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 44
- 238000005457 optimization Methods 0.000 claims description 26
- 238000002347 injection Methods 0.000 claims description 11
- 239000007924 injection Substances 0.000 claims description 11
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 abstract description 8
- 229910052710 silicon Inorganic materials 0.000 abstract description 8
- 239000010703 silicon Substances 0.000 abstract description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000001788 irregular Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100371162 Mus musculus Tslp gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种具有多种工作模式的片上网络路由器,包括模式选择模块、关闭模块和路由模块;所述路由模块包括输入端口、输入端口控制模块、缓冲管理模块、缓冲区、路由计算模块、仲裁模块、交叉开关模块、直通模块和输出端口;所述输入端口包括东输入端口、西输入端口、南输入端口、北输入端口和本地输入端口,输出端口包括东输出端口、西输出端口、南输出端口、北输出端口和本地输出端口,缓冲区包括多个输入缓冲区;本发明还公开了一种具有多种工作模式的片上网络路由方法,本发明相比基本结构的路由器,在增加了较小面积开销的情况下,通过模式切换有效降低路由器功耗,从而面向暗硅问题达到优化多核系统功耗的目的。
Description
技术领域
本发明涉及多核处理器片上系统技术领域,特别是一种具有多种工作模式的片上网络路由器及路由方法。
背景技术
随着多核处理器片上系统(Multiprocessor System-on-Chip,MPSoC)中集成的处理器核越来越多,基于数据包传输方式的片上网络(Network-on-Chip,NoC)为各处理器核之间的互连提供了高效、可靠、灵活的通信架构。伴随着处理器核数目的不断增多,片上暗硅问题也随之出现,即为了维持多核系统性能不超过散热设计功耗,部分处理器核需要处于关闭状态或者不能持续长的运行周期。针对暗硅问题,已有的解决方案均集中于优化片上处理器核的功耗,而没有考虑片上互连的设计。
若对片上互连不进行优化设计,片上网络组件模块(路由器、网络接口)就必须一直保持在工作状态,否则被随意关闭的路由器会阻止节点间数据包传输以及对共享资源的访问,且会使得片上网络功耗开销在片上资源功耗开销中所占的比例进一步上升。而路由器是片上网络互连架构中的重要组件,是互连网络中功耗消耗最多的部分,故设计低功耗的片上网络路由器是面向暗硅问题优化片上互连设计的重要手段。
发明内容
本发明所要解决的技术问题是克服现有技术的不足而提供一种具有多种工作模式的片上网络路由器及路由方法,本发明具有多种工作模式的片上网络路由器包括全功能模式、缓冲优化模式、直通模式和关断模式四种工作模式,可依据多核处理器片上系统不同的运行和通信状况在各种工作模式间切换。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种具有多种工作模式的片上网络路由器,包括模式选择模块、关闭模块和路由模块;所述路由模块包括输入端口、输入端口控制模块、缓冲管理模块、缓冲区、路由计算模块、仲裁模块、交叉开关模块、直通模块和输出端口;所述输入端口包括东输入端口、西输入端口、南输入端口、北输入端口和本地输入端口,输出端口包括东输出端口、西输出端口、南输出端口、北输出端口和本地输出端口,缓冲区包括多个输入缓冲区,每个输入缓冲区包括多个缓冲项;其中,
模式选择模块,用于当路由器所连处理器核处于空闲或不工作状态时,输出关闭信号至关闭模块;当网络通信负载由低逐渐增加到超过预设的中等负载值时,输出直通控制信号至输入端口控制模块;当原先处于空闲或不工作状态的处理器核运行任务时,输出缓冲优化模式控制信号至缓冲管理模块;当网络通信负载进一步增加到超过预设的高负载值时,输出全功能控制信号至输入端口控制模块;其中,预设的高负载值大于预设的中等负载值;
关闭模块,用于当接收到关闭信号时关闭路由模块;
缓冲管理模块,用于当接收到缓冲优化模式控制信号时,采用缓冲区管理策略实现对各个端口输入缓冲区中的缓冲项的关闭和打开;所述缓冲区管理策略为:当输入缓冲区中的缓冲项在预设的时间段内没有数据时,则关闭该缓冲项;当输入端口的微片数据由输入端口控制模块进入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,则将生成缓冲唤醒信号用来打开一个缓冲项用于存放到来的微片数据;
输入端口控制模块,用于当接收到直通控制信号时,将东输入端口、西输入端口、南输入端口、北输入端口的数据包输入至直通模块;当接收到全功能控制信号时,控制输入缓冲区中的缓冲项全部打开用来存放由输入端口传输过来的微片数据;
直通模块,用于根据表征路由器所处网络的位置,设置输入端口与输出端口的连接形式,从而将接收的数据包输出至输出端口;
输入缓冲区,用于将存放的微片数据输出至路由计算模块;
路由计算模块,用于对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口;解析后的微片数据通过仲裁模块和交叉开关模块转发至所选择的输出端口;
仲裁模块,用于在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁,控制交叉开关模块进行输入端口和输出端口的数据交换。
作为本发明所述的一种具有多种工作模式的片上网络路由器进一步优化方案,所述关闭模块是通过电源门控技术来关断路由模块的工作电源。
作为本发明所述的一种具有多种工作模式的片上网络路由器进一步优化方案,所述直通模块设置输入端口与输出端口的连接形式为:若路由器处于网络左上角和右下角时,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;若路由器处于网络右上角和左下角时,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;若路由器处于网络中的其它位置,输入端口与输出端口的连接形式是东西方向连通和南北方向连通。
作为本发明所述的一种具有多种工作模式的片上网络路由器进一步优化方案,所述路由算法包括以下步骤:
1)标识出路由区域内处于关断模式和直通模式的路由器,生成邻节点状态表;关断模式为路由器所连处理器核处于空闲或不工作状态,路由器全部功能不可用;直通模式为路由器的输入端口与输出端口直接相连,只能定向转发数据包;
2)基于XY路由算法,读取邻节点状态表,计算下一跳路由地址。
作为本发明所述的一种具有多种工作模式的片上网络路由器进一步优化方案,缓冲管理模块包括睡眠寄存器、空闲计数器和使能寄存器;其中,输入缓冲区内每个缓冲项分配一个空闲计数器,该计数器用于记录对应缓冲项的连续空闲时钟周期数;当该缓冲项处于打开状态且没有数据时,将缓冲区的使能寄存器中相应位置为1,启动空闲计数器进行计数;当计数值达到阈值Tslp后,将缓冲区的睡眠寄存器中相应位置为1,关闭该缓冲项;若空闲计数器在计数过程中缓冲项有数据到来且计数值未达到阈值Tslp,计数器将停止计数并清除计数值,直到数据从该缓冲项中读出,才会重新启动空闲计数器并从零开始计数;
当微片数据进入输入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,将会设置缓冲区的睡眠寄存器中相应位为0,生成缓冲唤醒信号打开一个缓冲项用于存放到来的微片数据。
作为本发明所述的一种具有多种工作模式的片上网络路由器进一步优化方案,所述中等负载值是指网络注入率大于0.1微片/周期而小于0.3微片/周期,高负载值是指网络注入率大于0.3微片/周期。
一种具有多种工作模式的片上网络路由方法,当路由器所连处理器核处于空闲或不工作状态时,则关闭路由器;
当网络通信负载由低逐渐增加到超过预设的中等负载值,根据表征路由器所处网络的位置,设置东输入端口、西输入端口、南输入端口、北输入端口与东输出端口、西输出端口、南输出端口、北输出端口的连接形式,具体如下;若路由器处于网络左上角和右下角时,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;若路由器处于网络右上角和左下角时,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;若路由器处于网络中的其它位置,输入端口与输出端口的连接形式是东西方向连通和南北方向连通;
当原先处于空闲或不工作状态的处理器核运行任务时,采用缓冲区管理策略实现对输入缓冲区中各缓冲项的关闭和打开;所述缓冲区管理策略为:当输入缓冲区中的缓冲项在预设的时间段内没有数据时,则关闭该缓冲项;当输入端口的微片数据由输入端口控制模块进入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,则将生成缓冲唤醒信号用来打开一个缓冲项用于存放到来的微片数据;对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口,解析后的微片数据转发至所选择的输出端口;在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁从而实现输入端口和输出端口的数据交换;
当网络通信负载进一步增加到超过预设的高负载值,控制缓冲区中的输入缓冲区全部打开用来存放到来的微片数据;对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口;解析后的微片数据转发至所选择的输出端口;在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁从而实现输入端口和输出端口的数据交换;其中,预设的高负载值大于预设的中等负载值。
作为本发明所述的一种具有多种工作模式的片上网络路由方法进一步优化方案,所述路由算法包括以下步骤:
1)标识出路由区域内处于关断模式和直通模式的路由器,生成邻节点状态表;关断模式为路由器所连处理器核处于空闲或不工作状态,路由器全部功能不可用;直通模式为路由器的输入端口与输出端口直接相连,只能定向转发数据包;
2)基于XY路由算法,读取邻节点状态表,计算下一跳路由地址。
作为本发明所述的一种具有多种工作模式的片上网络路由方法进一步优化方案,所述中等负载值是指网络注入率大于0.1微片/周期而小于0.3微片/周期,高负载值是指网络注入率大于0.3微片/周期。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明具有多种工作模式的片上网络路由器包括全功能模式、缓冲优化模式、直通模式和关断模式四种工作模式,可依据多核处理器片上系统不同的运行和通信状况在各种工作模式间切换;
(2)本发明相比基本结构的路由器,在增加了较小面积开销的情况下,通过模式切换有效降低路由器功耗,从而面向暗硅问题达到优化多核系统功耗的目的。
附图说明
图1是多种工作模式路由器总体结构图。
图2是模式选择模块结构图。
图3是路由器模式切换的状态转换图。
图4是直通模式下4*4mesh网络中各路由器的输入输出相连图。
图5是直通模式下的三种连接关系示意图;其中,(a)为若路由器处于网络左上角和右下角时,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;(b)为若路由器处于网络右上角和左下角时,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;(c)为路由器处于网络中其它位置,输入端口与输出端口的连接形式是东西方向连通和南北方向连通。
图6是8*8mesh网络中的路由区域划分示意图。
图7是邻节点状态表。
图8是不规则区域路由算法伪代码。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明一种具有多种工作模式的片上网络路由器是在基本片上网络路由器结构上增加模式选择模块、缓冲管理模块、输入端口控制模块以及直通模块来实现的。路由器结构如图1所示。
增加模式选择模块实现路由器工作模式的切换。本发明的路由器支持四种工作模式,即全功能模式、缓冲优化模式、直通模式以及关断模式。
全功能模式时,路由器可进行本地数据包发送、数据包接收、路由计算、数据包转发等所有功能。此模式下路由器功耗最高,适合在网络通信负载较大,即传输数据量较大时使用。
缓冲优化模式时,路由器的功能与全功能模式相近。区别在于,此时路由器的缓冲区采用了缓冲区管理策略,此模式下路由器功耗相对全功能模式有所下降,适合在网络通信负载降低,特别是会出现传输数据存在空闲间隔时使用。
直通模式时,路由器不可进行本地数据包发送,但可接收来自其它路由器的数据包并转发。由于处于直通模式路由器的路由模块被关闭,因此路由器只能定向转发数据包。
关断模式时,路由器全部功能不可用,其所在链路被阻塞,但其仍可被唤醒后进入其它模式。处于此状态时路由器功耗几乎为0。关断模式适合由于暗硅问题导致路由器所连处理器核长时间处于空闲状态时使用,。
当路由器被选为关断模式时,模式选择模块输出信号控制门控晶体管关闭路由器;当路由器为缓冲优化模式时,模式选择模块输出信号打开缓冲管理模块;当路由器为直通模式和全功能模式时,模式选择模块输出信号控制输入控制模块。
模式选择模块的具体结构如图2所示,此模块主要是通过状态机来根据en信号进行路由器模式选择的,状态机状态转换过程如图3所示。该状态机共有四种状态,即全功能模式(Power_On)、缓冲优化模式(Buffer Optimization)、关断模式(Power_off)、直通模式(Bypass)。
当复位信号rst有效时,路由器进入关断模式,当复位信号无效时,将根据模式选择信号en进行工作模式切换,并对三输出信号(直通模式有效位en_by、关断模式有效位en_of、缓冲优化有效位en_buffer)赋值。当模式选择信号en为00时,输出状态为关断,此时en_of为1、en_by为0、en_buffer为0;当模式选择信号en为10时,输出状态为直通,此时en_of为0、en_by为1、en_buffer为0;当模式选择信号en为01时,输出状态为缓冲优化,此时en_of为0、en_by为0、en_buffer为1;当模式选择信号en为11时,输出状态为全功能,此时en_of、en_by、 en_buffer均为0。状态机输出的en_by、en_of、en_buffer在模式选择模块中分别通过相应电路输出sleep、clk_buffer、clk_by、clk_on至门控晶体管、缓冲管理模块以及输入端口控制模块,作为实现四种模式的控制信号。
输入端口控制模块,该模块的输入信息为从模式选择模块到来的控制信号和路由器四个输入方向端口到来的数据信息,其功能是根据控制信号进行工作模式的判定,从而决定将各个方向端口的输入数据包发往对应的输入缓冲区还是直通模块。当路由器被选为直通模式时,输入端口控制模块将输入端口与直通模块相连,直通模块根据节点所处的路由区域位置,选择与输出端口的连接形式。当路由器被选为全功能工作模式时,输入控制模块将输入端口与输入缓冲区相连,数据包通过路由模块进行路由计算,为数据包选择输出端口,通过仲裁和交叉开关将数据包转发至输出端口。
缓冲管理模块,采用缓冲区管理策略实现对缓冲区各缓冲项(缓冲项定义为保存一个微片的缓存区域,每个输入缓冲区包含若干个缓冲项)的关闭和打开,由睡眠寄存器、空闲计数器和使能寄存器组成。输入缓冲区的每个缓冲项都对应睡眠寄存器的一位,还对应一个空闲计数器。而每个空闲计数器都对应使能寄存器的一位。
睡眠寄存器是用来控制输入缓冲区中各缓冲项的开关,通过给睡眠寄存器中的相应位置1或清0从而使缓冲项进入睡眠状态或者使其打开。处于睡眠状态的缓冲项中的数据不需要保留。
空闲计数器是用于统计其对应缓冲项处于打开状态但没有数据的周期数。当计数器中计数值到达阈值Tslp后,就给睡眠计数器的对应位置1,从而将关闭对应缓冲项。
使能寄存器是用来控制空闲计数器的。当空闲计数器对应缓冲项处于睡眠状态或者其中有数据时,使能寄存器将关断相应计数器。当缓冲项处于打开状态但没有数据时,使能寄存器将第一时间启动空闲计数器进行计数。
输入缓冲区的关闭策略:当该缓冲项处于打开状态且没有数据时,将缓冲区的使能寄存器中相应位置为1,启动空闲计数器进行计数;当计数值达到阈值Tslp后,将缓冲区的睡眠寄存器中相应位置为1,关闭该缓冲项;若空闲计数器在计数过程中(计数值未达到阈值Tslp)时有数据到来,计数器将停止计数并清除计数值,直到数据从该缓冲项中读出,才会重新启动空闲计数器并从零开始计数;
输入缓冲区的打开策略:当微片数据进入输入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,将会设置缓冲区的睡眠寄存器中相应位为0,生成缓冲唤醒信号打开一个缓冲项用于存放到来的微片数据;
直通模块的功能类似于一个开关,用于将某输入端口到来的数据包直接按所选路径传送至某固定输出端,不需要经过传统的路由仲裁、开关分配等完成数据包的传输交换,所以此模式下的路由器节点退化为开关,数据包传输时只消耗开关连接的链路功耗。网络中各个路由器输入输出相连方式是不同的,它们具体如何互连与处于网络中的位置有关,可以分为三种情况,包括南北方向(SN)连通和东西方向(EW)连通,西北方向(WN)连通和东南方向(ES)连通,以及东北方向(EN)连通和西南方向(WS)连通。如图4所示是一个4*4mesh结构的网络,假设每个节点都处于直通模式,那到达各个路由器的数据包都要按图中的路径进行转发传输。
直通模式下的三种连接关系如图5所示。图5中的(a)为若路由器处于网络左上角和右下角时,置直通模块输入en_bypass信号为00,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;图5中的(b)为若路由器处于网络右上角和左下角时,置en_bypass信号为11,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;图5中的(c)为路由器处于网络中其它位置,置en_bypass信号为10,输入端口与输出端口的连接形式是东西方向连通和南北方向连通。
除了上述模块之后,本发明路由器还需包括基本路由器模块:输入输出端口、输入缓冲区、路由模块、仲裁模块以及交叉开关。输入输出端口包括东输入输出端口、西输入输出端口、南输入输出端口、北输入输出端口、本地输入输出端口,分别通过链路连接东西南北向的其它路由单元和本地处理器核;输入缓冲区用于保存输入方向的微片数据;路由模块处理来自四个方向和本地端口的路由请求,对输入缓冲区中的包头微片进行解析,根据路由算法计算获得数据包的下一个转发方向,选择输出端口;仲裁模块在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁,控制交叉开关进行数据交换;交叉开关负责将路由器的输入通道连接到目标输出通道。
本发明的路由器采用不规则区域路由算法,是由于网络中的路由器均有可能工作在四种不同模式下,处于直通模式和关断模式的路由器不具有全功能模式和缓冲优化模式下的路由转发数据包功能,会使得互连网络形成一个不规则的区域,传统的确定性路由算法无法保证数据包的正确转发,故本发明提出采用不规则区域路由算法——首先在选择的路由器区域中标识出该区域内处于关断模式和直通模式的路由器,生成邻节点状态表,然后基于确定性XY路由算法,读取邻节点状态表,计算下一跳路由地址。下面详细介绍邻节点状态表的生成以及不规则区域路由算法的实现流程:
(1)邻节点状态表,此表是为了存放路由区域内处于关断和直通模式路由器的标识信息,是为计算下一跳路由地址提供判断依据的。为了生成邻节点状态表,首先要选择路由区域,根据所选择区域内节点的最小和最大x轴坐标及y轴坐标选择一个矩形区域为路由区域。如图6所示,以8×8的二维mesh网络为例,每个节点均被唯一标识(0-63),且每个节点均有坐标标识,如第一个节点(左上角)的坐标为(0, 0),最后一个节点(右下角)的坐标为(7,7)。图中黑色实线框标识的区域,为当前选择的路由区域。
图中黑色方框内的白色空心圆表示处于全功能工作模式或者缓冲优化模式的路由器,黑色实心圆圈表示包含处于关断模式的路由器,填充斜线的圆圈表示被其它应用(即与本路由区域内其它节点无通信关系)占用的节点,含有折线的圆圈表示包含处于直通模式的路由器。与图6中所选的路由区域对应的邻节点状态表如图7所示,需要标识出所选路由区域的信息(最小及最大节点坐标)和非正常工作路由器的信息,该区域内关断模式和被其它应用占用的路由器都是不可用节点。
(2)不规则区域路由算法,该算法以确定性XY路由算法为基础,根据邻节点状态表提前判断下一跳地址是否可用。该算法流程的伪代码如图8所示。
该算法的输入为源节点地址(Src_ID)、目的节点地址(Dst_ID)、当前节点地址(Cur_ID)以及邻节点状态表信息,输出为各数据包选择的输出端口。如果当前节点地址在水平方向上的坐标不等于目的节点地址在水平方向上的坐标,则算法采用cal_next_ID_x()函数计算水平方向上下一个路由节点的地址。cal_next_ID_x()函数的计算原理与XY路由算法一致,如果水平方向上下一个路由节点不在路由区域内,则跳出水平方向上的路由函数,直接到(31)行判断是否需要在垂直方向上路由;如果水平方向上下一个路由节点可用则输出;如果水平方向上下一个路由节点为包含直通模式的路由器,则采用judge_connect()函数,判断其开关连接形式,然后再用cal_next_connect_ID()计算通过该直通模式路由器连接的下一个有效的节点(非直通模式路由器),如果连接的有效节点可用(在路由区域内且为正常工作模式路由器),则输出端口;其余情况都跳出水平方向上的路由,直接到(31)行判断是否需要在垂直方向上路由。如果需要在垂直方向上路由则采用cal_next_ID_y()计算在垂直方向上下一个路由的地址,再如水平方向的处理过程一样(4)~(29)判断下一个路由地址是否可用并输出端口。
本发明公开的路由器包括全功能模式、缓冲优化模式、直通模式和关断模式,可依据多核处理器片上系统不同的运行和通信状况在各种工作模式间切换,以面向暗硅问题达到优化系统功耗的目的。当网络中路由器所连处理器核处于空闲或不工作状态时,路由器可置为关断模式,其全部功能不可用,所连链路被阻塞,路由器功耗开销最低;当网络通信负载由低逐渐增加超过预设的中等负载值(定义网络注入率小于0.1微片/周期为低负载,注入率大于0.1微片/周期而小于0.3微片/周期为中等负载,注入率大于0.3微片/周期为高负载),处于关断模式的路由器可置为直通模式,其路由功能被关闭,只能定向转发数据包,不可发送和接收本地处理器核的数据包,路由器功耗开销较低;当多核系统运行任务增加,使得原先处于空闲或不工作状态的处理器核运行任务时,所连路由器可置于缓冲优化模式,其具有正常的路由转发功能,输入端口缓冲区采用优化管理策略,依据网络传输数据量的大小关闭和打开空闲缓冲项,以降低路由器静态功耗;当网络通信负载进一步增加超过预设的高负载值,路由器工作于全功能模式,可进行本地数据包发送接收、路由计算与仲裁、数据包转发等所有功能,且输入端口缓冲区全部打开,此时路由器功耗开销最大。
应用上述方法可以构成具有多种工作模式的片上网络路由器,适用于各种尺寸的规则互连网络,可实现暗硅问题下片上网络的互连优化,可依据多核处理器片上系统不同的运行和通信状况在各种工作模式间切换,以达到优化多核系统功耗的目的。
Claims (9)
1.一种具有多种工作模式的片上网络路由器,其特征在于,包括模式选择模块、关闭模块和路由模块;所述路由模块包括输入端口、输入端口控制模块、缓冲管理模块、缓冲区、路由计算模块、仲裁模块、交叉开关模块、直通模块和输出端口;所述输入端口包括东输入端口、西输入端口、南输入端口、北输入端口和本地输入端口,输出端口包括东输出端口、西输出端口、南输出端口、北输出端口和本地输出端口,缓冲区包括多个输入缓冲区,每个输入缓冲区包括多个缓冲项;其中,
模式选择模块,用于当路由器所连处理器核处于空闲或不工作状态时,输出关闭信号至关闭模块;当网络通信负载由低逐渐增加到超过预设的中等负载值时,输出直通控制信号至输入端口控制模块;当原先处于空闲或不工作状态的处理器核运行任务时,输出缓冲优化模式控制信号至缓冲管理模块;当网络通信负载进一步增加到超过预设的高负载值时,输出全功能控制信号至输入端口控制模块;其中,预设的高负载值大于预设的中等负载值;
关闭模块,用于当接收到关闭信号时关闭路由模块;
缓冲管理模块,用于当接收到缓冲优化模式控制信号时,采用缓冲区管理策略实现对各个端口输入缓冲区中的缓冲项的关闭和打开;所述缓冲区管理策略为:当输入缓冲区中的缓冲项在预设的时间段内没有数据时,则关闭该缓冲项;当输入端口的微片数据由输入端口控制模块进入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,则将生成缓冲唤醒信号用来打开一个缓冲项用于存放到来的微片数据;
输入端口控制模块,用于当接收到直通控制信号时,将东输入端口、西输入端口、南输入端口、北输入端口的数据包输入至直通模块;当接收到全功能控制信号时,控制输入缓冲区中的缓冲项全部打开用来存放由输入端口传输过来的微片数据;
直通模块,用于根据表征路由器所处网络的位置,设置输入端口与输出端口的连接形式,从而将接收的数据包输出至输出端口;
输入缓冲区,用于将存放的微片数据输出至路由计算模块;
路由计算模块,用于对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口;解析后的微片数据通过仲裁模块和交叉开关模块转发至所选择的输出端口;
仲裁模块,用于在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁,控制交叉开关模块进行输入端口和输出端口的数据交换。
2.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,所述关闭模块是通过电源门控技术来关断路由模块的工作电源。
3.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,所述直通模块设置输入端口与输出端口的连接形式为:若路由器处于网络左上角和右下角时,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;若路由器处于网络右上角和左下角时,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;若路由器处于网络中的其它位置,输入端口与输出端口的连接形式是东西方向连通和南北方向连通。
4.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,所述路由算法包括以下步骤:
1)标识出路由区域内处于关断模式和直通模式的路由器,生成邻节点状态表;关断模式为路由器所连处理器核处于空闲或不工作状态,路由器全部功能不可用;直通模式为路由器的输入端口与输出端口直接相连,只能定向转发数据包;
2)基于XY路由算法,读取邻节点状态表,计算下一跳路由地址。
5.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,缓冲管理模块包括睡眠寄存器、空闲计数器和使能寄存器;其中,输入缓冲区内每个缓冲项分配一个空闲计数器,该计数器用于记录对应缓冲项的连续空闲时钟周期数;当该缓冲项处于打开状态且没有数据时,将缓冲区的使能寄存器中相应位置为1,启动空闲计数器进行计数;当计数值达到阈值Tslp后,将缓冲区的睡眠寄存器中相应位置为1,关闭该缓冲项;若空闲计数器在计数过程中缓冲项有数据到来且计数值未达到阈值Tslp,计数器将停止计数并清除计数值,直到数据从该缓冲项中读出,才会重新启动空闲计数器并从零开始计数;
当微片数据进入输入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,将会设置缓冲区的睡眠寄存器中相应位为0,生成缓冲唤醒信号打开一个缓冲项用于存放到来的微片数据。
6.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,所述中等负载值是指网络注入率大于0.1微片/周期而小于0.3微片/周期,高负载值是指网络注入率大于0.3微片/周期。
7.一种具有多种工作模式的片上网络路由方法,其特征在于,当路由器所连处理器核处于空闲或不工作状态时,则关闭路由器;
当网络通信负载由低逐渐增加到超过预设的中等负载值,根据表征路由器所处网络的位置,设置东输入端口、西输入端口、南输入端口、北输入端口与东输出端口、西输出端口、南输出端口、北输出端口的连接形式,具体如下;若路由器处于网络左上角和右下角时,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;若路由器处于网络右上角和左下角时,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;若路由器处于网络中的其它位置,输入端口与输出端口的连接形式是东西方向连通和南北方向连通;
当原先处于空闲或不工作状态的处理器核运行任务时,采用缓冲区管理策略实现对输入缓冲区中各缓冲项的关闭和打开;所述缓冲区管理策略为:当输入缓冲区中的缓冲项在预设的时间段内没有数据时,则关闭该缓冲项;当输入端口的微片数据由输入端口控制模块进入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,则将生成缓冲唤醒信号用来打开一个缓冲项用于存放到来的微片数据;对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口,解析后的微片数据转发至所选择的输出端口;在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁从而实现输入端口和输出端口的数据交换;
当网络通信负载进一步增加到超过预设的高负载值,控制缓冲区中的输入缓冲区全部打开用来存放到来的微片数据;对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口;解析后的微片数据转发至所选择的输出端口;在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁从而实现输入端口和输出端口的数据交换;其中,预设的高负载值大于预设的中等负载值。
8.根据权利要求7所述的一种具有多种工作模式的片上网络路由方法,其特征在于,所述路由算法包括以下步骤:
1)标识出路由区域内处于关断模式和直通模式的路由器,生成邻节点状态表;关断模式为路由器所连处理器核处于空闲或不工作状态,路由器全部功能不可用;直通模式为路由器的输入端口与输出端口直接相连,只能定向转发数据包;
2)基于XY路由算法,读取邻节点状态表,计算下一跳路由地址。
9.根据权利要求7所述的一种具有多种工作模式的片上网络路由方法,其特征在于,所述中等负载值是指网络注入率大于0.1微片/周期而小于0.3微片/周期,高负载值是指网络注入率大于0.3微片/周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610873363.5A CN106302163B (zh) | 2016-09-30 | 2016-09-30 | 一种具有多种工作模式的片上网络路由器及路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610873363.5A CN106302163B (zh) | 2016-09-30 | 2016-09-30 | 一种具有多种工作模式的片上网络路由器及路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106302163A true CN106302163A (zh) | 2017-01-04 |
CN106302163B CN106302163B (zh) | 2019-05-10 |
Family
ID=57716581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610873363.5A Active CN106302163B (zh) | 2016-09-30 | 2016-09-30 | 一种具有多种工作模式的片上网络路由器及路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106302163B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454003A (zh) * | 2017-08-18 | 2017-12-08 | 南京航空航天大学 | 一种可动态切换工作模式的片上网络路由器及方法 |
CN107864094A (zh) * | 2017-11-15 | 2018-03-30 | 新华三技术有限公司 | 一种流量选路方法、装置和机器可读存储介质 |
CN109150717A (zh) * | 2018-07-04 | 2019-01-04 | 东南大学 | 一种优化片上网络功耗的组合路由方法 |
CN112363612A (zh) * | 2020-10-21 | 2021-02-12 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN113079100A (zh) * | 2021-03-03 | 2021-07-06 | 桂林电子科技大学 | 一种用于高速数据采集的NoC路由器 |
CN113114593A (zh) * | 2021-04-12 | 2021-07-13 | 合肥工业大学 | 一种片上网络中双信道路由器及其路由方法 |
CN113542140A (zh) * | 2021-07-26 | 2021-10-22 | 合肥工业大学 | 无线片上网络中可重构高能效的路由器及功率门控方法 |
CN113543154A (zh) * | 2021-07-26 | 2021-10-22 | 合肥工业大学 | 无线片上网络中流量自适应的可重构无线节点及重构方法 |
CN114584507A (zh) * | 2022-02-23 | 2022-06-03 | 中山大学 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
CN114844827A (zh) * | 2022-05-05 | 2022-08-02 | 浙江大学 | 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618673A (zh) * | 2013-11-15 | 2014-03-05 | 中国航空无线电电子研究所 | 一种保障服务质量的片上网络路由方法 |
CN104158738A (zh) * | 2014-08-29 | 2014-11-19 | 中国航空无线电电子研究所 | 一种低缓冲区片上网络路由器及路由方法 |
CN104539547A (zh) * | 2014-11-14 | 2015-04-22 | 中国科学院计算技术研究所 | 一种用于三维集成电路片上网络的路由器及路由方法 |
CN105871742A (zh) * | 2016-03-24 | 2016-08-17 | 合肥工业大学 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
-
2016
- 2016-09-30 CN CN201610873363.5A patent/CN106302163B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618673A (zh) * | 2013-11-15 | 2014-03-05 | 中国航空无线电电子研究所 | 一种保障服务质量的片上网络路由方法 |
CN104158738A (zh) * | 2014-08-29 | 2014-11-19 | 中国航空无线电电子研究所 | 一种低缓冲区片上网络路由器及路由方法 |
CN104539547A (zh) * | 2014-11-14 | 2015-04-22 | 中国科学院计算技术研究所 | 一种用于三维集成电路片上网络的路由器及路由方法 |
CN105871742A (zh) * | 2016-03-24 | 2016-08-17 | 合肥工业大学 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454003B (zh) * | 2017-08-18 | 2019-08-30 | 南京航空航天大学 | 一种可动态切换工作模式的片上网络路由器及方法 |
CN107454003A (zh) * | 2017-08-18 | 2017-12-08 | 南京航空航天大学 | 一种可动态切换工作模式的片上网络路由器及方法 |
CN107864094A (zh) * | 2017-11-15 | 2018-03-30 | 新华三技术有限公司 | 一种流量选路方法、装置和机器可读存储介质 |
CN109150717A (zh) * | 2018-07-04 | 2019-01-04 | 东南大学 | 一种优化片上网络功耗的组合路由方法 |
CN112363612B (zh) * | 2020-10-21 | 2022-07-08 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN112363612A (zh) * | 2020-10-21 | 2021-02-12 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN113079100A (zh) * | 2021-03-03 | 2021-07-06 | 桂林电子科技大学 | 一种用于高速数据采集的NoC路由器 |
CN113114593A (zh) * | 2021-04-12 | 2021-07-13 | 合肥工业大学 | 一种片上网络中双信道路由器及其路由方法 |
CN113114593B (zh) * | 2021-04-12 | 2022-03-15 | 合肥工业大学 | 一种片上网络中双信道路由器及其路由方法 |
CN113543154A (zh) * | 2021-07-26 | 2021-10-22 | 合肥工业大学 | 无线片上网络中流量自适应的可重构无线节点及重构方法 |
CN113543154B (zh) * | 2021-07-26 | 2022-06-07 | 合肥工业大学 | 无线片上网络中流量自适应的可重构无线节点及重构方法 |
CN113542140A (zh) * | 2021-07-26 | 2021-10-22 | 合肥工业大学 | 无线片上网络中可重构高能效的路由器及功率门控方法 |
CN114584507A (zh) * | 2022-02-23 | 2022-06-03 | 中山大学 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
CN114584507B (zh) * | 2022-02-23 | 2023-07-04 | 中山大学 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
CN114844827A (zh) * | 2022-05-05 | 2022-08-02 | 浙江大学 | 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106302163B (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106302163B (zh) | 一种具有多种工作模式的片上网络路由器及路由方法 | |
CN107454003B (zh) | 一种可动态切换工作模式的片上网络路由器及方法 | |
US10074053B2 (en) | Clock gating for system-on-chip elements | |
US9294403B2 (en) | Mechanism to control resource utilization with adaptive routing | |
CN102823214B (zh) | 知晓性能和话务的异类性互联网络 | |
US8930618B2 (en) | Smart memory | |
Chang et al. | Path-congestion-aware adaptive routing with a contention prediction scheme for network-on-chip systems | |
Tran et al. | Achieving high-performance on-chip networks with shared-buffer routers | |
WO2014051778A1 (en) | Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices | |
CN112152932B (zh) | 片上网络路由控制方法、片上网络路由器及可读存储介质 | |
US20080186853A1 (en) | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization | |
US8031614B2 (en) | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamic global mapping of contended links | |
CN104320341A (zh) | 路由自适应异步2D-Torus片上网络及其设计方法 | |
CN110505168B (zh) | 一种ni接口控制器及数据传输方法 | |
Chen et al. | ArSMART: An improved SMART NoC design supporting arbitrary-turn transmission | |
US20240020261A1 (en) | Peer-to-peer route through in a reconfigurable computing system | |
Abad et al. | Balancing performance and cost in CMP interconnection networks | |
CN111045974A (zh) | 一种基于交换结构的多处理器数据交互方法 | |
Zid et al. | New generic GALS NoC architectures with multiple QoS | |
Alimi et al. | Network-on-Chip Topologies: Potentials, Technical Challenges, Recent Advances and Research Direction | |
Palumbo et al. | A novel non-exclusive dual-mode architecture for mpsocs-oriented network on chip designs | |
US11762560B2 (en) | Optimizing NOC performance using crossbars | |
CN209345188U (zh) | 低延时网络路由器 | |
Rengasamy et al. | Using packet information for efficient communication in NoCs | |
Malladhi et al. | Design and Development of Novel AXI Interconnect based NoC Architecture for SoC with Reduced Latency and Improved Throughput |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |