目录
1. 常见I/O端口
(1) 数据端口
功能:存放外设送往CPU的数据以及CPU输出到外设去的数据。
(2) 状态端口
功能:指示外设的当前状态。
① 准备就绪位(Ready)
对于输入端口
对于输出端口
1:端口的输出数据寄存器已空,即上一个数据被外设取走,可以接受CPU的下一个数据。
0:端口的输出数据寄存器未空
② 忙碌位(Busy)
③ 错误位(Error)
(3) 命令端口
存放CPU向接口发出的各种命令或控制字,以便控制接口或设备的动作
2. I/O端口寻址方式
(1) 存储器映像寻址方式
原理:把每个I/O端口看成一个存储单元,与存储单元统一编码,这样通过访问存储器的指令访问I/O端口。
工作过程:
优点:
- 简化指令集。微处理器的指令集不用包含I/O操作指令
- 能使用功能强的存储器指令对I/O设备进行操作
缺点:
- I/O 端口占用了存储单元
(2) I/O单独编址方式🍟🍟🍟
原理:对输入输出端口单独编址,构成一个I/O空间,不占用存储空间,用专门的IN,OUT指令访问这种具有独立地址的端口。
工作过程: M / I O ‾ M/\overline{IO} M/IO置零, A 15 ∼ A 0 A_{15} \sim A_0 A15∼A0进行寻址I/O端口。
优点:
- 程序更清晰。输入输出指令与存储器指令区分开来。
- I/O指令长度短,执行快。
- I/O 端口不占用存储单元。
- I/O地址译码电路简单。
缺点:
- 专门的IN,OUT指令,且功能简单。
- CPU还需提供能区分访问内存或访问I/O的硬件引脚信号。