解释计算机体系结构中的各种DMA传输模式?

DMA 代表直接内存访问。它是一种硬件控制的数据传输方法。外部设备可以控制数据传输。外部设备创建控制数据传输所需的地址和控制信号。外部设备还使外围设备能够直接访问内存。控制数据传输的外部设备称为 DMA 控制器。

DMA 数据传输的三种不同模式如下 -

  • 突发模式- 在突发模式下,整个数据块以一个连续的序列共享。由于 CPU 允许 DMA 控制器访问系统总线,因此它会将数据块中的所有数据字节发送回 CPU。这种模式有利于将程序或数据记录加载到内存中,但它确实使 CPU 长时间处于非活动状态。

  • 循环窃取模式- 在循环窃取模式下,DMA 控制器可以像突发模式一样使用 BR 和 BG 信号访问系统总线。它可以共享一个字节的信息,然后取消断言 BR,将系统总线的控制权返回给 CPU。它已经通过 BR 发出请求,每个请求共享一个字节的信息,就在它共享整个数据块之前。

通过频繁地获得和释放系统总线的控制,DMA 控制器基本上交错指令和数据传输。CPU处理一条指令,然后DMA控制器发送一个数据值,这样CPU处理另一条指令,然后DMA控制器发送另一个数据值,依此类推。

  • 透明模式- 透明模式需要最多的时间来共享数据块,但它在整个系统性能方面也很重要。在透明模式下,DMA 控制器仅在 CPU 执行不使用系统总线的操作时共享数据。例如,相对简单的 CPU 有多个状态,仅在 CPU 内更改或处理数据 -

NOP1:(No Operation)
LDAC5:AC←DR
JUMP3:PC←DR,TR
CLAC1:AC←0,Z←1

透明模式的好处是 CPU 永远不会停止执行它的程序。DMA 传输在时间上是互补的。硬件需要决定 CPU 何时不使用总线可能非常复杂且成本相对较高。此外,更高级的 CPU 会重叠其内部服务并使用系统,但几乎每个周期都使用。