计算机组成原理硬件结构输入输出系统I/O接口
一、概述
接口可以看做是两个系统或两个部件之间的交接部分,它即可以是两种硬设备之间的连接电路,也可以是两个软件之间共同的逻辑边界。
I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制,不同的I/O设备都有其相应的设备控制器,而它们往往都是通过I/O接口与主机取得联系的。
主机与I/O设备之间设置I/O接口的理由如下:
(1)一台机器配有多台I/O设备,它们各自有其设备号(地址),接口实现I/O设备的选择
(2)I/O种类繁多、速度不一、与CPU速度相差很大,接口可以实现数据缓冲,达到速度匹配
(3)I/O设备可能串行传送数据,而CPU为并行传送,接口可实现数据串并转换
(4)I/O设备输入输出电平与CPU输入输出电平不同,接口可实现电平转换
(5)CPU启动设备工作,接口可向I/O设备发送控制命令
(6)接口可监视设备工作状态并保存,供CPU查询
接口(Interface)与端口(Port)是不同的概念。端口是指接口电路中的一些寄存器,这些寄存器保存数据信息、控制信息、状态信息,相应的端口分别称为数据端口、控制端口、状态端口。若干个端口加上相应的控制逻辑才能组成接口。CPU通过输入指令,从端口读入信息,通过输出指令,可将信息写入到端口中。
二、功能和组成
1.总线连接方式的I/O接口电路
(1)数据线 I/O设备与主机之间数据代码的传送线,其根数等于存储字长的位数或字符的位数,可以是双向的,也可以是单向的。
(2)设备选择线
(3)命令线
(4)状态线
2.接口的功能
(1)选址功能
(2)传送命令的功能
(3)传送数据的功能
(4)反映设备工作状态的功能
三、接口的类型
按传送方式,串行接口(按bit传送)和并行接口(按字节或字传送)
按功能选择的灵活性,可编程接口(功能及操作方式由程序来改变)和不可编程接口(通过硬连线逻辑实现不同的功能)
按通用性,通用接口和专用接口(供某类外设)
按数据传送的控制方式分类,有程序性接口(键盘、打印机、显示终端)和DMA接口(磁盘、磁带)