一、设备控制器的概念
??CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和/O设备机械部件之间的“中介”,用于实现CPU对设备的控制。
??这个电子部件就是I/O控制器,又称设备控制器。CPU可控制/o控制器,又由/O控制器来控制设备的机械部件。
二、设备控制器的功能
??① 接收和识别CPU发出的命令:如CPU发来的read/write命令,I/O控制器中会有相应的控制寄存器来存放命令和参数。
??② 向CPU报告设备的状态:I/O控制器中会有相应的状态寄存器,用于记录l/o设备的当前状态。如1表示空闲,0表示忙碌。
??③ 数据交换:I/O控制器中会设置相应的数据寄存器。输出时,数据寄存器用于暂存CPU发来的数据,之后再由控制器传送设备。输入时,数据寄存器用于暂存设备发来的数据,之后CPU从数据寄存器中取走数据。
??④ 地址交换:类似于内存的地址,为了区分设备控制器中的各个寄存器,也需要给各个寄存器设置一个特定的“地址”。I/o控制器通过CPU提供的“地址”来判断CPU要读/写的是哪个寄存器。
三、设备控制器的组成
??(看这里的时候有弹幕说这一部分和微机原理有关系,还有人说学计组第七章的时候要先看过这个东东。咱也不知道,还没学计组和微机原理呢。) ??值得注意的小细节:
??①一个l/o控制器可能会对应多个设备。
??②数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备〉,且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像I/O;另一些计算机则采用I/o专用地址,即寄存器独立编址。
- 内存映像I/O:
- 寄存器独立编址:
|