操作系统之I/O控制器

398 阅读2分钟

一、概念

  • CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和IO设备机械部件之间的中介,用于实现CPU对设备的控制。
  • 这个电子部件就是IO控制器,又叫设备控制器。CPU可控制IO控制器,又由IO控制器来控制设备的机械部件。

二、功能

1. 接受和识别CPU发出的命令

  • 如CPU发出的read/write命令,IO控制器中会有相应的控制寄存器来存放命令和参数。

2. 向CPU报告设备的状态

  • IO控制器中会有相应的状态寄存器用于记录IO设备的当前状态。如:1表示空闲,0表示忙碌。

3. 数据交换

  • IO控制器中会设置相应的数据寄存器
  • 输出时,数据寄存器暂存CPU发出的数据,之后再有控制器传送设备。
  • 输入时,数据寄存器暂存设备发出的数据,之后CPU从数据寄存器中取走数据。

4. 地址识别

  • CPU发送读写控制器的寄存器时,会发送地址。(为了区分设备控制器中的各个寄存器,需要给各个寄存器设置一个特定的地址)
  • IO控制器需要通过CPU提供的特定地址,来判断CPU要读写的是哪个寄存器。

三、IO控制器组成

image.png

1. CPU与控制器的接口

  • 当CPU要读入或写出时,会通过控制线向I/O逻辑发出命令。
  • CPU还需要通过地址线,指定要操作的设备。
  • CPU要读入或写出的数据,会通过数据寄存器暂存。
  • 控制寄存器会存储CPU对读写过程的控制指令。
  • 状态寄存器用于暂存设备的状态,CPU可以通过该寄存器获取设备为忙碌状态/空闲状态。

2. I/O逻辑

  • 负责接收和识别CPU的各种命令(如地址译码),并负责对设备发出命令。

3. 控制器与设备的接口

  • 通过该接口向设备输入/输出数据
  • 获取设备状态(忙碌/空闲)
  • 向设备发出控制信息