質問: ドライバーがロードされる前に、cpuはgpuとどのように通信しますか? 私が理解しているように、gpuには独自の命令セットがあり、その命令はグラフィックスドライバーによって生成されます。次に、gpu命令がgpuに送信されます。では、ドライバーがロードされる前にグラフィックス通信はどのように機能するのでしょうか?コンピューターが基本的な表示タスクを実行できるようにするために、gpuが最低限実装する必要のある基本命令はありますか?
回答: 「基本的な指示はありますか...?」はい、正確に。すべてのgpuは、いくつかのシンプルなインターフェイスの1つを実装する必要があります-それらは「命令セット」と呼ばれるには原始的すぎる-osに含まれているプラットフォームファームウェア(「bios」または「uefi」)とドライバーはどのように対話するかを知っています。最近の「単純なインターフェース」の通常の選択は「vga」(「ビデオグラフィックスアレイ」)で、これは元々その規格のビデオカード用に定義されたレジスタレベルのインターフェースです。 (今30歳以上!)たとえば、windowsシステムのデバイスマネージャーがグラフィックカードを「microsoft basic video adapter」として識別した場合、osはカードの特定のドライバーを見つけることができず、代わりにvga互換ドライバーをロードしました。まあ、技術的には、windowsがalwaysでそのドライバをロードし(たとえば、ブートの進行状況画面を表示できるように)、次に(ブートのかなり遅い段階で)識別してロードしますグラフィックカードの「実際の」ドライバ。vga規格は、いくつかの低解像度グラフィックスモードとテキストモードのみをサポートし、gpuで「実行中のプログラム」または「命令」と呼んでもかまいません。本質的に、システムファームウェアまたは「ベースビデオドライバー」は、それを目的のモードに設定して、ビットマップにビットを書き込みます。ビットマップのビットは、画面上のピクセルに直接対応しています。線または曲線を描くために実行する必要があるすべての演算は、cpuで実行されます。これは、ものを画面に表示するための非常に低レベルで遅い方法です。ただし、osのインストールや初期のブート進行画面など、ファームウェアからの表示やファームウェアとの簡単なやり取りには十分です。 wikipedia:video graphics array