题10

题目

【2018 统考真题】假定计算机的主频为 为 4 。现有设备 ,其数据传输速率分别为 ,对应 接口中各有一个 32 位数据缓冲寄存器。回答下列问题,要求给出计算过程。
(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 总时间的百分比最多是多少?

分析

题19

  1. 程序定时向缓存端口查询数据, 由于缓存端口大小有限, 必须在传输完端口大小的数据时访问端口, 以防止部分数据未被及时读取而丢失。设备 A 准备 32 位数据所用的时间为 ,所以最多每隔 必须查询一次,每秒的查询次数至少是 , 每秒 CPU 用于设备 输入/输出的时间至少为 个时钟周期,占整个 时间的百分比至少是
  2. 中断响应和中断处理的时间为 ,这时只需判断设备 准备 32 位数据要多久, 若准备数据的时间小于中断响应和中断处理的时间, 则数据被刷新, 造成丢失。经过计算,设备 准备 32 位数据所用的时间为 ,因此设备 不适合采用中断 I/O 方式。
  3. 在 DMA 方式中, 只有预处理和后处理需要 CPU 处理。设备 B 每秒的 DMA 次数最多为 用于设备 输入/输出的时间最多为 个时钟周期,占 总时间的百分比最多为