首页 理论教育 计算机组成原理:查询方式及程序流程

计算机组成原理:查询方式及程序流程

时间:2023-10-31 理论教育 版权反馈
【摘要】:查询方式是CPU通过程序来实现与外设的数据传送。前面已经叙述查询方式的核心问题是每时每刻都在不断地查询I/O设备是否准备就绪(输入时,数据缓冲寄存器“满”吗?图7-3查询方式查询程序中应该有如下三条指令。下面以输入过程为例,给出查询方式的程序流程图,如图7-4所示。图7-4查询方式的程序流程图①由于传送的往往是一批数据,因此需要设置计数器的初值和欲传送数据在内存缓冲区的首地址。

计算机组成原理:查询方式及程序流程

查询方式是CPU通过程序来实现与外设的数据传送。前面已经叙述查询方式的核心问题是每时每刻都在不断地查询I/O设备是否准备就绪(输入时,数据缓冲寄存器“满”吗?输出时,数据缓冲寄存器“空”吗?)?否,即没有准备就绪,继续查询;是,即准备就绪了,开始传送数据,如图7-3所示。

图7-3 查询方式

查询程序中应该有如下三条指令。

①测试指令。测试指令测试状态寄存器中对应数据缓冲寄存器“满”或对应数据缓冲寄存器“空”的标志位是1还是0。

②转移指令。若I/O设备未准备就绪,则转至测试指令,继续测试I/O设备的状态;若I/O设备准备就绪,则执行传送指令。

③传送指令。I/O设备的输入或输出指令。

例如

IN AL,DATA-PORT

OUT DATA-PORT,AL

完成CPU中的通用寄存器AL和I/O接口中的数据缓冲寄存器DATA-PORT之间的数据传送,参见总线接口。(www.xing528.com)

下面以输入过程为例,给出查询方式的程序流程图,如图7-4所示。

图7-4 查询方式的程序流程图(以输入过程为例)

①由于传送的往往是一批数据,因此需要设置计数器的初值(用来计数已经交换了多少个数据)和欲传送数据在内存缓冲区的首地址

②CPU启动I/O设备。例如,通过状态寄存器的启动标志位置1来启动I/O设备。

③CPU执行测试指令和转移指令。若数据缓冲寄存器“满”标志位是0,表示数据没有准备好,则继续测试,直到数据缓冲寄存器“满”标志位是1为止。若数据缓冲寄存器“满”标志位是1,表示数据已经准备好,则传送一个数据。

④CPU执行传送指令。CPU把数据缓冲寄存器中的数据输入到CPU中的寄存器,同时把状态寄存器中的数据缓冲寄存器“满”的标志位置0,通知I/O设备准备下一个数据。

⑤修改内存地址和计数器的值。

⑥根据计数器的值,判断是否一批数据传送完毕?若没有完成,转到第三步,继续传送下一个数据;若完成,传送完毕结束。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈