1、漫谈计算机上的总线 老虎漫谈计算机上的总线 PC总线发展史(如需转载请注明:ZOL论坛铁老虎)目录:一、什么是总线1、计算机工作原理2、总线的概念3、总线的技术指标4、采用北桥/南桥芯片组的计算机总线二、PC外部总线发展史1、ISA总线(Industry Standard Architecture)2、PCI总线(Peripheral Component Interconnect)3、AGP 总线(Accelerated Graphics Port)4、PCI-Express三、PC内部总线发展历程1、外频与FSB 总线(Front Side Bus)2、HT总线(Hyper Transpor
2、t)3、QPI总线四、总线与PC机技术指标1、内部总线与内存2、总线与显卡3、写在最后的话一、什么是总线总体上来说,总线是PC机的一种内部结构,它是CPU、内存、输入、输出设备传递信息的公用通道。1、计算机工作原理大家可能都知道,我们现在使用的计算机是基于提出的“存储程序计算机(Stored Program Computer)”,又称冯诺依曼结构。冯诺依曼结构具有两个特点:1.使用二进制;2.全部指令和数据存放在存储器中,数据处理单元到存储器中读取指令并顺序执行。冯诺依曼结构的核心思想就是“存储程序”,其最大的优点在于结构比较简单,便于控制。基于这种结构,1949年制造出了电子计算机EDIAC
3、(而非1946年制造的ENIAC),宣告人类历史上的电子计算机时代开始了。尽管经过了近60年的发展,计算机经历了4代的变迁,发展到了我们今天所使用的微型计算机时代,但是计算机的基本结构没有太大的变化,基本延续了冯诺依曼当初的设计思想: 如上图所示的计算机工作原理,计算机核心部件是运算器和控制器,我们想要处理的信息指令通过输入设备进入存储器,再由存储器进入运算器,运算结果从输出设备反馈给我们,当然这一切都是在控制器的指挥下完成的。在实际应用中,控制器和运算器构成了我们通常所说的CPU,存储器就是内存、硬盘、光盘、U盘,当然还有一些老掉牙的设备(软盘、磁带、磁鼓);输入设备就是鼠标键盘,当然还有一
4、些不常用的如扫描仪、光笔等等;输出设备则是显示器、打印机等等。那么CPU和这些设备之间的信息交换是如何完成的呢?有的读者可能说:是通过主板完成的!这个答案可以算对,但是不太精确,其实CPU和外部设备之间的信息指令通讯是通过总线完成的。2、总线的概念正如我们上面所说的,PC机的各个部件都要通过总线相连接,外部设备通过相应的接口电路再于总线相连接,从而形成了计算机硬件系统。按照功能的不同,系统总线可以划分为三种:数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。“数据总线DB”用于传送数据信息,“地址总线AB”是专门用来传送地址的,“
5、控制总线CB”用来传送控制信号和时序信号。按照传输数据的方式划分,可以分为串行总线和并行总线。串行总线中,二进制数据逐位通过一根数据线发送到目的器件;并行总线的数据线通常超过2根。按照时钟信号是否独立,可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。3、总线的技术指标(1)总线的带宽(总线数据传输速率):总线的带宽指的是单位时间内总线上传送的数据量,即每钞钟传送MB的最大稳态数据传输率。与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:总线的带宽总线的工作频率X总线的位宽 / 8 (2)总线的位宽:总线的位宽指的是总线能同
6、时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的位宽越宽,每秒钟数据传输率越大,总线的带宽越宽。(3)总线的工作频率:总线的工作时钟频率以MHZ为单位,工作频率越高,总线工作速度越快,总线带宽越宽。4、采用北桥/南桥芯片组的计算机总线以上是从计算机构成原理的角度来探寻计算机总线的,我们日常计算机应用的时候会接触到一些具体类型的总线,下面老虎就带领大家认识一下这些总线。早期的计算机系统构架离我们太遥远了,所以我们回顾的起点就从目前应用最广泛、历史最久的南北桥芯片组架构开始。北桥/南桥芯片组是为了支持PCI总线而引入的,它使得微型计算机的层次结构更加清晰:(1)
7、位于处理器和北桥之间的是速度最快的处理器总线;(2)北桥与南桥之间的是33 MHz的PCI总线;(3)南桥下面是ISA、EISA等传统的慢速I0扩展总线。在采用北桥/南桥芯片组的微型计算机中,不同速率的部件被安排接入到相应的总线或桥芯片提供的接口:(1)高速的主存由北桥中的DRAM控制器控制,该控制器支持主存所能达到的最高速率;(2)L2高速缓存直接接到处理器总线上;(3)PCI设备接到PCI总线上;(4)USB设备接到南桥中的USB接口。在最初引入北桥/南桥芯片组时还没有提出AGP总线标准,此时的图形设备通过PCI总线图形接口板连接到系统中。随着AGP总线标准的推出,Intel发布了支持AG
8、P的北桥/南桥芯片组,即440系列芯片组,在北桥芯片中设置了AGP接口。如图:通过以上的介绍,我们面前出现了一大堆名词:ISA总线、PCI总线、AGP总线、处理器总线等等,这些总线都是干什么的呢,老虎带着大家逐一进行分析。二、PC外部总线发展史 本节之所以叫外部总线发展史,是由于老虎将各种总线划分为了内部总线和外部总线,而划分的依据就是总线与处理器之间的关系,直接与CPU连接的称为内部总线,通过北桥与处理器通讯的称为外部总线。1、ISA总线(Industry Standard Architecture)最早的PC总线是IBM公司1981年在PC/XT 电脑采用的系统总线,它基于8bit的808
9、8 处理器,被称为PC总线或者PC/XT总线。1984年,IBM 推出基于16-bit Intel 80286处理器的PC/AT 电脑,系统总线也相应地扩展为16bit,并被称呼为PC/AT 总线。而为了开发与IBM PC 兼容的外围设备,行业内便逐渐确立了以IBM PC 总线规范为基础的ISA(工业标准架构:Industry Standard Architecture )总线。ISA总线最大传输速率仅为8MB/s 因此它的弱点也是显而易见的,传输速率过低、CPU占用率高、占用硬件中断资源等,很快使ISA总线在飞速发展的计算机技术中成为瓶颈。因此在1988年,康柏、惠普等9个厂商协同把ISA
10、扩展到32-bit,这就是著名的EISA(Extended ISA,扩展ISA)总线。EISA 总线的工作频率仍旧仅有8MHz ,并且与8/16bit 的ISA总线完全兼容,由于是32-bit 总线的缘故,带宽提高了一倍,达到了32MB/s .可惜的是,EISA 仍旧由于速度有限,并且成本过高,在还没成为标准总线之前,在20世纪90年代初的时候,就给PCI 总线给取代了。2、PCI总线(Peripheral Component Interconnect)由于ISA/EISA总线速度缓慢,一度出现CPU 的速度甚至还高过总线的速度,造成硬盘、显示卡还有其它的外围设备只能通过慢速并且狭窄的瓶颈来发
11、送和接受数据,使得整机的性能受到严重的影响。为了解决这个问题,1992年Intel 在发布486处理器的时候,也同时提出了32-bit 的PCI(周边组件互连)总线。最早提出的PCI 总线工作在33MHz 频率之下,传输带宽达到了133MB/s(33MHz X 32bit/8),比ISA 总线有了极大的改善,基本上满足了当时处理器的发展需要。目前计算机上广泛采用的是这种32-bit、33MHz 的PCI 总线。3、AGP 总线(Accelerated Graphics Port)PCI 总线是独立于CPU 的系统总线,可将显示卡、声卡、网卡、硬盘控制器等高速的外围设备直接挂在CPU 总线上,打
12、破了瓶颈,使得CPU 的性能得到充分的发挥。可惜的是,由于PCI 总线只有133MB/s 的带宽,对付声卡、网卡、视频卡等绝大多数输入/输出设备也许显得绰绰有余,但对于胃口越来越大的3D 显卡却力不从心,并成为了制约显示子系统和整机性能的瓶颈。因此,PCI 总线的补充AGP 总线就应运而生了。Intel 于1996年7月正式推出了AGP( 加速图形接口,Accelerated Graphics Port)接口 ,这是显示卡专用的局部总线,是基于PCI 2.1 版规范并进行扩充修改而成,工作频率为66MHz ,1X 模式下带宽为266MB/S,是PCI 总线的两倍。后来依次又推出了AGP 2X
13、、AGP4X,现在则是AGP 8X ,传输速度达到了2.1GB/S。4、PCI-Express然而时光飞逝,转眼就到了2004年,新的技术和设备层出不穷,特别是游戏和多媒体应用越来越广泛,PCI 的工作频率和带宽都已经无法满足需求。此外,PCI 还存在IRQ 共享冲突,只能支持有限数量设备等问题。在经历了长达10年的修修补补,PCI 总线已经无法满足电脑性能提升的要求,必须由带宽更大、适应性更广、发展潜力更深的新一带总线取而代之,这就是PCI-Express 总线。Intel 在2001年春季的IDF上,正式公布了旨在取代PCI总线的第三代I/O 技术,最后却被正式命名为PCI- Expres
14、s ,Express 意思是高速、特别快的意思。2002年7月23日,PCI-SIG 正式公布了PCI Express 1.0 规范,并且根据开发蓝图,在2006年的时候正式推出PCI Express2.0规范。相对于PCI总线来讲,PCI-Express总线能够提供极高的带宽,来满足系统的需求。PCI Express总线2.0标准的带宽如下表所示:经历着这么三代半(AGP总线只是一种增强型的PCI总线)的发展,PC的外部总线终于发展到我们现在看到的PCI-E 2.0,提供了比以往总线大得多的带宽。至于今后总线发展的方向,相信会随着人们对带宽需要的不断增加,而很快来出现。 三、PC内部总线发展
15、历程以上介绍了外部总线,下面大家来回顾一下内部总线的发展历程,在回顾之前,老虎首先请大家回答几个问题:什么是外频?什么是前端总线,二者是什么关系?1、外频与FSB 总线(Front Side Bus)外频和前端总线是两个不同的概念,之所以大家会混淆不清,就是因为在古老的Pentium年代,二者的频率值往往是相同的。外频指的是CPU外部的时钟频率,CPU主频=外频X倍频。在Pentium时代,CPU的外频一般是60/66MHz,从Pentium II 350开始,CPU外频提高到100MHz。而前端总线的速度指的是CPU和北桥芯片间总线的速度,表示了CPU和外界数据传输的速度。之所以前端总线与外
16、频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此产生了DDR(Double Date Rate)技术和QDR(Quad Date Rate)技术,使得前端总线的频率成为外频的2倍(AMD的K7处理器)、4倍(Intel的奔腾处理至今酷睿处理器),从此之后前端总线和外频的区别才开始被人们重视起来。“前端总线FSB”这个名称是由AMD在推出K7 CPU时提出的概念,前端总线的速度指的是数
17、据传输的速度,由于数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽(总线频率X数据位宽)8。目前PC机上所能达到的前端总线频率有266MHz(AMD)、333MHz(AMD & Intel)、400MHz(AMD & Intel)、533MHz(Intel)、800MHz(Intel)、1066MHz(Intel)、1333MHz(Intel)、1600MHz(Intel)等几种,Intel最新的至尊版处理器QX9770采用了1600MHz的前端总线,最大带宽为:1600648=12.8G/s。前端总线频率越大,代表着CPU与北桥之间的数据传输量越大,更能充分发挥出CPU的
18、功能。相反,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。2、HT总线(Hyper Transport)从AMD的K8处理其开始,AMD和Intel两家内部总线发展开始分道扬镳,Intel继续沿用FSB至今天的酷睿2CPU,而AMD则开发出了HT总线(Hyper Transport)对抗Intel。HT总线是AMD为K8平台专门设计的高速串行总线,它的发展历史可回溯到1999年,原名为“LDT总线”(Lightning Data Transport,闪电数据传输)。2001年7月,这项技术正式推出,AMD同时将它更名为Hyper Transport。随
19、后,Broadcom、Cisco、Sun、NVIDIA、ALi、ATI、Apple、Transmete等许多企业均决定采用这项新型总线技术,而AMD也借此组建Hyper Transport开放联盟,从而将Hyper Transport推向产业界。至今为止,HT总线经历了三代发展:第一代HT的工作频率在200MHz800MHz范围,双向16位模式下,最大带宽可以达到6.4GB/s。2004年2月,Hyper Transport技术联盟又正式发布了HT2.0规格,由于采用了Dual-data技术,使频率成功提升到了1.0GHz、1.2GHz和1.4GHz,双向16bit模式的总线带宽提升到了8.0
20、GB/s、9.6GB/s和11.2GB/s。 2007年11月19日,AMD正式发布了HT3.0 总线规范,提供了1.8GHz、2.0GHz、2.4GHz、2.6GHz几种频率,最高可以支持32通道。32位通道下,双向带宽最高可以达到史无前例的41.6GB/s。3、QPI总线由于AMD的HT3.0提供的最大带宽远远超过目前Intel 1600 FSB的带宽,为了对抗HT 3.0,Intel另辟蹊径,提出了QPI总线的概念。我们前面计算过,1600FSB能够提供12.8G/s的带宽,但是如此高的带宽也仅仅只能满足DDR2 800双通道的内存的带宽要求(800 X 64 X 2 / 8=12.8G
21、/s),如果此时搭配1066甚至更高的1333内存的话,FSB需要提高到更高的频率,且不说还有PCI总线、PCI-E总线、USB、SATA等多种设备也要占据一定的带宽。而在当前制作工艺和框架下,提升频率变的难上加难,即便有些玩家将FSB提高到了2400,带来的发热量也是十分恐怖的。如此看来,随着处理器核心性能的提高,以及核心数量的急剧增长,FSB正在日益成为瓶颈,必须加以解决。Intel 要想在多核心时代处于不败之地,目前首要问题就是顺利解决系统资源的分配难题、充分发挥多核心的优势,这就是英特尔推出QPI总线技术的最终目的。QPI最大的改进是提供了惊人的输出传输能力,在4.8至6.4GT/s之
22、间。一个连接的每个方向的位宽可以是5、10、20bit。因此每一个方向的QPI全宽度链接可以提供12至16BG/s的带宽,那么每一个QPI链接的带宽为24至32GB/s,相当于1600FSB的2-3倍,基本和HT 3.0带宽持平。此外,QPI另一个亮点就是支持多条系统总线连接,Intel称之为multi-FSB。系统总线将会被分成多条连接,并且频率不再是单一固定的,也无须如以前那样还要再经过FSB进行连接。QPI总线相对于FSB的革命意义是重大的,带来了PC机制造结构上的革新,抛弃了以往北桥南桥的概念,当然,这些变化已经不是本文所要探讨的主要问题了。四、总线与PC机技术指标认识了几种常见的总线
23、之后,我们来梳理一下内部总线与外部总线以及内存之间的关系。1、内部总线与内存我们在第一节分析PC机构成原理的时候提到,数据要进入内存存储器后才能进入CPU进行处理,因此内部总线与内存之间的关系是影响PC机性能重要的一个因素。回顾一下前面举到的双通道DDR2 800内存的例子,DDR2、DDR3内存位宽64,频率800,需要占用的内部总线带宽为:800 X 64 X 2(双通道) / 8(1Byte=8bit)=12.8G/s。那么三通道DDR3 1600需要的带宽则是:1600 X 64 X 3 / 8=38.4G/s,如此高的带宽要求,FSB是力不从心的,而HT 3.0和QPI开发出来的原因
24、就是为了满足如此高的带宽要求。2、总线与显卡如下图所示,在传统的南北桥框架中,显卡通过北桥与CPU发生数据交换,尽管目前的显卡已不可能完全达到PCI-E 2.0总线带宽的上限,但是实际应用证明:传统的FSB已经无法满足多卡互联后的高端显卡的带宽要求,比如我们在3路SLI或者4路CrossFire时候遇到的多卡不如双卡甚至不如单卡的情况。为了解决这个问题,Intel和AMD分别走了我们前面讲到两条不同的道路:HT和QPI。目前HT 3.0的速度最高只有2.6GHz,比如AMD的旗舰四核心处理器Phenom X4 940BE就是这一速度,而超传输技术联盟(HTC)在2008年8月19日发布了新版H
25、T3.1规范和HTX 3规范,将这种点对点、低延迟总线技术的速度提升到了3.2GHz。在提速至3.2GHz后,再结合双倍数据率(DDR),HT 3.1可提供最高每位6.4GB/s(3.2GHz X 2 因为DDR以2倍速传输)的数据传输率,32-bit带宽可达51.2GB/s(6.4GB/s X 32bit / 8)。QPI这面,虽然每一个QPI链接的带宽为24至32GB/s,但是Intel采取了一种全新的解决方法,也就是Intel称之为multi-FSB的技术。在这种技术下系统总线将会被分成多条连接,频率不再是单一固定的,而是根据系统各个子系统对数据吞吐量的需求,每条系统总线连接的速度也可不同,通过这种方式也可以在某一通道上获得很高的带宽。3、写在最后的话样样洒洒写了几千字,老虎不厌其烦地带着大家回顾了PC机总线发展历程,通过这种回顾,一来了解一下我们正在使用的计算机内部的秘密,二来解答现实中纷乱复杂的各种总线之间的关系。当然,老虎的水平有限,查资料的能力不高,有些地方可能会出现理解上的错误,还请各位网友批评指正、不吝赐教。参考文档:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1