DMA的传输方式以及传输模式
创作时间:
作者:
@小白创作中心
DMA的传输方式以及传输模式
引用
CSDN
1.
https://blog.csdn.net/dddds222_/article/details/138347797
DMA的定义
DMA(Direct Memory Access,直接内存访问)是一种技术,用于在外设和存储器之间或者存储器和存储器之间进行高速数据传输。通过DMA,数据传输过程无需CPU的干预,可以快速地移动数据,从而节省CPU资源,使其能够执行其他操作。
DMA传输方式
DMA的主要作用是实现数据的直接传输,去掉了传统数据传输需要CPU寄存器参与的环节。主要涉及四种情况的数据传输:
- 外设到内存
- 内存到外设
- 内存到内存
- 外设到外设
传输过程如下:
- 开始传输时刻:DMA向CPU申请至少一个总线周期的占用时间来做数据传输工作
- 结束传输时刻:DMA向CPU发送中断请求,请求CPU处理这些数据
DMA的工作模式、数据传输方式、寻址模式
工作模式
- 直接模式:DMA直接进行从源地址到目的地址的数据传输。
- FIFO模式:在FIFO模式下,可以将要传输的多个数据(或字节)累计存储在FIFO缓冲器中,然后在FIFO缓冲器中设置存储阈值,当到达阈值时,FIFO会自动把所有存储的数据一次性的发送到目标地址。
数据传输方式
- 单字传送(单次模式):DMA请求获得批准后,CPU让出一个总线周期用于字或字节的传送。结束后,DMA控制器归还总线控制权,CPU再重新判断下一个总线周期的总线控制权是CPU保留,还是继续响应一次新的DMA请求。这种方式称为单字传送方式,又称为周期挪用或周期窃取。
- 块传送(突发模式):DMA请求获得批准后,DMA控制器掌管总线控制权,连续占用若干个总线周期,进行成组连续的批量传送,直到批量传送结束,才将总线的控制权交还给CPU。这种方式称为成组连续传送方式。
寻址模式
- 增量寻址:发送完数据后,继续发送下一个地址的数据,配合突发传输模式
- 非增量寻址:一发送完数据后,如果想要继续发送数据,需要根据软件配置的发送下一个数据的地址,再进行数据的传输
DMA数据传输过程
准备阶段
CPU会对DMA控制器和IO接口进行初始化,初始化的内容如下:
DMA控制器初始化
配置DMA内存缓冲区的首地址(即告诉DMA把数据放到哪)
配置DMA传输方向(是向外设传数据,还是从外设读数据)
配置DMA交换量(设置数据传输的上限)
接口的初始化
I/O设备的寻址信息
- 传输请求
- 设备接口 => DMA控制器:设备接口向DMA控制器发送“DMA请求”,即请求使用DMA进行数据传输
- DMA控制器 => CPU:DMA控制器向CPU申请“总线占用”,DMA控制器和CPU只能有一个占用总线
- CPU => DMA控制器:CPU批准使用总线,此时CPU会让出一个或者多个总线周期用于数据传输。在DMA数据传输期间,CPU停止访问内存,无法执行需要占用总线的指令。
- DMA控制器 => 设备接口:DMA批准设备请求,此时DMA控制器将掌握总线控制权。如果是单字节传送,一个总线周期后,DMA归还总线控制权;如果是块传送,连续占用若干个总线周期后,DMA才会归还总线控制权。
数据传送
数据传送期间,DMA控制器会向总线发送读/写命令、向I/O接口发响应信号。真正的数据交互是内存和设备接口,DMA控制器只是负责控制整个数据传送流程。
善后处理
在初始化时,CPU便指定了DMA的交换量,而且DMA控制器内部有一个计数器,只有DMA控制器知道传送是否结束。当传送结束时,DMA控制器向CPU发送一个传输完成的中断,CPU重新接管总线的控制权。
热门推荐
人口危机加速逼近!CBO:若无移民,八年后美国将出现人口负增长
人口危机加速逼近!CBO:若无移民,八年后美国将出现人口负增长
小刮擦后报警,你做对了吗?
停车刮擦后要不要报警?教你正确处理!
交通事故报警时效,你真的了解吗?
擦车后58小时才报警,到底还有用吗?
牛黄解毒片成人使用指导说明
全网最齐!自驾川藏线看这篇就够了
夏季大角湾景区有哪些好玩的项目
昆明市免费婚检:梅毒检测与隐私权如何平衡?
段煨:历史上的杰出将领
法国史学家蒂耶里•朗茨揭秘:滑铁卢战役的真相
滑铁卢战役:拿破仑的最后荣光
武则天与太平公主:母爱与权力的交织
进入时间窗口,江门打开珠西“海陆空铁”新格局
设计师“八仙过海” 这些站房设计让春运旅途更便捷
春运·小事中的改革|广场上多了新“岗位”:交通小贴士
春节头像女生素来挑剔,今年有哪些新选择?
别再用冰箱直接冷冻水果了,这样做才能保持口感和营养
草莓的保鲜秘密:从储存到食用的全方位指南
草莓的保鲜秘密(多久不坏?如何保存?最佳时间?)
《金钱的社会意义》:揭示金钱背后的人性与社会关系
解锁精彩故事的秘密:小说写作的五大要素
新乡最美打卡地:八里沟&万仙山
新乡自驾游:5天4晚深度游,玩转太行山水与古镇风情!
探访新乡:竹林七贤与比干庙的文化之旅
揭秘血糖仪误差多少为正常!三诺血糖仪准不准一目了然!
新型农村合作医疗:如何破解资金难题?
腰椎盘突出膏药贴哪?使用方法与注意事项全解析
感冒不注意,会不会拖成心肌炎?答案是……