I/O控制方式

news2024/12/24 11:38:44

目录

一、程序查询方式

1.程序查询流程

2.程序查询接口结构

3.案例习题

四、优缺点

二、程序中断方式

1.中断的概念

2.流程图

3.案例习题

三、DMA方式

1.DMA传送过程

2.DMA与主存交换数据的三种方式

3. 与中断程序处理的区别

4.案例习题


一、程序查询方式

1.程序查询流程

  1. 测试指令:用来查询 I/O设备是否准备就绪
  2. 传送指令:当I/O设备已准备就绪,执行传送指令
  3. 转移指令:若I/O设备未准备就绪,执行转移指令,转至测试指令,继续执行I/O设备的状态。

2.程序查询接口结构

3.案例习题

解法一(时间角度)

1:由CPU的时钟频率为50MHz可得

一个时钟周期为1/50MHz=20ns

一个查询操作为20*100=2000ns

2:因为CPU每秒对鼠标查询30次

则查询鼠标的耗时为30*2000=60000ns

所以查询鼠标花费的比率为60000ns/1s=0.006%

结论:对鼠标的查询基本不影响CPU的性能

3:因为硬盘每32位被CPU查询一次,传输率为2*2的20次方B

则每秒需查询(2*2的20次方B)/32=2的19次方

则查询硬盘耗时为2的19次方*2000ns=512*1024*2000ns

所以查询硬盘所花费的时间比率为(512*1024*2000ns)/1s=105%

结论:CPU将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求

解法二(频率角度)

CPU的时钟频率为50MHz,即每秒50X 10的6次方个时钟周期

1)
每秒查询鼠标占用的时钟周期数 30 x 100 = 3000

查询鼠标所花费的时间比率 = 3000/(50 X 1 = 0.006%

2)
每秒需要查询(2X2B)/32 = 2的19次方

每秒查询硬盘占用的时钟周期数 2的19次方x 100 =5.24X10的7次方

查询硬盘所花费的时间比率 =(5.24X17 )/(50 X 10)=105%

四、优缺点

二、程序中断方式

1.中断的概念

计算机在执行程序的过程中,当出现异常情况或者特殊情况是,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序,称为“中断”。

2.流程图

 中断隐指令:

关中断、保存断点(PC)、引出中断服务程序

CPU参与中断请求响应与中断服务程序

3.案例习题

 其中CPI是指每条指令含有多少个时钟周期 

三、DMA方式

1.DMA传送过程

注:在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU主存控制信号被禁止使用,而当DMA传送结束后,将恢复CPU的一切权利并开始执行操作。

2.DMA与主存交换数据的三种方式

3. 与中断程序处理的区别

4.案例习题

 

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

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

相关文章

C++中pair用法

博主简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。 博主主页:陈童学哦 所属专栏:CSTL 前言:Hello各位小伙伴们好!欢迎来到本专栏CSTL的学习,本专栏旨在帮助大家了解…

使用FFMPEG进行音频重采样

准备 1. ffmpeg 4.4 2. sdl2 3.一段原始的音频PCM数据 重采样流程 1.设置输入音频参数和输出音频参数 2.根据设置的参数初始化SwrContent上下文 3.创建一个输入buffer, 根据输入的音频参数(采样率,通道数,样本位深度)申请空间…

机器学习项目实战-能源利用率 Part-3(特征工程与特征筛选)

博主前期相关的博客可见下: 机器学习项目实战-能源利用率 Part-1(数据清洗) 机器学习项目实战-能源利用率 Part-2(探索性数据分析) 这部分进行的特征工程与特征筛选。 三 特征工程与特征筛选 一般情况下我们分两步走…

李彦宏一句“车水马龙”,中国AI的一幕天地宽广

“什么叫生成式?比如说,给我画一幅车水马龙的图片。这种东西,过去人们不觉得是人工智能应该做的事,现在可以做了。”5月18日,百度CEO李彦宏在天津举办的第七届世界智能大会上演讲时,说了这么一句话。 不了解…

保护你无价的数据 | 推荐一个开源备份工具,可去重、增量、压缩、还原到特定日期...

Borg 数据备份 Borg 的优势是 高效:BorgBackup 会将文件按数据块去重,只有改动的数据块才会被备份。一个 25 GiB 的虚拟机磁盘文件,只改动了 1 GiB,那就只会新增备份这 1 GiB 的数据;高速:核心算法使用 C 编…

5-《Kotlin》

5-《Kotlin》 1.kotlin基础: From Java To Kotlin2.Kotlin 的延迟初始化: lateinit var 和 by lazy1.lateinit var2.by lazy 3 Kotlin Tips:怎么用 Kotlin 去提高生产力(kotlin优势)Tip1- 更简洁的字符串Tip2- Kotlin中大多数控制结构都是表达…

[RapidOCRWeb] 桌面版使用教程

引言 说明:桌面版指的是可以直接解压,双击即可运行的版本。通俗来说,对rapidocr_web做了打包,将相关依赖全部放到一个zip包中,不需要本地有额外的环境,降低使用门槛。下面会以Windows版为例,作…

LeetCode 1373. 二叉搜索子树的最大键值和

【LetMeFly】1373.二叉搜索子树的最大键值和 力扣题目链接:https://leetcode.cn/problems/maximum-sum-bst-in-binary-tree/ 给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下: 任意节点的…

pandas---数据处理(excel文件)

近期在弄一个项目的前期数据,所以总结了一下,内容如下(以下以csv文件为例) 1. DataFrame常用操作1.1 DataFrame去除空行(1)对于一般空行(2)对于列表式(list)空…

Redis(二)对事务进行操作及Jedis

系列文章目录 Redis入门笔记(一):Redis在Linux下安装和八大数据类型 文章目录 系列文章目录前言Redis对事务进行操作开启事务:multi执行事务:exec放弃事务:discard编译型异常(命令错误&#xf…

信息安全-数据安全-字节大数据平台安全与权限治理实践

导读:本次分享题目为字节跳动大数据平台安全与权限治理实践,文章会围绕下面四点展开: 字节大数据安全体系现状和难点 细粒度权限管控和治理 资产保护能力 数据删除能力 分享嘉宾|许从余 火山引擎 数据平台产品经理 编辑整理&#…

Spring 5 笔记 - 新功能

1. Spring 5 框架新功能 整个Spring 5 框架的代码基于Java8,运行时兼容JDK9,许多不建议使用的类和方法在代码库中删除。Spring 5.0 框架自带了通用的日志封装 (1)Spring 5 已经移除 Log4jConfigListener,官方建议使用…

立创EDA标准版指南1-原理图与封装库

立创 EDA 标准版 由于立创 EDA 新版本改了对应术语,这是对于的表格: 原理图库->符号 PCB 库->封装 PCB 3D 库->3D 模型 下面的全部讲述将依据旧版称呼,因为更直观,新版称呼模棱两可并且与 AD 的工程架构差别较大 这是…

数据分析11——Pandas中数据偏移/数据切分/数据结构转换

数据偏移: 1、shift函数: 在 Pandas 中,shift 函数用于将数组的数据向前或向后平移指定的步数。它可以应用于 Series 或 DataFrame 类型的数据中,并返回一个平移后的新数据结构,其中每个元素都被取代为原始序列中对应…

kubernetes根据podName获取对应的主机pid

获取指定的podName kubectl get pods -n demo -owide登录对应的主机执行docker命令,获取到容器的id docker ps | grep PODNAME拿到的容器id,执行如下命令 获取容器的长的容器id docker inspect container_id找到容器id后 执行 apt-get install jq cat /var/lib…

关于Word文档的处理【笔记】

关于Word文档的处理【笔记】 前言推荐关于Word文档的处理一、解压word如何恢复1 准备2 解压3 恢复 二、对word文档进行图片替换1 首先解压word文档2 进入word文档存放图片的路径3 批量给图片添加水印4 替换原来的media文件5 压缩为docx文件6 打开 最后 前言 2023-5-20 11:00:1…

uniapp 快手授权登录,发布、编辑、裁剪图片和视频,分享 Ba-Kwai

简介(下载地址) 快手授权登录,发布、编辑、裁剪图片和视频,一键智能裁剪,分享私信,打开用户主页,挂载小程序等。自带选择图片和选择视频方法。 抖音授权登录、发布、分享 Ba-Aweme&#xff08…

基于GitLab搭建DevSecOps流水线

本博客地址:https://security.blog.csdn.net/article/details/130734964 一、GitLab安装 GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建Web服务,可通过Web界面访问公开的或者私人的项目。它…

【总结】数据建模调研与设计

一、数据建模背景和目的 1.1 数据建模任务背景 a. xxxx 中台新增数据建模模块,对标行业最佳实践,补齐数据中台短板。 b. 以往的数据建模,包括数仓模型的设计、数仓模型的落地,都是通过第三方的工具,例如DBwaver、Nav…

SOFA Weekly|SOFA 大事记、Layotto 社区会议回顾与预告、社区本周贡献

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动~ SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&am…