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

文章目录

  • 总览
  • IO方式简介
  • 程序查询方式
  • 程序查询方式流程图
  • 程序查询方式-例题
  • 小结

总览

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其实可以用定时查询(查询时间不占全部,查询和程序执行穿插进行)和独占查询
在这里插入图片描述

小结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/308098.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

避免重复扣款:分布式支付系统的幂等性原理与实践

这是《百图解码支付系统设计与实现》专栏系列文章中的第(6)篇。 本文主要讲清楚什么是幂等性原理,在支付系统中的重要应用,业务幂等、全部幂等这些不同的幂等方案选型带来的收益和复杂度权衡,幂等击穿场景及可能的严重…

期末查分系统(c,链表实现)

主要功能: 分为三个身份: 学生:可以通过学号查询个人分数 老师:可以看所有学生成绩,单科排名(正序,倒序),统计绩点,查看绩点排名前百分之n的学生 管理员端:可以创建链…

揭秘区块链的奥秘:链上智能如何诊断加密生态系统的健康状况

作者:shellyfootprint.network 数据源:Wallet Profile 在加密市场中,波动是家常便饭。就拿 2022 年来说,像 Terra、Celsius 和 FTX 这样的主要项目相继崩盘,搞得市场一片狼藉。这些情况往往让人措手不及,直…

openGauss学习笔记-192 openGauss 数据库运维-常见故障定位案例-XFS文件系统问题

文章目录 openGauss学习笔记-192 openGauss 数据库运维-常见故障定位案例-XFS文件系统问题192.1 在XFS文件系统中,使用du命令查询数据文件大小大于文件实际大小192.1.1 问题现象192.1.2 原因分析192.1.3 处理办法 192.2 在XFS文件系统中,出现文件损坏192…

工业智能网关如何保障数据通信安全

工业智能网关是组成工业物联网的重要设备,不仅可以起到数据交换、通信、边缘计算的功能,还可以发挥数据安全保障功能,保障工业物联网稳定、可持续。本篇就为大家简单介绍一下工业智能网关增强和确保数据通信安全的几种措施: 1、软…

nuxt pm2配置及使用

pm2简介 pm2是一个进程管理工具,可以用它来管理node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能,在前端和nodejs的世界中用的很多 pm2安装 安装pm2: $ npm install -g pm2查看pm2的安装…

232转Profinet实现协议互转的配置步骤

通常说的RS232是一种串口通信,通过发送和接收的电压变化来传递信息,是点对点通信,通信双方直接连接,通信速率较低。Profinet是一种以太网协议通信,具有传输速度快,支持多个设备实时应用,而且有更…

链表--141.环形链表/easy C级理解

141.环形链表 1、题目2、题目分析3、解题步骤4、复杂度最优解代码示例5、抽象与扩展 1、题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链…

如何保护linux服务器远程使用的安全

服务器安全是一个非常敏感的问题,因服务器远程入侵导致数据丢失的安全问题频频出现,一旦服务器入侵就会对个人和企业造成巨大的损失。因此,在日常使用服务器的时候,我们需要采取一些安全措施来保障服务器的安全性。 目前服务器系…

基于6个IGBT的全桥电路simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 三相逆变器全桥电路原理 4.2 全桥电路应用领域 5.完整工程文件 1.课题概述 基于6个IGBT的全桥电路simulink建模与仿真. 2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a 02_018m …

MySQL 从零开始:04 增删改查

文章目录 1、准备工作2、insert 增加数据2.1 添加所有列的数据2.2 添加部分列2.3 一次插入多条数据 3、delete 删除记录4、update 更新记录5、select 查询记录5.1 查询所有行所有列5.2 查询指定行的所有列5.3 查询所有行的指定列5.4 查询指定行的指定列 在上一小节中介绍了 MyS…

STM32-05-STM32_SYSTEM文件夹

文章目录 STM32 SYSTEM文件夹介绍1. delay文件夹2. sys文件夹 STM32 SYSTEM文件夹介绍 1. delay文件夹 delay文件夹中的文件delay.c和delay.h用来实现系统的延时功能,其包括7个函数: //仅在操作系统的支持下使用 void delay_osschedlock(void); void d…

2024年Google Ads新手指南——广告运作与类型、工具

谷歌广告投放是出海企业的必备运营动作,但你需要先了解他的运作逻辑、广告类型、投放必备的工具类型,之后可以为你的投放的高速转化做好万全准备,毕竟每一分钱都要花在刀刃上!废话不多说,下面开始为新手准备了基础指南…

【数据库】MySQL锁

一、锁的基本概念 1、锁的定义 锁是协调多个进程或线程并发访问数据库资源的一种机制。 MySQL中的锁是在服务器层或者存储引擎层实现的,保证了数据访问的一致性与有效性。但加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否已解除、…

dubbo的springboot集成

1.什么是dubbo? Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo …

开始卷TED:第1篇 —— 《Embrace the near win》—— part: 3

She first hit a seven, I remember, and then a nine, and then two tens, and then the next arrow didn’t even hit the target. 她第一次射中了7环, 我记得接下来是个9环,然后是2个十环,接下来的那支箭甚至没有射到靶上。 And I saw tha…

Container ansible disguises local ansible 【容器 ansible 伪装本地 ansible】

预备条件: ctr & crictl $ nerdctl & containerd install了解 kubespray 是什么 kubespray 包含 ansible、ansible-playbook命令以及通过kubespray项目安装kubernetes集群的介质。 nerdctl pull quay.io/kubespray/kubespray:v2.23.1 nerdctl save -o qu…

科学和统计分析软件GraphPad Prism mac介绍说明

GraphPad Prism for Mac是一款科学和统计分析软件,旨在帮助研究者、科学家和学生更轻松地处理和可视化数据。 GraphPad Prism for Mac是一款功能强大、易于使用的科学和统计分析软件,适用于各种类型的数据处理和可视化需求。无论您是进行基础研究、临床试…

知识图谱gds使用记录

安装 从下载站下载对应的包到plugin目录下,修改配置文件/etc/neo4j/neo4j.conf,末尾加入gds.*,重新启动 在浏览器输入CALL gds.list()命令进行测试 建立图映射 为了使用图算法,需要先将图数据库的内容映射为一个新图 如果是全…

不定期更新免费签|在线安装全能签轻松签万能签GBOX魔力签喵喵签|赶快白嫖

使用Safari浏览器打开 1.打开平台ios.hccld.com点击应用后的“获取”获取设备UDID,获取后在我的里上就会显示设备UDID信息。 2.点我的-购买证书,选择需要购买的证书进行购买。 3.点击“兑换证书”,输入购买的兑换码。 4.选择你要安装的签名安…