第八章中断与中断控制 81中断的基本概念 82可编程中断控制器8259 83中断服务程序的编程 84保护模式的中断处理
8.1 中断的基本概念 8.2 可编程中断控制器8259 8.3 中断服务程序的编程 8.4 保护模式的中断处理 第八章 中断与中断控制
81中断的基本概念 中断最初是作为处理器与外部设备交换信息的一种控制方式提出 的。由此,最初的中断全部是对外部设备而言的,称为外部中断 或硬件中断。 随着计算机技术的发展,中断的范围也随之扩大,出现了内部软 件中断的概念,它是为解决机器内部运行时出现的异常以及为编 程方便而提出的。 外部中断或硬件中断通常称为中断,软件中断或异常中断通常称 为异常( Exception
8.1 中断的基本概念 中断最初是作为处理器与外部设备交换信息的一种控制方式提出 的。由此,最初的中断全部是对外部设备而言的,称为外部中断 或硬件中断。 随着计算机技术的发展,中断的范围也随之扩大,出现了内部软 件中断的概念,它是为解决机器内部运行时出现的异常以及为编 程方便而提出的。 外部中断或硬件中断通常称为中断,软件中断或异常中断通常称 为异常(Exception)
81中断的基本概念 不论哪种中断都遵循同样的中断处理过程 中断响应 前 中断 中中断 断 服务 源请求 程序断点 程序 程序 中断返回 中断:处理器暂停执行当前程序,转而处理随机发生的事件,处理 完毕后再返回到断点处继续执行原来程序的过程
8.1 中断的基本概念 不论哪种中断都遵循同样的中断处理过程 中 断 源 中断 请求 当 前 程 序 中断 服务 程序 程序断点 中断返回 中断响应 中断:处理器暂停执行当前程序,转而处理随机发生的事件,处理 完毕后再返回到断点处继续执行原来程序的过程
G中断的类型 PC系列微机最多可以支持256种中断,它们被分为四种类型 内部中断和异常 软件中断 外部可屏蔽中断 外部非屏蔽中断 每个中断和异常都指定了一个类型号代表不同的优先级。 类型0表示最高优先级的中断,类型255最低优先级的中断
中断的类型 PC系列微机最多可以支持256种中断,它们被分为四种类型: •内部中断和异常 •软件中断 •外部可屏蔽中断 •外部非屏蔽中断 每个中断和异常都指定了一个类型号代表不同的优先级。 类型0表示最高优先级的中断,类型255最低优先级的中断
G中断的类型 1.内部中断和异常 为处理器执行某些操作而引起的中断,包括除法错误异常、单 步调试中断、断点中断等 这类中断使用了0H-09H中的若干个中断号 内部中断和异常的例子P218
1. 内部中断和异常 为处理器执行某些操作而引起的中断,包括除法错误异常、单 步调试中断、断点中断等 这类中断使用了0H~09H中的若干个中断号 内部中断和异常的例子 P. 218 中断的类型
G中断的类型 2软件中断 执行有定的NTn指令而引发的中断,称为软件中断 有定义放→并非所有的中断号都有对应的中断服务程序 软件中断使用05H、10H-0FFH中的若干个中断号 软件中断进一步分为BIOS中断和DOS中断
2.软件中断 执行有定义的INT n指令而引发的中断,称为软件中断 有定义的 并非所有的中断号都有对应的中断服务程序 软件中断使用05H、10H~0FFH中的若干个中断号 软件中断进一步分为BIOS中断和DOS中断 中断的类型
G中断的类型 3外部可屏蔽中断 外部可屏蔽中断是处理器响应各种外部硬件中断的最常用的方 法,通过CPU的INTR引脚产生 外部可屏蔽中断受处理器内部的中断允许标志位IF的控制 处理器以电平触发方式接受ⅠNTR请求,当每条指令结束时 若INTR为高电平且IF=1,则CPU响应相应MO接口的中断请求。 处理器只有一个INTR引脚可以接受外部可屏蔽中断请求,为 了管理众多的外部中断源,微机系统中采用可编程中断控制器 8259。PC系列机通过两片8259级连可以响应15个外部中断源
3.外部可屏蔽中断 外部可屏蔽中断是处理器响应各种外部硬件中断的最常用的方 法,通过CPU的INTR引脚产生 外部可屏蔽中断受处理器内部的中断允许标志位IF的控制 处理器以电平触发方式接受INTR请求,当每条指令结束时, 若INTR为高电平且IF=1,则CPU响应相应I/O接口的中断请求。 处理器只有一个INTR引脚可以接受外部可屏蔽中断请求,为 了管理众多的外部中断源,微机系统中采用可编程中断控制器 8259。PC系列机通过两片8259级连可以响应15个外部中断源 中断的类型
G中断的类型 4外部非屏蔽中断 为外部紧急请求提供服务的中断,通过处理器的NM引脚产生 NMI输入是上升沿触发的,只要NM输入端上出现由0到1的跳 变,一个中断服务请求就被锁存在 Pentium中,与IF标志的状 态无关 NMI有一个专用的类型号02H 使用非屏蔽中断的典型例子是电源故障中断
4.外部非屏蔽中断 为外部紧急请求提供服务的中断,通过处理器的NMI引脚产生 NMI输入是上升沿触发的,只要NMI输入端上出现由0到1的跳 变,一个中断服务请求就被锁存在Pentium中,与IF标志的状 态无关 NMI有一个专用的类型号02H 使用非屏蔽中断的典型例子是电源故障中断 中断的类型
G中断的优先级与中断嵌套 通常一个系统有多个中断源,而CPU同一时刻只能响应一个中 断源的请求,那么当多个中断源同时请求中断服务时,应该先 响应哪一个,有一个次序安排的问题。按中断源的轻重缓急程 度确定的优先级别,称为优先级。 内部中断和异常 优先级递增 软件中断 外部非屏蔽中断 外部可屏蔽中断
中断的优先级与中断嵌套 通常一个系统有多个中断源,而CPU同一时刻只能响应一个中 断源的请求,那么当多个中断源同时请求中断服务时,应该先 响应哪一个,有一个次序安排的问题。按中断源的轻重缓急程 度确定的优先级别,称为优先级。 内部中断和异常 软件中断 外部非屏蔽中断 外部可屏蔽中断 优 先 级 递 增
G中断的优先级与中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务 程序时,如果有优先级更高的中断源发出请求,CPU将中止正 在执行的中断服务程序而转入为新的中断源服务,等新的中断 服务程序执行完后,再返回到被中止的中断服务程序,这一过 程称为中断嵌套。 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深 度
中断的优先级与中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务 程序时,如果有优先级更高的中断源发出请求,CPU将中止正 在执行的中断服务程序而转入为新的中断源服务,等新的中断 服务程序执行完后,再返回到被中止的中断服务程序,这一过 程称为中断嵌套。 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深 度