文章
20
粉丝
0
获赞
0
访问
591
(1)计算机的时钟周期是:1/500MHz=2ns。CPI为4,每次输入/输出至少执行10条指令,所以每次输入/输出至少花费40个时钟周期,即80ns。所以设备A最多间隔80ns查询一次才能不丢失数据。设备A输入输出至少用160ns,百分比是160ns/1=1.6X10-9%。
(2)能
(3)1000B/40MBps=25us,500时钟周期数=1us,所以是26us/1=0.26x10(-2)%。
评分及理由
(1)得分及理由(满分4分)
得分:0分
理由:学生答案存在多处逻辑错误。首先,查询间隔的计算错误,设备A的数据传输率为2MBps,缓冲寄存器为32位(4字节),因此设备准备4字节数据所需时间为4B/2MBps = 2μs,这是最大允许的查询间隔,而学生错误地使用了执行10条指令的时间(80ns)作为查询间隔。其次,CPU时间占比计算错误,学生错误地使用了160ns/1s的比例,且未正确计算每秒查询次数和总时钟周期数。正确的计算应为每秒查询次数至少为1s/2μs = 5×10⁵次,每次查询执行10条指令(40个时钟周期),总时钟周期数为2×10⁷,占CPU时间百分比为2×10⁷/(500×10⁶) = 4%。学生答案与标准答案完全不符,因此得0分。
(2)得分及理由(满分2分)
得分:0分
理由:学生仅回答“能”,但未给出任何计算过程或理由。标准答案中通过计算设备B准备数据时间(4B/40MBps = 0.1μs)和中断响应处理时间(400/500MHz = 0.8μs),得出准备数据时间小于中断处理时间,会导致数据丢失,因此设备B不适合中断I/O方式。学生答案缺乏必要的分析和计算,且结论错误,因此得0分。
(3)得分及理由(满分2分)
得分:0分
理由:学生答案计算错误。设备B采用DMA方式,每次DMA传送1000B,预处理和后处理总时钟周期数为500。首先,学生错误地计算了每次DMA传送时间(1000B/40MBps = 25μs)并将其与预处理时间(500时钟周期 = 1μs)相加,得出26μs,但DMA传送期间CPU不参与,只有预处理和后处理占用CPU时间。正确的计算应为每秒DMA次数为40MB/1000B = 40000次,每次占用CPU 500时钟周期,总时钟周期数为2×10⁷,占CPU时间百分比为2×10⁷/(500...
登录后发布评论
暂无评论,来抢沙发