目錄
學習重點
- DMA接口與中斷接口比較
- DMA與主存交換數據三種方式
- 停止CPU訪問主存
- 周期竊取(周期挪用)
- 交替訪問
- DMA接口功能
- DMA接口組成
- DMA工作過程
- 預處理
- 傳送過程
- 后處理
- DMA與主機連接方式
- 鏈式(公共請求線)
- 獨立DMA請求
- DMA與中斷比較
- DMA接口類型
- 選擇型
- 多路型
1.DMA接口與中斷接口比較
DMA:直接存儲器訪問(Direct Memory Access)
兩種方式數據傳送方式區別:
2.DMA和主存交換數據的三種方式
-
停止CPU訪問主存
- 優缺點:
控制簡單,但是沒有充分發揮CPU對主存利用率 - 示意圖:
- 優缺點:
-
周期挪用(周期竊取)
-
示意圖1:
-
示意圖2:
-
CPU與DMA同時訪問主存時:
cpu將總線控制權讓給DMA
-
-
DMA與cpu交替訪問:(不常用)
將周期分為兩段,一段專供CPU訪問,一段專供DMA訪問:
3.DMA接口功能
- 向cpu申請DMA傳送
- 處理總線控制權的移交
- 管理系統總線,控制數據傳送
- 確定數據傳送的首地址和長度(AR,WC)
- DMA傳送結束時,給出操作結束的信號
4.DMA接口組成
功能決定組成:
- AR:主存地址寄存器
- WC:字計數器,初始值為要傳送的總字數,傳送一個字-1,為0時(溢出)向中斷端機構發送溢出信號
- DAR:設備地址寄存器
- BR:數據緩沖寄存器
- DMA控制邏輯:管理數據傳送過程
- DREQ:申請DMA傳送
- HRQ:向cpu申請DMA服務
- HLDA:cpu響應
- DACK:通知設備已被授予一個DMA周期
- 中斷機構:
報告一批數據傳送完畢
5.DMA工作過程
預處理—>數據傳送—>后處理
-
預處理:
- 通知DMA控制邏輯數據傳送方向(輸入/輸出)
- 設備地址—>DAR
- 主存地址—>AR
- 傳送字數—>WC
-
數據傳送過程:
流程圖:
輸入:
輸出:
-
后處理:
- 檢驗傳送的數據是否正確
- 檢測傳送過程是否正確(中斷服務程序)
- 是否繼續使用DMA
-
整體流程圖:
6.DMA與系統連接方式
-
鏈式:公共請求線
-
獨立DMA請求:
7.DMA與中斷比較
8.DMA接口類型
-
選擇型
-
多路型
-
多路型DMA工作原理: