也谈系统带宽

硬件周刊

  我们常常谈论各种带宽,比如内存带宽、系统带宽、网络带宽等。在购机的时候也要考虑到各种带宽的搭配,否则会出现带宽瓶颈等问题。究竟带宽是什么意思呢?

  首先我们应该明白一些概念:

  1.时钟频率(单位:MHz):用公路交通作比喻,它就是汽车的行驶速度。

  2.数据总线位数(单位:bit):可以看做是公路的宽度。

  3.数据带宽(单位:MB/s):可以把它看作是单位时间的车流量。

  那么,数据带宽=时钟频率×数据总线位数÷8

  下面我们用传统的南北桥芯片组结构为例,分析一下系统带宽:

  一、北桥部分

  北桥芯片的功能比较强大,它主要负责联系CPU和控制内存,作用是在CPU与PCI总线、DRAM、AGP之间建立通信接口。它提供对CPU类型、主频、内存类型及容量、PCI、AGP插槽等硬件设备的支持。那么CPU、内存、显卡与北桥连接的带宽大小也就很重要了。

  1.前端总线带宽

  系统前端总线也叫FSB(Front Side Bus),它是CPU和主板的北桥芯片或者MCH(内存控制集线器)之间的数据通道。它的速度(频率)高低影响CPU访问内存的速度。

  对P4 3.2C GHz的CPU来说,前端总线频率为800MHz,前端总线带宽=前端总线频率×64bit÷8=800MHz×64bit÷8=6.4GB/s。对于Althon XP 3200+ 来说,前端总线为400MHz,前端总线带宽=400MHz×64bit÷8=3.2GB/s。

  2.内存带宽

  内存是整个计算机数据交换的中枢,最容易成为系统带宽的瓶颈。内存带宽=内存频率×64bit/8。目前,双通道DDR400的带宽=400MHz×2×64bit÷8=6.4GB/s,它刚好能满足800MHz前端总线CPU的需求。

  3.显存带宽

  AGP接口目前已发展到AGP 8×,其带宽=显存频率×显存位宽÷8=66MHz×32bit×8÷8=2.1GB/s 它是显卡与CPU、内存交换数据的接口。在计算机工作中,CPU将原始数据通过AGP接口读入显存,再向显示芯片发出处理指令,这时显示芯片再对数据进行处理,显存和内存有着相似的作用,也是数据的交换中心,显存带宽的大小直接影响着显卡的性能。

  以GeForce FX 5950 Ultra为例,其显存频率为950MHz,显存位宽256bit,显存带宽=950MHz×256bit÷8=30.4GB/s。即使是GeForce FX 5200为例,其显存频率为400MHz,显存位宽128bit,显存带宽=400MHz×128bit÷8=6.4GB/s。而AGP 8×的2.1GB/s显然是吃不消的。

  二、南桥部分

  一台计算机的扩展功能是否强大就取决于南桥芯片。南桥芯片主要连接PCI设备(声卡、网卡、Modem等)、IDE设备(硬盘、光驱)、软驱及各种接口(并/串口、PS/2、红外、USB2.0、IEEE1394等)等扩展设备。这些设备分为两种:一种是中断设备,一种是DMA设备。

  中断设备在工作之前要向CPU发出中断请求,CPU进行中断处理(此时CPU将暂停其他工作,转去执行中断),CPU在同一时刻只能处理一个中断,其他中断要排队等待处理。这样的设备主要是PCI设备、通过各种接口连接的设备和IDE设备。

  DMA设备能直接访问内存,其数据交换由DMA控制器来完成,像这样的设备主要有打开DMA模式的硬盘和光驱。

  三、南北桥桥接总线

  目前,在Intel方面,Intel的芯片组不论是845系列还是875系列,它们的南北桥桥接总线带宽一直都是266MB/s;VIA的芯片组最高能提供533MB/s带宽;SiS的芯片组最高能提供1GB/s带宽。而AMD平台方面,VIA的芯片组能提供533MB/s带宽;NVIDIA的nForce 2芯片组提供800MB/s带宽;SiS的主板能提供1GB/s带宽。随着计算机向着多媒体方向的进一步发展,其南桥芯片组的功能将日益强大,其峰值带宽的需求也会越来越高,所以南北桥桥接总线带宽是个不容忽视的问题。

  四、换个角度看问题

  其实,上面说的参数都是理论值,而且一台计算机几乎不可能让各个设备都工作在峰值带宽上。这样,理论上没有瓶颈的系统在更多的情况下却浪费了带宽资源。理论值终归是理论值,它和实际之间有很大的差距。譬如AGP 8×比AGP 4×在理论上快两倍,但在实际中AGP 8×只有10%的性能提升。而150MB/s传输速率的SATA硬盘其内部传输速率只有70MB/s左右,这就决定它在连续存取数据时最大只能达到70MB/s的速度。带宽的瓶颈的出现与否与实际工作状态有着密切的关系。我们不能一味的追求无瓶颈,有人说硬盘拖了计算机性能的后腿,但是如果硬盘的速度和内存一样快,那要内存做什么。完美的带宽配合是不可能的,我们需要的是充分合理的利用好现有资源。

  系统带宽瓶颈是不可避免的,因为所有的技术都不是同步发展的,正是有了新的瓶颈,才有新技术的产生去解决瓶颈,各种硬件设备就是这样互相促进来发展的,所以带宽瓶颈会一直伴随着计算机发展。