当前位置: 首页 > news >正文

NoC组件之Router微架构解析(八)虚通道分配的延迟优化


Chapter 8: High-Speed Allocators for VC-Based Routers

(本文版权归作者所有,任何形式的转载都请注明出处)

本章在第 7 章的基础上,进一步优化电路结构,追求更高的主频。

8.1 限制自由度,降低 VA 的复杂度

如 Fig 8.1 所示,若限制 flit 包传递只能在特定的 VN(Virtual Network)中传输,可以将 VA 拆分成多个小规模的电路,分别负责 NV/k 段的 VC 分配,其中 k 为 VN 数量。若 flit 包传递过程中不允许改变 VC,那么整个 VA1 逻辑会消失。

8.2 预先计算 VA1(Lookahead VA1)

如 Fig 8.2 所示,可以将 VA1 提前到上一 hop,即 LVA1,提前计算出下一 hop 的 outVC,并随 flit 传递。此时,LVA1 不在关键路径上,可以和 VA2 或者 SA 并行计算。但是由于不清楚下一 hop 输出 VC 是否可用,导致携带的 outVC 信息无法更改——在多个 inVC 竞争一个 outVC 时,只能排队等待。

当然,也可以将 LVA1 提前到写入 RxBuffer 前计算,便于获得outVCAvailable信息。但是,这种方式的 LVA1 仍在关键路径上,需要考虑到达 RxBuffer 之前的路径是否满足时序要求。

总之,此方法是以「扩充 flit 域段」和「可能导致吞吐下降」为代价,换取「主频提升」。

8.3 去掉 VA2

VA2 的作用是匹配 inVC 与 outVC,可以通过将 outVC 分配给 SA 胜出者,以消除 VA2。以下给出 3 种电路结构:

  1. VA1 与 SA 串行执行
    • VA1:筛选每个 inVC 输入的请求,每个 inVC 选择一个空闲且有信用的 outVC。
    • SA1:每个 inPort 仲裁出来自唯一一个 inVC 的请求。
    • SA2:每个 outPort 仲裁出一个 inPort 授权返回 Granted。

  1. VA1 与 SA 并行执行:因为进入 SA 只需要知道请求的 outPort 内存在可用的 outVC 即可,不需要知道具体是哪一个 outVC,所以 SA 没必要等待 VA1 执行结果。

  1. LVA1:提前已知唯一请求的 outVC,若该 outVC 空闲且信用足够,即可进入 SA;同时计算下一 hop 的 VA1。

8.4 投机执行 SA(Speculative SA)

不管 VA 是否成功分配,投机地执行 SA,可以切断 VA 与 SA 的依赖关系。此时存在以下 4 种情况:

  • VA 仲裁失败,SA 仲裁失败:下一 Cycle 重试。
  • VA 仲裁获胜,SA 仲裁失败:不投机,存在竞争,保留 VA 仲裁结果,下一 Cycle 重试 SA。
  • VA 仲裁失败,SA 仲裁成功:投机失败,代价是本次轮空。
  • VA 仲裁成功,SA 仲裁成功:投机成功,在流量较小的场景下,投机成功概率较高。

为了降低投机失败的概率,如 Fig 8.4 所示,可以做两套 SA 逻辑:一个只接收投机请求(未分配 VC 的 Head);另一个只接收非投机请求(已经分配过 VC 的 Head 或 Body/Tail)。

给非投机 SA 更高优先级——当存在一对相同 Input-Output 配对的 SA 仲裁成功时,屏蔽投机结果,以保证获胜 flit 总能通过。

如何保证非投机 SA 输出屏蔽掉投机 SA 输出?利用一个状态矩阵free(i, j):若free(i, j) = 1,表示非投机 SA 未输出Input[i]Output[j]的 Granted。利用free(i, j)矩阵作为掩码,屏蔽掉非投机 SA 结果后,再输入投机 SA。

当然,可以采用更悲观的投机策略——不需要得到非投机 SA 的结果再实行投机 SA,而是直接用非投机 SA 的输入作为掩码:无论非投机是否仲裁获胜,该Input[i]-Output[j]配对一定不再执行非投机 SA。当流量较小时,后者执行非投机时由于竞争少,获胜概率较高;若流量较大,非投机更容易失败,会导致投机 SA 过度被屏蔽。

8.5 Switch 输入端口扩展

上述所有的结构基于 Switch 输入侧每个 Cycle 只允许来自同一 inPort 的 1 个 VC 通过。如 Fig 8.6 所示,可以扩展 Switch 的输入 N 为m × N,使得每 Cycle 同一 inPort 可以输出 m 个 flit。

若不允许跳转 VC,则不需要 VA,那么每个 VC 可以单独做 SA 仲裁,如 Fig 8.7 所示。


http://www.zskr.cn/news/1532699.html

相关文章:

  • 深度解析 Kimi-K2.7-Code:万亿参数编程模型技术拆解 + startapi.top 接口实战调用(附完整代码)
  • 反激变换器设计精髓:从原理到面试的系统工程思维
  • Windows此电脑清理终极指南:告别顽固快捷方式,打造个性化工作空间
  • XCOM 2模组管理新范式:AML启动器的技术架构与应用实践
  • 从信创到“AI+信创”:中间件缘何成为这场变革的关键胜负手?
  • ExtractorSharp完整指南:让游戏资源编辑变得简单直观
  • 社区社会实践避坑指南,拒绝无效凑数活动
  • 掌握grep -r递归搜索:从基础原理到高效实战技巧
  • 大屏集中控制系统-新版本发布
  • 【Springboot毕设全套源码+文档】基于SpringBoot的鸿星尔克官方商城设计与开发(丰富项目+远程调试+讲解+定制)
  • HarmonyOS NEXT 实战:零基础实现屏幕使用时间追踪器(ScreenTimeTracker)
  • 排序算法及不同场景应用总结
  • 一文秒懂大模型、Token、Prompt、Skill、MCP、Agent、多智能体!
  • 3分钟掌握抖音下载神器:从零开始批量保存无水印视频
  • 2026塑料瓶厂家选购评测:塑料滴灌瓶/塑料瓶医药包装瓶厂家/塑料瓶定制/塑料酵素瓶/合规与定制能力核心对比 - 优质品牌商家
  • 阿里巴巴:“周靖人辞职”纯属谣言;Anthropic两款AI大模型发布仅3天即被禁;蔚来李斌:要做好整个行业跌15%-20%的心理准备 | 极客头条
  • 命令行自省:用ps、lsof、ss、strace诊断系统真实状态
  • RK3568嵌入式AIoT开发实战:从硬件调试到DeepSeek模型部署
  • RV1126B开发环境搭建全攻略:从Ubuntu配置到固件烧录
  • 【招聘】招聘团队凭什么还在用KPI管人?
  • 多业态后勤管理系统架构设计:从收费到巡检的模块化落地实践
  • 2026年LCM液晶模组厂家推荐榜单:汽车仪表盘显示屏/7寸TFT模组/COB模组/车载CID屏/工业级与128*64模组实力之选 - 品牌发掘
  • AI Agent—Tools Skill
  • 2026酒店除甲醛哪家靠谱?绿阳值得看 - 广州矩阵架构科技公司
  • 谷歌 GEO 是什么?出海营销从业者可了解的流量新方向
  • 告别臃肿与隐私困扰:Win11Debloat让你重新掌控Windows系统
  • 【水果分级】基于matlab图像处理技术自动水果质量检测与分级(香蕉 苹果 橙子)【含Matlab源码 15628期】
  • RK3566嵌入式芯片深度解析:架构、AI能力与开发实战
  • 别再让414错误卡住你的API!手把手教你调整Nginx/Apache的URI长度限制
  • 深入解析PowerPC e200z1寄存器模型:嵌入式系统开发实战指南