크기 조정 가능한 BAR를 지원하지 않거나 프레임 버퍼 BAR 크기를 조정하지 못하는 32비트 OS 불연속 GPU(그래픽 처리 장치)의 경우 WDDM(Windows Display Driver Model) v2는 개별 GPU VRAM에 효율적으로 액세스할 수 있는 대체 메커니즘을 제공합니다. 프로그래밍 가능한 BAR 주소 공간을 지원하는 GPU의 경우 해당 기능을 추상화하기 위해 WDDM v2에 새로운 CPU 호스트 조리개 기능이 도입되었습니다.
CPU 호스트 조리개를 노출할 때 커널 모드 드라이버는 CPU 호스트 조리개를 지원하는 모든 세그먼트에 대해 새로운 DXGK_CPUHOSTAPERTURE 캡 구조를 채웁니다. 이는 CPU 호스트 조리개 크기를 정의하며, 이를 통해 드라이버는 내부 용도로 일부 BAR를 예약할 수 있습니다. 페이지 크기는 메모리 세그먼트의 GPU 페이지와 동일합니다.
그런 다음 커널 모드 드라이버는 BAR 주소 공간을 관리하기 위해 두 개의 새로운 디바이스 드라이버 인터페이스(DDI), 특히 DxgkDdiMapCpuHostAperture 및 DxgkDdiUnmapCpuHostAperture를 노출합니다.
CPU 호스트 조리개 뒤에 있는 페이지 테이블의 메모리는 드라이버에서 관리하며 드라이버 초기화 중 초기에 설치됩니다. DxgkDdiMapCpuHostAperture와 DxgkDdiUnmapCpuHostAperture는 모두 세그먼트 열거 직후에 작동할 것으로 예상되며, 비디오 메모리 관리자 초기화 중에 CPU 가상 주소를 어댑터 초기화 중에 시스템 페이징 프로세스의 페이지 디렉터리 및 페이지 테이블에 매핑하는 데 사용됩니다.
CPU가 메모리 세그먼트에 접근해야 할 때, 비디오 메모리 관리자는 CPU 호스트 어퍼처에서 페이지를 예약하고, 그를 통해 메모리 세그먼트 페이지를 매핑합니다. 아래에 설명되어 있습니다.
연결된 디스플레이 어댑터 구성에서는 다음을 제외하고 유사하게 표시됩니다.
- 기본 또는 LinkMirrored 할당은 항상 GPU0에 매핑됩니다.
- LinkInstanced 할당은 할당의 다양한 부분이 다른 GPU에 매핑되는 AllocationSize*NumberOfGPUInLink와 관련된 가상 주소 범위를 가지고 있습니다.
다음은