解释计算机体系结构中的各种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会重叠其内部服务并使用系统,但几乎每个周期都使用。