📅  最后修改于: 2023-12-03 15:40:59.930000             🧑  作者: Mango
直视存储管(Direct Memory Access,简称 DMA)是一种直接访问主存的技术,用于在系统中实现高速数据传输,一般应用于存储器到外设的数据传输。DMA 处理器可以从 I/O 设备直接读取或写入数据而不需要 CPU 的干预,从而大幅度降低了 CPU 的占用率,提高了数据传输的速度和效率。
在计算机体系结构中,有一种传统的架构设计叫做 Input/Output System(I/O System),它主要由 CPU、内存和 I/O 设备三部分组成。当 I/O 设备需要与内存交换数据时,CPU 需要完成以下操作:
这个过程中,CPU 参与了两次拷贝,非常耗费时间和资源。直视存储管的引入,就是为了解决这个问题。
DMA 存在的目的就是为了从数据源快速的传输数据到目标地址,其中包含以下步骤:
CPU 可以轻易地将需要 DMA 部件进行的任务加入到缓冲区中,然后即时返回到取得缓冲区的程序中,以便 CPU 可以继续其它任务。在整个 DMA 过程中,CPU 只需进行一次初始化,然后就可以选择等待 DMA 完成,或者继续执行其它程序。
DMA 被广泛应用于发送数据包、接收数据包、磁盘 I/O、音频采集、视频采集等场景。其中,它最常见的用途是在网络传输协议中,支持高速的数据传输。
通过本文的介绍,我们了解了直视存储管技术的原理、工作方式和应用场景。相较于传统的 I/O System 架构,DMA 可以降低 CPU 占用率、提高数据传输速度和效率,使得计算机系统更加高效稳定。