程序查询方式:

CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序。

CPU有“踏步”等待现象,CPU与I/O串行工作

优点:接口设计简单、设备量少
缺点: CPU在信息传送过程中花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息, 效率大大降低。

一次只能传送一个字:外设传过来的数据放在CPU的寄存器中。即每传输一个字,CPU都要查询一次。所以,使用程序查询方式非常慢


程序中断方式:

中断服务程序也是程序,由CPU执行,所以涉及程序切换,所以要保护现场和恢复现场

DMA方式:


每准备好一个数据都要中断CPU,由CPU运行中断服务程序来完成一次传送。

高速设备需要大批量的数据传输->CPU大量时间用于中断服务。

DMA控制器:在DMA总线上有DMA控制器,硬件实现控制大批量数据传输

在DMA方式中,当I/O设备需要进行数据传送时,通过DMA控制器(DMA接口)向CPU提出DMA传送
请求,CPU响应之后将让出系统总线,由DMA控制器接管总线进行数据传送。

其主要功能有:

1)接受外设DMA请求,向CPU发出总线请求
2) CPU响应此总线请求,发出总线响应信号,接管总线控制权,进入DMA操作周期。
3)确定传送数据的主存单元地址及长度,并能自动修改主存地址计数和传送长度计数。
4)规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作。
5)向CPU报告DMA操作的结束。

CPU只需要预处理后处理 

当I/O设备和CPU同时访问主存时,可能发生冲突。解决:

(1)停止CPU访问主存

未充分发挥CPU对主存的利用率

(2)DMA与CPU交替访存

硬件逻辑复杂

(3)周期挪用(周期窃取)

DMA访问主存有三种可能:
CPU此时不访存(不冲突)
CPU正在访存(存取周期结束让出总线)
CPU与DMA同时请求访存(I/0访存优先)

【王道计组笔记】I/O查询方式相关推荐

  1. 【王道计组笔记】定点数编码方式(原码,补码,反码)

    无符号数:整个机器字长全部二进制位均为数值位,没有符号位,相当于数的绝对值 表示范围:n位二进制数0~2^n-1 有符号数:用一位二进制数表示正负(0正1负) 小数点的表示问题:约定小数点的位置来实现 ...

  2. 【王道计组笔记】Cache高速缓存基本工作原理

    缓存器 的引入: [王道计组笔记]高速缓存器:局部性原理及性能分析_muse_age的博客-CSDN博客 1.主存的块放到Cache中哪个位置?CPU向缓存中读取一个数据过程? (1)空位随意放:全相 ...

  3. 【王道计组笔记】高速缓存器:局部性原理及性能分析

    背景: 随着CPU的工作速度成指数级增长,但是主存速度跟不上,所以要提升主存速度非常重要. m个模块采用低位交叉编址的方式可以基本上将主存的带宽提升m倍,但是这依旧与CPU差距很大. [王道计组笔记] ...

  4. 【王道计组笔记】总线(3):总线仲裁的基本概念

    同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接受数据 主设备:获得总线控制权的设备 从设备:被主设备访问的设备.只能响应主设备发来的各种总线命令 为什么要进行仲裁? 总线作为一种 ...

  5. 王道计组笔记: 3.6高速缓冲存储器

    目录 高速缓冲存储器 1. Cache的工作原理 2.局部性原理 3.性能分析 4.映射(类比哈希) 5.Cache替换算法 6.Cache块写策略 高速缓冲存储器 1. Cache的工作原理 当在手 ...

  6. 【王道计组笔记】I/O输入输出系统基本概念

    演变过程: 引入总线(3总线):CPU和IO并行工作,中断方式/DMA方式 4.具有IO处理机的阶段 基本组成: IO软件: 驱动程序,用户程序,管理程序,升级补丁等 通常采用IO指令和通道指令实现C ...

  7. 【王道计组笔记】总线(1):总线的概念和分类

    总线:一组能为多个部件分时共享的公共信息传送线路 共享:总线上可以挂接多个部件,多个部件之间互相交换信息可以通过这组线路分时共享 分时:同一时刻只允许有一个部件向总线发出信息,如果系统中有多个部件,则 ...

  8. 【王道计组笔记】输入/输出设备磁盘

    外部设备:除了主机(CPU和主存)之外的,能直接或间接与计算机交换信息的装置 输入设备:用于向计算机系统输入命令和文本.数据等信息的部件. 鼠标(了解) 键盘(了解) 键盘是最常用的输入设备,通过它可 ...

  9. 【王道计组笔记】半导体存储器RAM ROM

    知识回顾: 存储器芯片的逻辑结构: 存储矩阵:    由大量相同的位储存单元阵列构成 译码驱动: 将来自地址总线的地址信号翻译成对应存储单元的选通信号,该信号在读写电路的配合下完成对选中单元的读/写操 ...

最新文章

  1. disconf mysql_disconf浅入浅出(一)disconf简介以及disconf-web端使用
  2. 再来一顿贺岁宴 | 从K-Means到Capsule
  3. 小论接口(interface)和抽象类(abstract class)的区别
  4. KVC(Key-Value-Coding)和KVO(Key-Value-Observer)
  5. wps office oa控件 痕迹_WPS加载项案例应用回顾
  6. html安百分比布局,移动端百分比布局
  7. 面试官:你是如何调用 wait() 方法的?使用 if 还是 while?别答错了!
  8. 一位阿里云小哥要感谢“双11”,于是说了一段脱口秀……
  9. Easyui三级目录菜单+手风琴+spring mvc
  10. Java 面试简答题
  11. 狂神 redis笔记 docker
  12. 我的未来,何去何从?
  13. JavaScript 常用数组方法及使用技巧「数组的力量隐藏在数组方法中,必收藏」
  14. 虾皮面试真题:虾皮后端15连问!
  15. Zookeeper学习提纲:助你一臂之力
  16. SVD分解的推导,理解SVD分解及矩阵奇异值的几何意义
  17. AI中数据标注(Labeling)的介绍
  18. Nature综述:临床宏基因组学的应用与挑战
  19. 【企业数字化转型】网络协同和数据智能双螺旋驱动——活数据:流动创造价值...
  20. Analyzing Neural Time Series Data 读书笔记6

热门文章

  1. Stream - Web大文件上传插件
  2. UVA10943 How do you add【递推打表】
  3. 杭电OJ分类题目(4)-Graph
  4. UVA344 UVALive5452 Roman Digititis【Ad Hoc】
  5. POJ3978 Primes【素数筛选+前缀和】
  6. I00013 鸡兔同笼
  7. Java Tricks —— 不小于一个数的最小2的幂次方
  8. Cython 的学习
  9. windows 常用快捷键与重要文件的路径
  10. 从球面几何到非欧几何