在数据离开系统内存总线后,它通常传输到另一条总线,即主机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版本。

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构件- 主机I/O总线的更多相关文章

  1. 物理机与虚拟机IP互ping通,而互ping主机名不通

    问题描述:虚拟机信息:VMware-workstation 10安装RHEL5.8操作系统.hostname:rhel201.com IP:192.168.1.201 物理机系统:windows 7主 ...

  2. 虚拟主机TOMCAT配置

    在tomcat中添加虚拟主机: 编辑"tomcat\conf\server.xml",在"<Engine></Engine>"元素中新加 ...

  3. Nginx虚拟主机配置--配置Nginx的主配置文件

    单台Nginx WEB服务器同时会配置N个网站,也可称之为配置N个虚拟域名的主机,即多个域名对应同一个80端 口. 每个虚拟主机可以是一个独立网站.可以具有独立域名,同一台物理机上面的虚拟主机相互之间 ...

  4. KVM主机迁移

    目录 新主机kvm初始环境的部署 I.检查主机cpu是否支持虚拟化 II.宿主机软件安装 III.检查kvm模块是否加载 IV.网桥的搭建 V.查看宿主机网络 迁移kvm主机数据 I.查看宿主机上现有 ...

  5. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  6. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  7. Alljoyn之管中窥豹

    Alljoyn之管中窥豹 一.历史: Alljoyn是高通2011年推出的近距离P2P通讯技术,它为分布式应用程序在不同设备中提供了运行环境,特别是移动性.安全性和动态配置,支持Microsoft W ...

  8. SDN与NFV技术在云数据中心的规模应用探讨

    Neo 2016-1-29 | 发表评论 编者按:以云数据中心为切入点,首先对SDN领域中的叠加网络.SDN控制器.VxLAN 3种重要技术特点进行了研究,接下来对NFV领域中的通用服务器性能.服务链 ...

  9. 模拟搭建Web项目的真实运行环境(一)

    序言 最近尝试完整搭建一个Web项目的运行环境,总结一下这几个月学到的知识点. 后面的文章主要包括一下几个内容: A. 搭建一个Linux服务器,用来部署Redis.Mongo等数据存储环境: B. ...

随机推荐

  1. Java:双括号初始化 /匿名内部类初始化法

    偶然见到一种初始化方式,感到十分新奇: //新建一个列表并赋初值A.B.C ArrayList<String> list = new ArrayList<String>() { ...

  2. MySQL的JOIN(五):JOIN优化实践之排序

    这篇博文讲述如何优化JOIN查询带有排序的情况.大致分为对连接属性排序和对非连接属性排序两种情况.插入测试数据. CREATE TABLE t1 ( id INT PRIMARY KEY AUTO_I ...

  3. python数据分析panda库

    panda内有两种数据结构,Series()和DataFrame() >>> a=pd.Series([1,2],index=['a','b']) >>> a a ...

  4. webservice05#soap消息

    1, SOAPMessage结构图 2, SOAP消息的创建 1>前面的一个简单WebService  服务 package com.yangw.soap.service; import jav ...

  5. 快速搞定用Vue+Webpack搭建前端项目(学习好久了,该写点东西了......)

    现在开始安装环境 一.安装node.js 首先要安装node.js,去nodejs官网下载即可,地址:http://nodejs.cn/中文网. 安装完成后,打开终端(windows键+R)搜索cmd ...

  6. PHP多进程编程pcntl_fork解

    其实PHP是支持并发的,只是平时很少使用而已.平时使用最多的应该是使用PHP-FMP调度php进程了吧. 但是,PHP的使用并不局限于做Web,我们完全也可以使用PHP来进行系统工具类的编程,做监控或 ...

  7. 远程无法访问linux Mysql解决方案

    在网上有很多关于这个的解决方案,我也采用了 写的比较详细的如: 1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更 ...

  8. NOIP2017SummerTraining0726

    三道比较简单的题,还以为是八校考试的题目,但是并不是,无语了,第三题其实看了挺久的,一看到图,就想到了二分图,网络流之类的算法,但是尽力往这个方向想了好久都没什么思路, 最后从简单入手,然而没什么结果 ...

  9. 跨平台移动端APP开发---简单高效的MUI框架

    MUI是dcloud(数字天堂)公司旗下的一款跨平台开发移动APP的框架产品,在学习MUI框架之前,最先接触了Hbuilder代码编辑器,它带给我的第一感觉是快,这是HBuilder的最大优势,通过完 ...

  10. python中strip函数的用法

    python中往往使用剥除函数strip()来对用户的输入进行清理.strip函数的最一般形式为: str.strip('序列') 其中,序列是一段字符串,该函数表示从头或者从尾部开始进行扫描,如果扫 ...