CPU对DMA请求和中断请求的响应时间是否一样?为什么?
职业资格
已帮助 人
-
正确答案:CPU对DMA请求和中断请求的响应时间是不一样的。响应中断请求是在每条指令执行周期结束的时刻而响应DMA请求是在存取周期结束的时刻。因为中断方式是程序切换而程序又是由指令组成所以必须在一条指令执行完毕才能响应中断请求。而且CPU只有在每条指令执行周期的结束时刻才发出查询信号以获取中断请求信号此时若条件满足便能响应中断请求。DMA请求是由DMA接口根据设备的工作状况向CPU申请占用总线此时只要总线未被CPU占用即可立即响应DMA请求;若总线正被CPU占用则必等待该存取周期结束时CPU才交出总线的使用权。
CPU对DMA请求和中断请求的响应时间是不一样的。响应中断请求是在每条指令执行周期结束的时刻,而响应DMA请求是在存取周期结束的时刻。因为中断方式是程序切换,而程序又是由指令组成,所以必须在一条指令执行完毕才能响应中断请求。而且CPU只有在每条指令执行周期的结束时刻才发出查询信号,以获取中断请求信号,此时若条件满足,便能响应中断请求。DMA请求是由DMA接口根据设备的工作状况向CPU申请占用总线,此时只要总线未被CPU占用,即可立即响应DMA请求;若总线正被CPU占用,则必等待该存取周期结束时,CPU才交出总线的使用权。
