5.3输入输出系统之程序查询方式 (走迷宫式理解)

文章详细阐述了程序查询方式在输入输出系统中的工作流程,从设备优先级排序到主机对每个设备状态的检查,以及如何通过设置计数值和主存缓冲区首地址来管理数据传输。同时,文章提供了一个输入接口电路的设计示例,解释了从主机启动命令到数据读入CPU的各个步骤,强调了在数据准备就绪前CPU的持续查询过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为输入输出系统中最简单的一种传输方式。通过上节IO接口的基本组成,和程序查询接口的基本功能攻来来设计其接口电路。其实学习起来并不难,我们在这一节主要解决两个问题。

程序查询方式的流程

首先我们来看下图,下图是多个外部设备进行与主机的交互:
在这里插入图片描述
图上的意思大概是这样的:多个设备同时发出请求,首先按照设备的优先级进行排序(图中是从1…N)。

然后先对第一个设备进行状态检查,若第一台机器为“就绪”,则对其进行处理。否则,对下一台设备进行状态检测。

若第一台设备不满足,跳转到第二台。而第二台设备也不满足,这是主机会重新跳转检查第一台设备的状态。

我们以保存寄存器的内容为例子,做出一个完成的流程图:
在这里插入图片描述

图中有两个点需要解释一下:

  • 设置计数值:为了确保数据能够以规定的大小转递。比如有N个数据,而数据是一个一个进行传递的。我可以设置计数值为N,每次传递一个数据,我的计数值就-1,直到0传递停止。
  • 设置主存缓冲区首地址:我要传递的数据从哪里开始。

程序查询方式的接口电路

以输入为例,设计一个接口电路,如图:
在这里插入图片描述
这里比较绕,有点向走迷宫,不过按照图上的步骤理解起来比较方便,我也来给大家历一遍。

准备阶段:我需要使用一个外部设备来进行输入。主机通过地址线设备选择电路发送一个设备码,设备选择电路会和已有设备进行匹配。

1.主机发出命令:这时候“&门”左边的两条线路都通,使的右边的一条有电流,导线连接到两个状态设置器(D,B),这时候D位0,表示数据还没准备好;B为1,表示设备启动*(图上的表示相反不是错误,它是所有步骤都完成的结果状态。)*

2.设备开始启动

3.数据通过输入的数据线,把他保存到DBR(数据缓存),这时设备工作结束

4.设备工作结束,通过状态线将设备状态返回到B;B的值改为0(设备结束了),同时D被改为1(数据准备好了).

5.准备就绪信号D为1被送出,D变成1之前,CPU都在反复查询D的值是否为1,只要不等于1,就一直查。 D等于1也说明数据已经放入DBR中

6.CPU最后通过数据线把数据从DBR中读入。

流程走一遍,其实还是很简单的叭!

原视频链接,有疑问可以在去看看。

创作不易,转载可私信。未经同意禁止转载!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值