当前位置: 首页 > news >正文

1.3数据传输控制方式:IO数据传输控制方式、程序控制(查询)方式、程序中断方式、DMA方式、通道方式、I/O处理机

1.3数据传输控制方式:IO数据传输控制方式、程序控制(查询)方式、程序中断方式、DMA方式、通道方式、I/O处理机

  • 程序控制(查询)方式
  • 程序中断方式
  • DMA方式
  • 通道方式、I/O处理机

I/O数据传输方式,由软件到硬件发展,效率越来越高。
效率由低到高:
程序控制(查询)方式 < 程序中断方式 < DMA方式 < 通道方式 < I/O处理机

程序控制(查询)方式

程序控制(查询)方式,分为无条件传送和程序查询方式两种(一般考的较多的是程序查询方式)。该方法优点是简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。

将CPU和I/O的效率分开来看,I/O的效率要比CPU的速度低,这个过程当中无条件查询就是CPU默认I/O一直是准备好的,要用的时候CPU直接调用I/O进行传输,显然这种情况太理想化了,所以这里会用到程序查询的方式,CPU不断的查询,I/O到底有没有准备好,准备好了再进行调用,没有准备好的话,CPU会持续等待I/O准备,这个过程会严重影响CPU的利用率。

举个例子:直播课程中,老师会先检查相应的设备,问大家是否能够正常接收,这个过程当中,如果大家没有回复,老师会再次进行询问,期间老师是无法正常上课的,必须等大家响应正常的情况下才能继续上课。因此在这样的场景下,CPU的利用率是非常低的。

程序中断方式

常见的设备:鼠标、键盘。
程序中断方式,与程序控制方式相比,中断方式因为CPU无需等待I/O的状态,CPU会在断点的情况下才去响应,从而提高了传输请求的响应速度。

I/O开始和结束的时候会提交中断请求,然后CPU会开始处理,这个过程中,I/O的具体传输过程和CPU的事务是可以并行的,所以CPU的效率有了大大的提升。

举个例子:老师该上课上课,学员该听课听课,学员发现自己卡顿了,在公屏上发个状态,这种情况下,就会打断老师上课的进程,这个打断的过程就叫做中断,中断的方式一般是适用于某些急需要处理的异常或者紧急情况。在一个程序的执行过程,它会接收到中断请求,那么程序的执行会出现端点,断点这里所涉及到的程序的一些状态都会记录下来,放在一个栈中,这个记录的过程叫做保存现场,或者叫保护现场。出现断点后,会有一定的软硬件去负责处理中断的优先级的判断,去响应中断,如何来响应?它会查看中断向量表,通过响应的入口,找到对应的中断服务程序,中断服务程序响应完了,即卡顿解决了,会回到课程进度上,返回终端,这个过程,返回会返回到断点将保存的现场依次进行恢复。

接收中断请求——中断判优——中断响应——中断处理——中断返回,的过程。

DMA方式

常见的设备:U盘、硬盘。
DMA方式,是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。

DMA方式的具体控制方式是由DMA控制器,即DMAC来进行处理,CPU不需要参与,所以CPU的效率会更高。

在DMA方式中,DMAC会获取总线控制权,然后往下去执行。DMA方式,在传输之前是需要CPU进行预处理,传输之后,会用中断方式进行后面的处理,而具体的传输同样是不需要CPU参与的。

(DMAC向总线裁决逻辑提出总线请求;CPU执行当前总线周期即可释放总线控制权。此时DMA响应,通过DMAC通知I/O接口开始DMA传输。)

通道方式、I/O处理机

通道方式、I/O处理机,这两种方式,可以理解为纯硬件的方式。从硬件上看,I/O处理机会比通道方式的专用性会更强一点。

相关文章:

1.3数据传输控制方式:IO数据传输控制方式、程序控制(查询)方式、程序中断方式、DMA方式、通道方式、I/O处理机

1.3数据传输控制方式:IO数据传输控制方式、程序控制(查询)方式、程序中断方式、DMA方式、通道方式、I/O处理机程序控制(查询)方式程序中断方式DMA方式通道方式、I/O处理机I/O数据传输方式,由软件到硬件发展…...

Linux 设置语言

文章目录1. 临时设置环境变量2. 默认语言设置3. 语言包4. 安装浏览器 chromium1. 临时设置环境变量 通过设置环境变量,可以使单个命令使用另一种语言LANG $ LANGfr_FR.utf8 date mar. mai 24 12:16:51 CDT 2022后续命令将恢复为使用系统的默认语言进行输出。该loc…...

Python基础-数据类型之集合

一、集合的定义 集合:是一个无序的没有重复元素的序列,因此不能通过索引来进行操作 1:使用set()创建集合 set(object) # 参数为一个序列,整型不能作为参数 set_a set("abcb") print(set_a) # {b, a, c} 2&…...

[Css]Grid属性简单陈列(适合开发时有基础的快速过一眼)

[css进阶]Grid属性简介 文章目录[css进阶]Grid属性简介典型需求网格容器的属性displaygrid-template-columns和grid-template-rowsgrid-template-areasgrid-templategrid-column-gap grid-row-gapgrid-gapjustify-itemsalign-itemsjustify-contentalign-contentgrid-auto-colum…...

100种思维模型之启发式偏差思维模型-017

曾国藩在给儿子的一封家书中曾写道:余于凡事皆用困知勉行工夫,尔不可求名太骤,求效太捷也。熬过此关,便可少进。再进再困,再熬再奋,自有亨通精进之日。 不急躁不求捷径,小火慢炖,将事…...

微服务 feign远程调用时 显示服务不可用 timed-out and no fallback

目录 第一种: failed and no fallback available 1 服务挂掉了 2 服务没有开启 3 注册中心没注册进去 -> ps: 直接调用的接口 通过网关转发失败 会报503 4 高并发下的服务熔断了 第二种: timed-out and no fallback 2.1 业务场景: A服务一切正常 但是B服务显示timeo…...

第一个Java程序(初识Java)

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【JavaSE_primary】 文章目录1.Java概述1.1什么是Java1.2Java之父2.0第一个Java程序编译运行.class3.0程序如何跑起来的?3.1J…...

vulnhub LordOfTheRoot_1.0.1

总结:端口敲门,CVE-2015-8660提权, 目录 下载地址 漏洞分析 信息收集 端口敲门 网站分析 方法一 ssh登录提权 方法二 下载地址 LordOfTheRoot_1.0.1.ova (Size: 1.6 GB)Download: http://www.mediafire.com/download/m5tbx0dua05szjm…...

MutationObserver与IntersectionObserver

MutationObserver 出现原因:当我们需要监听元素发生变化时,不借助使元素发生变化的业务动作的情况下,使用无污染方式监听非常困难,为了解决这个问题,MutationObserver诞生! 概述 可以用来监听DOM的任何变化…...

【ESP 保姆级教程】玩转巴法云篇② ——MQTT设备云,MQTT协议下的数据通信

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-21 ❤️❤️ 本篇更新记录 2023-02-21 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

植物大战 仿函数——C++

容器适配器 容器适配器不支持迭代器。栈这个东西,让你随便去遍历,是不好的。他是遵循后进先出的。所以他提供了一个街头top取得栈顶数据。 仿函数 仿函数(functor)是C中一种重载了函数调用运算符(operator()&#x…...

【C语言】浮点型数据在内存中的存储

🚀🚀🚀 如果文章对你有帮助不要忘记点赞关注收藏哦🚀🚀🚀 文章目录⭐浮点数在内存中的存储1.1 🤓举个例子:1.2浮点数存储规则🌈:对于M与E有一些特别规定1.3解释前面题目&…...

impala中的刷新元数据和刷新表

impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。 虽然Hive系统也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满…...

Vscode创建vue项目的详细步骤

目录 一、概述 操作的前提 二、操作步骤 一、概述 后端人员想在IDEA里面创建一个Vue的项目,但是这非常麻烦,用vscode这个前端专用软件创建就会非常快速。 操作的前提 1.安装vscode软件的步骤:vscode下载和安装教程和配置中文插件&#…...

如何在面试中介绍自己的项目,才能让软件测试面试官无可挑剔,

四、项目 4.1 简单介绍下最近做过的项目 根据自己的项目整理完成,要点: 1)项目背景、业务、需求、核心业务的流程 2)项目架构,B/S还是C/5,数据库用的什么? 中间件用的什么?后台什么语言开发…...

虹科方案|从 uCPE 到成熟的边缘计算平台

基于开放硬件平台,通用客户端设备 (uCPE) 支持快速添加、集成或删除任意数量的集中管理虚拟功能。 为了增加收入并保持竞争优势,托管服务提供商 (MSP) 和企业正在部署 uCPE 以增强业务敏捷性、加速新服务的引入并提高运营效率。最初,uCPE被部…...

计算机是怎么读懂C语言的?

文章目录前言程序环境翻译环境翻译环境分类编译预处理预处理符号预定义符号#define#undef命令行定义条件编译文件包含头文件包含查找规则嵌套文件包含其他预处理指令编译阶段汇编链接🎉welcome🎉 ✒️博主介绍:博主大一智能制造在读&#xff…...

hadoop入门介绍及各组件功能运行关系

文章目录Hadoop 组成部分1.HDFS2.MapReduce 架构概述3. yarn 架构概述4.HDFS、YARN、MapReduce三者关系Hadoop 组成部分 1.HDFS Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。 HDFS 架构概述 主要分为 NameNode (mn):存储文件的元…...

(HP)新手引导使用react-shepherd

1,官方参数文档:https://shepherdjs.dev/docs/tutorial-02-usage.html 2,基本代码 import { ShepherdTour } from react-shepherd; import ./index.less; // 自己的样式文件,用来修改样式 import ./shepherd.less; // 将shephe…...

数据结构:栈和队列(Leetcode20. 有效的括号+225. 用队列实现栈+232. 用栈实现队列)

目录 一.数据结构--栈 1.栈的基本介绍 2.栈的实现 二.数据结构--队列 1.队列的基本介绍 2.队列的实现 三.栈的运用(Leetcode20. 有效的括号225) 1.问题描述 2.问题分析 题解代码: 四.用两个队列实现栈(225. 用队列实现栈 - 力扣(Leetcode&a…...

5个Windows运行Android应用方案测评:普通用户的轻量级跨平台解决方案

5个Windows运行Android应用方案测评:普通用户的轻量级跨平台解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在数字化办公与娱乐日益融合的今天&am…...

AI字体生成技术应用指南:从问题到解决方案的实践之路

AI字体生成技术应用指南:从问题到解决方案的实践之路 【免费下载链接】Rewrite Neural Style Transfer For Chinese Characters 项目地址: https://gitcode.com/gh_mirrors/rewr/Rewrite 在数字化设计领域,中文字体的个性化定制一直是创意工作者面…...

华为五级流程体系(L1-L5) 、流程框架、实施方法与最佳实践108页PPT

一、华为流程体系 业务流程持续变革促进华为业务的高速发展,持续管理变革,降低运作成本、提升运作效率,实现对客户端到端优质交付.把过去,好的方法固话下来。推广出去,提高效率和质量降低业务风险;提供多条路径和方法,…...

SPI Flash性能翻倍秘籍:RT-Thread下W25Q的QSPI模式实战

SPI Flash性能翻倍秘籍:RT-Thread下W25Q的QSPI模式实战 在IoT设备开发中,存储性能往往是系统瓶颈之一。传统SPI接口的Flash存储器虽然成本低廉,但在高速数据读写场景下显得力不从心。本文将深入探讨如何通过QSPI模式充分释放W25Q系列Flash的潜…...

企业信息化升级必备:OA系统的功能与优势

企业信息化升级,OA系统开启高效办公新时代在当今数字化飞速发展的时代,企业的信息化升级已成为提升竞争力的关键。而OA系统,作为企业办公自动化的核心工具,正逐渐成为企业高效办公的新标配。一、OA系统的重要性OA系统,…...

告别人工筛选!用Word2vec构建主题词库,我们拿“网络暴力”关键词试了试

智能主题词库构建实战:用Word2vec挖掘语义关联词汇 在信息爆炸的时代,内容运营和产品经理们常常面临一个共同挑战:如何从海量文本中快速识别和归类相关主题内容。传统的人工筛选方法不仅效率低下,还容易遗漏那些变体表达和新兴网络…...

SQLite在线查看器:浏览器中的数据库管理革命

SQLite在线查看器:浏览器中的数据库管理革命 【免费下载链接】sqlite-viewer View SQLite file online 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-viewer 在数据驱动的时代,SQLite数据库无处不在——从移动应用到桌面软件,…...

Linux 调度器中的限流机制:throttled 标志的触发与解除

一、简介在实时系统和云计算环境中,资源隔离与公平分配是 Linux 内核调度的核心挑战。当多个任务共享 CPU 资源时,某些恶意或失控的任务可能耗尽全部 CPU 时间,导致关键任务饥饿(Starvation)。为此,Linux 内…...

解锁欧空局10米土地利用数据:从注册到实战应用全流程解析

1. 欧空局10米土地利用数据简介 第一次接触欧空局WorldCover平台的朋友可能会被这个10米分辨率的土地利用数据惊艳到。作为一个长期和遥感数据打交道的从业者,我可以很负责任地说,这个数据集在精度和实用性上确实很能打。简单来说,它把全球地…...

Kandinsky-5.0-I2V-Lite-5s后端集成:Node.js环境下的高性能API服务构建

Kandinsky-5.0-I2V-Lite-5s后端集成:Node.js环境下的高性能API服务构建 1. 引言 想象一下,你正在开发一个创意设计平台,用户上传一张图片,几秒钟后就能看到它变成了一段生动的视频。这种从静态图像到动态视频的转换能力&#xf…...