微机课件第9章znn

上传人:E**** 文档编号:90922805 上传时间:2019-06-20 格式:PPT 页数:106 大小:1.29MB
返回 下载 相关 举报
微机课件第9章znn_第1页
第1页 / 共106页
微机课件第9章znn_第2页
第2页 / 共106页
微机课件第9章znn_第3页
第3页 / 共106页
微机课件第9章znn_第4页
第4页 / 共106页
微机课件第9章znn_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《微机课件第9章znn》由会员分享,可在线阅读,更多相关《微机课件第9章znn(106页珍藏版)》请在金锄头文库上搜索。

1、第 九 章 中断系统与 8259A 中断控制器,.1 中断的基本概念,复习CPU与外设信息交换的控制方式种类 以查询方式输入为例,当外设数据未准备好时, CPU需要不断查询外设是否准备好的状态,效率低,1.中断方式示意 (以输入中断为例),中断基本概念,2. 什么是中断?,CPU暂停执行现行程序,转而处理随机事件,处理完毕后再返回被中断的程序,这一全过程称为中断。,3. 中断源 能够引发CPU中断的信息源,(1)外部中断源(硬件中断源) I/O设备 如键盘、显示器、打印机 数据通道 如磁带、磁盘 时钟 如8254 0#,由此引发的中断 故障源 如掉电、存贮器奇偶校验错 (2)内部中断源(软件中

2、断源) 执行INT软件中断指令 如执行指令INT 21H CPU指令执行产生的异常 如被0除、单步执行,中断基本概念,选通信号,4. 具有中断请求功能的输入接口示意图,输 入 设 备,锁 存 器 (8),三态 缓冲 器 (8),CPU 数据线,R D Q,+5 V,中断请求 触发器,Q D,中断允许触发器,数据线D0位,地址译码器,INTR,地址总线,IOW,IOR,控制口选中,数据口选中,中断基本概念,5. 中断系统 为实现中断而采取的硬件和软件的确集合。,6.中断系统应具备的基本功能,对于硬件中断,接口电路应具备屏蔽和开放的功能,这种功能由程序员通过软件去控制。,能实现中断判优(中断排队)

3、,当有多个中断源提出请求时,应能优先响应高级别的中断源。,中断基本概念,能够实现中断嵌套,即高级别的中断源能够中断低级别的中断服务程序。,响应中断后,能自动转入中断处理,处理完毕能自动返回断点。,设“B” 级别高于“A”,中断基本概念,1. 开中断指令 STI 功能:使F寄存器中I标志置1,CPU处于开中断状态。,2. 关中断指令 CLI 功能:使F寄存器中I标志置0,CPU处于关中断状态。,3. 软件中断指令 INT n n为中断类型码,n为0255之间有定义的无符号整数。 功能:无条件转向n型中断服务子程序。,.2 80X86的中断指令,INT n 指令的执行过程CPU响应软件中断的过程,

4、 F寄存器栈(保存INT n 之前的F状态) 使F中的T标志置0禁止单步操作 I标志置0CPU处于关中断状态, 断口地址栈 先:断口基地址(CS) 栈,后:断口偏移地址(IP)栈, CPU从4n 4n+3单元取出n型服务程序入口地址 IP:CS,从而转入n型中断服务程序。,80X86中断指令,4. 中断返回指令 IRET,功能:依次从栈顶弹出6个元素 IP,CS,F 如果栈顶是INT n 的断口地址,则执行 IRET后,返回断点,否则不能。,执行INT n 栈顶示意图,执行IRET 示意图,sp ,IRET 是中断服务子程序的出口指令,80X86中断指令,.3 中断向量,什么是中断向量? 中断

5、向量是实模式下,中断服务子程序的 入口地址,它由2部分组成: 服务程序所在代码段的段基址 2 个字节 服务程序入口的偏移地址 2 个字节,2. 中断向量表,每个中断都指定了一个类型码,也称为中断号。 每一种中断对应有一个中断服务程序(Interrupt Service Program ISP ),中断类型码通过一个地址指针表与中断服务程序的入口地址相联系: 实模式下: 该表称为中断向量表; 保护模式下:该表称为中断描述符表。,3. 中断向量表的设置 CPU规定:在实模式下,中断向量表需设置在系统的RAM最低端的1K单元 (00000H 003FFH),中断向量,4. 中断向量表的表地址与中断类

6、型的关系,如:“21H”型中断向量:存放在84H 87H单元中 问:9CH型中断向量存放在何处?,解: 9CH 4=1001110000=270H 9CH型中断向量存于 270H 273H单元中,中断向量,5. 中断向量的引导作用,CPU响应软件中断的过程,中断向量,6. 中断向量表的初始化,由BIOS设计的中断服务程序(如INT 16H , INT 10H) 其中断向量在加电时由BIOS负责写入中断向量表。,由DOS设计的中断服务程序(如 INT 21H)其中断向量是在启动DOS时,由DOS负责写入中断向量表。,用户程序开发的中断服务程序,由用户程序写入其中断向量。,中断向量,问题:用户如何

7、向中断向量表中写入中断向量?,中断向量,方法一、用户自己编写程序填写中断向量 CLI PUSH DS MOV AX, 0000H MOV DS, AX MOV BX, 4*n MOV AX, OFFSET SERVICE MOV BX, AX MOV AX, SEG SERVICE MOV BX+2, AX POP DS STI,中断向量,方法二、 DOS设计2个子程序,专门用于中断向量的读出、写入, INT 21H 的35H子功能 功能:读出n型中断向量 入口:AL=中断类型码 出口:ES:BX=n型中断向量, INT 21H 的25H子功能 功能:写入n型中断向量 入口:DS=中断服务程序

8、所在代码段的段基址 DX=中断服务程序入口的偏移地址 AL=中断类型码 出口:无,中断向量,例:把用户程序中以“TIMER”命名的中断服务子程序 的入口地址 4 1CH 4 1CH+3单元,中断向量,.4 系统中断的分类,系统中断的分类,1. CPU中断,CPU中断是指:CPU执行某些操作而引发的中断,这类中断使用了0、1、3、4、6、7中断号。,(1) 除法错中断 0型中断,(2) 单步中断 1型中断,(3) 断点中断 3型中断,(4) 溢出中断 4型中断,系统中断的分类,2. 软件中断,执行有定义的INT n指令而引发的中断,称为软件中断。,软件中断使用05H,10HFFH中的若干个中断号

9、。又分为:,(1) BIOS中断 BIOS中断,占用了05H、10H1FH中断号,用户程序执 行相关的软中断指令可以调用相应的中断服务程序。,INT 05H 屏幕打印; INT 10H 屏幕显示 I/O; INT 11H 设备配置检测;,系统中断的分类,INT 12H 测试内存容量; INT 13H 磁盘I/O; INT 14H 串行通信 I/O; INT 15H BIOS扩展功能; INT 16H 键盘I/O; INT 17H 打印机I/O; INT 18H 启动PC机ROM BASIC(AT机)无; INT 19H 重新装入引导程序; INT 1AH 实时时钟管理。,中断号1DH,1EH,

10、1FH,41H,46H也被BIOS占用了。但是,与这些中断号对应的并不是中断服务程序。,系统中断的分类,(2) DOS中断 DOS中断,又分为DOS专用中断,DOS保留中断,用户可调用的 DOS中断以及保留给用户开发的中断。,DOS专用中断, 22H型中断, 23H型中断, 24H型中断, 28H3FH型中断,系统中断的分类,用户可调用的DOS中断, 20H型中断, 21H型中断, 25H型中断, 26H型中断, 27H型中断,用户可开发的DOS中断,DOS保留的中断,系统中断的分类,外部硬件中断是由CPU以外的中断请求而引发的。如果有多个中断请求,怎样连接至CPU呢?,8259A,.5 82

11、59A中断控制器,1. 8259A的内部结构,读/写 逻辑,级连/缓冲 比较器,SP/EN,A0,控制逻辑,中断 服务 寄存器 (ISR),优先权 电路,中断 请求 寄存器 (IRR),中断屏蔽寄存器(IMR),内部总线,CS,(1)中断请求寄存器 ( IRR),寄存引脚IR0IR7的中断请求信号,IRRi位置1,表明IRi引脚上有了中断请求信号,8259A内部结构,2. 中断屏蔽寄存器 (IMR),寄存程序员写入的中断屏蔽字,屏蔽字某位=1(IMRi位=1),则与该位对应的中断请求信号(IRRi位)就不能送到中断优先权电路。,读/写 逻辑,级连/缓冲 比较器,SP/EN,A0,控制逻辑,中断

12、 服务 寄存器 (ISR),优先权 电路,中断 请求 寄存器 (IRR),中断屏蔽寄存器(IMR),内部总线,CS,8259A内部结构,如: MOV AL , 11111100B OUT 屏蔽寄存器口地址,AL ;屏蔽IRR7 IRR2的请求开放IRR1,IRR0,如: IN AL,屏蔽寄存器口地址 AND AL,11110111B OUT 屏蔽寄存器口地址,AL ;开放IRR3的请求 ;对其它位的请求不改变屏蔽/开放的状态,8259A内部结构,读/写 逻辑,级连/缓冲 比较器,SP/EN,A0,控制逻辑,中断 服务 寄存器 (ISR),优先权 电路,中断 请求 寄存器 (IRR),中断屏蔽寄

13、存器(IMR),内部总线,CS,3. 优先权电路 (排队电路),8259A内部结构,比较CPU正为之服务的中断源和刚进入优先权电路的中断源,哪一个级别更高。,通过判优选中其中级别最高的中断源,然后通过控制电路,从INT端向CPU提中断请求。,作用: 比较同时送达优先权电路的中断请求,哪一个 级别最高。,8259A内部结构,读/写 逻辑,级连/缓冲 比较器,SP/EN,A0,控制逻辑,INT,INTA,中断 服务 寄存器 (ISR),优先权 电路,中断 请求 寄存器 (IRR),中断屏蔽寄存器(IMR),内部总线,CS,4. 中断控制电路,8259A内部结构,作用: 寄存一组初始化命令字和操作命

14、令字,通过译码产 生内部控制信号 当判优电路选中一个中断源时向CPU提中断请求 (INT),8259A内部结构,读/写 逻辑,级连/缓冲 比较器,SP/EN,A0,控制逻辑,INT,INTA,中断 服务 寄存器 (ISR),优先权 电路,中断 请求 寄存器 (IRR),中断屏蔽寄存器(IMR),内部总线,CS,5. 中断服务寄存器 (ISR),8259A内部结构,ISR: 8位寄存器,ISRi位与IRRi位一一对应,作用: 记录CPU正为之服务的是哪一个中断源,怎样记录?,反之,如果ISR0位由1 0,表明IR0的中断服务程序执行完了,所以ISR的每一位都是响应中断源的中断服务标志位。,825

15、9A内部结构,6. 数据总线缓冲器,作用:完成与CPU数据线配接,接收初始化命令字,操作命令字,当收到第二个中断响应脉冲时,通过他们 向CPU送出被选中的中断源的中断类型码n,在这之后CPU从4n+04n+3单元取出n型中断向量, 从而转入n型服务程序。,8259A内部结构,7. 读/写控制模块 功能:接收片选信号CS 、端口选择信号A0和读写控制信 号RD、WR。 一片8259A在系统中占用两个口地址,用末位地址线A0选择端口,其它地址线通过译码产生8259A的片选信号。,8. 级连/缓冲比较器,一位8259A可以管理8级中断,二片8259A“级连”可管理15级中断,级连/缓冲比较器是为完成多片8259A级连设置的模块。,8259A内部结构,8259A的管脚,2. 8259A的中断过程CPU响应硬件中断的过程,首先由中断请求寄存器寄存加到引脚IR0I

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

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

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