Angenommen, ich benutze einen Computer, jeden typischen modernen Computer mehr oder weniger. Ein Gerätetreiber ist für alles verantwortlich, was ich auf meinem Bildschirm sehe, einschließlich der Aktualisierung des Bildschirms während der Eingabe (dies liegt natürlich im Rahmen eines Betriebssystems wie Windows).
Lassen Sie uns dies auf die Ebene reduzieren, auf der es der Hardware egal ist, ob es einen Kernel gibt oder nicht, und nur Anweisungen entgegennimmt.
Woher "wissen" GPUs genau, wie man alles macht? Steuert ein Treiber grundsätzlich jede winzige, intrinsische oder Hardware-Funktion auf Schaltungsebene, die möglich oder erforderlich ist, um Binärdaten für die Anzeige mithilfe spezieller Anweisungen zu berechnen, die ein Treiber bereitstellt?
Wenn ja, verwendet die GPU eine "spezielle" Sprache oder "Assembly", um die an sie gesendeten Anweisungen zu verstehen, wie dies eine CPU tut?
Ich habe zu viele Wissenslücken und es gibt dieses unangenehme "Geheimnis" hinter GPUs und dem direkten Zugriff über Hardware.
Zum Beispiel müssen eine GPU und eine CPU in der Lage sein, sich irgendwie zu verbinden, damit es möglich ist, über eine CPU-Baugruppe auf eine GPU zuzugreifen und die richtigen Daten- / Adressbusse zu implementieren. Ein Gerätehersteller kann es unmöglich machen, außerhalb eines Treibers auf die GPU zuzugreifen, da ein Treiber auch aus kompiliertem Code besteht und die GPU als programmierbare Schaltung mit binären Anweisungen arbeiten muss.
Ich habe diese Art von Fragen gestellt und sie werden heftig schnell gelöscht, ohne Antwort, warum auf vielen Websites. Was ist also das große Geheimnis / Geheimnis hier? Es ist eine Hardware auf einem Motherboard, auf die wie auf jedes andere zugegriffen wird.
Also wirklich ... vorausgesetzt, dies ist hier eine "ok" -Frage in Bezug auf Software und Hardware, kann jeder ohne herstellerspezifische Dateien direkt auf eine GPU zugreifen, da die Dateien nicht magisch sind.
Wie werden GPUs aus der Bare-Metal-Perspektive der direkten Hardware auf hardwarespezifischer Ebene "programmiert"?