操作系统-CPU与外设交互方式
操作系统-CPU与外设交互方式
文章目录
- 操作系统-CPU与外设交互方式
- 1. 查询方式
- 2. 无条件传输方式
- 3. 中断方式
- 4. 通道方式
- 5. DMA方式
1. 查询方式
查询方式是一种异步交互方式。
外设的接口处有Ready标志位,CPU想要和外设之间进行数据交互,就要先查询接口的标志位。
询问外设是否准备就绪,如果没有准备就绪,CPU一会儿再来访问;
如果外设准备就绪,进行数据传输。
特点:由程序发起IO请求,并且等待完成;交互必须通过CPU的参与。
2. 无条件传输方式
无条件传输方式是一种同步交互方式。
这种操作方式需要外设与CPU进行过完美的同步,
保证每次CPU来读的时候,外设的数据都已经准备好了。
每次CPU来写的时候,外设准备好了被写入数据。
主要用于:外设的时钟周期已知且稳定的场景。
3. 中断方式
当外设准备好发送数据或者接收数据的时候,向操作系统发出中断申请。
CPU放下手中的工作,保存上下文,进行中断响应。
中断响应结束以后,恢复上下文进行原来的工作。
特点:
在外设进行准备的过程中,CPU可以先不管外设,和外设并发的工作。
缺点:
如果IO交互太频繁,中断次数太频繁,CPU需要多次中断,耗费CPU资源
4. 通道方式
通道是一种用来控制内存和外设交互的专门部件。
通道有自己独立的指令系统,可以脱离CPU独立运行,也可以受控于CPU。
常用在大型计算机中。
特点:
IO能力强,以内存为中心,直接与外设进行数据交换,传输过程几乎不需要CPU参与
5. DMA方式
当前微机使用广泛的一种方式
DMA 全称 Direct Memory Access, 直接内存访问
DMAC :C表示Controller,直接内存访问控制器
核心原理:
CPU把总线控制权交给DMAC,进入DMA方式,完成数据传输之后,DMAC交还总线控制权。
特点:开始和结束的时候,向CPU交换总线控制权,数据传输过程不需要CPU介入
基本传输过程:
1. 外设有DMA需求并且准备就绪,就向DMAC发出请求信号
2. DMAC收到外设的请求信号之后,向CPU发出总线请求信号
3. CPU接到总线请求信号之后,如果允许DMA传输,则会在当前总线周期结束之后,发出DMA响应信号,让出总线控制权
4. DMAC获得对总线的控制权,向外设发出应答信号,通知外设可以进行传输
5. 进行数据传输
6. 传输完成之后,DMAC向CPU发出撤销总线控制权请求,CPU收到信号之后,收回总线控制权
操作系统-CPU与外设交互方式相关推荐
- 一步步编写操作系统 14 CPU与外设通信——IO接口 上
介绍显卡之前,必须得和大家交待清楚,那么多的外部设备,cpu是如何与他们交流. 大家都学过微机接口技术吧?没学过也没关系,反正我也只是笼统地说说^_^,保证大家一定能看得懂. 按理说,如果硬件种类较少 ...
- cpu与外设工作原理
总结来说,就是插上外设后,cpu就可以检测和连接到外设上的寄存器,把它当成内存来使用,然后就是对这些寄存器进行读写,写控制寄存器来控制外设,读状态寄存器来检测外设状态(外设会把当前状态信息放到指定寄存 ...
- 汇编语言--CPU对外设的控制
CPU对外设都不能直接控制,如显示器.音箱.打印机等. 直接控制这些设备进行工作的是插在扩展插槽上的接口卡. 扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连.CPU可以直接控制这些接口 ...
- 外设位宽为8、16、32时,CPU与外设之间地址线的连接方法
有不少人问到: flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19),处理器的地址线要(A1-A20)左移偏1位.为什么要偏1位? 从软件和CPU的角度而言,一 ...
- ARM中断分析之一:中断控制器和CPU、外设的关系
"中断控制器"也是CPU众多外设中的一个,不同的是,它一方面接收其它外设中断引脚的输入,另一方面,它会发出中断信号给CPU.下图是一张中断控制器外设的框图,s3c2410的框图. ...
- 计算机寄存器端口,CPU和外设之间的数据传送方式有哪几种
数据传输(data transmission),指的是依照适当的规程,经过一条或多条链路,在数据源和数据宿之间传送数据的过程.也表示借助信道上的信号将数据从一处送往另一处的操作. CPU与外设之间的数 ...
- 操作系统 cpu调度_CPU调度| 操作系统
操作系统 cpu调度 调度标准 (Scheduling Criteria) There are many criteria which have been suggested for comparin ...
- cpu与外设接口,cpu时序控制、电源时序控制(电源IC控制)
目录 1.cpu与外设和存储器数据交换分别通过两种接口连接:I/O接口和存储器接口 2.89C51单片机时钟电路和时序控制 3.CPU-指令周期,时序产生器和控制方式(重要) 3.1.时序控制方式 4 ...
- 操作系统CPU调度策略---07
操作系统CPU调度策略---07 多进程图像与CPU调度 CPU调度(进程调度)的直观想法 面对诸多场景,如何设计调度算法? 如何做到合理? 需要折中,需要综合- 各种CPU调度算法 First Co ...
最新文章
- Log4J配置方式Java工程测试
- Android多线程死锁定位,Java---多线程之死锁
- SpringMVC(三)——JSON
- 转 Django+Bootstrap练习--我的类博客系统开发
- php mysql需要服务器配置_php服务器配置(php+mysql+iis)步骤
- java中的native关键字有什么作用?(java本地方法)
- linux系统脚本安装失败,ubuntu16.04下vim安装失败的原因分析及解决方案
- 使用guava带来的方便
- freeredius3.0 mysql_EDIUS非线性编辑系统价格,4k视频编辑系统
- PyQt学习--HelloWorld
- 入行数据科学,仅需6步
- mysql5.6主从复制与基于amoeba实现读写分离
- Python根据mask在原图上进行标记
- html工资计算页面模板,工资计算表Excel模板
- php读取execl 实例,php读取excel的实例代码
- 树莓派4B安装windows xp windows 95( windows xp windows 95 for raspberry pi 4B)
- c语言int作用,C语言中的int max(int x,int y) 究竟有何作用?
- 湖南省中职计算机应用教资面试流程?
- mac自带邮箱添加邮箱_如何在Mac上的Mail中创建或删除邮箱
- 绝绝子!京东大牛用一文将Python 接口自动化测试解析透彻的不行~
热门文章
- 泛微OA使用笔记-测试
- 用命令查询邮件服务器ip地址,如何利用nslookup命令查询mx记录?以及邮件相关记录...
- UE5+VS2022编译Lyra实例项目
- 利用净现值(NPV)分析对比方案的可行性
- 上海外国语计算机科学与技术,外国语|上海
- AVFoundation | 封装一个好用的视频播放器
- 计算机毕业设计Java保险公司风险测评管理系统(源码+系统+mysql数据库+lw文档)
- 【CSP-J/S】复赛注意事项
- U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection|环境搭建|人物素描 测试 简记 |
- Windows主机入侵痕迹排查办法