在第二遍复习计算机组成原理的时候,注意到这连个概念的相似性。
DMA(Direct Memory Access)传送和总线猝发(Bus Burst)传送都是计算机系统中用于提高数据传输效率的技术,但它们的工作原理和应用场景存在一些区别。
总线猝发传输
总线猝发传送是一种在总线上传送多个连续字节的技术。
计算总线传输的时间时除了计算数据传输的时间还要额外加上一个地址传输的是时间。
- 在总线猝发传送中,数据被连续地传输到总线上,而不需要每个数据都进行地址和控制信号的传输。
- 总线猝发传送利用了数据的局部性原理,通过在首次传输时提供地址和控制信息,然后连续传输多个数据,减少了总线事务的开销。
- 总线猝发传送通常用于高速缓存、内存等组件之间的数据传输,以提高数据传输的效率。
DMA传输
DMA是直接内存访问的缩写,是一种计算机技术,它允许设备绕过CPU,直接访问主存储器。
- DMA传送通常用于大量数据的批量传输,如磁盘读写、网络数据传输等。
- DMA传送需要在CPU和DMA控制器之间进行一次或多次的交互,以设置传输参数和控制传输过程。
- DMA传送是在CPU和外设之间进行直接内存访问传输,如磁盘驱动器与内存之间的数据传输。
两者区别
- DMA是异步的,而总线猝发传送是同步的。DMA意味着设备可以独立于CPU访问内存,而总线猝发传送意味着设备必须等待CPU完成对总线的访问。
- DMA传送通常用于大量数据的批量传输,而总线猝发传送主要用于组件之间的高速数据传输。
- DMA传送的主体是外设,总线猝发传送的主体是CPU。DMA主导内存访问,总线猝发主导由CPU主导内存访问。
- DMA传送利用设备寄存器来控制传输,总线猝发利用专用的总线控制器和cache一致性机制来控制传输。
- DMA传送是通过将数据传输的责任从CPU转移到DMA控制器来提高传输效率,而总线猝发传送是一种优化总线传输的技术。
两者联系
- DMA传送和总线猝发传送都是用于提高数据传输效率的技术。它们都可以减少传输的开销时间,并提高整体系统性能。
总之,DMA和总线猝发都是通过直接内存访问的方式来提高系统性能,但DMA着眼点在外设与内存之间,总线猝发着眼点在CPU与内存之间的优化。