Katakanlah saya menggunakan komputer, komputer modern tipikal apa pun kurang lebih. Driver perangkat bertanggung jawab untuk semua yang saya lihat di layar saya, termasuk tepat saat saya mengetik ini layar diperbarui (ini, tentu saja, dalam lingkup OS, seperti Windows).
Mari kita turunkan ke tingkat di mana perangkat keras tidak peduli jika ada kernel atau tidak, dan hanya mengambil instruksi.
Pada dasarnya, bagaimana GPU "tahu" persis bagaimana melakukan semuanya? Apakah pengemudi pada dasarnya mengendalikan setiap fungsi tingkat sirkuit sangat kecil, intrinsik, atau perangkat keras mungkin atau diperlukan untuk menghitung data biner untuk tampilan menggunakan instruksi khusus yang disediakan oleh pengemudi?
Jika demikian, apakah GPU menggunakan bahasa "khusus" atau "perakitan" untuk memahami instruksi yang dikirim kepadanya seperti halnya CPU?
Saya memiliki terlalu banyak celah dalam pengetahuan saya, dan ada "misteri" yang tidak menyenangkan ini di belakang GPU dan mengaksesnya secara langsung melalui perangkat keras.
Misalnya, GPU dan CPU harus dapat terhubung entah bagaimana, sehingga dimungkinkan untuk mengakses GPU melalui perakitan CPU dan mengimplementasikan bus data / alamat yang benar. Tidak mungkin vendor perangkat tidak dapat mengakses GPU di luar driver, karena driver juga mengkompilasi kode, dan GPU, sebagai sirkuit yang dapat diprogram, harus bekerja dengan instruksi biner.
Saya telah menanyakan pertanyaan-pertanyaan semacam ini dan mereka dihapus dengan sangat cepat tanpa jawaban mengapa di banyak situs, jadi apa misteri / rahasia besarnya di sini? Ini adalah perangkat keras pada motherboard yang diakses seperti yang lain.
Jadi benar-benar ... dengan asumsi ini adalah pertanyaan "ok" di sini mengenai perangkat lunak dan perangkat keras, siapa pun dapat langsung mengakses GPU tanpa file khusus vendor, karena file tersebut tidak ajaib.
Jadi bagaimana GPU "diprogram" dari perspektif perangkat keras langsung, tanpa logam, pada tingkat spesifik perangkat keras?