计算机基础-操作系统-IO-控制器
CPU 无法直接控制 IO 设备的机械部件,因此 IO 设备还要有个电子部件作为 CPU 和 IO 设备机械部件之间的”中介”,用于实现 CPU 对设备的控制。这个电子部件就是 IO 控制器,又称为设备控制器。CPU 可控制 IO 控制器,IO 控制器来控制设备的机械部件。
1. IO 控制器功能
接收和识别设备 CPU 指令
CPU 的读写指令和参数存储在控制寄存器中
如 CPU 发来的 read/write 命令,I/O 控制器中会有相应的控制寄存器来存放命令和参数
向 CPU 报告设备的状态
IO 控制器中会有相应的状态寄存器,用于记录 IO 设备的当前状态。(比如
1
代表设备忙碌,0
代表设备就绪)数据交换
数据寄存器,输出时数据寄存器用来寄存 CPU 发来的数据,之后再由控制器传送设备。输入时,数据寄存器用于暂存设备发来的数据,之后 CPU 从数据寄存器取走数据
地址识别
类似于内存的地址,为了区分设备控制器中的各个寄存器,需要给各个寄存器设置一个特定的地址。IO 控制器通过CPU 提供的地址来判断 CPU 要读写的是哪个寄存器。
2. IO 控制器的组成
- CPU 与控制器之间的接口(实现控制器与 CPU 之间的通信)
- IO 逻辑(负责接收识别CPU发出的命令,并负责向设备发出命令)
- 控制器与设备之间的接口(实现控制器与设备之间的通信)
3. 两种寄存器编址方式
一个 I/O 控制器可能会对应多个设备
数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便 CPU 操作。
有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像 I/O
另一些计算机则采用 I/O 专用地址,即寄存器独立编址
内存映射 IO
控制器中的寄存器与内存统一编制,可以采用对内存进行操作的指令来对控制器进行操作。
寄存器独立编制
控制器中的寄存器独立编制。需要设置专门的指令来操作控制器。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker!
评论
ValineTwikoo