Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan model GpuMmu , yang diperkenalkan di Windows 10 (WDDM 2.0).
Dalam model GpuMmu, GPU memiliki unit manajemen memori (MMU) sendiri yang menerjemahkan alamat virtual GPU per proses ke alamat fisik.
Setiap proses memiliki ruang alamat virtual CPU dan GPU terpisah yang menggunakan tabel halaman yang berbeda. Manajer memori video (VidMm) mengelola ruang alamat virtual GPU dari semua proses. VidMm juga bertanggung jawab untuk mengalokasikan, menumbuhkan, memperbarui, memastikan residensi, dan membebaskan tabel halaman. Format perangkat keras tabel halaman yang digunakan oleh GPU MMU tidak diketahui oleh VidMm dan diabstraksikan melalui antarmuka driver perangkat keras (DDI). Abstraksi mendukung terjemahan tingkat multitingkat, termasuk tabel halaman ukuran tetap dan tabel halaman akar yang dapat diubah ukurannya.
Meskipun VidMm bertanggung jawab untuk mengelola ruang alamat virtual GPU dan tabel halaman yang mendasarnya, VidMm tidak secara otomatis menetapkan alamat virtual GPU ke alokasi. Tanggung jawab ini jatuh pada driver mode pengguna (UMD).
VidMm menawarkan dua layanan utama ke UMD:
Alokasi memori dan dealokasi UMD dapat mengalokasikan memori video melalui panggilan balik Alokasi yang ada dan membebaskan memori tersebut melalui panggilan balik Deallocate yang ada. Allocate mengembalikan handle untuk alokasi VidMm kepada UMD. Mesin GPU dapat beroperasi pada penanganan ini. Alokasi semacam itu mengacu khusus pada memori video fisik, yang dapat diakses dan diproses mesin GPU melalui daftar alokasi.
Manajemen ruang alamat virtual GPU. Untuk mesin yang berjalan dalam mode virtual, alamat virtual GPU perlu ditetapkan secara eksplisit ke alokasi sebelum dapat diakses secara virtual. Untuk tujuan ini, VidMm menawarkan layanan UMD untuk memesan atau gratis alamat virtual GPU dan untuk memetakan rentang alokasi tertentu ke ruang alamat virtual GPU dari suatu proses. Layanan ini fleksibel dan memungkinkan kontrol terperinci UMD atas ruang alamat virtual GPU dari sebuah proses. UMD dapat memutuskan untuk menetapkan alamat virtual GPU tertentu ke alokasi, atau membiarkan VidMm secara otomatis memilih yang tersedia, mungkin menentukan beberapa batasan alamat virtual GPU min dan maks. Satu alokasi dapat memiliki beberapa pemetaan alamat virtual GPU yang terkait dengannya dan layanan disediakan kepada UMD untuk menerapkan kontrak Sumber Daya Petak.
Demikian pula, dalam konfigurasi adaptor tampilan terhubung, UMD dapat secara eksplisit memetakan alamat virtual GPU ke instans alokasi tertentu. Untuk setiap pemetaan, UMD dapat memilih apakah pemetaan sebaiknya diarahkan ke diri sendiri atau ke GPU rekan tertentu. Dalam model ini, alamat virtual CPU dan GPU yang ditetapkan ke alokasi bersifat independen. UMD dapat memutuskan untuk menjaganya tetap sama di kedua ruang alamat atau mempertahankannya secara independen.
Alamat virtual GPU dikelola secara logis pada granularitas halaman 4 KB tetap melalui antarmuka DDI. Alamat virtual GPU dapat mereferensikan alokasi yang berada di segmen memori atau memori sistem. Memori sistem dikelola pada granularitas fisik 4 KB sementara segmen memori dikelola pada 4 KB atau 64 KB pada pilihan driver. Semua alokasi VidMm diselaraskan dan ukurannya menjadi kelipatan dari ukuran halaman yang dipilih oleh driver.
Akses ke rentang alamat virtual GPU yang tidak valid mengakibatkan pelanggaran akses dan penghentian konteks dan/atau perangkat yang menyebabkan kesalahan akses. Untuk memulihkan dari kesalahan seperti itu, VidMm memulai penyetelan ulang mesin yang kemudian dapat meningkat menjadi pemulihan deteksi batas waktu skala adaptor (TDR) jika tidak berhasil.
Model GpuMmu diilustrasikan dalam diagram berikut: