问答题 假定硬盘传输数据以32位的字为单位,传输速率为1MB/s。CPU的时钟频率为50MHz。
问答题 采用程序查询的输入输出方式,假定不能使数据丢失,求传输程序运行期间占用CPU的时间比率。
【正确答案】
【答案解析】采用程序查询的输入输出方式,程序查询方式中,CPU一直不停地循环询问外设的状况,而为了避免数据丢失,不能切换到其他进程,所以CPU的占用率为100%。
问答题 采用中断方法进行控制,每次传输的开销(包括中断处理)为100个时钟周期。求CPU为传输硬盘数据花费的时间比重。
【正确答案】
【答案解析】采用中断方法进行控制,每传送一个字需要的时间为:(32b/8)÷1MB/s=4ps。
CPU时钟周期为:1/50MHz=0.02gs。
得到时间比重为:100×0.02/4=50%。
问答题 采用DMA控制器进行输入输出操作,假定DMA的启动操作需要1000个时钟周期,DMA完成时处理中断需要500个时钟周期。如果平均传输的数据长度为4KB(此处,1MB=1000KB),问在硬盘工作的一次传输中,处理器将用多少时间比重进行输入输出操作,忽略DMA申请使用总线的影响。
【正确答案】
【答案解析】采用DMA控制器进行输入输出操作,平均传输的数据长度为4KB,传送的时间为:4KB÷1MB/s=4ms。上问可知CPU时钟周期为:1/50MHz=0.02gs=0.00002ms。启动与完成操作共占用的CPU时间为:0.00002ms×1500=0.03ms
总耗时为:启动时间+传输时间+完成处理中断时间=4ms+0.00002×1500=4.03ms
在DMA传输的过程中,CPU不需要进行操作,所以CPU为传输硬盘数据花费的时间比重为:CPU时间/总时间=0.03ms/4.03ms=0.74%。 [解析] 本题考查计算机的性能指标和I/O方式。首先计算每次传输过程的平均时间,然后根据程序查询、中断和DMA方式的特点计算外设I/O的时间占整个CPU时间的百分比。