首页 > 编程知识 正文

dma方式和程序中断方式比较有什么不同,dma与中断方式的区别

时间:2023-05-06 10:14:46 阅读:276148 作者:2750

DMA是l/O设备与主存之间由硬件组成的直接数据通路,主要用于高速I/O设备与主存之间的成组数据传送。(外设快、慢了没意义。然后数据多,少了也没多大意义)
首先讲一下外设跟内存进行数据传输的几种方式:
1.程序传送。通过无条件或者if等条件语句使cpu主动进行数据传输,但是这种情况下要等待外设准备好,会浪费大量的等待时间。
2.中断方式。外设向cpu发出中断请求,cpu响应中断后进行数据传输。但是如果传输较多数据的情况下,cpu得一直花费时间在中断上,也会造成cpu利用率低。
3.dma方式。外设请求传输,dma向cpu发出总线控制请求,cpu把总线控制下发给DMA控制器。DMA利用总线进行数据的快速传输。传输完毕后把总线控制权交还给cpu。有点:快、能传输大量数据而不降低CPU速度。

DMA方式和中断方式的区别:
1.DMA方式是硬件方式。中断是软件方式。
2.优先级:DMA方式比中断方式高。
3.DMA只占用cpu少部分时间,不浪费cpu资源。但是中断方式全程占有cpu。
4.中断方式能处理异常事件,但是DMA方式只能够传输数据。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。