码迷,mamicode.com
首页 > 其他好文 > 详细

总线带宽

时间:2016-02-18 08:44:22      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:

关于带宽概念之前不是太熟悉,特百度,转载如下:

两种概念 

 如果从电子电路角度出发,带宽(Bandwidth)本意指的是电子电路中存在一个固有通频带,这个概念或许比较抽象,我们有必要作进一步解释。大家都知道,各类复杂的电子电路无一例外都存在电感、电容或相当功能的储能元件,即使没有采用现成的电感线圈或电容,导线自身就是一个电感,而导线与导线之间、导线与地之间便可以组成电容——这就是通常所说的杂散电容分布电容; 不管是哪种类型的电容、电感,都会对信号起着阻滞作用从而消耗信号能量,严重的话会影响信号品质。这种效应与交流电信号的频率成正比关系,当频率高到一定 程度、令信号难以保持稳定时,整个电子电路自然就无法正常工作。为此,电子学上就提出了“带宽”的概念,它指的是电路可以保持稳定工作的频率范围。而属于 该体系的有显示器带宽、通讯/网络中的带宽等等。
而第二种带宽的概念大家也许会更熟悉,它所指的其实是数据传输率,譬如内存带宽、总线带宽、网络带宽等等,都是以“字节/秒”为单位。我们不清楚从什么时候起这些数据传输率的概念被称为“带宽”,但因业界与公众都接受了这种说法,代表数据传输率的带宽概念非常流行,尽管它与电子电路中“带宽”的本意相差很远。
对于电子电路中的带宽,决定因素在于电路设计。它主要是由高频放大部分元件的特性决定,而高频电路的设计是比较困难的部分,成本也比普通电路要高很多。这部分内容涉及到电路设计的知识,对此我们就不做深入的分析。而对于总线、内存中的带宽,决定其数值的主要因素在于工作频率位宽,在这两个领域,带宽等于工作频率与位宽的乘积,因此带宽和工作频率、位宽两个指标成正比。不过工作频率或位宽并不能无限制提高,它们受到很多因素的制约,我们会在接下来的总线、内存部分对其作专门论述。

总线带宽 

在计算机系统中,总线的作用就好比是人体中的神经系统,它承担的是所有数据传输的职责,而各个子系统间都必须籍由总线才能通讯,例如,CPU和北桥间有前端总线、北桥与显卡间为AGP总线芯片组间有南北桥总线,各类扩展设备通过PCI、PCI-X总线与系统连接;主机外部设备的连接也是通过总线进行,如流行的USB 2.0、IEEE1394总线等等,一句话,在一部计算机系统内,所有数据交换的需求都必须通过总线来实现!
按照工作模式不同,总线可分为两种类型,一种是并行总线,它在同一时刻可以传输多位数据,好比是一条允许多辆车并排开的宽敞道路,而且它还有双向单向之分;另一种为串行总线,它在同一时刻只能传输一个数据,好比只容许一辆车行走的狭窄道路,数据必须一个接一个传输、看起来仿佛一个长长的数据串,故称为“串行”。
并行总线和串行总线的描述参数存在一定差别。对并行总线来说,描述的性能参数有以下三个:总线宽度、时钟频率、 数据传输频率。其中,总线宽度就是该总线可同时传输数据的位数,好比是车道容许并排行走的车辆的数量;例如,16位总线在同一时刻传输的数据为16位,也 就是2个字节;而32位总线可同时传输4个字节,64位总线可以同时传输8个字节......显然,总线的宽度越大,它在同一时刻就能够传输更多的数据。 不过总线的位宽无法无限制增加。
总线的带宽指的是这条总线在单位时间内可以传输的数据总量,它等于总线位宽与工作频率的乘积。例如,对于64位、800MHz的前端总线,它的数据传输率就等于64bit×800MHz÷8(Byte)=6.4GB/s;32位、33MHz PCI总线的数据传输率就是32bit×33MHz÷8=132MB/s,等等,这项法则可以用于所有并行总线上面——看到这里,读者应该明白我们所说的总线带宽指的就是它的数据传输率,其实“总线带宽”的概念同“电路带宽”的原始概念已经风马牛不相及。
对串行总线来说,带宽和工作频率的概念与并行总线完全相同,只是它改变了 传统意义上的总线位宽的概念。在频率相同的情况下,并行总线比串行总线快得多,那么,为什么现在各类并行总线反而要被串行总线接替呢?原因在于并行总线虽 然一次可以传输多位数据,但它存在并行传输信号间的干扰现象,频率越高、位宽越大,干扰就越严重,因此要大幅提高现有并行总线的带宽是非常困难的;而串行 总线不存在这个问题,总线频率可以大幅向上提升,这样串行总线就可以凭借高频率的优势获得高带宽。而为了弥补一次只能传送一位数据的不足,串行总线常常采 用多条管线(或通道)的做法实现更高的速度——管线之间各自独立,多条管线组成一条总线系统,从表面看来它和并行总线很类似,但在内部它是以串行原理运作的。对这类总线,带宽的计算公式就等于“总线频率×管线数”,这方面的例子有PCI Express和HyperTransport,前者有×1、×2、×4、×8、×16和×32多个版本,在第一代PCI Express技术当中,单通道的单向信号频率可达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的带宽;PC 800标准RDRAM的频率达到800MHz,单条模组带宽为16bit×800MHz÷ 8=1.6GB/s。为了实现更高的带宽,在内存控制器中使用双通道技术是一个理想的办法,所谓双通道就是让两组内存并行运作,内存的总位宽提高一倍,带宽也随之提高了一倍!
带宽可以说是内存性能最主要的标志,业界也以内存带宽作为主要的分类标准,但它并非决定性能的唯一要素,在实际应用中,内存延迟的影响并不亚于带宽。如果延迟时间太长的话相当不利,此时即便带宽再高也无济于事。
 

带宽匹配 

计算机系统中存在形形色色的总线,这不可避免带来总线速度匹配问题,其中最常出问题的地方在于前端总线和内存、南北桥总线和PCI总线
前端总线与内存匹配与否对整套系统影响最大,最理想的情况是前端总线带宽与内存带宽相等,而且内存延迟要尽可能低。在Pentium4刚推出的时候,Intel采用RDRAM内存以达到同前端总线匹配,但RDRAM成本昂贵,严重影响推广工作,Intel曾推出搭配PC133 SDRAM的845芯片组,但SDRAM仅能提供1.06GB/s的带宽,仅相当于400MHz前端总线带宽的1/3,严重不匹配导致系统性能大幅度下降;后来,Intel推出支持DDR266的845D才勉强好转,但仍未实现与前端总线匹配;接着,Intel将P4前端总线提升到533MHz、带宽增长至4.26GB/s,虽然配套芯片组可支持DDR333内存,可也仅能满足2/3而已;现在,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年开始以PCI Express总线来全面取代PCI总线,届时PCI带宽不足的问题将成为历史。
 

通讯带宽 

在通讯和网络领域,带宽的含义又与上述定义存在差异,它指的是网络信号可使用的最高频率与最低频率之差、或者说是“频带的宽度”,也就是所谓的“Bandwidth”、“信道带宽”——这也是最严谨的技术定义。
在100M以太网之类的铜介质布线系统中,双绞线的信道带宽通常用MHz为单位,它指的是信噪比恒 定的情况下允许的信道频率范围,不过,网络的信道带宽与它的数据传输能力(单位Byte/s)存在一个稳定的基本关系。我们也可以用高速公路来作比喻:在 高速路上,它所能承受的最大交通流量就相当于网络的数据运输能力,而这条高速路允许形成的宽度就相当于网络的带宽。显然,带宽越高、数据传输可利用的资源 就越多,因而能达到越高的速度;除此之外,我们还可以通过改善信号质量和消除瓶颈效应实现更高的传输速度。
网络带宽与数据传输能力的正比关系最早是由贝尔实验室的工程师Claude Shannon所发现,因此这一规律也被称为Shannon定律。而通俗起见普遍也将网络的数据传输能力与“网络带宽”完全等同起来,这样“网络带宽”表面上看与“总线带宽”形成概念上的统一,但这两者本质上就不是一个意思、相差甚远。
 
 



















如何学习总线技术

以形象生动的比喻来描绘了总线技术的基本思想,指出了总线的基本分类和总线传输的基本原理,以及在学习过程中应当掌握的最基本的知识,对初学者有起到抛砖引入的作用。

0引言

  如果一座只能容一个人来往的独木桥,两端的人都想要过桥,为了不拥挤、阻塞,那我 们就得采取有效的办法。比如规定某段时间哪端的人过桥,另一端的人就等着该他过桥的时间段的到来,同时也还可以规定人多时要按先来后到或年龄长幼的次序过 桥。在这不经意间,我们就体会到了现代电子信息数据通过总线按时分系统传输的最原始的思想。

  现代网络信息的发展,特别是对于成本和空间而言,总线传输替代点对点传输是目前发展的热点,它的出现将给信息传输上提供了最大的方便和最有效的技术解决方案。假如一个微处理器与它的部件和外围设备都分别用点对点的线路来连接通讯,则所有连线将会错综复杂,甚至难以实现。

  目前与我们生活习习相关的一系列活动都无不牵涉到总线技术的应用,如我们上英特网、给亲戚朋友打电话、用U盘来存储信息等。虽然流行的总线所采取的形式不同,但他们主要的原则性思想无非就是时分系统、频分系统、相分系统和码分系统等。常言道兵来将挡,水来土淹,面对种类繁多的总线,我们只有从基本原理出发,从骨子里去了解它的实质,而不要被它形式多样的外表所迷惑,才能熟练掌握和灵活运用眼下正在或将要用到的各种总线技术。

1总线的定义及分类

1.1定义

总线,英文叫作“BUS”,即我们中文的公共车,这是非常形象的比如,公共车走的路线是一定的,我们任何人都可以坐公共车去该条公共车路线的任意一个站点。如果把我们人比作是电子信号,这就是为什么英文叫它为“BUS”而不是“CAR”的真正用意。当然,从专业上来说,总线是一种描述电子信号传输线路的结构形式,是一类信号线的集合,是子系统间传输信息的公共通道。通过总线能使整个系统内各部件之间的信息进行传输、交换、共享和逻辑控制等功能。如在计算机系统中,它是CPU、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过主机相连接,外部设备通过相应的接口电路再于总线相连接。

1.2分类

总线分类的方式有很多,如被分为外部和内部总线、系统总线和非系统总线等等,下面是几种最常用的分类方法

1.2.1按功能分

  最常见的是从功能上来对数据总线进行划分,可以分为地址总线(address bus)、数据总线(data bus)和控制总线(control bus)。在有的系统中,数据总线和地址总线可以在地址锁存器控制下被共享,也即复用。

  地址总线是专门用来传送地址的。在设计过程中,见得最多的应该是从CPU地址总线来选用外部存储器的存储地址。地址总线的位数往往决定了存储器存储空间的大小,比如地址总线为16位,则其最大可存储空间为21664KB)。

  数据总线是用于传送数据信息,它又有单向传输和双向传输数据总线之分,双向传输数据总线通常采用双向三态形式的总线。数据总线的位数通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。在实际工作中,数据总线上传送的并不一定是完全意义上的数据。

  控制总线是用于传送控制信号和时序信号。如有时微处理器对外部存储器进行操作时要先通过控制总线发出读/写信号、片选信号和读入中断响应信号等。控制总线一般是双向的,其传送方向由具体控制信号而定,其位数也要根据系统的实际控制需要而定。

1.2.2按传输方式分

  按照数据传输的方式划分,总线可以被分为串行总线和并行总线。从原理来看,并行传输方式其实优于串行传输方式,但其成本上会有所增加。通俗地讲,并行传输的通路犹如一条多车道公路,而串行传输则是只允许一辆汽车通过单线公路。目前常见的串行总线有SPII2CUSBIEEE1394RS232CAN等;而并行总线相对来说种类要少,常见的如IEEE1284ISAPCI等。

1.2.3按时钟信号方式分

  按照时钟信号是否独立,可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,也就是说要用一根单独的线来作为时钟信号线;而异步总线的时钟信号是从数据中提取出来的,通常利用数据信号的边沿来作为时钟同步信号。

2总线传输基本原理

依据前面对总线的定义可知总线的基本作用就是用来传输信号,为了各子系统的信息能有效及时的被传送,为了不至于彼此间的信号相互干扰和避免物理空间上过于拥挤,其最好的办法就是采用多路复用技术,也就是说总线传输的基本原理就是多路复用技术。所谓多路复用就是指多个用户共享公用信道的一种机制,目前最常见的主要有时分多路复用、频分多路复用和码分多路复用等。

2.1时分多路复用(TDMA)

  时分复用是将信道按时间加以分割成多个时间段,不同来源的信号会要求在不同的时间段内得到响应,彼此信号的传输时间在时间坐标轴上是不会重叠。

2.2频分多路复用(FDMA)

  频分复用就是把信道的可用频带划分成若干互不交叠的频段,每路信号经过频率调制后的频谱占用其中的一个频段,以此来实现多路不同频率的信号在同一信道中传输。而当接收端接收到信号后将采用适当的带通滤波器和频率解调器等来恢复原来的信号。

2.3码分多路复用(CDMA)

  码分多路复用是所被传输的信号都会有各自特定的标识码或地址码,接收端将会根据不同的标识码或地址码来区分公共信道上的传输信息,只有标识码或地址码完全一致的情况下传输信息才会被接收。

3总线的通信协议

  对于总线的学习,了解其通讯协议是整个过程中最关键的一步,所有介绍总线技术的资料都会花很大的篇幅来描述其协议,特别是ISO/OSI的那七层定义。其实要了解一种总线的协议,最主要的就是去了解总线的帧数据每一位所代表的特性和意义,总线各节点间有效数据的收发都是通过各节点对帧数据位或段的判断和确信来得以实现。

技术分享

  如图1所示是常见的I2C总线上传输的一字节数据的数据帧,其总线形式是由数据线SDA和时钟SCL构成的双线制串行总线,并接在总线上的电路模块即可作为发送器(主机)又可作为接收器(从机)。帧数据中除了控制码(包括从机标识码和访问地址码)与数据码外还包括起始信号、结束信号和应答信号

  起始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

  控制码:用来选泽操作目标与对象,即接通需要控制的电路,确定控制的种类对象。在读期间,也即SCL时钟线处于时钟脉冲高电平时,SDA上的数据位不会跳变。

  数据码:是主机向从机发送的具体的有用的数据(如对比度、亮度等)和信息。在读期间,SDA上的数据位不会跳变。

  应答信号:接收方收到8bit数据后,向发送方发出特定的低电平。读/写的方向与其它数据位正好相反,也即是由从机写出该低电平,主机来读取该低电平。

  结束信号:SCL为高电平时,SDA由低电平向高电平跳变表示数据帧传输结束。

当然不同的总线其数据位或段的定义肯定不同,但依据同样的原理可以更快的去了解它的协议的特性和特点。虽然其信息帧的大小不一,但具体的某一数据位或数据段都类似于本文所提及的I2C总线,会依据它的协议的要求来定义它所达标的意义和功能。

4主要技术指标

评价总线的主要技术指标是总线的带宽(即传输速率)、数据位的宽度(位宽)、工作频率和传输数据的可靠性、稳定性等。

4.1带宽(传输速率)、位宽和工作频率

  总线的带宽指的是单位时间内总线上传送的数据量,即每钞传送MB的最大数据传输率。总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念;总线的位宽越宽,数据传输速率越大,总线的带宽就越宽。总线的工作时钟频率以MHz为单位,它与传输的介质、信号的幅度大小和传输距离有关。在同样硬件条件下,我们采用差分信号传输时的频率常常会比单边信号高得多,这是因为差分信号的的幅度只有单边信号的一半而已。

  总线的带宽、位宽和工作频率,这三者密切相关,它们之间的关系:

技术分享

4.2传输数据的可靠性

  可靠性是评定总线最关键的参数,没有可靠性,传输的数据都是错误的信息,便就失去了总线的实际意义。为了提高总线的可靠性,通常采用的措施有:

  采用数据帧发送前发送器对总线进行侦听,只有侦听到总线处于空闲状态下时才可向总线传送数据帧,这样避免了不同节点的数据冲突。

  采用双绞线差分信号来传送数据,以降低单线的电压升降幅度,减小信号的边沿产生的高次谐波。

  适当的让数据的边沿具有一定的斜坡。

  增加匹配电阻和电容等来减少总线上信号的发射和平衡总线上的分布电容等。

  采用合适的网络拓扑结构和屏蔽技术等来减少受其他信号的干扰。

  还有就是在软件上通过数字滤波、数据校验纠错等措施来提高数据传输的可靠性。

5结束语

  学习是一个循序渐进的过程,对总线技术的学习和理解也是随着其技术的不断发展而不断更新的过程。子曰工欲善其事,必先利其器。只有从最基本的原理出发,打好基础,才能在今后的学习中融会贯通,前仆后继,更进一步深入该知识点和拓宽知识面。

 

总线带宽

标签:

原文地址:http://www.cnblogs.com/chip/p/5197059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!