I/O接口,或者是I/O控制器,是主机和外设之间地交接界面,通过接口可以实现主机和外设之间地信息交换。主机和外设具有各自工作特点,它们在信息形式和工作速度具有很大地差异,接口就是为了解决这些差异而设置的。
功能
I/O接口的主要功能如下:实现主机和外设的通信联络控制。主要是时序配合、工作速度上的协调,确保信息的正确传输,从而保证计算机系统统协调地工作。进行地址译码和设备选择。接口负责通过CPU送来地外设地址进行译码产生设备选择信息,从而确定目标外设。实现数据缓冲。主要是针对CPU速度与外设的相差很大,因此接口必须设置数据缓冲寄存器进行暂存数据,避免CPU送来的大量数据而外设处理不过来导致外设奔溃,或者造成数据的丢失。信号格式转换。主要是对电平、数据格式等进行转换,接口需要提供计算机和外设之间的信号格式的转换功能,如电平转换、并/串或串/并转换、模/数或数/模转换等。传送控制命令和状态信息。控制命令指接口根据CPU的请求对指定的外设进行开启、关闭等控制;状态信息就是指接口将指定外设“准备好”等表示外设状态的信息反馈给CPU,以及CPU提出中断时发送给指定外设的相关响应信号。
结构
I/O接口的基本结构如上,数据线主要传输数据和CPU对外设的控制命令,接口和设备的状态信息记录在状态寄存器中,状态寄存器和控制寄存器在传送方向上是相反的。接口的地址线用于给出要访问的I/O接口中的寄存器的地址,和读/写控制命令一起送到I/O接口的控制逻辑部件,读/写信号用于确定选定的目标接口中的寄存器是读寄存器还是写寄存器,此外控制线还可以传送一些仲裁信号和握手信号。I/O控制逻辑主要完成控制寄存器中的命令字的译码,并将译码后的控制信号通过外设界面控制逻辑送到外设,并将数据缓冲寄存器中数据送到外设或从外设接收数据到数据缓冲寄存器,以及收集外设状态到状态寄存器中。通过I/O指令实现对数据缓冲寄存器、状态寄存器的访问操控,I/O指令只能在操作系统内核的底层I/O软件中使用,是一种特权指令。
类型
I/O接口可以分为如下几种类型:按数据传送方式,分为并行接口和串行接口,并行接口一次传输一个字节或一个字的全部位,串行接口一次传送一位。这里指的是外设和接口一侧的传输方式,主机和接口一侧的数据总是并行传输的。按主机访问I/O接口的控制方式,分为程序查询接口、中断接口和DMA接口等。按功能选择的灵活性,分为可编程接口和不可编程接口。
I/O端口及编址
I/O端口
指接口电路中可被CPU直接访问的寄存器,主要有数据端口、状态端口和控制端口,若干端口加上相应的控制逻辑电路组成接口;一般CPU只能对数据端口执行读写操作、状态端口只能执行读操作、控制端口只能执行写操作。
I/O端口编址
I/O端口的编址方式主要有:存储器统一编址和独立编址。
>统一编址
又称为存储器映射方式,指把I/O端口当作存储器的单元进行地址分配,这种方式CPU不需要设置专门的I/O指令,用统一的访存指令就可以访问I/O端口。优点:不需要专门的I/O指令,CPU访问I/O端口灵活、方便,I/O端口有较大的编址空间。缺点:占用存储器地址,使内容容量变小,利用存储器编址的I/O设备进行数据输入输出等操作速度较慢。
>独立编址
又称为I/O映射方式,单独对I/O端口进行编址,与主存地址空间是两个独立的地址空间,需要设置专门的I/O指令来操作I/O端口。优点:使用专门的I/O指令,程序编制清晰,易于理解。缺点:I/O指令少,一般只能对端口进行传送操作,尤其需要CPU提供存储器读/写、I/O设备读/写两套控制信号,增加了控制的复杂性。
上一篇下一篇
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点