定义
-
- 在程序运行时,系统外部、内部或现行程序本身出现需要特殊处理的“事件”
-
- CPU立即强行中止现行程序的运行,改变机器的工作状 态并启动相应的程序来处理这些“事件”
-
- 处理完成后,CPU恢复原来的程序运行这些“事件”被称为“中断”或“异常”
分类
- 软件中断(内部中断)
- 硬件中断(外部中断)
- 由CPU外部的中断请求信号启动的中断
- x86 CPU为外部中断提供两个引脚
- ◦ NMI:非屏蔽中断
- ◦ INTR:可屏蔽中断
中断向量表
- 8086
- 中断向量
- 中断服务程序的入口地址
- 存储器中保留两个专用区域
- 中断向量表区:00000H~003FFH(地址最低的1KB)
- 初始化程序区:FFFF0H~FFFFFH(地址最高的16B)
- 中断向量
中断控制器
- CPU可屏蔽中断信号的输入只有一根,那就需要一些转换电路,现在计算机比较常见的是使用中断控制器这个芯片,那么中断控制器会把外设输出的请求信号作为输入连接进来,输出一根信号连接到CPU的可屏蔽中断请求信号上
- 中断控制器也可以看作是IO接口,内部也有一些被称为IO端口的寄存器,cpu可以访问这些端口对中断进行配置,例如可以配置这些外设的中断请求优先级
- 可编程中断控制器:PIC(例如intel的8259)
- ◦ Programmable Interrupt Controller
- 高级可编程中断控制器:APIC
- ◦ Advanced Programmable Interrupt Controller
- 可编程中断控制器:PIC(例如intel的8259)
中断处理过程
- 内部中断
- 外部中断
中断嵌套
基于中断的功能调用
- BIOS中断
- ROM BIOS(Basic Input Output System)
- ◦ 装于从地址0FE00H开始的8KB ROM中
- ◦ 提供了系统加电自检、引导装入、主要I/O设备的处理程序及接口控制等 功能模块
- BIOS中断
- ◦ BIOS各功能模块的入口地址都在中断向量表中
- ◦ 通过软件中断指令“INT n”调用各功能模块
- ROM BIOS(Basic Input Output System)