cpu 和 IO 之间的协作关系

占用-->中断-->异步(IOP专门做IO操作)

以往的io操作都需要经过cpu之手,在以前,cpu要一直轮询io系统,io操作是否已经结束,在这期间,cpu不能做其他的事情,效率极低,后来中断机制的出现,使得cpu的效率大大提高,主要的方法有轮询和菊花链。但是他们都需要cpu通过执行程序来实现。直到DMA出现。
DMA的出现使得CPU从大量的中断负载中得到释放,CPU的效率显著提高。DMA 全称为 Direct Memory Access ,中文译为直接内存访问,通过io设备读取的数据不必再由操守,而是直接把读取到的数据存入内存,然后再由内存传送数据到寄存器,再由cpu处理,整个过程,大概为:

io设备向DMAC发起DMA传输请求
DMAC 接到请求后,向cpu发出请求,并且将其请求信号加到cpu的HOLD保持请求输入端上
cpu接到请求后对DMAC作出回应,将其响应信号加到DMAC的HLDA保持响应输出端上,同时向DMAC预置主存首地址以及交换数据个数和读写命令,并且放弃对系统总线的控制权,此时,DMAC获得系统总线的控制权
DMAC将接到的响应后,将响应转交给io设备,开始数据的传输。
数据传输完毕后,DMAC将HOLD信号设置为无效并加到cpu上
cpu接到HOLD信号判定为无效,就知道数据传输完毕,同时把HLDA信号设置为无效加到DMAC上,并且重新获得系统总线的控制权
总之,在系统进行DMA数据交换的过程中,cpu都不得获得系统总线的控制权,在此过程当中,cpu只需开始和结束的对DMAC进行响应,其余的时间,cpu可以处理其他的事情,比如处理中断之前的作业。

iop的出现,通道结构又被称作输入输出处理机为iop,iop独立于cpu,是一个专门管理io的处理机。它把cpu从众多的io操作中释放出来,减少了cpu的负担,与此同时,系统的io操作都由iop来负责, 并且一个iop能够控制许多的设备进行io操作,还能实现iop的复用,无疑减少了中断次数,提高了cpu的效率。

DAM(Direct Memory Access)相关推荐

  1. Remote Direct Memory Access (RDMA)

    前言 本博文主要是简单介绍RDMA的概念和与它相关的技术.实现RDMA需要许多其他技术的支持,包括硬件和软件.目前RDMA有多种实现方式,比如RoCE1.INFINIBAND2,不同的实现方式所考虑的 ...

  2. 直接内存访问 (Direct Memory Access, DMA)

    Table of Contents 直接内存访问 (Direct Memory Access, DMA) DMA 模型 设备 DMA 的类型 总线主控器 DMA 第三方 DMA 第一方 DMA 主机平 ...

  3. Xilinx AXI Central Direct Memory Access (CDMA)手册笔记

    官方手册地址:https://china.xilinx.com/support/documentation/ip_documentation/axi_cdma/v4_1/pg034-axi-cdma. ...

  4. RDMA,remote direct memory access

    在电脑运算领域,远程直接内存访问(英语:remote direct memory access,RDMA)是一种直接内存访问技术,它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介 ...

  5. Tricks with Direct Memory Access in Java

    2019独角兽企业重金招聘Python工程师标准>>> Java was initially designed as a safe, managed environment. Nev ...

  6. DMA(direct memory access)直接内存访问

    2019独角兽企业重金招聘Python工程师标准>>> DMA 实际上是盗用了总线时间来传输数据,而且由于是硬件处理,所以大大加速了数据复制速度! 1. 基本概念 辅存狭义上是平时讲 ...

  7. 直接存储器存取(Direct Memory Access,DMA)详细讲解

    一.理论理解部分. 1.直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输. 2.无须CPU干预,数据可以通过DMA快速移动,这就节省了CPU的资源来做其他操作. ...

  8. DMA(direct memory access)控制方式

    1.DMA控制方式的引入        中断方式是以字节(字)为单位进行I/O的, 每完成一个字节(字) CPU要处理一次中断, 这种方法用于块设备效率极低, 为了进一步减少CPU对I/O的干预, 提 ...

  9. Advanced BAP Memory Access

    Advanced BAP在连接到BAP的memory BIST的hw_default操作模式下启用某些feature覆盖.通过消除顺序配置controllers的shift cycles,能够极大减少 ...

最新文章

  1. jpa SessionFactory事物失效
  2. IT行业: 嵌入式工程师的进阶之路
  3. JSP自定义标签渲染时报Illegal to flush错误
  4. 设置qt的QChart曲线背景色透明
  5. JDeps入门–分析项目的依赖关系
  6. 网站页面左右_广州网站优化的技巧是什么?
  7. ps图像压缩插件:TinyPNG and TinyJPG for Mac 支持ps2021
  8. C#WinForm 窗体单例模式 反射单例
  9. meterpreter--收集系统信息
  10. CCNA配置试验之八 帧中继——点到点子接口(point-to-point)的配置
  11. 字符集本地化(locale)与输入法系列讲座-----(1) UTF-8 and Unicode FAQ
  12. VC++ 屏幕捕获(DXGI)
  13. oracle写一个全量刷新,Oracle物化视图定时全量刷新以致归档日志骤增
  14. vue 强制清理浏览器缓存
  15. [基本功]辛普森悖论
  16. 链家二手房信息爬取(内附完整代码)
  17. Star Way To Heaven题解(防题目重复)
  18. Floating Point Determinism
  19. 二级mysql刷题_2019年9月二级MySQL试题-快来刷题!
  20. CSDN学院专属推荐--从Python小白走向Python工程师你只需要它!

热门文章

  1. Yoshua:深度学习AI迈向人类水平的挑战
  2. bzoj 2054 并查集
  3. IOS类似图片验证码的实现
  4. Hikvison对接iSecure Center时获取Appkey和Secert、不显示API网关、预览时提示网络请求失败
  5. git有本地化环境吗Linux,msysgit之Git for Windows 安装与使用教程
  6. 利用 GitHub 从零开始搭建一个博客
  7. 逐年大幅扩招,进入这所全球第24位的CS院校越来越容易?
  8. NVME协议解读(一)
  9. IBM服务器找不到硬盘怎么设置,关于IBM x3400服务器找不到硬盘(RAID0)問題
  10. 视频倒退编辑android,视频倒放剪辑软件下载-视频倒放剪辑 安卓版v2.6.3-PC6安卓网...