OS 设备控制器
控制器分 :
- 状态寄存器 (Status Register) : 告知 CPU 当前设备的状态 , 如 : 工作中 , 已完成
- 命令寄存器 (Command Register) : CPU 发命令到设备
- 数据寄存器 (Data Register) : CPU 向 IO 传数据
输入/输出设备分 :
- 块设备 (Block Device) : 把数据存在固定块中,每个块有各自的地址,如 : 硬盘、USB
- 字符设备 (Character Device) : 以字符为单位发送或接收字符流,字符设备是不可寻址,如 : 鼠标
块设备 : 数据较大 , 一般有数据缓冲区
- CPU 写数据到控制器 : 缓冲区放一批数据,再发给设备
- CPU 从控制器读数据 : 缓冲区囤放一批数据,再拷到内存
- 目的 : 减少设备频繁传输
CPU 与寄存器/数据缓冲区通信方式 :
- 端口 I/O : 给控制寄存器分配 I/O 端口,通过指令操作这些寄存器
- 内存映射 I/O : 将控制寄存器映射到内存空间中,读写数据缓冲区