昨日、私が考えていたときに、OSが64ビット全体をアドレス指定に使用できないのはなぜですか?私は別の興味深いものを見つけました。インテルCore2Duoプロセッサーを例にとってみましょう。
Intel Core 2DuoプロセッサE8000およびE7000シリーズの「4.2アルファベット順信号リファレンス」から-データセット36のアドレスラインと64のデータラインがあることがわかりました。データシートでは、アドレス行をA [35:3]と呼び、データ行をD [63:0]と呼びます。
これは正確には何を意味しますか?これは、上記からの私の理解です(いくつかの未回答の質問があります):
- 以来、36のアドレス行があります。アドレス可能なメモリの合計は2^36 = 64GBであり、各物理メモリの場所(バイト)は36ビットの数値でアドレス指定されます。
- なので、A [2:0]は言及されていません。これは、仮想アドレスを物理アドレスに変換した後(アドレステーブルを使用)、MMU(より具体的にはページングユニット)がアドレスラインA [35:3]に最上位33ビットのみを配置することを意味します。RAMは、可能な8バイトすべて(3 LSB、A [2:0])を送信します。これらの8バイト範囲の要求に対して。RAMは同じ8バイトのデータを送信します。右?これは効率化のために行われていると思います。
- 次は何が起こる?つまり、MMUには1バイトのデータが必要でしたが、RAMは8バイトを送信しました。どのように処理しますか?
- IntelがPAEを有効にしてから、このアドレスバスの幅は36ビットですか?
- 新しいプロセッサーデータシート(Intel®Core™i7プロセッサーExtreme Edition )でアドレスバスとデータバスの幅を見つけることができません。:( 助けて!