现代微机原理与接口技术 第5章中断技术 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 1 第5章 中断技术
5.1中断基本概念 现代微机原理与接口技术 5.11中断基本概念 定义:CPU暂停现行程序,转而处理随机到来 的事件,待处理完后再回到被暂停的程序继续 执行,这个过程就是中断。 中断过程: 中断请求中断响应中断服务中断结束 中断处理 中断处理的隐操作:程序状态及程序断点地址 的进栈及出栈 Department of Computer Science Engineering 2 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 2 5.1 中断基本概念 5.1.1 中断基本概念 定义:CPU暂停现行程序,转而处理随机到来 的事件,待处理完后再回到被暂停的程序继续 执行,这个过程就是中断。 中断过程: 中断处理的隐操作:程序状态及程序断点地址 的进栈及出栈。 中断请求 中断响应中断服务 中断结束 中断处理
现代微机原理与接口技术 中断系统其他功能: 支持多中断源和多种中断源。 支持中断屏蔽处理。 支持中断嵌套处理。 支持中断优先级修改。 支持中断结束方式选择。 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 3 中断系统其他功能: 支持多中断源和多种中断源。 支持中断屏蔽处理。 支持中断嵌套处理。 支持中断优先级修改。 支持中断结束方式选择
512中断类型 现代微机原理与接口技术 1外部硬件(如键盘、鼠标,串口,并口打印机等)中断 中断请求:多个中断请求的排队和判优由中断控制器完 成,产生的有无中断请求的信号送到CPU的ⅠNTR引脚。 中断类型号:通过数据总线送到CPU中 IRQX SIO SERIRO 中断类型号 LPC47B27X 82801BA 82815EP PIRQX INTRI PIVIII CPU EFLAGS寄存器的IF位影响CPU对中断请求的响应。 处理器在当前指令执行结束的时候启动中断识别INTA 总线周期 属性:硬件、可屏蔽、向量 Department of Computer Science Engineering 4 「计算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 4 5.1.2 中断类型 1.外部硬件(如键盘、鼠标,串口,并口打印机等)中断 中断请求:多个中断请求的排队和判优由中断控制器完 成,产生的有无中断请求的信号送到CPU的INTR引脚。 中断类型号:通过数据总线送到CPU中。 EFLAGS寄存器的IF位影响CPU对中断请求的响应。 处理器在当前指令执行结束的时候启动中断识别INTA 总线周期 属性:硬件、可屏蔽、向量。 SIO LPC47B27X … IRQx 82801BA SERIRQ 82815EP PII/III CPU INTR 中断类型号 PIRQx
现代微机原理与接口技术 2不可屏蔽中断 中断请求:中断请求的信号送到CPU的NMI引脚。 中断类型号:固定为2。 CPU不需要进行中断识别,直接处理中断。 属性:硬件、不可屏蔽、向量。 NMI由0跳变到1以后要维持至少4个连续的处理 器时钟周期的高电平才被识别 NMI由1跳变到0以后要维持至少4个连续的处理 器时钟周期的低电平,新的NM中断才能被识别。 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 5 2.不可屏蔽中断 中断请求:中断请求的信号送到CPU的NMI引脚。 中断类型号:固定为2。 CPU不需要进行中断识别,直接处理中断。 属性:硬件、不可屏蔽、向量。 NMI由0跳变到1以后要维持至少4个连续的处理 器时钟周期的高电平才被识别。 NMI由1跳变到0以后要维持至少4个连续的处理 器时钟周期的低电平,新的NMI中断才能被识别
现代微机原理与接口技术 3软件中断 属性:软件、不可屏蔽、向量。 中断请求:指令执行中或程序调用产生。 中断类型号:CPU规定或指令给出。 CPU专用中断:溢出(O)、单步(1)、断点中断(3) BIoS中断:ⅣO设备控制、实用服务、特殊中断、专 用参数中断 DOS中断:公开未公开、可调用、系统功能。 自由中断:未定义(20H-3FH中未使用的中断) CPU不需要进行中断识别,直接处理中断。 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 6 3.软件中断 属性:软件、不可屏蔽、向量。 中断请求:指令执行中或程序调用产生。 中断类型号:CPU规定或指令给出。 CPU专用中断:溢出(O)、单步(1)、断点中断(3)。 BIOS中断:I/O设备控制、实用服务、特殊中断、专 用参数中断。 DOS中断:公开/未公开、可调用、系统功能。 自由中断:未定义(20H~3FH中未使用的中断)。 CPU不需要进行中断识别,直接处理中断
现代微机原理与接口技术 常用的软件中断 中断号功能中断号功能 10H视频服务中断13H软硬盘控制中断 14H串行口中断 15H各种O设备中断 16H|键盘中断 17H并行打印口中断 20H返回DOS 2 1H DOS功能调用 23H1Ctrl+ Break处理24HDOS严重错误 33H鼠标中断 2 FH DOS保护方式接口 31H BIOS、DOS、自由中断的汇编调用方式 INTn;n为中断向量号,如INT10H、INT21H Department of Computer Science Engineering 7 「计算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 7 常用的软件中断 中断号 功 能 中断号 功 能 10H 视频服务中断 13H 软硬盘控制中断 14H 串行口中断 15H 各种IO设备中断 16H 键盘中断 17H 并行打印口中断 20H 返回DOS 21H DOS功能调用 23H Ctrl+Break处理 24H DOS严重错误 33H 鼠标中断 2FH 31H DOS保护方式接口 BIOS、DOS、自由中断的汇编调用方式: INT n ; n为中断向量号,如 INT 10H、INT 21H
现代微机原理与接口技术 4内部中断和异常 属性:软件、不可屏蔽、向量 中断请求:指令执行中产生 中断类型号:CPU规定。 失效:错误在指令完成前,错误指令的CS:EIP压 栈。该指令会重做。 陷阱:错误在指令完成后,错误指令下一指令的CS EIP压栈。 中止:不保存,重启机器。 CPU不需要进行中断识别,直接处理中断。 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 8 4.内部中断和异常 属性:软件、不可屏蔽、向量。 中断请求:指令执行中产生。 中断类型号:CPU规定。 失效:错误在指令完成前,错误指令的CS:EIP压 栈。该指令会重做。 陷阱:错误在指令完成后,错误指令下一指令的CS: EIP压栈。 中止:不保存,重启机器。 CPU不需要进行中断识别,直接处理中断
现代微机原理与接口技术 513中断识别及其优先级 1中断识别 只有外部硬件中断需要进行识别,其余不需要识别。 中断识别由中断控制器完成 2中断优先级 原则:按机器故障、DMA、外围硬件、软件递减。 结果:CPU专用>DMA>外围硬件>BIOS>DOS>自由。 即基本按中断向量表排序。 外围硬件一般可由用户修改其优先权。 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 9 5.1.3 中断识别及其优先级 1.中断识别 只有外部硬件中断需要进行识别,其余不需要识别。 中断识别由中断控制器完成。 2.中断优先级 原则:按机器故障、DMA、外围硬件、软件递减。 结果:CPU专用>DMA>外围硬件>BIOS>DOS>自由。 即基本按中断向量表排序。 外围硬件一般可由用户修改其优先权
现代微机原理与接口技术 514中断响应 在当前指令结束后,可屏蔽中断根据 EFLAGS寄存器 IF位决定是否响应;其他中断给予响应。 中断响应的步骤如下 1保护断点 通过堆栈及相关硬件实现 EFLAGS、CS、EIP的保护。 并清除IF和TF。 压栈的顺序是 EFLAGS、CS、EIP 2取得中断类型号 对外部硬件中断通过中断响应周期取得中断类型号。 非外部硬件中断直接取得入口地址,无须第2步 Department of Computer Science Engineering 10 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 10 5.1.4 中断响应 在当前指令结束后,可屏蔽中断根据EFLAGS寄存器 IF位决定是否响应;其他中断给予响应。 中断响应的步骤如下: 1.保护断点 通过堆栈及相关硬件实现EFLAGS、CS、EIP的保护。 并清除IF和TF。 压栈的顺序是EFLAGS、CS、EIP 2.取得中断类型号 对外部硬件中断通过中断响应周期取得中断类型号。 非外部硬件中断直接取得入口地址,无须第2步