题4
题目
Q:关于程序中断方式和 DMA 方式的叙述, 错误的是 ( )。
I. DMA 的优先级比程序中断的优先级要高
II. 程序中断方式需要保护现场, DMA 方式在传输过程中不需要保护现场
III. 程序中断方式的中断请求是为了报告 CPU 数据的传输结束, 而 DMA 方式的中断请求完全是为了传送数据
A. 仅 II
B. II、III
C. 仅 III
D. I、 III
分析
A:DMA 方式不需要 CPU 干预传送操作, 仅在开始和结尾借用 CPU 一点时间, 其余不占用 CPU 任何资源;
中断方式是程序切换, 每次操作需要保护和恢复现场, 所以 DMA 优先级高于中断请求, 从而可以加快处理效率, I 正确。
从 I 的分析可知, 程序中断需要中断现行程序, 因此需保护现场, 以便中断执行完后还能回到原来的点去继续没有完成的工作;
DMA 方式不需要中断现行程序, CPU 仅仅做一些辅助性工作, 因为主存和 DMA 接口之间有一条数据通路, 所以无须使用 CPU 内部寄存器, 也就无须保护现场, II 正确。III 的说法正好相反。
注 意
程序中断的保护现场是由中断服务子程序完成的, 不同中断源对应的中断子程序是不同的, 可以理解为因 DMA 方式无须使用 CPU 内部寄存器, 所以其对应的中断服务子程序也无须保存 CPU 现场。
此外, “DMA 方式无须保护现场” 是唐朔飞老师所撰教材中的原话。
解
C