一种具有多种工作模式的片上网络路由器及路由方法技术

技术编号:14392706 阅读:61 留言:0更新日期:2017-01-10 20:22
本发明专利技术公开了一种具有多种工作模式的片上网络路由器,包括模式选择模块、关闭模块和路由模块;所述路由模块包括输入端口、输入端口控制模块、缓冲管理模块、缓冲区、路由计算模块、仲裁模块、交叉开关模块、直通模块和输出端口;所述输入端口包括东输入端口、西输入端口、南输入端口、北输入端口和本地输入端口,输出端口包括东输出端口、西输出端口、南输出端口、北输出端口和本地输出端口,缓冲区包括多个输入缓冲区;本发明专利技术还公开了一种具有多种工作模式的片上网络路由方法,本发明专利技术相比基本结构的路由器,在增加了较小面积开销的情况下,通过模式切换有效降低路由器功耗,从而面向暗硅问题达到优化多核系统功耗的目的。

【技术实现步骤摘要】

本专利技术涉及多核处理器片上系统
,特别是一种具有多种工作模式的片上网络路由器及路由方法
技术介绍
随着多核处理器片上系统(MultiprocessorSystem-on-Chip,MPSoC)中集成的处理器核越来越多,基于数据包传输方式的片上网络(Network-on-Chip,NoC)为各处理器核之间的互连提供了高效、可靠、灵活的通信架构。伴随着处理器核数目的不断增多,片上暗硅问题也随之出现,即为了维持多核系统性能不超过散热设计功耗,部分处理器核需要处于关闭状态或者不能持续长的运行周期。针对暗硅问题,已有的解决方案均集中于优化片上处理器核的功耗,而没有考虑片上互连的设计。若对片上互连不进行优化设计,片上网络组件模块(路由器、网络接口)就必须一直保持在工作状态,否则被随意关闭的路由器会阻止节点间数据包传输以及对共享资源的访问,且会使得片上网络功耗开销在片上资源功耗开销中所占的比例进一步上升。而路由器是片上网络互连架构中的重要组件,是互连网络中功耗消耗最多的部分,故设计低功耗的片上网络路由器是面向暗硅问题优化片上互连设计的重要手段。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术的不足而提供一种具有多种工作模式的片上网络路由器及路由方法,本专利技术具有多种工作模式的片上网络路由器包括全功能模式、缓冲优化模式、直通模式和关断模式四种工作模式,可依据多核处理器片上系统不同的运行和通信状况在各种工作模式间切换。本专利技术为解决上述技术问题采用以下技术方案:根据本专利技术提出的一种具有多种工作模式的片上网络路由器,包括模式选择模块、关闭模块和路由模块;所述路由模块包括输入端口、输入端口控制模块、缓冲管理模块、缓冲区、路由计算模块、仲裁模块、交叉开关模块、直通模块和输出端口;所述输入端口包括东输入端口、西输入端口、南输入端口、北输入端口和本地输入端口,输出端口包括东输出端口、西输出端口、南输出端口、北输出端口和本地输出端口,缓冲区包括多个输入缓冲区,每个输入缓冲区包括多个缓冲项;其中,模式选择模块,用于当路由器所连处理器核处于空闲或不工作状态时,输出关闭信号至关闭模块;当网络通信负载由低逐渐增加到超过预设的中等负载值时,输出直通控制信号至输入端口控制模块;当原先处于空闲或不工作状态的处理器核运行任务时,输出缓冲优化模式控制信号至缓冲管理模块;当网络通信负载进一步增加到超过预设的高负载值时,输出全功能控制信号至输入端口控制模块;其中,预设的高负载值大于预设的中等负载值;关闭模块,用于当接收到关闭信号时关闭路由模块;缓冲管理模块,用于当接收到缓冲优化模式控制信号时,采用缓冲区管理策略实现对各个端口输入缓冲区中的缓冲项的关闭和打开;所述缓冲区管理策略为:当输入缓冲区中的缓冲项在预设的时间段内没有数据时,则关闭该缓冲项;当输入端口的微片数据由输入端口控制模块进入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,则将生成缓冲唤醒信号用来打开一个缓冲项用于存放到来的微片数据;输入端口控制模块,用于当接收到直通控制信号时,将东输入端口、西输入端口、南输入端口、北输入端口的数据包输入至直通模块;当接收到全功能控制信号时,控制输入缓冲区中的缓冲项全部打开用来存放由输入端口传输过来的微片数据;直通模块,用于根据表征路由器所处网络的位置,设置输入端口与输出端口的连接形式,从而将接收的数据包输出至输出端口;输入缓冲区,用于将存放的微片数据输出至路由计算模块;路由计算模块,用于对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口;解析后的微片数据通过仲裁模块和交叉开关模块转发至所选择的输出端口;仲裁模块,用于在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁,控制交叉开关模块进行输入端口和输出端口的数据交换。作为本专利技术所述的一种具有多种工作模式的片上网络路由器进一步优化方案,所述关闭模块是通过电源门控技术来关断路由模块的工作电源。作为本专利技术所述的一种具有多种工作模式的片上网络路由器进一步优化方案,所述直通模块设置输入端口与输出端口的连接形式为:若路由器处于网络左上角和右下角时,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;若路由器处于网络右上角和左下角时,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;若路由器处于网络中的其它位置,输入端口与输出端口的连接形式是东西方向连通和南北方向连通。作为本专利技术所述的一种具有多种工作模式的片上网络路由器进一步优化方案,所述路由算法包括以下步骤:1)标识出路由区域内处于关断模式和直通模式的路由器,生成邻节点状态表;关断模式为路由器所连处理器核处于空闲或不工作状态,路由器全部功能不可用;直通模式为路由器的输入端口与输出端口直接相连,只能定向转发数据包;2)基于XY路由算法,读取邻节点状态表,计算下一跳路由地址。作为本专利技术所述的一种具有多种工作模式的片上网络路由器进一步优化方案,缓冲管理模块包括睡眠寄存器、空闲计数器和使能寄存器;其中,输入缓冲区内每个缓冲项分配一个空闲计数器,该计数器用于记录对应缓冲项的连续空闲时钟周期数;当该缓冲项处于打开状态且没有数据时,将缓冲区的使能寄存器中相应位置为1,启动空闲计数器进行计数;当计数值达到阈值Tslp后,将缓冲区的睡眠寄存器中相应位置为1,关闭该缓冲项;若空闲计数器在计数过程中缓冲项有数据到来且计数值未达到阈值Tslp,计数器将停止计数并清除计数值,直到数据从该缓冲项中读出,才会重新启动空闲计数器并从零开始计数;当微片数据进入输入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,将会设置缓冲区的睡眠寄存器中相应位为0,生成缓冲唤醒信号打开一个缓冲项用于存放到来的微片数据。作为本专利技术所述的一种具有多种工作模式的片上网络路由器进一步优化方案,所述中等负载值是指网络注入率大于0.1微片/周期而小于0.3微片/周期,高负载值是指网络注入率大于0.3微片/周期。一种具有多种工作模式的片上网络路由方法,当路由器所连处理器核处于空闲或不工作状态时,则关闭路由器;当网络通信负载由低逐渐增加到超过预设的中等负载值,根据表征路由器所处网络的位置,设置东输入端口、西输入端口、南输入端口、北输入端口与东输出端口、西输出端口、南输出端口、北输出端口的连接形式,具体如下;若路由器处于网络左上角和右下角时,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;若路由器处于网络右上角和左下角时,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;若路由器处于网络中的其它位置,输入端口与输出端口的连接形式是东西方向连通和南北方向连通;当原先处于空闲或不工作状态的处理器核运行任务时,采用缓冲区管理策略实现对输入缓冲区中各缓冲项的关闭和打开;所述缓冲区管理策略为:当输入缓冲区中的缓冲项在预设的时间段内没有数据时,则关闭该缓冲项;当输入端口的微片数据由输入端口控制模块进入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,则将生成缓冲唤醒信号用来打开一个缓冲项用于存放到来的微片数据;对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口,解析后的本文档来自技高网...
一种具有多种工作模式的片上网络路由器及路由方法

【技术保护点】
一种具有多种工作模式的片上网络路由器,其特征在于,包括模式选择模块、关闭模块和路由模块;所述路由模块包括输入端口、输入端口控制模块、缓冲管理模块、缓冲区、路由计算模块、仲裁模块、交叉开关模块、直通模块和输出端口;所述输入端口包括东输入端口、西输入端口、南输入端口、北输入端口和本地输入端口,输出端口包括东输出端口、西输出端口、南输出端口、北输出端口和本地输出端口,缓冲区包括多个输入缓冲区,每个输入缓冲区包括多个缓冲项;其中,模式选择模块,用于当路由器所连处理器核处于空闲或不工作状态时,输出关闭信号至关闭模块;当网络通信负载由低逐渐增加到超过预设的中等负载值时,输出直通控制信号至输入端口控制模块;当原先处于空闲或不工作状态的处理器核运行任务时,输出缓冲优化模式控制信号至缓冲管理模块;当网络通信负载进一步增加到超过预设的高负载值时,输出全功能控制信号至输入端口控制模块;其中,预设的高负载值大于预设的中等负载值;关闭模块,用于当接收到关闭信号时关闭路由模块;缓冲管理模块,用于当接收到缓冲优化模式控制信号时,采用缓冲区管理策略实现对各个端口输入缓冲区中的缓冲项的关闭和打开;所述缓冲区管理策略为:当输入缓冲区中的缓冲项在预设的时间段内没有数据时,则关闭该缓冲项;当输入端口的微片数据由输入端口控制模块进入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,则将生成缓冲唤醒信号用来打开一个缓冲项用于存放到来的微片数据;输入端口控制模块,用于当接收到直通控制信号时,将东输入端口、西输入端口、南输入端口、北输入端口的数据包输入至直通模块;当接收到全功能控制信号时,控制输入缓冲区中的缓冲项全部打开用来存放由输入端口传输过来的微片数据;直通模块,用于根据表征路由器所处网络的位置,设置输入端口与输出端口的连接形式,从而将接收的数据包输出至输出端口;输入缓冲区,用于将存放的微片数据输出至路由计算模块;路由计算模块,用于对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口;解析后的微片数据通过仲裁模块和交叉开关模块转发至所选择的输出端口;仲裁模块,用于在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁,控制交叉开关模块进行输入端口和输出端口的数据交换。...

【技术特征摘要】
1.一种具有多种工作模式的片上网络路由器,其特征在于,包括模式选择模块、关闭模块和路由模块;所述路由模块包括输入端口、输入端口控制模块、缓冲管理模块、缓冲区、路由计算模块、仲裁模块、交叉开关模块、直通模块和输出端口;所述输入端口包括东输入端口、西输入端口、南输入端口、北输入端口和本地输入端口,输出端口包括东输出端口、西输出端口、南输出端口、北输出端口和本地输出端口,缓冲区包括多个输入缓冲区,每个输入缓冲区包括多个缓冲项;其中,模式选择模块,用于当路由器所连处理器核处于空闲或不工作状态时,输出关闭信号至关闭模块;当网络通信负载由低逐渐增加到超过预设的中等负载值时,输出直通控制信号至输入端口控制模块;当原先处于空闲或不工作状态的处理器核运行任务时,输出缓冲优化模式控制信号至缓冲管理模块;当网络通信负载进一步增加到超过预设的高负载值时,输出全功能控制信号至输入端口控制模块;其中,预设的高负载值大于预设的中等负载值;关闭模块,用于当接收到关闭信号时关闭路由模块;缓冲管理模块,用于当接收到缓冲优化模式控制信号时,采用缓冲区管理策略实现对各个端口输入缓冲区中的缓冲项的关闭和打开;所述缓冲区管理策略为:当输入缓冲区中的缓冲项在预设的时间段内没有数据时,则关闭该缓冲项;当输入端口的微片数据由输入端口控制模块进入缓冲区时,若此时所有未被占用的缓冲项都处于关闭状态,则将生成缓冲唤醒信号用来打开一个缓冲项用于存放到来的微片数据;输入端口控制模块,用于当接收到直通控制信号时,将东输入端口、西输入端口、南输入端口、北输入端口的数据包输入至直通模块;当接收到全功能控制信号时,控制输入缓冲区中的缓冲项全部打开用来存放由输入端口传输过来的微片数据;直通模块,用于根据表征路由器所处网络的位置,设置输入端口与输出端口的连接形式,从而将接收的数据包输出至输出端口;输入缓冲区,用于将存放的微片数据输出至路由计算模块;路由计算模块,用于对输入缓冲区中的微片数据进行解析,采用路由算法计算获得微片数据的下一个转发方向,为微片数据选择输出端口;解析后的微片数据通过仲裁模块和交叉开关模块转发至所选择的输出端口;仲裁模块,用于在多个输入端口请求相同的输出端口情况下,采用轮询方式进行仲裁,控制交叉开关模块进行输入端口和输出端口的数据交换。2.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,所述关闭模块是通过电源门控技术来关断路由模块的工作电源。3.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,所述直通模块设置输入端口与输出端口的连接形式为:若路由器处于网络左上角和右下角时,输入端口与输出端口的连接形式是西北方向连通和东南方向连通;若路由器处于网络右上角和左下角时,输入端口与输出端口的连接形式是东北方向连通和西南方向连通;若路由器处于网络中的其它位置,输入端口与输出端口的连接形式是东西方向连通和南北方向连通。4.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,所述路由算法包括以下步骤:1)标识出路由区域内处于关断模式和直通模式的路由器,生成邻节点状态表;关断模式为路由器所连处理器核处于空闲或不工作状态,路由器全部功能不可用;直通模式为路由器的输入端口与输出端口直接相连,只能定向转发数据包;2)基于XY路由算法,读取邻节点状态表,计算下一跳路由地址。5.根据权利要求1所述的一种具有多种工作模式的片上网络路由器,其特征在于,缓冲管理模块包括睡眠寄存器、空闲计数器和使能寄...

【专利技术属性】
技术研发人员:葛芬吴宁周芳周蓉蓉贾子赫闫改珍
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1