DMA方式与中断方式

1. ‌DMA方式的基本概念‌‌

DMA方式,Direct Memory Access,也称为成组数据传送方式,有时也称为直接内存操作。DMA方式是一种数据传输机制,通过DMA控制器接管CPU对总线的控制权,直接在内存和I/O设备之间进行数据交换。DMA方式在数据传送过程中,没有保存现场、恢复现场之类的工作。

由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。内存地址修改、传送字 个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。这种方式避免了CPU在数据传输过程中的干预,从而提高了数据传输的效率。

2. ‌DMA方式的工作原理

  • 数据传输过程‌:在DMA方式下,数据直接从I/O设备传输到内存,或从内存传输到I/O设备,而不经过CPU。DMA控制器负责管理数据传输的地址、计数和控制信号。
  • CPU的参与‌:CPU仅在数据传输的开始和结束阶段进行干预,例如设置传输参数和处理中断。

3. ‌DMA方式的特点

  • 高效性‌:由于数据传输不经过CPU,减少了CPU的开销,提高了系统的整体效率。
  • 并行性‌:在数据传输过程中,CPU可以继续执行其他任务,实现了CPU和I/O设备的并行工作。
  • 硬件开销大‌:DMA方式需要额外的硬件支持,如DMA控制器,因此硬件开销较大。

4. ‌DMA方式的应用场景

DMA方式适用于需要高速、大批量数据传输的场景,如磁盘机、磁带机、高速通信设备等。
DMA传输方式 (传输方式:IPsec的一种操作方式。它加密每个分组的数据部分,但不改变头部) 只是减轻了CPU的工作负担;系统总线仍然被占用。特别是在传输大容量文件时,CPU的占用率可能不到10%,但是用户会觉得运行部分程序时系统变得相当的缓慢。主要原因就是在运行这些应用程序(特别是一些大型软件),操作系统也需要从系统总线传输大量数据;故造成过长的等待时间

传送方式

5. ‌DMA方式与中断方式的区别

  • 中断方式‌:每次数据传输后都会触发中断,CPU需要频繁干预,适用于低速、小批量数据传输。
  • DMA方式‌:仅在数据传输的开始和结束阶段触发中断,减少了CPU的干预次数,适用于高速、大批量数据传输。

6. ‌DMA方式的步骤

  • 预处理阶段‌:CPU设置DMA控制器的参数,如起始地址、数据长度等。
  • 正式传送阶段‌:DMA控制器接管总线,进行数据传输。
  • 后处理阶段‌:数据传输完成后,DMA控制器会以中断的方式通知CPU可以使用内存,并把总线控制权交还给CPU。在这种DMA传送过程中,CPU基本处于不工作状态或者说保持状态。
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!