购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第五节
输入输出系统

现代计算机系统的外围设备种类繁多,各类设备都有着各自不同的组织结构和工作原理,与CPU的连接方式也各有所异。计算机系统的输入输出(I/O)系统有两个基本功能,一是为数据传输操作选择输入输出设备,二是在选定的输入输出设备和 CPU(或主存储器)之间交换数据。通常,计算机或输入输出设备厂商根据各种设备的输入输出要求,设计和生产了各种适配卡,然后通过插入主板上的扩展槽连接外部设备。本节主要介绍I/O接口和控制方式(中断、DMA、通道)、系统总线技术以及常用接口,包括串行端口、并行端口、加速图形端口、USB、IEEE1394等。

学习目标

●初步掌握程序输入输出控制方式,包括中断控制、DMA和通道方式;

●初步掌握系统总线技术;

●了解常用I/O接口标准,包括串行端口、并行端口、加速图形端口、USB、IEEE1394等;

●了解输入输出设备的类型和特征。

关键知识点

●CPU与外设之间交换数据的方式影响着计算机系统的性能。

输入输出原理

计算机的输入输出是由称为BIOS的系统程序控制的。该程序包含最基本的计算机指令,并永久驻留在ROM中。对于工作速度、方式和性质不同的外部设备,通常要采用不同的输入输出控制方式。常用的输入输出方式有以下3种:

●程序控制输入输出;

●中断输入输出;

●直接存储器访问(DMA)。

程序控制输入输出

程序控制输入输出又称应答输入输出、查询输入输出、条件驱动输入输出等。在这种控制方式下,输入输出完全由CPU控制。在整个I/O过程中CPU必须等待其完成,因而限制了其高速能力。不过,由于程序主动查询外设,完成主机与外设间的数据传送,所以该方式简单且硬件开销小。在这种方式下需要对I/O设备进行编码,其主要编码方式有如下两种:

●存储器映射——I/O设备和主存储器统一编址,使用相同的机器指令来访问内存和外设。在这种方式下,CPU根据地址的不同来区分访问的是外设还是存储器。

●独立编址——I/O设备和主存储器的地址空间相互独立,CPU使用专门的I/O指令来访问外设。

当需要查询外设时,常采用以下两种方式:

●串行点名——CPU依次查询所有的外设,不过每次只查询一台。

●并行查询——把各个外设的状态位集中起来,由CPU通过一个专用的端口来读取,每一次可以同时查询多台外设的状态。

程序中断输入输出

所谓中断,是指当出现来自系统外部、机器内部甚至处理机本身的任何例外时,CPU 暂停执行现行程序,转去处理这些事件,等处理完成后再返回来继续执行原先的程序。中断处理的一般过程如下:

●CPU收到中断请求信号后,如果CPU的中断允许触发器为1,则在当前指令执行完成后,响应中断;

●CPU保护好被中断的主程序的断点(即现场信息);

●CPU根据中断类型码从中断向量表中找到对应的中断服务程序的入口地址,并进入中断服务程序;

●中断服务程序执行完毕后,CPU返回中断点处继续执行刚才被中断的程序。

在I/O控制中引入中断,是为了克服程序控制方式中CPU低效等待的缺点。采用该方式,CPU 无须定期查询 I/O 系统的状态而处理其他事务。当 I/O 系统完成后,则以中断信号通知CPU。然后CPU保存正在执行程序的现场,如程序计数器(PC),接着转入I/O中断服务程序完成数据交换。在收到中断请求后停止正在执行的代码而保存现场的时间,称为“中断响应时间”;这个时间应该尽可能短。

当系统中有多个中断源时,常见的处理方法如下:

●多中断信号线法——为每个中断源“拉一根电话线”,以“专线专用”;

●中断软件查询法——CPU收到中断后转到中断服务程序,由该程序来确认中断源;

●雏菊链法——所有的I/O模块共享一条中断请求线,也称硬件查询法;

●总线仲裁法——一个I/O设备在发出中断请求前必须首先获得总线控制权,由总线仲裁机制来决定有权发出中断信号的设备;

●中断向量表法——中断向量表用来保存各个中断源的中断服务程序的入口地址,当外设发出中断后由中断控制器确定其中断号。

直接存储器访问(DMA)

中断方式虽然比程序控制方式更加有效,但由于中断由软件来完成,因此难以满足高速传输的要求。DMA 方式在外部设备与主存储器之间建立直接数据通路,使用 DMA 控制器(DMAC)来控制和管理数据传送,DMAC 与 CPU 共享系统总线并具有独立访问存储器的能力。DMA方式主要用来连接高速外部设备,如磁盘和磁带存储器等。

在执行DMA时,CPU放弃对系统总线的控制,改由DMAC控制总线,由其提供存储器地址及必需的读写控制信号,实现外设与存储器的数据交换。实现DMA的基本步骤如下:

●向CPU申请DMA传送;

●获得CPU允许后DMA控制器接管系统总线的控制权;

●存储器和外设之间在DMA控制器的控制下传送数据,在传送过程中无须CPU参与,只是在开始时需要提供传送数据的长度和起始地址;

●传送结束后向CPU返回DMA操作完成信号。

DMAC获取系统总线的控制权,可以采用暂停方式(CPU交出控制权,直到DMA操作结束)、周期窃取方式(在CPU空闲而暂时放弃总线时插入一个DMA周期)以及共享方式(在CPU不使用系统总线时由DMAC来完成DMA传输)。

扩展槽和适配卡(网卡)

计算机系统有独立体系结构和开放体系结构两种。独立体系结构是指制造商生产的机器不允许用户进行扩展,即用户不能通过简单的方式增加新设备。而开放体系结构允许用户通过系统主板上提供的扩展槽增加新设备。其方法是将适配卡插入到系统主板扩展槽上,然后通过适配卡的端口和连接电缆连接适配卡和新的外部设备。

适配卡又称扩展卡、控制卡或者接口卡。常用的适配卡有如下几种:

●网络适配卡;

●小型计算机接口卡;

●TV调谐卡;

●PC卡;

●其他适配卡,如CD-ROM卡、Modem卡、声卡等。

在网络环境下,网络适配卡(NIC,也称为网络适配器、网络接口卡)是非常重要的一种适配卡,它是将PC或工作站物理连接到网络的硬件部件。NIC插入到主板I/O总线上的一个扩展插槽内。NIC提供了物理上的连网电缆与用于实现连网协议的软件之间的接口。网络接口卡负责向网络发送和接收信息。图1.14所示给出了NIC连接到网络的示意图。

图1.14 NIC连接到网络的示意图

通过NIC传送数据的速率取决于多种因素:I/O总线带宽、处理器速度、NIC本身的设计和其部件的质量、计算机所使用的操作系统以及网络类型等。

不同的网络,不同的NIC

每种 NIC 都是根据特定类型的传输介质(线缆、无线电信号或光纤)和网络传输方法来设计的。这样,计算机为了在铜线网络上传输电信号需要的是一种NIC,而在光纤系统上传输光脉冲则需要另一种NIC。

在铜线网络上,NIC根据数据比特流改变线路的幅度电平;在光纤网络上,NIC将输出比特流转换为光脉冲;在无线网络上,NIC通过改变无线电波传输比特流。对于以上每一种情况,NIC接收随幅度、光脉冲或无线电波等而改变的输入信号,并将这些信号转换成计算机能处理的电信号形式。

不管网络使用何种物理介质,NIC的主要工作是产生和接收信号(二进制1和0)。这些信号必须精确定时,所以发射和接收定时电路必须协调一致。

每块NIC的ID是唯一的

每块NIC都含有工厂制造的唯一的ID号。计算机制造商的核心组织协调这些ID号的分配,以确保每一ID号在世界任何地方只被一块NIC所使用。这样,NIC也唯一地标识了含有它的设备。

每个网络结点(计算机、打印机或其他设备)与其他结点直接通信时必须有一NIC。如果没有 NIC,打印机之类的设备可以通过带有 NIC 的计算机间接地连接到网络,然后将该计算机设置为其他网络结点可以“共享”的资源。这样,所有到打印机的业务必须先经过该计算机,而不是直接到打印机。

NIC就像电话机。一个设备要与其他结点直接“通话”,就必须具备通信设施。如果该设备缺少这样的通信设施,有时可以从其他设备处借用,就像有电话机的人可以与没有电话机的人共享电话机一样。

系统总线

计算机的输入输出(I/O)是通过总线来完成的。总线是CPU与外部设备之间传输信息的一组信号线,也是CPU与外部硬件接口的核心。

总线的分类

一般PC系统的总线分为以下几种:

●芯片内总线——CPU内部各功能单元的连接线,延伸到CPU外部,又称CPU总线。

●片总线——PC主板上以CPU为核心与各部件之间的直接连接线。

●内总线——计算机各组成部分(CPU、内存和外设接口)间的连接线,又称系统总线。系统总线按信号功能可分为数据总线、地址总线和控制总线。

●外总线——PC与相应的外设或PC间通信的数据线,又称I/O总线或通信总线。它是计算机对外的接口。

在上述几种总线中,CPU 总线和片总线在系统主板上;由于不同的计算机系统所采用的芯片组不同,所以这些总线也不完全相同,相互间没有互换性。而系统总线则不同,它是与输入输出扩展槽相连接的,扩展槽中可以插入各种各样的适配卡与外部设备连接;因此,要求系统总线必须有统一的标准,以便按照这些标准来设计各类适配卡。

仅就台式机而言,总线通常指内总线。通过内总线可以把计算机的内部元件和 CPU、内存连接起来,而扩展插槽将各种扩展卡(如内部调制解调器或网络接口卡)连接到外总线(I/O总线),如图1.15所示。

图1.15 计算机I/O总线

常见的内总线基本类型有:

●ISA总线——数据线16位,地址线24位。

●EISA总线——ISA总线的扩展,现用在服务器上。其数据线为32位,与ISA总线兼容。

●PCI总线——目前微型机上广泛采用的内总线。PCI总线的工作与处理机的工作是并行的,该总线上的设备可即插即用。

常见的外总线基本类型有:

●串行总线——一次只能传输一位数据。RS-232就是一种国际通用的串行通信接口标准。

●并行总线——其大小(即宽度)是很重要的,因为总线宽度决定了一次能传送多少数据。例如,32位总线一次可传送32位数据,而64位总线一次可传送64位数据。SCSI就是一条并行外部总线标准,广泛用于连接软/硬磁盘、光盘、扫描仪等。

总线的性能指标

总线的性能指标主要包括总线宽度、总线工作频率和单个数据传输周期。

●总线宽度——一次可以传输数据的位数,例如ISA为16位,PCI-2可达64位。总线宽度不会超过CPU外部数据总线的宽度。

●总线工作频率——总线信号中有一个CLK时钟信号,CLK越高每秒所传输的数据量越大。例如,EISA为8 MHz,PCI为33.3 MHz。

●单个数据传输周期——不同的传输方式,每个数据传输所用CLK周期数不同。例如,ISA要2个周期,PCI用1个周期。这决定了总线最高数据传输率。

简单地说,每根总线都有一个用MHz标度的时钟速率。总线速率越高,允许数据传送的速度就越快,从而使得应用系统就运行得越快。在PC上,16位ISA总线已被32位PCI总线所代替,64位PCI总线也已广泛应用。当今的PC都有一个局部总线,用来传送要求高速传送的数据,如视频数据。局部总线是直接连接到处理器的高速通道。表 1.10 是一些常见的总线技术及其相关的性能。

表1.10 常见的总线技术及其相关性能

带宽是指总线每秒可承载的最大比特数,具体是这样计算得到的:将总线宽度乘以总线时钟速率,再将乘积除以一个字符中的比特数目(8),得到的结果用MB/s表示。例如,PCI总线的带宽是32 bit×33 MHz=1 056 Mb/s,把结果除以8 bit,得到的总线带宽就是132 MB/s。

注意: 以上给出的是瞬时的数据突发传输速率,平均带宽值要低得多。

端口与连接电缆

CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。其中硬件领域的端口又称接口,如并行端口、串行端口等。

●串行端口——主要用于串列式逐位元数据传输,也称串列埠、序列埠、串口。常见的串行端口有一般计算机采用的RS-232(使用25针或9针连接器),工业电脑采用的半双工RS-485和全双工RS-422。

●并行端口——又称平行埠、并列埠、并口,是计算机上的数据以并行方式传递的端口,也就是说至少应该有两条连接线用于传递数据。与只使用一根线传递数据(这里没有包括用于接地、控制等的连接线)的串行端口相比,并行端口在相同的数据传送速率下,可以更快地传输数据。所以在 21 世纪之前,在需要较大传输速度的地方(如打印机),并口得到广泛使用。但是随着速度迅速提高,并口上导线之间数据同步成为一个很难处理的难题,导致并口在速度竞赛中逐渐被淘汰。目前 USB 等改进的串口逐渐代替了并口。

●加速图形端口(AGP)——一种用于主机板上的全新图形插槽,其最大功能是支持高速图像和其他视频输入。这是一种新的接口标准,在物理结构上与PCI有显著区别,它是专为图形控制器设计的。

●通用串行总线(USB)接口——一种连接外部设备的串口总线标准,是串行和并行口的最新替代技术。USB接口已在计算机上广泛使用,但也可以用在机顶盒和游戏机上,其补充标准(On-The-Go)使其能够在便携设备之间直接交换数据。

●IEEE1394总线——IEEE制定的一项具有视频数据传输速率的串行接口标准,又称火线口(FireWire)。IEEE1394标准定义了两种总线模式,即Backplane模式和Cable模式。其中Backplane模式支持12.5 Mb/s、25 Mb/s、50 Mb/s的传输速率,Cable模式支持100 Mb/s、200 Mb/s、400 Mb/s的传输速率。火线口是一种最新的连接技术,用于连接高速打印机、数字相机、DVD 播放机等到系统单元,可以实现即插即用式操作,而且其速度比USB更快。

练习

1.在输入输出控制方法中,采用()可以使得设备与主存间的数据块传送无须CPU干预。

a.程序控制输入输出 b.中断 c.DMA d.总线控制

【解答提示】 DMA 技术通过硬件控制将数据块在内存和输入输出设备间直接传送,不需要CPU的任何干涉,只需CPU在过程开始启动时和过程结束时处理,实际操作由DMA硬件直接执行完成,CPU在传送过程中可做别的事情。参考答案是选项c。

2.关于在I/O设备与主机间交换数据的叙述,()是错误的。

a.中断方式下,CPU需要执行程序来实现数据传送任务

b.中断方式和DMA方式下,CPU与I/O设备均可同步工作

c.中断方式和DMA方式下,快速I/O设备更适合采用中断方式传递数据

d.若同时接到DMA请求和中断请求,CPU优先响应DMA请求

【解答提示】 中断控制方式下仍需要用较多的CPU时间处理中断,而且能够并行操作的设备台数也受到中断处理时间的限制。中断次数增多导致数据丢失,因此相当快速的I/O设备更适合采用CPU干预较少的DMA方式传递数据。参考答案是选项c。

3.处理机主要由处理器、存储器和总线组成。总线包括()。

a.数据总线、地址总线、控制总线 b.并行总线、串行总线、逻辑总线

c.单工总线、双工总线、外部总线 d.逻辑总线、物理总线、内部总线

【解答提示】 计算机系统中的总线通常可分为4类:芯片内总线,用于在集成电路芯片内部各部分的连接;片总线(也称元件级总线),用于连接一块电路板内的各元器件;内总线(又称“系统总线”),用于构成计算机系统中组成部分的连接;外总线(又称“通信总线”),用计算机与外设或计算机与计算机的连接或通信。连接处理机的处理器、存储器及其他部件的总线属于上述系统总线;而总线上所传送的内容通常是数据和地址以及控制信号,因此分别对应为数据总线、地址总线和控制总线。参考答案是选项a。

4.设计用来满足视频需求的总线是()。

a.EISA b.ISA c.PCI d.PCMCIA

5.什么是计算机的输入输出系统?

6.什么是I/O接口?I/O接口有哪些特点、功能和类型?

7.并行接口和串行接口实质上的区别是什么?各有什么特点?

8.什么是中断?外部设备如何才能产生中断?

9.程序控制方式、中断方式和DMA方式的各自适用范围是什么?

补充练习

1.利用网络检索工具,如网站搜索引擎,查找输入输出系统有哪些新的控制方式。

2.利用Web搜索工具查找适配卡的最新产品。概述所找到的新产品的性能和技术参数。 Sqxq5Ti/uqsARxDBCsPnIxSnrmEnhHJOn7+i3LzGZmphH3WiIjdFAj9DwtKBgUNk

点击中间区域
呼出菜单
上一章
目录
下一章
×