最近阅读430手册的DMA模块发现一个问题,DMA模块的说明里有一些DMA操作运行的流程图,里面有一个是在DMA传输数据时CPU是挂起的,后来查看了关于DMA的资料发现,DMA在传输数据时会获得地址数据总线的控制权,这时CPU就处于挂起状态了,但是有个问题没想明白,用DMA传输数据就是为了能让CPU干别的事情,但是总线的控制权却在DMA那,CPU啥也干不了,岂不是没用了? 但是我实验中却发现用DMA传输大量数据时CPU还是能够响应其他中断的,比如键盘中断,定时器中断等,这是怎么回事?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
最近阅读430手册的DMA模块发现一个问题,DMA模块的说明里有一些DMA操作运行的流程图,里面有一个是在DMA传输数据时CPU是挂起的,后来查看了关于DMA的资料发现,DMA在传输数据时会获得地址数据总线的控制权,这时CPU就处于挂起状态了,但是有个问题没想明白,用DMA传输数据就是为了能让CPU干别的事情,但是总线的控制权却在DMA那,CPU啥也干不了,岂不是没用了? 但是我实验中却发现用DMA传输大量数据时CPU还是能够响应其他中断的,比如键盘中断,定时器中断等,这是怎么回事?