Supponiamo che io stia usando un computer, qualsiasi computer moderno tipico più o meno. Un driver di dispositivo è responsabile di tutto ciò che vedo sul mio schermo, incluso mentre lo digito, lo schermo viene aggiornato (questo, ovviamente, rientra nell'ambito di un sistema operativo, come Windows).
Portiamo questo al livello in cui all'hardware non importa se c'è un kernel o no, e prende semplicemente le istruzioni.
Fondamentalmente, come fanno le GPU a "sapere" esattamente come fare tutto? Un driver controlla sostanzialmente ogni funzione minuscola, intrinseca o hardware a livello di circuito possibile o necessaria per calcolare i dati binari per la visualizzazione utilizzando istruzioni speciali fornite da un driver?
In tal caso, la GPU utilizza un linguaggio "speciale" o "assembly" per comprendere le istruzioni che le vengono inviate come fa una CPU?
Ho troppe lacune nelle mie conoscenze e c'è questo "mistero" spiacevole dietro le GPU e accedendo direttamente tramite hardware.
Ad esempio, una GPU e una CPU devono essere in grado di connettersi in qualche modo, quindi è possibile accedere a una GPU tramite un assieme di CPU e implementare i bus di dati / indirizzo corretti. Non è possibile che un fornitore di dispositivi possa rendere impossibile l'accesso alla GPU al di fuori di un driver, poiché un driver è anche codice compilato e la GPU, come circuito programmabile, deve funzionare con istruzioni binarie.
Ho fatto questo tipo di domande e vengono cancellate in modo violento rapidamente senza risposta perché su molti siti, quindi qual è il grande mistero / segreto qui? È un componente hardware su una scheda madre a cui si accede come un altro.
Quindi davvero ... supponendo che questa sia una domanda "ok" qui relativa a software e hardware, chiunque può accedere direttamente a una GPU senza file specifici del fornitore, perché i file non sono magici.
Quindi, come vengono "programmate" le GPU dal punto di vista hardware diretto e bare metal a livello specifico dell'hardware?