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