QEMU ソース コード 31 の完全な分析 - マシン (1)

この記事の内容に関する参考文献:

「 Linux オペレーティング システムに関する興味深い話」 —— Liu Chao、Geek Time

QEMU /KVM」ソースコード分析とアプリケーション - Li Qiang、機械産業プレス

どうもありがとうございます!

このシリーズの最初の 30 回の記事を通じて、著者は QEMU の基本的な知識を説明しました。この章から、システムの各コンポーネント ハードウェアのコード解析を正式に開始します。

最初に紹介するのはもちろんマシン、つまりマザーボードとファームウェアのシミュレーションです。対応するファイルは hw/core/machine.c です。コードを説明する前に、QEMU コマンド ラインから始めましょう。QEMU コマンドラインの例は次のとおりです。

-machine pc-i440fx-trusty,accel=kvm,usb=off

コマンドラインの pci-i440fx は、x86 マシンのデフォルトのアーキテクチャです。i440fx について簡単に紹介します。

INTEL 440FX チップセット

Intel 440FX (i440fx) は、Intel が 1996 年に Pentium II (Pentium 2) をサポートするためにリリースしたマザーボード チップで、20 年以上の歴史を持ち、比較的古典的なアーキテクチャです。QEMU はより高度な q35 アーキテクチャのシミュレーションをサポートできるようになりましたが、現在 QEMU はデフォルトで i440fx アーキテクチャを使用しています。

当時、TRITONシリーズチップセットで莫大な利益を得たインテル社は、PENTIUM PROに匹敵する新しいチップセットを生産する必要があったため、気を緩めず、440FXチップセットが誕生しました。このチップセットは、NATOMA として知られる SLOT 1 アーキテクチャに基づいて Intel によって製造された最初のチップセットです。NATOMAは82441FX/82442FX/82371SB/82093AAの4つのチップで構成されています。このうち、82093AA はオプションで 1*64 ピン PQFP にパッケージされ、他の 3 つは 3*208 ピン PQFP にパッケージされます。82093AA チップの役割は、440FX チップセットが 2 つの CPU をサポートし、対称マルチプロセスの独立した I/O APIC 処理をサポートできるようにすることです。NATOMA では、PENTIUM PRO CPU のオンチップ L2 キャッシュがすべてのメモリに対して CACHE 操作を実行できるため、メモリ CACHE 範囲制限の問題がありません。メモリ管理の面でも、NATOMA は大きな進歩を遂げており、1GB のメモリ容量をサポートできます。ただし、残念ながら SDRAM はサポートされていません。さらに、440FX は PIIX3 ハードディスク コントローラを採用し、バス制御をサポートし、最大データ転送速度は PIO MODE 4/DMA MODE 2 (16.6MB/S)、USB および同期 PCI もサポートし、サポートされるバス速度は 60 です。 /66MHZ。

Intel 440FX は、2 チップのノース ブリッジで構成されています。主なコンポーネントは、82441FX PCI ブリッジおよびメモリ コントローラー、および PCI バス用の 82442FX データ バス アクセラレータです。

チップセットは PIIX3 82371SB サウス ブリッジ チップを使用し、高速バス マスター DMA IDE インターフェイスと USB をサポートし、PCI と ISA バス間のブリッジとして機能します。

マザーボードとコアチップの物理的な図は次のとおりです。

i440fx をノース ブリッジとして、piix3 をサウス ブリッジとして使用するチップセット構造を次の図に示します。

Intel 440FX アーキテクチャ図

上の図に示すように、i440fx ノース ブリッジには PMC (PCI ブリッジおよびメモリ コントローラー) と DBX (データ バス アクセラレーター) が含まれています。ノース ブリッジの機能は、上向きに複数のプロセッサを接続し、下向きにメモリと PCI バスを接続することであり、PCI バスは PCI デバイス ツリーを派生できます。

pii3 サウス ブリッジは、主に IDE コントローラ、USB コントローラなどの低速デバイスを接続するために使用されます。ハードディスク、USB デバイスなど (コントローラに対応) など、さまざまな低速デバイスをコントローラ経由でシステムに接続できます。サウスブリッジは ISA バスにも接続しており、これを介して従来の ISA デバイスをシステムに接続できます。

ここでもう 1 つ注意すべき点があります。それは、割り込みコントローラー I/O APIC がプロセッサーに直接接続されており、デバイスの割り込みは I/O APIC を介してプロセッサーにルーティングできることです。

次に何が起こったのか知りたい場合は、次の章を見てみましょう。

おすすめ

転載: blog.csdn.net/phmatthaus/article/details/132183026