第六章输入输出控制第一讲

第六章输入输出控制第一讲
第六章输入输出控制第一讲

第六章 输入输出控制

第一讲

回顾:微机系统的层次结构,CPU、主机、接口电路及外部设备之间的结构关联,输入/输出的一般概念。

本讲重点:微机系统主机与外部设备之间的数据传送,包括I/O端口的寻址方式,输入/输出的传送控制方式。

讲授内容:

6.1输入/输出数据的传输控制方式

CPU与外设之间传输数据的控制方式通常有三种:程序方式、中断方式和DMA 方式。

一.程序方式

指用输入/输出指令,来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。

①无条件传送方式

条件:利用程序来控制与外设交换信息时,如果可以确信外设总是处于“准备好”的状态,不需用任何状态查询,就可以直接利用输入/输出指令进行信息的输入/输出操作。

如图6-1,从硬件电路上来看:

输入:加三态缓冲器(控制端由地址译码信号和RD信号选中,CPU用IN指令)输出:加锁存器(控制端由地址译码信号和WR信号选中,CPU用OUT指令)

这种方式下的硬、软件设计都比较简单,但应用的局限性较大,因为很难保证外设在每次信息传送时都处于“准备好”状态,一般只用在一些简单外设的操作上,如开关控制,七段数码管的显示控制等。

图6-1

②条件传送方式(亦称为查询方式)

又称查询方式,即通过程序查询相应设备的状态,若状态不符合,则CPU不能进行输入/输出操作,需要等待;只有当状态信号符合要求时,CPU才能进行相应的输入/输出操作。

一般外设均可以提供一些反映其状态的信号,如对输入设备来说,它能够提供“准备好”(“READY”)信号,“READY”=1表示输入数据已准备好。输出设备则提供“忙”(“BUSY”)信号,“BUSY”=1表示当前时刻不能接收CPU来的数据,只有当“BUSY”=0时,才表明它可以接受来自于CPU的输出数据。

查询式传输,即用程序查询相应设备的状态,(对输入设备就是查询READY,对输出设备查询BUSY),若状态不符合要求则等待,只有当状态信号符合要求时,才进行相应的传输。

过程:

输入操作的程序流程如图6-2所示:

对READY的状态查询,是通过读状态端口的相应位来实现的,输出的情况亦大致相同,这种传送控制方式的最大优点是,能够保证输入/输出数据的正确性。输入接口

以输入设备将数据送入锁存,发选通信号开始,→READY=1→CPU查询(读READY)→读数据→清除READY。见图5-3。

图6-3

输出接口

CPU送数据至锁存器,发选通信号,→a。通知外设取数据;→b。BUSY→输出设备取完数据→ACK→清BUSY→CPU查询。见图6-4

图6-4

例1:假设从某输入设备上输入一组数据送缓冲区,接口电路如图6-3,若缓冲区已满则输出一组信息“BOFFER OVERFLOW”,然后结束。设该设备的启动地址为0FCH,数据端口为0F8H,状态端口为FAH。

程序如下: 

DATA SEGMENT 

MESS1 DB “BUFFER OVERFLOW”,“$” 

BUFF DB 60 DUP(?) 

DATA ENDS 

CODE SEGMENT 

ASSUME CS:CODE,DS:DATA 

START:MOV AX,DATA 

MOV DS,AX 

MOV BX,OFFSET BUFF;送缓冲区指针 

MOV CX,60;送计数初值 

OUT 0FCH,AL;启动设备 

WAIT:IN AL,OFAH;查询状态,若为0,则等待 TEST AL,01H 

JZ WAIT 

IN AL,0F8H;输入数据 

MOV [BX],AL 

INC BX 

LOOP WAIT;检测缓冲区是否满,不满再输入 

MOV DX,OFFSET MESS1;缓冲区满,输出标志字符串 

MOV AH,09H 

INT 21H 

MOV AH,4CH 

INT 21H 

CODE ENDS 

END START 

优先级问题

当CPU需对多个设备进行查询时,就出现了所谓的优先级问题,即究竟先为哪个设备服务,一般来讲,在这种情况下都是采用轮流查询的方式来解决,这时的优先级是很明显的,即先查询的设备具有较高的优先级。但这种优先级管理方式,也存在着一个问题,即某设备的优先级是变化的,如当为设备B服务以后,这时即使A已准备好,它也不理睬,而是继续查询C,也就是说A的优先地位并不巩固(即不能保证随时处于优先)。为了保证A随时具有较高的优先级,可采用加标志的方法,当CPU为B服务完以后,先查询A是否准备好,若此时发现A已准备好,立即转向对A的查询服务,而不是为C设备服务。

二.中断传送方式

⑴ 为什么要采用中断传送方式

从查询式的传输过程可以看出,它的优点是硬件开销小,使用起来比较简单。缺点是降低了CPU的工作效率。尤其是当系统中有多台设备时,对某些设备的响应就比较慢,也影响了整个系统响应的实时性。

为了解决这个矛盾,我们提出了中断传送方式,中断传送方式就是外设中断CPU 的工作,使CPU停止执行当前程序,而去执行一个为外设的数据输入/输出服务的程序,即中断服务子程序,中断服务子程序执行完以后,CPU又转回到原来的程序去继续执行,因而在这种方式下,CPU不需花大量的时间去查询外设的工作状态,因为当外设准备好时,它会主动向CPU发请求。CPU只需具有检测中断请求,进行中断响应,并能正确中断返回的功能就行了。

能够向CPU发出中断请求的设备或事件

称为中断源。

微机系统引入中断机制后,使CPU与外设

(甚至多个外设)处于并行工作状态,便

于实现信息的实时处理和系统的故障处

理,可以大大提高CPU的工作效率。

中断方式的原理示意图如图6-6所示。

图5-6

⑵ 中断方式下的接口电路

中断方式提高了CPU的工作效率,但是它同时也提高了系统的硬件开销。因为系统需增加含有中断功能接口电路,用来产生中断请求信号。以输入方式为例,接口电路如图6-7所示。

图6-7

分析:

数据输入的过程:当外设发STB→数据入锁存器,中断请求触发器置1→若没有屏蔽则产生INTR→CPU满足条件(允许中断;指令执行完)发INTA→(进入中断服务子程序)读数据,发RD,和地址→清中断请求触发器,数据送D0~D7。(输出过程请自己思考)

可屏蔽中断的响应和执行的具体中断过程可分为以下步骤:

接口发中断请求;

当前指令执行完,CPU进行回答;

外设送中断类型码;

保护断点;

查中断向量表;

进行中断服务子程序;

中断返回

⑶ 中断优先级

问题的提出:

当系统中有多个设备提出中断请求时,就有一个该响应谁的问题,也就是一个优先级的问题,解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。下面分别介绍:

①软件查询法

只需有简单的硬件电路,如将A、B、C三台设备的中断请求信号“或”后作为系统INTR,这时,A、B、C三台设备中只要至少有一台设备提出中断请求,都可以向CPU发中断请求。进入中断服务子程序后,再用软件查询的方式分别对不同的设备的服务,查询程序的设计思想同查询式,查询的前后顺序就给出了设备的优先级,框图如图所示。

②简单硬件方法

以链式中断优先权排队电路为例,

基本设计思想:将所有的设备连成一条链,靠近CPU的设备优先级最高,越远的设备优先级别越低,则发出中断响应信号,若级别高的设备发出了中断请求,在它接到中断响应信号的同时,封锁其后的较低级设备使得它们的中断请求不能响应,只有等它的中断服务结束以后才开放,允许为低级的设备服务。

如图所示。

③专用硬件方式

采用可编程的中断控制器芯片,如Intel8259A。

⑷ 中断响应

中断源向CPU发出中断请求,若优先级别最高,CPU在满足一定的条件下,可以中断当前程序的运行,保护好被中断的主程序的断点及现场信息。然后,根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行新的程序段,这就是中断响应。

注意:CPU响应中断是有条件的,如内部允许中断、中断未被屏蔽、当前指令执行完等。

⑸ 中断服务子程序

CPU响应中断以后,就会中止当前的程序,转去执行一个中断服务子程序,以完成为相应设备的服务。中断服务子程序的一般结构如图6-12所示。

①保护现场(由一系列的PUSH指令完成)。目的是为了保护那些与主程序中有冲突的寄存器,(如AX,BX,CX等),如果中断服务子程序中所使用的寄存器与主程序中所使用的寄存器等没有冲突的话,这一步骤可以省略。

②开中断(由STI指令实现)。目的是为了能实现中断的嵌套。

③中断服务。

④恢复现场(由一系列的POP指令完成)。是与保护现场对应的,但要注意数据恢复的次序,以免混乱。

⑤返回(使用中断返回指令IRET)。不能使用一般的子程序返回指令RET,因为IRET指令除了能恢复断点地址外,还能恢复中断响应时的标志寄存器的值,而这后一个动作是RET指令不能完成的。

中断服务子程序与一般子程序之间的差别:

调用方式不同。一般子程序是通过执行CALL指令来调用的,因此,用户很清楚主程序在什么时候转向了子程序。而中断服务子程序是由硬件自动实现转移,其转移的过程和时间用户是看不到的,为此,要实现正确的中断响应,用户必须事先做好很多准备,如接口连接、中断服务子程序定位、标志设置、优先权分配等。

返回方式不同。一般子程序是通过执行RET或RET N指令来返回的。而中断服务子程序是通过执行IRET指令来返回的。

综上所述我们可知,中断方式的工作是通过中断源发中断请求信号进行联系的,中断的工作过程可分为五大步骤:即中断请求、中断判优、中断响应、中断服务和中断返回。

三.DMA传送方式

利用中断进行信息传送,可以大大提高CPU的利用率,但是其传送过程必须由CPU进行监控。每次中断,CPU都必须进行断点及现场信息的保护和恢复操作,

这些都是一些额外的操作,会占用一定的CPU时间。如果需要在内存的不同区域之间,或者在内存与外设端口之间进行大量信息快速传送的话,用查询或中断方式均不能满足速度上的要求,这时应采用直接数据通道传送,即DMA数据传送方式。

DMA(Direct Memory Access)意为直接数据传送,它是在内存的不同区域之间,或者在内存与外设端口之间直接进行数据传送,而不经过CPU中转的一种数据传送方式,可以大大提高信息的传送速度。

DMA方式传送的主要步骤

①外设准备就绪时,向DMA控制器发DMA请求,DMA控制器接到此信号后,向CPU发DMA请求;

②CPU接到HOLD请求后,如果条件允许(一个总线操作结束),则发出HLDA 信号作为响应,同时,放弃对总线的控制;

③DMA控制器取得总线控制权后,往地址总线发送地址信号,每传送1个字节,就会自动修改地址寄存器的内容,以指向下一个要传送的字节;

④每传送一个字节,字节计数器的值减1,当减到0时,DMA过程结束;

⑤DMA控制器向CPU发结束信号,将总线控制权交回CPU。

1.DMA传送控制方式,解决了在内存的不同区域之间,或者内存与外设之间大量数据的快速传送问题,代价是需要增加专门的硬件控制电路,称为DMA控制器,其复杂程度与CPU相当。

.2.DMA控制器内部必须有:①状态寄存器;②控制寄存器;③字节计数器;

④地址寄存器,并能发读/写信号,以及向CPU发HOLD,接收HLDA等功能。3.DMA控制器与接口的请求信号,这个信号提出的中断请求就是为了让CPU 为使输入的数据进行后续处理,如对磁盘进来的数据进行装配等。这个请求信号可以直接由DMA控制器发给CPU,也可发给接口后再由接口发给CPU。4.优先权的问题,当DMA控制器连接了多个接口时(多通道),就必须能对来自各接口的DMA请求进行优先级排队,若系统中有多个DMA控制器时,也存在这个问题。

5.DMA控制器的特点:它具有一般接口电路的特点CPU可以通过端口地址对其进行读/写操作(对应读状态/初始化编程),但是它又能像CPU一样对总线行使控制权,用来控制外设的存贮器之间的数据传输(只不过它是靠程序完成),因此它又不同于一般的接口电路,这就是它的工作特点。

习题与思考题

1.CPU与外设之间的数据传输控制方式有哪几种?何谓程序控制方式?它有哪两种基本方式?请分别用流程图的形式描述其处理过程。

2.采用用查询方式将数据区DATA开始的100个字节数据在FCH端口输出,设状态端口地址为FFH,状态字的D0位为1时表示外设处于“忙”状态。试编写查询程序。

3.何谓中断优先级,它对于实时控制有什么意义?有哪几种控制中断优先级的方式?4.什么叫DMA传送方式? 其主要步骤是什么?试比较DMA传输、查询式传输及中断方

式传输之间的优缺点和适用场合?

第二讲

6.2 8086/8088中断系统

回顾:微机系统主机与外部设备之间的数据传送控制方式,中断的概念及处理过程。

本讲重点:8086/8088中断系统。

讲授内容:

6.2 8086/8088中断系统

一、中断分类及中断类型码

中断源:引起中断的原因或发出中断请求的设备称为中断源。

中断的分类

共分为两类:硬件中断和软件中断

①硬件中断:即通过外部的硬件产生的中断,如打印机、键盘等,有时也称其为外部中断。

硬件中断又可分为两类:可屏蔽中断和不可屏蔽中断。

不可屏蔽中断:由NMI引脚引入,它不受中断允许标志的影响,每个系统中仅允许有一个,都是用来处理紧急情况的,如掉电处理。这种中断一旦发生,系统会立即响应,

可屏蔽中断:由INTR引脚引入,它受中断允许标志的影响,也就是说,只有当IF=1时,可屏蔽中断才能进入,反之则不允许进入,可屏蔽中断可有多个,一般是通过优先级排队(如PC/XT通过8259A、Z80通过链式优先级排队),从多个(几个或几十个)中断源中选出一个进行处理。

②软件中断(内部中断):即根据某条指令或者对标志寄存器中某个标志的设置而产生,它与硬件电路无关,常见的如除数为0,或用INT n指令产生。

分类图如图示(见戴梅萼书中P35图2-15)。

各类中断如下:(详细内容见戴梅萼书中P93)

溢出中断由INT0指令引起

断点中断由INT3指令引起

单步由标志TF引起↘不对应指令

除0由计算结果引起↙不对应指令

中断类型码:

8086/8088为每个中断源分配了一个中断类型码,其取值范围为0~255,即可处理56种中断。其中包括软件中断,系统占用的中断以及开放给用户使用的中断。

二、中断向量和中断向量表

系统处理中断的方法很多,处理中断的步骤中最主要的一步就是如何根据不同的中断源进入相应的中断服务子程序,目前用的最多的就是向量式中断。

中断向量:各个中断服务子程序的入口都称为一个中断向量。

中断向量表:将这些中断向量按一定的规律排列成一个表,就是所谓的中断向量表,当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。

8086/8088中断系统中的中断向量表是位于

0段的0~3FFFH的存贮区内,每个中断向

量占四个单元,其中前两个单元存放中断处

理子程序的入口地址的偏移量(IP),低位

在前,高位在后;后两个单元存放中断处理

子程序入口地址的段地址(CS),也是低位

在前,高位在后,整个中断向量的排列是按

中断类型号进行的。图6-15。

图示给出了中断类型码与中断向量所在位

置之间的对应关系。其中00H~04H为专用

中断,05H~3FH为系统保留中断,用户一

般是不能对它们定义的(这里面有一些为固

定的用途,如INT21H即为MS-DOS的

系统调用),40~FF为用户定义的中断。

图6-15

中断类型号*4即可计算某个中断类型的中断向量在整个中断向量表中的位置。如类型号为20H,则中断向量的存放位置为20H*4=80H,(设中断服务子程序的入口地址为4030:2010,则在0000:0080H~0000:0083H中就应顺序放入10H、20H、30H、40H。当系统响应20H号中断时,会自动查找中断向量,找出对应的中断向量装入CS、IP,即转入该中断服务子程序。

三、中断响应过程与时序

中断操作的主要步骤:中断请求、中断判优、中断响应、中断服务、中断返回。8086/8088对软件中断和硬件中断响应的过程是不同的,这是由于软件中断和硬件中断所产生的原因不同,下面主要讨论硬件中断的情况。

硬件中断的响应过程

硬件中断指的是由NMI引脚进入的非屏蔽中断或由INTR引脚进入的可屏蔽中断。下面以可屏蔽中断为例。

CPU在INTR引脚上接到一个中断请求信号,如果此时IF=1,CPU就会在当前指令执行完以后开始响应外部的中断请求,这时,CPU在INTA引脚连续发两个

负脉冲,外设在接到第二个负脉冲以后,在数据线上发送中断类型码,接到这个中断类型码后,CPU做如下动作:

①将中断类型码放入暂存器保存;

②将标志寄存器内容压入堆栈,以保护中断时的状态;

③将IF和TF标志清0,目的是防止在中断响应的同时又来别的中断,而将TF 清0是为了防止CPU以单步方式执行中断处理子程序。这时要特别提醒,因为CPU在中断响应时自动关闭了IF标志,因此用户如要进行中断嵌套时,必须在自己的中断处理子程序中用开中断指令来重新设置IF;

④保护断点,断点指的是在响应中断时,主程序当前指令下面的一条指令的地址。因此保护断点的动作就是将当前的IP和CS的内容入栈,保护断点是为了以后正确地返回主程序;

⑤根据取到的中断类型码,在中断向量表中找出相应的中断向量,将其装入IP 和CS,即呆自动转向中断服务子程序。

对NMI进入的中断请求,由于其类型码固定为2,因此CPU不用从外设读取类型码,也不需计算中断向量表的地址,只要将中断向量表中0000:0008H~0000:000BH单元内容分别装入IP和CS即可。

图6-16给出了8086/8088中断响应过程的流程图,对这个图我们做几点说明:①8086/8088除软件中断外,内部“非屏蔽中断”、“可屏蔽中断”均设立有优先级,其中内中(除单步外)――即0、1、3、4号中断的优先级高于非屏蔽中断,非屏蔽中断高于可屏蔽中断,单步中断优先级最低;

(有关内部中断的详细内容可参阅戴梅萼书中P93~P96)

②只有在可屏蔽中断的情况下才判IF=1?,才取中断类型码,其余的没有这个动作。

③关于单步中断,它是每执行一条指令中断一次,显示出当时各寄存器的内容,供用户参考,当进入单步中断响应时,CPU自动清除了TF,在中断返回后,由于恢复了响应时的标志寄存器的值,因此TF=1,执行完一条指令后又进入单步中断,直到程序将TF改为0为止。

④关于中断的嵌套,NMI总是可以响应的,若在中断处理子程序中设立了开中断指令,INTR的请求也能响应。

⑤弹出IP、CS、标志,返回断点的动作由IRET指令完成。

⑥有些情况下,即使条件满足,CPU也不能马上响应中断,必须执行完下一条指令(而不是当前指令)才行。

正好执行LOCK指令;

执行往SS寄存器赋值的传送指令,因为一般要求连续用两条指令对SS和SP寄存器赋值,以保证堆栈指针的正确性。

⑦当遇到等待指令或串操作指令时,允许在指令执行的过程中进入中断。这时需注意在中断处理子程序中保护现场,以保证中断返回后能继续正确地执行这些指令。

图6-16 中断响应流程图

硬件中断的时序 中断响应总结周期,见P141 图6-17。

图6-17 8086/8088中断响应总线周期

①要求INTR 信号是一个高电平信号,并且维持2个T ,因为CPU 是在一条指

令的最后一个T 采样INTR ,进入中断响应后,它在第一个总线周期的T 1仍需采样INTR 。

②当8086工作在最小模式时,从INTA 发出中断响应信号,而在最大模式进,则是通过2S 、1S 、0S 的组合完成。

③第一个总线周期用来通知外设,CPU 准备响应中断,第二个总线周期,接收

外设发回的中断类型码,该类型码必须通过16位数据总线的低8位传送。 ④在中断响应总线周期中,IO M /为低,数据/地址线浮空,7/S BHE 和地址/状

态线均浮空,中间的三个空闲周期也可为两个或没有(8088)。

习题与思考题

5.什么是中断向量?中断向量表的功能是什么?已知中断源的中断类型码分别是84H 和

FAH ,它们所对应的中断向量分别为:2000H:1000H, 3000H:4000H, 这些中断向量应放

在中断向量表的什么位置?如何存放? 编程完成中断向量的设置。

6.试结合8086/8088CPU 可屏蔽中断的响应过程,说明向量式中断的基本处理步骤。

7.在中断响应总线周期中,第一个INTA 脉冲向外部电路说明什么?第二个INTA 脉冲呢?

8.中断处理的主要步骤有哪些?试说明每一步的主要动作。

第三讲

6.3 中断控制器Intel8259A

回 顾:中断的基本概念及处理过程,8086/8088中断系统。

本讲重点:中断控制器Intel8259A 的性能概述,内、外部结构,工作过程,工

作方式等。

讲授内容: 8259A 的结构及主要功能、8259A 的编程

6.3 可编程中断控制器Intel8259A

一. 8259A 的结构及主要功能

1.8259A 的主要功能 

前面讲到中断优先级的处理时,曾提到有专用硬件方式来进行这项工作,Intel8259A 就

是这样的中断优先级管理电路芯片,它具有如下主要功能:

(1) 在有多个中断请求时,8259A 能判别中断源的中断优先级,一次可以向CPU 送出

一个最高级别的中断请求信号。 

(2) 一片8259A 可以管理8级中断,并且,在不增加任何其它电路的情况下,可以多片

8259A 级联,形成对多于8级的中断请求的管理。最多可以用9片8259A 来构成64级的主

从式中断管理系统。

(3) 可以通过编程,使8259A 工作在不同的工作方式下,使用起来灵活方便。 

(4) 单电源+5V ,NMOS 工艺制造。

2.8259A的引脚信号及功能 

Intel8259A为双列直插式封装,28个引脚,引脚图见图6-18。下面分别介绍这些引脚的名称及其功能:

·D0~D7:数据线,双向,用来与CPU交换数据。

·INT:中断请求,输出信号,由8259A传给CPU,或由从8259A传给主8259A。 

·INTA:中断响应,输入信号,

· IR0~IR7:中断请求输入,由中断源传给8259A。

· CAS0~CAS2:级联信号。对主片来讲,这三

个信号是输出信号,由它们的不同组合000~111,分

别确定是连在哪个IRi上的从片工作。对从片来讲,

这三个信号是输入信号,以此判别本从片是否被选中。

 ·SP/EN:从设备编程/允许缓冲器,双向。做输

入信号使用时,即为SP,作为主设备/从设备的选择控

制信号,当SP=1时,该8259A在系统中做主片,当

SP=0时,该8259A则在系统中做从片。当该引脚作

输出信号使用时,即为EN,做为允许缓冲器接收发送

的控制信号。

·A0:内部寄存器的选择,输入信号。8259A规定,当A0=0时,对应的寄存器为ICW1,OCW2和OCW3;当A0=1时,对应的寄存器为ICW2~ICW4和OCW1。 

·CS:片选信号,输入。一般来自地址译码器的输出,为CPU对8259A的选择信号。

·RD:读信号,输入。来自CPU的IOR。 

·WR:写信号,输入。来自CPU的IOW。 

3.8259A的内部结构 

图6-19是8259A的内部结构框图,其主要模块的功能如下:

(1) 中断请求寄存器IRR 

这是一个8位的寄存器,用来接收来自IR0~IR7上的中断请求信号,并在IRR的相应位置位。

中断源产生中断请求的方式有两种:一种是边沿触发方式;另一种是电平触发方式,

(2)中断优先权裁决电路 

它在中断响应期间,可以根据控制逻辑规定的优先权级别和IMR的内容,对IRR中保存的所有中断请求进行优先权排队,将其中优先权级别最高的中断请求位送入ISR,表示要为其进行服务。 

(3)当前服务寄存器ISR 

这也是一个8位的寄存器,它用来存放当前正在处理的中断请求,也是通过其相应位的置位来实现的。在中断嵌套方式下,可以将其内容与新进入的中断请求的优先级别进行比较,以决定是否能进行嵌套。ISR的置位是在中断响应的第一个INTA有效时完成的。 

图6-19 8259A的内部结构 

(4)中断屏蔽寄存器IMR 

IMR是一个8位的寄存器,用来存放中断屏蔽字,它是由用户通过编程来设置的。

(5)控制逻辑 

在8259A的控制逻辑电路中,有一组初始化命令字寄存器(4个,ICW1~ICW4)和一组操作命令字寄存器(3个, OCW1~OCW3),这7个寄存器均可由用户根据需要通过编程来设置。控制逻辑可以按照编程所设置的工作方式来管理8259A的全部工作。

这7个寄存器通过不同的端口进行访问,其中,ICW1、OCW2~OCW3通过A0=0的端口访问,而ICW2~ICW4、OCW1通过A0=1的端口访问。

(6)数据总线缓冲器 

这是一个8位的双向、三态缓冲器,用作8259A与系统数据总线的接口,用来传输初始化命令字、操作命令字、状态字和中断类型码。 

(7)读/写控制逻辑 

接收来自CPU的读/写命令,完成规定的操作。具体动作由片选信号CS,地址输入信号A0,以及读(RD)和写(WR)信号共同控制。当CPU对8259A进行写操作时,它控制将写入的数据送相应的命令寄存器中(包括初始化命令字和操作命令字),当CPU对8259A进行读操作时,它控制将相应的寄存器的内容(IRR,ISR,IMR)输出到数据总线上。 

(8)级联缓冲器/比较器 

这个功能部件用在级联方式的主-从结构中,用来存放和比较系统中各8259A的从设备标志(ID)。与此相关的是三条级联线CAS0~CAS2和SP/EN,其中CAS0~CAS2是8259A相互间连接用的专用总线,用来构成8259A的主-从式级联控制结构,编程时设定的从8259A 的从设备标志保存在级联缓冲器中。系统中全部8259A的CAS0~CAS2对应端互连,在中断响应期间,主8259A把所有申请中断的从设备中优先级最高的从8259A的从设备标志(ID)输出到级联线CAS0~CAS2上,从8259A收到这个从设备标志后,就与自已的级联缓冲器中保存的从设备标志相比较,若相等则说明本片被选中。这样,在后续的INTA有效期间,被选中的从设备就把中断类型码送上数据总线。 

4.8259A的工作过程 

下面我们以单片8259A为例来叙述其工作过程: 

(1)中断源通过IR0~IR7向8259A发中断请求,使得IRR的相应位置位。 

(2)若此时IMR中的相应位为0,即该中断请求没有被屏蔽,则进入优先级排队。8259A 分析这些请求,若条件满足,则通过INT向CPU发中断请求。 

(3)CPU接收到中断请求信号后,如果满足条件,则进入中断响应,通过INTA引脚发出连续两个负脉冲。 

(4)8259A收到第一个INTA时,做如下动作: 

·使IRR的锁存功能失效。(目的是防止此时再来中断导致中断响应的错误),到第二个INTA时恢复有效。 

·使ISR的相应位置位,表示已为该中断请求服务。 

·使IRR相应位清0。 

(5)8259A在收到第二个INTA时,做如下动作: 

·送中断类型码,中断类型码由用户编程和中断请求引脚的编码共同决定,详见编程部分。

·如果8259A工作在中断自动结束方式,则此时清除ISR的相应位。 

这里要说明一点,若8259A是工作在级联方式下,并且从8259A的中断请求级别最高,则在第一个INTA脉冲结束时,主8259A将从设备标志ID送到CAS0~CAS2上,在第二个INTA脉冲有效期间,由被选中的从8259A将中断类型码送上数据总线。 

二. 8259A的编程 

8259A是一个可编程的芯片,对8259A的编程涉及到两类命令字:一类是初始化命令字,通过这些字使8259A进入初始状态,这些字必须在8259A进入操作之前设置;另一类是操作命令字,在8259A经过初始化并进入操作以后,用这些字来控制8259A执行不同方式的操作,这些字可以在初始化以后的任何时刻写入8259A。 

下面,我们就分别介绍初始化命令字ICW1~ICW4和操作命令字OCW1~OCW3。 

1.初始化命令字 

(1)初始化命令字1(ICW1)。 

ICW1必须写入A0=0的端口地址,其中D4=1是ICW1的标志位。 

A0D7D6D5D4D3D2D1D0

0 ××× 1 LTIM× SNGL IC4

?D0 (IC4):用来指出后面是否使用ICW4。若使用ICW4,则D0=1,反之为0,对8086/8088系统来讲,后面必须设置ICW4,因此这位为1。 

?D1 (SNGL):用来指出系统中是否只有一片8259A。若仅有一片,则D1=1,反之为0。

?D3 (LTIM):用来设定中断请求信号的触发形式。当D3=1时,表示为电平触发方式。此时IRi的输入信号为高电平即可进入IRR;当D3=0时,表示为边沿触发方式,此时IRi 的输入信号由低到高的跳变被识别而送入IRR。在两种触发方式下,IRi的输入高电平在置位IRR的相应位后都仍要保持,直到中断被响应为止。 

?D2和D5~D7在8086/8088系统中不用,用户编程时可写入任意值。 

(2)初始化命令字2(ICW2) 

ICW2必须写入A0=1的端口地址,它用来设置中断类型码,其高5位即T3~T7为中断类型码的高5位,低3位无意义,用户编程时可写入任意值。

A0D7D6D5D4D3D2D1D0

1 T7T6T5T4T3×××

8259A形成的中断类型码由两部分组成,高5位来自用户设置的ICW2,低3位为中断输入引脚IRi的编码i,由8259A自动插入。也就是说,当用户设置了ICW2以后,来自各中断请求引脚的中断源的中断类型码也就唯一的确定了。表6-1给出了来自各中断请求引脚的中断源的中断类型码与ICW2及引脚编号的关系。 

例如,我们初始化时写入ICW2=4DH,则来自IR0~IR7各引脚的中断源的中断类型码就分别为48H,49H,…,4FH。反之,如果系统要求来自IR0~IR7各引脚的中断源的中断类型码为80H~87H,我们在初始化时写入的ICW2的高5位就应该是10000B,而低3位则任意,如可以写入80H或85H等,但不能写入88H(因为这样高5位就是10001B了),这样不符合要求(对应IR0~IR7各引脚的中断源的中断类型码为88H~8FH)。

表6-1 中断类型码与ICW2及引脚编号的关系 

D7D6D5D4D3D2D1D0

IR0T7T6T5T4T30 0 0

IR1T7T6T5T4T30 0 1

IR2T7T6T5T4T30 1 0

IR3T7T6T5T4T30 1 1

IR4T7T6T5T4T3 1 0 0

IR5T7T6T5T4T3 1 0 1

IR6T7T6T5T4T3 1 1 0

IR7T7T6T5T4T3 1 1 1

(3)初始化命令字3(ICW3) 

ICW3只有当系统中有多片8259A时才有意义,也就是说,只有当前面写入的ICW1的D1=0时才需送此字。ICW3必须写入A0=1的端口地址,且对主片和从片编程时的定义不同。

对主片来讲,ICW3格式如下: 

A0D7D6D5D4D3D2D1D0

1 IR7IR6IR5IR4IR3IR2IR1IR0

每一位对应一个中断请求引脚,哪条IRi引脚上连接有从片,则相应ICW3的Di位为1,反之为0。因此,主片的ICW3是用来指出该片的哪条引脚连接的是从设备。例如,主片的IR0和IR5引脚上连接有从片,则该主片的相应ICW3应为00100001B。

对从片来讲,ICW3的格式如下: 

A0D7D6D5D4D3D2D1D0

1 ×××××ID2ID1ID0

ID0~ID2是从设备标志ID的编码,它等于该从设备的INT端所连接的主片的IRi引脚的编码i。例如,某从片连在主片的IR3,则该从片的ICW3的低3位即为011B。因此,从片的ICW3是用来指出本片连在主片的哪一个引脚。ICW3的高5位无用,可写入任意值。 

(4) 初始化命令字4(ICW4) 

ICW4必须写入A0=1的端口地址,其中D5D6D7=000是ICW4的标志位。 

A0D7D6D5D4D3D2D1D0

1 0 0 0 SFNM BUF M/S AEOIμPM

? D0 (μPM):CPU类型选择。在8086/8088系统中,μPM=1。

? D1 (AEOI):指出是否为中断自动结束方式。若选用中断自动结束方式,则D1=1。在这种方式下,当第二个INTA脉冲到来时,ISR的相应位会自动清除。如果设置D1=0则不用中断自动结束方式,这时必须在程序的适当位置(一般是在中断服务子程序中)使用中断结束命令(见OCW2),使ISR中的相应位复位,从而结束中断。 

?D2(M/S):在缓冲方式下有效,由于在缓冲方式下不能由SP/EN来指明本片是主片还是从片,因此,需用此位来指出本片是主片(D2=1)还是从片(D2=0)。 

?D3 (BUF):用来指出本片是否工作在缓冲方式,并由此决定了SP/EN的功能。D3=1表示8259A工作在缓冲方式(经缓冲器与总线相连),反之,8259A工作在非缓冲方式(直接与总线相连)。

?D4 (SFNM):用来指出本片是否工作在特殊的全嵌套方式。若是则D4=1,反之D4=0。

全嵌套方式是最常用的优先级嵌套方式,若没有设置其它优先级方式的话,则按以下优先级处理,即IR0>IR1>…>IR7,以此决定是否能进入中断嵌套。而特殊的全嵌套方式仅用在级联系统中的主片上,可以实

现对同级中断请求的嵌套,以确保

对同一个从设备的不同IRi 输入

的中断能按优先级进入中断嵌套

(此时的从片仍采用一般全嵌套

方式),实现真正的完全嵌套的优

先级结构。

2.初始化程序流程。 

对8259A的初始化必须按照

如图6-20所示的流程进行。从初

始化流程图中可以看出,此时需送

几个初始化命令字ICW1~ICW4,

它们的写入顺序是有要求的,同时

对写入的端口地址也有要求。

8259A通过写入次序、端口地址及

各初始化命令字的标志位来区别

它们,从而实现了一个端口地址可

对应多个写入内容,有效地减少了

芯片引脚的数目。 

值得注意的是,当系统中有多

片8259A工作于级联方式时,对

每片8259A均要单独编程,其中图6-20 8259A初始化流程图

主片和从片的ICW3的格式及功能均不相同,应视具体硬件的连接方式而定。

例1 一个CPU为8088的系统采用一片8259A做中断控制器,要求这片8259A工作在全嵌套方式,不用中断自动结束方式,不用缓冲方式,中断请求信号为边沿触发方式。

该8259A的两个端口地址分别为20H和21H,试完成初始化程序。 

分析:确定ICW1:×××10×11B

确定ICW2:系统没有规定中断类型码,由用户自定,本题定为10110000B。

此时,8个中断源的中断类型码分别为B0H~B7H。

确定ICW4:00000×01B

MOV AL,13H ;送ICW1,所有×的位全取0

OUT 20H,AL 

MOV AL, 0B0H ;送ICW2,即中断类型码的高5位 

OUT 21H,AL 

MOV AL,01H ;送ICW4,所有×的位全取0

OUT 21H,AL 

例2 一个CPU为8088的系统采用8259A做中断控制器,在这片8259A的IR1和IR6引脚上接有中断请求。要求这片8259A工作在全嵌套方式,采用中断自动结束方式,不用缓冲方式,中断请求信号为边沿触发方式,中断类型码为69H和6EH。该8259A的两个端口地址分别为FF20H和FF21H,试完成初始化程序。 

分析:确定ICW1:×××10×11B

确定ICW2:系统规定了中断类型码,高5位必须是01101B,ICW2应送01101×××B。

此时,IR1和IR6引脚上中断源的中断类型码分别为01101001B和01101110B。

确定ICW4:00000×11B

MOV AL, 13H ;送ICW1,所有×的位全取0

MOV DX, 0FF20H

OUT DX,AL 

MOV AL,68H ;送ICW2,所有×的位全取0 

MOV DX, 0FF21H

OUT DX,AL 

MOV AL,03H ;送ICW4,所有×的位全取0

OUT DX,AL 

3.操作命令字 

8259A的操作命令字一共有三个,它们分别为OCW1~OCW3。这些字是在8259A处于初始状态以后,由用户在应用程序中设置的。设置这些字时,在写入的次序上没有严格要求(这不同于初始化命令字),但是对写入的端口有规定,即OCW1必须写入A0=1的端口地址,其余要写入A0=0的端口地址。 

下面,我们分别介绍这些字的格式及功能。 

(1) 操作命令字1(OCW1) 

OCW1必须写入A0=1的端口地址。 

A0D7D6D5D4D3D2D1D0

1 M7M6M5M4M3M2M1M0

OCW1即为中断屏蔽字,用来设置8259A的屏蔽操作。M7~M0代表8个屏蔽位,分别用来控制IR7~IR0输入的中断请求信号。如果某位Mi为1,则屏蔽相应的IRi输入的中断请求,如果某位Mi为0,则清除屏蔽,允许相应的IRi的中断请求信号进入优先级排队。

(2) 操作命令字2(OCW2) 

OCW2必须写入A0=0的端口地址,且要求D4D3=00。 

OCW2用来控制中断结束、优先权循环等操作。与这些操作有关的命令和方式控制大都以组合格式使用OCW2,而不完全是按位来设置的。下面,我们先介绍有关位的定义,然后再说明一下组合格式。 

A0D7D6D5D4D3D2D1D0

0 R SL EOI 0 0 L2L1L0

?D7 (R):优先权循环控制位。D7=1表示为循环优先权方式,反之为固定优先权方式。

在固定优先权方式下,中断优先级排序是IR0>IR1>…>IR7,即来自IR0的中断优先级最高,来自IR7的中断优先级最低。而在循环优先权方式下,优先级的队列是在变化的,刚刚服务过的中断请求的优先级降为最低,例如,目前的优先权队列是IR0>IR1>…>IR7,而来自IR3的中断刚刚被服务过,则优先权队列变为IR4>IR5>…>IR0>IR1>IR2>IR3。初始时可以是IR7级别最低,也可由L2~L0的编码来确定(此时要求D6=1)。

?D6 (SL):用来指定L2~L0是否有效。D6=1时,OCW2的低3位即L2~L0有效,反之无效。

?D5 (EOI):中断结束命令。D5=1表示中断结束,它可以使ISR中最高优先权的位复位,也可以使由L2~L0的编码确定的ISR中的相应位复位(此时要求D6=1)。当系统中不采用中断自动结束方式时,就需用此位的置位来对ISR的相应位清0,从而结束中断。采用中断自动结束方式时D5=0。

?D2~D0(L2~L0):这三位对应的二进制编码有8个,即000~111,它们的作用有两个:在中断结束命令中(EOI=1), 用来指出清除的是ISR的哪一位(此时即为特殊的EOI命令);另外可以用来指出循环优先权初始时哪个中断级别最低。注意:只有在D6=1时它们才起作用。

表 6-2给出了OCW2中各位的组合情况 

表6-2 OCW2中各位的组合 

R SL EOI L2~L0功能

0 0 1 无用一般的EOI命令

0 1 1 给出清除的ISR某位的编码特殊的EOI命令

1 0 1 无用循环优先级的一般EOI命令

1 1 1 给出循环优先级初始时最低

优先级的引脚编码

循环优先级的特殊EOI命令

1 0 0 无用设置循环优先级的AEOI命令0 0 0 无用设置固定优先级的AEOI命令

1 1 0 给出循环优先级初始时最低

优先级的引脚编码

设置循环优先权命令

0 1 0 无用无效操作

这里要说明的是:凡是没有通过L2~L0来指出编码的EOI命令,均是清除ISR中优先权级别最高的位,凡是没有通过L2~L0来指出编码的循环优先权方式,其初始时均按IR0>IR1>…> IR7的优先权队列处理。 

(3) 操作命令字3(OCW3) 

OCW3必须写入A0=0的端口地址,且要求D4D3=01、D7=0。它主要用来控制8259A的中断屏蔽、查询和读寄存器等操作。

A0D7D6D5D4D3D2D1D0

0 0 ESMM SMM0 1 P RR RIS

?D6 (ESMM):特殊屏蔽方式允许位,D6=1即允许特殊屏蔽方式。 

?D5 (SMM):特殊屏蔽方式位,只有当D6=1时这位才起作用。 

若D6D5=11,则8259A进入特殊屏蔽方式。这时,8259A允许任何未被屏蔽(即IMR中

相应位为0)的中断请求产生中断,而不管这些中断请求的优先权的高低。(一般情况下,只有较高级的中断才能打断当前中断)。若D6D5=10,则恢复原来的屏蔽方式。 

?D2 (P):查询方式位,D2=1设置为中断查询方式,即用软件查询的方式而不是中断向量方式来实现对中断源的服务,一般用在多于64级中断的场合。D2=0即不处于查询方式。

在查询方式下,CPU要先关中断,然后向8259A发出一个查询命令(此命令对8259A来讲相当于INTA信号),接着执行一条输入指令,产生一个读信号送8259A,8259A收到这个信号后,使当前中断服务寄存器中的某一位置位(若有中断请求的话),并送出一个查询字供CPU查询。CPU可通过读A0=0的端口地址得到该查询字。 

查询字格式为:

D7D6D5D4D3D2D1D0

I ××××W2W1W0

其中I为有无中断请求标志。I=1表示有中断请求,这时W2~W0给出最高级别的中断请求的二进制编码,I=0表示无中断请求。 

?D1 (RR):读寄存器命令字。D1=1时允许读ISR和IRR寄存器,前提是D2必须为0,即不处于查询方式。 

?D0 (RIS):读ISR和IRR的选择位,它必须和D1位结合起来使用。当D1D0=10时,允许读IRR的内容;当D1D0=11时,允许读ISR的内容。对8259A内部寄存器的读出方式同读查询字一样,CPU先送一个操作命令字(即读出命令),然后用一条输入指令去读,对ISR 和IRR的读出要对A0=0的端口地址操作。不论在什么情况下,读A0=1的端口地址均可得到IMR的内容。

例3 8086/8088CPU要完成读取IRR和IMR的值,分别送寄存器BL和BH的工作。可编制如下程序:

MOV AL,00001010B

OUT PORT0,AL ;写OCW3,指出要读IRR寄存器的值,PORT0为偶地址

IN AL,PORT0 ;读IRR寄存器的值,PORT0为偶地址

MOV BL,AL

IN AL,PORT1 ;读IMR寄存器的值,PORT1为奇地址

MOV BH,AL

习题与思考题

9.如果8259A按如下配置:不需要ICW4,单片,中断请求边沿触发,则ICW1的值为多少?。如要求产生的中断类型码在70H~77H之间,则ICW2的值是多少?

10.在上题中,假设8259A的端口地址为00H和01H,采用中断自动结束,固定优先级,完成对该8259A的初始化。

11.如果8259A用在80386DX系统中,采用一般的EOI,缓冲模式,主片,特殊全嵌套方式,则ICW4的值是什么?

12.如果OCW2等于67H,则允许何种优先级策略?为什么?

第四讲

回顾:中断控制器Intel8259A的性能概述,内、外部结构,工作过程等。

第六章“输入输出及接口”习题答案

第六章输入输出及接口 〔习题6.2〕 I/O端口与存储器地址常有__????___?和__????___?两种编排方式,8088/8086处理器支持后者,设计有专门的I/O指令。其中指令IN是将数据从__????___?传输到__????___?,执行该指令时8088/8086处理器引脚产生__????___?总线周期。指令“OUT DX, AL”的目的操作数是__????___?寻址方式,源操作数是__????___?寻址方式。 〔解答〕 (I/O端口与存储器地址)统一编址 (I/O端口与存储器地址)独立编址 外设 处理器 I/O读 (I/O端口的DX)寄存器间接 寄存器 〔习题6.4〕 基于教程P142图6-7接口电路,编程使发光二极管循环发光。具体要求是:单独按下开关K0,发光二极管以L0、L1、L2、……L7顺序依次点亮,每个维持200ms,并不断重复,直到有其他按键操作;单独按下开关K1,发光二极管以L7、L6、L5、……L0顺序依次点亮,每个也维持200ms,并不断重复,直到有其他按键操作;其他开关组合均不发光,单独按下开关K7,则退出控制程序。延时200ms可以直接调用子程序DELAY实现。 〔解答〕 again: mov dx,6000h mov al,0ffh out dx,al ;全不亮 again1: in al,dx cmp al,7fh ;D7~D0=0111111B ? jz done ;单独按下K7,退出 cmp al,0feh ;D7~D0=11111110B ? jz next1 ;单独按下K0,转移到next1 cmp al,0fdh ;D7~D0=11111101B ? jz next2 ;单独按下K1,转移到next2 jmp again ;其它情况不点亮 next1: mov cx,8 mov al,1 ;从K0开始 next11: out dx,al ;某个LED电亮 call delay ;延时200ms shl al,1 ;rol al,1 loop next11 jmp again1 next2: mov cx,8

汇编语言第六章 输入输出和中断

第六章输入/输出和中断 前面已经讲过有关输入/输出的问题,主要是用DOS中断调用INT 21H来完成键盘输入以及屏幕显示。对于计算机来说,仅有这种输入/输出还不够,因为DOS的中断调用无法实现对其它外设的控制。关于如何用汇编程序实现主机与外设之间的信息交换,将是本章的主要内容。 6.1I/O设备与数据传送方式 一.主机与外设之间数据的传送方式 计算机与外设之间传送数据有如下4中方式: 1.无条件传送方式:适合于CPU与外设同步的情况。直接传送,高速外设与主机之间数据传送。 2.查询传送方式:适合于低速外设与主机之间数据传送。 3.中断传送方式:适合于低速外设与主机之间数据传送。 4.直接存贮器(又称DMA)传送方式:适合于高速外存与主机的数据传送。 其中:无条件传送和查询传送,直接在端口上利用IN和OUT 指令传送数据。 中断传送:在DOS及BIOS层上通过系统功能调用的中断指令实现。

直接存贮方式:在端口上,采用通道技术实现。在计算机准备好接收,外设准备好传送数据时,外设向CPU发一个请求DMA传送信号,此时CPU让出总线控制权,使外设与主存在短时间内成批传送数据。 二.外设与主机传送的接口与信息 1.端口与接口 计算机的外设都是通过接口连接到系统上,每个接口由一组寄存器组成,寄存器都有一个称为I/O端口的地址编码。 也就是,每一台外设都通过硬件接口与主机端口相连,并交换信息。 接口的组成:设备状态寄存器、设备控制寄存器、数据寄存器。上述寄存器在I/O空间中都有固定编码。 I/O端口的地址空间:允许设置64K个8位端口或32K个16位端口。对I/O空间的访问用IN或OUT两个指令。 I/O端口地址分配,可以查手册。 如:40H~43H时钟/定时器,60H~63H为8255通讯芯片的接口。 2.外设与主机的信息交换

微机原理及应用第七章输入输出接口

第七章: 输入, 输出接口 §7.1 输入, 输出(I/O)接口 一: I/O接口的作用 1: 高速CPU与低速外设数据传送的同步及配合 2: 并行数据传送与串行数据传送之间的转换 二: I/O接口中的信息流 1: 数据信息 A: 方向CPU ←→I/O接口←→外设双向 B: 类型1): 数据量二进制形式的数据 例: CPU ←→磁盘 CPU ←→键盘 CPU ←→显示器 2): 开关量两种状态的物理量 例: 开关的通断, 水位的高低 3): 模拟量连续变化的物理量 例: 交流电, 温度, 气压 2: 状态信息 A: 方向CPU ←―I/O接口←―外设单向 B: 方式 1): 对输入接口, CPU是否准备好接收数据, READY 准备好吗. 2): 对输出接口, 外设是否准备好接收数据, BUSY 外设忙吗. 3: 控制信息 A: 方向CPU ―→I/O接口―→处设单向 B: 方式 1): CPU要求外设开始工作, 即启动外设 2): CPU要求外设终止工作, 即停止外设 注: 数据信息是CPU与外设经I/O接口传送的有用信息, 状态, 控制信息是CPU经I/O接与外设传送的配合信息, 为了CPU与外设间的数据传送, 加入握手信息(状态, 控制) 是必要的 三: I/O接口芯片的特点 I/O接口芯片是构成I/O接口电路的关键 1: 类型A: 并行接口芯片与串行接口芯片 B: 通用接口芯片与专用接口芯片 C: 不可编程接口芯片与可编程接口芯片

2: 可编程接口芯片对信息的处理 A: 可编程接口芯片有多个不同应用的寄存器 B: 控制寄存器用于存放CPU 写入的控制字 C: 数据寄存器用于存放CPU 与外设交换的有用信息 状态, 控制寄存器用于存放CPU 与外设间的配合信息 3: 可编程接口芯片寄存器的使用 A: 访问外设即访问对应的芯片寄存器 B: 不同的寄存器有不同的端口地址,即用地址访问,而非用名访问 C: 编程中使用 IN, OUT 指令访问寄存器 4: 接口与端口 A: 接口 — 接口芯片或完成一个外设的操作所用的接口电路 B: 端口 — 一个接口中不同信息流传送所需的地址通道 注: 一个接口中有多个端口 §7.2 CPU 与外设数据传送的控制方式 一: 程序控制方式 ? 无条件程控方式 — 无需状态,控制信息配合,仅有数据信息传送 ? 有条件程控方式 — 需状态, 控制信息配合, 三种信息均要传送 1: 无条件程控方式 A: 应用条件 1): 外设输入的物理量变化缓慢, 即无跳变信号输入 2): CPU 输出的数据外设可直接使用 B: 接口特点 1): CPU 的DB ―→ I/O 接口(输出锁存器) ―→ 外设 2): CPU 的DB ←― I/O 接口(输入缓冲器) ←― 外设 C: 例7.1 用DB 中的 D0, D1, D2 获得 A, B, C 三路波形 硬件: 电路: 数据输入 波形输出 A7 A0 口地址 = 8CH

第7章输入输出与中断

第7章输入/输出与中断 一、自测练习题 ㈠选择题 1.一微机系统有10根地址线用于I/O端口寻址,因而具有I/O空间的范围是( )字节。 A) 1024 B) 10K C) 0.5M D) 1M 2.8086CPU读/写一次存储器或I/O端口所需的时间称为一个( )。 A) 总线周期B) 指令周期C) 时钟周期D) 基本指令执行时间 3.微型计算机的输入/输出有三种不同的控制方法,其中以( )控制的输入/输出是微机进行I/O的一种最主要的控制方式。 A) 程序控制B) 中断控制C) DMA控制 D) 以上均可 4.程序查询I/O方式的工作流程是按( )的次序完成一个字符的传输。 A) 写数据端口,读/写控制端口 B) 读状态端口,读/写数据端口 C) 写控制端口,读状态端口,写数据端口 D) 随I/O接口的具体要求而定 5.在CPU与外设的I/O传送控制方式中,效率高、实时性强的方式是( )。 A) 同步传送B) 查询传送C) 无条件传送D) 中断传送 6.在CPU与外设的I/O传送控制方式中,传送速度最快的方式是( )。 A) 无条件传送B) 查询传送C) 中断传送D) DMA传递 7.用具有两个状态(“0”和“1”态)的一组开关作简单输入设备时,应采用( )传送方式来输入信息。 A) 无条件B) 查询C) 中断D) DMA 8.用一组发光二极管作为简单输出设备时,应采用( )传送方式来输出信息。 A) DMA B) 无条件C) 查询D) 中断 9.在微机系统中引入中断技术,可以( )。 A) 提高外设速度B) 减轻主存负担 C) 提高处理器的效率D) 增加信息交换的精度 10.CPU响应中断请求的时刻是在( )。 A) 执行完成正在执行的程序以后B) 执行完正在执行的指令以后 C) 执行完本时钟周期以后D)执行完正在执行的机器周期以后 11.8086/8088CPU向应两个硬中断INTR和NMI时,相同的必要条件是( )。 A) 允许中断B) 当前I/O操作执行结束 C) 总线空闲D) 当前访问内存操作结束 12.在微型计算机系统中,高速外设与内存储器进行批量数据传送时,应采用( )。 A) 无条件传送B) 程序查询控制 C) 中断控制D) 直接存储器存取 l3.在进入DMA作方式之前,DMA控制器是被当作CPU总线上的一个( )。 A) 主处理器B) I/O设备C) I/O接口D) 主控制器 14.当微机系统工作在DMA方式时,该系统的地址信号是由( )提供的。 A) 微处理器B) DMA控制器C) 中断控制器D) 总线控制器

第十章 输入输出系统习题

第十章输入输出系统习题 一、单项选择题: 1、“总线忙”信号是由__ __建立的。 A.获得总线控制权的设备B.发出“总线请求”的设备 C.总线控制器D.CPU 2、在不同速度的设备之间传送数据__ __。 A.必须采用同步控制方式B.必须采用异步控制方式 C.可以选用同步方式,也可选用异步方式D.必须采用应答方式 3、挂接在总线上的多个部件___ _。 A.只能分时向总线发送数据,并只能分时从总线接收数据 B.只能分时向总线发送数据,但可同时从总线接收数据 C.可同时向总线发送数据,并同时从总线接收数据 D.可同时向总线发送数据,但只能分时从总线接收数据 4、总线从设备是____。 A.掌握总线控制权的设备 B.申请作为从设备的设备 C.被主设备访问的设备D.总线裁决部件 5、假设某系统总线在一个总线周期中传输4个字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是__ __。 A.10 MB/s B.20 MB/s C.40 MB/s D.80 MB/s 6、波特率表示传输线路上____。 A.信号的传输速率B.有效数据的传输速率 C.校验信号的传输速率D.干扰信号的传输速率 7、中断系统中的断点是指____。 A.子程序入口地址B.中断服务子程序入口地址 C.中断服务程序入口地址表D.中断返回地址 8、显示器的主要参数之一是分辨率,其含义是____。 A.显示屏幕的水平和垂直扫描频率 B.显示屏幕上光栅的列数和行数 C.可显示不同颜色的总线 D.同一个画面允许显示不同颜色的最大数目 9、下列选项中,能引起外部中断的事件是____。 A.键盘输入B.除数为0 C.浮点运算下溢D.访存缺页 10.CPU响应中断时,最先完成的两个步骤是_ __和保护现场信息。 A.开中断 B.恢复现场 C.关中断 D.不可屏蔽中断 11、在独立编址方式下,存储单元和I/O设备是靠来区分的。 A.不同的地址代码B.不同的地址总线 C.不同的指令和不同的控制信号D.上述都不同 12、计算机系统的输入/输出接口通常是__ __。 A.CPU与存储器之间的交界面B.存储器与打印机之间的交界面 C.主机与外围设备之间的交界面D.CPU与系统总线之间的交界面 13.根据连线的数量,总线可分为串行总线和_____ ___总线

第六章输入输出系统-Read

体系结构6-0 第六章 输入输出系统 6.2 解: 加速比=14.710 /%902/%101=+ 本题再次反映了Amdahl 定律,要改进一个系统的性能要对各方面性能都进行改进,不然系统中最慢的地方就成为新系统的瓶颈。 6.3假设磁盘空闲,这样没有排队延迟;公布的平均寻道时间是9ms ,传输速度是4MB/s ,转速是5400r/min ,控制器的开销是1ms 。问读或写一个512字节的扇区的平均时间是多少? 解: 平均磁盘访问时间 = 平均寻道时间 + 平均旋转延迟 + 传输时间 + 控制器开销 15.725m 1 0.125 5.6 9 1ms 4.0MB/s 0.5KB 5400r/min 0.5 9ms = + + + = + + + 假设实际测得的寻道时间是公布值的33%,则答案是: 3ms + 4.2ms + 0.1ms + 1ms = 8.3ms 6.x 盘阵列有哪些分级?各有什么特点? RAID0亦称数据分块,即把数据分布在多个盘上,实际上是非冗余阵列,无冗余信息。 RAID1亦称镜像盘,使用双备份磁盘。每当数据写入一个磁盘时,将该数据也写到另一个冗余盘,这样形成信息的两份复制品。如果一个磁盘失效,系统可以到镜像盘中获得所需要的信息。镜像是最昂贵的解决方法。特点是系统可靠性很高,但效率很低。 RAID2位交叉式海明编码阵列。原理上比较优越,但冗余信息的开销太大,因此未被广泛应用。 RAID3位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列。即数据以位或字节交叉的方式存于各盘,冗余的奇偶校验信息存储在一台专用盘上。 RAID4专用奇偶校验独立存取盘阵列。即数据以块(块大小可变)交叉的方式存于各盘,冗余的奇偶校验信息存在一台专用盘上。 RAID5块交叉分布式奇偶校验盘阵列,是旋转奇偶校验独立存取的阵列。即数据以块交叉的方式存于各盘,但无专用的校验盘,而是把冗余的奇偶校验信息均匀地分布在所有磁盘上。 RAID6双维奇偶校验独立存取盘阵列。即数据以块(块大小可变)交叉的方式存于各盘,冗余的检、纠错信息均匀地分布在所有磁盘上。并且,每次写入数据都要访问一个数据盘和两个校验盘,可容忍双盘出错。 RAID7是采用Cache 和异步技术的RAID6,使响应速度和传输速率有了较大提高。 6.6 同步总线和异步总线各有什么优缺点?总线的主要参数有哪些?各是什么含义?

第六章 基本输入输出技术

微机原理与接口技术
第六章
基本输入输出技术
合肥工业大学计算机与信息学院
2017年 2017 年 5月

第六章 基本输入输出技术
6.1 I/O接口概述 6.2 无条件传送方式及其接口 6.3 查询传送方式及其接口 6.4 中断传送方式及其接口 6.5 DMA传送方式
2

6.1 I/O接口概述 什么是输入/输出设备?
? 能够完成输入/输出操作的设备,简称外设或I/O设备。 ? 输入设备:键盘、鼠标器、条形码阅读器和扫描仪等; 输出设备:显示器、打印机、绘图仪、投影仪等。
3

6.1 I/O接口概述 I/O设备与CPU信息交换时存在的问题
? 速度不匹配:CPU的速度很高,而外设的速度要低得多, 而且不同的外设速度差异很大。 ? 时序不匹配:各种外设都有自己的定时和控制逻辑,与 计算机的CPU时序不一致。 ? 信号格式不匹配:CPU能识别的是8 (16或32)位的并行 数字量信息,而有些外设用的是模拟量(电流信号或是 电压信号),有些设备采用串行方式传送数据。 ? 信号电平不匹配:CPU所使用的信号都是TTL电平,而 外设大多不能用TTL电平所驱动,有自己的电源系统和 信号电平。
4

6.1 I/O接口概述
1. I/O接口 2. 接口信息 3. 端口及编址方式 4. I/O地址的译码 5. 数据传送方式
5

6.1.1 I/O接口 定义
? I/O接口(Interface):实现外部设备与微机之间连接和 信息交换的功能电路。 输入输出设备
I/O设备 外设
? 接口技术是把由处理器等组成的基本系统与外部设备连 接起来,从而实现计算机与外设通信的一门技术。
6

第七章 输入输出(IO)系统

一、选择 1、计算机所配置的显示器中,若显示控制卡上双薪存储器 的容量是1MB,则当采用800×600像素的分辨率时,每个像素最多可以有(C)种不同的颜色。 A.256 B.65536 C.16M D.4096 2、CRT的分辨率为1024×1024像素,像素的颜色数为256, 则刷新存储器的容量约为(B) A.256M B.1M C.256KB D.32MB 3、CRT的分辨率为1024×1024像素,像素的颜色总数为 256色,则刷新存储器每单元字长是(A) A.1个字节 B.2个字节 C.256个字节 D.1024个字节 4、若计算机屏幕上每个像素的灰度级为256,则刷新存储 每个单元的宽度是。 5、显示汉字采用点阵字库,若每个汉字用16×16的点阵表 示,7500个汉字的字库容量是240KB 。 6、磁盘存储器的等待时间通常是磁盘旋转半周所用的时间。 7、某磁盘的转速为7200r/min,传输速度为4MN/s,控制 器开销为1ms,要保证读或写一个512B的扇区的平均时间为11.3ms。那么,该磁盘的平均寻道时间不超过(D) A.3.9ms B.4.7ms C.5.5ms D.6.1ms 8、一个磁盘的转速为7200转/分,每个磁道有160个扇区,每扇区有512字节,那么理想情况下,其数据传输率为(C)A.7200×160KB/s B.7200KB/s C.9600KB/s D.19200KB/s 9、某计算机系统中,假定硬盘以中断方式与处理机进行数据输入输出,以16位为传输单位,传输率为50KB/s,每次传输的开销(包括中断)为100个CPU时钟,处理器的主频为50MHz,请问软盘数据传送时占处理器的时间比例是 10、设一个磁盘盘面共有200个磁道,盘面总存储容量60MB,磁盘旋转一周的时间为25ms,每磁道有8个扇区,各扇区之间有一间隙,磁头通过每个间隙需 1.25ms。则磁盘通道所需最大传输率是 11、下列有关程序中断I/O方式的叙述中,错误的是(D) A. 程序中断I/O方式是CPU和外设能够并行工作 B. 中断I/O方式下,外设和CPU直接交换数据 C. 中断I/O方式下,CPU会有额外的开销用于断点、现场 的保护和回复等 D. 中断I/O方式适用于像磁盘一类的高速设备 12、指令执行结果出现异常而引起的中断是(B) A.I/O中断 B.程序性中断 C.机器校验中断 D.外中断 13、主存故障引起的中断是(C) A.I/O中断 B.程序性中断 C.机器校验中断 D.外中断

第6章 输入输出系统-选择题

第6章输入输出系统(I/O管理)-选择题 1.以下关于设备属性的叙述中,正确的是()。 A.字符设备的基本特征是可寻址到字节,即能指定输入的源地址或输出的目标地址 B.共享设备必须是可寻址的和可随机访问的设备 C.共享设备是指同一时间内允许多个进程同时访问的设备 D.在分配共享设备和独占设备时都可能引起进程死锁 2.虚拟设备是指() A.允许用户使用比系统中具有的物理设备更多的设备 B.允许用户以标准化方式来使用物理设备 C.把一个物理设备变换成多个对应的逻辑设备 D.允许用户程序不必全部装入主存便可使用系统中的设备 3.磁盘设备的1O控制主要采取()方式 A.位 B.字节 C.帧 D. DMA 4.为了便于上层软件的编制,设备控制器通常需要提供() A.控制寄存器、状态寄存器和控制命令 B.1/O地址寄存器、工作方式状态寄存器和控制命令 C.中断寄存器、控制寄存器和控制命令 D.控制寄存器、编程空间和控制逻辑寄存器 5.在设备控制器中用于实现设备控制功能的是() A. CPU B.设备控制器与处理器的接 C.I/O逻辑 D.设备控制器与设备的接口 6.在设备管理中,设备映射表(DMT)的作用是() A.管理物理设备 B.管理逻辑设备 C.实现输入/输出 D.建立逻辑设备与物理设备的对应关系 7.DMA方式是在()之间建立一条直接数据通路 A.I/O设备和主存 B.两个I/O设备 C.I/O设备和CPU D.CPU和主存 8.通道又称1/O处理机,它用于实现()之间的信息传输。 A.内存与外设 B.CPU与外设 C.内存与外存 D.CPU与外存 9.在操作系统中,()指的是一种硬件机制 A.通道技术 B.缓冲池 C. Spooling技术 D.内存覆盖技术 10.若1O设备与存储设备进行数据交换不经过CPU来完成,则这种数据交换方式是() A.程序查询 B.中断方式 C.DMA方式 D.无条件存取方式 11.计算机系统中,不属于DMA控制器的是() A.命令/状态寄存器 B.内存地址寄存器 C.数据寄存器 D.堆指针寄存器 12.()用作连接大量的低速或中速1O设备

第6章输入输出系统

第六章输入输出系统 一、填空题 l 、操作系统中,设备管理的目标是()和()。 2、中断装置通常是按预定的顺序来响应同时出现的中断事件的,这个预定的顺序通常被称为()。 3.通道通过执行通道程序来完成控制设备工作,完成指定的()操作. 4.通道可分为()、()和()三种类型. 5.中断向量实际上是一种指针,它指向对应()的入口. 6.访问磁盘时间由(),()和()三部分组成. 7.缓冲是一种()扶术,它利用某种存储设备,在数据传送过程中进行暂时的存放. 8.I/O管理中,()技术是操作系统得以响应外部和内部物理请求的必不可少的重要机制. 9、()算法是选择当前磁头所在磁道距离远近的请求作为下一次服务的对象. 10.磁盘地址空间是()维的. 11.为实现CPU与外部设备的并行工作,系统引入了()硬件机制. 12,IlO涉及的基本的硬件元素有()等等. 13.控制设备的核心模块为()· 14.设备和CPU之间数据传送控制方式有四种:程序直接控制方式,中断控制方式,DMA方式和()· 15. 缓冲,中断及()也是设备管理中的一个重要部分. 16. 磁盘是海量存储设备.海量存储设备的出现使得计算机系统的数据保留得以实现.磁盘也就成了 ()数据的关键. 17.许算机两个最主要的工作就是()和处理机. 18.磁盘又可以分为()· 19.如何有效地对连接到计算机的外设进行()是操作系统设计者最关心的问题之一. 20.一个设备可能通过电缆甚至()发送信号,与计算机系统通信. 21 、一般来说,把设备与主机之间的接口称之为()· 22.如果很多设备都共用一条线路通信,称镇线路为() 23.之所以区分控制器和设备本身是因为操作系统大多与()打交道,而非设备本身.

计算机组成原理第八章输入输出系统

第八章输入输出系统 一、填空题; 1.直接内存访问(DMA)方式中,DMA控制器从CPU完全接管对A.______的控制,数据交换不经过CPU,而直接在内存和B.______之间进行。 2.通道是一个特殊功能的A.______ ,它有自己的B.______ 专门负责数据输入输出的传输控制。 3.并行I/O接口A.______ 和串行I/O接口B.______ 是目前两个最具有权威性的标准接口技术。 4.在计算机系统中,CPU对外围设备的管理,除了程序查询方式、程序中断方式外,还有A.______方式、B.______方式和C.______方式。 5.程序中断方式控制输入输出的主要特点是,可以使A 和B 并行工作。 6.DMA控制器按其A 结构,分为B 型和C 型两种。 7.通道是一个特殊功能的A ,它有自己的B 专门负责数据输入输出的传输控制,CPU只负责C 功能。 8.通道有三种类型:A 通道、B 通道、C 通道。 二、选择题: 1.下面有关“中断”的叙述,______是不正确的。 A.一旦有中断请求出现,CPU立即停止当前指令的执行,转而去受理中断请求 B.CPU响应中断时暂停运行当前程序,自动转移到中断服务程序 C.中断方式一般适用于随机出现的服务 D.为了保证中断服务程序执行完毕以后,能正确返回到被中断的断点继续执行程 序,必须进行现场保存操作 2.中断向量地址是______。 A. 子程序入口地址 B. 中断服务例行程序入口地址 C. 中断服务例行程序入口地址的地址 D. 主程序返回地址 3.在数据传送过程中,数据由串行变并行或由并行变串行,其转换是通过______。 A. 移位寄存器 B. 数据寄存器 C. 锁存器 D. 指令寄存器 4.采用DMA方式传送数据时,每传送一个数据要占用______的时间。 A. 一个指令周期 B. 一个机器周期 C. 一个时钟周期 D. 一个存储周期 5.发生中断请求的条件是______。 A. 一条指令执行结束 B. 一次I/O操作开始 C. 机器内部发生故障 D. 一次DMA操作开始 6.为了便于实现多级中断,保存现场最有效的方法是采用______。 A. 通用寄存器 B. 堆栈 C. 存储器 D. 外存 7.采用串行接口进行七位ASCII码的传送,带有一位奇校验位、一位起始位和一位停止位,当波特率为4800波特时,字符传送速率为___。 A.480 B. 436 C. 685 D. 240 8.在单级中断系统中,CPU一旦响应中断,则立即关闭___标志,以防止本次中断服务结束前同级的其他中断源产生另一次中断进行干扰。 A.中断允许 B. 中断请求 C. 中断屏蔽

第7章输入输出习题参考解答

第7章思考题与习题参考答案 1.计算机的I/O系统的功能是什么?它由哪几个部分组成? 答:计算机的I/O系统,主要用于解决主机与外部设备间的信息通讯,提供信息通路,使外围设备与主机能够协调一致地工作。 计算机的I/O系统由I/O硬件和I/O软件两大部分组成。其中I/O硬件包括:系统总线、I/O接口、I/O设备及设备控制器。I/O软件包括:用户的I/O程序、设备驱动程序、设备控制程序。 2.I/O硬件包括哪几个部分?各部分的作用是什么? 答:I/O硬件包括:系统总线、I/O接口、I/O设备及设备控制器。 系统总线的作用是为CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输提供通路。 I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的控制软件。它用于在系统总线和外设之间传输信号,并起缓冲作用,以满足接口两边的时序要求。 I/O设备的作用是为主机与外部世界打交道提供一个工具。 设备控制器用来控制I/O设备的具体动作,不同的I/O设备需要完成的控制功能不同。 3.什么是用户I/O程序?什么是设备驱动程序?什么是设备控制程序? 答:用户I/O程序是指用户利用操作系统提供的调用界面编写的具体I/O设备的输入输出程序。例如用户编写的用打印机输出文本的程序。 设备驱动程序是一种可以使计算机和设备通信的特殊程序。可以说相当于操作系统与硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。 设备控制程序就是驱动程序中具体对设备进行控制的程序。设备控制程序通过接口控制逻辑电路,发出控制命令字。命令字代码各位表达了要求I/O设备执行操作的控制代码,由硬件逻辑解释执行,发出控制外设的有关控制信号。 4.说明设计I/O系统的三个要素的具体内容。 答:设计I/O系统应该考虑如下三个要素: ①数据定位: I/O系统必须能够根据主机提出的要求进行设备的选择,并按照数据在设备中的地址找到相应的数据。 ②数据传输:I/O系统必须对数据传送的数量、速率及方向进行控制。 ③同步:I/O系统必须保证主机与外设间的同步,或称为协调工作。仅当设备准备好时主机才能输出数据;当数据可用时主机才能输入数据。 5.说明主机与I/O设备间的三种连接方式:总线型方式、通道方式及I/O处理机方式的优缺点。 答:①总线型连接方式 CPU通过系统总线与主存储器、I/O接口电路相连接,通过I/O接口电路进一步实现对外设的控制。 总线连接的优点:结构简单、标准化、I/O接口扩充方便。 总线连接的缺点:系统中部件之间的信息交换,均依赖于总线,总线成为系统中的速度瓶颈,因而对于配置大量外设的系统不适合。 ②通道方式 输入/输出通道是一个独立于CPU的,专门管理I/O的处理机,它具有自己的指令和程序,专门负责数据输入输出的控制和管理。通道控制方式可以做到一个通道控制多台设备与

计算机操作系统(第四版)第6章 输入输出系统1

第六章 输入输出管理

6.1 6.1 I/O系统的功能、模型和接口 6.2 I/O设备和设备控制器 6.3 中断机构和中断处理程序 6.4 设备驱动程序 6.5 与设备无关的I/O软件 6.6 用户层的I/O软件 6.7缓冲区管理 67 6.8 磁盘存储器的性能和调度68

6.1 I/O系统功能、模型和接口 1I/O 1 I/O系统基本功能 ./O系统层次结构和模型2.I/O 系统接 3.I/O接口

1 I/O 系统基本功能 ①隐藏物理设备的细节 使用方便②与设备的无关系 提高③提高CPU和I/O设备的利用率 利用率④对I/O设备进行控制 ⑤确保对设备的正确共享 共享方便 ⑥错误处理

① 隐藏物理设备的细节 Printf(“……”); Scanf “……” ();(); #include t =time(0); #includet time(0); number = rand( )#include系统你负责下 Programmer+ I/O 系统,你负责下Programmer 用户,不愿去细数磁盘的卷号、磁道,只求把数给取出来就好。

②与设备的无关系 基于因此物理设备细节的基础上实现,使用基于因此物理设备细节的基础上实现使用抽象的逻辑设备名称使用设备。/dev/printer Windows 2000以前的OS,读取U盘先要安置盘驱动程序就像当前安置打印驱动扫U盘驱动程序,就像当前安置打印驱动、扫 描驱动一样。 I/O系统,你负责设置下 系统你负责设置下

计算机组成原理(第七章 输入输出系统

第七章输入输出系统 第一节基本的输入输出方式 一、外围设备的寻址 1.统一编址:将输入输出设备中控制寄存器、数据寄存器、状态寄存器等与内存单元一样看待,将它们和内存单元联合在一起编排地址,用访问内存的指令来访问输入输出设备接口的某个寄存器,从而实现数据的输入输出。 2.单独编址:将输入输出设备中控制寄存器、数据寄存器、状态寄存器单独编排地址,用专门的控制信号进行输入输出操作。 3.CPU与外围设备进行通信有三种类型: (1)CPU向外围设备发出操作控制命令。 (2)外围设备向CPU提供状态信息。 (3)数据在CPU与外围设备之间的传递。 历年真题 1.对外设统一编址是指给每个外设设置一个地址码。(2002年) 【分析】CPU与外设之间的信息传送是通过硬件接口来实现的,各种外设的硬件接口上又都包含有多个寄存器,如控制寄存器、数据寄存器、状态寄存器等。统一编址是将外设接口上的各种寄存器等同于内存储器的存储单元,通过使用访问内存单元的指令来访问外设接口上的各个寄存器,这样就可以使用访存指令来访问外设,输入输出操作简单,程序设计比较简便。由于外设接口上的寄存器种类和数量通常不止一个,所以一个外设至少对应一个以上的内存地址。 【答案】对外设统一编址是将外设接口上的寄存器等同内存单元,给每个外设设置至少一个地址码。 二、外围设备的定时 1.外围设备的定时方式有异步传输方式和同步定时方式两种。 2.实现输入输出数据传输的方式主要有:程序控制方式、直接存储访问(DMA)方式、通道方式。程序控制方式又可分为程序查询方式和中断方式两种。 历年真题 1.对I/O数据传送的控制方式,可分为程序中断控制方式和独立编址传送控制方式两种。(2001年)【分析】对1/O数据传送的控制方式,可分为程序直接控制方式、程序中断控制方式、DMA控制方式、通道控制方式等。程序中断控制方式只是其中的一种方法,独立编址是指对1/O设备的控制寄存器、数据寄存器、状态寄存器等单独进行地址编排,使用专门的指令对其进行操作,可用在各种数据传送的控制方式中。 【答案】对1/O数据传送的控制方式,可分为:程序控制方式、DMA方式、通道控制方式等 三、程序查询输入输出方式 了解程序查询输入输出过程即可(从未考过)。 第二节中断 一、中断的基本概念 1.中断:是指CPU在接到随机产生的中断请求信号后,暂停原程序,转去执行相应的中断处理程序,以处理该随机事件,处理完毕后返回并继续执行原程序。 2.中断方式的特点:中断方式的输入输出操作可以减少CPU等待外围设备的时间,提高CPU的工作效率。 3.中断方式的应用范围:中断方式主要应用于处理复杂随机事件、控制中低速1/O。

第六章-输入输出系统讲课讲稿

第6章输入输出系统 6.1 解释以下术语 响应时间:从用户键入命令开始,到得到结果所花的时间。 可靠性:指系统从某个初始参考点开始一直连续提供服务的能力,它通常用平均无故障时间来衡量。 可用性:指系统正常工作的时间在连续两次正常服务间隔时间中所占的比率。 可信性:指服务的质量,即在多大程度上可以合理地认为服务是可靠的。 RAID :廉价磁盘冗余阵列或独立磁盘冗余阵列。 分离事务总线:将总线事务分成请求和应答两部分。在请求和应答之间的空闲时间内,总线可以供给其它的I/O 使用。采用这种技术的总线称为分离事务总线。 通道:专门负责整个计算机系统输入/输出工作的专用处理机,能执行有限的一组输入输出指令。 通道流量:指一个通道在数据传送期间,单位时间内能够传送的数据量。 虚拟DMA :它允许DMA 设备直接使用虚拟地址,并在DMA 传送的过程中由硬件将虚拟地址转换为物理地址。 异步I/O :允许进程在发出I/O 请求后继续执行,直到该进程真正访问这些数据而它们又尚未就绪时,才被挂起。 6.2 假设一台计算机的I/O 处理时间占10%,当其CPU 性能改进为原来的100倍,而I/O 性能仅改进为原来的2倍时,系统总体性能会有什么样的变化? 解:94.1690%/100 10%/21=+=加速比 6.3 RAID 有哪些分级?各有何特点? 答:(1)RAID0。亦称数据分块,即把数据分布在多个盘上,实际上是非冗余阵列,无冗余信息。(2)RAID1。亦称镜像盘,使用双备份磁盘。每当数据写入一个磁盘时,将该数据也写到另一个冗余盘,这样形成信息的两份复制品。如果一个磁盘失效,系统可以到镜像盘中获得所需要的信息。镜像是最昂贵的解决方法。特点是系统可靠性很高,但效率很低。 (3)RAID2。位交叉式海明编码阵列。即数据以位或字节交叉的方式存于各盘,采用海明编码。原理上比较优越,但冗余信息的开销太大,因此未被广泛应用。(4)RAID3。位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列。即数据以位或字节交叉的方式存于各盘,冗余的奇偶校验信息存储在一台专用盘上。(5)RAID4。专用奇偶校验独立存取盘阵列。即数据以块(块大小可变)交叉的方式存于各盘,冗余的奇偶校验信息存在一台专用盘上。(6)RAID5。块交叉分布式奇偶校验盘阵列,是旋转奇偶校验独立存取的阵列。即数据以块交叉的方式存

微型计算机第六章输入输出控制习题

CH06 输入输出控制 习题与思考题 1.CPU与外设之间的数据传输控制方式有哪几种?何谓程序控制方式?它有哪两种基本方式?请分别用流程图的形式描述其处理过程。 2.采用用查询方式将数据区DATA开始的100个字节数据在FCH端口输出,设状态端口地址为FFH,状态字的D0位为1时表示外设处于“忙”状态。试编写查询程序。 3.何谓中断优先级,它对于实时控制有什么意义?有哪几种控制中断优先级的方式?4.什么叫DMA传送方式? 其主要步骤是什么?试比较DMA传输、查询式传输及中断方式传输之间的优缺点和适用场合? 5.什么是中断向量?中断向量表的功能是什么?已知中断源的中断类型码分别是84H和FAH,它们所对应的中断向量分别为:2000H:1000H, 3000H:4000H, 这些中断向量应放在中断向量表的什么位置?如何存放?编程完成中断向量的设置。 解答:中断向量----;中断向量表----。 84H的位置:210H~213H;FAH的位置:3E8H~3EBH 0000:210H 00 10 00 20 0000:3E8H 00 40 00 30 PUSH DS MOV DX,2000H MOV DS,DX MOV DX,1000H MOV AL,84H MOV AH,25H INT 21H ; MOV DX,3000H MOV DS,DX MOV DX,4000H MOV AL,0FAH MOV AH,25H INT 21H POP DS 6.试结合8086/8088CPU可屏蔽中断的响应过程,说明向量式中断的基本处理步骤。 解答:⑴接口发中断请求信号(中断请求),若有中断优先级判别,进行判优;⑵当前指令执行完后,CPU进行中断回答(中断响应);⑶中断类型号N送CPU;⑷当前的PSW、CS、IP推入堆栈;⑸清除IF和TF;⑹(4*N)作为IP,(4*N+2)作为CS;⑺中断子程序执行(中断服务);⑻开中断;⑼IRET指令使IP、CS和PSW弹出堆栈;⑽返回被中断的程序(中断返回)。 7.在中断响应总线周期中,第一个INTA脉冲向外部电路说明什么?第二个INTA脉冲呢?解答:第一个INTA脉冲---- ·使IRR的锁存功能失效。(目的是防止此时再来中断导致中断响应的错误),到第二个

第10章 输入输出系统

第10章输入输出(I/O)系统 一、选择题(每题2分) 12.串行接口是指()。 A.主机和接口之间、接口和外设之间都采用串行传送 B.主机和接口之间串行传送,接口和外设之间并行传送 C.主机和接口之间并行传送,接口和外设之间串行传送 D.系统总线采用串行总线 【分析】主机的工作速度较快,因此主机和接口之间采用并行传送;外设的工作速度较慢,因此接口和外设之间采用串行传送。 【答案】C 35.为了便于实现多级中断,保存现场信息最有效的办法是采用______。 A 通用寄存器 B 堆栈 C 存储器 D 外存 【答案】B 35.为了便于实现多级中断,保存现场信息最有效的办法是采用______。 A 通用寄存器 B 堆栈 C 存储器 D 外存 【答案】B 70. 当采用______对设备进行编址情况下,不需要专门的I/O指令组。 A.统一编址法 B.单独编址法 C.两者都是 D.两者都不是 【答案】A 71. 下面有关“中断”的叙述,______是不正确的。 A.一旦有中断请求出现,CPU立即停止当前指令的执行,转而去受理中 断请求 B.CPU响应中断时暂停运行当前程序,自动转移到中断服务程序 C.中断方式一般适用于随机出现的服务 D.为了保证中断服务程序执行完毕以后,能正确返回到被中断的断点继 续执行程序,必须进行现场保存操作 【答案】A 95. 周期挪用(窃取)方式常用于______中。

A. 直接内存存取方式的输入/输出 B. 直接程序传送方式的输入/输出 C. CPU的某寄存器与存储器之间的直接传送 D. 程序中断方式的输入/输出 【答案】A 114. 采用DMA方式传送数据时,每传送一个数据就要用一个______时间。 A. 指令周期 B. 机器周期 C. 存储周期 D. 总线周期 【答案】C 二、填空题(每题2.5分) 3.按照传输数据格式不同划分,总线数据通信方式可分为串行总线和____________两类。 【答案】并行总线 4.对I/O数据传送的控制方式,可分为:程序直接控制方式、______________、DMA方式、_____________和外围处理机方式。 【答案】程序中断方式、通道控制方式 5.计算机系统的输入输出接口是(C)之间的交接界面。 A.CPU与存储器B.存储器与外围设备 C.主机与外围设备D.CPU与系统总线

汇编语言第六章 输入输出和WIN32编程

第六章输入/输出和中断 和WIN32编程 前面已经讲过有关输入/输出的问题,主要是用DOS中断调用INT21H来完成键盘输入以及屏幕显示。对于计算机来说,仅有这种输入/输出还不够,因为DOS的中断调用无法实现对其它外设的控制。关于如何用汇编程序实现主机与外设之间的信息交换,将是本章的主要内容。包括: 输入输出指令的使用格式及功能; 主机与外部设备之间传送数据的方式; 中断的概念及中断处理程序设计; WIN32程序设计基本方法与技术。 6.1I/O设备与数据传送方式 一.主机与外设之间数据的传送方式 计算机与外设之间传送数据有如下4中方式: 1.无条件传送方式:适合于CPU与外设同步的情况。直接传送,高速外设与主机之间数据传送。

2.查询传送方式:适合于低速外设与主机之间数据传送。 3.中断传送方式:适合于低速外设与主机之间数据传送。 4.直接存贮器(又称DMA)传送方式:适合于高速外存与主机的数据传送。 其中:无条件传送和查询传送,直接在端口上利用IN和OUT 指令传送数据。 中断传送:在DOS及BIOS层上通过系统功能调用的中断指令实现。 直接存贮方式:在端口上,采用通道技术实现。在计算机准备好接收,外设准备好传送数据时,外设向CPU发一个请求DMA 传送信号,此时CPU让出总线控制权,使外设与主存在短时间内成批传送数据。 二.外设与主机传送的接口与信息 1.端口与接口 计算机的外设都是通过接口连接到系统上,每个接口由一组寄存器组成,寄存器都有一个称为I/O端口的地址编码。 也就是,每一台外设都通过硬件接口与主机端口相连,并交换信息。

主机外设 CPU 内存 I/O 存贮空间(端口) 接口 I/O 操作 接口的组成:设备状态寄存器、设备控制寄存器、数据寄存器。上述寄存器在I/O 空间中都有固定编码。 I/O 端口的地址空间:允许设置64K 个8位端口或32K 个16位端口。对I/O 空间的访问用IN 或OUT 两个指令。 I/O 端口地址分配,可以查手册。 如:40H ~43H 时钟/定时器,60H ~63H 为8255通讯芯片的接口。 2.外设与主机的信息交换传送的信息分为三类: 1 控制信息:CPU 把控制信息从端口输出到对应外设接口的 控制寄存器中,告诉外设应做什么。 2 状态信息:把外设的状态寄存器中的内容送到对应的端 口中,以便CPU 了解外设状态。 3 数据信息:需要交换的数据(8位、16位)。

第6章_设备管理习题及答案

第六章设备管理习题 一、填空题 1.磁带是一种①的设备,它最适合的存取方法是②。磁盘是一种③的设备,磁盘在转动时经过读/写磁头所形成的圆形轨迹称为④。 【答案】①顺序存取,②顺序存取,③直接存取,④磁道(或柱面) 【解析】顺序存取的设备只有在前面的物理块被存取访问过之后,才能存取后续物理块的内容。如果按随机方式或按键存取方式存取磁带上的文件信息的话,其效率反而会更低,所以顺序存取方法更能发挥磁带这种设备的效率。磁盘设备是一种典型的直接存取设备,它允许文件系统直接存取磁盘上的任意物理块。 2.从资源分配的角度看,可以把设备分为①设备和②设备;打印机是一种典型的③设备,而磁盘是一种④设备。 【答案】①独享,②共享,③独享,④共享 【解析】独享设备:为了保证传递信息的连贯性,通常这类设备一经分配给某个作业,就在作业整个运行期间都为它独占。多数的低速设备都属于独享设备。 共享设备:是指允许若干个用户同时共享使用的设备。 3.虚拟设备是通过①技术,把②变成能为若干用户③的设备。 【答案】①SPOOLING,②独享,③共享 【解析】虚拟设备的提出是为了把原为独享的设备改造成便于共享的设备,以提高设备的利用率。这种改造就是通过SPOOLING技术来实现的。SPOOLING可以译为外围设备同时联机操作的意思。 4.UNIX系统中,所有的输入/输出设备都被看成是①。它们在使用形式上与②相同,但它们的使用是和设备管理程序紧密相连的。 【答案】①特殊文件,②普通文件 【解析】在一些操作系统中,常常把设备也看成是文件。这样的好处是:用户可以用统一的观点去使用设备,并处理存放在设备上的信息。从这个意义上来说,文件系统在用户和外设之间提供了一个接口。 5.系统中,象键盘、终端、打印机等以①为单位组织和处理信息的设备称为②;而磁盘、磁带等以③为单位组织和处理信息的设备称为④。 【答案】①字符,②字符设备,③块,④块设备 6.一个进程只有获得了①、②和所需设备三者之后,才具备了进行I/O操作的物质条件。 【答案】①通道,②控制器 7.设备分配应保证设备有高的利用率并应注意避免。 【答案】死锁问题 【解析】设备分配的总原则是要充分发挥设备的使用效率,尽可能地让设备忙,而同时又要避免由于不合理的分配方法造成进程死锁。因为进程发生死锁将使得进程中的进程处于无休止的相互等待状态,使系统的效率下降。 8.通道是一个独立于CPU、专门负责①,它控制②与内存之间的信息交换(传输)。 【答案】①输入/输出的处理机,②外设或外存 【解析】通道是一个独立于CPU的专管输入和输出控制的处理机,它有自己的通道指令,以驱动外设进行读写操作。不过这些指令需要CPU执行相应的“启动通道”指令来启动信号之后才开始执行,并在操作结束时向CPU发中断信号。 9.缓冲区可分为①、②、③和④。 【答案】①单缓冲区、②双缓冲区、③多缓冲区、④缓冲池 【解析】单缓冲是在设备和处理机之间设置一个缓冲区。设备和处理机交换数据时,先把被交换的数据写入缓冲区,然后,需要数据的设备或处理机从缓冲区取走数据。 双缓冲区是一种能够实现设备和设备、CPU和设备并行操作的简单模型,当其中一个缓冲区数据装满后,可向另一个缓冲区写入数据,同时前一个缓冲区可被访问。 多缓冲区是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。 缓冲他是把多个缓冲区连接起来统一管理,既可用于输入,又可用于输出的缓冲结构。 10.对磁盘上一物理块信息的访问要经过:①、②、③三个过程。 【答案】①寻找时间、②延迟时间、③传送时间 【解析】对移动臂磁盘的存取访问一般要经过三部分时间:首先要将磁头移动至相应的柱面上,这个时间叫做寻找时间;一旦磁头到达指定柱面,等待所访问的扇区旋转到读/写头下,叫延迟时间;实际传送所需时间叫传送时间。一次磁盘访问的时间就是以上三者之和,其中“寻找时间”所花费的时间最长。

相关文档
最新文档