了解“根本” 解读带宽与潜伏期 系统性能的“根本”——解读带宽与潜伏期的关系 |
|
2003-05-06·
·姑苏飘雪··天极硬件频道
|
上一页 1 2 3 4 5 6 7 8 9 下一页 |
四、带宽的真正杀手:DRAM 存取潜伏
至今为止,影响读取潜伏期的最大因素仍是DRAM的响应时间或者说存取潜伏。虽说在过去的近十年的时间里中央处理器的速度以有很大的提升,但DRAM的平均响应时间并没有有多少的改进,因此,此难题仍得不到有效解决。事实上,它对读取潜伏期影响程度甚至比以前更加为严重了,下面让我来解释这一切吧。
行读写时间(tRAC)等于DRAM的RAS下降沿到数据输出的时间,并且这个数字是占据了大部分DRAM潜伏期。当总线时钟周期和中央处理器时钟周期比DRAM的行存取时间短时,那么意味着总线时钟周期和中央处理器时钟周期将越多被浪费在对DRAM数据响应的等待之上。
在这里,我假设DRAM的行读写时间为60ns的情况。如果这个DRAM与被一个1GHz中央处理器搭配使用(@ 1 GHz时钟周期的时间= 1ns),那么在从确定行读取地址到数据被传送到内存总线这个过程,中央处理器将需要等待60个时钟周期。这是一个相当长时间,特别在这里还没有包括将读取地址发送到随机存贮器和将数据发送到中央处理器的时间。当然以上这个例子确实有点夸张,但大多数的DRAM潜伏期是大概在30~40ns之间。尽管如此,30ns是一个1GHz中央处理器的30个时钟周期,而它更是一个2 GHz中央处理器的60个时钟周期。因此,如果内存总线的速度得到提升而行读取时间仍停滞不前时,那么意味关将会有更多的总线时钟周期被浪费。这意味着更多的时钟周期是空闲的而更多的带宽被浪费。
五、更有效地使用总线带宽:数据流
如果此前你是对此已经有了一定的了解,并且你也看了我先前对持续带宽进行粗略计算的方法,那么你可能注意了:如果将把突发长度从4个改用一个足够大的数值的话,那么将允许你得到一个接近理论峰值带宽的有效带宽。
换而言之,如果在开始的时候,读取潜伏期时固定的,你在随后连续word传送中将能充分利用时钟周期。因此,如果初始时的潜伏期是3,那么后面连续的100个时钟和数据都可以用来突发数据(没有一个停滞或空闲的时钟周期。)。在103个时钟周期中空闲时钟周期和有效时钟周期的比率是3:100,这是一个相当好的开始。
下列是演示一下相关数据的计算:
4 words * 8 bytes * 100MHz/(3 clocks + 1 clock + 1 clock + 1 clock) = 533 MB/s 5 words * 8 bytes * 100MHz/(3 + 4) = 571 MB/s 6 words * 8 bytes * 100MHz/(3 + 5) = 600 MB/s 7 words * 8 bytes * 100MHz/(3 + 6) = 622 MB/s
看到以上这此,你如果能记以前所学有关微积分的基础知识,那么你能了解下面这个与函数最大化有关的公式:
 下面这张曲线图可以说明是如何运作的:

注:带宽 vs. 突发长度 上图应该清楚说明突发长度与增加持续带宽的关系:通过增加突发长度可以让持续带宽更接近 (但实际上是不能完全达到)理论峰值带宽。
|
上一页 1 2 3 4 5 6 7 8 9 下一页 |
|
|
感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|