中断 IO 控制

「中断 IO 控制」是一种通过中断技术来实现的IO 控制方式,要求 CPU 与设备控制器及设备之间有中断请求线,控制器的状态寄存器有相应中断允许位。

CPU与设备间数据传输过程:

  1. 进程发出启动 I/O 指令,CPU 加载控制信息到设备控制器的寄存器,然后,进程继续执行或放弃 CPU 等待设备操作完成;
  2. 设备控制器检查状态寄存器,按照 I/O 指令要求,执行相应 I/O 操作,一旦传输完成,设备控制器通过中断请求线发出 I/O 中断信号;
  3. CPU 收到并响应 I/O 中断后,转向处理该设备的 I/O 中断例程执行;
  4. 中断处理例程执行数据读取操作,将 I/O 缓冲寄存器的内容写入内存,操作结束后退出中断处理程序,返回中断前的执行状态;
  5. 进程调度程序在适当时刻恢复得到数据的进程执行。

img-2024-04-26 19-55-10.png

在现代计算机系统中,对 I/O 设备的控制,广泛地采用中断驱动方式。即当某进程要启动某个 I/O 设备时,便由 CPU 向相应的设备控制器发出一条 I/O 命令,然后立即返回继续执行原来的任务。设备控制器便按照该命令的要求去控制 I/O 设备。此时,CPU 与 I/O 设备处于并行工作状态。

特点

  • 优点:在外设进行数据处理时,CPU 不必等待,可以继续执行该程序或其他程序。
  • 缺点:每次 I/O 都要 CPU 的干预,CPU 每次处理的数据量少(通常不超过几个字节),只适于数据传输率较低的设备。