总线是在计算机系统模块化发展进程中诞生的产物,在计算机还没有进入PC
普及时代前的巨型机、大型机计算机时期,计算机及其繁杂的各类模块往往都要配备自己的相应总线,很难适应技术的快速更替。随着上个世纪70
你年代,PC
成为大规模批量的生产的计算机产品后,系统设计简化、模块批量化生产、便于系统维护和升级就成为计算机技术开发的重点,作为计算机系统中连接各个模块的总线技术也走上了标准化的道路。相对于其他技术的飞跃发展,标准总线技术的发展速度可以说一向缓慢,自从IBM PC
问世至今,虽然期间经历了包括MCA
、VESA
等在内的多种总线规格,但从整体来看,大致只经过了ISA
和PCI
总线两个阶段,就算上本篇文章讲述的今日之星PCI Express
,也只有短短三代。比起处理器,显卡这样动辄八九代,甚至十几代的发展更新速度,说他缓慢也就不足为奇了。当然,总线发展的保守性是有客观原因的,因为每一个总线的标准的全面变更,就意味着在原先总线标准下设计的产品全部要重新设计,所以总线标准往往都是在几度修改,挖掘和提升到最后,才进行改朝换代的重大革新,这种变革周期往往长达数年甚至十数年。今天我们要将的主题是新一代PCI Express
总线,在进入今天的主题之前,我们先一起来看看伴随我们这一代DIYer
一起成长的PCI
总线技术,看看这部12
岁的“
高龄”
技术是否还能承担起未来总线性能的需要,我们要从1992
年Intel 在发布486
处理器的时候一同发布的32-bit
的PCI(
周边组件互连)
总线标准开始说起。PCI总线发布的时候主要是为了替代当时占主要技术份额的ISA
总线,当时他提供的共享带宽只有15 MB/s
,和当时的其他技术相比显然已经严重滞后。PCI
总线技术在当时的环境来看还是相当先进的,其总线工作在33MHz
频率之下,传输带宽达到了133MB/s(33MHz X 32bit/8)
,比ISA
总线有了极大的改善,基本上满足了当时处理器的发展需要。此外PCI
总线还是是独立于CPU
的系统总线,采用了独特的中间缓冲器设计,可将显示卡、声卡、网卡、硬盘控制器等高速的外围设备直接挂在CPU
总线上,暂时解决了老旧总线难以满足新处理器以及I/O
的需求,使得当时CPU
的性能得到充分的发挥。不过在PCI
总线长达十数年的岁月中,外围设备性能的提升速度远远超过了总线本身发展的速度,其本身频率难以提高、工作电压难以降低、性能不足的问题也日益凸现出来,我们可以从越来越多的局部总线标准的推出看出PCI
日趋淘汰的兆头。首先是我们熟悉的AGP(
加速图形接口,Accelerated Graphics Port)
局部总线规范,他是Intel
于1996
年7
月正式推出显示卡专用的局部总线技术,推出目的是补救PCI
共享总线带宽严重限制显卡3D
化的问题。实际上,AGP
是在PCI 2.1
版规范基础之上扩充修改而成,工作频率为66MHz
,1X
模式下带宽为266MB/S
,是PCI
总线的两倍。后来依次又推出了AGP 2X
、AGP4X
,现在则是AGP8X
,传输速度达到了2.1GB/S
。其次是各种各样的南北桥互联总线技术的出现也削弱了PCI
总线的地位和作用。诸如此类的局部总线还有不少,
这一方面表明系统的带宽在不断地升级,另一方面则说明PCI
已经不能满足系统的需要了。整个PC
业界迫切需要一个统一标准的取代PCI
的总线技术,这也就是我们本文的主角—PCI Express
。PCI-E:众望所归的下一代总线标准 其实早在2001
年的春季IDF(Intel
开发者论坛)
上,Intel
公司已经宣布要用一种新的技术取代PCI
总线和多种芯片的内部连接,并称之为第三代I/O
总线技术(3rd Generation I/O
,也就是3GIO)
;到了2001
年底,包括Intel
、AMD
、DELL
、IBM
等20
多家业界主导公司加入了PCI-SIG(PCI
特殊兴趣小组)
并开始起草3GIO
规范的草案;2002
年草案完成,并把3GIO
正式命名为PCI Express
。而在春季IDF 2003
上,Intel
公布了PCI Express
的产品开发计划。目前PCI Express
技术的915
系列主板产品和不少显卡都已经能在市面上买到了,那PCI EXPRESS
的技术特点究竟是什么呢?我们有没有必要把自己升级到这个平台下面呢,下面我们将为大家一一分析。
PCI Express技术要点从并行到串行的转变 与传统PCI
以及更早期的计算机总线的共享并行架构相比,PCI Express
采用设备间的点对点串行连接(serial interface)
。如此一来即允许每个设备都有自己的专用连接,是独占的,并不需要向整个总线请求带宽,同时利用串行的连接特点将能轻松将数据传输速度提到一个很高的频率,达到远超出PCI
总线的传输速率。单个基本的PCI Express
连接是一种单双单工连接,一个单独的基本的PCI Express
串行连接就是两个独立的通过不同的低电压对驱动信号实现的连接,一个接受对和一个发送对(共四组线路)。一个微分信号在两个接口之间有电压差来传递。第一代的PCI Express
连接将提供2.5Gbit/s
的单向单线连接传输速率。相对于传统PCI
总线在单一时间周期内只能实现单向传输,PCI Express
的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。同时PCI Express
串行连接使用了内嵌时钟技术(8b/10b
编码模式)
,时钟信息直接写入数据流中,这对比大多数并行总线要额外传输保持同步的时钟信号来说更能节省传输的通道和提高传输效率。与Serial ATA
类似,串行连接能大大减少电缆间的信号干扰和电磁干扰,由于传输线条数有所减少,更能节省空间和连接更远的距离(
单位时间内传输的数据流比并行总线中独立时钟信号的数据流更能传送更远的距离)
。当然,一个PCI Express
连接可以由多个“
通道”
组成,每个通道包括前面所提的单双工连接(
两对线路)
。 在设备和芯片之间的连接就能实现串行的多通道连接,每个通道相互独立。一个PCI Express
连接可以被配置成x1
,x2
,x4
,x8
,x12
,x16
和x32
的数据带宽。x1
的通道能实现单向312.5MB/
秒(2.5Gbit/s * 1 / 8
位)
的传输速率,同理x32
通道连接就能提供10GB/
秒的速率,但考虑使用8b/10b
编码实际上有20%
左右的消耗,实际的传输速率大概是8GB/
秒(x32
单向)
。分层分包协议 和我们熟悉的网络设备iso
七层模型类似,各种总线在开发的过程中也根据完成的工作不同将总线功能实现分成不同的层,因此在单独更新/
升级其中某一层的话并不会对其他层造成影响,便于各种开发人员的应用。PCI Express包含3
个协议层:事物层(Transaction)
、数据链路层(Data Link)
和物理层(Physical)
,当数据在设备间传输时,每个设备都会被看成一个协议栈(protocol stack)
。 在发送端,数据先在事务层被分成数据包,然后继续到下一层数据连接层和物理层,每一层都将在原有的数据上加入新的头信息或尾部信息,最后通过物理连接传输到接受端设备的协议栈中;再接受端经过相反次序通过协议栈将在发送端的分包还原出来。 在三层中都各司其职,其中物理层负责组装和分解处理层数据,同时掌握连接结构以及信号的控制,保证数据能实现端到端的通信,使合法的数据从发送端传输到整个PCI Express
架构。顺利达到接受端。而数据连接层则保证连接完整无缺地从一端传输到另一端,采用了Ack/Nack
协议技术,能检测错误并进行修正。
数据包处理和插槽 PCI Express数据包处理包含4
种基本的处理类型:内存事务处理、I/O
事务处理、配置事务处理和信息处理。
采用基本的流控制来保证接受端设备有足够的缓冲资源接受来自发送端的数据(
包括数据的容量和类型)
。PCI Express
的接口根据总线位宽不同而有所差异,包括x1
、x4
、x8
以及x16(x2
模式将用于内部接口而非插槽模式)
目前的PCI
接口将保留(
就如当初PCI
代替ISA
时也在主板上留下ISA
槽一样)
。较短的PCI Express
卡可以插入较长的的PCI Express
插槽中使用(
也就是说低位宽的能插入高位宽的插槽使用)
。
同时PCI Express
卡能够支持热拔插以及热交换特性,支持的三种电压分别为+3.3V
、3.3Vaux
以及+12V
。考虑到现在显卡功耗的日益上涨,PCI Express
而后在规范中改善了直接从插槽中取电的功率限制,16x
的最大提供功率达到了70W
,比AGP8X
接口有了很大的提高。基本可以满足未来中高端显卡的需求。这一点可以从AGP
、PCI Express
两个不同版本的6600GT
上就能明显地看到,后者并不需要外接电源。PCI Express虚拟通道及通信量等级此外,PCI Express
也支持每个连接的虚拟多通道。在一个小连接上可以存在最大8
个独立控制的通讯。每个通讯都可以根据数据包的通信量等级(Traffic Class
,TC
)性质得到不同的处理。对于在PCI Express
中传输的数据包而言,在每一个转换或连接终端,都要查验TC
信息,并据此进行适当的处理。在数据包头部的TC
描述符由3
个bit
组成,可以表示不同的TC
等级。这和我们在网络技术中看到的QOS
实际上起到一个作用,就是保证那些需要实时处理的数据拥有较高的传输优先权,避免数据传输延迟。 新总线给我们带来了哪些技术应用首先当然是代替已经进入最后的生命周期的AGP8X
接口了,可以说在今年5
月份Intel
发布新一代的芯片组--Intel 915/925
系列芯片组开始,就拉开了升级替换的序幕。因为Intel
对于迅速普及PCI Express
总线的主板,采用了比较激进的方式,也就是说从这一代芯片组开始,我们原来的AGP
显示卡已经无法在这种主板上使用了,进行了强制的显卡总线接口的转换。在上个月发布的1066FSB
的925XE
芯片组也延续了这种坚决推广PCI Express
总线的态度。在明年AMD
的K8
平台也会全面迈入PCI Express
的时代,VIA的K8T890
系列,NV
的NF4
系列都将全面使用PCI Express
总线。
发布厂商
|
芯片组型号
|
适用平台
|
发布日期
|
Intel
|
915/925/xe
|
Intel P4E/F
|
已量产
|
VIA
|
K8T890/Pro
|
AMD K8 939
|
已发布
|
|
PT894
|
Intel P4E
|
未知
|
SiS
|
SiS 656/694
|
Intel P4E
|
未知
|
ATI
|
RS400/480
|
Intel P4E
|
未知
|
nVIDIA
|
NF4系列
|
AMD K8 939
|
未知
|
在配套的显卡方面两大巨头表现得非常积极,
从今年的2
月18
日,nVIDIA
正式发布了GeForce PCX
系列图形显示卡开始, PCI Express
显卡市场已经开始兴起,从新一代的显卡开始,已经完全基于PCI Express
总线开发,对于AGP
的支持反而要靠桥接芯片完成,其投放速度和价格和PCI Express
产品相比已经不具备任何优势。可以说在县卡方面,PCI Express
成为日后主流已经是板上钉钉的事实,除了考虑老系统的升级需求,我们还是推荐大家使用新的PCI Express
平台,保证最大的用户投资。目前已经上市,或者将要上市PCI Express
接口显卡如下:
发布厂商
|
GPU系列
|
发布日期
|
nVIDIA
|
GeForce PCX系列
|
已发布
|
|
GeForce 6系列(6800/6600/6200)
|
已量产
|
ATI
|
X300/600/700/800/850
|
已量产
|
S3 Graphics
|
GammaChrome S19/18/14
|
04年底到05年第一季度
|
XGI
|
VOlari PCIE四个系列
|
未知
|
GeForce PCX都支持PCI Express 16x
接口,对应产品分别是GeForce PCX 5950/PCX 5750/PCX 5300/PCX 4300
。
另外不得不提的PCIE
应用就是已经开始在全国不少省市开播的HDTV
视频播放和编辑应用。在高分辨率视频编辑过程中,PCI Express
能够充分显示其4GB/s
上下行能力的优势。而AGP
总线则只能提供266MB/s
的上行能力,因此在从显存读取数据到内存的过程将会很慢,而且由于其是半双工,上行的时候将无法下载。 在主板上采用大容量的缓存、缓存可以帮助缓解这个问题,新型的Serial ATA
接口取代EIDE
接口后也可以有效提高传输速度。PCI Express
无法成为硬盘的接口,而Serial ATA
在以后甚至会将硬盘直接接到上。通过PCI Express
将南桥和北桥连接,而不是PCI
总线,可以提高带宽、降低延迟。不过在这个方面,有Intel
的Hublink
、VIA
的Vlink
。SiS
的Mutiol
等现有技术,使得PCI Express
的前景还不清晰。Intel
还在7500
芯片组中推出了Hublink 2
技术,将带宽有266MB/s
提高到了1066MB/s
。
对于其他的高速总线而言,PCI-X 1.0
的带宽理论上最大为1GB/s
,PCI-X 2.0
则为4.26GB/s
。同时,在现在的服务器中,芯片组以及支持PCI-X 2.0
。对于这样的竞争对手,PCI-SGI
没有打算让PCI Express
来取代他们,而是希望用PCI-X
进一步完善服务器架构。 当然PCI Express
目前最大的受益者应该就是显示卡了,因为其众多突出的功能可以彻底解决显示卡传输带宽的问题,而且在今后游戏的配合下,我们可以使用更高级的显示卡获得更加逼真的效果。结语 PCI Express成为总线技术的中流砥柱已经是肯定的了,目前显卡领域使用第一代桥接芯片来间接支持PCI Express
总线的这个过渡时期已经非常快的完成,如今新品都几乎全部是基于PCI Express
开发的,桥接支持AGP
的显卡无论在推出速度、价格和性能上都不会再有优势。这将是促成今年年底到明年初PCI Express
平台迅速普及的主要动力。
阅读(570) | 评论(0) | 转发(0) |