输入/输出技术

输入/输出(input/output,I/O),读作“eye-oh”,描述的是在计算机上输入输出数据的操作系统、程序或设备。一般的输入输出设备有打印机、硬盘、键盘和鼠标。实际上,有些设备只有输入功能,如键盘和鼠标;有些设备只有输出功能,如打印机;还有些设备具有输入输出2种功能,如硬盘、磁碟和可写性只读光盘(CD-ROM)。

微型计算机中最常用的内存与接口的编址方法

计算机系统中存在多种内存与接口地址的编址方法,最常见的是:内存与接口地址独立编址和内存与接口地址统一编址。
在这里插入图片描述

输入输出控制

在这里插入图片描述
直接程序控制

直接程序控制是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。这种方式分为无条件传送和程序查询方式两种情况。

(1)无条件传送

在这种情况下,外设总是准备好的,它可以无条件地随时接收CPU发来的输出数据,也能够无条件地随时向CPU提供数据。

(2)程序查询方式

通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或者准备好了向CPU输入的数据。根据外设的状态,CPU有针对性地为外设的输入/输出服务。

通常,一个计算机系统中可以存在着多种不同的外设,如果这些外设是用查询方式工作,则CPU应对这些外设逐一进行查询,发现那个外设准备就绪就对该外设服务。

这种方式CPU需定期地查询I/O系统的状态,降低了CPU的效率,并且对外部的突发事件不能做出实时响应。

中断方式

当I/O系统与外设交换数据时,CPU无须等待也不必去查询I/O的状态,而可以抽身出来处理其他任务。当I/O系统准备好以后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被打断的程序继续执行。

与程序控制方式相比,中断方式因为CPU无须等待而提高了效率。

(1)中断处理方法

在系统中有多个中断源的情况下,常用的处理方法有多中断信号线法中断软件查询法菊花链法总线仲裁法中断向量表法
在这里插入图片描述
(2)中断优先级

在中断优先级控制系统中,给最紧迫的中断源分配高的优先级,而给那些要求相对不紧迫的中断源分配低一些的优先级。

当不同优先级的多个中断源同时提出中断请求的时,CPU应优先响应优先级最高的中断源。

当CPU正在对某一个中断源服务时,又有比它优先级更高的中断源提出中断请求,CPU应能暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,服务结束后再回到原先被中断的优先级较低的中断服务程序继续执行。

(3)可屏蔽中断与不可屏蔽中断

可屏蔽中断由有中断能力的外设所产生,包括处在定时模式的定时器溢出和I/O中断请求;

不可屏蔽中断是出现在NMI(不可屏蔽中断)线上的请求,不受中断标志位的影响,通常用于电源故障。

不可屏蔽中断的优先级高于可屏蔽中断。

直接内存存取方式

直接内存存取(DMA)是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要COU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事情。

DMA的一般传送过程如下图:
在这里插入图片描述
在DMA传送过程中无须CPU的干预,整个系统总线完全交给了DMAC,由它控制系统总线完成数据传送。在DMA传送数据时要占用系统总线,CPU不能使用总线。

DMA减轻了CPU对I/O操作的控制,使得CPU的效率显著提高。

通道方式

通道是一个具有特殊功能的处理器,又称为输入输出处理器(IOP),它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。

通道方式大大提高了CPU的工作效率,然而这种效率的提高是以增加更多的硬件为代价的。

外围处理机方式

外围处理机(PPU)是通道方式的进一步发展。PPU是专用处理机,它根据主机的I/O命令,完成对外设数据的输入输出。