张大妈

片上网络Router的微架构---设计师视角

源自知乎:ppo丶n

01-28 15:26

片上网络路由器的设计决定了芯片的性能上限。本文从设计师视角出发,系统性地拆解了Router的微架构,从基础的流控机制、仲裁器设计,到复杂的虚拟通道与流水线优化,提供了电路级的实现思路与权衡考量,是深入理解NoC核心技术的宝贵资料。

片上网络Router的微架构---设计师视角智能速览

  • Router是NoC的核心,其微架构设计直接决定系统性能与带宽利用率。

  • 流控机制是Router设计的基础,Credit-based方案能有效减少资源开销并提升吞吐。

  • 虚拟通道(VC)技术可解决死锁并提供流量隔离,但需通过共享Buffer优化资源效率。

  • 合理的流水线设计和Elastic Buffer插入是消除数据传输气泡、提升吞吐率的关键。

  • 仲裁器设计是Router内部Switch的核心,不同仲裁策略在公平性与实现复杂度上各有取舍。

片上网络Router的微架构---设计师视角精华内容

要真正掌握Router的设计精髓,需要深入其内部,从电路层面审视流控、仲裁与虚拟通道的实现细节,理解每一处设计背后的权衡与考量。

流控机制的基础与演进

片上网络的基础是流控机制。最基础的Valid/Ready握手协议简单直观,允许收发双方随时暂停,但需要两侧都设置Buffer,且后向的ready信号延迟会严重限制吞吐率,在最差情况下吞吐量仅能达到50%。

为解决这一问题,Credit-based流控被广泛采用。它将接收方的Buffer计数器(Credit)转移到发送方,发送方通过维护下游的可用Credit数来主动控制数据发送,有效隔离了后向流控信号的时序路径。研究表明,要实现无损传输并保证100%吞吐,接收方所需Buffer深度至少等于往返时间(RTT)。这种机制相比Valid/Ready,在长距离、多级流水线链路中优势更为明显。

此外,还有Req-Ack及Bufferless等流控方案,但它们要么Buffer需求与Valid/Ready相当,要么对上层设计复杂度要求极高,因此在现代NoC设计中,Credit-based流控已成为主流选择。

交换核心:仲裁器与数据路径

当多个输入需要访问同一输出时,交换核心中的仲裁器便成为关键,它决定了数据包的通行顺序。最简单的固定优先级仲裁器(FPA)实现成本低,但可能导致低优先级端口饿死。轮询仲裁器通过动态轮换优先级来保证公平性,但其内部状态机增加了设计复杂性。

随着输入端口数量增加,单一仲裁器的规模和时序路径会急剧恶化。此时,可采用层次化仲裁结构,将多个2-to-1的仲裁器级联,有效控制了关键路径的长度,保证了设计的可扩展性。

然而,即使有高效的仲裁器,传统的Wormhole交换方式也会导致严重的头阻问题,即一个数据包的头部阻塞了后续数据包的传输,极大地限制了交换吞吐率。理论计算表明,随着端口数增多,一个输出端口的期望吞吐率会趋近于63%,实际调度策略下可能降至58%左右。这暴露了传统交换结构的根本性瓶颈。

流水线架构与性能优化

为提升运行频率,Router的微架构必须采用流水线设计,将复杂的单周期操作拆分为多个阶段。一个典型的Router包含路由计算(RC)、虚拟通道分配(VA)、开关分配(SA)和开关传输(ST)四个阶段。

然而,简单地插入流水线寄存器会在控制路径上引入气泡,降低吞吐率。例如,将RC单独打拍后,若后续流水线被其他数据包占用,当前数据包就会阻塞。解决这一问题的关键是在数据路径中插入弹性缓冲器(EB),如1-slot或2-slot EB,它可以在控制路径 stall 时暂存数据,从而实现无气泡的连续传输。

通过在控制路径和数据路径上协同插入EB,可以设计出吞吐率更高的多级流水线Router,如RC-VA/SA-ST三级流水线。但需注意,VA阶段的流水线设计较为特殊,若处理不当可能会引入死锁风险,因此通常容忍其在控制路径上产生少量气泡。

虚拟通道:解决死锁与提升并发

虚拟通道是NoC设计中的一个革命性概念,它通过时分复用将一条物理信道划分为多条逻辑信道。VC最初用于解决协议级死锁,例如MOESI一致性协议需要至少3个虚拟网络来避免循环等待。此外,VC还能实现流量隔离,为不同服务等级的流量提供独立的传输通道,从而提升QoS。

实现VC的代价是高昂的:每个VC都需要独立的缓冲区和流控信号,资源开销随VC数量线性增长。为了优化资源,共享缓冲器设计应运而生,它允许多个VC动态共享一部分公共缓冲空间,显著提高了利用率。ElastiStore就是一种高效的共享Buffer结构,仅需V+1个Buffer即可支持V个VC。

Credit-based流控与VC是天作之合。发送方为每个输出VC维护独立的Credit计数,可以实现精细化的流控管理。由于Credit机制本身隔离了流控时序,即使每个VC的私有Buffer深度仅为1,也能保证系统安全稳定运行,这是VC设计普遍采用Credit-based流控的根本原因。

深入理解Router的微架构是设计高性能片上网络的基础。从流控机制到虚拟通道,每一项技术都蕴含着性能、功耗与面积的精密权衡。面对未来更复杂的片上系统,Router设计将如何演进以应对挑战?

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章