文章
36
粉丝
0
获赞
0
访问
3.8k
CPU时间 = \frac{1}{主频} = \frac{1}{500MHz} = \frac{1}{500 \times 10^{6}}s
中断时间 = \frac{0.5MB/s \times 8}{32b} = \frac{0.5 \times 10^{6} \times 8b}{32b} = \frac{10^{6}}{8}s
对应的中断服务程序包含 18 条指令,中断服务程序其他开销相当于 2 条指令的执行时间,又得知执行每条指令平均需 5 个时钟周期,那就有18 \times 5 + 2 \times 5 = 90 + 10 = 100
CPU 用于该外设 I/O 的时间占整个 CPU 时间的比值\frac{\frac{10^{6}}{8}s \times 100}{500 \times 10^{6}} \times 100\% = \frac{100}{4000} \times 100\% = \frac{1}{40} \times 100\% = 2.5\%
1s内DMA传输次数 = \frac{外设的数据传输率}{DMA传送块大小} = \frac{5MB/s}{5000B} = \frac{5 \times 10^{6}B}{5 \times 10^{3}B} = 10^{3}次/s
CPU 用于该外设 I/O 的时间与CPU 时间的比值 = \frac{500(时钟周期) \times 10^{3}次} {500 \times 10^{6}s} \times 100\%= \frac{1}{1000} \times 100\% = 0.1\%
评分及理由
(1)得分及理由(满分4分)
学生答案中计算了中断服务程序的开销为100个时钟周期(18条指令×5 CPI + 2条指令开销×5 CPI = 100),正确。中断次数计算为0.5MB/s ÷ 4B = 125,000次/秒,正确。总时钟周期为100 × 125,000 = 12.5M,CPU主频500MHz即500M时钟周期/秒,因此百分比为12.5M / 500M = 2.5%,正确。但学生计算过程中使用了“中断时间 = 0.5MB/s × 8 / 32b”这一步,其中“×8”是将字节转换为比特,但后续除以32b(...
登录后发布评论
暂无评论,来抢沙发