深入理解计算机中断机制
1. 操作系统与中断
操作系统是计算机系统的核心,它控制着计算机的输入输出功能。没有操作系统,每个软件程序都必须编写控制屏幕、键盘、硬盘等设备的代码。相反,操作系统为程序完成了这些任务。通过使用通用界面的菜单和图标,用户可以更容易地学习使用程序,而无需每次都学习新的界面。菜单位置相同,窗口看起来也一样。
操作系统不仅影响计算机上的每项数据事务,还管理可以写入的文件类型以及数据发送到打印机的方式,或者从互联网下载网页的方式。BIOS和设备驱动程序与操作系统接口。驱动程序将来自操作系统和BIOS的命令解释为外围设备(如打印机或扫描仪)的指令。每个外围设备都需要一个特定的驱动程序,它将其与操作系统接口,使外围设备能够与操作系统通信。
2. 输入/输出控制器与中断
当外围设备与计算机通信时,会产生一种特殊的信号,称为中断。每次按下键盘上的键或移动鼠标时,都会生成一个中断。这个信号会发送到输入/输出控制器中心芯片(ICH2)。控制器芯片告诉CPU它需要将数据传输给它。CPU则将当前正在运行的程序的地址放入RAM中。RAM中存储这个地址的部分称为堆栈。
2.1 中断的生成与处理
每个外围设备都有一个与之关联的中断号。中断号对于每个外围设备是唯一的。CPU检索这个数字,并在存储在RAM中的中断表中查找与特定中断相关联的内存地址。CPU读取它在地址开始处找到的指令。内存地址位于BIOS在加电自检测试期间被复制到的范围内。如果按下一个键,代表该键的代码将被发送到当前具有指针焦点的程序。
2.1.1 中断处理流程
下面是中断处理的具体流程: