中断服务程序流程图

上传人:wt****50 文档编号:32730973 上传时间:2018-02-12 格式:DOC 页数:15 大小:1.38MB
返回 下载 相关 举报
中断服务程序流程图_第1页
第1页 / 共15页
中断服务程序流程图_第2页
第2页 / 共15页
中断服务程序流程图_第3页
第3页 / 共15页
中断服务程序流程图_第4页
第4页 / 共15页
中断服务程序流程图_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《中断服务程序流程图》由会员分享,可在线阅读,更多相关《中断服务程序流程图(15页珍藏版)》请在金锄头文库上搜索。

1、- 1 -第一讲:第六章I/O 接口原理-接口、端口、编址回 顾 :微机系统的层次结构, CPU、主机、接口电路及外部设备之间的结构关联,输入/输出的一般概念。重点和纲要:微机系统主机与外部设备之间的数据传送,包括 I/O 端口的寻址方式,输入/输出的传送控制方式。教学方法、实施步骤 时间分配 教学手段回 顾 5”2讲 授 40” 2提 问 3” 2小 结 2” 2板书计算机投影仪多媒体课件等讲授内容:6. 1 输入/输出数据的传输控制方式一、输入/输出的一般概念1 引言输入/输出是微机系统与外部设备进行信息交换的过程。输入 /输出设备称为外部设备,与存储器相比,外部设备有其本身的特点,存储器

2、较为标准,而外部设备则比较复杂,性能的离散性比较大,不同的外部设备,其结构方式不同,有机械式、电动式、电子式等;输入/输出的信号类型也不相同,有数字信号,也有模拟信号;有电信号,也有非电信号;输入/输出信息的速率也相差很大。因此,CPU 与外部设备之间的信息交换技术比较复杂。CPU 与外设之间的信息交换,是通过它们之间接口电路中的 I/O 端口来进行的,由于同一个外部设备与 CPU 之间所要传送的信息类型不同,方向不同,作用也不一样(例如数据信息、状态信息、控制信息、输入/输出等) ,所以接口电路中可以设置多个端口来分别处理这些不同的信息。2输入/输出端口的寻址方式微机系统采用总线结构形式,即

3、通过一组总线来连接组成系统的各个功能部件(包括 CPU、内存、 I/O 端口) ,CPU 、内存、 I/O 端口之间的信息交换都是通过总线来进行的,如何区分不同的内存单元和 I/O 端口,是输入/ 输出寻址方式所要讨论解决的问题。- 2 -根据微机系统的不同,输入/输出的寻址方式通常有两种形式:(1)存储器对应的输入、输出寻址方式这种方式又称为存储器统一编址寻址方式或存储器映象寻址方式。方法: 把外设的一个端口与存储器的一个单元作同等对待,每一个 I/O 端口都有一个确定的端口地址,CPU 与 I/O 端口之间的信息交换,与存储单元的读写过程一样,内存单元与 I/O 端口的不同,只在于它们具有

4、不同的的地址。优点:CPU 对 I/O 端口的读/ 写操作可以使用全部存储器的读/ 写操作指令,也可以用对存储器的不同寻址方式来对 I/O 端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。内存与外设地址的分配,可以用统一的分布图。不需要专门的输入、输出操作指令。缺点: 内存与 I/O 端口统一编址时,在地址总线根数一定的情况下,使系统中实际可以直接寻址的内存单元数减少。一般情况下,系统中 I/O 端口数远小于内存单元数,所以在用直接寻址方式来寻址这些端口时,要表示一个端口地址,必须用与表示内存单元地址相同的字节数,使得指令代码较长,相应地读/写执行时间也较长,这对提高系统的运行速度是不

5、利的。Mortorola 公司的 M6800CPU 等均采用这种寻址 I/O 端口的方式。3. CPU 与外设之间所传送的信息类型CPU 与 I/O 端口之间所交换的信息,可以有下列几种类型:数据信息:包括数字量、模拟量、开关量等,可以输入、也可以输出 状态信息:这是 I/O 端口送给 CPU 的有关本端口所对应的外设当前状态的信息。供 CPU 进行分析、判断、决策。控制信息:这是 CPU 送给 I/O 端口的控制命令,使相应的外部设备完成特定的操作。数据信息、状态信息和控制信息是不同类型的信息,它们所起的作用也不一样。但在 8086/8088 微机系统中,这三种不同类型的信息的输入、输出过程

6、是相同的。为了加以区分,可以使它们具有不同的端口地址,在端口地址相同的情况下,可以规定操作的顺序,或者在输入/输出的数据中设置特征位。- 3 -二、 CPU 与外设之间输入/输出数据的传输控制方式CPU 与外设之间传输数据的控制方式通常有三种:程序方式、中断方式和DMA 方式。1.程序方式指用输入 /输出指令,来控制信息传输的方式 ,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。 无条件传送方式条件 :利用程控方式与外设交换信息时,如果输入/输出的时刻,都可以保证外设总是处于“准备好”状态,则可以直接利用输入/输出指令进行信息的输入/输出操作。图 5-1如

7、图 5-1,从硬件电路上来看:输入:加三态缓冲器(控制端由地址译码信号和 信号选中,CPU 用 IN 指令)RD输出:加锁存器(控制端由地址译码信号和 信号选中,CPU 用 OUT 指令)W这种方式下的硬、软件设计都比较简单,但应用的局限性较大,因为很难保证外设在每次信息传送时都处于“准备好”状态,一般只用在诸如开关控制、七段数码管的显示控制等场合。 条件传送方式又称查询方式,即 通过程序查询相应设备的状态,若状态不符合,则 CPU不能进行输入 /输出操作,需要等待;只有当状态信号符合要求时, CPU 才能进行相应的输入 /输出操作 。一般外设均可以提供一些反映其状态的信号,如对输入设备来说,

8、它能够提供“准备好”(“READY” )信号, “READY” 1 表示输入数据已准备好。输出设备则提供“忙”(“BUSY”)信号, “BUSY”1 表示当前时刻不能接收 CPU 来的数据,只有当“BUSY ”0 时,才表明它可以接受来自于 CPU 的输出数据。- 4 -过程 : 输入操作的程序流程如图 5-2 所示:对 READY 的状态查询,是通过读状态端口的相应位来实现的,输出的情况亦大致相同,这种传送控制方式的最大优点是,能够保证输入/输出数据的正确性。 输入接口以输入设备将数据送入锁存,发选通信号开始,READY1CPU 查询(读 READY)读数据清除 READY。 见图 53 图

9、 52 输出接口CPU 送数据至锁存器,发选通信号,a。通知外设取数据; b。BUSY 输出设备取完数据ACK清 BUSYCPU 查询。见图 54图 5-3图 5-4- 5 -例 1 假设从某输入设备上输入一组数据送缓冲区,接口电路如图 5-3,若缓冲区已满则输出一组信息“BOFFER OVERFLOW”,然后结束。设该设备的启动地址为 0FCH,数据端口为 0F8H,状态端口为 FAH。程序如下:DATA SEGMENTMESS1 DB “BUFFER OVERFLOW”, “$”BUFF DB 60 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS

10、:DATASTART:MOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFF;送缓冲区指针MOV CX,60;送计数初值OUT 0FCH,AL;启动设备WAIT:IN AL,OFAH;查询状态,若为 0,则等待TEST AL,01HJZ WAITIN AL,0F8H;输入数据MOV BX,ALINC BXLOOP WAIT ;检测缓冲区是否满,不满再输入MOV DX,OFFSET MESS1;缓冲区满,输出标志字符串MOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START 优先级问题当 CPU 需对多个设备进行查询时,就出现

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

12、O 接口原理 -中断方式、DMA 方式 回 顾: 微机系统主机与外部设备之间的数据传送,包括 I/O 端口的寻址方式,输入/输出的传送控制方式。重点和纲要:I/O 接口原理(中断方式、DMA 方式) 。教学方法、实施步骤 时间分配 教学手段回 顾 5”2讲 授 40” 2提 问 3” 2小 结 2” 2板书计算机投影仪多媒体课件等讲授内容:1. 中断传送方式(1)为什么要采用中断传送方式从查询式的传输过程可以看出,它的优点是硬件开销小,使用起来比较简单。但在此方式下,CPU 要不断地查询外设的状态,当外设未准备好时,CPU 就只能循环等待,不能执行其它程序,这样就浪费了 CPU 的大量时间,降

13、低了主机的利用率。为了解决这个矛盾,我们提出了 中断传送方式 :即当 CPU 进行主程序操作时,外设的数据已存入输入端口的数据寄存器;或端口的数据输出寄存器已空,由外设通过接口电路向 CPU 发出中断请求信号,CPU 在满足一定的条件下,暂停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后 CPU 即返回继续执行原来被中断的主程序。这样CPU 就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高。能够向 CPU 发出中断请求的设备或事件称为 中断源 。微机系统引入中断机制后,使 CPU与外设(甚至多个外设)处于并行工作

14、状态,便于实现信息的实时处理和系统的故障处理。中断方式的原理示意图如图 5-6 所- 7 -示。 (2)中断方式下的接口电路 图 5-6中断方式提高了 CPU 的工作效率,但是它同时也提高了系统的硬件开销。因为系统需增加含有中断功能接口电路,用来产生中断请求信号。以输入方式为例,接口电路如图 57 所示。图 5-7数据输入的过程 :当外设发 STB数据入锁存器,中断请求触发器置 1若没有屏蔽则产生 INTRCPU 满足条件(允许中断;指令执行完)发 (进INTA入中断服务子程序)读数据,发 ,和地址清中断请求触发器,数据送RDD0D 7。 (输出过程请自己思考)(3)中断优先级问题的提出:当系

15、统中有多个设备提出中断请求时,就有一个该响应谁的问题,也就是一个优先级的问题,解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。下面分别介绍:软件查询法只需有简单的硬件电路,如将 A、B 、C 三台设备的中断请求信号“或”后作为系统INTR,这时,A、B、C 三台设备中只要至少有一台设备提出中断请求,都可以向 CPU 发中断请求。进入中断服务子程- 8 -序后,再用软件查询的方式分别对不同的设备的服务,查询程序的设计思想同查询式,查询的前后顺序就给出了设备的优先级,框图如图所示。简单硬件方法以链式中断优先权排队电路为例,基本设计思想 :将所有的设备连成一条链,靠近 CPU 的设备优先级最高,越远的设备优先级别越低,则发出中断响应信号,若级别高的设备发出了中断请求,在它接到中断响应信号的同时,封锁其后的较低级设备使得它们的中断请求不能响应,只有等它的中断服务结束以后才开放,允许为低级的设备服务。如图所示。专用硬件方式采用可编程的中断控制器芯片,如 Intel8259A。图 5-11中断控制器的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑机械

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号