综合题

假定磁盘传输数据以 32 位的字为单位, 传输速率为 1MB/ s。 CPU 的时钟频率为 50MHz。

问答题

使用程序查询的输入输出方式, 一个查询操作需要 100 个时钟周期, 求 CPU 为 I/ O 查询所花费的时间比率, 假定进行足够的查询以避免数据丢失。

【正确答案】

根据题意可知, 每传送一个字需要 4μs, CPU 的时钟周期为 0.02μs。
程序查询的输入输出方式, 一个查询操作需要 100 个时钟周期, 而时钟周期=0.02μs, 所以每个查询操作需要 2μs, CPU 为 I/ O 查询所花费的时间比率为

【答案解析】
问答题

用中断方式进行控制, 每次传输的开销(包括中断处理) 为 100 个时钟周期, 求 CPU 为传输磁盘数据花费的时间比率。

【正确答案】

用中断方式法进行控制, 每次传输的开销(包括中断处理) 为 100 个时钟周期, 而时钟周期=0.02μs,所以每次传输的开销时间=100×0.02=2μs, 传送一个字的时间为 4μs。
CPU 为传输磁盘数据花费的时间比率为

【答案解析】
问答题

采用 DMA 控制进行输入输出操作, 假定 DMA 的启动操作需要 1000 个时钟周期。 DMA 完成时处理中断需要 500 个时钟周期, 如果平均传输的数据长度为 4KB, 问在磁盘工作时处理器将用多少时间比率进行输入输出操作, 忽略 DMA 申请使用总线的影响。

【正确答案】

采用 DMA 控制进行输入输出操作, 平均传输的数据长度为 4KB, 根据数据传输率, 传送时间 4KB÷1MB/ s=4ms。 又由于 DMA 的启动操作需要 1000 个时钟周期, 即 1000×0.02=20μs; DMA 完成时处理中断需要 500个时钟周期, 即 500×0.02=10μs。 所以在磁盘工作时 CPU 为进行输入输出操作花费的时间比率为

【答案解析】