Noxim从https://github.com/davidepatti/noxim 下载
这是由卡塔尼亚大学(意大利)开发的片上网络模拟器。 Noxim仿真器是使用SystemC(一种基于C ++的系统描述语言)开发的,可以根据GPL许可条款进行下载。
先学习文章:
V. Catania, A. Mineo, S. Monteleone, M. Palesi and D. Patti, "Energy efficient transceiver in wireless Network on Chip architectures," 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, 2016, pp. 1321-1326. Scopus reference
<无线片上网络架构中的节能收发器>
Author(s):Vincenzo Catania ; Andrea Mineo ; Salvatore Monteleone ; Maurizio Palesi ; Davide Patti
摘要—新兴的无线片上无线网络(WiNoC)设计范例已被提出作为解决未来许多内核架构中影响片上通信系统的可伸缩性问题的可行解决方案。 在这种情况下,缓冲区(路由器和无线集线器)以及无线集线器的收发器的能量贡献占总通信能量预算的很大一部分。 在本文中,我们提出了一种新的能源管理方案,该方案基于选择性地禁用预计在即将到来的时钟周期内不使用的耗电模块来提高WiNoC架构的能源效率。 所提议的方案应用于具有不同配置和不同流量情况的不同WiNoC拓扑,已显示出有趣的节能效果,而对性能指标没有任何影响,对硅面积的影响则微不足道。
关键字—片上通信,无线NoC,节能,分析。
一,引言
片上通信系统在当前和未来的多核体系结构中所起的作用至关重要。 在这种情况下,片上网络(NoC)设计范例被认为是解决此类核心架构的通信问题的最可行解决方案。 不幸的是,由于其多跳性质,随着网络规模的增加,使用电子点对点链路的常规NoC在通信延迟和能量方面都开始遭受可扩展性问题的困扰。 面对它们,已经提出了几种新兴的互连范例,例如那些依赖于光学,3D和RF解决方案的互连范例[1]。 特别是,一类特定的RF互连在传统的基于有线的NoC基板上引入了无线骨干网[2]。
通过形成所谓无线电集线器核心的天线和收发器,可以将无线电介质用于片上通信。 无线电集线器通过允许它在单跳中与其他无线电集线器进行无线通信,从而增强了常规NoC交换机/路由器的通信能力。 平均通信跳数的减少对性能和功率指标都有积极影响,但是在收发器和天线所需的硅面积方面要付出代价。 通过限制进入芯片的无线集线器数量并优化其拓扑映射,可以克服这种局限性[3]。
另一方面涉及由无线信道引入的衰减:由于电磁波在有损耗的硅中传播,因此由于无线信令而产生的功率代表了整个通信能量预算的重要贡献。 实际上,在[4]中已经表明,发射机占收发器总功耗的约65%,而在[5]中,这种贡献超过74%。 因此,当通信节点彼此相距较远时,无线通信比有线通信具有更高的能源效率。
WiNoC中最耗电的元素表示为路由器和无线电集线器的输入缓冲器,以及收发器进入无线电集线器。 实际上,它们代表了为提高能效而需要优化的关键角色。 在[6]中,已经报道到/从tiles和无线接收模块的缓冲区占无线电集线器总能量预算的很大一部分(分别为75%和10%)。 需要指出的是,接收模块在不断收听广播媒体。 实际上,它必须检测是否正在进行无线通信,如果存在,则必须检测其无线集线器是否是通信的接收者。 因此,即使在一定数量的时钟周期内不参与任何通信,接收器仍处于活动模式(耗散动态和静态功率)。
在本文中,我们提出了一种机制,当多个集线器在任何时钟周期内未参与任何通信时,它们有选择地关闭无线电集线器的收发器中的接收器模块。 关于如何知道在接下来的时钟周期数内当前的无线集线器将不会成为任何无线通信的接收方的问题,可以很容易地回答如下。 无线集线器的接收器模块一检测到无线通信的开始,就解码与目标地址相对应的数据包的报头帧的前几个位,以及对数据包大小PS进行编码的位。 通过虫洞切换,完成数据包传输所需的时钟周期数可以计算为PS / DR,其中DR是无线电信道的数据速率。 因此,在此期间,由于无线电信道将用于传送涉及其他无线电集线器的信息,因此当前接收器可以进入睡眠模式。
拟议的能源管理方案已在不同交通场景,交通负载和数据包大小下,在具有四个和十六个无线电集线器的两个256核WiNoC配置上进行了设计,实施和应用。 我们发现,在实施所提出的方案时,可以节省多达30%的有趣能量,而对性能指标没有任何影响,并且对控制逻辑的影响可以忽略不计。
二 相关工作
最近,已经提出了无线片上网络(WiNoC)范例,作为CMOS兼容解决方案,用于解决影响未来多核架构的片上通信系统的可扩展性问题。 WiNoC通信范式由无线骨干网[2]构成,该骨干网与传统的基于有线的NoC架构[7]结合运行。 此新功能需要新的硬件资源,例如射频(RF)收发器和天线。 不幸的是,这种器件消耗了整个芯片硅面积的相当一部分。 由于这些原因,已经引入了几种架构来在区域开销和预期的通信带宽之间取得良好的折衷[3],[8]。 负责确保处理单元之间无线链接的无线电集线器的功耗仍然是一个悬而未决的问题:多项工作提出了通过可调节的发射功率机制来减少发射机功率的方法来降低通信能量的技术[ 9],[10]。 不幸的是,根据[11]中介绍的WiNoC功率模型,无线电集线器的能量很大一部分是由于有源接收机消耗了整个通信基础架构能量的相关部分。
由于影响现代CMOS器件的泄漏功耗过大,因此当接收机不参与任何通信时,它也会消耗功率。 由于这些原因,在本文中,我们介绍了一种电源门控机制,当特定的接收器不是输入数据流的接收者时,该机制可以安全地关闭部分接收器的逻辑。 所提出的机制将在本文的下一部分中进行详尽描述。
三, WIRXSleep的功耗降低策略
A.参考无线集线器架构
要理解所提出的WIRXSleep的功耗降低方法,对于了解构成无线集线器无线通信架构的主要元素以及所涉及的数据流至关重要。
无线集线器组件处理的通信有两种基本类型:无线集线器和图块之间的有线Tile-Hub连接,以及不同无线集线器之间的无线Hub-Hub连接。 图1显示了在简单场景中涉及的四类缓冲区,其中两个图块t1和t2分别连接到huba和hubb。 此外,我们假设Huba和Hubb支持在公共通道Ch0上进行传输。 在有线的Tile-Hub通信中,取决于数据流的方向,涉及两种无线电集线器缓冲区:无线电集线器的输入缓冲区(C),它从图块i接收数据,称为缓冲区 与图1的图1的图2相同,图2的图2中的图2所示的图是从图1的图1到图2的图。 关于通信协议中涉及的低级机制的讨论超出了本文的范围。 只需知道这些有线Tile-Hub连接使用与有线Tile-Tile连接中相同的通信阶段即可。 关于无线集线器-集线器通信,我们将使用符号天线缓冲区RXChx和天线缓冲区TXChx来表示分别使用无线电信道Chx接收和发送数据的缓冲区(请参见图1中的缓冲区A和B。 1)。 当然,通常每个无线电集线器都连接有不止一个瓦片节点,并且许多不同的无线电集线器可以共享一个公共信道,但是,为清楚起见,我们将参考图1中的琐碎示例。
B. WIRXSleep形式描述
再次回顾图1中描述的参考架构,我们可以看到WiNoC中的无线集线器元素如何由硬件组件(缓冲区和逻辑)组成,这些组件可以在功能上与四种主要数据流类型相关联:( 1)从当前无线电集线器开始的无线数据传输(2)来自另一个无线电集线器的无线数据接收(3)通过有线Tile-Hub连接从当前无线电集线器向图块进行Flit调度(4)从 通过有线Tile-Hub连接来创建图块。
WIRXSleep功率管理方案背后的主要思想是集中于无线数据接收中涉及的那些组件的功率贡献。 但是,即使没有数据在通道Chx上传输并且所有相关缓冲区为空,我们也不能轻易禁用相关的无线集线器收发器组件。 为了更好地解释这个概念,我们简要展示两个简单的反例。
首先,让我们考虑一个给定的无线集线器集线器,该集线器连接到一组图块Ti并支持信道Chx上的传输。
我们还假设Hubi当前不在通道Chx上传输。 还假设天线缓冲区TXChx和图块中的所有缓冲区为空。 显然,这是关闭传输缓冲区和逻辑的理想情况:没有数据在天线上排队以进行无线传输,也没有数据来自图块。 但是,我们不能安全地禁用这些组件,因为新传输事件可以随时进行调度,具体取决于来自属于集合Ti的图块的传入数据。 这些是复杂且难以预测的事件,例如,取决于Ti的每个处理元素上的数据包生成,远程瓦片之间的flit路由的动态行为,流量拥塞等。另一方面,让我们考虑相同的集线器 当通道Chx上没有接收到数据时。 与前一种情况类似,我们无法关闭与无线数据接收相关的缓冲区和逻辑,因为我们无法安全地预测另一个集线器何时将开始以当前集线器作为接收器的传输。对于考虑的无线集线器WiNoC架构中的未来事件,信道不活动并不安全。
当在通道Chx上检测到新的传输时,将更新WIRXStatus的相应值。 特别是,如果hubi不是目标,我们可以安全地假设至少在给定的周期数内,不会在通道Chx上发送任何其他传输给Hubi。 请注意,由于我们假设一个数据包传输令牌策略,其中仅在传输完整个数据包之后才释放令牌,因此可以计算出精确且确定的周期数。
因此,安全睡眠周期的数量可以计算为:


必须再次指出WIRXStatus向量所起的特殊作用:对于给定的时钟周期数,可以将其每个元素设置为WIRXSLEEP_ON,但是必须逐周期更新相应的节能决策。 这是一种保守的方法,是为WIRXSleep设计时选择的,以实现可观且安全的节能结果,仅增加非常小的复杂性。
它还包括令牌流控制器,用于解码传入信息并管理令牌流机制,以在无线集线器之间共享无线介质。相反,接收器提供了一个低噪声放大器(LNA),该放大器会放大传入的信号,从而引入尽可能小的噪声。 将高频信号移入基带的解调器; 基带放大器和脉冲移位滤波器,对信号进行放大和整形以获得数字信号,该数字信号存储在特定的缓冲区中。
从图3可以看出,收发器可以分为两个不同的域,即模拟域和数字域。 实际上,放大器(例如LNA,PA和基带放大器)以及调制器和解调器都是模拟电路,而串行器和解串器,RF缓冲区和令牌流控制器是数字电路。
图5突出显示了执行本节中介绍的算法所涉及的组件。 III-B。 特别是,XBAR Ctrl / Pw Ctrl块负责解码来自反序列化器的滤波器。 如果出现标题冲突,XBAR控制器可以通过相应地驱动XBAR选择器来确定正确的目的地(Xbar sel)。 同时,如果特定的无线集线器不是接收器,则电源控制器将检查天线缓冲器RX是否为空(如果相关的RX Buffer引脚被置为有效)。 以相同的方式,如果每个缓冲区到图块缓冲区为空(Buff2tile空引脚),则Pw控制器可以通过RF Buff Sw和Buff2tile sw开关安全地关闭RF和缓冲区到图块缓冲区。 由于Pw Controller直接连接到解串器,因此当标头flit定向到该特定的无线集线器时,它可以在将flit存储到此类缓冲区之前的一个周期,将RF和缓冲区切换到图块缓冲区。 基于此,所提出的实现方式不会导致延迟方面的任何损失。
不出所料,就无线电集线器的面积和功率而言,在硅面积和功率方面的开销都可以忽略不计。 具体而言,增强了WIRXSleep逻辑的无线集线器分别将其功率和面积增加了0.8%和0.1%。 无线集线器实现的功率和面积故障如图4所示。

选项卡中汇总了设置中使用的仿真参数:

图7显示了相同情况下的总通信能量。 为了更好地理解结果,我们应该回顾总能量是如何由两个主要贡献组成的:与硬件组件的物理存在有关的静态能量,与与此类组件执行的活动有关的动态能量。 不出所料,当存在更多无线电集线器时,以绝对值表示的能耗会更大,这主要是因为引入了静态功率。 请注意,使用16个无线集线器时,较高的局域性会稍微减轻能耗,因为启动的无线传输较少。 而且,由于与传输事件数量增加相关的动态能量贡献,较高的pir值消耗的能量也会增加。




如预期的那样,由于每次通信的无线传输时间增加,因此随着数据包大小的增加,节能量也增加了,这使得未参与当前通信的无线电集线器可以保持接收接收模式的更多时间。 时间,可以通过查看图表中的睡眠曲线百分比来观察。 由于减少了远程无线通信的数量,因此在较高的流量位置下可以部分平滑此类行为。
在图9中可以更清楚地观察到这一点,其中能量在32个和4个数据包大小的情况下获得的节省比率从具有较高局部性水平的9倍缩小到5倍。
还值得注意的是,所提出的技术的有效性随着无线电集线器数量的增加而提高。 可以通过以下事实来解释此行为:更多的无线电集线器共享令牌,更多的无线电集线器将受益于不成为当前传输的接收者(因此将其内部WIRXStatus设置为WIRXSLEEP_ON)。
一个简单的反例是一个网络,其中只有两个共享一个令牌的无线集线器:作为传输的源和目的地,它们永远无法启用WIRXSLEEP_ON状态。
到目前为止给出的节能数字是针对给定的数据包注入速率计算的。 现在,让我们分析数据包注入速率对所提出技术的有效性的影响。 图10显示了在统一流量为80%的情况下,WiNoC-4和WiNoC-16在有和没有WIRXSleep的情况下的总通信能量。 可以看出,随着发射速率的增加,常规WiNoC的总通信能量增加,而当使用WIRXSleep时,通信能量却降低。 可以通过回忆起随着无线通信数量的增加,暴露于WIRXSleep的能量优化机会增加来解释这种行为。 因此,随着天线长度的增加,由于使用WIRXSleep技术,通信数量(有线和无线)也随之增加,从而节省了能源。