深圳市航顺芯片技术研发有限公司
直播中

663597

12年用户 463经验值
私信 关注
[问答]

关于NoC模拟器的知识点看完就知道

关于NoC模拟器的知识点看完就知道

回帖(1)

巩潇然

2021-10-8 15:43:19
摘要—新兴的无线片上无线网络(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架构中的未来事件,信道不活动并不安全。
  相反,WIRXSleep背后的想法是利用从新的频道事件中收集的信息。 假设由不同于集线器的无线电集线器开始的新传输在通道Chx上开始,则只能发生两种不同的情况:(i)无线电集线器集线器是接收器,(ii)集线器不是接收器。 所提出的方法旨在检测属于情况(ii)的情况,将信道Chx的无线电集线器hubi设置为WIRXSLEEP_ON状态。 这种状态的含义是,在一定数量的周期内,hubi不会成为通道Chx上任何传输的目标。 关于这一点,应该指出的是,集线器上的WIRXSLEEP_ON状态并不一定意味着可以关闭与无线数据接收器有关的硬件模块。 实际上,所提出的方法实现了一种选择性策略,逐周期检查可以在WIRXSLEEP_ON状态下安全禁用的组件。 例如,为了禁用缓冲区到hubi的瓦片不足以检查它们是否为空,因为先前填充的上游天线缓冲区RX可以将新的碎片分配到给定的缓冲区以进行瓦片,即使没有无线数据 目前正由Hubi接收。
  WIRXSleep控制逻辑实现了一种简单的机制来检测安全条件,以执行此类断电决策。 图2显示了在每个无线集线器上执行的WIRXSleep算法。 在每个周期,算法的行为由WIRXStatus的值决定,WIRXStatus是存储无线电集线器支持的每个信道的WIRXSLEEP_ON / OFF状态的布尔向量。 对于所有元素,WIRXStatus的值最初都设置为WIRXSLEEP_OFF,这意味着未应用任何功耗降低策略。
   当在通道Chx上检测到新的传输时,将更新WIRXStatus的相应值。 特别是,如果hubi不是目标,我们可以安全地假设至少在给定的周期数内,不会在通道Chx上发送任何其他传输给Hubi。 请注意,由于我们假设一个数据包传输令牌策略,其中仅在传输完整个数据包之后才释放令牌,因此可以计算出精确且确定的周期数。
   因此,安全睡眠周期的数量可以计算为:
  




  其中,数据包大小以flits数表示,Tdelay是发送拍打所需的时间,以拍打大小/ DR计算,其中DR是天线的数据速率,单位为比特/秒,拍打大小是指拍打大小。 位。 例如,假设时钟频率为1 GHz,滤波器尺寸为32位,并使用开关键控(OOK)调制使用16 Gbs mm-Wave天线,则Tdelay为2 ns,相当于2个周期。 启用WIRXSLEEP_ON状态后,对于给定的天线数据速率,滤波器尺寸,数据包长度和时钟频率,由于在较短的周期内完成数据包传输是不可行的,因此集线器可以开始忽略N个睡眠时钟周期内的无线信号接收事件。 重要的是要注意,这是一个保守的假设:我们不知道何时传输将完全结束:繁忙的交通负荷,拥塞事件可能会导致进一步的缓冲区延迟等。返回图2,如果给定通道Chi的状态为WIRXSLEEP_ON,则该算法必须执行一组检查以确定可以禁用哪些组件。
  




  首先,当WIRXStatus中的对应值为WIRXSLEEP_ON时,具有空天线RX缓冲区的通道可以被禁用,因为如上所述,在Nsleep时钟周期内无法从该通道接收新数据。 这包括禁用来自天线缓冲器RX的贡献,收发器RX偏置和泄漏。 重要的是要注意,如果发现任何天线RX缓冲区都不为空,则无论WIRXStatus矢量的值如何,将缓冲区到瓦片标志的特殊切换设置为TRUE。 在将缓冲区选择为可禁用的平铺缓冲区的过程中,该标志在算法的第二部分中起着基本作用。 特别是,如果某些天线RX缓冲区中存在任何数据,则应跳过整个第二部分。 从图1可以看出,每个缓冲区到图块都可以从天线RX缓冲区接收数据,该数据已在先前的无线接收中填充。 因此,当数据存在于天线RX缓冲区上时,所有后续的缓冲区到切片缓冲区都必须重新启用。
   必须再次指出WIRXStatus向量所起的特殊作用:对于给定的时钟周期数,可以将其每个元素设置为WIRXSLEEP_ON,但是必须逐周期更新相应的节能决策。 这是一种保守的方法,是为WIRXSleep设计时选择的,以实现可观且安全的节能结果,仅增加非常小的复杂性。
   
  C.硬件实现
  图3示出了通用的WiNoC单通道OOK收发器,该收发器由通过RF开关共享同一天线的发射机和接收机构成。 发射机的主要任务是通过天线将从电介质传入的数据适配到无线介质。 特别地,发送器由串行器构成,该串行器以串行方式转换并行的数据流。 适应低频信号的调制器变成高频 直接连接到天线的功率放大器,可提供所需的发射功率。
   它还包括令牌流控制器,用于解码传入信息并管理令牌流机制,以在无线集线器之间共享无线介质。相反,接收器提供了一个低噪声放大器(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和缓冲区切换到图块缓冲区。 基于此,所提出的实现方式不会导致延迟方面的任何损失。
  XBar Ctrl / Pw Ctrl模块已设计为HDL,经过合成,映射到TSMC的45 nm CMOS标准单元库中,并使用Synopsys Design Compiler进行了评估。
   不出所料,就无线电集线器的面积和功率而言,在硅面积和功率方面的开销都可以忽略不计。 具体而言,增强了WIRXSleep逻辑的无线集线器分别将其功率和面积增加了0.8%和0.1%。 无线集线器实现的功率和面积故障如图4所示。
  




  在本节中,将在具有四个和十六个无线电集线器的两个WiNoC配置上评估WIRXSleep方案,分别。  4和16无线电集线器配置均指256个节点的NoC,其中4和16个无线电集线器分别用于实现无线远程通信。  16×16网格拓扑根据数量或无线电集线器划分为多个常规区域。 具体而言,令n为考虑的无线集线器的数量。 每个无线电集线器仅与一个大小为256 / n的规则区域相关联。 区域内通信是通过常规的电子NoC进行的,而区域间通信是通过无线集线器无线进行的。 仿真环境基于Noxim [12],Noxim是一种周期精确的NoC模拟器,能够在性能和能耗方面评估WiNoC架构。
   选项卡中汇总了设置中使用的仿真参数:
  




   
  首先,让我们分析固定的数据包大小为16 flits时,在两个考虑的网络配置(具有4个(WiNoC-4)和16个(WiNoC-16)无线集线器)之间的性能和能量差异。 我们考虑了具有不同地理位置百分比的统一流量。 具有局部性l的统一流量对应于一个统一的流量场景,其中l%的通信是区域内的,其余100-1%的通信是区域间的。图6将平均通信延迟显示为数据包注射速度(pir)已发生变化。 可以注意到,对于低pir值,WiNoC-16和WiNoC-4的性能非常相似,而随着pir的增加,WiNoC-4的通信延迟低于WiNoC-16。 为了解释这种行为,应该记住,具有更多的无线电集线器意味着具有更长的令牌回合时间。 因此,当无线电集线器持有用于传输数据包的令牌时,pir越高,其他无线电集线器将数据包排队进入新传输的可能性就越高。 此时,当许多无线集线器要求令牌时,短的4个无线集线器环会缩短等待时间。 例如,假设每个周期的无线传输速率为1 flit,在最坏的情况下,WiNoC-4的无线集线器应等待其他3个无线集线器传输,总共16×3 = 48个周期,而在 WiNoC-16配置的等待时间为16×15 = 690个周期。
   图7显示了相同情况下的总通信能量。 为了更好地理解结果,我们应该回顾总能量是如何由两个主要贡献组成的:与硬件组件的物理存在有关的静态能量,与与此类组件执行的活动有关的动态能量。 不出所料,当存在更多无线电集线器时,以绝对值表示的能耗会更大,这主要是因为引入了静态功率。 请注意,使用16个无线集线器时,较高的局域性会稍微减轻能耗,因为启动的无线传输较少。 而且,由于与传输事件数量增加相关的动态能量贡献,较高的pir值消耗的能量也会增加。
  




  




   
  




   
  现在,让我们评估通过在4和16无线电集线器WiNoC配置上应用建议的技术所获得的节能效果。 我们分析了数据包大小和流量特性对节能的影响。 节能百分比结果以及通用无线电集线器的收发器的接收器模块处于睡眠模式的平均时间分数如图8所示。
  




   如预期的那样,由于每次通信的无线传输时间增加,因此随着数据包大小的增加,节能量也增加了,这使得未参与当前通信的无线电集线器可以保持接收接收模式的更多时间。 时间,可以通过查看图表中的睡眠曲线百分比来观察。 由于减少了远程无线通信的数量,因此在较高的流量位置下可以部分平滑此类行为。
   在图9中可以更清楚地观察到这一点,其中能量在32个和4个数据包大小的情况下获得的节省比率从具有较高局部性水平的9倍缩小到5倍。
   还值得注意的是,所提出的技术的有效性随着无线电集线器数量的增加而提高。 可以通过以下事实来解释此行为:更多的无线电集线器共享令牌,更多的无线电集线器将受益于不成为当前传输的接收者(因此将其内部WIRXStatus设置为WIRXSLEEP_ON)。
   一个简单的反例是一个网络,其中只有两个共享一个令牌的无线集线器:作为传输的源和目的地,它们永远无法启用WIRXSLEEP_ON状态。
   到目前为止给出的节能数字是针对给定的数据包注入速率计算的。 现在,让我们分析数据包注入速率对所提出技术的有效性的影响。 图10显示了在统一流量为80%的情况下,WiNoC-4和WiNoC-16在有和没有WIRXSleep的情况下的总通信能量。 可以看出,随着发射速率的增加,常规WiNoC的总通信能量增加,而当使用WIRXSleep时,通信能量却降低。 可以通过回忆起随着无线通信数量的增加,暴露于WIRXSleep的能量优化机会增加来解释这种行为。 因此,随着天线长度的增加,由于使用WIRXSleep技术,通信数量(有线和无线)也随之增加,从而节省了能源。
   
  V.结论
  WiNoC架构中的无线电集线器是总通信能量的主要贡献者之一。 特别是,接收者和缓冲区进入无线集线器帐户占其总能耗的很大一部分。 因此,在节能高效的WiNoC架构中,必须减少此类耗电元件的能耗。 在本文中,我们提出了一种新颖的能量管理方案,旨在通过在预计下一个时钟周期将不涉及任何通信的情况下,通过有选择地关闭它们的接收器和缓冲区,来降低它们的总能耗。  。 所提出的方案,即WIRXSleep,可同时攻击动态和静态功率贡献,从而大大节省了能源。  WIRXSleep已针对不同的WiNoC拓扑,不同的配置以及不同的流量情况进行了评估。 已观察到总通信能耗节省高达25%,而对性能指标没有任何影响,而对硅面积的影响却可以忽略不计。
   
   
举报

更多回帖

发帖
×
20
完善资料,
赚取积分