408统考真题中含有部分有关I/O设备的三种基本查询方式大题。
一、程序查询方式
总结:
①程序查询方式,是CPU自主查询,像一台无脑机器,需要不断去询问数据准备好了没。
②CPU并不会因为一直查询,而陷入死循环,耗费大量资源;因为进程会分发时间片,假设1ms,而询问可能会1us/次;当时间片耗费完,会下处理机。
③若cpu达不到该有的查询频率会导致,数据
覆盖丢失
。
思路:
查询频率
:一般会有I/O设备数据传送速率,缓冲区大小;两者相比及为CPU需定时查询频率
。
时间比率
:一般题目会告诉计算机主频(500MHz 及 一秒钟包含500M个时钟周期);算出一秒钟内查询的周期总数与主频相比即可。
二、中断方式
总结:
①中断方式,当设备准备好数据后,会发出一个中断请求,告诉CPU数据已备好。
②此过程中,cpu会进行 Ⅰ.中断隐指令1.硬件关中断2.保护断点3.向中断服务程序的入口跳转
。及中断响应;
③还需进行 Ⅱ.中断服务程序;
④隐指令
以及中断服务程序
都有时间消耗。详见【2016真题】
三、DMA中断
总结:
①预处理:DMA启动,cpu需要告诉DMA控制器,往内存中那块区域读写位置
等信息;
②后处理:当DMA处理完毕后会发送DMA请求告诉cpu自己完事了,后cpu进行处理。两者都需要占用cpu;
③在DMA传送数据时,是以字
的大小像内存中进行数据传输的。传完一个块大小,及一个DMA完毕。
④DMA方式的块
可理解为缓冲区
大小;填充完块,cpu才会响应进行操作;
⑤周期窃取:DMA周期窃取
方式;cpu与DMA在访存中会有三种情况:
Ⅰ.DMA要访存,CPU也要。CPU会让先;此时可理解为占用了cpu;(固周期窃取在此情况下,也是小概率时间,但有时会误认为100%)
Ⅱ.DMA设备访存,CPU不访。
Ⅲ.DMA访存,cpu正在访;则需等待。
真题
【2009】
【2016】
【2018】