问答题
某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。
问答题
在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
【正确答案】正确答案:在中断方式下,每32位(4B)被中断一次,故每秒中断为: 0.5M,B/4B=0.5×10
6
/4=12.5×10
4
次 因为中断服务程序包含18条指令,一辛断服务的其他开销相当于2条指令的执行时间,且执行每条指令平均需5个时钟周期 所以,1秒之内用于中断的时钟周期数为: (18+2)×5×12.5×10
4
=12.5×10
6
因为计算机的CPU主频为500MHz,故CPU用于中断的时间占整个CPU时间的百分比是: ((12.5×10
6
)/(500×10
6
))×100%=2.5%
【答案解析】
问答题
当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)。
【正确答案】正确答案:在DMA方式下,每秒进行DMA操作为: 5MB/5000B=5×10
6
/5000=1×10
3
次 因为DMA预处理和后处理的总开销为500个时钟周期,所以1秒之内用于DMA操作的时钟周期数为: 500×1×10
3
=5×10
5
故DMA方式下,占整个CPU时间的百分比是: ((5×10
5
)/(500×10
6
))×100%=0.1%
【答案解析】