计算机组成-5.中断与异常

342 阅读2分钟

定义

    1. 在程序运行时,系统外部、内部或现行程序本身出现需要特殊处理的“事件”
    1. CPU立即强行中止现行程序的运行,改变机器的工作状 态并启动相应的程序来处理这些“事件”
    1. 处理完成后,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

中断处理过程

  • 内部中断
  • 外部中断

中断嵌套

基于中断的功能调用

  • BIOS中断
    • ROM BIOS(Basic Input Output System)
      • ◦ 装于从地址0FE00H开始的8KB ROM中
      • ◦ 提供了系统加电自检、引导装入、主要I/O设备的处理程序及接口控制等 功能模块
    • BIOS中断
      • ◦ BIOS各功能模块的入口地址都在中断向量表中
      • ◦ 通过软件中断指令“INT n”调用各功能模块