CN105262705B - 一种基于当值缓存降低片上网络静态功耗的方法 - Google Patents
一种基于当值缓存降低片上网络静态功耗的方法 Download PDFInfo
- Publication number
- CN105262705B CN105262705B CN201510731383.4A CN201510731383A CN105262705B CN 105262705 B CN105262705 B CN 105262705B CN 201510731383 A CN201510731383 A CN 201510731383A CN 105262705 B CN105262705 B CN 105262705B
- Authority
- CN
- China
- Prior art keywords
- power
- signal
- input port
- virtual channel
- empty
- 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.)
- Active
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/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于当值缓存降低片上网络静态功耗的方法,目的是在不增加网络报文平均延迟的同时,降低路由器静态功耗损失。技术方案是改进路由器输入端口,在输入端口添加一个当值缓存、一个唤醒计数器、N个选择器、一个断电控制逻辑,在输入端口N个虚拟通道的电源上添加电源门控开关,并改进输入端口控制器;电源门控开关和断电控制逻辑对输入端口虚拟通道电源进行控制,降低虚拟通道静态功耗;输入端口控制器、输入端口分配器、唤醒计数器和当值缓存配合工作,替换处于断电或唤醒状态的虚拟通道存储报文,避免增加报文传输延迟。采用本发明既可降低片上网络的静态功耗,又可避免虚拟通道唤醒过程导致报文传输延迟增加。
Description
技术领域:本发明涉及计算机体系结构领域片上网络路降低功耗的由器方法,尤其涉及一种采用当值缓存(Duty Buffer)降低片上网络静态功耗方法。
背景技术:近年来,多核处理器逐渐成为现代高性能处理器的发展趋势。但是随着处理器核心和功能单元的增加,传统的通信结构难以解决不断增加的通信问题。为解决由于通信问题产生的性能瓶颈,在第38届电子设计自动化会议上,W.J.Dally教授借鉴于片外网络的结构特点,在《Route Packets,Not Wires:On-chip Interconnect Networks》(传输报文,而不是连线:片上互连网络)一文中较为系统的提出片上网络概念。很快,学术界针对片上网络开展了大量的研究工作,并且很多技术应用于现代商用处理器上。
虽然近年来片上网络在多核处理器方面取得了很大成功,但是随着功能单元数量的增加,网络规模不断增大,节点间的距离增加,随之而来的网络节点间的电阻增加,节点之间的通信延迟增大,使得网络路由器输入端口需要更多的缓存资源,这些缓存不仅消耗大量的芯片面积,更造成大量的静态功耗损失。根据研究表明缓存造成静态功耗损失占整个网络静态功耗的80%。而且随着半导体工艺技术的发展,静态功耗占芯片整体功耗的比例不断增大。如果以现有的片上网络技术发展高性能多核处理器,在不远的将来整个芯片的能耗将很快达到150w。而片上网络中的缓存消耗主要是来自于网络路由器输入端口的虚拟通道。以上原因使得减少片上网络中路由器输入端口缓存的静态功耗成为减少网络整体功耗的关键。
片上网络路由器硬件结构如图1所示,片上网络路由器由输入端口、路由计算模块、虚拟通道分配器、交叉开关分配器、交叉开关和输出端口组成。输入端口与上游路由器的输出端口、路由计算模块和交叉开关相连,从上游路由器接收报文,对报文进行存储,并向路由计算模块发送路由计算请求,当报文离开输入端口发向交叉开开关,输入端口向上游路由器发送一个信元(信元是一个通信信号,告知上游路由器,本地路由器哪条虚拟通道发送了报文);路由计算模块与输入端口、虚拟通道分配器和交叉开关分配器相连,从输入端口接收路由计算请求,采用路由算法确定报文的输出端口编号,并将报文的输出端口编号发送给虚拟通道分配器,同时向交叉开关分配器发送使用交叉开关请求;虚拟通道分配器与路由计算模块和输出端口相连,接收来自路由计算模块的报文的输出端口编号,结合输出端口状态,仲裁一条用于存储该报文的下游路由器虚拟通道,并将虚拟通道的仲裁结果(即下游路由器存储该报文的虚拟通道编号)通过路由计算模块发送到输入端口,在报文离开输入端口时,输入端口将报文携带的虚拟通道标记位更改为该虚拟通道编号,以便下游路由器存储该报文;交叉开关分配器与路由计算模块、交叉开关和输出端口相连,接收来自路由计算模块的使用交叉开关请求,根据输出端口状态,向交叉开关发送使用交叉开关分配请求(即报文在本地路由器虚拟通道编号和输出端口编号)。交叉开关与虚拟通道、输出端口和交叉开关分配器相连,从虚拟通道接收报文,根据来自交叉开关分配器的仲裁结果,将报文发送到指定输出端口;输出端口与交叉开关、虚拟通道仲裁器、交叉开关仲裁器和下游路由器的输入端口相连,接收来自交叉开关的报文,将报文发送到下游路由器的输入端口(一个输出端口,在一个时钟周期只能发送一个报文到下游路由器),并负责接收来自下游路由器的信元,监控下游路由器空闲存储空间数量。
如图2所示,输入端口由输入端口控制器、输入端口分配器、流控单元和N个虚拟通道组成,N为正整数。输入端口控制器与上游路由器的输出端口和输入端口分配器相连,从上游路由器接收报文,解码报文携带的虚拟通道标记位,得到本地路由器存储报文的虚拟通道编号;输入端口分配器从输入端口控制器接收报文和输入控制信号(即虚拟通编号i,0≤i≤N-1),将报文分配到输入控制信号所指的虚拟通道。每个虚拟通道是一个缓存队列,接收来自输入端口分配器的报文,对报文进行存储,向交叉开关输出报文和空闲状态信息,N个虚拟通道的空闲状态信息用VC0_empty...VCi_empty...VCN-1_empty表示,VCi_empty为“1”表示第i条虚拟通道处于空闲状态,未存储报文,为“0”表示第i条虚拟通道正用于存储报文。流控单元从虚拟通道接收虚拟通道访问信息(即进行读取操作的虚拟通道的编号),一旦报文从虚拟通道中被读取,立即向上游路由器的输出端口发送信元。
但是,目前降低静态功耗最有效的方法是在《Emerging Power-GatingTechniques for Low Power Digital Circuits》(摆脱能耗--低功耗电子电路的门控技术)中介绍的电源门控技术。即在电子器件的电源上,增加一个电源开关和电源门控控制电路。电源门控控制电路关闭处于空闲状态的电子器件的电源,使器件进入到断电状态,消除其静态功耗;当需要该器件工作时,电源门控控制电路打开电源开关,唤醒器件。但是器件需要一定通电时钟周期数,才能够进入到正常工作状态。这个过程器件所处的状态,一般称唤醒状态。如果在路由器输入端口的虚拟通道上采用电源门控技术,上游输出端口必须等待额外的时钟周期数确保下游虚拟通道被完全唤醒,这就造成报文额外的延迟等待,使得报文的平均延迟增加。然而片上网络对于报文的平均延迟具有非常严格的要求,使得在片上网络环境下应用电源门控技术变得十分困难。
由以上分析可以看出,如何在不增加网络报文的平均延迟的同时,降低输入端口缓存的静态功耗,是本领域技术人员需要解决的热点技术问题。
发明内容
本发明要解决的技术问题是在不增加网络报文平均延迟的同时,降低路由器输入端口虚拟通道造成的静态功耗损失。为此,本发明提出一种基于当值缓存降低片上网络静态功耗的方法。
第一步,改进路由器输入端口,在输入端口添加一个当值缓存、一个唤醒计数器、N个选择器、一个断电控制逻辑,在输入端口N个虚拟通道的电源上添加电源门控开关,并改进输入端口控制器,使输入端口能够在虚拟通道处于空闲状态时,关闭虚拟通道电源,降低静态功耗。
1.1在输入端口添加一个当值缓存。当值缓存为一个先入先出(First in Firstout)的存储队列,位宽为报文的位宽,深度为T_wakeup,T_wakeup为唤醒过程需要的时钟周期数,根据经验一般设置为12,。当值缓存与断电控制逻辑、输入端口分配器和N个选择器相连,当值缓存从输入端口分配器接收报文对报文进行存储,向断电控制逻辑和输入端口控制器发送1bit的duty_buffer_empty信号,duty_buffer_empty信号为“1”表示当值缓存处于空闲状态,duty_buffer_empty为“0”表示当值缓存正用于存储报文。
1.2在N个虚拟通道的输出端均添加一个选择器,该选择器为二选一选择器。第i个选择器与第i条虚拟通道、当值缓存、交叉开关、输入端口控制器的输出控制信号的第i位相连,选择器从当值缓存和第i条虚拟通道接收报文,向交叉开关发送报文,从输入端口控制器接收输出控制信号的第i位,当输出控制信号第i位为“1”时,选择器输出当值缓存输出的报文,输出控制信号第i位为“0”时,选择器输出第i条虚拟通道输出的报文。
1.3在N个虚拟通道的电源上均添加电源门控开关,电源门控开关的设置与文献《Emerging Power-Gating Techniques for Low Power Digital Circuits》(摆脱能耗--低功耗电子电路的门控技术,弗吉尼亚理工学院暨州立大学,2011年,Henry,Michael B,第18页,2.2节)中介绍的电源门控开关相同。电源门控开关与断电控制逻辑和虚拟通道电源开关相连,从断电控制逻辑接收1bit的断电信号,断电信号为“1”时,电源门控开关关闭虚拟通道电源。断电信号为“0”时,电源门控开关接通虚拟通道电源。
1.4在输入端口添加断电控制逻辑。断电控制逻辑由断电计数器和2个与门组成。第一与门是一个N+1输入与门,与N条虚拟通道、当值缓存、断电计数器和第二与门相连,从N个虚拟通道接收VC0_empty...VCi_empty...VCN-1_empty信号,从当值缓存接收duty_buffer_empty信号,将VCi_empty...VCi_empty...VCN-1_empty和duty_buffer_empty进行与操作,得到断电触发信号,将断电触发信号发送给断电计数器和第二与门。
断电计数器采用同步二进制计数器,最大计数值大于断电反应时钟周期数T_idle_detect,T_idle_detect根据经验一般设置为4。断电计数器与第一与门和第二与门相连,从第一与门接收断电触发信号,向第二与门发送1bit的开始断电信号,当断电触发信号为“0”时,断电计数器清零。当断电触发信号为“1”时,断电计数器开始计数,在每个时钟周期上升沿,如果断电触发信号为“1”,断电计数器加1,当断电计数值大于等于T_idle_detect时,向第二与门发送的开始断电信号为“1”;当断电计数值小于T_idle_detect时,开始断电信号为“0”。
第二与门是一个2输入与门,与断电计数器、第一与门、电源门控开关、输入端口控制器和唤醒计数器相连,第二与门从断电计数器接收开始断电信号,从第一与门接收断电触发信号,对开始断电信号和断电触发信号进行与操作,得到断电信号,将断电信号发送给第一唤醒计数器、电源门控开关和输入端口控制器。
1.5在输入端口添加唤醒计数器,唤醒计数器是一个同步二进制计数器,最大计数值大于T_wakeup。唤醒计数器与断电控制逻辑的第二与门和输入端口控制器相连,从第二与门接收断电信号,向输入端口控制器发送1bit的保持信号。断电信号为“1”,唤醒计数器的值清零,当断电信号为“0”,唤醒计数器开始计数,在每个时钟周期的上升沿,如果断电信号为“0”,计数值加1。当唤醒计数器的值小于T_wakeup时,保持信号为“1”。当唤醒计数器的值大于等于T_wakeup时,保持信号为“0”。
1.6改进输入端口控制器,在其内部增加一个缓存队列用于存储进入到当值缓存报文携带的虚拟通道编号,缓存队列位宽为W,深度为T_wakeup,W为大于等于log2(N)的最小正整数,扩展输入控制信号的位宽,使输入控制信号的表示范围由0~N-1扩展到0~N。输入端口控制器与唤醒计数器、输入端口分配器、N个选择器、断电控制逻辑、当值缓存和上游路由器的输出端口相连,从上游路由器输出端口接收报文,从唤醒计数器接收保持信号,从断电控制逻辑接收断电信号,从当值缓存接收duty_buffer_empty信号,向输入端口分配器发送报文和输入控制信号,向N个选择器发送N bit的输出控制信号。
当断电信号为“1”且保持信号为“1”,或断电信号为“1”且保持信号为“0”,或断电信号为“0”且保持信号为“1”时,输入控制信号为N(对应当值缓存)。当断电信号为“0”且保持信号为“0”时,输入控制信号为进入输入端口控制器报文携带的虚拟通道编号i(0≤i≤N-1,对应N条虚拟通道)。
当保持信号为“0”且duty_buffer_empty信号为“1”时,输出控制信号的所有位为“0”。当保持信号为“1”且duty_buffer_empty信号为“1”,输出控制信号的第i位为“1”,i为进入输入端口控制器报文携带的虚拟通道编号(此时当值缓存为存储报文,从输入端口分配器接收的报文将存储于当值缓存的顶端),当保持信号为“1”且duty_buffer_empty信号为“0”,或保持信号为“0”且duty_buffer_empty信号为“0”时,输出控制信号的第j位为“1”,j(0≤j≤N-1)为存储在当值缓存队列顶端报文携带的虚拟通道编号,其余位为“0”,因为当当值缓存存储多个报文时,只有报文到达当值缓存队列的顶端,报文才会发送到相应的选择器。
第二步,电源门控开关和断电控制逻辑对输入端口虚拟通道电源进行控制,降低虚拟通道静态功耗;输入端口控制器、输入端口分配器、唤醒计数器和当值缓存配合工作,替换处于断电或唤醒状态的虚拟通道存储报文,避免增加报文传输延迟。
2.1片上网络通电,初始化路由器。
2.1.1虚拟通道正常接收报文,至少存在一条虚拟通道i(0≤i≤N-1)正用于存储报文,VCi_empty为“0”。
2.1.2第一与门对VC0_empty...VCi_empty...VCN-1_empty和duty_buffer_empty进行与操作,输出的断电触发信号为“0”。
2.1.3断电计数器从第一与门接收的断电触发信号为“0”,计数值清零,输出的开始断电信号为“0”。第二与门对开始断电信号和断电触发信号进行与操作,输出的断电信号为“0”。
2.1.4电源门控开关从第二与门接受为“0”的断电信号,保持虚拟通道供电。
2.1.5当值缓存处于空闲状态,输出的duty_buffer_empty信号为“1”。
2.1.6唤醒计数器的值初始化为最大值,向输入端口控制器发送的保持信号为“0”。
2.1.7输入端口控制器从当值缓存接收到的duty_buffer_empty信号为“1”,从断电控制逻辑接收的断电信号为“0”,从唤醒计数器接收的保持信号为“0”,发向输入端口分配器的输入控制信号为报文携带的虚拟通道编号i,发向N个选择器的输出控制信号的所有位都为“0”。
2.1.8 N个选择器从输入端口控制器接收所有位都为“0”的输出控制信号,输出对应虚拟通道输出的报文。
2.2电源门控开关关闭虚拟通道电源。
2.2.1第一与门从N个虚拟通道接收的VC0_empty...VCi_empty...VCN-1_empty都为“1”,从当值缓存接收的duty_buffer_empty也为“1”,对VC0_empty...VCi_empty...VCN-1_empty和duty_buffer_empty进行与操作所得的断电触发信号为“1”。
2.2.2断电计数器从第一与门接收到为“1”的断电触发信号,开始计数,发向第二与门的开始断电信号为“0”。
2.2.3第二与门对为“0”开始断电信号和为“1”断电触发信号进行与操作,输出的断电信号为“0”。
2.2.4当断电计数器的值等于T_idle_detect时,发向第二与门的开始断电信号变为“1”,致使第二与门输出的断电信号为“1”。
2.2.5电源门控开关从断电控制逻辑接收到为“1”的断电信号,关闭所有虚拟通道电源。虚拟通道进入断电状态,不消耗静态功耗。
2.2.6唤醒计数器从断电控制逻辑接收到为“1”的断电信号,对计数值清零,发向输入端口控制器的保持信号为“1”。
2.3当值缓存替换处于断电状态的虚拟通道接收报文,电源门控开关接通虚拟通道电源。
2.3.1输入端口控制器从上游路由器的输出端口接收报文,因为此时输入端口控制器从唤醒计数器接收的保持信号为“1”,从断电控制逻辑接收的断电信号为“1”,从当值缓存接收的duty_buffer_empty信号为“1”,所以发向输入端口分配器的输入控制信号为“N”,发向N个选择器的输出控制信号第i位为“1”,其余位为“0”,因为此时当值缓存处于空闲状态,当当值缓存接收报文,该报文会被放置于存储对列的顶端,使得进入输入端口控制器报文携带的虚拟通道编号和存储在当值缓存队列顶端报文携带的虚拟通道编号相同,即(i=j)。
2.3.2输入端口分配器从输入端口控制器接收报文和为“N”的输入控制信号,将报文存储于当值缓存中。
2.3.4第i个选择器从输入端口控制器接收的输出控制信号的第i位为“1”,选择将当值缓存输出的报文发向交叉开关。
2.3.5当值缓存从输入端口分配器接收报文后,对报文进行存储,输出的duty_buffer_empty信号变为“0”。
2.3.6第一与门对为“0”的duty_buffer_empty信号和VC0_empty...VCi_ empty...VCN-1_empty信号进行与操作,输出的断电触发信号变为“0”。
2.3.6断电计数器从第一与门接收为“0”的断电触发信号,清零计数器,发向第二与门的开始断电信号变为“0”。
2.3.7第二与门对为“0”的断电触发信号和为“0”的开始断电信号进行与操作,输出的断电信号变为“0”。
2.3.8电源门控开关从断电控制逻辑接收到为“0”的断电信号,接通所有虚拟通道电源。虚拟通道进入唤醒状态。
2.3.9唤醒计数器从断电控制逻辑接收到为“0”的断电信号,开始计时,向输入端口控制器的保持信号保持为“1”。
2.4当值缓存替换处于唤醒状态的虚拟通道,直到虚拟通道进入正常工作状态。
2.4.1当唤醒计数器的值小于T_wakeup时,从唤醒计数器接收的保持信号为“1”,输入端口控制器从断电控制逻辑接收的断电信号为“0”,从当值缓存接收的duty_buffer_empty信号为“0”,发向输入端口分配器的输入控制信号为N,发向N个选择器的输出控制信号的第j位为“1”,其余位为“0”。输入端口分配器从输入端口控制器接收的报文存储于当值缓存中。第j个选择器选择当值缓存的输出的报文。
2.4.2当唤醒计数器的值等于T_wakeup时,唤醒计数器发向输入端口控制器的保持信号变为“0”,虚拟通道经过T_wakeup个时钟周期的通电,由唤醒状态进入到正常工作状态。
2.4.3输入端口控制器从唤醒计数器接收为“0”的保持信号,发向输入端口分配器的输入控制信号变为i,发向N个选择器的输出控制信号的第j(i和j可以相同)位为“1”,使得在当值缓存存储队列顶端的报文(即当值缓存即将发送的报文)替换该报文本应存储的第j条虚拟通道的输出报文。
2.4.4输入端口分配器从输入端口控制器接收报文和输入控制信号,将报文发送到第i条虚拟通道,停止向当值缓存存储报文。
2.4.5当输入端口从当值缓存接收的duty_buffer_empty信号变为“1”时,发向N个选择器的输出控制信号变为“0”。所有选择器选择虚拟通道输出的报文,虚拟通道进入正常工作状态。
采用本发明能够达到以下技术效果。
1.采用本发明可降低片上网络的静态功耗。采用断电控制逻辑和电源门控开关,在所有虚拟通道处于空闲状态时,断电控制逻辑控制电源门控开关关闭所有虚拟通道电源,减少虚拟通道带来的静态功耗。当需要虚拟通道存储报文时,断电控制逻辑控制电源门控开关接通所有虚拟通道电源,以应对片上网络爆发性通信。
2.使用当值缓存替换处于断电或唤醒状态的虚拟通道,可以避免虚拟通道唤醒过程导致报文传输延迟增加。在虚拟通道处于断电状态时,输入端口控制器通过控制输入端口分配器将报文存储于当值缓存中,控制选择器选择当值缓存的输出替换虚拟通道的输出,实现使用当值缓存替换任意一条虚拟通道,避免报文等待虚拟通道完全唤醒而增加报文传输延迟。
附图说明
图1是背景技术中阐述目前通用的路由器逻辑结构图;
图2是图1中介绍的路由器的输入端口逻辑结构图;
图3是本发明总体流程图;
图4是本发明第一步改进后的输入端口逻辑结构图。
具体实施方式:
图3是本发明总体流程图,本发明包括以下2个步骤:
第一步,改进路由器输入端口。
第二步,在虚拟通道处于空闲状态时,关闭虚拟通道电源,降低静态功耗;使用当值缓存替换处于断电或唤醒状态的虚拟通道存储报文,避免增加报文传输延迟。
图4是本发明第一步改进后的输入端口逻辑结构图。
在输入端口添加一个当值缓存。当值缓存位宽等于报文的位宽,深度为T_wakeup,T_wakeup为唤醒过程需要的时钟周期数,根据经验一般设置为12。当值缓存与断电控制逻辑、输入端口分配器和N个选择器相连,当值缓存从输入端口分配器接收报文对报文进行存储,向断电控制逻辑和输入端口控制器发送1bit的duty_buffer_empty信号,duty_buffer_empty信号为“1”表示当值缓存处于空闲状态,duty_buffer_empty为“0”表示当值缓存正用于存储报文。
在N个虚拟通道的输出端均添加一个选择器,该选择器为二选一选择器。第i个选择器与第i条虚拟通道、当值缓存、交叉开关、输入端口控制器的输出控制信号的第i位相连,选择器从当值缓存和第i条虚拟通道接收报文,向交叉开关发送报文,从输入端口控制器接收输出控制信号的第i位,当输出控制信号第i位为“1”时,选择器输出当值缓存输出的报文,输出控制信号第i位为“0”时,选择器输出第i条虚拟通道输出的报文。
在N个虚拟通道的电源上均添加电源门控开关,电源门控开关的设置与文献《Emerging Power-Gating Techniques for Low Power Digital Circuits》(摆脱能耗--低功耗电子电路的门控技术,弗吉尼亚理工学院暨州立大学,2011年,Henry,Michael B,第18页,2.2节)中介绍的电源门控开关相同。电源门控开关与断电控制逻辑和虚拟通道电源开关相连,从断电控制逻辑接收1bit的断电信号,断电信号为“1”时,电源门控开关关闭虚拟通道电源。断电信号为“0”时,电源门控开关接通虚拟通道电源。
在输入端口添加一个断电控制逻辑。断电控制逻辑由断电计数器和2个与门组成。第一与门是一个N+1输入与门,与N条虚拟通道、当值缓存、断电计数器和第二与门相连,从N个虚拟通道接收VC0_empty...VCi_empty...VCN-1_empty信号,从当值缓存接收duty_buffer_empty信号,将VCi_empty...VCi_empty...VCN-1_empty和duty_buffer_empty进行与操作,得到断电触发信号,将断电触发信号发送给断电计数器和第二与门。
断电计数器采用同步二进制计数器,最大计数值大于断电反应时钟周期数T_idle_detect,T_idle_detect根据经验一般设置为4。断电计数器与第一与门和第二与门相连,从第一与门接收断电触发信号,向第二与门发送1bit的开始断电信号,当断电触发信号为“0”时,断电计数器清零。当断电触发信号为“1”时,断电计数器开始计数,在每个时钟周期上升沿,如果断电触发信号为“1”,断电计数器加1,当断电计数值大于等于T_idle_detect时,向第二与门发送的开始断电信号为“1”;当断电计数值小于T_idle_detect时,开始断电信号为“0”。
第二与门是一个2输入与门,与断电计数器、第一与门、电源门控开关、输入端口控制器和唤醒计数器相连,第二与门从断电计数器接收开始断电信号,从第一与门接收断电触发信号,对开始断电信号和断电触发信号进行与操作,得到断电信号,将断电信号发送给第一唤醒计数器、电源门控开关和输入端口控制器。
在输入端口添加唤醒计数器,唤醒计数器是一个同步二进制计数器,最大计数值大于T_wakeup。唤醒计数器与断电控制逻辑的第二与门和输入端口控制器相连,从第二与门接收断电信号,向输入端口控制器发送1bit的保持信号。断电信号为“1”,唤醒计数器的值清零,当断电信号为“0”,唤醒计数器开始计数,在每个时钟周期的上升沿,如果断电信号为“0”,计数值加1。当唤醒计数器的值小于T_wakeup时,保持信号为“1”。当唤醒计数器的值大于等于T_wakeup时,保持信号为“0”。
改进输入端口控制器,在其内部增加一个位宽为W(W是大于等于log2(N)的最小整数),深度为T_wakeup的缓存队列用于存储进入到当值缓存报文携带的虚拟通道编号,扩展输入控制信号的位宽,使输入控制信号的表示范围由0~N-1扩展到0~N。输入端口控制器与唤醒计数器、输入端口分配器、N个选择器、断电控制逻辑、当值缓存和上游路由器的输出端口相连,从上游路由器输出端口接收报文,从唤醒计数器接收保持信号,从断电控制逻辑接收断电信号,从当值缓存接收duty_buffer_empty信号,向输入端口分配器发送报文和输入控制信号,向N个选择器发送N bit的输出控制信号。
Claims (6)
1.一种基于当值缓存降低片上网络静态功耗的方法,其特征在于包括以下步骤:
第一步,改进路由器输入端口,在输入端口添加一个当值缓存、一个唤醒计数器、N个选择器、一个断电控制逻辑,在输入端口N个虚拟通道的电源上添加电源门控开关,并改进输入端口控制器,使输入端口能够在虚拟通道处于空闲状态时,关闭虚拟通道电源,降低静态功耗,方法是:
1.1在输入端口添加一个当值缓存,当值缓存与断电控制逻辑、输入端口分配器和N个选择器相连,当值缓存从输入端口分配器接收报文对报文进行存储,向断电控制逻辑和输入端口控制器发送1bit的duty_buffer_empty信号,duty_buffer_empty信号为“1”表示当值缓存处于空闲状态,duty_buffer_empty为“0”表示当值缓存正用于存储报文;
1.2在N个虚拟通道的输出端均添加一个选择器,该选择器为二选一选择器;第i个选择器与第i条虚拟通道、当值缓存、交叉开关、输入端口控制器的输出控制信号的第i位相连,选择器从当值缓存和第i条虚拟通道接收报文,向交叉开关发送报文,从输入端口控制器接收输出控制信号的第i位,当输出控制信号第i位为“1”时,选择器输出当值缓存输出的报文,输出控制信号第i位为“0”时,选择器输出第i条虚拟通道输出的报文,0≤i≤N-1;
1.3在N个虚拟通道的电源上均添加电源门控开关,电源门控开关与断电控制逻辑和虚拟通道电源开关相连,从断电控制逻辑接收1bit的断电信号,断电信号为“1”时,电源门控开关关闭虚拟通道电源,断电信号为“0”时,电源门控开关接通虚拟通道电源;
1.4在输入端口添加断电控制逻辑;断电控制逻辑由断电计数器和2个与门组成;第一与门是一个N+1输入与门,与N条虚拟通道、当值缓存、断电计数器和第二与门相连,从N个虚拟通道接收VC0_empty...VCi_empty...VCN-1_empty信号,从当值缓存接收duty_buffer_empty信号,将VC0_empty...VCi_empty...VCN-1_empty和duty_buffer_empty进行与操作,得到断电触发信号,将断电触发信号发送给断电计数器和第二与门;VC0_empty...VCi_empty...VCN-1_empty表示N个虚拟通道的空闲状态信息,VCi_empty为“1”表示第i条虚拟通道处于空闲状态,未存储报文,为“0”表示第i条虚拟通道正用于存储报文;
断电计数器与第一与门和第二与门相连,从第一与门接收断电触发信号,向第二与门发送1bit的开始断电信号,当断电触发信号为“0”时,断电计数器清零;当断电触发信号为“1”时,断电计数器开始计数,在每个时钟周期上升沿,如果断电触发信号为“1”,断电计数器加1,当断电计数值大于等于断电反应时钟周期数T_idle_detect时,向第二与门发送的开始断电信号为“1”;当断电计数值小于T_idle_detect时,开始断电信号为“0”;
第二与门是一个2输入与门,与断电计数器、第一与门、电源门控开关、输入端口控制器和唤醒计数器相连,第二与门从断电计数器接收开始断电信号,从第一与门接收断电触发信号,对开始断电信号和断电触发信号进行与操作,得到断电信号,将断电信号发送给第一唤醒计数器、电源门控开关和输入端口控制器;
1.5在输入端口添加唤醒计数器,唤醒计数器与断电控制逻辑的第二与门和输入端口控制器相连,从第二与门接收断电信号,向输入端口控制器发送1bit的保持信号;断电信号为“1”,唤醒计数器的值清零,当断电信号为“0”,唤醒计数器开始计数,在每个时钟周期的上升沿,如果断电信号为“0”,计数值加1;当唤醒计数器的值小于T_wakeup时,保持信号为“1”,当唤醒计数器的值大于等于T_wakeup时,保持信号为“0”,T_wakeup为唤醒过程需要的时钟周期数;
1.6改进输入端口控制器,输入端口控制器与唤醒计数器、输入端口分配器、N个选择器、断电控制逻辑、当值缓存和上游路由器的输出端口相连,从上游路由器输出端口接收报文,从唤醒计数器接收保持信号,从断电控制逻辑接收断电信号,从当值缓存接收duty_buffer_empty信号,向输入端口分配器发送报文和输入控制信号,向N个选择器发送N bit的输出控制信号;
当断电信号为“1”且保持信号为“1”,或断电信号为“1”且保持信号为“0”,或断电信号为“0”且保持信号为“1”时,输入控制信号为N;当断电信号为“0”且保持信号为“0”时,输入控制信号为进入输入端口控制器报文携带的虚拟通道编号i;
当保持信号为“0”且duty_buffer_empty信号为“1”时,输出控制信号的所有位为“0”;当保持信号为“1”且duty_buffer_empty信号为“1”,输出控制信号的第i位为“1”,i为进入输入端口控制器报文携带的虚拟通道编号,当保持信号为“1”且duty_buffer_empty信号为“0”,或保持信号为“0”且duty_buffer_empty信号为“0”时,输出控制信号的第j位为“1”,j为存储在当值缓存队列顶端报文携带的虚拟通道编号,其余位为“0”,0≤j≤N-1;
第二步,电源门控开关和断电控制逻辑对输入端口虚拟通道电源进行控制,降低虚拟通道静态功耗;输入端口控制器、输入端口分配器、唤醒计数器和当值缓存配合工作,替换处于断电或唤醒状态的虚拟通道存储报文,避免增加报文传输延迟:
2.1片上网络通电,初始化路由器:
2.1.1虚拟通道正常接收报文,至少存在一条虚拟通道i正用于存储报文,VCi_empty为“0”;
2.1.2第一与门对VC0_empty...VCi_empty...VCN-1_empty和duty_buffer_empty进行与操作,输出的断电触发信号为“0”;
2.1.3断电计数器从第一与门接收的断电触发信号为“0”,计数值清零,输出的开始断电信号为“0”,第二与门对开始断电信号和断电触发信号进行与操作,输出的断电信号为“0”;
2.1.4电源门控开关从第二与门接受为“0”的断电信号,保持虚拟通道供电;
2.1.5当值缓存处于空闲状态,输出的duty_buffer_empty信号为“1”;
2.1.6唤醒计数器的值初始化为最大值,向输入端口控制器发送的保持信号为“0”;
2.1.7输入端口控制器从当值缓存接收到的duty_buffer_empty信号为“1”,从断电控制逻辑接收的断电信号为“0”,从唤醒计数器接收的保持信号为“0”,发向输入端口分配器的输入控制信号为报文携带的虚拟通道编号i,发向N个选择器的输出控制信号的所有位都为“0”;
2.1.8N个选择器从输入端口控制器接收所有位都为“0”的输出控制信号,输出对应虚拟通道输出的报文;
2.2电源门控开关关闭虚拟通道电源:
2.2.1第一与门从N个虚拟通道接收的VC0_empty...VCi_empty...VCN-1_empty都为“1”,从当值缓存接收的duty_buffer_empty也为“1”,对VC0_empty...VCi_empty...VCN-1_empty和duty_buffer_empty进行与操作所得的断电触发信号为“1”;
2.2.2断电计数器从第一与门接收到为“1”的断电触发信号,开始计数,发向第二与门的开始断电信号为“0”;
2.2.3第二与门对为“0”开始断电信号和为“1”断电触发信号进行与操作,输出的断电信号为“0”;
2.2.4当断电计数器的值等于T_idle_detect时,发向第二与门的开始断电信号变为“1”,致使第二与门输出的断电信号为“1”;
2.2.5电源门控开关从断电控制逻辑接收到为“1”的断电信号,关闭所有虚拟通道电源,虚拟通道进入断电状态,不消耗静态功耗;
2.2.6唤醒计数器从断电控制逻辑接收到为“1”的断电信号,对计数值清零,发向输入端口控制器的保持信号为“1”;
2.3当值缓存替换处于断电状态的虚拟通道接收报文,电源门控开关接通虚拟通道电源:
2.3.1输入端口控制器从上游路由器的输出端口接收报文,此时输入端口控制器从唤醒计数器接收的保持信号为“1”,从断电控制逻辑接收的断电信号为“1”,从当值缓存接收的duty_buffer_empty信号为“1”,发向输入端口分配器的输入控制信号为“N”,发向N个选择器的输出控制信号第i位为“1”,其余位为“0”;
2.3.2输入端口分配器从输入端口控制器接收报文和为“N”的输入控制信号,将报文存储于当值缓存中;
2.3.4第i个选择器从输入端口控制器接收的输出控制信号的第i位为“1”,选择将当值缓存输出的报文发向交叉开关;
2.3.5当值缓存从输入端口分配器接收报文后,对报文进行存储,输出的duty_buffer_empty信号变为“0”;
2.3.6第一与门对为“0”的duty_buffer_empty信号和VC0_empty...VCi_empty...VCN-1_empty信号进行与操作,输出的断电触发信号变为“0”;
2.3.6断电计数器从第一与门接收为“0”的断电触发信号,清零计数器,发向第二与门的开始断电信号变为“0”;
2.3.7第二与门对为“0”的断电触发信号和为“0”的开始断电信号进行与操作,输出的断电信号变为“0”;
2.3.8电源门控开关从断电控制逻辑接收到为“0”的断电信号,接通所有虚拟通道电源,虚拟通道进入唤醒状态;
2.3.9唤醒计数器从断电控制逻辑接收到为“0”的断电信号,开始计时,向输入端口控制器的保持信号保持为“1”;
2.4当值缓存替换处于唤醒状态的虚拟通道,直到虚拟通道进入正常工作状态:
2.4.1当唤醒计数器的值小于T_wakeup时,从唤醒计数器接收的保持信号为“1”,输入端口控制器从断电控制逻辑接收的断电信号为“0”,从当值缓存接收的duty_buffer_empty信号为“0”,发向输入端口分配器的输入控制信号为N,发向N个选择器的输出控制信号的第j位为“1”,其余位为“0”;输入端口分配器从输入端口控制器接收的报文存储于当值缓存中,第j个选择器选择当值缓存的输出的报文;
2.4.2当唤醒计数器的值等于T_wakeup时,唤醒计数器发向输入端口控制器的保持信号变为“0”,虚拟通道经过T_wakeup个时钟周期的通电,由唤醒状态进入到正常工作状态;
2.4.3输入端口控制器从唤醒计数器接收为“0”的保持信号,发向输入端口分配器的输入控制信号变为i,发向N个选择器的输出控制信号的第j位为“1”,使得在当值缓存存储队列顶端的报文替换该报文本应存储的第j条虚拟通道的输出报文;
2.4.4输入端口分配器从输入端口控制器接收报文和输入控制信号,将报文发送到第i条虚拟通道,停止向当值缓存存储报文;
2.4.5当输入端口从当值缓存接收的duty_buffer_empty信号变为“1”时,发向N个选择器的输出控制信号变为“0”,所有选择器选择虚拟通道输出的报文,虚拟通道进入正常工作状态。
2.如权利要求1所述的基于当值缓存降低片上网络静态功耗的方法,其特征在于所述当值缓存为一个先入先出的存储队列,位宽为报文的位宽,深度为T_wakeup。
3.如权利要求1所述的基于当值缓存降低片上网络静态功耗的方法,其特征在于所述T_wakeup设置为12。
4.如权利要求1所述的基于当值缓存降低片上网络静态功耗的方法,其特征在于所述断电计数器采用同步二进制计数器,最大计数值大于断电反应时钟周期数T_idle_detect,T_idle_detect设置为4。
5.如权利要求1所述的基于当值缓存降低片上网络静态功耗的方法,其特征在于唤醒计数器是一个同步二进制计数器,最大计数值大于T_wakeup。
6.如权利要求1所述的基于当值缓存降低片上网络静态功耗的方法,其特征在于改进输入端口控制器的方法是在输入端口控制器内部增加一个缓存队列用于存储进入到当值缓存报文携带的虚拟通道编号,缓存队列位宽为W,深度为T_wakeup,W为大于等于log2(N)的最小正整数;扩展输入控制信号的位宽,使输入控制信号的表示范围由0~N-1扩展到0~N。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510731383.4A CN105262705B (zh) | 2015-11-02 | 2015-11-02 | 一种基于当值缓存降低片上网络静态功耗的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510731383.4A CN105262705B (zh) | 2015-11-02 | 2015-11-02 | 一种基于当值缓存降低片上网络静态功耗的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105262705A CN105262705A (zh) | 2016-01-20 |
CN105262705B true CN105262705B (zh) | 2018-06-26 |
Family
ID=55102213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510731383.4A Active CN105262705B (zh) | 2015-11-02 | 2015-11-02 | 一种基于当值缓存降低片上网络静态功耗的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105262705B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365579B (zh) * | 2019-08-09 | 2021-05-04 | 合肥工业大学 | 无线片上网络中拥塞与故障感知无线路由器及其路由方法 |
CN113542140B (zh) * | 2021-07-26 | 2023-04-07 | 合肥工业大学 | 无线片上网络中可重构高能效的路由器及功率门控方法 |
CN116842903B (zh) * | 2023-09-04 | 2023-11-21 | 深圳鲲云信息科技有限公司 | 优化芯片动态功耗的方法及芯片、电子设备和计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227298A (zh) * | 2008-01-09 | 2008-07-23 | 南京大学 | 基于片上网络的路由器功耗模型 |
CN101232456A (zh) * | 2008-01-25 | 2008-07-30 | 浙江大学 | 一种分布式可测试片上网络路由器 |
CN102437953A (zh) * | 2011-12-14 | 2012-05-02 | 清华大学 | 片上网络中的低功耗自适应路由方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130214909A1 (en) * | 2012-02-22 | 2013-08-22 | Qualcomm Incorporated | Airplane mode for wireless transmitter device and system using short-range wireless broadcasts |
-
2015
- 2015-11-02 CN CN201510731383.4A patent/CN105262705B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227298A (zh) * | 2008-01-09 | 2008-07-23 | 南京大学 | 基于片上网络的路由器功耗模型 |
CN101232456A (zh) * | 2008-01-25 | 2008-07-30 | 浙江大学 | 一种分布式可测试片上网络路由器 |
CN102437953A (zh) * | 2011-12-14 | 2012-05-02 | 清华大学 | 片上网络中的低功耗自适应路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105262705A (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110202788A1 (en) | Method and device for clock gate controlling | |
CN105262705B (zh) | 一种基于当值缓存降低片上网络静态功耗的方法 | |
JP2009009577A (ja) | 分散システムにおける動的な電力管理を実現するためのコア動作検出のための方法、システム及び装置 | |
Satpathy et al. | A 4.5 Tb/s 3.4 Tb/s/W 64× 64 switch fabric with self-updating least-recently-granted priority and quality-of-service arbitration in 45nm CMOS | |
US9887849B2 (en) | Reduced wake up delay for on-die routers | |
Lee et al. | Analysis and implementation of practical, cost-effective networks on chips | |
CN111092739B (zh) | 一种交换机功耗动态调整方法 | |
US9529419B2 (en) | Methods and apparatuses for switch power down | |
US8908709B1 (en) | Methods and apparatus for power management associated with a switch fabric | |
US20190004594A1 (en) | Network-driven, packet context-aware power management for client-server architecture | |
CN100508070C (zh) | 一种降低存储器功耗的方法及系统 | |
Fu et al. | A frequency adjustment architecture for energy efficient router | |
CN106095722A (zh) | 一种应用于片上网络的虚通道低功耗电路 | |
JP2010050890A (ja) | ネットワーク監視制御装置,ネットワーク監視制御方法及びプログラム | |
Xu et al. | Improving power and performance of on-chip network through virtual channel sharing and power gating | |
Song et al. | Traffic aware energy efficient router: Architecture, prototype and algorithms | |
US20190094939A1 (en) | Method and apparatus for preemptively scaling transactions to minimize power virus effects | |
Wu et al. | NoC power optimization using combined routing algorithms | |
CN116802607A (zh) | 一种集成电路 | |
CN109194588A (zh) | 一种基于混合调度算法的高效节能以太网 | |
Wang et al. | Flexible virtual channel power-gating for high-throughput and low-power network-on-chip | |
Garcia et al. | Recn-dd: A memory-efficient congestion management technique for advanced switching | |
Mondal et al. | Power-and performance-aware fine-grained reconfigurable router architecture for NoC | |
Wang et al. | A dynamic bypass approach to realize power efficient network-on-chip | |
CN118264611A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |