题10
题目
【2018 统考真题】假定计算机的主频为
(1) 若设备A采用定时查询 I/O 方式, 每次输入/输出都至少执行 10 条指令。设备A最多间隔多长时间查询一次才能不丢失数据?CPU 用于设备 A 输入/输出的时间占 CPU 总时间的百分比至少是多少?
(2) 在中断 I/O 方式下, 若每次中断响应和中断处理的总时钟周期数至少为 400 , 则设备B能否采用中断I/O方式?为什么?
(3) 若设备B采用 DMA 方式, 每次 DMA 传送的数据块大小为 1000B, CPU用于 DMA 预处理和后处理的总时钟周期数为 500 , 则 CPU 用于设备 B 输入/输出的时间占 CPU 总时间的百分比最多是多少?
分析
解
- 程序定时向缓存端口查询数据, 由于缓存端口大小有限, 必须在传输完端口大小的数据时访问端口, 以防止部分数据未被及时读取而丢失。设备 A 准备 32 位数据所用的时间为
,所以最多每隔 必须查询一次,每秒的查询次数至少是 , 每秒 CPU 用于设备 输入/输出的时间至少为 个时钟周期,占整个 时间的百分比至少是 。 - 中断响应和中断处理的时间为
,这时只需判断设备 准备 32 位数据要多久, 若准备数据的时间小于中断响应和中断处理的时间, 则数据被刷新, 造成丢失。经过计算,设备 准备 32 位数据所用的时间为 ,因此设备 不适合采用中断 I/O 方式。 - 在 DMA 方式中, 只有预处理和后处理需要 CPU 处理。设备 B 每秒的 DMA 次数最多为
用于设备 输入/输出的时间最多为 个时钟周期,占 总时间的百分比最多为 。