Advertisement

操作系统精髓与设计原理(原书第6版)—学习笔记(4号)

阅读量:

1.7 I/O通信技术

在I/O操作的实现过程中,存在三种可行的技术方案:可编程I/O方式、中断驱动型I/O机制以及直接内存存取(DMA)技术。

1.7.1 可编程I/O

在进行可编程I/O操作时,I/O模块会执行相应的操作,并在状态寄存器中设置对应的位,但不会主动向处理器发送任何通知,更不会触发中断机制。因此,在执行完I/O指令后,处理器需要持续地轮询I/O模块的状态,以判断当前I/O操作是否完成。

采用该技术时,处理器需从内存中读取数据用于输出操作,并将输入的数据写入内存。I/O软件应被设计为由处理器直接控制I/O指令的执行流程,涵盖设备状态的检测、读写命令的发送以及数据的传输过程。因此,在指令集的设计中包含以下几类与I/O相关的操作:

控制: 用于启动外部设备并指定其执行的具体任务。例如,可以向磁带设备发出倒带或前进一个记录的指令。

状态: 用于检测与I/O模块及其相关外围设备相关的各种运行状态。

传送: 用于实现存储器寄存器与外部设备之间的数据读取或写入操作。

图1.19a展示了一个使用可编程I/O技术的实例:从外部设备逐字读取一块数据至存储器中。对于每一个读取到的字节,处理器必须停留在状态检查阶段,直至确认该字已经成功写入到I/O模块的数据寄存器中。这种机制在流程图中清晰地表明了该方法的主要缺陷:**效率低下

全部评论 (0)

还没有任何评论哟~