Bagikan melalui


Model GpuMmu

Dalam model GpuMmu , unit pemrosesan grafis (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 mengelola ruang alamat virtual GPU dari semua proses dan bertanggung jawab untuk mengalokasikan, tumbuh, memperbarui, memastikan residensi dan membebaskan tabel halaman. Format perangkat keras tabel halaman, yang digunakan oleh GPU MMU, tidak diketahui oleh manajer memori video dan diabstraksi melalui antarmuka driver perangkat (DDI). Abstraksi mendukung terjemahan tingkat multitingkat, termasuk tabel halaman ukuran tetap dan tabel halaman akar yang dapat diubah ukurannya.

Meskipun manajer memori video bertanggung jawab untuk mengelola ruang alamat virtual GPU dan tabel halaman yang mendasar, manajer memori video tidak secara otomatis menetapkan alamat virtual GPU ke alokasi. Tanggung jawab ini jatuh pada driver mode pengguna.

Manajer memori video menawarkan dua set layanan ke driver mode pengguna. Pertama, driver mode pengguna dapat mengalokasikan memori video melalui panggilan balik Alokasi yang ada dan membebaskan memori tersebut melalui panggilan balik Dealokasi yang ada. Sama seperti hari ini, ini mengembalikan handel driver mode pengguna ke alokasi manajer memori video, yang dapat dioperasikan oleh mesin GPU. Alokasi tersebut hanya mewakili bagian fisik alokasi dan dapat dirujuk oleh mesin, beroperasi secara fisik, melalui referensi daftar alokasi.

Untuk mesin yang berjalan dalam mode virtual, alamat virtual GPU perlu ditetapkan secara eksplisit ke alokasi sebelum dapat diakses secara virtual. Untuk tujuan ini, manajer memori video menawarkan layanan driver mode pengguna untuk memesan atau gratis alamat virtual GPU dan untuk memetakan rentang alokasi tertentu ke dalam ruang alamat virtual GPU dari suatu proses. Layanan ini sangat fleksibel dan memungkinkan kontrol butir halus driver mode pengguna atas ruang alamat virtual GPU proses. Driver mode pengguna dapat memutuskan untuk menetapkan alamat virtual GPU yang sangat spesifik ke alokasi, atau membiarkan manajer memori video secara otomatis memilih yang tersedia, mungkin menentukan beberapa batasan alamat virtual GPU min dan maks. Satu alokasi mungkin memiliki beberapa pemetaan alamat virtual GPU yang terkait dengannya dan layanan disediakan untuk driver mode pengguna untuk mengimplementasikan kontrak Tile Resource.

Demikian pula, dalam konfigurasi adaptor tampilan tertaut, driver mode pengguna dapat secara eksplisit memetakan alamat virtual GPU ke instans alokasi tertentu dan memilih untuk setiap pemetaan apakah pemetaan harus mandiri atau ke GPU serekan tertentu. Dalam model ini, alamat virtual CPU dan GPU yang ditetapkan ke alokasi bersifat independen. Driver mode pengguna dapat memutuskan untuk menjaganya tetap sama di kedua ruang alamat atau menjaganya tetap independen.

Alamat virtual GPU dikelola secara logis pada granularitas halaman 4KB tetap melalui antarmuka DDI. Alamat virtual GPU dapat mereferensikan alokasi, yang merupakan residen baik di segmen memori atau memori sistem. Memori sistem dikelola pada granularitas fisik 4KB sementara segmen memori dikelola pada 4KB atau 64KB pada pilihan driver. Semua alokasi manajer memori video diselaraskan dan berukuran menjadi kelipatan 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, manajer memori video memulai reset mesin yang dipromosikan ke pemulihan deteksi batas waktu luas (TDR) adaptor jika tidak berhasil.

Model GpuMmu diilustrasikan di bawah ini:

Diagram yang menunjukkan model GpuMmu dengan komponen dan interaksinya.