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

【IC】NoC设计入门 -- NoC 核心理论与架构

在上一节,我们达成了共识:NoC = 放弃“共享高速公路”(总线),改用“城市街道网”

现在,我们要深入研究:这个“城市街道网”究竟是如何设计和运行的?

这个阶段是 NoC 的灵魂,请准备好消化一些最核心的概念。我们依然会使用“城市交通”的比喻。


🔬 第二阶段:NoC 核心理论与架构

1. NoC 的“三驾马车”:拓扑、路由、流控

这三者共同决定了 NoC 的形态和效率,它们是密不可分的。

A. 拓扑结构 (Topology):城市是如何规划的?

拓扑,就是“路由器”(十字路口)相互连接的“形状”。 它定义了街道的布局。

  • 必学:2D Mesh (二维网格)
    • 比喻: 曼哈顿或北京的棋盘式街道网。
    • 结构: 每个“十字路口”(Router)都通过“街道”(Link)连接到它东、南、西、北的邻居。同时,每个路口还连接着一个“功能区”(比如一个 CPU 核)。
    • 为什么主流?
      1. 规整: 在芯片上布线非常容易、非常规整。
      2. 可扩展: 城市想从 3x3 扩展到 4x4,只需要在旁边加一排“路口”就行了,对原有结构影响很小。
    • 其他拓扑(了解即可):
      • Ring (环形): 像城市里的“二环路”。
      • Torus (环面): 像一个“甜甜圈”,Mesh 的首尾相连版。
B. 路由算法 (Routing):GPS 是如何导航的?

路由,就是“数据包”(车队)用来决定“下一跳该走哪个路口”的规则。

  • 必学:确定性路由 (Deterministic Routing)
    • 比喻: 一种“死板”的导航规则。
    • 含义: 从A点到B点,永远只有一条固定的路径。
    • 最经典的算法:XY 路由 (用于 Mesh 拓扑)
      • 规则: “先走X方向(东西),直到X坐标对齐;再走Y方向(南北)。”
      • 举例: 你的车队要从 (0, 0) 的“家”开到 (2, 1) 的“商场”。
      • 路径: (0,0) → (1,0) → (2,0) → (2,1)。绝不允许 (0,0) → (0,1) → (1,1) → (2,1)。
      • 为什么用它? 它超级简单(硬件实现容易),并且有一个天大的好处:能避免死锁 (Deadlock)
C. 流控 (Flow Control) 与交换 (Switching):交通警察是如何指挥的?

这是 NoC 中最复杂、也是效率最高的部分。它决定了“车队”在“街道”上具体是如何行驶的。

  • 必学:虫洞交换 (Wormhole Switching)

    • 背景: 一个“Burst”(突发)数据可能非常大(比如一个100辆车的“大车队”)。我们不能等100辆车都到了路口A,再一起发往路口B(这叫“存储转发”,效率太低)。
    • 虫洞机制:
      1. 我们将这个“大车队”(Packet,包)拆分成一节一节的“标准车厢”(Flit,流控单元)。
      2. 头 Flit (火车头): 包含“导航地址”(比如要去 (2,1))。
      3. 体 Flits (中间车厢): 只装“货物”(数据)。
      4. 尾 Flit (火车尾): 标记“车队结束”。
      5. “虫洞”效应: 当“火车头”到达路口A时,交警(路由器)一看地址,把它指向东边。火车头刚一离开路口A,紧跟在后面的“中间车厢”立刻就跟上,不需要等待!
      6. 在同一时刻,这个“车队”(火车)可能同时占据着好几条街道(比如火车头在 (1,0),火车尾还在 (0,0))。它就像一条“贪吃蛇”一样,在网络中“蠕动”前进。
    • 优点: 极大地降低了延迟,也减少了路口(路由器)需要“停车场”(缓冲区)的大小。
  • 必学:基于信用的流控 (Credit-Based Flow Control)

    • 问题: 在“虫洞”模式下,路口A的“火车头”要发往路口B。如果路口B东向的“停车场”(FIFO 缓冲区)已经满了,怎么办?火车头堵在路口A,它后面的所有车厢都会堵住,引发大塞车。
    • 信用机制(解决方案):
      1. 路口B(下游)会不断地“广而告之”路口A(上游):“我东边的停车场还能停 5 辆车(Credits = 5)。”
      2. 路口A(上游)每往B发送一辆车(一个 Flit),自己就把B的“信用计数”减 1(现在A认为B还能停 4 辆)。
      3. 当A发现B的“信用计数”为 0 时,就立即停止向B发送任何车辆。
      4. 当路口B的停车场空出一个位置时(车开走了),它会立刻给A发一个“信用更新”信号:“我又空了 1 个位置!”
    • 优点: 这套机制确保了上游永远不会在下游缓冲区满的时候还发送数据,从而从根本上避免了因“停车场满了”导致的交通瘫痪。

2. NoC 的核心组件(硬件实现)

现在我们把“比喻”翻译成“硬件”。一个 NoC 主要由两部分组成:

  • A. 路由器 (Router) 微架构(十字路口+交警)

    • 输入端口 (Input Ports): 包含“停车场”(FIFO 缓冲区),用来暂存抵达的 Flits(车厢)。
    • 路由逻辑 (Routing Logic): “GPS导航仪”。读取“火车头”(Head Flit)的目标地址,并根据 XY 路由算法,计算出它该从哪个出口走。
    • 仲裁器 (Arbiter): “路口交警”。如果东边和南边的车队都想去北边(抢同一个出口),仲裁器(比如使用“轮流放行”规则)决定谁先走。
    • 交换矩阵 (Switch Fabric / Crossbar): “立交桥”。一个 N x N 的开关矩阵,负责把“输入端口”的车辆实际“切换”到“输出端口”去。
  • B. 网络接口 (Network Interface, NI)(出入口匝道)

    • 这是 NoC 的“翻译官”和“打包站”,它连接着“功能区”(CPU)和“十字路口”(Router)。
    • 功能: 它负责将 CPU 发出的**总线协议(如 AXI)的读写请求(我们第一阶段讲的“高速公路”上的车队),“翻译并打包”**成 NoC “城市路网”能理解的、带地址的 Flits(火车车厢)。反之亦然。

3. NoC 的关键性能问题

设计 NoC 就是为了解决以下问题,而这些问题也是衡量你设计好坏的标准:

  • 延迟 (Latency) & 吞吐量 (Throughput):

    • 延迟: 一辆车(一个数据)从A点到B点要花多久?(越低越好)
    • 吞吐量: 整条街道(整个网络)1秒钟最多能通过多少辆车?(越高越好)
  • 死锁 (Deadlock):

    • 比喻: 灾难性的“十字路口环形堵死”。
    • 场景: 想象一个环形路口。A车队想去B,B想去C,C想去D,D想去A。它们各自占了一个路口,同时又在等待下一个路口。所有车队都动弹不得,交通彻底瘫痪。
    • 解决: XY 路由通过“只准先X后Y”的死板规定,在设计上**“打断了环路”**,从而避免了死锁。
  • 队头阻塞 (Head-of-Line Blocking):

    • 比喻: “直行车被左转车堵住”。
    • 场景: 在一个路口(路由器的输入端口),排在第一位的“火车头”A想去北边。但北边的路堵了(没信用了)。
    • 排在它后面的“火车头”B,本来想去东边(东边是空的,完全可以走)。
    • 问题: 因为火车头A堵在最前面,火车头B也被迫卡在后面,动弹不得。
    • 解决: 这是 NoC 中最经典的一个性能问题。解决它的高级技术叫做**“虚拟通道” (Virtual Channels)**(我们第五阶段再讲)。

阶段总结

  1. NoC 是由路由器 (Router)链路 (Link) 按照拓扑 (Topology)(如 Mesh)搭建的。
  2. 数据被打包成 Flits(车厢),以虫洞 (Wormhole) 方式在网络中流动。
  3. 路径由路由算法 (Routing)(如 XY)决定。
  4. 交通由流控 (Flow Control)(如 Credit-Based)来指挥,以避免堵塞。
  5. NI(网络接口) 负责在“总线”和“NoC”之间翻译。
http://www.dtcms.com/a/566779.html

相关文章:

  • 黄冈市建设局官方网站全面加强基层基础建设
  • 企业网站seo方案网站改版后百度不收录
  • 自助建站平台iis 没有右键网站属性
  • 阿里云域名备案网站建设方案书上海未成年人思想道德建设网站
  • 站长工具一区拍卖网站模版
  • 县城网站怎样做经验中国114建材网
  • 婚介所网站开发费用电脑网页游戏平台
  • 优秀网站设计案例分析室内设计专用软件
  • html网站的设计做网站项目实例
  • 设计网站建设公司厦门网站建设厦门
  • IIC 通讯详解——以 OSI 模型分析 物理层、数据链路层和应用层
  • 如何在百度云上建设网站thinkphp集成wordpress
  • 济南正规的网站制作wordpress文章省略
  • 链表类力扣刷题总结
  • 网站建设工作室怎么开茂名网站开发公司
  • 衡阳建设学校官方网站广东省住房和城乡建设厅证件查询
  • 厦门做网站seo的网站应该如何进行优化
  • 白山商城网站建设wordpress默认原始图片
  • 做质量计量的网站有哪些博乐建设工程信息网站
  • 【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解
  • 东莞网站建设推广方案网站主题设计特色
  • 代做毕业设计网站有哪些网络整合营销推广
  • 嵌入式笔记系列——IIC
  • 网站维护一年一般多少钱视频链接生成器
  • wordpress网站好用吗专业的营销型网站定制
  • 离线推广网站规划书电子商务网站开发相关技术
  • 直接保存pandas DataFrame的内容到Excel文件中
  • excel T检测时[检验类型]参数设置的方法
  • 网站尾部做淘宝客可以有高佣金的网站
  • 成都网站建设四川推来客网络石家庄+外贸网站建设公司