DMA有兩種方式,一種是查詢方式,一種是中斷方式。是問這兩種方式有什麼區別麼?查詢方式是通過查詢標誌位來判定DMA結束,中斷方式是DMA結束的時候返回中斷,在程序中不需要一直查詢標誌位。 DMA與中斷的區別 ⑴中斷方式是在數據緩衝寄存器滿之後發出中斷,要求CPU進行中斷處理,而DMA方式則是在所要求傳送的數據塊全部傳送結束時要求CPU進行中斷處理。這就大大減少了CPU進行中斷處理的次數。 ⑵中斷方式的數據傳送是在中斷處理時由CPU控制完成的,而DMA方式則是在DMA控制器的控制下,不經過CPU控制完成的。這就排除了CPU因并行設備過多而來不及處理以及因速度不匹配而造成數據丟失等現象。 DMA方式的優缺點 在DMA方式中,由於I/O設備直接同內存發生成塊的數據交換,因此I/O效率比較高。由於DMA技術可以提高I/O效率,因此在現代計算機系統中,得到了廣泛的應用。許多輸入輸出設備的控制器,特別是塊設備的控制器,都支持DMA方式。 通過上述分析可以看出,DMA控制器功能的強弱,是決定DMA效率的關鍵因素。DMA控制器需要為每次數據傳送做大量的工作,數據傳送單位的增大意味著傳送次數的減少。另外,DMA方式竊取了始終週期,CPU處理效率降低了,要想盡量少地竊取始終週期,就要設法提高DMA控制器的性能,這樣可以較少地影響CPU出理效率。四、通道方式 輸入/輸出通道是一個獨立於CPU的,專門管理I/O的處理機,它控制設備與內存直接進行數據交換。它有自己的通道指令,這些通道指令由CPU啟動,並在操作結束時向CPU發出中斷信號,見圖6-3。 輸入/輸出通道控制是一種以內存為中心,實現設備和內參內直接交換數據的控制方式。在通道方式中,數據的傳送方向、存放數據的內存起始地址以及傳送的數據塊長度等都由通道來進行控制。 另外,通道控制方式可以做到一個通道控制多臺設備與內存進行數據交換。因而,通道方式進一步減輕了CPU的工作負擔,增加了計算機系統的并行工作程度。 輸入/輸出通道分類 按照信息交換方式和所連接的設備種類不同,通道可以分為以下三種類型: ⑴字節多路通道 它適用於連接打印機、終端等低速或中速的I/O設備。這種通道以字節為單位交叉工作:當為一臺設備傳送一個字節後,立即轉去為另一它設備傳送一個字節。 ⑵選擇通道 它適用於連接磁盤、磁帶等高速設備。這種通道以“組方式”工作,每次傳送一批數據,傳送速率很高,但在一段時間只能為一臺設備服務。每當一個I/O請求處理完之後,就選擇另一臺設備併為其服務。 ⑶成組多路通道 這種通道綜合了字節多路通道分時工作和選擇通道傳輸速率高的特點,其實質是:對通道程序採用多道程序設計技術,使得與通道連接的設備可以并行工作。
DMA有兩種方式,一種是查詢方式,一種是中斷方式。是問這兩種方式有什麼區別麼?查詢方式是通過查詢標誌位來判定DMA結束,中斷方式是DMA結束的時候返回中斷,在程序中不需要一直查詢標誌位。 DMA與中斷的區別 ⑴中斷方式是在數據緩衝寄存器滿之後發出中斷,要求CPU進行中斷處理,而DMA方式則是在所要求傳送的數據塊全部傳送結束時要求CPU進行中斷處理。這就大大減少了CPU進行中斷處理的次數。 ⑵中斷方式的數據傳送是在中斷處理時由CPU控制完成的,而DMA方式則是在DMA控制器的控制下,不經過CPU控制完成的。這就排除了CPU因并行設備過多而來不及處理以及因速度不匹配而造成數據丟失等現象。 DMA方式的優缺點 在DMA方式中,由於I/O設備直接同內存發生成塊的數據交換,因此I/O效率比較高。由於DMA技術可以提高I/O效率,因此在現代計算機系統中,得到了廣泛的應用。許多輸入輸出設備的控制器,特別是塊設備的控制器,都支持DMA方式。 通過上述分析可以看出,DMA控制器功能的強弱,是決定DMA效率的關鍵因素。DMA控制器需要為每次數據傳送做大量的工作,數據傳送單位的增大意味著傳送次數的減少。另外,DMA方式竊取了始終週期,CPU處理效率降低了,要想盡量少地竊取始終週期,就要設法提高DMA控制器的性能,這樣可以較少地影響CPU出理效率。四、通道方式 輸入/輸出通道是一個獨立於CPU的,專門管理I/O的處理機,它控制設備與內存直接進行數據交換。它有自己的通道指令,這些通道指令由CPU啟動,並在操作結束時向CPU發出中斷信號,見圖6-3。 輸入/輸出通道控制是一種以內存為中心,實現設備和內參內直接交換數據的控制方式。在通道方式中,數據的傳送方向、存放數據的內存起始地址以及傳送的數據塊長度等都由通道來進行控制。 另外,通道控制方式可以做到一個通道控制多臺設備與內存進行數據交換。因而,通道方式進一步減輕了CPU的工作負擔,增加了計算機系統的并行工作程度。 輸入/輸出通道分類 按照信息交換方式和所連接的設備種類不同,通道可以分為以下三種類型: ⑴字節多路通道 它適用於連接打印機、終端等低速或中速的I/O設備。這種通道以字節為單位交叉工作:當為一臺設備傳送一個字節後,立即轉去為另一它設備傳送一個字節。 ⑵選擇通道 它適用於連接磁盤、磁帶等高速設備。這種通道以“組方式”工作,每次傳送一批數據,傳送速率很高,但在一段時間只能為一臺設備服務。每當一個I/O請求處理完之後,就選擇另一臺設備併為其服務。 ⑶成組多路通道 這種通道綜合了字節多路通道分時工作和選擇通道傳輸速率高的特點,其實質是:對通道程序採用多道程序設計技術,使得與通道連接的設備可以并行工作。