I/O 接口的基本结构
为了解决高速 CPU 与慢速外设之间的速度不匹配问题, 必须引入接口作为中间转换装置。接口在物理上包含三部分:
- 地址译码电路: 识别 CPU 发出的地址信息, 转换成对具体外设的选取或激活信号。
- 通用寄存器组: 作为主机与外设数据交换的中间过程 (数据缓冲区)。
- 控制逻辑电路: 处理 CPU 对外设的控制信号以及外设运行过程的状态反馈。
端口 (Port) 重点
- 定义: 接口中可被 CPU 直接访问的寄存器称为端口。
- 分类:
- 数据端口: 用于存放主机与外设间交换的数据(可读可写)。
- 状态端口: 用于存放外设的状态信息(通常只读,如“忙/闲”、“就绪”)。
- 控制端口: 用于存放 CPU 发给外设的控制命令(通常只写,如“启动”、“停止”)。
- 编址: CPU 对端口的访问本质上就是对这些寄存器的寻址(统一编址或独立编址)。
接口的功能
- 寻址: 识别 CPU 发出的外设地址。
- 数据缓冲: 解决速度不匹配, CPU 将数据写入接口缓冲区后即可认为操作结束, 由接口负责后续与外设的低速交换。
- 状态监控: 接口记录外设的“就绪”、“忙”、“故障”等状态供 CPU 查询。
- 控制逻辑: 实现 CPU 与外设之间的握手协议。