5.1 输入输出接口
5.1.1 外部设备及其信号
外部设备的分类
按照数据传输方向分:
1、输入设备;2、输出设备;3、复合输入输出设备
按照设备的功效:
1、人机交互设备;2、数据存储设备;3、媒体输入输出设备;4、数据采集与设备控制
与主机交换信号
1、数据信号;2、控制信号;3、状态信号(ready、busy、error)
5.1.2 I/O接口的功能
接口:计算机一个部件与另一个部件的连接界面。
I/O接口的功能:
1、设备选择功能;2、信息传递与联络功能;3、数据格式转换功能;4、中断管理功能;5、复位功能;6、可编程功能;7、错误检测功能(1、物理信道上的传输错误,采用奇偶校验等2、数据传输中的覆盖错误)
5.1.3 I/O端口的编址方法
端口:接口内的若干寄存器,用来暂存CPU和外部设备之间传输的数据、状态和命令。
分类:数据输入端口、数据输出端口、命令端口(也称控制端口)、状态端口。
一个外部设备的地址,实际上就是该设备接口内各个端口的地址。
编址方法:
1、I/O端口与内存统一编址,也称存储器映射编址方式。
有助于降低CPU复杂性,但是减少了内存可用范围。由于难于区分内存与设备,降低了程序的可读性和可维护性。
2、I/O端口与内存独立编址。
5.1.4 输入输出指令
IN AL,60H; 8位输入指令
IN AX,78H; 16位输入指令
MOV DX,312H; 端口地址送入DX
IN AX ,DX; 16位间接输入指令
OUT 21H,AL; 8位输出指令
MOV DX,21H; 端口地址送入DX
OUT DX,AL; 8位间接输出指令
说明:端口地址为0~255,可以用8位二进制数表示时,可以使用直接地址。端口地址大于255时,必须把地址送入DX寄存器,通过寄存器进行间接寻址。
5.1.5 简单I/O接口的组成
1、地址译码电路
高位地址选择接口,低位地址选择接口内不同的端口。
2、数据锁存器与缓冲器
为了正常传送数据,设备需要具有三态输出功能。
5.2 输入输出数据传输的控制方式
CPU主要进行两种类型的数据传输:与内存储器的数据传输和与外部设备的数据传输
5.2.1 程序方式
1、无条件传送方式
主要对于一些简单的设备,对它们的I/O操作可以随时进行。如开关、二极管指示灯等。
2、条件传送方式
也称查询式传送。CPU不断读取并测试外部设备的状态,如果输出设备处于空闲状态,则进行输出操作,如果输入设备处于ready状态,则进行输入操作。
5.2.2 中断方式