单选题 假定磁盘传输数据以32位的字为单位,传输速率为1MB/s。CPu的时钟频率为50MHz。 (1)程序查询的输入输出方式,一个查询操作需要100个时钟周期,求CPU为I/O查询所花费的时间比率,假定进行足够的查询以避免数据丢失。 (2)用中断方式进行控制,每次传输的开销(包括中断处理)为100个时钟周期。求CPU为传输磁盘数据花费的时间比率。 (3)采用DMA控制进行输入输出操作,假定DMA的启动操作需要1000个时钟周期,DMA完成时处理中断需要500个时钟周期,如果平均传输的数据长度为4KB,问在磁盘工作时处理器将用多少时间比率进行输入输出操作,忽略DMA申请使用总线的影响。 (4)根据以上计算,可得出什么结论?
【正确答案】(1)因为磁盘传输数据以32位的字为单位,传输速率为1MB/s=250Kw/s,即每秒需要传输250K次。 1秒钟内用于查询的开销:100×250 000=25000 000=25M个时钟周期。 CPU的时钟频率为50MHz,即1s内共有50M个时钟周期。所以CPU为I/O查询所花费的时间比率25M/50M=50%。 (2)为达到外设1MB/s的数据传输率,外设每秒申请的中断次数: 1MB/4B=250 000 1秒钟内用于中断的开销:100×250000=25000000=25M个时钟周期。 所以CPU为传输磁盘数据花费的时间比率为:25M/50M=50%。 (3)为达到外设1MB/s的数据传输率,1秒钟内需产生的DMA次数: 1MB/4KB=250 CPU用于DMA处理的总开销:(1000+500)×250=375000=0.375M个时钟周期 所以处理器进行I/O操作的时间比率:0.375M/50M=0.75% (4)根据以上计算,可以看出在高速的I/O设备(如磁盘)和存储器交换大量数据时,采用DMA传送方式比中断和查询方式的速度快,CPU效率高。
【答案解析】