带宽 |
带宽的两种概念编辑本段回目录
带宽 |
而第二种带宽的概念大家也许会更熟悉,它所指的其实是数据传输率,譬如内存带宽、总线带宽、网络带宽等等,都是以“字节/秒”为单位。我们不清楚从什么时候起这些数据传输率的概念被称为“带宽”,但因业界与公众都接受了这种说法,代表数据传输率的带宽概念非常流行,尽管它与电子电路中“带宽”的本意相差很远。
对于电子电路中的带宽,决定因素在于电路设计。它主要是由高频放大部分元件的特性决定,而高频电路的设计是比较困难的部分,成本也比普通电路要高很多。这部分内容涉及到电路设计的知识,对此不做深入的分析。而对于总线、内存中的带宽,决定其数值的主要因素在于工作频率和位宽,在这两个领域,带宽等于工作频率与位宽的乘积,因此带宽和工作频率、位宽两个指标成正比。不过工作频率或位宽并不能无限制提高,它们受到很多因素的制约。
总线中的带宽编辑本段回目录
带宽 |
按照工作模式不同,总线可分为两种类型,一种是并行总线,它在同一时刻可以传输多位数据,好比是一条允许多辆车并排开的宽敞道路,而且它还有双向单向之分;另一种为串行总线,它在同一时刻只能传输一个数据,好比只容许一辆车行走的狭窄道路,数据必须一个接一个传输、看起来仿佛一个长长的数据串,故称为“串行”。
并行总线和串行总线的描述参数存在一定差别。对并行总线来说,描述的性能参数有以下三个:总线宽度、时钟频率、数据传输频率。其中,总线宽度就是该总线可同时传输数据的位数,好比是车道容许并排行走的车辆的数量;例如,16位总线在同一时刻传输的数据为16位,也就是2个字节;而32位总线可同时传输4个字节,64位总线可以同时传输8个字节......显然,总线的宽度越大,它在同一时刻就能够传输更多的数据。不过总线的位宽无法无限制增加。
总线的带宽指的是这条总线在单位时间内可以传输的数据总量,它等于总线位宽与工作频率的乘积。例如,对于64位、800MHz的前端总线,它的数据传输率就等于64bit×800MHz÷8(Byte)=6.4GB/s;32位、33MHzPCI总线的数据传输率就是32bit×33MHz÷8=133MB/s,等等,这项法则可以用于所有并行总线上面——看到这里,读者应该明白我们所说的总线带宽指的就是它的数据传输率,其实“总线带宽”的概念同“电路带宽”的原始概念已经风马牛不相及。
对串行总线来说,带宽和工作频率的概念与并行总线完全相同,只是它改变了传统意义上的总线位宽的概念。在频率相同的情况下,并行总线比串行总线快得多,那么,为什么现在各类并行总线反而要被串行总线接替呢?原因在于并行总线虽然一次可以传输多位数据,但它存在并行传输信号间的干扰现象,频率越高、位宽越大,干扰就越严重,因此要大幅提高现有并行总线的带宽是非常困难的;而串行总线不存在这个问题,总线频率可以大幅向上提升,这样串行总线就可以凭借高频率的优势获得高带宽。而为了弥补一次只能传送一位数据的不足,串行总线常常采用多条管线(或通道)的做法实现更高的速度——管线之间各自独立,多条管线组成一条总线系统,从表面看来它和并行总线很类似,但在内部它是以串行原理运作的。对这类总线,带宽的计算公式就等于“总线频率×管线数”,这方面的例子有PCIExpress和HyperTransport,前者有×1、×2、×4、×8、×16和×32多个版本,在第一代PCIExpress技术当中,单通道的单向信号频率可达2.5GHz,我们以×16举例,这里的16就代表16对双向总线,一共64条线路,每4条线路组成一个通道,二条接收,二条发送。这样我们可以换算出其总线的带宽为2.5GHz×16/10=4GB/s(单向)。除10是因为每字节采用10位编码。
内存中的带宽编辑本段回目录
带宽 |
SDRAM、DDR和DDRⅡ的总线位宽为64位,RDRAM的位宽为16位。而这两者在结构上有很大区别:SDRAM、DDR和DDRⅡ的64位总线必须由多枚芯片共同实现,计算方法如下:内存模组位宽=内存芯片位宽×单面芯片数量(假定为单面单物理BANK);如果内存芯片的位宽为8位,那么模组中必须、也只能有8颗芯片,多一枚、少一枚都是不允许的;如果芯片的位宽为4位,模组就必须有16颗芯片才行,显然,为实现更高的模组容量,采用高位宽的芯片是一个好办法。而对RDRAM来说就不是如此,它的内存总线为串联架构,总线位宽就等于内存芯片的位宽。
和并行总线一样,内存的带宽等于位宽与数据传输频率的乘积,例如,DDR400内存的数据传输频率为400MHz,那么单条模组就拥有64bit×400MHz÷8(Byte)=3.2GB/s的带宽;PC800标准RDRAM的频率达到800MHz,单条模组带宽为16bit×800MHz÷8=1.6GB/s。为了实现更高的带宽,在内存控制器中使用双通道技术是一个理想的办法,所谓双通道就是让两组内存并行运作,内存的总位宽提高一倍,带宽也随之提高了一倍!带宽可以说是内存性能最主要的标志,业界也以内存带宽作为主要的分类标准,但它并非决定性能的唯一要素,在实际应用,内存延迟的影响并不亚于带宽。如果延迟时间太长的话相当不利,此时即便带宽再高也无济于事。
带宽匹配的问题编辑本段回目录
带宽 |
前端总线与内存匹配与否对整套系统影响最大,最理想的情况是前端总线带宽与内存带宽相,而且内存延迟要尽可能低。在Pentium4刚推出的时候,Intel采用RDRAM内存以达到同前端总线匹配,但RDRAM成本昂贵,严重影响推广工作,Intel曾推出搭配PC133SDRAM的845芯片组,但SDRAM仅能提供1.06GB/s的带宽,仅相当于400MHz前端总线带宽的1/3,严重不匹配导致系统性能大幅度下降;后来,Intel推出支持DDR266的845D才勉强好转,但仍未实现与前端总线匹配;接着,Intel将P4前端总线提升到533MHz、带宽增长至5.4GB/s,虽然配套芯片组可支持DDR333内存,可也仅能满足1/2而已;现在,P4的前端总线提升到800MHz,而配套的865/875P芯片组可支持双通道DDR400——这个时候才实现匹配的理想状态,当然,这个时候继续提高内存带宽意义就不是特别大,因为它超出了前端总线的接收能力。
南北桥总线带宽曾是一个尖锐的问题,早期的芯片组都是通过PCI总线来连接南北桥,而它所能提供的带宽仅仅只有133MB/s,若南桥连接两个ATA-100硬盘、100M网络、IEEE1394接口......区区133MB/s带宽势必形成严重的瓶颈,为此,各芯片组厂商都发展出不同的南北桥总线方案,如Intel的Hub-Link、VIA的V-Link、SiS的MuTIOL,还有AMD的HyperTransport等等,目前它们的带宽都大大超过了133MB/s,最高纪录已超过1GB/s,瓶颈效应已不复存在。
PCI总线带宽不足还是比较大的矛盾,目前PC上使用的PCI总线均为32位、33MHz类型,带宽133MB/s,而这区区133MB/s必须满足网络、硬盘控制卡(如果有的话)之类的扩展需要,一旦使用千兆网络,瓶颈马上出现,业界打算自2004年开始以PCIExpress总线来全面取代PCI总线,届时PCI带宽不足的问题将成为历史。
通讯中的带宽编辑本段回目录
带宽 |
在100M以太网之类的铜介质布线系统中,双绞线的信道带宽通常用MHz为单位,它指的是信噪比恒定的情况下允许的信道频率范围,不过,网络的信道带宽与它的数据传输能力(单位Byte/s)存在一个稳定的基本关系。我们也可以用高速公路来作比喻:在高速路上,它所能承受的最大交通流量就相当于网络的数据运输能力,而这条高速路允许形成的宽度就相当于网络的带宽。显然,带宽越高、数据传输可利用的资源就越多,因而能达到越高的速度;除此之外,我们还可以通过改善信号质量和消除瓶颈效应实现更高的传输速度。
网络带宽与数据传输能力的正比关系最早是由贝尔实验室的工程师ClaudeShannon所发现,因此这一规律也被称为Shannon定律。而通俗起见普遍也将网络的数据传输能力与“网络带宽”完全等同起来,这样“网络带宽”表面上看与“总线带宽”形成概念上的统一,但这两者本质上就不是一个意思、相差甚远。