操作系统-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与外设交互方式相关推荐

  1. 一步步编写操作系统 14 CPU与外设通信——IO接口 上

    介绍显卡之前,必须得和大家交待清楚,那么多的外部设备,cpu是如何与他们交流. 大家都学过微机接口技术吧?没学过也没关系,反正我也只是笼统地说说^_^,保证大家一定能看得懂. 按理说,如果硬件种类较少 ...

  2. cpu与外设工作原理

    总结来说,就是插上外设后,cpu就可以检测和连接到外设上的寄存器,把它当成内存来使用,然后就是对这些寄存器进行读写,写控制寄存器来控制外设,读状态寄存器来检测外设状态(外设会把当前状态信息放到指定寄存 ...

  3. 汇编语言--CPU对外设的控制

    CPU对外设都不能直接控制,如显示器.音箱.打印机等. 直接控制这些设备进行工作的是插在扩展插槽上的接口卡. 扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连.CPU可以直接控制这些接口 ...

  4. 外设位宽为8、16、32时,CPU与外设之间地址线的连接方法

    有不少人问到: flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19),处理器的地址线要(A1-A20)左移偏1位.为什么要偏1位? 从软件和CPU的角度而言,一 ...

  5. ARM中断分析之一:中断控制器和CPU、外设的关系

    "中断控制器"也是CPU众多外设中的一个,不同的是,它一方面接收其它外设中断引脚的输入,另一方面,它会发出中断信号给CPU.下图是一张中断控制器外设的框图,s3c2410的框图. ...

  6. 计算机寄存器端口,CPU和外设之间的数据传送方式有哪几种

    数据传输(data transmission),指的是依照适当的规程,经过一条或多条链路,在数据源和数据宿之间传送数据的过程.也表示借助信道上的信号将数据从一处送往另一处的操作. CPU与外设之间的数 ...

  7. 操作系统 cpu调度_CPU调度| 操作系统

    操作系统 cpu调度 调度标准 (Scheduling Criteria) There are many criteria which have been suggested for comparin ...

  8. cpu与外设接口,cpu时序控制、电源时序控制(电源IC控制)

    目录 1.cpu与外设和存储器数据交换分别通过两种接口连接:I/O接口和存储器接口 2.89C51单片机时钟电路和时序控制 3.CPU-指令周期,时序产生器和控制方式(重要) 3.1.时序控制方式 4 ...

  9. 操作系统CPU调度策略---07

    操作系统CPU调度策略---07 多进程图像与CPU调度 CPU调度(进程调度)的直观想法 面对诸多场景,如何设计调度算法? 如何做到合理? 需要折中,需要综合- 各种CPU调度算法 First Co ...

最新文章

  1. Log4J配置方式Java工程测试
  2. Android多线程死锁定位,Java---多线程之死锁
  3. SpringMVC(三)——JSON
  4. 转 Django+Bootstrap练习--我的类博客系统开发
  5. php mysql需要服务器配置_php服务器配置(php+mysql+iis)步骤
  6. java中的native关键字有什么作用?(java本地方法)
  7. linux系统脚本安装失败,ubuntu16.04下vim安装失败的原因分析及解决方案
  8. 使用guava带来的方便
  9. freeredius3.0 mysql_EDIUS非线性编辑系统价格,4k视频编辑系统
  10. PyQt学习--HelloWorld
  11. 入行数据科学,仅需6步
  12. mysql5.6主从复制与基于amoeba实现读写分离
  13. Python根据mask在原图上进行标记
  14. html工资计算页面模板,工资计算表Excel模板
  15. php读取execl 实例,php读取excel的实例代码
  16. 树莓派4B安装windows xp windows 95( windows xp windows 95 for raspberry pi 4B)
  17. c语言int作用,C语言中的int max(int x,int y) 究竟有何作用?
  18. 湖南省中职计算机应用教资面试流程?
  19. mac自带邮箱添加邮箱_如何在Mac上的Mail中创建或删除邮箱
  20. 绝绝子!京东大牛用一文将Python 接口自动化测试解析透彻的不行~

热门文章

  1. 泛微OA使用笔记-测试
  2. 用命令查询邮件服务器ip地址,如何利用nslookup命令查询mx记录?以及邮件相关记录...
  3. UE5+VS2022编译Lyra实例项目
  4. 利用净现值(NPV)分析对比方案的可行性
  5. 上海外国语计算机科学与技术,外国语|上海
  6. AVFoundation | 封装一个好用的视频播放器
  7. 计算机毕业设计Java保险公司风险测评管理系统(源码+系统+mysql数据库+lw文档)
  8. 【CSP-J/S】复赛注意事项
  9. U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection|环境搭建|人物素描 测试 简记 |
  10. Windows主机入侵痕迹排查办法