回覆列表
  • 1 # 使用者8694574558510

    IOMMU作用。

    IOMMU允許系統裝置在虛擬記憶體中進行定址,也就是將虛擬記憶體地址對映為物理記憶體地址,讓實體裝置可以在虛擬的記憶體環境中工作,這樣可以幫助系統擴充記憶體容量,提升效能。

    什麼是IOMMU?

    在計算機領域,IOMMU(Input/Output Memory Management Unit)是一個記憶體管理單元(Memory Management Unit),它的作用是連線DMA-capable I/O匯流排(Direct Memory Access-capable I/O Bus)和主存(main memory)。傳統的記憶體管理單元會把CPU訪問的虛擬地址轉化成實際的物理地址。而IOMMU則是把裝置(device)訪問的虛擬地址轉化成物理地址。為了防止裝置錯誤地訪問記憶體,有些IOMMU還提供了訪問記憶體保護機制。參考下圖:

    IOMMU的一個重要用途是在虛擬化技術(virtualization):虛擬機器上執行的作業系統(guest OS)通常不知道它所訪問的host-physical記憶體地址。如果要進行DMA操作,就有可能破壞記憶體,因為實際的硬體(hardware)不知道guest-physical和host-physical記憶體地址之間的對映關係。IOMMU根據guest-physical和host-physical記憶體地址之間的轉換表(translation table),re-mapping硬體訪問的地址,就可以解決這個問題。

    另外,在AMD的VIRTUALIZING IO THROUGH THE IO MEMORY MANAGEMENT UNIT (IOMMU)文件中,也有一個更全面的總結圖:

    參考資料:

    IOMMU。

  • 中秋節和大豐收的關聯?
  • 什麼植物能吞噬癌細胞?