带宽这个词在电子学领域里很常用,它的意思是指波长、频率或能量带的范围,特指以每秒周数表示频带的上、下边界频率之差。可以显见带宽是用来描述
频带宽度的,但是在数字传输方面,也常用带宽来衡量传输数据的能力。用它来表示单位时间内传输数据容量的大小,表示吞吐数据的能力。
在很多文章里往往看见关于带宽的各种描述,那么怎么计算有关
存储器的带宽呢?对于存储器的带宽计算有下面的方法:
当然,这个计算方法是针对仅靠
上升沿信号传输数据的SDRAM而言的,对于上升沿和
下降沿都传输数据的DDR来说计算方法有点变化,应该在最后乘2,因为它的
传输效率是双倍的,这也是DDR能够有如此高性能的重要原因。
对于和
存储器带宽关系很大的
总线带宽也同样可以利用这个方法来计算,例如PCI和AGP等总线。比如,PCI带宽=33MHz×32BIT/8=133MB/S,AGP1X总线的带宽为66MHz×64BIT/8=528MB/S,AGP4X带宽=528MHz×4=2.1GB/秒。
通过这样的计算我们不难看出,总线的发展伴随着带宽的扩展,只有高带宽的总线才能不断的满足当前各种硬件对数据传输的要求。比如显卡当年从
PCI总线到AGP,正是因为PCI总线的133MB/S传输速率早已不能满足各种图形处理的要求。而从AGP1X到AGP4X直到AGP8X都使得传输带宽不断的得到了扩展。
在实际工作时这些
存储单元未必能达到峰值带宽,影响带宽的因素还很多。比如,因为数据写入和读出存储单元总要有一定的延迟时间。除了延迟时间影响带宽外,所存储数据的命中率也有重要关系。当把这些因素考虑在内,即便是100%的命中率,PC100的
SDRAM的实际带宽只有峰值带宽的40%。
从上面给出的带宽计算方法可知,带宽不仅和
时钟频率有关还和存储单元的
数据总线位数有关。而我们面对各种显卡显存的时候关注的是它的时钟频率,计算带宽还需要
显存的位数。显存在显卡上发挥着重要的作用,而各种
显卡芯片支持显存的位数也是有差异的,厂商们也是在扩展显存位数,以达到提升
显存带宽的目的。
峰值带宽=
工作频率*内存总线宽度,如PC100内存峰值带宽=100MHz*64bit=800MByte,
DDR266内存峰值带宽=266MHz*64bit=2.1GByte,PC800的
Rambus内存峰值带宽=800MHz*16bit=1.6GByte。
在许多人眼中,前端总线带宽是一个常量,在这个总线通道内传输数据总是恒定在一定的数值上。而这个恒定的数值也称为“理论峰值带宽”,在其自身数据传输过程中被固定在一定值之上而是不受数据传输媒介的影响。
当人们这样谈论
总线带宽时,他们确实是这样描述的,但是这仅仅是带宽的一种类型:总线的理论峰值带宽。一个系统的总线最大带宽是很容易计算,你能通过二个部分(即:
中央处理器和随机
存贮器)确定在一个周期内相关的带宽数值和在一个时间周期内有多少数据交换。但这数值仅仅是在大多数产品技术文档中的理论值,而在实际应用中很少达到这个值!现在还是让我们进行一步探讨一下这个数值是如何计算和代表哪方面的意义。