1、中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理。
2、DMA方式则是以数据块为单位传输的,在所要求传送的数据块全部传送结束时要求CPU进行中断处理,这样大大减少CPU进行中断处理的次数。DMA方式不需CPU干预传送操作,不占用CPU任何资源, 整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。
中断方式是程序切换,每次操作需要保护和恢复现场,中断次数多,CPU需要花较多的时间处理中断,中断次数多也会导致数据丢失。但是DMA是必须利用中断的,否则CPU无法得到数据已经传输结束,当数据传输开始结束的时候,需要给CPU一个中断信号,CPU进行处理.这个就大大的节约了CPU的资源。
3、中断方式的数据传送方向是由设备到CPU再到内存,或者相反。
DMA方式的数据传送则是将所传输的数据由设备直接送入内存,或是由内存直接送到设备。

原文链接:https://blog.csdn.net/guomutian911/article/details/46291635

简述中断和 DMA 的区别。相关推荐

  1. I/O控制方式——轮询,中断,DMA,通道

    转载自https://www.cnblogs.com/niuyourou/p/12588407.html 作为个人学习使用,如果侵权请联系我删除 I/O 设备是计算机的重要组成部分,介于处理器与 I/ ...

  2. 微型直流减速电机简述:无刷电机与有刷电机区别分析

    参考文献 [1] 刘爱民, 倪元相. 电机与拖动技术[M]. 第二版. 大连:大连理工大学出版社, 2017. [2] 王爱元. 控制电机及其应用[M]. 第一版. 上海:上海交通大学出版社, 201 ...

  3. 硬件中断和软中断的区别

    中断 中断指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程.即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情 ...

  4. 硬件中断和软件中断的区别

    中断 中断指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程.即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情 ...

  5. 【嵌入式基础】STM32中断及DMA通信原理编程

    本文主要学习stm32中断.DMA通信原理和编程方法.使用stm32tubemx和HAL库分别完成中断模式编程和串口通信中断实验. 目录 一.STM32中断,DMA通信原理编程 1.STM32中断 ( ...

  6. STM32中断与DMA通信编程

    文章目录 一.中断与DMA通信原理 1.中断 2.DMA通信原理 二.中断控制LED灯点亮熄灭 1.新建工程 2.配置外部中断 3.配置中断优先级 4.完成创建 5.编写中断函数 6.程序烧录 7.运 ...

  7. 简述 Hibernate 和 JDBC 的区别、优缺点

    1.hibernate是一个开源的.采用面向对象的思想实现ORM映射框架,它对jdbc进行了一层封装,对于数据库的连接.关闭.数据的持久化(增删改查).事务的管理都进行了封装,使得程序开发的时候可以用 ...

  8. Java习题3(1.封装的意义有哪些?2.final关键字的作用有哪些?3. 简述覆盖与重载的区别。4. 写一个冒泡排序算法。)

    1.封装的意义有哪些? 答: 将对象成员保护起来,使用接口对外公开,安全性更高. 读取.修改对象属性更加方便,更具有灵活性. 增加.删除对象属性在对应类中进行操作即可,不影响其他类,可维护性好. 2. ...

  9. STM32CubeMX配置ADC采样(轮询、中断、DMA)

    选择DMA循环采集DMA_CIRCULAR uint16_t ADCRes[ADC_DMA_BUF_SIZE]; //变量易变,编译器不能随便优化 #define ADC_Ech_Channel 3 ...

最新文章

  1. closurescallbacks
  2. 美酒节成就及任务攻略指引
  3. tf.nn.embedding_lookup函数的用法
  4. python旅游推荐系统_如何用Python搭建一个简单的推荐系统?
  5. 苹果cms V8 M1938蓝色自适应模板
  6. 推荐系统-Task05推荐系统流程构建
  7. 【常用软件下载地址】java开发官方资源下载网址大全(持续更新)
  8. 深度linux系统能炒股吗,深度网友支招:Deepin v20下完全可以用炒股票软件
  9. 有限元分析及运用课程笔记第一章:引论
  10. IP地址详解、无分类编址和路由寻址(计算机网络二)
  11. 中国云计算市场“三足鼎立”
  12. JavaScript学习笔记(条件判断)
  13. 数据、源代码防泄密解决方案
  14. 为什么只有T字型人才实用价值才比较大?
  15. php实习生实习日记,实习日记
  16. 【逆向】《0day安全-软件漏洞分析技术》实验笔记2
  17. python 作业3
  18. Ubuntu 安装和使用MySQL
  19. Barracuda【高斯消元】【暴力】
  20. selenium使用篇_键盘鼠标事件

热门文章

  1. Android.mk 使用 环境 小结
  2. vue-cli3项目运行时一直发http://localhost:8080/sockjs-node/info?t=1462183700002请求
  3. matlab 多项式提取,matlab提取多项式系数
  4. 新冠疫情数据可视化python_【一点资讯】新冠疫情数据分析 | Python可视化工具看全国各地的新增趋势 www.yidianzixun.com...
  5. mysql innodbdatahomedir_mysql gtid复制
  6. 交互设计软件 html,交互设计工具篇
  7. python 交换机巡检脚本_Python自动巡检H3C交换机实现过程解析
  8. java 单选按钮怎么重置_单选框-复选框重置的方法
  9. ef mysql 中文乱码,mysql解決中文亂碼問題
  10. android渐变布局,关于Android的径向渐变高级编程的实现