输入-输出控制方式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

返回
虽然DMA方式比中断方式显著的减少了CPU的干预,即 由以字节为单位的干预减少到以数据块为单位的干预。但 是CPU每发出一条I/O指令,只能去读写一个连续的数据块, 而对于离散的数据块,则仍需CPU分别发出多条I/O指令及 进行多次中断处理才能完成,这样DMA方式仍不能满足复 杂的I/O操作要求。在现代的计算机系统中,普遍采用由 专门的I/O处理机来接受CPU的委托,独立执行自己的通道 程序来实现外围设备和内存之间的信息交换,这就是通道 技术。
返回
DMA方式即直接存取(Direct Memory Access)方式,其基 本思想是在外围设备和内存之间开辟直接的数据交换通路。
在DMA方式中,I/O控制器具有比中断方式和程序直接方式时更强的 功能。另外,除了控制状态寄存器和数据缓冲寄存器外,DMA控制器中 还包括传送字节计数器、内存地置寄存器等。DMA方式采用窃取总线控 制权的方法,不断的挪用CPU的工作周期把数据缓冲寄存器中的数据直 接送到内存地址寄存器所指向的内存区域。
常用的控制方式有四种:程序直接控制方式、中断控制 方式、DMA方式和通道方式。
程序直接控制方式(Programmed Direct Control)也称循环等待方式或 忙-等待方式,就是由用户进程来直接控制内存或CPU和外围设备之间的 信息传送。
这种方式的控制者是用户进程。当 用户进程需要数据时,它通过CPU 发出启动设备准备数据的启动命令 “Start”,然后,用户进程进入测 试等待状态。在等待时间内,CPU 不断地用一条测试指令检查描述设 备的工作状态的控制状态寄存器。 而外围设备只有将数据传送的准备 工作做好之后,才将该寄存器置为 完成状态。
(4)在以后的某个时刻,进程调度程序选中提出请求并得到了 数据的进程,该进程从约定的内存单元中取出数据继续工作。
上述中断方式与程序直接控制方式相比,使CPU的利用率大大提高且 能支持多道程序的设备的并行操作,但也存在着许多问题:
(1)I/O控制器的数据缓冲器比较小,通常只有几个字节。当进程一 次要求传输的信息量较大时,需要发生多次的中断,这将耗去大量的 CPU时间。
程序控制方式虽然控制简单,也不需要多少硬件支持,但是,ቤተ መጻሕፍቲ ባይዱ 序直接控制方式明显的存在下述缺点:
(1)CPU和外围设备只能串行工作。由于CPU的处理速度要大大 高于外围设备的数据传送和处理速度,所以,CPU的大量时间都 处于等待和空闲状态。这使得CPU的利用率大大降低。
(2)CPU在一段时间内只能和一台外围设备交换数据信息,并不 能实现设备之间的并行工作。
(5)中断处理结束的某个时刻,进程调度选中该要求输入 的进程运行。
DMA方式与中断方式的一个 主要区别是,中断方式是在 数据缓冲寄存器满之后发中 断,要求CPU进行中断处理, 而DMA方式则是在所要求传 送的数据块全部传送结束时 要求CPU进行中断处理。这 就大大减少了CPU进行中断 处理的次数。另外一个区别 是,中断方式的数据是在中 断处理时由CPU控制完成的, 而DMA方式则是在DMA控制器 的控制下不经过CPU控制完 成的。这就排除了因并行操 作设备过多时CPU来不及处 理或因速度不匹配而造成数 据丢失的现象。
(2)在进程发出指令启动设备后,该进程放弃处理机,等待输入 完成。从而,进程调度程序调入其他就绪进程占据处理机。此时 CPU与I/O设备处于并行工作状态。
(3)当输入完成时,I/O控制器通过中断请求线向CPU发出中断 信号。CPU在接受到中断信号后,转向相应的中断处理程序检查 输入过程是否正确,若正确则向控制器发送取走数据的信号,然 后通过控制器将数据写入指定的内存单元
(2)发出数据要求的进行进入等待状态,进程调度程序调 度其他进程占据CPU。
(3)输入设备不断的挪用CPU工作周期,将数据缓冲寄存器 中的数据源源不断的写入内存,直到所要求的字节全部传送 完毕。
(4)DMA控制器在传送字节数完成时通过中断请求线发出中 断信号,CPU在接受到中断信号后转相应的中断处理程序,唤 醒等待输入的进程进入就绪状态。
(3)由于程序直接控制方式依靠测试设备标志触发器的状态位 来控制数据传送,因此无法发现和处理由于设备或其他硬件所产 生的错误。所以,程序直接控制方式只适用于那些CPU执行速度 慢,而且外围设备较少的系统。
返回
为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度, 中断(Inerrupt)方式被用来控制外围设备和内存与CPU之间的数据传送。
(2)现在计算机系统通常配置各种各样的外围设备,如这些设备都 通过中断方式并行操作,则由于中断次数的急剧增加而造成CPU无法 响应中断和出现数据丢失的现象。
(3)在中断控制方式时,假定外围设备的速度非常低,而CPU的
处理速度非常高。也就是说,当设备把数据放入数据缓冲寄存器 并发出中断信号后,CPU有足够的时间在下一个数据进入数据缓 冲寄存器之前取走这些数据。如果外设的速度也非常高,则可能 造成数据缓冲寄存器的数据由于CPU来不及取走而丢失。
操作系统
输入/输出控制方式
1、程序控制方式 2、中断控制方式 3、DMA控制方式 4、通道控制方式
选择和衡量控制方式有如下几条原则: (1)数据传送速度足够高,能满足用户的需要但又不丢失 数据。 (2)系统开销小,所需的处理控制程序少。 (3)能充分发挥硬件资源的能力,使得I/O设备尽量忙, 而CPU等待时间少。
DMA方式不仅允许CPU控制地址线,进行CPU与主存的数据交换,而 且允许DMA控制器“接管”地址线的控制权直接控制DMA控制器与主存的 数据交换。因此I/O设备与主存之间的数据传送不需要CPU介入,从而减 轻了CPU的负担。
DMA方式的数据输入处理过程如下:
(1)当进程要求输入数据时,CPU把准备存放输入数据的内 容始址以及要传送的字节数分别送入DMA控制器中的内存地址 寄存器和传送字节计数器;另外,把控制状态寄存器中的中 断允许位和启动位置1;从而启动设备开始进行数据输入。
这种方式要求CPU与设备 之间有相应的中断请求线,以 及在设备控制器的控制状态寄 存器的相应的中断允许位。中 断方式的传送方式的流程如图 6.2所示。
( 1)进程需要数据时,通过CPU发出“Start”指令启动外围设备准 备数据。该指令同时还将控制状态寄存器中的中断允许位打开,以 便在需要时,中断程序可以被调用执行。
相关文档
最新文档