Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka popisuje model IoMmu zavedený v WDDM 2.0. Další nejnovější aktualizace IOMMU najdete v tématu Izolace GPU založené na IOMMU a přemapování ioMMU DMA .
Přehled
Jednotka pro správu paměti Input-Output (IOMMU) je hardwarová komponenta, která připojuje vstupně-výstupní sběrnici DMA se systémovou pamětí. Mapuje virtuální adresy viditelné pro zařízení na fyzické adresy, což usnadňuje virtualizaci.
V modelu IoMMU WDDM 2.0 má každý proces jeden virtuální adresní prostor, který je:
- Sdílí se mezi procesorem a GPU.
- Spravuje správce paměti operačního systému.
Pokud chcete získat přístup k paměti, GPU odešle žádost o data do kompatibilního objektu IOMMU. Požadavek zahrnuje sdílenou virtuální adresu a identifikátor adresního prostoru procesu (PASID). IoMMU provádí překlad adres pomocí tabulky sdílených stránek. Tato akce je znázorněna v následujícím diagramu.
Ovladač zobrazení v režimu jádra (KMD) vyjadřuje podporu modelu IoMmu nastavením limitu DXGK_VIDMMCAPS::IoMmuSupported . Když je tento příznak nastaven, správce paměti videa (VidMm) automaticky zaregistruje jakýkoli proces s procesorem GPU pomocí IOMMU a získá PASID v adresním prostoru tohoto procesu. PASID se předá ovladači během vytváření zařízení.
VidMm mapuje primární přidělení do segmentu clony před zobrazením a zajišťuje, že řadič zobrazení má k těmto přidělením fyzický přístup.
V modelu IoMmu bude ovladač zobrazení v uživatelském režimu (UMD) nadále přidělovat grafickému procesoru paměť pomocí služby VidMm Allocate . Tento proces umožňuje UMD:
- Postupujte podle modelu rezidence.
- Podpora modelu sdílení prostředků DirectX
- Před zobrazením se ujistěte, že jsou primární povrchy viditelné pro jádro a mapují se na clonu.
UmD zcela spravuje první úroveň překladu (adresa prostředku dlaždice na sdílenou adresu procesoru nebo GPU) v uživatelském režimu.