2.I/O接口的基本结构
I/O接口电路的一侧与各种各样的外围设备相连接,外围设备的多样性决定了1/O接口电路的复杂性。怎样具体地解决上述问题不在本教材讨论范围之内,但是可以研究常见的带有规律性的东西。另外,/O接口电路的另一侧与系统总线连接,由于均采用标准的逻辑电路,所以硬件的连接十分简单。如图6.2所示给出了/O接口的基本结构,重点是其内部结构。
由图可以看出,每个I/O接口内部都包括一组寄存器,通常有:数据输入寄存器,数据输出寄存器,状态寄存器和控制寄存器。有的I/O接口中还包括中断控制逻辑电路。这些寄存器也被称为I/O端口,每个端口有一个端口地址。主机就是通过这些端口与外围设备进行信息交换的。
(1)数据输入寄存器
数据输入寄存器用于暂存外围设备送往CPU的数据或在DMA方式下送往内存的数据。
(2)数据输出寄存器
数据输出寄存器用于暂存CPU送往外围设备的数据或在DMA方式下内存送往外围设备的数据。
(3)状态寄存器
状态寄存器用于保存I/O接口的状态信息。CPU通过对状态寄存器内容的读取和检测,可以确定I/O接口的当前工作状态,如上一次的处理是否完毕,是否可以发送或接收数据等,以便CPU能够根据设备的状态,确定是否可以向外围设备发送数据或从外围设备接收数据。
(4)控制寄存器
控制寄存器用于存放CPU发出的控制命令字,以控制接口和设备所执行的动作,如对数据传输方式、速率等参数的设定、数据传输的启动和停止等。
(5)中断控制逻辑
当CPU与I/O接口以中断方式交换信息时,中断控制逻辑电路用于实现外围设备准备
就绪时向CPU发出中断请求信号,接收来自CPU的中断响应信号以及提供相应的中断类型码等功能。