1.I/O接口的基本功能
接口的基本功能从本质讲是建立起总线与外围设备间的信息传输桥梁,具体可分为如下几方面。
(1)不同时序间的同步功能
由于CPU由高速半导体逻辑电路构成,它的工作速度可达1O0MPS(即每秒执行10条指令)以上(今后的速度还会不断地提高):而外围设备则多数由“机-电、机光电”类型的设备与部件组成,它们的工作速度与CU相比是比较低的。如常见的针式打印机,每秒钟只能打印100个字符左右,而键盘输入的速度则更低。尽管各种新式的计算机外围设备的工作速度比以前有了较大提高,但仍比CPU的工作速度低得多。因此,接口电路应具有解决高速的主机与低速的外围设备之间因工作速度差异而引起的在传输数据时的同步问题。也就是信息传输前的联络功能。
(2)不同信息格式的转换功能
外围设备所处理的信息格式有多种形式。有的是串行的,也有的是并行的:有的是8位(bi)的,也有的是16位(bit)的。例如CPU字长为16位,若I/0设备按位串行传送数据,则I/O接口需进行串-并数据格式的转换。又如CPU字长16位,而/0设备数据格式为8位字节,则需要进行组装或分解,即将两个8位字节拼成一个16位字,或将一个16位字分解为两个字节。
(3)电气连接的匹配功能
外围设备所处理的接口信号也有多种形式。有的是数字式的,也有的是模拟式的:有的是标准的逻辑电平信号,也有的是非标准的电平信号。这些不同的信息格式及接口信号必须经过适当的转换,才能与主机进行正确的传输和交换。例如在测量温度时,传感器送出的可能是模拟信号,则接口需进行模/数转换(A/D),将其变为数字信号,才能送往主机进行处理。另外,接口电路应提供总线和I/O设备所需的驱动能力,满足一定的负载要求。
(4)信息传输的缓冲功能
早期的计算机并没有单独的I/O接口电路,那时的输入/输出操作是在累加器的直接控制下完成的。这种方式的缺点是,当累加器忙于输入/输出处理时,它就不能做其他的计算和操作。这样,当程序中有较多的I/O处理时,其运行速度就被低速的I/O操作所限制。为解决此问题,出现了带缓冲器的I/O装置并得到了普遍采用。这里的缓冲器是指通过一个或几个单独的寄存器,实现主机与外围设备之间的数据传送。这样,由于外围设备不与累加器直接进行通信,所以在输入/输出处理过程中,累加器还可用于其他的计算和操作.
另外,主机和I/O设备通常是按照各自独立的时序工作的,为了协调它们之间的信息交换,接口往往需要进行缓冲暂存,并满足各自的时序要求。在现代微型计算机中,这种缓冲器装置被发展改进而形成功能更强的I/O接口电路。这种I/O接口的主要功能是作为主机与外围设备之间传送数据的“转接站”,同时提供主机与外围设备之间传送数据所必需的状态信息,并能接收和执行主机发来的各种控制命令。
(5)设备选择功能
从形式上看,微机系统一般带有多台外设,而CPU在同一时间内只能与一台外设交换信息,这就需要利用接口电路中的地址译码电路进行寻址,以选择相应的外设进行工作。
除少数简单外设外,大多数外设在与系统完成信息交换的过程中,需要若干个功能截然不同的缓冲暂存器,存放各种不同性质的信息。为了便于区分它们,应分别分配一个不同的地址。为了与存储器的地址进行区分,将其称为I/O端口地址。由此可见,设备选择功能,其实质就是端口寻址功能。
(6)中断处理功能
中断是实现外设与主机进行通信的一种控制方法。所以,接口中需设专门的中断控制逻辑电路,以处理有关的中断事务(如产生中断请求信号,接收中断回答信号,以及提供中断向量等)。
(7)可编程功能
现代微机的I/O接口,多数是可编程接口(Programmable interface)。这样可以在不改动任何硬件的情况下,只要修改控制程序就可改变接口的工作方式,使接口执行不同的操作命令,大大增加了接口功能的灵活性。