I/O总线

I/O总线

目录导航

常见类型

ISA(Industry Standard Architecture)工业标准体系结构总线.

EISA(Extension Industry Standard Architecture)扩展标准体系结构总线.

MCA(Micro Channel)微通道总线.

此外,为了解决CPU与高速外设之间传输速度慢的"瓶颈"问题,出现了两种局部总线,它们是:

VESA(Video Electronic Standards Association)视频电子标准协会局部总线,简称VL总线.

PCI(Peripheral Component Interconnect)外围部件互连局部总线,简称PCI总线. 486级的主板多采用VL总线,而奔腾主板多采用PCI总线。 继PCI之后又开发了更外围的接口总线,它们是:USB(Universal Serial Bus)通用串行总线。IEEE1394(美国电气及电子工程师协会1394标准)俗称"火线(Fire Ware)"。

总线方式

用来传输数据的总线线路可以分为三个类型:数据线、地址线和控制线。其中控制信号一般包括:同步时序信号或应答信号、数据传送控制信号(如地址有效、读写控制、M/IO选择)、中断请求及响应信号、DMA请求及响应信号等。控制信号说明是否执行读或写操作。通常,使用单根线来传送控制信号,当它被置1时表示进行读操作,被置0时表示进行写操作。在允许传输不同长度的操作数时,如字节、字或长字,数据的长度也被显示出来。[1]

总线控制信号还要传送时序信息。这些信息详细说明何时处理器和I/O设备可以将数据放到总线上或从总线上接收数据。有多种传输数据的方式,大致可以将他们分为同步和异步两种方式。[2]

标准接口

计算机总线有多种可选择的设计,这种多样性意味着配备着有这种接口电路的I/O设备适用于一台计算机不一定就适用与另外一台计算机。因此,每一种I/O设备与计算机的连接可能都需要设计一种不同的接口,这样就会产生很多不同的接口。最符合实际的解决方法就是开发出标准的接口信号和协议。

总线结构与处理器结构密切相关,而且还依赖于处理器芯片的电气特性,所以不可能为处理器总线定义一个统一标准。但拓展总线就没有这些限制了,因此可以使用标准的信号方式。事实上,已经有I/O总线的标准被制定出来了。其中有些是默认的,当特定的设计在商业上取得成功时,这些设计就成为了事实上的标准。例如,IBM为它的个人计算机PC AT开发的总线ISA(工业标准体系结构),由于这种计算机的流行导致其他制造商为他们的I/O设备生产出与ISA兼容的接口,这样ISA就成为了事实上的标准。

还有一些标准是行业共同协作开发的,由于在兼容产品上的共同切身利益,即使那些互相竞争的公司也参与了标准的开发。IEEE(电气和电子工程师协会)、ANSI(美国国家标准学会)等组织寄一些国际组织如ISO(国际标准化组织)已经承认了这些标准,并授予他们官方的地位。

一台计算机使用的标准可能不止一个,如典型的Pentium计算机有PCI和ISA两种总线以提供大范围的设备给用户选择。

下面来简单介绍三种广泛使用的标准。

PCI

(外围部件互连)

PCI标准定义了主板上的一种拓展I/O总线。它支持处理器总线的功能,但又以一种标准的形式独立于任何的处理器。连接到PCI总线的设备在处理器看来就好像是他们是直接连接到处理器总线上的一样。它们在处理器的存储器地址空间内分配地址。

PCI是一种廉价且真正独立于处理器的总线。它的设计预见了为支持高速磁盘、图形和视频设备而引起的对总线带宽需求的快速增长,也预见了对多处理器系统专业化需求的快速增长。PCI总线自1992年首次被推出,作为一个工业标准一直非常流行。

PCI总线首创的一个重要特性是I/O设备的即插即用。要连接一台新的设备,用户只需将设备接口板连接到总线上即可,其余操作由软件来完成。

SCSI

(小型计算机系统接口)

SCSI标准用来连接机箱内外的附加设备。SCSI总线是高速并行总线,用于像硬盘和视频显示器之类的设备。

SCSI总线标准经历了多次修改,它的数据传输能力增长的非常快,几乎每两年就会翻一倍。连接到SCSI总线的设备不属于处理器的地址空间,这与连接到处理器总线的设备是一样的。SCSI总线通过SCSI控制器连接到处理器总线上。这个控制器采用DMA方式在主存和设备之间传送数据包。数据包可能是一个数据块,也可以是处理发送给设备的命令或设备的状态信息。

USB

(通用串行总线)

USB标准也是用来连接机箱内外的附加设备的,使用串行传输,适合键盘,游戏控制器和Internet连接等设备的需求。

USB的设计达到如下几个主要目标:

提供一个简单、廉价、使用方便的互联系统,克服由于计算机只能提供有限数量的I/O端口带来的困难。

能够满足I/O设备的多种数据传送特性,包括电话和Internet连接器。

采用“即插即用”的操作模式,使用户操作更加方便。[2]

IO方式

(数据传输方式)

通常,输入输出的基本控制方式(简称为I/O方式)有以下几种:程序查询方式、程序中断方式、直接存储器访问(direct memory access,DMA)方式和通道方式。[1]

程序查询方式

CPU直接通过I/O指令对I/O接口进行操作访问,主机与外部设备交换信息的每一过程均在程序中表示出来。如果接口尚未准备好,CPU就等待,如果已经做好准备,CPU才能运行I/O指令。

CPU在读I/O数据时,首先读取状态寄存器中的标志,以判断I/O数据是否准备好。如果还没准备好,则CPU要继续查询状态;如果当标志指出数据已经准备就绪,则CPU读取I/O数据寄存器的内容。

CPU在写数据时也采用类似的办法。CPU首先读取I/O状态寄存器中的标志,以判断I/O寄存器是否空闲。如果不空闲(还没准备好),则CPU要一直查询I/O状态;当标志指出输出寄存器已经准备空闲,CPU写数据到输出寄存器。

程序中断方式

CPU首先对I/O接口及一个中断控制器进行初始化,然后去运行CPU自己的程序(用户程序)。当I/O设备准备好时,由中断控制器向CPU发出中断请求。CPU在收到中断请求后,若能响应中断,则暂时停止当前正在运行的程序,转去运行中断服务程序,然后再返回被中断的程序继续运行。显然,程序中断方式省去了程序查询方式下的I/O状态查询时间,因此提高了效率。

DMA方式

在主存与I/O设备之间直接传输数据,传输过程中并不需要CPU干预,而是由一个称为DMA控制器(DMAC,direct memory access controller)的硬件控制器来实现的。这种由硬件来直接实现I/O数据传输的方法被称为直接存储器访问方式。

CPU要做的事情就是对DMAC进行初始化,初始化的工作包括I/O数据在主存中的地址,每次传输的字节数,以及数据的传输方向等。

DMA在存储器和I/O设备之间建立数据通路,让I/O设备和内存通过该数据通路直接交换数据,不经过CPU的干预,实现内存与外设之间的快速数据传送。减少CPU等待时间。[3]

通道方式

通道是一个专用控制器,它通过运行通道程序来进行I/O操作的管理,为主机和I/O设备提供一种数据传输通道。CPU先给通道准备好数据和命令,然后发送简单的通道命令,启动通道开始工作。若启动成功,则CPU可以继续运行自己的运算处理。而通道则运行相应的通道程序,管理有关的I/O设备,当运行完指定的任务后,再通知CPU。这就使CPU摆脱了大量的I/O管理工作,可以高速的处理其他数据。[1]

相关百科
返回顶部
产品求购 求购