第五章 I/O管理 三、I/O控制方式(程序直接控制、中断驱动方式、DMA方式、通道控制方式)

news2024/10/6 6:47:03

目录

 一、程序直接控制方式

1、以读操作为例

2、CPU的干预

3、数据传送的单位

4、数据的流向

5、优点

6、缺点

二、中断驱动方式

1、定义:

2、CPU干预的频率

3、数据传送的单位

4、数据的流向

5、主要缺点和主要优点

优点:

缺点:

三、DMA方式(直接存储器存取)

1、改进:

2、DMA控制器

3、基本信息:

1.完成一次读/写操作的流程(见上图)

2.CPU千预的频率

3.数据传送的单位

4.数据的流向(不再需要经过CPU)

5.主要缺点和主要优点

优点:

缺点:

四、通道控制方式

​编辑

1.完成一次读/写操作的流程(见上图)

2.CPU干预的频率

3.数据传送的单位

4.数据的流向(在通道的控制下进行)

5.主要缺点和主要优点

缺点:

优点:

五、总结


 一、程序直接控制方式

1、以读操作为例

(1)CPU向控制器发出读指令。于是设备启动,并且状态寄存器设为1(未就绪)

(2)轮询检查控制器的状态(其实就是在不断地执行程序的循环,若状态位一直是1,说明设备还没准备好要输入的数据,于是CPU会不断地轮询)

(3)输入设备准备好数据后将数据传给控制器,并报告自身状态

(4)控制器将输入的数据放到数据寄存器中,并将状态改为0(己就绪)

(5)CPU发现设备已经就绪,即可将数据寄存器中的内容读入CPU的寄存器中,再把CPU寄存器中的内容放入内存

(6)若还要继续读入数据,则CPU继续发出读指令

2、CPU的干预

很频繁,l/O操作开始之前、完成之后需要CPU介入,并且在等待l/O完成的过程中CPU需要不断地轮询检查。

3、数据传送的单位

每次读/写一个字

4、数据的流向

读操作(数据输入) : I/O设备→CPU→内存(CPU指的是寄存器)

写操作(数据输出):内存→CPU→I/O设备

每个字的读/写都需要CPU的帮助

5、优点

实现简单。在读/写指令之后,加上实现循环检查的一系列指令即可(因此才称为“程序直接控制方式”)

6、缺点

CPU和I/o设备只能串行工作,CPU需要一直轮询检查,长期处于“忙等”状态,CPU利用率低。

二、中断驱动方式

1、定义:

  1. 引入中断机制
  2. 由于I/O设备速度很慢,因此在CPU发出读/写命令后,可将等待l/O的进程阻塞,先切换到别的进程执行。
  3. 当I/O完成后,控制器会向CPU发出一个中断信号,CPU检测到中断信号后,会保存当前进程的运行环境信息,转去执行中断处理程序处理该中断。
  4. 处理中断的过程中,CPU从I/O控制器读一个字的数据传送到CPU寄存器,再写入主存。
  5. 接着,CPU恢复等待I/O的进程((或其他进程)的运行环境,然后继续执行

注意:

①CPU会在每个指令周期的末尾检查中断;
②中断处理过程中需要保存、恢复进程的运行环境,这个过程是需要一定时间开销的。可见,如果中断发生的频率太高,也会降低系统性能。

2、CPU干预的频率

每次I/o操作开始之前、完成之后需要CPU介入。
等待l/O完成的过程中CPU可以切换到别的进程执行。

3、数据传送的单位

每次读/写一个字

4、数据的流向

读操作(数据输入) :I/O设备→CPU→内存

写操作(数据输出):内存→CPU→I/O设备

5、主要缺点和主要优点

优点:

与“程序直接控制方式”相比,在“中断驱动方式”中,I/o控制器会通过中断信号主动报告I/o已完成,CPU不再需要不停地轮询。CPU和I/o设备可并行工作,CPU利用率得到明显提升。

缺点:

每个字在I/o设备与内存之间的传输,都需要经过CPU。而频繁的中断处理会消耗较多的CPU时间。

三、DMA方式(直接存储器存取)

1、改进:

①数据的传送单位是“块”。不再是一个字、一个字的传送;

②数据的流向是从设备直接放入内存,或者从内存直接到设备。不再需要CPU作为“快递小哥”。

③仅在传送一个或多个数据块的开始和结束时,才需要CPU干预。

2、DMA控制器

  • DR(Data Register,数据寄存器):暂存从设备到内存,或从内存到设备的数据。
  • MAR(Memory Address Register,内存地址寄存器)︰在输入时,MAR表示数据应放到内存中的什么位置;输出时MAR表示要输出的数据放在内存中的什么位置。
  • DC (Data Counter,数据计数器):表示剩余要读/写的字节数。
  • CR(Command Register,命令/状态寄存器)∶用于存放CPU发来的I/O命令,或设备的状态信息。
     

3、基本信息:

1.完成一次读/写操作的流程(见上图)
2.CPU千预的频率

仅在传送一个或多个数据块的开始和结束时,才需要cPU千预。

3.数据传送的单位

每次读/写一个或多个块(注意:每次读写的只能是连续的多个块,且这些块读入内存后在内存中也必须是连续的)

4.数据的流向(不再需要经过CPU)

读操作(数据输入) : I/O设备→内存

写操作(数据输出):内存→/O设备

5.主要缺点和主要优点

优点:

数据传输以“块”为单位,CPU介入频率进一步降低。数据的传输不再需要先经过CPU再写入内存,数据传输效率进一步增加。CPU和I/O设备的并行性得到提升。

缺点:
  1. CPU每发出一条I/O指令,只能读/写一个或多个连续的数据块。
  2. 如果要读/写多个离散存储的数据块,或者要将数据分别写到不同的内存区域时,CPU要分别发出多条I/O指令,进行多次中断处理才能完成。

四、通道控制方式

通道:一种硬件,可以理解为是“弱鸡版的CPU”。通道可以识别并执行-系列通道指令

与CPU相比,通道可以执行的指令很单一,并且通道程序是放在主机内存中的,也就是说通道与CPU共享内存

1.完成一次读/写操作的流程(见上图)

2.CPU干预的频率

极低,通道会根据CPU的指示执行相应的通道程序,只有完成一组数据块的读/写后才需要发出中断信号,请求CPU千预。

3.数据传送的单位

每次读/写一组数据块

4.数据的流向(在通道的控制下进行)

读操作(数据输入) : I/O设备→内存

写操作(数据输出):内存→I/O设备

5.主要缺点和主要优点

缺点:

实现复杂,需要专门的通道硬件支持

优点:

CPU、通道、l/O设备可并行工作,资源利用率很高

五、总结

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

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

相关文章

R语言使用surveyCV包对NHANES数据(复杂调查加权数据)进行10折交叉验证

美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。 地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx 既往咱们…

世界前沿技术发展报告2023《世界航空技术发展报告》(六)航空动力技术

(六)航空动力技术 1.军用航空动力技术1.1 美国空军授出下一代自适应推进项目合同1.2 法国完成下一代战斗机发动机原型机地面测试1.3 美国通用电气公司为美国陆军测试首台T901涡轴发动机1.4 美国液体活塞公司研制高功重比重油发动机 2.民用航空动力技术2.…

这样刻《少年强则国强》也行……

孙溟㠭篆刻《少年强则国强 》 这是篆书,隶书,简化字刻法有点意思。 孙溟㠭篆刻《少年强则国强》

信息系统项目管理师教程 第四版【第7章-项目立项管理-思维导图】

信息系统项目管理师教程 第四版【第7章-项目立项管理-思维导图】 课本里章节里所有蓝色字体的思维导图

一文告诉你样机是什么,分享几个常用的样机模板

一个项目的诞生通常需要经历头脑构思、绘制设计和最终着陆。在这个过程中,样机制作往往是在着陆实践之前进行的。俗话说:“样机使用得好,草稿过早”。样机设计是产品或网站最终设计的生动、静态和视觉表现。它为用户提供了一种模拟现实的方式…

大语言模型有什么魅力?和生成式AI是一回事吗?亚马逊云科技可以告诉你

大语言模型和生成式AI有什么关系呢?大语言模型为什么这么火?一提到大语言模型,想必大家第一个想到的就是ChatGPT这样的自然语言处理工具,那么大语言模型是什么?大语言模型和生成式AI是什么关系?就让我以亚马…

HackerOne 已向白帽支付了超 3 亿美元漏洞赏金

知名网络安全公司HackerOne近日宣布,自2012年成立以来,其漏洞赏金计划已向白帽和漏洞研究人员发放了超 3 亿美元的奖励。 HackerOne提供了一个漏洞赏金平台,将企业与白帽的安全专业知识、资产发现、持续评估和流程增强相结合,以发…

OSEK-任务调度机制

如下图所示,在调度表中有很多 Expiry Points,下面是一个20ms的调度表。有每2.5ms触发一次2.5ms的TASK,以及等等其他按照时间的TASK触发;并且根据配置也可以看出,所有的任务都是基于全抢占模式触发的,也就是…

如何完全卸载HbuilderX(全网最详细)

前序 今天本来想发行打包安卓端,结果发现突然就不行了(前天还行)报错 排查 然后我找了各种原因,排查了很久才发现是HbuilderX编辑器的问题,机智如我所以我们需要重新去下载一个HbuilderX,但是问题来了,很多人不知道怎么卸载,我自己网上也百度了很久没有正确简单的方法,直…

c: two-dimensional array

/*** ****************************************************************************** file twoDimensional.h* brief 二维数组 Pointers and 2-D arrays* author geovindu,Geovin Du,涂聚文 (geovindu163.com)* ide: vscode c11,c17 windows 10* date…

2023年N1叉车司机证模拟考试题库及N1叉车司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2023年N1叉车司机证模拟考试题库及N1叉车司机理论考试试题是由安全生产模拟考试一点通提供,N1叉车司机证模拟考试题库是根据N1叉车司机最新版教材,N1叉车司机大纲整理而成(含2023年…

生产级 React 框架介绍

文章目录 生产级 React 框架生产级 React 框架Next.jsRemixGatsbyExpo 如何选择生产级 React 框架 生产级 React 框架 React 是一个流行的 JavaScript 框架,用于构建用户界面。React 框架可以帮助你快速构建高质量的 React 应用,但并不是所有的 React 框…

Linux下GPIO和看门狗应用编程

文章目录 GPIO应用编程看门狗应用编程 GPIO应用编程 应用层操控硬件可以通过操作这些硬件的设备文件来进行,设备文件是各种硬件设备向应用层提供的一个接口,应用层通过对设备文件的I/O操作来操控硬件设备。设备文件通常在/dev/目录下,该目录…

react:生命周期

一、生命周期阶段 官方文档:https://zh-hans.legacy.reactjs.org/docs/react-component.html React组件生命周期可分为三个阶段:挂载、更新、卸载 挂载:当组件实例被创建并插入 DOM 中时。其生命周期调用顺序如下: constructor()s…

rfsoc FPGA 49DR 16收16发模块

前面简单介绍过RFSOC板卡 https://blog.csdn.net/jingjiankai5228/article/details/114734631 整体来说RFSOC降低了传统AD DA软硬件开发难度,但是同样存在整数点FS/N谐波大的问题 交织采样是通过多个AD拼接完成的,所以校准比较关键,和以前常…

【算法练习Day33】不同路径不同路径 II

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 不同路径不同路径 II总结&a…

腾讯云轻量服务器“镜像类型”以及“镜像”选择方法

腾讯云轻量应用服务器镜像类型分为应用镜像、系统镜像、Docker基础镜像、自定义镜像和共享镜像,腾讯云百科txybk.com来详细说下不同镜像类型说明和详细介绍: 轻量应用服务器镜像类型说明 腾讯云轻量应用服务器 应用镜像:独有的应用镜像除了包…

RHCE---作业4

一.批量创建账户 .编写脚本for1.sh,使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用广输入,例如: test1、test2、test3、.....、 test10 read -p "请输入账户前缀名:" user read -p "请输入…

低代码软件在酒店行业的应用:提升效率与创新!

疫情放开后,旅游业开始兴盛发展,酒店行业也恢复了疫情前的繁忙。但是由于管理架构上的不完善导致很多酒店并不能很好地承接巨大的客流量,而消费者在旅游过程对体验要求是最高的,所以酒店拥有一个能够高效运营的管理系统至关重要。…