如何根据业务判断需要的内存带宽

这里主要说的视频业务。

‌内存带宽指的是内存总线所能提供的数据传输能力,它决定了单位时间内存储器所存取的信息量,通常以‌位/秒(‌bps)或‌字节/秒(Bytes/s)为单位来表示。内存带宽是衡量内存性能的重要指标之一,直接影响着系统的整体性能,尤其是数据处理速度和响应时间。它决定了‌CPU从内存读取或写入数据的速率。

总线带宽指的是总线在单位时间内可以传输的数据总量,等于总线位宽与工作频率的乘积。例如:对于64位、800MHz的前端总线,它的数据传输率就等于64bit×800MHz÷8(Byte)=6.4GB/s

内存带宽指的是内存总线所能提供的数据传输能力。例如:DDR400内存的数据传输频率为400MHz,那么单条模组就拥有64bit×400MHz÷8(Byte)=3.2GB/s的带宽。

下图是某主流DDR4 2666内存的带宽。理论值大概是64bit×2666MHz÷8(Byte)≈21GB/s。

不过实际测试会略少,下面是测试结果,大概是20GB/s左右。也很接近了。

视频类业务所需带宽的公式是:带宽 = 分辨率宽度 × 分辨率高度 × 帧率 × 颜色深度 × 数据格式系数

如果需要处理多路视频流(例如双摄像头系统),则需要将所有视频流的带宽需求累加,确保总带宽在内存总线的承受范围内。

延迟容忍度:实时应用要求内存带宽必须满足或超过计算值,以防止延迟。对于延迟敏感的应用,通常需要预留20-30%的带宽裕度。
处理需求:考虑视频处理算法(如图像增强、编码等)对额外内存带宽的需求。
系统总线:还需考虑内存总线的带宽,如DDR、LPDDR的速率,确保系统总带宽足够支撑所需的所有操作。

假设我们有一个1080p的摄像头,帧率为30FPS,采用8位RGB格式:

  • 分辨率:1920 × 1080
  • 帧率:30 FPS
  • 颜色深度:8位(即24位RGB)
  • 数据格式系数:3字节/像素

带宽 = 1920×1080×30×24bits/8bits/byte = 149299200bytes/second ≈ 142.5MB/s

这意味着系统需要至少142.5 MB/s的内存带宽来处理和存储该视频流。

如果按照上面DDR4 2666的数据,算上30%冗余,理论上支持起码100路1080P的视频流。。。

算一下4K 120Hz 10bit真彩色呢。3840×2160×120×30bits/8bits/byte ≈ 3.73 GB/s。算上冗余大概就是4.5 GB/s左右。理论上就最多只支持4路。。。


 

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值