000000 8.2数据传送控制方式 UA UNIVERSITY PRESS 设备管理的主要任务之一是控制设备和内存或CPU 之间的数据传送,本节介绍常用数据传送控制方式。 选择和衡量控制方式有如下几条原则: (1)数据传送速度足够高,能满足用户的需要但又不 丢失数据; (2)系统开销小,所需的处理控制程序少; (3)能充分发挥硬件资源的能力,使得VO设备尽量忙, 而CPU等待时间少。为了控制ⅣO设备和内存之间 的数据交换,每台外围设备都按一定规律编码。而 且,设备和内存与CPU之间有相应的硬件接口支持 同步控制、设备选择以及中断控制等。因此,假定 本节的数据传送控制方式都是基于这些硬件基础的, 从而不再讨论有关硬件部分
8.2 数据传送控制方式 设备管理的主要任务之一是控制设备和内存或CPU 之间的数据传送,本节介绍常用数据传送控制方式。 选择和衡量控制方式有如下几条原则: (1) 数据传送速度足够高,能满足用户的需要但又不 丢失数据; (2) 系统开销小,所需的处理控制程序少; (3) 能充分发挥硬件资源的能力,使得I/O设备尽量忙, 而CPU等待时间少。为了控制I/O设备和内存之间 的数据交换,每台外围设备都按一定规律编码。而 且,设备和内存与CPU之间有相应的硬件接口支持 同步控制、设备选择以及中断控制等。因此,假定 本节的数据传送控制方式都是基于这些硬件基础的, 从而不再讨论有关硬件部分
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 外围设备和内存之间的常用数据传送控制方式有4种。 (1)程序直接控制方式; (2)中断控制方式; (3)DMA方式; (4)通道方式。 下面分别给予介绍
外围设备和内存之间的常用数据传送控制方式有4种。 即: (1) 程序直接控制方式; (2) 中断控制方式; (3) DMA方式; (4) 通道方式。 下面分别给予介绍
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 8.2.1程序直接控制方式 就是由用户进程来直接控制内存或CPU和外围设备 之间的信息传送。这种方式的控制者是用户进程。 当用户进程需要数据时,它通过CPU发出启动设备 准备数据的启动命令“ Start”,然后,用户进程进 入测试等待状态。在等待时间内,CPU不断地用 条测试指令检查描述外围设备的工作状态的控制状 态寄存器。而外围设备只有将数据传送的准备工作 作好之后,才将该寄存器置为完成状态。从而,当 CPU检测到控制状态寄存器为完成状态,也就是该 寄存器发出“Done”信号之后,设备开始往内存或 CPU传送数据。反之,当用户进程需要向设备输出 数据时,也必须同样发启动命令启动设备和等待设 备准备好之后才能输出数据
8.2.1 程序直接控制方式 就是由用户进程来直接控制内存或CPU和外围设备 之间的信息传送。这种方式的控制者是用户进程。 当用户进程需要数据时,它通过CPU发出启动设备 准备数据的启动命令“Start”,然后,用户进程进 入测试等待状态。在等待时间内,CPU不断地用一 条测试指令检查描述外围设备的工作状态的控制状 态寄存器。而外围设备只有将数据传送的准备工作 作好之后,才将该寄存器置为完成状态。从而,当 CPU检测到控制状态寄存器为完成状态,也就是该 寄存器发出“Done”信号之后,设备开始往内存或 CPU传送数据。反之,当用户进程需要向设备输出 数据时,也必须同样发启动命令启动设备和等待设 备准备好之后才能输出数据
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 除了控制状态寄存器之外,在O控制器中还有一类 称为数据缓冲寄存器的寄存器。在CPU与外围设备 之间传送数据时,输入设备每进行一次操作,首先 把所输入的数据送入该寄存器,然后,CPU再把其 中数据取走。反之,当CPU输出数据时,也是先把 数据输出到该寄存器之后,再由输出设备将其取走。 只有数据装入该寄存器之后,控制状态寄存器的值 才会发生变化。程序直接控制方式的控制流程如图 8.2
除了控制状态寄存器之外,在I/O控制器中还有一类 称为数据缓冲寄存器的寄存器。在CPU与外围设备 之间传送数据时,输入设备每进行一次操作,首先 把所输入的数据送入该寄存器,然后,CPU再把其 中数据取走。反之,当CPU输出数据时,也是先把 数据输出到该寄存器之后,再由输出设备将其取走。 只有数据装入该寄存器之后,控制状态寄存器的值 才会发生变化。程序直接控制方式的控制流程如图 8.2
外围设备 CPU 接收到 Start命令 发 Start命令 做接收或发送数据准备 是 设备标志触发 器为“Done 否准备完毕?了 否 是 等待 标志触发器置“Done 执行下条指令 等待CPU来的下条指令 开始数据传送 图82程序直接控制方式
图8.2 程序直接控制方式