外部中断事件
众所周知,CPU在计算机系统中,除了能够执行指令,进行运算外,还应该有输入输出功能。比如说,我现在在打字输入‘a’,CPU他会处理这个按键,并在你的屏幕上显示‘a’。我们想想,它能显示,是不是打印机工作了,打印机工作。是不是CPU给它指令了,那是不是我们按键,然后CPU处理并执行。
那么,CPU现在要处理键盘(也就是外设的输入),很明显要解决两个问题。
- 我们是不是随时按按键他都能执行,那么CPU如何得知。
- CPU如何得到外设的输入,以及他如何区别键盘输入的内容。
接口和端口
CPU和外设的联系是通过端口实现并控制外设的输入和输出。外设的输入不直接送入内存和CPU,而是先送到相应接口芯片的端口中:输出也是如此。CPU向外设输出控制指令也是如此。
中断信息
我们现在知道了,外设的输入是存放在端口中,但是它随时都有可能发生,那么CPU如何及时的知道。也就是我们提出的第一个问题。这时,CPU提供中断机制来满足这种需求。 当CPU内部需要有处理的事情发生的时候,将产生终端信息,引发中断过程,中断过程此处不多讲。这种中断信息被称为内部中断。
还有一种中断信息,来自于CPU外部,比如说外设的输入到达。CPU在执行完当前指令的时候,会读取中断控制器信息,引发中断过程,处理外设输入
PC系统中外中断过程(可屏蔽):
- 取中断类型码;
- 标志寄存器入栈,IF =