接口可以是两个部件之间连接的电路,IO接口通常是指CPU和IO设备间的硬件电路和控制软件,而不同的IO设备通常都通过IO接口和CPU取得联系的。
IO接口的功能有如下几个:
- 实现IO设备的选择
- 匹配IO设备和CPU的速度
- 实现数据的串-并转换
- 实现电平的转换
- 发送控制信号
- 保存状态信息,供CPU进行查询
这里举个四功能的接口,看看它的功能和组成
组成介绍
设备选择线:
该线是用于传输设备码的,它的根数取决于I/O指令设备码的位数。
命令线:
该线是单项的,通常由CPU发出,用于传输CPU的I/O指令
状态线:
反馈IO设备的状态,该线也是单项的,通常
数据线:
双向的,用于传输数据,其根数一般等于存储字长的长度
功能介绍
选址功能
IO总线与所有设备的接口相连,但CPU究竟选择哪台设备,还得通过设备选择线上的设备码来确定。
每个接口会带有选址功能,当设备线上的设备码与I/O设备的设备码一致时,应发出设备选中信号SEL。
传送命令功能
当CPU向IO设备发出命令时,要求IO设备能做出响应。如果设备不具备传送命令的信息功能,设备将无法响应。所以通常在IO接口中设有存放命令的寄存器以及命令译码器。
命令寄存器用来存放IO指令中的指令码,只有当设备选择电路有效,SEL信号有效,才能存放命令道寄存器中。
传送数据的功能
IO设备和CPU之间通过接口的数据通路进行数据交互,接口还会有数据缓冲的功能,它用来暂存IO设备和CPU间要交换的数据。数据通路的位数取决于设备的种类。
IO设备工作状态
为了使CPU能时刻了解IO设备的运行状况,接口通常会设置一些反映设备状态的触发器。
比如工作触发器B、完成触发器D、中断触发器INTR,屏蔽触发器MASK
- D = 0, B = 0时,表示设备处于暂停
- D = 1, B = 0时,表示设备已准备就绪
- D = 0, B = 1时,表示设备处于准备状态