组成原理(十七):输入输出系统之 主机与外设的连接
1、输入输出接口
输入输出接口(I/O接口)是主机和外设之间的交界界面,通过接口可以实现主机和外设间的信息交换。
1.1、数据信息
这类信息通过输入设备送到计算机的输入数据,也可以是经过计算机运算处理和加工后,送到输出设备的结果数据。传送可以是并行的,也可以是串行的。
1.2、控制信息
这类信息是CPU对外设的控制或管理命令。
1.3、状态信息
这类信息用来标志外设的工作状态。
1.4、联络信息
这类信息是主机和外设间工作的事件配合信息,通过联络信息可以决定不同工作速度的外设和主机之间交换信息的最佳时刻,以保证整个计算机系统能统一协调的工作。
1.5、外设识别信息
这类信息是I/O寻址的信息,使CPU能从众多的外设中寻找出与自己进行信息交换的唯一设备。
2、接口的功能和基础组成
2.1、接口的概念
实现主机和外设的通信联络控制,接口中的同步控制电路用来解决主机与外设的时间配合问题。
进行地址译码和设备选择,当CPU送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。
实现数据缓冲,数据缓冲寄存器用于数据的暂存,以避免丢失数据。在传送过程中,先将数据送入数据缓冲寄存器中,然后在送到输出设备或主机中。
数据格式的变换,接口电路中具有各类数据相互转换的功能。
传递控制命令和状态信息,当CPU要启动某一外设时,通过接口中的命令寄存器向外设发出启动命令;当外设准备就绪时,则有"准备好"状态信息送回接口中的状态寄存器,为CPU提供外设已经具备与主机交换数据条件的反馈信息。
2.2、接口的基本组成
接口中的数据、控制、状态信息通过数据总线传送。一般情况,计算机将外部设备的状态信息视为输入数据;把控制信息看成输出数据,并在接口中分设各自相应的寄存器,赋予不同的端口地址,各种信息分时的使用数据总线传送到各自的寄存器中。
接口与主机、外设间的连接:
端口是指接口电路中可以被CPU直接访问的寄存器,若刚端口加上相应的控制逻辑电路组成接口。
一个接口中包含数据端口、命令端口和状态端口。存放数据信息的寄存器称为数据端口,存放控制命令的寄存器称为命令端口,存放状态信息的寄存器称为状态端口。
CPU通过输入指令可以从相关端口中读取信息,通过输出指令可以把信息写入有关端口。
2.3、接口的分类
数据传送方式,串行接口和并行接口。
主机访问I/O设备的控制方式,程序查询是接口、程序中断接口、DMA接口,及更复杂的通道控制器。
功能选择灵活性,可编程接口和不可编程接口。
通用性,通过接口和专用接口。
输入输出信号,数字接口和模拟接口。
3、外设的识别与端口寻址
外设识别是通过地址总线和接口电路中的外设识别电路来实现的,I/O端口地址就是主机与外设直接通信的地址,CPU可通过端口发送命令、读取状态和传送数据。如何实现对端口的访问,就是所谓的I/O端口的编址方式。
3.1、端口地址编址方式
I/O端口编址方式,一种是I/O映射方式,即把I/O端口地址与存储器地址分别进行独立的编址;另一种是存储器映射方式,即把端口地址与存储器地址统一编址。
独立编址,主存地址空间和I/O端口地址空间是相对独立的,分别单独编址。
统一编址,I/O端口地址和主存单元是统一编址的,把I/O接口中的端口作为主存单元进行访问,不设置专门的I/O指令。
4、输入输出信息传送控制方式
可分4种,程序查询方式、程序中断方式、直接存储器存取方式和I/O通道控制方式。
4.1、程序查询方式
程序查询方式是一种程序直接控制方式,主机与外设之间进行信息交换的最简单的方式,输入和输出完全是通过CPU执行程序完成。
某一外设被选中并启动后,主机将查询整个外设的某些状态为,查看是否准备就绪?设备准备就绪,就执行一次I/O操作;未准备就绪,主机再次查询。
4.2、程序中断方式
在主机启动外设后,无需等待查询,而是继续执行原来的程序,外设在做好输入输出准备时,向主机发出中断请求,主机接到请求后暂时中止原来执行的程序,转去执行中断服务程序对外部请求进行处理,在中断处理完毕后返回原来的程序继续执行。
4.3、直接存储器存取(DMA)方式
DMA方式是在主存和外设之间开辟直接的数据通路,可以进行基本上不需要CPU介入的主存和外设之间的信息传送,不仅能保证CPU的高效率,而且能满足高速外设的需要。
4.4、I/O通道控制
I/O通道控制方式是DMA方式的进一步发展,在系统中设有通道控制部件,每个通道挂若干外。主机执行I/O指令启动有关通道,通道执行通道程序,完成输入输出操作。