Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przypadku 32-bitowych dyskretnych jednostek przetwarzania grafiki (GPU), które nie obsługują BAR o zmiennym rozmiarze lub gdy zmiana rozmiaru buforu ramki BAR kończy się niepowodzeniem, Model Sterownika Wyświetlania Windows (WDDM) v2 oferuje alternatywny mechanizm, dzięki któremu do VRAM dyskretnego GPU można uzyskać wydajny dostęp. W przypadku procesorów GPU, które obsługują programowalną przestrzeń adresową paska (BAR), w WDDM v2 wprowadzono nową funkcję otwarcia hosta CPU dla uproszczenia korzystania z tej funkcji.
Podczas uwidaczniania okna hosta CPU sterownik trybu jądra wypełnia nową strukturę DXGK_CPUHOSTAPERTURE caps dla każdego segmentu obsługującego okno hosta CPU. Definiuje to rozmiar obszaru pamięci hosta procesora, dzięki czemu sterownik może zarezerwować część BAR do celów wewnętrznych. Rozmiar strony jest taki sam jak strony GPU w segmencie pamięci.
Sterownik trybu jądra udostępnia następnie dwa nowe interfejsy sterowników urządzeń (DDI) do zarządzania przestrzenią adresową BAR, w szczególności DxgkDdiMapCpuHostAperture i DxgkDdiUnmapCpuHostAperture.
Pamięć dla tabeli stron, znajdującej się za aperturą hosta procesora, jest zarządzana i konfigurowana przez sterownik na wczesnym etapie inicjalizacji sterownika. Zarówno DxgkDdiMapCpuHostAperture , jak i DxgkDdiUnmapCpuHostAperture powinny działać natychmiast po wyliczeniu segmentu i są używane podczas inicjowania menedżera pamięci wideo, aby zmapować wirtualny adres CPU na katalog strony i tabelę stron procesu stronicowania systemu podczas inicjowania adaptera.
Gdy wymagany jest dostęp procesora do segmentu pamięci, menedżer pamięci wideo rezerwuje strony w przestrzeni apertury hosta procesora i mapuje strony segmentu pamięci za jego pośrednictwem. Przedstawiono to poniżej.
W konfiguracji połączonego adaptera wyświetlacza rzeczy wyglądają podobnie, z wyjątkiem poniższych elementów.
- Alokacja domyślna lub LinkMirrored jest zawsze mapowana na procesor GPU0.
- Alokacje LinkInstanced mają wirtualny zakres adresów AllocationSize*NumberOfGPUInLink skojarzony z nimi, z różnymi częściami alokacji mapowanymi na różne procesory GPU.
Przedstawiono to poniżej: