工作拖延,反而可以被重新排程去處理其他的工作。dma
演算法和網路是很重要的。
在實現dma傳輸時,是由dma控制器直接掌管匯流排,因此,存在著乙個匯流排控制權轉移問題。即dma傳輸前,cpu要把匯流排控制權交給dma控制器,而在結束dma傳輸後,dma控制器應立即把匯流排控制權再交回給cpu。
<1>、 乙個完整的dma傳輸過程必須經過下面的4個步驟 :
1、dma請求
cpu對dma控制器初始化,並向i/o介面發出操作命令,i/o介面提出dma請求。
2、dma響應
dma控制器對dma請求判別優先順序及遮蔽,向匯流排裁決邏輯提出匯流排請求。當cpu執行完當前匯流排週期即可釋放匯流排控制權。此時,匯流排裁決邏輯輸出匯流排應答,表示dma已經響應,通過dma控制器通知i/o介面開始dma傳輸。
3、dma傳輸
的參與。開始時需提供要傳送的資料的起始位置和資料長度。
4、dma結束
當完成規定的成批資料傳送後,dma控制器即釋放匯流排控制權,並向i/o介面發出結束訊號。當i/o介面收到結束訊號後,一方面停 止i/o裝置的工作,另一方面向cpu提出中斷請求,使cpu從不介入的狀態解脫,並執行一段檢查本次dma傳輸操作正確性的**。最後,帶著本次操作結果及狀態繼續執行原來的程式。
由此可見,dma傳輸方式無需cpu直接控制傳輸,也沒有中斷處理方式那樣保留現場和恢復現場的過程,通過硬體為ram與i/o裝置開闢一條直接傳送資料的通路,使cpu的效率大為提高。
<2>
、dma傳送方式
dma技術的出現,使得外圍裝置可以通過dma控制器直接訪問記憶體,與此同時,cpu可以繼續執行程式.那麼dma控制器與cpu怎樣分時使用記憶體呢?通常採用以下三種方法:(1)停止cpu訪記憶體;(2)週期挪用;(3)dma與cpu交替訪記憶體.
1.停止cpu訪問記憶體
當外圍裝置要求傳送一批資料時,由dma控制器發乙個停止訊號給cpu,要求cpu放棄對位址匯流排、資料匯流排和有關控制匯流排的使用權.dma控制器獲得匯流排控制權以後,開始進行資料傳送.在一批資料傳送完畢後,dma控制器通知cpu可以使用記憶體,並把匯流排控制權交還給cpu.圖(a)是這種傳送方式的時間圖.很顯然,在這種dma傳送過程中,cpu基本處於不工作狀態或者說保持狀態.
記憶體的儲存週期小於0.5us,因
此許多空閒的儲存週期不能被cpu利用.
2.週期挪用
:當i/o裝置沒有dma請求時,cpu按程式要求訪問記憶體;一旦i/o裝置有dma請求,則由i/o裝置挪用乙個或幾個記憶體週期。
這種傳送方式的時間圖如下圖(b):
來說一般要2—5個記憶體週期(視邏輯線路的延遲而定)。因此,週期挪用的方法適用於i/o裝置讀寫週期大於記憶體儲存週期的情況。
3.dma與cpu交替訪內
如果cpu的工作週期比記憶體訪問周期長很多,此時採用交替訪內的方法可以使dma傳送和cpu同時發揮最高的效率。
這種傳送方式的時間圖如下:
的dma」方式,其來由是這種dma傳送對cpu來說,如同透明的玻璃一般,沒有任何感覺或影響。在透明的dma方式下工作,cpu既不停止主程式的執行,也不進入等待狀態,是一種高效率的工作方式。當然,相應的硬體邏輯也就更加複雜。
計算機 DMA原理2
dma direct memory access,直接記憶體訪問 是所有現代電腦的重要特色,它允許不同速度的硬體裝置來溝通,而不需要依賴於 cpu 的大量中斷負載。否則,cpu 需要從 把每一片段的資料複製到 暫存器,然後把它們再次寫回到新的地方。在這個時間中,cpu 對於其他的工作來說就無法使用。...
計算機組成原理 DMA訪問方式
高速大容量儲存器和主存之間交換時,若採用程式直接傳送或程式中斷傳送的方式,則會有如下問題發生。1 採用程式直接傳送,主機工作效率受到限制。2 採用中斷控制資料傳送可以提高主機效率,但用於高速外設和主機交換資訊,會使主機處於頻繁的中斷與返回過程中,從而加重了與中斷有關的額外負擔 即保護舊現場,恢復新現...
計算機原理課程 1
運算器 運算器由算術邏輯單元 alu 累加器 狀態暫存器 通用暫存器組等組成。算術邏輯運算單元 alu 的基本功能為加 減 乘 除四則運算,與 或 非 異或等邏輯操作,以及移位 求補等操作。計算機執行時,運算器的操作和操作種類由控制器決定。運算器處理的資料來自儲存器 處理後的結果資料通常送回儲存器,...