第06章.输入与输出中断

上传人:今*** 文档编号:108450577 上传时间:2019-10-24 格式:PPT 页数:56 大小:3.34MB
返回 下载 相关 举报
第06章.输入与输出中断_第1页
第1页 / 共56页
第06章.输入与输出中断_第2页
第2页 / 共56页
第06章.输入与输出中断_第3页
第3页 / 共56页
第06章.输入与输出中断_第4页
第4页 / 共56页
第06章.输入与输出中断_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《第06章.输入与输出中断》由会员分享,可在线阅读,更多相关《第06章.输入与输出中断(56页珍藏版)》请在金锄头文库上搜索。

1、6.1 输入输出接口概述 6.2 CPU与外设数据传送的方式 6.3 中断技术 6.4 8086/8088的中断系统和中断处理,第6章 输入输出与中断,6.1 输入输出接口概述,计算机在应用中,必然同各种各样的外设打交道. 外设与计算机的连接不能像存储器那样直接挂到总线(DB、AB、CB)上,而必须通过各自的专用接口电路(接口芯片)与主机连接.,一、 CPU与外设间的连接,为什么需要I/O接口(电路)? 微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 它们不能与CPU直接相连 必须经过中间电路再与系统相连 这部分电路被称为I/O接口电路,多种外设,什么是I/

2、O接口(电路)? I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,二、接口电路的基本结构, 数据寄存器 输入数据寄存器:保存外设给CPU的数据 输出数据寄存器:保存CPU给外设的数据 状态寄存器 保存外设或接口电路的状态 控制寄存器 保存CPU给外设或接口电路的命令,接口电路的信息可分为3类:数据信息;状态信息;控制信息。,(一)数据信息,数据信息包括: 1)数字量 2)模拟量 3)开关量:,(二) 状态信息,反映外设当前所处工作状态的信息,以作为CPU与外设间可靠交换数据的条件。,(三) 控制信

3、息,用于控制外设的启动或停止。,(1) 3种信息应通过不同的端口分别传送。如数据输入/输出寄存器(缓冲器)、状态寄存器与命令控制寄存器各占一个端口,每个端口都有自己的端口地址 (2) 外设的状态作为一种输入数据,而CPU的控制命令,是作为一种输出数据,从而可通过数据总线来分别传送。 (3) 端口地址由CPU地址总线的低8位或低16位地址信息来确定,CPU根据IO指令提供的端口地址来寻址端口,然后同外设交换信息。,不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号称为端口地址,8088/8086 CPU的I/O编址方式 地址线上的地址信号用 来区分: 时为I/O地址 I/O操作

4、只使用20根地址线中的16根: A15 A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0FFFFH,80x86采用I/O端口独立编址,6.2 CPU与外设之间数据传送的方式,CPU与外设之间的数据传送,通常采用以下3种I/O传送方式 程序传送 中断传送 DMA传送,一、程序传送,CPU与外设间的数据交换在程序控制(即IN或OUT指令控制)下进行,(一) 无条件传送(又称同步传送),适用于总是处于准备好状态的外设 以下外设可采用无条件传送方式: 开关 发光器件(如发光二极管、7段数码管、灯泡等) 继电器 步进电机 优点:软件及接口硬件简单 缺点:只适用于简单外设,适应范围较

5、窄,输入输出(无条件程序传送)原理图,输入缓冲与输出锁存,当CPU执行IN指令时,外设的数据是已准备好的,否则就会读错。 在CPU执行OUT指令时,必须确信所选外设的锁存器是空的,适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。 CPU在与外设交换数据前必须询问外设状态“你准备好没有?” 对外设的要求:应提供设备状态信息 对接口的要求:需要提供状态端口 优点:软件比较简单 缺点:CPU效率低,数据传送的实时性差, 速度较慢,此条件是:在执行输入(IN指令)或输出(OUT指令)前,要先查询接口中状态寄存器的状态。输入时,由该状态信息指示要输入的数据是否已“准备就绪”;而输出时,

6、又由它指示输出设备是否“空闲”,由此条件来决定执行输入或输出。,(二)程序查询传送(条件传送异步传送),程序查询输入,入,入,查询输入部分的程序: POLL: IN AL,STATUSPORT ;读状态端口的信息 TEST AL,80 ;设“准备就绪”(READY)信息 在D7位 JZ POLL ;未“准备就绪”,则循环再查 IN AL,DATA_PORT ;已“准备就绪”(READY=1),则 读入数据,查询输出,. 程序查询输出,查询输出,查询输出部分的程序: POLL: IN AL,STATUS_PORT ;查状态端口中的状态信息D7 TEST AL,80H JNZ POLL; ;D71

7、即忙线1,则循环再查 MOV AL,STORE ;否则,外设空闲,由内存读取数据 OUT DATA_PORT,AL ;输出到DATA地址端口单元,中断是外设或其他中断源中止CPU当前正在执行的程序,而转向为该外设服务(如完成它与CPU之间传送一个数据)的程序,一旦服务结束,又返回原程序继续工作。 CPU在每一条指令执行的结尾阶段,均查询是否有中断请求信号,若有,则暂停执行现行的程序,转去为申请中断的某个外设服务,以完成数据传送。,二、 中断传送,CPU无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断CPU正在进行的工作,让CPU来为其服务。大大提高了CPU的利用率。 优点:CPU效

8、率高,实时性好,速度快。 缺点:程序编制较为复杂。,特点:,三、 直接存储器存取()传送,前面三种I/O方式都需要CPU作为中介: 外设 CPU 内存 两个含义: 1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的; 2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。 缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒) 解决:DMA传输,DMA传输: 外设 内存 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者; 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DM

9、AC提供。 优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒),DMA的数据传输形式: 基本的 MEMI/O 和扩充的 MEMMEM I/O I/O,无条件传送流程,查询传送流程,DMA传送流程,中断传送流程,6.3 中断技术,一、中断概述,(一) 中断与中断源,所谓中断源,即引起中断的事件或原因,或发出中断申请的来源,(1)外部设备 (2)实时时钟: (3)故障源: (4)为调试程序设置的中断源:,中断源的种类,(二) 中断系统及其功能,中断系统应具有下列功能: 1. 能响应中断、处理中断与返回 是否响应该中断请求? HOW TO保护断点

10、和现场 找中断服务程序的入口 恢复现场和断点 返回断点,2. 能实现优先权排队 有可能出现两个或两个以上中断源同时提出中断请求 3. 高级中断源能中断低级的中断,二、 单个中断源的中断,简单的中断过程应包括:中断请求、中断响应、中断处理和中断返回等环节。,(一) 中断源向CPU发中断请求信号的条件,1. 设置中断请求触发器,每一个中断源,要能向CPU发中断请求信号,首先应能由它的接口电路提出中断请求,且该请求能保持着,直至CPU接受并响应该中断请求后,才能清除它。 为此,要求在每个中断源的接口电路中设置一个中断请求触发器A,由它产生中断请求,即QA=1,2设置中断屏蔽触发器,(二) CPU响应

11、中断的条件,1CPU开放中断,2 CPU在现行指令结束后响应中断,1关中断 2保留断点 3保护现场 4给出中断入口(地址),转入相应的中断服务程序 5恢复现场 6开中断与返回,8086/8088是由中断源提供中断类型号,并根据中断类型号在中断向量表中取得中断服务程序的起始地址,(三) CPU响应中断及处理过程,三、 向量中断,向量中断(Vectored Interrupt),是指通过中断向量来找中断入口地址进而转向中断服务程序的一种方法;而中断向量则是用来提供中断入口地址的一个地址指针,四、中断优先权,多个中断源,而CPU的可屏蔽中断请求线往往只有一条。,CPU 可以通过软件查询技术或硬件排队

12、电路两种方法来实现按中断优先权对多个中断源的管理 也有专门用于协助CPU 按中断优先权处理多个中断源的中断控制芯片,6.4 8086/8088的中断系统和中断处理,一、8086/8088的中断系统,8086/8088每个不同的中断都可以通过给定一个特定的中断类型号(或中断类型码)供CPU识别,来处理多达256种类型的中断。,可屏蔽中断是由用户定义的外部硬件中断 当8086/8088CPU的INTR引脚上出现一高电平有效请求信号时,它必须保持到当前指令的结束。这是因为CPU只在每条指令的最后一个时钟周期才对INTR引脚的状态进行采样 如果CPU采样到有INTR产生,它是否响应还要取决于IF的状态

13、。若IF=0,此时CPU是处于关中断状态,则不响应INTR;若IF=1,则CPU是处于开中断状态,将响应INTR,并通过INTA引脚向产生INTR的设备接口(中断源)发回响应信号,启动中断过程。 CPU在发回第2个中断响应信号INTA时,将使发出中断请求信号的接口把1字节的中断类型号通过数据总线传送给CPU 中断允许标志IF位的状态可用指令STI使其置位,即开中断;也可用CLI指令使其复位,即关中断 在系统复位以后或任一种中断被响应以后,IF=0,(一) 外部中断,.可屏蔽中断,当8086/8088 CPU的NMI引脚上出现一上升沿的边沿触发有效请求信号时,它将由CPU内部的锁存器将其锁存起来

14、。 8086/8088要求NMI上的请求脉冲的有效宽度(高电平的持续时间)大于两个时钟周期。 一旦此中断请求信号产生,不管标志位IF的状态如何,即使在关中断(IF=0)的情况下,CPU也能响应它。,. 非屏蔽中断,在IBM PC机中的非屏蔽中断源有3种: 系统板上RAM的奇偶校验错, 扩展槽中的I/O通道错 浮点运算协处理器8087的中断请求,INTR和NMI引脚上同时都有中断请求信号,则CPU将首先响应NMI引脚上的中断请求 NMI的中断类型号为2,.除法出错中断类型0 执行DIVs(除法)或IDVs(整数除法)指令时,若发现 除数为0或商数超过了寄存器所能表达的范围 .溢出中断类型4 若上

15、一条指令执行的结果使溢出标志位置1(OF=1),则在 执行溢出中断(INTO)指令时,将引起类型4的内部中断。若OF=0 时,则本指令执行空操作,即此指令不起作用,程序执行下一条指令。,(二)内部中断,. 单步中断类型1,当TF被置位(TF1)时,8086/8088处于单步工作方式,即CPU每执行完一条指令后就自动地产生一个类型1的内部中断,CPU响应单步中断后将自动把状态标志压入堆栈,然后清除TF和IF标志位 中断返回时TF位又被重新恢复(TF=1),所以CPU在中断返回以后仍然处于单步工作方式,. 断点中断类型3,断点中断指令主要用于软件调试中,程序员可用它在程序中设置一个程序断点。,.

16、用户定义的软件中断类型n,由用户定义的双字节的中断指令INT n,其第1个字节为INT的操作码,第2个字节n是它的中断类型号 1、FLAG压入堆栈 2、清除IF,TF 3、保护断点CS,IP 4、取中断入口地址转入中断服务程序,(三) 内部中断的特点,(1)内部中断由一条INT n指令直接产生,其中断类型号n或者包括在指令中,或者已由系统预先定义。 (2)除单步中断以外,所有内部中断都不能被屏蔽。 (3)所有内部中断都没有中断响应INTA机器总线周期,这是因为内部中断不必通过查询外部来获得中断类型号。 (4)除了单步中断以外,所有内部中断的优先权都比外部中断的优先权高,怎么取中断入口地址?(中断向量表 P218),1、内存低地址部分中有中断入口地址表 2、中断入口地址表(中断向量表)用4个字节存放着中断向量的值

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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