阿摩線上測驗 登入

申論題資訊

試卷:100年 - 100 專技高考_電子工程技師:電子計算機原理#46096
科目:計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)
年份:100年
排序:0

題組內容

三、

申論題內容

⑴詳述 Direct Memory Access(DMA)的工作原理。(10 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

DMA 是一種高效的數據傳輸技術,通過允許 I/O 設備直接訪問內存,大大減少了 CPU 的負擔並提高了數據傳輸效率。儘管增加了硬件複雜性和總線競爭,但其帶來的性能提升在大多數情況下是非常值得的。DMA 技術廣泛應用於各種計算機系統中,特別是在需要高效數據傳輸的場合。

Direct Memory Access(DMA,直接內存存取)是一種允許硬件子系統在不經過CPU的干預下直接訪問系統內存的技術。DMA提高了系統的性能和效率,特別是在大量數據傳輸的場景中,例如從硬盤到內存、從內存到顯示器等。以下是DMA的工作原理和相關概念的詳細說明:

DMA 的工作原理

  1. DMA 控制器(DMA Controller)

    • DMA 控制器是負責管理 DMA 操作的專用硬件,它可以是獨立的芯片,也可以集成在主板或處理器內部。
    • 它管理著與I/O設備和內存之間的數據傳輸,負責設置傳輸的源地址、目標地址、數據的傳輸大小以及傳輸方向。
  2. DMA 通道(DMA Channel)

    • DMA 控制器通常具有多個DMA通道,每個通道可以獨立地管理一次數據傳輸操作。
    • 不同的I/O設備可以使用不同的DMA通道,實現並行數據傳輸。
  3. 工作步驟

    • 初始化
      • CPU 設置 DMA 控制器,指定數據傳輸的源地址、目標地址、傳輸大小和傳輸模式(讀或寫)。
    • 傳輸開始
      • DMA 控制器獲得對系統總線的控制權。這一過程稱為「總線奪取」(Bus Mastering),即 DMA 控制器暫時成為總線的主控設備。
    • 數據傳輸
      • DMA 控制器在不干擾 CPU 的情況下,直接在 I/O 設備和內存之間進行數據傳輸。數據塊從源地址傳輸到目標地址。
    • 傳輸完成
      • 傳輸完成後,DMA 控制器發送中斷信號給 CPU,通知其數據傳輸已完成,CPU 可以繼續執行後續操作。
  4. 模式

    • 單字節傳輸模式(Single Transfer Mode)
      • 每次僅傳輸一個數據單位(如一個字節),傳輸完後CPU會暫時恢復控制權,再次請求後進行下一個字節的傳輸。
    • 塊傳輸模式(Block Transfer Mode)
      • DMA 控制器一次性傳輸整個數據塊,直到所有數據傳輸完成後再釋放總線控制權。
    • 需求傳輸模式(Demand Transfer Mode)
      • 當 I/O 設備需要數據傳輸時,DMA 控制器在每次需求信號的觸發下進行數據傳輸。
    • 輪詢傳輸模式(Burst Transfer Mode)
      • DMA 控制器在獲得總線控制權後,連續進行多個數據單位的傳輸,傳輸完畢後再釋放總線控制權。

優點

  1. 減少CPU負擔

    • DMA 允許 I/O 設備直接與內存交互,減少了 CPU 參與數據傳輸的次數,使 CPU 可以專注於其他任務。
  2. 提高數據傳輸效率

    • 直接內存存取使得數據傳輸速度更快,特別是在大規模數據傳輸的場景中。
  3. 並行處理

    • 多個DMA通道可以同時工作,允許多個數據傳輸操作並行進行,進一步提升系統性能。

缺點

  1. 硬件複雜性
    • DMA 控制器的設計和實現需要額外的硬件資源和設計成本。
  2. 總線競爭
    • DMA 操作會暫時奪取總線控制權,可能會影響其他使用總線的操作,特別是在多設備競爭總線資源時。