计算机组成原理-程序查询方式(流程图 演示过程 例题 定时查询 独占查询)

总览

IO方式简介

每次输一个字,就认为状态完成,CPU就会取走数据寄存器的内容
在这里插入图片描述

程序查询方式

在这里插入图片描述

此时模拟打印三个字符

假设此时三个字符在主存,CPU先从主存读一个字符放到CPU的寄存器中,此时是读主存操作.

CPU向打印机发出打印的命令字,此时需要先经过打印机驱动程序的处理将打印的命令字放到CPU寄存器里面了,用OUT指令将命令字送到IO端口控制寄存器中(OUT指令首先通过地址线发送要写的IO端口,然后再通过控制线发送要写的操作,然后命令字再通过数据线传到控制寄存器中)

IO控制逻辑单元再通过从控制寄存器传过来的命令信号传到外设界面控制逻辑通过控制线给打印机发出对应的控制信号

打印机接收到命令启动打印机,工作完成后,通过状态线传给IO接口显示已经完成。IO控制逻辑单元会将该状态信号传给状态寄存器中Rn+1.(之前这个寄存器本来存放命令字,但由于命令字已经发给IO控制逻辑并处理了不需要了,所以此时放状态信号没问题)

当OUT指令将打印字发给控制寄存器之后,CPU会一直检查状态寄存器是否变成已经变成完成的信号(就是通过IN不断将状态寄存器的内容通过数据线输入到CPU的寄存器里 CPU再来检查该寄存器的值是否是完成信号)

当检查到发现是完成信号时,CPU再通过地址线指明此次操作的端口是数据缓冲寄存器和控制线指明此次是写操作,同时从寄存器中存储要打印的字符的数据传到数据线上。然后将要打印的字符成功写到该数据缓冲寄存器中

然后数据缓冲寄存器内的数据传到IO控制逻辑,再通过IO控制逻辑传到外设界面控制逻辑,再通过数据线传到打印机,同时也会通过控制线发出相应的控制信号。

打印完成后,通过状态线给IO接口反映打印已完成的信号,接口再把已完成的信号传给状态寄存器

CPU检查到打印机完成工作后,再向数据缓冲寄存器写第二个要打印的字符,流程和打印a一样

当最后一个打印的字符打印完后,打印机向接口发出已完成的信号,接口再将该信号传给状态寄存器,同时CPU内部可以通过计数器计数打印的字符数量是否达成,当发现此时打印都完成了,并且检测到最后一次打印信号已经完成,CPU会给打印机发出停机命令字字(当然得先通过驱动程序)给控制寄存器

IO控制逻辑(IO接口)再将该停机控制信号发送给外设界面控制逻辑再通过控制总线发送给打印机,然后打印机停止

程序查询方式流程图

传送参数:计数器计数多少算全传完,传送的数据
CPU和IO设备串行工作即工作相互依赖
在这里插入图片描述

程序查询方式-例题

慢速IO设备对CPU程序查询方式影响不大
快速IO设备对CPU程序查询方式影响较大
CPU其实可以用定时查询(查询时间不占全部,查询和程序执行穿插进行)和独占查询
在这里插入图片描述

小结

下图中的上面的程序查询方式是独占查询方式
在这里插入图片描述

  • 20
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看星猩的柴狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值