【王道计组笔记】I/O查询方式
程序查询方式:
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查询方式相关推荐
- 【王道计组笔记】定点数编码方式(原码,补码,反码)
无符号数:整个机器字长全部二进制位均为数值位,没有符号位,相当于数的绝对值 表示范围:n位二进制数0~2^n-1 有符号数:用一位二进制数表示正负(0正1负) 小数点的表示问题:约定小数点的位置来实现 ...
- 【王道计组笔记】Cache高速缓存基本工作原理
缓存器 的引入: [王道计组笔记]高速缓存器:局部性原理及性能分析_muse_age的博客-CSDN博客 1.主存的块放到Cache中哪个位置?CPU向缓存中读取一个数据过程? (1)空位随意放:全相 ...
- 【王道计组笔记】高速缓存器:局部性原理及性能分析
背景: 随着CPU的工作速度成指数级增长,但是主存速度跟不上,所以要提升主存速度非常重要. m个模块采用低位交叉编址的方式可以基本上将主存的带宽提升m倍,但是这依旧与CPU差距很大. [王道计组笔记] ...
- 【王道计组笔记】总线(3):总线仲裁的基本概念
同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接受数据 主设备:获得总线控制权的设备 从设备:被主设备访问的设备.只能响应主设备发来的各种总线命令 为什么要进行仲裁? 总线作为一种 ...
- 王道计组笔记: 3.6高速缓冲存储器
目录 高速缓冲存储器 1. Cache的工作原理 2.局部性原理 3.性能分析 4.映射(类比哈希) 5.Cache替换算法 6.Cache块写策略 高速缓冲存储器 1. Cache的工作原理 当在手 ...
- 【王道计组笔记】I/O输入输出系统基本概念
演变过程: 引入总线(3总线):CPU和IO并行工作,中断方式/DMA方式 4.具有IO处理机的阶段 基本组成: IO软件: 驱动程序,用户程序,管理程序,升级补丁等 通常采用IO指令和通道指令实现C ...
- 【王道计组笔记】总线(1):总线的概念和分类
总线:一组能为多个部件分时共享的公共信息传送线路 共享:总线上可以挂接多个部件,多个部件之间互相交换信息可以通过这组线路分时共享 分时:同一时刻只允许有一个部件向总线发出信息,如果系统中有多个部件,则 ...
- 【王道计组笔记】输入/输出设备磁盘
外部设备:除了主机(CPU和主存)之外的,能直接或间接与计算机交换信息的装置 输入设备:用于向计算机系统输入命令和文本.数据等信息的部件. 鼠标(了解) 键盘(了解) 键盘是最常用的输入设备,通过它可 ...
- 【王道计组笔记】半导体存储器RAM ROM
知识回顾: 存储器芯片的逻辑结构: 存储矩阵: 由大量相同的位储存单元阵列构成 译码驱动: 将来自地址总线的地址信号翻译成对应存储单元的选通信号,该信号在读写电路的配合下完成对选中单元的读/写操 ...
最新文章
- disconf mysql_disconf浅入浅出(一)disconf简介以及disconf-web端使用
- 再来一顿贺岁宴 | 从K-Means到Capsule
- 小论接口(interface)和抽象类(abstract class)的区别
- KVC(Key-Value-Coding)和KVO(Key-Value-Observer)
- wps office oa控件 痕迹_WPS加载项案例应用回顾
- html安百分比布局,移动端百分比布局
- 面试官:你是如何调用 wait() 方法的?使用 if 还是 while?别答错了!
- 一位阿里云小哥要感谢“双11”,于是说了一段脱口秀……
- Easyui三级目录菜单+手风琴+spring mvc
- Java 面试简答题
- 狂神 redis笔记 docker
- 我的未来,何去何从?
- JavaScript 常用数组方法及使用技巧「数组的力量隐藏在数组方法中,必收藏」
- 虾皮面试真题:虾皮后端15连问!
- Zookeeper学习提纲:助你一臂之力
- SVD分解的推导,理解SVD分解及矩阵奇异值的几何意义
- AI中数据标注(Labeling)的介绍
- Nature综述:临床宏基因组学的应用与挑战
- 【企业数字化转型】网络协同和数据智能双螺旋驱动——活数据:流动创造价值...
- Analyzing Neural Time Series Data 读书笔记6