中断与异常

中断

中断是计算机发展中一个重要的技术,它的出现很大程度上解放了CPU,提高了CPU的执行效率。所谓中断,是指CPU在正常运行程序时,由于程序的预先安排或内外部事件,引起CPU中断正在运行的程序,而转到发生中断事件程序中。这些引起程序中断的事件称为中断源。

在中断出现之前,CPUIO采用的是轮询的方式进行服务,这使的CPU纠结在某一个IO上,一直在等待它的响应,如果它不响应,CPU就在原地一直的等下去。这样就导致了其他IO口也在等待CPU的服务,如果某个IO出现了important or emergency affairsCPU也抽不出身去响应这个IO

IO中断

IO中断方式是以字节为单位,DMA控制方式是以一个连续的数据块为单位,IO通道控制方式是DMA控制方式的发展,是以一组数据块为单位的,即可以连续读取多个数据块。

  • 程序直接访问方式跟循环检测IO方式,应该是一个意思吧,是最古老的方式。CPUIO串行,每读一个字节(或字)CPU都需要不断检测状态寄存 器的busy标志,当busy=1时,表示IO还没完成;当busy=0时,表示IO完成。此时读取一个字的过程才结束,接着读取下一个字。
  • 中断控制方式:循环检测先进些,IO设备和CPU可以并行工作,只有在开始IO和结束IO时,才需要CPU。但每次只能读取一个字。
  • DMA方式:Direct Memory Access,直接存储器访问,比中断先进的地方是每次可以读取一个块,而不是一个字。
  • 通道方式:比DMA先进的地方是,每次可以处理多个块,而不只是一个块。