第5章 输入输出系统
一、概述
(一)输入输出系统的发展概况
1.早期阶段
早期的I/O设备种类较少,I/O设备与主存交换信息都必须通过CPU,如图5-1所示。
图5-1 I/O设备通过CPU与主存交换信息
2.接口模块和DMA阶段
这个阶段I/O设备通过接口模块与主机连接,计算机系统采用了总线结构,如图5-2所示。
图5-2 I/O设备通过接口与主机交换信息
3.具有通道结构的阶段
大中型计算机系统中,采用I/O通道的方式来进行数据交换。如图5-3所示。
图5-3 I/O设备通过通道与主机交换信息
4.具有I/O处理机的阶段
I/O处理机又称为外围处理机,它基本独立于主机工作,既可完成I/O通道要完成的I/O控制,又可完成码制变换、格式处理、数据块检错、纠错等操作。
(二)输入输出系统的组成
输入输出系统由I/O软件和I/O硬件两部分组成。
1.I/O软件
(1)I/O指令
图5-4示意了I/O指令的一般格式。
图5-4 I/O指令的一般格式
(2)通道指令
通道指令又称为通道控制字(Channel Control Word,CCW),它是通道用于执行I/O操作的指令,可以由管理程序存放在主存的任何地方,由通道从主存中取出并执行。
2.I/O硬件
一般包括接口模块及I/O设备两大部分。
(三)I/O设备与主机的联系方式
1.I/O设备编址方式
I/O地址码的编址可采用两种方式:统一编址或不统一编址。
(1)统一编址就是将I/O地址看做是存储器地址的一部分;
(2)不统一编址就是指I/O地址和存储器地址是分开的,所有对I/O设备的访问必须有专用的I/O指令。
2.设备寻址
3.传送方式
(1)并行传送:传送速度较快,要求数据线多;
(2)串行传送:传送速度较慢,只需一根数据线和一根地址线。
4.联络方式
(1)立即响应方式;
(2)异步工作采用应答信号联络;
(3)同步工作采用同步时标联络。
5.I/O设备与主机的连接方式
辐射式和总线式,图5-5和图5-2分别表示了这两种方式。
图5-5 辐射式连接示意图
(四)I/O设备与主机信息传送的控制方式
1.程序查询方式;
2.程序中断方式;
3.DMA方式。
二、I/O设备
(一)概述
I/O设备的组成通常可用图5-6点画线框内的结构来描述。
图5-6 I/O设备的结构框图
I/O设备大致可分为三类。
1.人机交互设备;
2.计算机信息的存储设备;
3.机-机通信设备。
(二)输入设备
输入设备完成输入程序、数据和操作命令等功能。
1.键盘;
2.鼠标;
3.触摸屏;
4.其他输入设备。
(三)输出设备
1.显示设备
(1)概述
以可见光的形式传递和处理信息的设备称为显示设备。
(2)字符显示器
字符显示器是计算机系统中最基本的输出设备,它通常由CRT控制器和显示器(CRT)组成。
(3)图形显示器
图形显示器是用点、线(直线和曲线)、面(平面和曲面)组合成平面或立体图形的显示设备。
(4)图像显示器
图形显示器所显示的图形是由计算机用一定的算法形成的点、线、面、阴影等,来自主观世界,故又称为主观图像或计算机图像。
(5)IBM PC系列微型计算机的显示标准
IBM PC系列微型计算机配套的显示系统有两大类。一类是基本显示系统,用于字符/图形显示;另一类是专用显示系统,用于高分辨率图形或图像显示。
2.打印设备
(1)打印设备的分类
①按打印原理划分,有击打式和非击打式两大类;
②按工作方式分,有串行打印机和行式打印机两种;
③按打印纸的宽度还可分宽行打印机和窄行打印机。
(2)常见打印机:
①点阵针式打印机;
②激光打印机;
③喷墨打印机。
(5)几种打印机的比较
①要求印字质量高的场合可选用激光打印机;
②要求价格便宜的或只需具有文字处理功能的个人计算机,可配置串行点阵针式打印机;
③要求处理的信息量很大,速度又要快,应该配行式打印机或高速激光打印机。
(四)其他l/O设备
1.终端设备
2.A/D与D/A转换器
(1)汉字的输入
汉字编码方法主要有三类:①数字编码;②拼音编码;③字形编码。
(2)汉字的存储
汉字的存储包括汉字内码存储和字形码的存储。
(3)汉字的输出
汉字输出有打印输出和显示输出两种形式。
(五)多媒体技术
1.多媒体的定义
多媒体一词的核心词是媒体。所谓媒体,是指信息传递和存储的最基本的技术和手段。
2.多媒体计算机的关键技术
(1)视频和音频数据的压缩与解压缩技术;
(2)多媒体专用芯片;
(3)大容量存储器;
(4)适用于多媒体技术的软件。
三、I/O接口
(一)概述
I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。
(二)接口的功能和组成
1.总线连接方式的I/O接口电路,如图5-7所示。
图5-7 I/O总线和接口部件
(1)数据线
数据线是I/O设备与主机之间数据代码的传送线。
(2)设备选择线
设备选择线是用来传送设备码的,它的根数取决于I/O指令中设备码的位数。
(3)命令线
命令线主要用以传输CPU向设备发出的各种命令信号,如启动、清除、屏蔽、读、写等。
(4)状态线
状态线是将I/O设备的状态向主机报告的信号线。
2.接口的功能和组成
(1)选址功能;
(2)传送命令的功能;
(3)传送数据的功能;
(4)反映I/O设备工作状态的功能。
(三)接口类型
1.按数据传送方式分类,有并行接口和串行接口两类;
2.按功能选择的灵活性分类,有可编程接口和不可编程接口两种;
3.按通用性分类有通用接口和专用接口;
4.按数据传送的控制方式分类,有程序型接口和DMA型接口。
四、程序查询方式
(一)程序查询流程
程序查询方式的核心问题在于每时每刻需不断查询I/O设备是否准备就绪。图5-8是单个I/O设备的查询流程。
图5-8 单个I/O设备的查询流程。
(二)程序查询方式的接口电路
程序查询方式接口电路的基本组成,如图5-9所示。
图5-9 程序查询方式接口电路(输入)的基本组成
以输入设备为例,该接口的工作过程如下:
1.当CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路;
2.若该接口的设备码与地址线上的代码吻合,其输出SEL有效;
3.I/O指令的启动命令经过“与非”门将工作触发器B置“1”,将完成触发器D置“0”;
4.由B触发器启动设备工作;
5.输入设备将数据送至数据缓冲寄存器;
6.由设备发设备工作结束信号,将D置“l”,B置“0”,表示外设准备就绪;
7.D触发器以“准备就绪”状态通知CPU,表示“数据缓冲满”;
8.CPU执行输入指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元。
五、程序中断方式
(一)中断的概念
计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序,这就是中断。
(二)I/O中断的产生
在I/O设备与主机交换信息时,由于设备本身机电特性的影响,其工作速度较低,与CPU无法匹配,因此,CPU启动设备后,往往需要等待一段时间才能实现主机与I/O设备之间的信息交换。如果在设备准备的同时,CPU不作无谓的等待,而继续执行现行程序,只有当I/O设备准备就绪向CPU提出请求后,再暂时中断CPU现行程序转入I/O服务程序,这便产生了I/O中断。
(三)程序中断方式的接口电路
1.中断请求触发器和中断屏蔽触发器
每台外部设备都必须配置一个中断请求触发器INTR,当其为“1”时,表示该设备向CPU提出中断请求。但是设备欲提出中断请求时,其设备本身必须准备就绪,即接口内的完成触发器D的状态必须为“1”。
2.排队器
设备优先权的处理可以采用硬件方法,也可采用软件方法。硬件排队器的实现方法很多,既可在CPU内部设置一个统一的排队器,对所有中断源进行排队,也可在接口电路内分别设置各个设备的排队器。图5-10所示是设在各个接口电路中的排队器电路,又称为链式排队器。
图5-10 链式排队器
3.中断向量地址形成部件(设备编码器)
中断向量地址形成部件的输入是来自排队器的输出INTP1,INTP2,…,INTPn,它的输出是中断向量(二进制代码表示),其位数与计算机可以处理中断源的个数有关,即一个中断源对应一个向量地址。
图5-11 中断向量地址形成部件框图
4.程序中断方式接口电路的基本组成
程序中断方式接口电路的基本组成如图5-12所示。
图5-12 程序中断方式接口电路的基本组成
(四)中断服务程序的流程
1.保护现场
保护现场有两个含义,其一是保存程序的断点;其二是保存通用寄存器和状态寄存器的内容。
2.中断服务(设备服务)
这是中断服务程序的主体部分,对于不同的中断请求源,其中断服务操作内容是不同的。
3.恢复现场
这是中断服务程序的结尾部分,要求在退出服务程序前,将原程序中断时的“现场”恢复到原来的寄存器中。
4.中断返回
中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。
六、DMA方式
(一)DMA方式的特点
图5-13示意了DMA方式与程序中断方式的数据通路。
图5-13 DMA和程序中断两种方式的数据通路
为了有效地分时使用主存,通常DMA与主存交换数据时采用如下三种方法:
1.停止CPU访问主存;
2.周期挪用(或周期窃取);
3.DMA与CPU交替访问。
图5-14 DMA的三种传送方式
(二)DMA接口的功能和组成
1.DMA接口的功能
利用DMA方式传送数据时,数据的传输过程完全由DMA接口电路控制,故DMA接口又有 DMA控制器之称。DMA接口应具有如下几个功能。
(1)向CPU申请DMA传送;
(2)在CPU允许DMA工作时,处理总线控制权的转交,避免因进入DMA工作而影响CPU正常活动或引起总线竞争;
(3)在DMA期间管理系统总线,控制数据传送;
(4)确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和数据长度;
(5)在数据块传送结束时,给出DMA操作完成的信号。
2.DMA接口基本组成
最简单的DMA接口组成原理如图5-15所示,它由以下几个逻辑部件组成:
图5-15 简单的DMA接口组成原理图
(1)主存地址寄存器(AR);
(2)字计数器(WC);
(3)数据缓冲寄存器(BR);
(4)DMA控制逻辑;
(5)中断机构;
(6)设备地址寄存器(DAR)。
(三)DMA的工作过程
1.DMA传送过程
DMA的数据传送过程分为预处理、数据传送和后处理3个阶段。
(1)预处理
在DMA接口开始工作之前,CPU必须给它预置如下信息:
①给DMA控制逻辑指明数据传送方向是输入(写主存)还是输出(读主存);
②向DMA设备地址寄存器送入设备号,并启动设备;
③向DMA主存地址寄存器送入交换数据的主存起始地址;
④对字计数器赋予交换数据的个数。
(2)数据传送
DMA方式是以数据块为单位传送的,以周期挪用的DMA方式为例,其数据传送的流程如图5-16(b)所示。
图5-16 DMA传送过程示意图
以数据输入为例,具体操作如下:
①当设备准备好一个字时,发出选通信号,将该字读到DMA的数据缓冲寄存器(DR)中.表示数据缓冲寄存器“满”(如果I/O设备是面向字符的,则一次读入一个字节,组装成一个字);
②与此同时设备向DMA接口发请求(DREQ);
③DMA接口向CPU申请总线控制权(HRQ);
④CPU发回HLDA信号,表示允许将总线控制权交给DMA接口;
⑤将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器写;
⑥通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备;
⑦将DMA数据缓冲寄存器的内容送数据总线;
⑧主存将数据总线上的信息写至地址总线指定的存储单元中;
⑨修改主存地址和字计数值;
⑩判断数据块是否传送结束,若未结束,则继续传送;若已结束,(字计数器溢出)则向CPU申请程序中断,标志数据块传送结束。
若为输出数据,则应完成以下操作:
①当DMA数据缓冲寄存器已将输出数据送至I/O设备后,表示数据缓冲寄存器已“空”;
②设备向DMA接口发请求(DREQ);
③DMA接口向CPU申请总线控制权(HRQ);
④CPU发回HLDA信号,表示允许将总线控制权交给DMA接口使用;
⑤将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器读。
⑥通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备。
⑦主存将相应地址单元的内容通过数据总线读入到DMA的数据缓冲寄存器中。
⑧将DMA数据缓冲寄存器的内容送到输出设备,若为字符设备,则需将其拆成字符输出。
⑨修改主存地址和字计数值。
⑩判断数据块是否已传送完毕,若未完毕,继续传送;若已传送完毕,则向CPU申请程序中断。
(3)后处理
当DMA的中断请求得到响应后,CPU停止原程序的执行,转去执行中断服务程序,做一些DMA的结束工作,如图5-16(a)的后处理部分。
2.DMA接口与系统的连接方式
DMA接口与系统的连接方式有两种,如图5-17所示。
图5-17 DMA接口与系统的连接方式
图5-17(a)为具有公共请求线的DMA请求方式,若干个DMA接口通过一条公用的DMA请求线向CPU申请总线控制权。CPU发出响应信号,用链式查询方式通过DMA接口,首先选中的设备获得总线控制权,即可占用总线与主存传送信息。
图5-17(b)是独立的DMA请求方式,每一个DMA接口各有一对独立的DMA请求线和 DMA响应线,它由CPU的优先级判别机构裁决首先响应哪个请求,并在响应线上发出响应信号,获得响应信号的DMA接口便可控制总线与主存传送数据。
3.DMA小结
与程序中断方式相比,DMA方式有如下特点。
(1)从数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送。
(2)从CPU响应时间看,程序中断方式是在一条指令执行结束时响应,而DMA方式可在指令周期内的任一存取周期结束时响应。
(3)程序中断方式有处理异常事件的能力,DMA方式没有这种能力,主要用于大批数据的传送,如硬盘存取、图像处理、高速数据采集系统等,可提高数据吞吐量。
(4)程序中断方式需要中断现行程序,故需保护现场;DMA方式不中断现行程序,无须保护现场。
(5)DMA的优先级比程序中断的优先级高。
(四)DMA接口的类型
现代集成电路制造技术已将DMA接口制成芯片,通常有选择型和多路型两类。
1.选择型DMA接口
它的主要特点是在物理上可连接多个设备,在逻辑上只允许连接一个设备,即在某一段时间内,DMA接口只能为一个设备服务,关键是在预处理时将所选设备的设备号送入设备地址寄存器。图5-18是选择型DMA接口的逻辑框图。选择型DMA接口特别适用于数据传输率很高的设备。
图5-18 选择型DMA接口的逻辑框图
2.多路型DMA接口
多路型DMA接口不仅在物理上可以连接多个设备,而且在逻辑上也允许多个设备同时工作,各个设备采用字节交叉的方式通过DMA接口进行数据传送。在多路型DMA接口中,为每个与它连接的设备都设置了一套寄存器,分别存放各自的传送参数。图5-19(a)和(b)分别是链式多路型DMA接口和独立请求多路型DMA接口的逻辑框图。这类接口特别适合于同时为多个数据传输率不十分高的设备服务。
图5-19 多路型DMA接口的逻辑框图