다음을 통해 공유


크기 조정 가능한 BAR에 대한 시스템 및 드라이버 지원

현재 GPU(불연속 그래픽 처리 장치)는 프레임 버퍼의 일부만 PCI 버스에 노출하는 것이 일반적입니다. 32비트 OS와의 호환성을 위해 불연속 GPU는 일반적으로 프레임 버퍼에 대해 256MB I/O 영역을 클레임하며 이는 일반적인 펌웨어가 구성하는 방식입니다.

크기 조정 가능한 BAR(기본 주소 등록)를 지원하는 GPU에서 Windows는 WDDM(Windows 디스플레이 드라이버 모델) v2 이상에서 펌웨어를 초기화한 후 GPU의 BAR 크기를 재협상합니다. 크기 조정 가능한 BAR에 대한 자세한 내용은 PCI SIG 사양 라이브러리의 크기 조정 가능한 BAR 기능 사양을 참조하세요.

크기 조정 가능한 BAR를 지원하는 GPU는 BAR를 다시 프로그래밍하는 동안 디스플레이를 유지하고 정적 이미지를 표시할 수 있는지 확인해야 합니다. 이 프로세스 중에는 디스플레이가 비워진 다음 백업되지 않아야 합니다. 펌웨어 표시 이미지, 부팅 로더 이미지 및 커널 모드 드라이버에서 생성된 첫 번째 이미지 간에 원활하게 전환하는 것이 중요합니다. 재협상이 진행되는 동안 GPU에 대해 PCI 트랜잭션이 발생하지 않습니다.

이 재협상은 커널 모드 드라이버에 거의 보이지 않습니다. 재협상에 성공하면 커널 모드 드라이버는 GPU BAR의 크기가 최대 크기로 조정되어 불연속 GPU의 전체 VRAM을 노출하는 것을 관찰합니다.

크기 조정이 성공하면 커널 모드 드라이버는 단일 CPUVisible 메모리 세그먼트를 비디오 메모리 관리자에 노출해야 합니다. 비디오 메모리 관리자는 CPU가 메모리 세그먼트의 콘텐츠에 액세스해야 하는 경우 CPU 가상 주소를 이 범위에 직접 매핑합니다.