【软考】I/O与主机信息传送的控制方式

目录

        • 一、说明
        • 二、程序查询方式
        • 三、程序中断方式
        • 四、DMA方式
        • 五、例题
          • 5.1 例题1

一、说明
  • 1.I/O设备与主机交换信息时,共有5种控制方式:程序查询方式、程序中断方式、直接存储器存取方式(DMA)、I/O通道方式、I/O处理机方式。
二、程序查询方式
  • 1.CPU通过程序不断查询I/O设备是否已做好准备。
  • 2.要求I/O接口内设置一个能反映设备是否准备就绪的状态标记,CPU检测此标记来确认设备的准备情况。
  • 3.CPU启动I/O后就对I/O的状态进行查询,I/O未准备就绪则继续查询(终止了原程序的执行),若准备就绪,则从I/O接口中读一个字到CPU,再从CPU向主存写入一个字。
  • 4.这种方式使CPU和I/O处于串行工作状态,CPU的工作效率不高,CPU反复查询I/O设备的准备情况,称为"踏步"现象。
三、程序中断方式
  • 1.CPU在启动I/O设备后,不过问设备是否准备就绪,CPU继续执行自身程序。
  • 2.当I/O设备准备就绪,向CPU发出中断请求,CPU才予以理睬。
  • 3.提高了CPU的工作效率。
  • 4.CPU向I/O设备发出读命令后,可以处理其它计算,I/O设备开始工作,准备就绪时,I/O设备向CPU发出请求,CPU才从I/O接口读一个字,经CPU再送到主存。
  • 5.CPU不必时刻查询I/O的准备情况,不出现"踏步"现象,CPU资源得到充分利用。
  • 6.CPU在响应中断请求后,必须停止现行程序(当下手中的活),转入中断服务程序,为了I/O与主存交换信息,要占用CPU内部的寄存器,这会造成CPU资源的消耗。
四、DMA方式
  • 1.Direct Memory Access,直接内存访问。
  • 2.主存与I/O设备之间有一条数据通路,主存与I/O设备交换信息时,无需处理中断服务程序。
  • 3.如果出现DMA和CPU同时访问主存,CPU会将总线占有权让给DMA。
  • 4.DMA占用总线叫做“窃取”或“挪用”。
  • 5.窃取的时间一般为一个存储周期,DMA占用的存取周期叫做“窃取周期”或“挪用周期”。
  • 6.在DMA窃取存储周期时,CPU继续作内部操作,提高了CPU的资源利用率。
  • 7.采用DMA方式需要增加必要的DMA接口电路。
五、例题
5.1 例题1
  • 1.题目
1.以下关于中断方式与DMA方式的叙述中,正确的是()A.中断方式与DMA方式都可实现外设与CPU之间的并行工作
B.程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预
C.采用DMA方式传输数据的速度比程序中断方式的速度慢
D.程序中断方式和DMA方式都不需要CPU保护现场
  • 2.分析
1.程序中断方式:CPU在启动I/O设备后,不过问I/O设备是否准备就绪,CPU继续执行自身程序。
2.DMA方式:CPU将总线占有权让给DMA,DMA完成主存和I/O设备的数据交换,CPU执行其它程序。
3.程序中断方式需要保护和恢复现场,中断传送过程需要CPU干预。
4.DMA方式除了预处理和后处理,其他时候不需要CPU的干预。
5.DMA方式传输数据的速度比程序中断方式的速度快。
6.程序中断方式需要CPU保护现场。
因此答案选A。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7使用源码安装方式redis

安装编译源码的工具gcc yum install -y gcc下载源码 源码下载地址 https://download.redis.io/releases/ 注意事项 不建议安装最新版本redis,所以我这里选择6.2.6版本 下载 wget https://download.redis.io/releases/redis-6.2.6.tar.gz解压 tar -zxvf redis-…

单片机通讯协议

参考:江科大单片机教程 STM32入门教程-2023版 细致讲解 中文字幕_哔哩哔哩_bilibili IIC通讯协议SPI通信协议UARTCANUSB速度100k-400khz4Mhz-线数2 CLK,DATA4CLK,ENB,IO,OI额外设备一主多从一主多从 一般不用自己写,都有相应的库或官方提供相应的&#…

密码学系列2-安全模型(CPA,CCA,selective,adaptive)

本章介绍了安全模型中的CPA,selective/adaptive CCA, EUF-CMA 加密的安全性模型定义: 一、选择明文攻击下的不可区分性(IND-CPA) 初始化:挑战者 C \mathcal{C} C运行初始化算法算法来获取系统参数。 阶段1:敌手 A \mathcal{A} A产生明文,加密的

舌头分割YOLOV8-SEG

舌头分割,基于YOLOV8-SEG,训练得到PT模型,然后转换成ONNX,OPENCV的DNN调用,从而摆脱YOLO依赖,支持C,PYTHON,ANDROID开发 舌头分割YOLOV8-SEG

5367: 【图论】奇点数

题目描述 美术老师生病了,今天美术课编程老师来上,给大家一张无向图,包含 n个顶点(编号1∼n),m条边,求这张图中的奇点数。 偶点(even vertex):度数为偶数的顶点称为偶点 奇点(odd…

casa学习代码记录

标题 casa是专门用于处理VLA望远镜的集成软件,相应的教程对于干涉阵处理来说可谓是非常详细,甚至对于其他干涉阵的pipline来说,一些参数的意义甚至可以参考回来casa教程的的说明:以下记录一下相关的代码和主要的流程:…

使用预训练模型构建自己的深度学习模型(迁移学习)

在深度学习的实际应用中,很少会去从头训练一个网络,尤其是当没有大量数据的时候。即便拥有大量数据,从头训练一个网络也很耗时,因为在大数据集上所构建的网络通常模型参数量很大,训练成本大。所以在构建深度学习应用时…

OS对软件的管理,进程,PCB、子进程

进程 可执行程序加载到内存中,操作系统为内个程序都形成一个PCB对象(结构体对象),PCB里存放着这个程序的所有的属性。进程可执行程序PCB ,CPU执行程序也是先通过该程序的PCB找到相应的程序代码,然后一条一…

ThinkPHP5 SQL注入漏洞敏感信息泄露漏洞

1 漏洞介绍 ThinkPHP是在中国使用极为广泛的PHP开发框架。在其版本5.0&#xff08;<5.1.23&#xff09;中,开启debug模式&#xff0c;传入的某参数在绑定编译指令的时候又没有安全处理&#xff0c;预编译的时候导致SQL异常报错。然而thinkphp5默认开启debug模式&#xff0c…

分享一些实用的工具

1、amCharts5&#xff1a;模拟航线飞行/业务分布图/k线/数据分析/地图等 网址&#xff1a; JavaScript mapping library: amCharts 5https://www.amcharts.com/javascript-maps/ Demo地址&#xff1a;Chart Demos - amChartshttps://www.amcharts.com/demos/#maps 他分为amC…

小龙虾优化算法(Crayfish Optimization Algorithm,COA)

小龙虾优化算法&#xff08;Crayfish Optimization Algorithm&#xff0c;COA&#xff09; 前言一、小龙虾优化算法的实现1.初始化阶段2.定义温度和小龙虾的觅食量3.避暑阶段&#xff08;探索阶段&#xff09;4.竞争阶段&#xff08;开发阶段&#xff09;5.觅食阶段&#xff08…

【誉天战报】3月HCIE战报火热来袭!新增45位同学通过认证!

2024年3月&#xff0c;誉天教育共有45名学员顺利通过了HCIE认证&#xff0c;其中&#xff1a;云计算20人、数通18人、存储5人、云服务2人。让我们一起祝贺他们吧~ 誉天教育是华为优选级授权培训合作伙伴&#xff0c;专业从事华为授权认证课程实战技能培训。连续13年荣获“华为优…

Node.js中fs模块实现配置文件的读写

Node.js中fs模块实现配置文件的读写 准备工作读取配置 在Node.js中&#xff0c; fs模块提供了对文件系统的访问功能&#xff0c;我们可以利用它来实现配置文件的读取和写入操作。正好用到&#xff0c;就记录一下。 准备工作 确保你的项目目录已经安装了做了npm或pnpm或yarn等…

SpringBoot项目如何实现热启动?

Spring Boot 可以通过开启 DevTools 实现热启动。DevTools 是 Spring Boot 提供的一个开发工具&#xff0c;可以加速应用的开发和调试过程。其中的热启动功能可以让你在开发过程中修改代码后&#xff0c;自动重新启动应用。 要实现热启动&#xff0c;可以按照以下步骤进行操作…

和林曦老师一起读书吧 | 愿我们:只生欢喜不生愁

今天&#xff0c;想和你一起来读书&#xff0c;林曦老师的《只生欢喜不生愁》。    这本书的名字很有意味&#xff0c;它来自于清代《养真集》中的一句话&#xff1a;自古神仙无别法&#xff0c;只生欢喜不生愁。      我们会羡慕这样的状态&#xff1a;只生欢喜不生愁…

018基于SSM的音乐系统网站

018基于SSM的音乐系统/网站 开发环境&#xff1a; Jdk7(8)Tomcat7(8)MysqlIntelliJ IDEA(Eclipse)Maven 数据库&#xff1a; MySQL 技术&#xff1a; SpringSpring mvcMybatisJqueryVideo jsJSPJSTLEasyUI 适用于&#xff1a; 课程设计&#xff0c;毕业设计&#xff0c;学习…

“你需要TrustedInstaller提供的权限才能对此文件进行更改” 解决方案

转载地址 【“你需要TrustedInstaller提供的权限才能对此文件进行更改” 解决方案-CSDN博客】

MySQL商城数据表(80-88)

80商品规格值表 DROP TABLE IF EXISTS xuge_spec_items; CREATE TABLE xuge_spec_items (itemId int(11) NOT NULL AUTO_INCREMENT COMMENT 自增ID,shopId int(11) NOT NULL DEFAULT 0 COMMENT 店铺ID,catId int(11) NOT NULL DEFAULT 0 COMMENT 类型ID,goodsId int(11) NOT N…

37.WEB渗透测试-信息收集-企业信息收集(4)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;36.WEB渗透测试-信息收集-企业信息收集&#xff08;3&#xff09;-CSDN博客 关于主域名收…

Git -- 运用总结

文章目录 1. Git2. 基础/查阅2.1 基础/查阅 - git2.2 仓库 - remote2.3 清理 - rm/clean2.4 版本回退 - reset 3. 分支3.1 分支基础 - branch3.2 分支暂存更改 - stash3.3 分支切换 - checkout 4. 代码提交/拉取4.1 代码提交 - push4.2 代码拉取 - pull 1. Git 2. 基础/查阅 2…