发明名称 一种基于当值缓存降低片上网络静态功耗的方法
摘要 本发明公开了一种基于当值缓存降低片上网络静态功耗的方法,目的是在不增加网络报文平均延迟的同时,降低路由器静态功耗损失。技术方案是改进路由器输入端口,在输入端口添加一个当值缓存、一个唤醒计数器、N个选择器、一个断电控制逻辑,在输入端口N个虚拟通道的电源上添加电源门控开关,并改进输入端口控制器;电源门控开关和断电控制逻辑对输入端口虚拟通道电源进行控制,降低虚拟通道静态功耗;输入端口控制器、输入端口分配器、唤醒计数器和当值缓存配合工作,替换处于断电或唤醒状态的虚拟通道存储报文,避免增加报文传输延迟。采用本发明既可降低片上网络的静态功耗,又可避免虚拟通道唤醒过程导致报文传输延迟增加。
申请公布号 CN105262705A 申请公布日期 2016.01.20
申请号 CN201510731383.4 申请日期 2015.11.02
申请人 中国人民解放军国防科学技术大学 发明人 马胜;王鹏;王志英;陈微;赵夏;钱程;王璐;李晨;李宁;徐叶茂
分类号 H04L12/931(2013.01)I;H04L12/933(2013.01)I 主分类号 H04L12/931(2013.01)I
代理机构 国防科技大学专利服务中心 43202 代理人 郭敏
主权项 一种基于当值缓存降低片上网络静态功耗的方法,其特征在于包括以下步骤:第一步,改进路由器输入端口,在输入端口添加一个当值缓存、一个唤醒计数器、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个虚拟通道接收VC<sub>0_empty</sub>...VC<sub>i_empty</sub>...VC<sub>N‑1_empty</sub>信号,从当值缓存接收duty_buffer_empty信号,将VC<sub>i_empty</sub>...VC<sub>i_empty</sub>...VC<sub>N‑1_empty</sub>和duty_buffer_empty进行与操作,得到断电触发信号,将断电触发信号发送给断电计数器和第二与门;VC<sub>0_empty</sub>...VC<sub>i_empty</sub>...VC<sub>N‑1_empty</sub>表示N个虚拟通道的空闲状态信息,VC<sub>i_empty</sub>为“1”表示第i条虚拟通道处于空闲状态,未存储报文,为“0”表示第i条虚拟通道正用于存储报文;断电计数器与第一与门和第二与门相连,从第一与门接收断电触发信号,向第二与门发送1bit的开始断电信号,当断电触发信号为“0”时,断电计数器清零;当断电触发信号为“1”时,断电计数器开始计数,在每个时钟周期上升沿,如果断电触发信号为“1”,断电计数器加1,当断电计数值大于等于T<sub>_idle_detect</sub>时,向第二与门发送的开始断电信号为“1”;当断电计数值小于T<sub>_idle_detect</sub>时,开始断电信号为“0”;第二与门是一个2输入与门,与断电计数器、第一与门、电源门控开关、输入端口控制器和唤醒计数器相连,第二与门从断电计数器接收开始断电信号,从第一与门接收断电触发信号,对开始断电信号和断电触发信号进行与操作,得到断电信号,将断电信号发送给第一唤醒计数器、电源门控开关和输入端口控制器;1.5在输入端口添加唤醒计数器,唤醒计数器与断电控制逻辑的第二与门和输入端口控制器相连,从第二与门接收断电信号,向输入端口控制器发送1bit的保持信号;断电信号为“1”,唤醒计数器的值清零,当断电信号为“0”,唤醒计数器开始计数,在每个时钟周期的上升沿,如果断电信号为“0”,计数值加1;当唤醒计数器的值小于T<sub>_wakeup</sub>时,保持信号为“1”,当唤醒计数器的值大于等于T<sub>_wakeup</sub>时,保持信号为“0”,T<sub>_wakeup</sub>为唤醒过程需要的时钟周期数;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正用于存储报文,VC<sub>i_empty</sub>为“0”;2.1.2第一与门对VC<sub>0_empty</sub>...VC<sub>i_empty</sub>...VC<sub>N‑1_empty</sub>和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个虚拟通道接收的VC<sub>0_empty</sub>...VC<sub>i_empty</sub>...VC<sub>N‑1_empty</sub>都为“1”,从当值缓存接收的duty_buffer_empty也为“1”,对VC<sub>0_empty</sub>...VC<sub>i_empty</sub>...VC<sub>N‑1_empty</sub>和duty_buffer_empty进行与操作所得的断电触发信号为“1”;2.2.2断电计数器从第一与门接收到为“1”的断电触发信号,开始计数,发向第二与门的开始断电信号为“0”;2.2.3第二与门对为“0”开始断电信号和为“1”断电触发信号进行与操作,输出的断电信号为“0”;2.2.4当断电计数器的值等于T<sub>_idle_detect</sub>时,发向第二与门的开始断电信号变为“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信号和VC<sub>0_empty</sub>...VC<sub>i_empty</sub>...VC<sub>N‑1_empty</sub>信号进行与操作,输出的断电触发信号变为“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<sub>_wakeup</sub>时,从唤醒计数器接收的保持信号为“1”,输入端口控制器从断电控制逻辑接收的断电信号为“0”,从当值缓存接收的duty_buffer_empty信号为“0”,发向输入端口分配器的输入控制信号为N,发向N个选择器的输出控制信号的第j位为“1”,其余位为“0”;输入端口分配器从输入端口控制器接收的报文存储于当值缓存中,第j个选择器选择当值缓存的输出的报文;2.4.2当唤醒计数器的值等于T<sub>_wakeup</sub>时,唤醒计数器发向输入端口控制器的保持信号变为“0”,虚拟通道经过T<sub>_wakeup</sub>个时钟周期的通电,由唤醒状态进入到正常工作状态;2.4.3输入端口控制器从唤醒计数器接收为“0”的保持信号,发向输入端口分配器的输入控制信号变为i,发向N个选择器的输出控制信号的第j位为“1”,使得在当值缓存存储队列顶端的报文替换该报文本应存储的第j条虚拟通道的输出报文;2.4.4输入端口分配器从输入端口控制器接收报文和输入控制信号,将报文发送到第i条虚拟通道,停止向当值缓存存储报文;2.4.5当输入端口从当值缓存接收的duty_buffer_empty信号变为“1”时,发向N个选择器的输出控制信号变为“0”,所有选择器选择虚拟通道输出的报文,虚拟通道进入正常工作状态。
地址 410073 湖南省长沙市开福区德雅路109号