|
|
|
接口又称为界面,是指两个相对独立子系统之间的相连部分。用于连接主机和I/O设备的转换机构就是I/O接口电路。I/O接口的主要功能如下。
|
|
|
|
.在主机和I/O设备间交换数据、控制命令及状态信息等。
|
|
|
|
.提供主机和I/O设备所需的缓冲、暂存、驱动功能。
|
|
|
|
|
|
|
.按主机访问I/O设备的控制方式,可分为程序查询接口、中断接口、DMA接口以及通道控制器、I/O处理机等。
|
|
|
|
|
主机和外设间的连接方式常见的有总线型、星型、通道方式和I/O处理机等,其中总线方式是基本方式。
|
|
|
总线是一组能为多个部件分时共享的信息传送线,用来连接多个部件并为之提供信息交换通路。共享是指连接到总线上的所有部件都可以通过它传递信息,分时性是指某一时刻只允许一个部件将数据发送到总线上。因此共享是利用分时实现的。
|
|
|
要实现分时共享,必须制定相应的规则,称为总线协议。总线协议一般包括:信号线定义、数据格式、时序关系、信号电平、控制逻辑等。
|
|
|
|
|
将I/O接口中有关的寄存器或存储器部件看作存储器单元,与主存中的存储单元统一编址。这种编址方法的优点是原则上用于内存的指令全都可以用于接口。其缺点是地址空间被分成两部分,会导致内存地址不连续。
|
|
|
|
通过设置单独的I/O地址空间,为接口中的有关寄存器或存储部件分配地址码,需要设置专门的I/O指令进行访问。这种编址的优点是不占主存的地址空间,缺点是用于接口的指令太少。
|
|
|
|
|
.程序查询方式:在这种方式下,CPU通过执行程序查询外设的状态,判断外设是否准备好进行数据传送。程序查询方式的传输过程如下图所示。
|
|
|
|
|
.立即程序传送方式:在这种方式下,I/O接口总是准备好接收来自主机的数据,或
|
|
|
随时准备向主机输入数据,CPU无须查看接口的状态,就执行输入/输出指令进行数据传送。这种方式又称为无条件传送或同步传送。
|
|
|
|
中断是在发生了一个外部事件时调用相应的处理程序(或称服务程序)的过程。中断服务程序与中断时CPU正在运行的程序是相互独立的,相互不传递数据。
|
|
|
|
.中断处理程序入口地址的形成(称为中断响应过程):由硬件中断机构根据中断源引出中断向量表,其步骤是:关中断(屏蔽中断)→保存现场→识别中断→形成服务程序入口地址→执行服务程序→恢复现场→开中断。
|
|
|
.中断屏蔽:由硬件中断屏蔽寄存器实现多重中断(中断嵌套),即中断服务程序也可以被中断。多重中断的过程如下图所示。
|
|
|
|
|
|
.在CPU内设置一个中断屏蔽寄存器,通过指令设置该寄存器关(或开),用以屏蔽(或不屏蔽)对外部所有的中断请求,常在保存(或恢复)现场时使用。
|
|
|
.采用中断屏蔽寄存器,每位对应一个中断源,用软件灵活地设置屏蔽寄存器的内容就可改变优先级,其原理如下图所示。
|
|
|
|
|
|
.内部中断(异常处理):算术操作异常、非法指令、越权指令。
|
|
|
.外部中断(可屏蔽,不可屏蔽):键盘、鼠标、电源。
|
|
|
|
|
|
|
|
DMA方式用于高速外围设备与内存之间批量数据的传输,其使用一个专门的DMA控制器来完成内存与设备之间的直接数据传送,而不用CPU干预。当本次DMA传送的数据全部完成时,才产生中断,请求CPU进行结束处理。DMA控制器与其他部件的关系如下1图所示。其控制流程如下2图所示。
|
|
|
|
|
|
|
因为CPU与DMA都要访问内存,所以会出现访存冲突,一般有以下解决方法。
|
|
|
|
|
|
|
通道是一个用来控制外围设备工作的专用处理机。它对外围设备实现统一管理,代替CPU对I/O操作进行控制,从而使I/O操作可以与CPU并行工作。通道是实现计算和传输并行的基础,通道的应用可以提高整个系统的效率。
|
|
|
通道的类型包括:选择通道、数组多路通道、字节多路通道。
|
|
|
通道的功能包括:接受CPU的指令;读取并执行通道程序;控制数据传送;读取外设的状态信息,提供给CPU;发出中断请求。
|
|
|