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