I/O接口(I/O控制器)是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。主机和外设具有各自的工作特点,它们在信息形式和工作速度上具有很大的差异,接口正是为了解决这些差异设置的。
I/O接口的功能
1> 实现主机和外设的通信联络控制。
2> 进行地址译码和设备选择。CPU送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。
3> 实习数据缓冲。CPU与外设之间的速度往往不匹配,为了消除速度差异,接口必须设置数据缓冲寄存器,用于数据的暂存,以避免因速度不一致而丢失数据。
4> 信号格式的转换。外设与主机两者的电平,数据格式都可能存在差异,接口应提供计算机与外设信号格式的转换功能,如电平转换,并/串或串/并转换,模/数或数/模转换等
5> 传送控制命令和状态信息。CPU要启动某一外设时,通过接口中的命令寄存器向外设发出启动命令;外设准备就绪时,将“准备好”状态信息送回接口中的状态寄存器,并反馈给CPU。
I/O接口的基本结构
1> 内部接口:内部接口与系统总线相连,实质上是与内存,CPU相连。数据的传输方式只能是并行传输。
2> 外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/O接口需具有串/并转换功能。
注意:接口和端口是两个不同的概念。端口是指接口电路中可以进行读/写的寄存器,若干端口加上相应的控制逻辑才可以组成接口。
I/O接口的类型
1> 按数据传送方式可分为并行接口和串行接口。
2> 按主机访问I/O设备的控制方式可分为程序查询接口,中断接口和DMA接口。
3> 按功能选择的灵活性可分为可编程接口和不可编程接口。
I/O端口及其编址
I/O端口是指接口电路中可被CPU直接访问的寄存器,主要有数据端口,状态端口和控制端口,若干端口加上相应的控制逻辑电路组成接口。
I/O端口要想能够被CPU访问,必须要有端口地址,每个端口对应一个端口地址。而I/O端口的编址方式有与存储器统一编址和独立编址两种: