解釋計算機體系結構中各種DMA傳輸模式?
DMA代表直接記憶體訪問 (Direct Memory Access)。它是一種硬體控制的資料傳輸方法。外部裝置可以控制資料傳輸。外部裝置建立地址和控制訊號,這些訊號是控制資料傳輸所必需的。外部裝置還使外圍裝置可以直接訪問記憶體。控制資料傳輸的外部裝置稱為DMA控制器。
DMA資料傳輸有三種不同的模式,如下所示:
突發模式 (Burst Mode) − 在突發模式下,整個資料塊在一個連續的序列中共享。由於CPU允許DMA控制器訪問系統匯流排,因此它在較早地將系統匯流排的控制權交還給CPU之前,傳送資料塊中的所有位元組資料。此模式有利於將程式或資料記錄載入到記憶體中,但它確實會使CPU在相當長的時間內處於非活動狀態。
迴圈竊取模式 (Cycle Stealing mode) − 在迴圈竊取模式下,DMA控制器像突發模式一樣獲得對系統匯流排的訪問許可權,使用BR和BG訊號。它可以共享一個位元組的資訊,然後取消斷言BR,將系統匯流排的控制權返回給CPU。在共享其整個資料塊之前,它已經透過BR發出請求,每次請求共享一個位元組的資訊。
透過頻繁地獲得和釋放對系統匯流排的控制,DMA控制器實質上交織了指令和資料傳輸。CPU處理一條指令,然後DMA控制器傳送一個數據值,然後CPU處理另一條指令,然後DMA控制器傳送另一個數據值,等等。
透明模式 (Transparent Mode) − 透明模式需要最多時間來共享資料塊,但在整個系統性能方面也很重要。在透明模式下,DMA控制器僅在CPU執行不使用系統匯流排的操作時才共享資料。例如,相對簡單的CPU具有多個狀態,這些狀態僅在CPU內部更改或處理資料:
NOP1:(No Operation) LDAC5:AC←DR JUMP3:PC←DR,TR CLAC1:AC←0,Z←1
透明模式的優點是CPU永遠不會停止執行其程式。DMA傳輸在時間上是互補的。確定CPU何時未使用匯流排的硬體可能非常複雜且成本相對較高。此外,更高階的CPU會重疊其內部服務並幾乎在每個週期都使用系統匯流排。