某计算机的CPU主频为500 MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5 MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间

admin2012-06-21  58

问题 某计算机的CPU主频为500 MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5 MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。
  (1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
  (2)当该外设的数据传输率达到5 MB/s时,改用DM@A@方式传送数据。假设每次DMA传送大小为5 000 B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)

选项

答案(1)该外设数据传输率为0.5 MB/s,以32位为传输单位,故1 s内因外设传输数据而引起的中断次数为 0.5 MB/4 B=1.25×105(次) 对应的中断服务程序及其他开销共需18+2=20条指令,CPI为5,故1 s内用于该外设I/O的时钟周期数为 1.25×105×20×5=1.25×107(个) CPU主频为500 MHz,即1 s内共有500 M个时钟周期,故用于该外设I/O的时间占整个CPU时间的百分比是 (1.25×107/(500×106)×100%=2.5% (2)该外设的数据传输率为5 MB/s,每次DMA传送大小为5 000 B,故1 s内的DMA传输次数为 5 MB/5 000 B=(5×105B)/(5×103B)=1 000(次) DMA预处理及后处理的总开销为500个时钟周期,故1 s内用于该外设传输数据的时钟周期数为 1 000×500=5×105(个) CPU主频为500 MHz,故用于该外设I/O的时间占整个CPU时间的百分比是 (5×105)/(500×106)×100%=0.1%

解析
转载请注明原文地址:https://kaotiyun.com/show/xAxi777K
0

最新回复(0)