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

【IC】NoC设计入门 -- 延迟 (Latency) 吞吐量 (Throughput)

延迟 (Latency)吞吐量 (Throughput) 就是你设计的NoC的**“成绩单”**。

你设计了“城市地图”(拓扑)、“GPS导航”(路由)、“交通规则”(流控),现在我们要看看,你设计的这个“交通系统”“跑得快不快”“堵不堵车”

我们还是用“城市交通”的比喻来彻底讲透这两个概念。


1. 🚀 延迟 (Latency):一个“包裹”送达有多快?

  • 比喻: 你(在(0,0)的家)点了一份外卖(来自(3,3)的餐厅)。“延迟”就是指,从“餐厅接单”到“你收到外卖”,总共花了多少时间。
  • NoC 的定义: 指一个“数据包”(Packet)的“头”(Head Flit)从源头NI(网络接口)成功“注入”(inject)网络开始,直到这个包的“尾”(Tail Flit)被目标NI成功“接收”(eject)为止,所花费的总时间(通常以时钟周期 cycles 为单位)。
  • 你作为设计师要问: “我的数据,多久能到?”(越低越好)
“延迟”的时间都花在哪里了?

当你分析“外卖为什么这么慢”时,你会发现时间花在了:

  1. 餐厅打包时间(NI的打包延迟)
  2. 路上开车时间(在“街道”上的传输延迟)
  3. 等红绿灯/过路口时间(在“路由器”中的处理延迟)
  4. 堵车排队时间(在“路由器”的FIFO中等待的延迟)

在NoC中,这个总延迟(Total Latency)主要由两部分构成:

  • A. 零负载延迟 (Zero-Load Latency):

    • 比喻: 凌晨3点的城市,马路上一辆车都没有。你从(0,0)开车到(3,3),需要的时间。
    • 含义: 这是你的NoC能达到的**“理论最快速度”**。
    • 它只取决于**“固定成本”**:
      1. NI的打包/拆包时间(固定的几个周期)。
      2. 物理距离:你要经过多少个“十字路口”(Hop Count)。
      3. 路口处理时间:每过一个“路口”(路由器),固定要花的时间(比如问路、仲裁、过立交桥,可能总共要3-5个周期)。
      4. 街道行驶时间:Flit在两个路由器之间的“街道”(Link)上传输的时间(通常是1个周期)。
    • 零负载延迟 ≈ NI时间 + (路口处理时间 + 街道时间) * 距离(Hops)
  • B. 拥塞延迟 (Contention Latency):

    • 比喻: 早高峰。虽然你还是走一样的路,但每个路口你都在排队
    • 含义: 这是因为“共享资源”(街道、路口出口)被其他“车队”占用了,你被迫等待所额外花费的时间。
    • 这正是“仲裁器”(Arbiter)和“FIFO缓冲区”发挥作用的地方。你排队等待的时间,就是拥塞延迟。

总延迟 = 零负载延迟 + 拥塞延迟


2. 🚛 吞吐量 (Throughput):整个“城市”有多能“扛”?

  • 比喻: 你的“城市交通系统”总共有多大的运力?是只能跑1万辆车的小县城,还是能跑100万辆车的大都市?
  • NoC 的定义: 整个网络在单位时间内(比如每秒,或每周期)总共能成功传输多少“货物”(数据,通常以 bits/secFlits/cycle 为单位)。
  • 你作为设计师要问: “我的网络总共能‘扛’住多大的‘流量’?”(越高越好)
关键概念:“饱和点” (Saturation Point)

吞吐量不是一个“固定值”,它取决于你“注入”(Injection)了多少流量。

  • 比喻:
    • 凌晨3点,每分钟只有10辆车上路。你的“交通系统”轻轻松松,实际吞吐量 = 10辆/分钟
    • 早上7点,每分钟有1000辆车上路。系统也扛得住,实际吞吐量 = 1000辆/分钟
    • 早上8点(早高峰),每分钟有5000辆车想上路。但是你的“城市路网”设计(街道宽度、路口效率)决定了,最多每分钟只能处理3000辆车。
    • “3000辆/分钟” 就是你的“最大吞吐量”,也叫**“饱和吞吐量”**。
    • 当你想注入5000辆时,你的网络已经“饱和”了,多出来的2000辆车会无限期地堵死在“入口”(或者说,导致整个城市的延迟急剧飙升)。

3. 📈 黄金关系:延迟 vs. 吞吐量(“冰球棍”曲线)

这两个指标不是孤立的,它们是NoC性能最重要的一张图,长得像一个**“冰球棍” (Hockey Stick)**。

  • X轴: 你注入的流量(吞吐量)
  • Y轴: 对应的平均延迟
  1. “杆身” (Handle):

    • 低流量时(X轴很低),“交通”很顺畅。
    • 延迟非常低,基本等于“零负载延迟”(Y轴很低)。
    • 你注入多少,系统就处理多少(吞吐量 = 注入量)。
  2. “拐点” (Knee):

    • 随着流量增加(X轴向右),“拥堵”开始出现(Contention Latency)。
    • 延迟开始缓慢爬升(Y轴开始抬头)。
  3. “杆头” (Blade):

    • 当流量达到某个点(饱和点)时,系统“扛不住”了。
    • 延迟会“指数级”飙升(Y轴垂直向上),趋近于无限大。
    • 此时X轴对应的值,就是你的**“最大吞吐量”**。

你的设计目标:

  • 降低“杆身”: 尽量降低“零负载延迟”(比如优化路由器内部逻辑,让它处理更快)。
  • 推高“拐点”: 尽量提高“饱和点”(比如用“自适应路由”分流,用“虚拟通道”减少阻塞),让你的网络能“扛”住更大的流量。

总结:我们的“理论课”如何影响“成绩单”?

你之前学的所有理论,都会在这张“成绩单”上体现出来:

  • 拓扑 (Topology):
    • Mesh:由于“距离”可能很长(Hop多),“零负载延迟”(杆身)可能比较
  • 路由 (Routing):
    • XY路由:简单,但可能在“拐角”处(比如所有流量都汇聚到右上角)造成拥堵,导致“饱和点”(拐点)提前到来
    • 自适应路由:能绕开拥堵,推高“饱和点”,提升最大吞吐量。
  • 流控 & 路由器设计:
    • 大FIFO (大停车场):能“吸收”突发的流量,推高“饱和点”。但FIFO越大,路由器面积越大,成本越高。
    • 队头阻塞 (HoL Blocking):我们之前提过,它会无故增加“拥塞延迟”,让延迟曲线更早“抬头”
    • 死锁 (Deadlock): 如果你的设计有死锁,那谈不上性能了。吞吐量会降为0,延迟变为无限大,系统瘫痪。
http://www.dtcms.com/a/566660.html

相关文章:

  • wordpress修改站点logo大小三星做号网站
  • 8.2 时钟数编程
  • 帮助企业做网站的销售健康码防疫核验一体机
  • 免费免费网站模板wordpress 当前页面登录密码
  • 自适应wordpress石家庄网站建设seo公司
  • 查关键词热度的网站设计室内装修效果图
  • (6)普中A2 51单片机矩阵键盘和密码锁
  • k8s中执行脚本如果提示etcd找不到,可以做如下的操作
  • 网站收录查询接口普通网站 用多说
  • 网站源码怎么弄怎么不花钱做公司网站
  • 高职生技能竞赛获奖:升学优势与职业发展路径
  • 网站开发最新架构静态网页模板免费下载的网站
  • 2020年多媒体应用设计师考试上午真题答案解释(2)
  • 不用编程做APP和响应式网站美食网站开发可行性分析报告
  • 专门做调查的网站个人怎么报考消防证
  • 怎样自己做免费网站ps网站轮播图怎么做的
  • 网页设计首页怎么设计网站新闻不添加关键词超链接对优化有影响吗
  • seo广告投放是什么意思关键词优化流程
  • 河北省城乡与住房建设厅网站网页设计案例
  • CC-Link IEFB 转 EtherCAT:物联网网关衔接三菱FX与汇川伺服电芯±0.05mm移送案例
  • 凡科建站官网郑州网站外包公司
  • 虚拟主机不能通过什么架设网站重庆网站建设夹夹虫
  • 16、【Ubuntu】【VSCode】VSCode 断联问题分析:问题解决
  • ESP32多传感器数据采集与传输系统
  • 中小企仓储数字化转型的破局之道
  • 邢台移动网站建设报价seo外包
  • 损失函数系列:focal-Dice-vgg
  • 网站建设的技巧下载的网站模板怎么改
  • 桔子seo网邢台快照优化
  • 做网站 杭州建设美团网站