Outstanding量化分析

Outstanding的主要作用是提高带宽(效率),其次是减小平均延迟。

我们定义L = total Latency, R = Response time, T = Transaction time, n = burst number, N = outstanding Number. 定义Ba = actual bandwidth, Bp = physical bandwidth, e = efficiency, 则Ba = Bp * e.

Figure 1~3 举例说明三种不同情况的outstanding时序特点。

Figure 1 Outstanding Timing Sequence 1

Figure 2 Outstanding Timing Sequence 2

Figure 3 Outstanding Timing Sequence 3

总结得到以下公式:

根据上述公式,可以得出以下结论:

1、当N = ROUNDUP(R/T + 1)时,e达到理论最大值n*T/(R + n*T);

2、当N = ROUNDUP(R/T + 1)时,n越大,效率越高,e的极限逼近100%;

3、当N = 1时,效率最低。


从latency的角度看,outstanding可能带来平均延时的降低,但是绝对延时反而可能增加,例如figure 1(C) 中的a2 -> b2. 但是某些系统(比如多媒体)主要关注带宽,对latency要求不高,所以这里不对latency做重点讨论。

比如对于display system,我们重点关注active lines期间的bandwidth。以1920*1200@60fps为例,htt(horizontal total time) = 13.4us (from VESA standard),换算为bandwidth = 1920*4B(ARGB)/13.4us = 573MB/s.

假设AXI burst length = 256 Bytes, AXI physical bandwidth = 600M*16B = 9600MB/s. 所以burst transaction time (T) = 256 / 9600 = 27ns.

AXI response time (R)存在不确定性,只能根据经验估算。假设R = Bus latency(60ns) + DDR latency(70ns) = 130ns.

根据公式N = ROUNDUP(R/T + 1),可以得出:N = 6时,即可达到最高带宽效率。

一帧图像的burst number(n) = 1920*1200*4B/256B = 36000. 可以得出:e = 99.98%,近乎等于物理带宽,而实际带宽需求只要满足573/9600 = 6% 就够了,所以理想情况下的带宽压力并不大。但是考虑到R的不确定性,burst length也可能更小,所以实际情况要复杂得多,需要到后期跑SoC level performance simulation才能拿到相对靠谱的数据。举个极端的例子,假如R = 100T,N = 6,可以计算得到e < 6%,这就比较危险了。所以N的值要按悲观一点来定,后期可以通过simulation真实数据再做调整(从优化面积的角度)。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值