【转】认识物理I/O构件- 主机I/O总线
在数据离开系统内存总线后,它通常传输到另一条总线,即主机I/O总线。在今天的产品中,最常见的主机I/O总线是PCI总线,但也存在着几种其他的总线,如S -总线,EIS A总线及VME总线。主机I/O总线实现了几种重要的功能,包括:
允许加入新的插卡。
允许从内存总线输入和输出数据。
允许在插卡之间传输数据。
主机I/O总线并不是处于设备与系统内存总线间的仅有的中介物,在主机I/O总线和系统内存总线之间还存在着桥控制器芯片,该芯片负责在两总线之间交换数据。图2 - 3显示了带有4个I/O 插卡的主机I/O总线,这4个I/O插卡都通过桥控制器芯片与系统内存总线相连。
主机I/O总线是在内存和外设之间传送数据的运输工具。工业上提供了许多不同的外设,包括视频显示器、声卡、打印机、扫描仪及存储设备等。如果把系统C P U比作跑车之引擎,那么主机I/O总线就类似于跑车的传动装置,把引擎的原动力传给车轮,并驱动车轮前进。许多数据处理应用要求大量的数据在存储设备之间传输。如果一个系统不能有效地实现数据在主机I/O总线和内存总线之间的传输,那么,这个系统在数据处理负担增加时就不能提供适合的性能。
有时,扩展槽的数量是有限的,为了有更多的扩展槽可利用,可以另加桥接控制器,并如图2 - 5那样把这些另加的主机I/O总线连到一起。
无论什么时候召开商业新闻发布会,只要有主机I/O总线技术的新信息,都有充足的理由引起各方面的关注。因为当主机I/O总线技术发生变化时,许多与之相关的现存技术都会处于生死存亡的关头,它将波及包括系统公司、适配器插卡制造商、CPU公司、软件公司、芯片制造商以及很多重要的I T机构。在P C行业,用户不得不区分ISA、微路径、EISA、PCI总线的优劣,还经常把钱错花在已经过时的服务器I/O总线上。以下是一些I/O总线技术的简要概述。
1.PCI
现在大多数服务器系统都有内存总线设计,这种设计能提供数据在主机I/O总线上的有效传输。虽然有几种主机I/O总线技术存在于广泛不同的系统上,但由于外设部件互联总线PCI总线在成本和性能上所具有的超群优势,使它正成为工业标准。PC机使用的PCI卡数量相对较大,且制造的产量很大,导致P C I组件的整体价格比其他服务器总线技术更低。所以,为了具有竞争力的价格,大部分系统公司都已经采用PCI技术。已经证明,PCI的性能超过许多不同目的应用的需求,这包括存储及I/O密集型应用。
几年前,Intel公司就已经认识到,如果要保持他们的竞争力,就必须要在x86系列处理器中提供更好的I/O能力。然而,一方面,要保持与已有的PC总线技术的兼容,另一方面,又要在CPU中提供更高的I / O能力,这给Intel公司提出了严峻的挑战。
Intel从486芯片系列开始,通过把PCI桥技术集成到CPU/内存芯片集,提供高速I/O总线。其他的总线技术,如ISA、微路径、EISA等,可以通过PCI桥控制器接入主机内存总线。 在引入这个新技术之后,Intel把PCI的后续开发转让给一个标准机构,PCI专业组(PCI-SIG)。随后,许多其他的公司也把PCI当作标准接受,并对它的发展做出过贡献。事实上,PCI已经广泛地被诸如I BMSun和康柏这样的公司所接受,虽然这些公司都拥有自己的I/O总线技术。
在PC系统上,PCI总线的性能很难预测,这是因为PC系统常常是PCI成分和非PCI成分的混合。尽管混合配置的系统性能毫无疑问受到很大的影响,但也很难估算出使用混合总线技术的系统性能受到负面影响的程度。因此,如果不是因为没有适合的PCI卡可以使用,就不要在PCI 系统中使用ISA卡。
注意为了最优的性能,避免在你的服务器中使用ISA适配器。
2.c-PCI
c-PCI即致密PCI的缩写,是工业标准PCI总线的一个衍生物,目的是服务于工业和通信领域的应用。这些领域的计算机对容错和环境的抵御能力要求很高,因为它们一般都放置在一些很少或无人管理的地方,c-PCI支持适配器的热插拔,其显著特征之一是系统中没有主板,所有的系统构件都在具有服务能力的插卡上。
为了管理这种特殊的硬件,c-PCI使用了实时操作系统,因为实时操作系统为这些c-PCI卡的插拔提供了容错的基础,这些插卡包括桥控制器卡、CPU卡(Lynx Real Time Systems公司生产的Lynx操作系统便是这种系统的一例)。
3.VESA 局域总线
VESA局域总线是目前市场上的PCI产品的直系前辈,它由工业标准组开发,能提供比以往基于PC的I/O总线快得多的速度,它的某些优势性能来源于把接口直接放在处理器中,这将使数据传输特别快。这就是“局域总线”所指:VESA是通过电子手段的方式连接到CPU而实现的,并与CPU享有共同的电源要求,结果导致对插卡数量支持的严重限制,通常情况下不超过两个。这就是说,大多数服务器系统必须把更陈旧的总线技术与VESA混合使用,在吞吐量要求很高的系统中,这是不可接受的。总之,VESA局部总线一方面提供某些优越性,另一方面却又存在着几个工程上的障碍,使它难于和PCI竞争。
4. ISA,E I S A和微路径
PC机广泛应用的最重要的因素之一是系统的可用性高和外设廉价,如果I/O总线技术没有很好的互操作性,P C机的繁荣将是不可能的。以下各节将讨论P C总线技术的早期发展
1) ISA总线
最初的PC总线并不称为ISA工业标准体系结构,只是在几种其他具有竞争力的总线出现后,为了使它与这些总线相区别,才将它命名为ISA。ISA的设计目的是在相对慢速的设备和慢速的处理器之间传输数据,因而它的速度也是很慢的。但它有相当完备的基本功能。在IBM PC-AT 微机出现时,它已经升级到1 6位数据总线,最大的时钟频率达到8MHz。随着处理器速度的继续提高和PC应用数量的持续增长,需要开发出新的I/O总线体系结构,以保持与处理器的发展保持同步。
2) 微路径
1987年,IBM公司宣布它的微路径总线体系结构,这个体系结构将总线控制插卡和更高的时钟频率组合于一体。微路径引入了新的物理连接器,使得它与现存的基于ISA计算机和适配器不能兼容,甚至在改变其连接器的设计后,微路径也必须用更慢的时钟速度来维持与适配器的兼容性,所以不仅微路径与ISA在物理上不兼容,而且它的性能也被现存的ISA设计所限制。结果,很少别的计算机厂商把该技术用于他们的系统中,微路径适配器的开发量远远少于PC工业所需要的水平。随着时间的推移,这个总线技术的成功在少数高端UNIX系统上获得了验证,这些UNIX系统差不多都是来自于IBM公司。今天微路径技术实际上是一个被淘汰的技术。但有趣的是,尽管微路径技术的不兼容的连接器设计注定了它在80年代后期PC机市场上的失败,但它后来却被用作PCI总线连接器规范,并获得了巨大的成功。
3) EISA
EISA表示增强的ISA,主要由康柏公司开发,但在几家PC公司获得了实现,以替代IBM的微路径技术。EISA允许在同一系统中既可安装ISA卡,也可安装E ISA卡,这两种卡型享有同样的总线结构。因为EISA技术要求与ISA卡相兼容,因而,其性能受到严重的限制。同时,微路径是与ISA的设计兼容而不是与卡兼容的,所以不能显示它比EISA优越。但由于EISA价格更便宜,且更广泛可用,因此,很快地占领市场。
由于PCI总线体系结构不仅能够提供更强的ISA向后兼容性,而且还具有更高的性能,所以,它的出现使EISA将逐渐地从市场上消失。
5.S-总线
S-总线是一种流行于Sun的产品的I/O总线,能提供比其他基于PC的总线更好的性能,包括PCI的早期实现。像PCI一样,Sun也对工业界开放了S-总线技术,随后形成的标准组接管了S-总线规范的开发。但S-总线绝对没有真正地达到事实标准所要求的规模,在这一点上它与PCI是不同的。PCI的性能最终赶上了S-总线,而且对于Sun来说,PCI实现起来更便宜。
6.VME
VME总线已经被用于基于MIPS的UNIX工作站和DEC公司的VAX系统。VME也成为了一种工业标准,而且广泛地运用于工业计算应用中,目前它在工业计算应用中也正在被PCI和C-PCI所代替。
7.I/O总线比较
表中给出了上述讨论的总线技术的简单的比较。PCI总线占有三列,它们分别表示:版本2.0,这是当前机器上安装的主要版本;版本2.1,这是1999年广泛实现的版本;c-PCI版本。
S-总线是一种流行于Sun的产品的I/O总线,能提供比其他基于PC的总线更好的性能,包括PCI的早期实现。像PCI一样,Sun也对工业界开放了S-总线技术,随后形成的标准组接管了S-总线规范的开发。但S-总线绝对没有真正地达到事实标准所要求的规模,在这一点上它与PCI是不同的。PCI的性能最终赶上了S-总线,而且对于Sun来说,PCI实现起来更便宜。
6.VME
VME总线已经被用于基于MIPS的UNIX工作站和DEC公司的VAX系统。VME也成为了一种工业标准,而且广泛地运用于工业计算应用中,目前它在工业计算应用中也正在被PCI和C-PCI所代替。
7.I/O总线比较
表中给出了上述讨论的总线技术的简单的比较。PCI总线占有三列,它们分别表示:版本2.0,这是当前机器上安装的主要版本;版本2.1,这是1999年广泛实现的版本;c-PCI版本。
8.未来的I/O总线
随着处理器性能的不断提高,提供给处理器数据的I/O总线速度也不得不随之增加。过去20年中所发生的正是这样,在可以预见的将来,情况可能仍然如此。1999年秋,出现了一种新的I/O总线规范标准SystemI/O(SIO),这个新的规范是由一个拥有众多成员的工业合作组织开发的。
SIO是一个技术“合并者”,它组合了两个有竞争力的I/O总线原型。其中之一称之为FutureI/O(FIO),由IBM、康柏和HP提出,另一个I/O总线称为NextGenerationI/O(NGIO),主要由Intel提出,Sun也对此给予了一定的支持。
1999年,尽管SIO的细节还没有确定,但可望实现FIO和NGIO中提出的同样类型的技术。结果将很可能对存储网络技术产生深远的影响,因为FIO和NGIO都被设计成串行I/O传输。可以期望,在没有主机I/O适配器的情况下,SIO能够提供连接存储设备和子系统到缆线,以及缆线直接连接到系统I/O总线的能力。
随着处理器性能的不断提高,提供给处理器数据的I/O总线速度也不得不随之增加。过去20年中所发生的正是这样,在可以预见的将来,情况可能仍然如此。1999年秋,出现了一种新的I/O总线规范标准SystemI/O(SIO),这个新的规范是由一个拥有众多成员的工业合作组织开发的。
SIO是一个技术“合并者”,它组合了两个有竞争力的I/O总线原型。其中之一称之为FutureI/O(FIO),由IBM、康柏和HP提出,另一个I/O总线称为NextGenerationI/O(NGIO),主要由Intel提出,Sun也对此给予了一定的支持。
1999年,尽管SIO的细节还没有确定,但可望实现FIO和NGIO中提出的同样类型的技术。结果将很可能对存储网络技术产生深远的影响,因为FIO和NGIO都被设计成串行I/O传输。可以期望,在没有主机I/O适配器的情况下,SIO能够提供连接存储设备和子系统到缆线,以及缆线直接连接到系统I/O总线的能力。