微机原理与接口技术3汇编

上传人:最**** 文档编号:117488428 上传时间:2019-12-05 格式:PPTX 页数:97 大小:1.58MB
返回 下载 相关 举报
微机原理与接口技术3汇编_第1页
第1页 / 共97页
微机原理与接口技术3汇编_第2页
第2页 / 共97页
微机原理与接口技术3汇编_第3页
第3页 / 共97页
微机原理与接口技术3汇编_第4页
第4页 / 共97页
微机原理与接口技术3汇编_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《微机原理与接口技术3汇编》由会员分享,可在线阅读,更多相关《微机原理与接口技术3汇编(97页珍藏版)》请在金锄头文库上搜索。

1、侯彦利 第6章 输入/输出与中断技术 吉林大学工学部计算机硬件基础课程 微机原理与接口技术 1 第6章 输入/输出与中断技术 侯彦利 2 3 本章教学目的 n了解输入输出系统的基本知识 n了解系统总线与输入输出设备的连接方式。 n掌握简单设备接口的设计方法 n了解中断的基本概念 n了解中断的处理过程 n熟悉8088/8086中断系统 4 6.1 I/O 接口概述 通常把处理器和主存储器之外的部分称为输入输出系 统。包括输入输出设备、输入输出接口和输入输出软 件; 5 6.1.1 I/O接口的功能 (1)信号电平转换 不同规格的电平转换为TTL或者MOS电路的电平 (2)数据格式转换 串并转换或

2、数模转换 (3)速度匹配 通过缓冲或锁存保证CPU与外设传输数据时各部件都能正确 接收数据。 6 (4)数据传送 建立数据传输的逻辑关系,即规定好数据传输的过程与时 序。 (5)寻址能力 为外设的各个端口编址,使外设能被cpu访问到。 (6)错误检测功能 可进行数据校验,保证数据传输的正确性。 7 n高速的微处理器与低速的外设能够协调的工作,需要有一个 具有数据缓冲和锁存能力、数据格式转换能力、提供外设状 态和定时控制能力的连接电路,我们把它叫做输入输出接 口。 8 6.1.2 I/O接口的分类 CPU与接口之间通过系统总线传输信息,属于并行传输,传输 的信息有接口的地址信息、控制信息和数据信

3、息。 接口与设备之间可以通过串行和并行两种方式交换信息,包括 数据信息、控制信息和状态信息。 9 按接口与设备之间的数据传送方式,接口分为: 并行接口:一次传送一个字节或字的所有位。 串行接口:一位一位地传送。 10 6.2 I/O端口及其编址方式 CPU与外设进行数据传输,接口电路需要设置若干专用寄存器 ,缓冲输入输出数据,设定控制方式,保存输入输出状态信息, 这些寄存器常称为端口。 接口中可被CPU直接访问的专用寄存器专用寄存器称为端口。 端口可分为: n数据端口:CPU与外设交换数据信息; n状态端口:保存外设当前的状态信息; n控制端口:CPU向外设发出的控制信息; 11 CPU通过对

4、端口分配地址识别它们,称为编址。 CPU给每个端口分配一个地址,称为端口地址或端口号。 一个接口中的多个端口分配连续地址。 思考:专用寄存器中保存的是什么数据?这些数据可能是从 哪里来的? 12 根据传输方向,端口可分为输入端口和输出端口。 输入端口:具有“通断”控制能力 输出端口:具有锁存能力 13 D0D7 74LS244 +5V K0 K1 K2 K3 K4 K5 K6 K7 DO0 DO7 I0 I1 I2 I3 I4 I5 I6 I7 E1 E2 1 IOR A2 A3 A4 A5 A6 A7 A8 A9 A15 A10 A11 A12 A13 A14 系 统 总 线 信 号 1 取

5、8段码显示字形表基地址 MOV DX, 0FE00H AA1: MOV SI, 0 AA2: MOV AL, BX+SI;取显示字形码 OUT DX, AL 55 CALL DELAY ;调用延时子程序 INC SI CMP SI, 16 JZ AA1 JMP AA2 MOV AH, 4CH INT 21H CSEG ENDS END START 56 延时子程序 DELAY PROC NEAR;子程序开始 PUSH CX MOV CX,2FFFH SUBS:LOOPSUBS POPCX RET DELAYENDP;子程序结束 57 6.5 中断技术 58 中断的概念 n中断,是指在程序执行过

6、程中,出现某种紧急事 件,CPU暂停执行现行程序,转去执行处理该事 件的程序中断服务程序,执行完后再返回到 被暂停的程序继续执行,这一过程称为中断。 59 中断源 n引起中断的设备或事件称为中断源,计算机的 中断源可能是某个硬件部件,也可能是软件。 n常见的中断源有: 外围设备、CPU、存储器、控制器、总线、实时钟的 定时中断、程序指令、硬件故障; 60 中断的分类:内部中断和外部中断 n内部中断包括:由CPU本身产生的中断、由控制器 产生的中断、由程序员安排的中断指令引起的中 断。 n外部中断又根据中断事件的紧迫程度将中断源划分 为可屏蔽中断和不可屏蔽中断。 q可屏蔽中断是指可以延时处理的事

7、件,例如打印机的 输入输出中断请求。 q不可屏蔽中断是指事件异常紧急,必须马上处理,例 如掉电、内存奇偶校验错引起的中断。 61 6.6 中断处理的基本过程 中断处理的基本过程包括中断请求、中断判优、 中断响应、中断服务和中断返回。 62 6.6.1 中断请求 n内部中断无需请求 n外部中断请求由中断源提出。 qCPU的两个中断输入引脚INTR和NMI负责接收中断 请求信号。 qINTR可屏蔽中断请求输入引脚。 n可屏蔽中断请求信号一般为高电平。受中断允许标志位IF 的影响,当IF=1时,CPU接受中断请求;当IF=0时, CPU不予响应,该请求被屏蔽。 qNMI不可屏蔽中断请求输入引脚,上升

8、沿触发。 63 64 6.6.2 中断判优 nCPU一次只能接受一个中断源的请求。 n多个中断源同时向CPU提出中断请求时,CPU必须 找出中断优先级最高的中断源,这一过程称为中断 判优。 n中断判优可以采用硬件方法,也可采用软件方法。 65 软件判优 CPU检测到中断请求后,响应中断进入中断服务程序 ,首先读取中断寄存器的内容,逐位检测它们的状 态,检测到某一位为1,就确定对应的中断源有中断 请求,转去执行它的中断服务程序。先检测哪一个 ,哪一个的优先级就高,后检测哪一个,哪一个优 先级就低,检测的顺序就是各中断源的优先级顺 序。 66 软件判优的简单电路 67 查询程序: MOV DX,

9、87FFH IN AL, DX ;读中断请求寄存器内容 RCR AL, 1 JC IR0 ;IRQ0有请求,转IR0 RCR AL,1 JC IR1 ;IRQ1有请求,转IR1 RCR AL,1 JC IR2 ;IRQ2有请求,转IR2 软件判优的硬件电路简单,优先权安排灵活,但软件判优所花 的时间长,如果中断源很多,中断的实时性就很差。 68 硬件判优 n两种常见的方式:菊花链判优电路和中断控制器 判优。 69 1. 菊花链判优电路 n基本设计思想:每个中断源都有一个中断逻辑电路 ,所有的中断逻辑电路连成一条链,形如菊花。排 在链前端的中断源优先级最高,越靠后的设备优先 级越低。CPU收到中

10、断请求,如果允许中断,CPU 发出中断应答信号INTA,INTA信号首先到达菊花 链的前端。 70 INTA 71 n如果中断源1提出了中断请求,它就会截获INTA信 号,封锁它,使它不能向下一个中断源传送,下面 中断源的中断请求不能被响应。 72 中断控制器判优 nCPU根据中断向量码确定中断源。 n中断控制器中,有一个中断优先级判别器判断中断优先级, 将优先级最高的中断源的中断向量码提供给CPU。 73 6.6.3 中断响应 中断响应时,CPU向中断源发出中断应答信号INTA, 同时: 保护硬件现场,即将标志寄存器FLAGS入栈; 关中断,即设置IF=0; 保护断点,把主程序断点的CS 和

11、IP值压入堆栈; 获得中断服务程序的入口地址,分别送入IP和CS 中。 74 6.6.4 中断服务 n中断服务的过程: q保护现场 q开中断 q中断服务 q恢复现场 q返回 75 6.6.5 中断返回 n中断返回操作是中断响应操作的逆过程,CPU从堆 栈中弹出IP、CS和FLAGS,恢复被中断程序的基本 信息,使被中断程序继续运行。 n在中断服务程序的最后一条语句IRET的功能就是中 断返回的操作。 76 6.7 8086/8088中断系统 8086/8088CPU的中断系统可以处理256种中断。每种中 断对应一个编号,范围0255,这个编号称为中断源的中 断类型码或中断向量码。 77 中断分

12、为两类:内部中断和外部中断。外部中断又分 为可屏蔽中断和不可屏蔽中断两类。 78 1. 外部中断 n不可屏蔽中断 q编号为2 qNMI是不可屏蔽中断请求信号的输入端。 q优先级最高。 qCPU不需获取中断向量码,不发送INTA,直接查中断 向量表获得中断服务程序的入口地址。 q不可屏蔽中断用于处理紧急事件,如存储器读/写出 错、电源掉电等。 79 n可屏蔽中断 qINTR是可屏蔽中断请求信号的输入端。 qCPU收到中断请求信号后,检测中断允许标志位IF, 若IF=1,CPU准备响应INTR请求;若IF=0时,CPU 屏蔽INTR请求。 q中断标志位IF可以用指令STI和CLI进行设置。 q可屏

13、蔽中断的优先级低于不可屏蔽中断。 80 2. 内部中断 n内部中断包括: qINT n qINT3 qINTO指令 q除法错中断 q单步中断。 81 INT n qCPU执行INT n指令,产生中断向量码为n的中断。n的 取值范围0255。不管是内部中断还是外部中断都可以 通过INT n指令调用其中断服务程序。 INT3 qCPU执行INT3指令引起的中断,称为断点中断,中断向 量码为3。这是个单字节指令,代码为0CCH。在调试程 序时用这条指令设置断点。 82 INTO指令 4号 qCPU执行INTO指令时,检测溢出标志位OF,如果 OF=1,则产生中断向量码为4的中断。若OF=0, INT

14、O指令不起作用。 MOV BL,126 MOV AL,5 ADD AL,BL ;OF=1 INTO ;执行溢出中断服务程序 83 除法错中断 0号 q执行除法指令时,除数为0或商数超出了结果寄存器的 取值范围,产生中断,中断向量码为0。这个中断的处 理过程一般由系统软件负责。 单步中断 1号 q也叫陷阱中断,中断向量码为1。标志寄存器的标志位 TF=1产生的中断,TF也叫陷阱(Trap)标志。如果 TF=1,CPU 执行一条指令后产生单步中断。单步中 断常用于调试程序。 84 3.中断优先级与中断嵌套 n8088/8086系统的中断优先级如下: q不可屏蔽中断除法错中断INT nINTO可屏蔽

15、中断单 步中断 n中断可以嵌套 8088/8086中断的处理流程 nCPU在每条指令的最后一个时钟周期检测中断请求 信号: (1). 若有非屏蔽中断请求,则CPU执行完现行指令后 ,就立即响应中断。2号。 85 86 (2). 如果有可屏蔽中断请求,CPU响应中断需要满足4个条件: CPU处于开中断状态,即IF=1; 当前没有发生复位、没有总线请求、没有内部中断、没有 不可屏蔽中断; 当前执行的指令不是开中断指令STI,也不是中断返回指令 IRET。如果刚巧是,CPU将它们执行结束后,再执行一条 指令,CPU才能响应中断。 CPU执行完现行指令。 (3). 进入中断响应阶段,CPU向中断源发出

16、中断应答信号INTA ,同时: 保护硬件现场,即将标志寄存器FLAGS入栈; 关中断,即设置IF=0; 保护断点,把主程序断点的CS 和IP值压入堆栈; 通过中断向量码查中断向量表,获得中断服务程序的入口 地址,分别送入IP和CS中。 87 (4). 中断服务 执行中断服务程序 (5). 中断返回 IRET 88 89 4. 中断向量表 n8086为每个中断源分配了一个编号,称为中断类型码或 中断向量码。 n中断向量:中断服务程序的入口地址。 n中断向量表:将中断向量按一定的规律排列成表。 90 中断向量表 91 n256个中断向量 n每个向量(入口地址)需要4个内存单元,256种 中断共需要1K个内存单元。 n8088/8086系统中的中断向量表位于内存低地址 00000003FFH的存储区内。 92 中断向量的存放首地址=4n 如:中断类型码为21H 则中断向量的存放首地址为: 0000:008

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

最新文档


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

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