x第八章-中断及异常

上传人:mg****85 文档编号:49696972 上传时间:2018-08-01 格式:PPT 页数:38 大小:585.50KB
返回 下载 相关 举报
x第八章-中断及异常_第1页
第1页 / 共38页
x第八章-中断及异常_第2页
第2页 / 共38页
x第八章-中断及异常_第3页
第3页 / 共38页
x第八章-中断及异常_第4页
第4页 / 共38页
x第八章-中断及异常_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《x第八章-中断及异常》由会员分享,可在线阅读,更多相关《x第八章-中断及异常(38页珍藏版)》请在金锄头文库上搜索。

1、第八章中断及异常 8.1 8.1 中断概述中断概述8.2 8.2 中断技术中断技术8.3 8.3 IBMPCIBMPC的中断技术的中断技术8.4 8.4 中断及异常的优先级中断及异常的优先级8.5 8.5 中断优先级管理器中断优先级管理器 8259A PIC8259A PIC8.6 8.6 IBM/PCIBM/PC中的中断程序设计方法简要中的中断程序设计方法简要8.1 中断概述 中断服务程序中断服务程序1 1中断服务程序中断服务程序2 2中断请求中断请求1 1中断请求中断请求2 2第八章 中断及异常 1.1.中断的概念中断的概念第八章 中断及异常 中断是指CPU暂时中止正在执行的进程,转去执行

2、请求中断 的那个外设的中断服务程序,处理完毕后,又返回主程序的过 程。子程序的调用是固定的,而中断是随机(异步)的。这个过程也被称作“中断响应”或“中断服务”。中断是为了解决CPU对多个不同运行速度的外部设备进行智能化 服务的问题而产生的。中断技术是现代计算机技术的最主要技术特征之一。这保证了 CPU服务的实时性。是多任务机制的基础。例如:当CPU与外设交换信息时,若用查询方式,则CPU就要浪 费很多时间去等待外设,用中断方式既可保证服务的实时性 ,有可避免CPU时间浪费。2.异常的概念是由CPU本身产生的导致当前进程被停止,并转去执行相 应处理程序的过程。 这个过程被称为“异常处理”。 例如

3、:除0错误,结果溢出,内存分配失败等等,参见 P349 表8.1异常也将导致CPU转去执行一个异常处理子程序,形式上类 似中断。在早期,它也被归于中断技术。3.中断源:引起中断的原因或能发出中断申请的来源。 1、一般的输入输入输出设备(如键盘、打印机等) 2、数据通道中断源(如磁盘、磁带机) 3、实时时钟(外部电路如8253) 4、与计算机相连且需要计算机服务的外部设备4.8086/8088CUP中断引脚: 1可屏蔽中断INTR 18 2非屏蔽中断NMI 17 3. 中断响应 INTA 245.中断响应周期:INTR高电平至少要保持2个T状态6.CPU响应中断的条件 A、中断是开放的,(IF=

4、1,用STI置位,CLI复位); B、有持续2个T状态以上的INTR信号; C、没有NMI(不可屏蔽中断)或更高级别的中断响应; D、现行指令执行结束,且现行指令不是HLT,WAIT;7.CPU对中断的响应 满足以上四个条件后,CPU响应中断,转入中断周期,CPU进入中断响应: (1)、保留断点;SP-SP-2,(SP)-PSW;SP-SP-2,(SP)-CS; SP-SP-2,(SP)-IP;IF、TF置0 (2)、给出中断入口,转入相应中断服务程序; (3)、保护现场,执行STI; (4)、执行相应服务程序 (5)、恢复现场,执行IRET (恢复断点,执行与1相反的操作); (6)、返回8

5、.2 8.2 中断技术中断技术 1.1.中断系统应具有的功能中断系统应具有的功能2.2.中断技术分类:中断技术分类: 单线中断单线中断 多级中断多级中断 矢量中断矢量中断 P342P342A、单线中断 例如:把8个外设的中断请求组合起来,作为一个端口,将各个 外设请求信号“或”后,作为INTR信号,如下图示:(1)屏蔽法 IN AL,20HTEST AL,80H ;D7有请求?JNZ II1 ;有,转对应中断服务程序TEST AL,40H ;D6有请求?JNZ II2 ;有,转对应中断服务程序 ;先查谁,谁的优先权高 (2)移位法 XOR AL,ALIN AL,20HRCL AL,1JC PW

6、SRCL AL,1JC DISK ;先移位到C标志的优先权高B、多级中断CPU具有多条优先级别不同的中断引脚.C、矢量中断(IBMPC的中断技术) 每个中断源经接口(比如8259A)向CPU提供中断向量(设 备标识码),CPU不须查询中断源,直接由中断向量计算得 到相应服务子程序入口地址,转入执行子程序。出现在INTR上的电平信号保持2个T状态以上。当外设的中断请求未被屏蔽( 未有更高级别的中断或异常正在被处理),且IF=1,则CPU在当前指令周 期的最后一个T状态去采样INTR线,若有效,CPU进入该中断响应周期。在第一个中断响应周期,CPU输出中断响应信号INTA。在第一个机器周期, CP

7、U使AD7-AD0浮空,在第二个机器周期,被响应的外设(或接口芯片) 应向数据总线输送一个字节的中断向量号,CPU读入中断向量号后,就可 以在中断向量表上找到该设备服务程序的入口地址,转入中断服务8.3 IBMPC8.3 IBMPC的中断技术的中断技术(实模式、矢量中断技术)(实模式、矢量中断技术)1.1.中断响应周期中断响应周期2.中断矢量(向量)表 存放各类中断的中断服务程序的入口地址 每个入口占用4 Bytes,低字为段内偏移,高字为段基址 表的地址位于内存的00000H003FFH,大小为1KB,共256个入口0-31h系统异常处理中断 00000H003FF H1KB第八章 中断及异

8、常 中断矢量(向量)表第八章 中断及异常 3.外部可屏蔽中断的响应和处理过程 内内 存存中断向量表中断向量表0:0 3FFH0:0 3FFH1000:150h3000:200h0: N4 0: N4+20: 0000、0200h3000h、MOV AX, 0ADD AX, DXMOV DI, AX 、 、 、 、MOV BX,CX 、 、IRET 、类型N中断 子程续某中断源发申请中断,某中断源发申请中断,申请执行类型号为申请执行类型号为N N的中断子程的中断子程响应中断前 SS:SP 响应中断后SS:SP 堆栈堆栈执行 IRET后(IP)(CS) (PSW)0150 1000 (PSW)SS

9、:SP (IP)=0200h (CS)=3000h0:3FFH0:0外部可屏蔽中断的响应和处理过程 : 第1个INTA,PIC进行优先级排队判优处理第2个INTA ,PIC把中断类型码放到DB上,由CPU读入 PUSH FLAG LET TEMP = TF CLEAR IF,TF PUSH CS PUSH IP(I P)=(TYPE*4+1):(TYPE*4+0) ;TYPE为中断类型码(CS)=(TYPE*4+3):(TYPE*4+2)进入中断服务程序NMI中断响应过程与内部中断类似第八章 中断及异常 第八章 中断及异常 NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求

10、中断控 制器 8259A PIC8086/8088CPU内部逻辑断点中断可 屏 蔽 中 断 请 求n430124. 8086/80884. 8086/8088中断源类型:中断源类型:当有多个中断源同时产生中断申请时,当有多个中断源同时产生中断申请时,CPUCPU先响应优先先响应优先 权最高的中断源,再响应优先级较低的中断源。权最高的中断源,再响应优先级较低的中断源。高 低 内中断 ( 除零,INT 指令,断点,INTO指令 ) 非屏蔽中断 可屏蔽中断低 内中断( 单步 ) 第八章 中断及异常 8.4 8.4 中断及异常的优先级中断及异常的优先级1.1.8259A8259A的引脚的引脚 双列直插

11、式芯片,双列直插式芯片,2828个引脚个引脚方 波 键 盘 保 留 串 口2硬 盘 软 盘 打印机IOW18.2HzA0CS8259A总线A0数 据 线IORRD WR片片 选选 译译 码码IR0IR0 IR1IR1 IR2IR2 IR3IR3 IR4IR4 IR5IR5 IR6IR6 IR7IR7 A5 A9D0D7D0 D7VccSP/ENSP/EN CA0CA0 CA1CA1 CA2CA2GNDGND+ 5V203FH203FH用于多片 8259A 级连情况INTA INTINTAINTR串 口1定时器8.5 中断优先级管理器 8259A PIC 8259A8259A的在系统中的连接的在

12、系统中的连接2. 8259A的编程第八章 中断及异常 4个初始化命令寄存器 ICW1、ICW2ICW3、ICW4 3个操作命令寄存器 OCW1(IMR)OCW2、OCW3当前中断服务寄存器 ISR中断申请寄存器 IRR8259A8259A有有9 9个可读写的寄存器个可读写的寄存器8259A8259A的编程结构的编程结构1 I3 I4ICW1 芯片控制ICW2 中断类型号ICW3 主从片关系ICW4 方式控制处理部分控制部分0 0 0 0 0 0 0 0 ISR 当前 中断 服务 寄存器PR 优先级 裁决器IRR 中断申请 寄存器0 0 0 0 0 0 0 0 中断屏蔽寄存器 IMROCW2 1

13、 0 0 1 0 1 0 00 0 0 1 OCW3OCW18259A8259A中断控制器中断控制器初始化命令字初始化命令字(ICW1- ICW4) (ICW1- ICW4) 决定决定8259A8259A的工作方式的工作方式 通常是在计算机系统启动时在初始程序设置,一旦设定,一般在系通常是在计算机系统启动时在初始程序设置,一旦设定,一般在系 统工作过程不再改变。统工作过程不再改变。 操作命令字操作命令字(OCW1,OCW2,OCW3)(OCW1,OCW2,OCW3) 在应用程序中设定,动态地控制在应用程序中设定,动态地控制CPUCPU处理中断的过程处理中断的过程 ISRISR和和IRRIRR存

14、放当前存放当前8259A8259A的状态的状态 通过读取通过读取 ISR ISR 和和 IRR IRR 的内容,可了解当前的内容,可了解当前8259A8259A工作情况工作情况中断屏蔽寄存器 IMR 决定 IRR 中的中断申请是否进入优先级裁决器 PR。 IMR对应位为 0,允许中断申请进入优先级裁决器,为 1,不允许进入,中断申请被IMR屏蔽。中断申请寄存器IRR 锁存外部的中断申请。 若 IR0IR7 引脚上有中断申请,则将 IRR 相应位置1当前中断服务寄存器 ISR 记录CPU正在响应的中断。 ISR中的某位为1, 表示CPU正在响应此级中断,ISR中的某位为 0,表示CPU没有或已响

15、应完此级中断,优先级裁决器PR 据新进入的中断申请和 ISR的内容, 决定是 否发中断申请信号。 如果进入的中断申请比 ISR 中记录的中断优先级高,则通过 8259A 的 INT 引脚向 CPU发出中断请求信号;如果进入的中断申请不比 ISR 中记录的中断优先级高,同级或低级,则不 向 CPU 发中断请求信号。第八章 中断及异常 8259A8259A的初始化编程的初始化编程初始化命令字初始化命令字ICW1ICW1的含义的含义初始化命令字初始化命令字ICW2ICW2的含义的含义初始化命令字初始化命令字ICW3ICW3的含义的含义初始化命令字初始化命令字ICW4ICW4的含义的含义8259A82

16、59A的操作编程的操作编程操作命令字操作命令字OCW1OCW1的含义的含义( (中断屏蔽字中断屏蔽字) )操作命令字操作命令字OCW2OCW2的含义的含义( (改变优先级改变优先级/ /设置结束方式设置结束方式) )操作命令字操作命令字OCW3OCW3的含义的含义8259A8259A有两个有两个I/OI/O端口地址端口地址A0=0 偶地址端口 A0=1 奇地址端口对 9个寄存器的读写均通过这两个端口实现写入数据的特征位和写入的先 后顺序区分是对哪个寄存器进行操作第八章 中断及异常 IBMPCIBMPC机中机中BIOSBIOS程序中对程序中对8259A8259A的初始化:的初始化: 中断优先级管理采用完全嵌套方式,中断请求信号采用上升沿触发方式、中断优先级管理采用完全嵌套方式,中断请求信号采用上升沿触发方式、 缓冲器方式,中断结束采用缓冲器方式,中断结束采用EOIEOI命令方式。因而,其初始化程序如

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

当前位置:首页 > 生活休闲 > 科普知识

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