最初に言っておきますが、あなたの混乱の一部はおそらく、数十年前は物事がより単純であり、用語の理解はこれらのより単純な機械に基づいているという事実から来ています.
ワード サイズの定義について混乱しています。プロセッサのワード サイズはデータ バス幅であると読みました。8 ビット プロセッサのように、8 ビット幅のデータ バスがあります。
絶対にありません。とのデータバスは、これとはまったく関係ありません。プロセッサのワード サイズ (これは実際には正確な用語ではありませんでした) は、一般にマシン内のレジスタのサイズである算術演算の最大の自然サイズとして大まかに定義するのが最適です。これはデータ パスの幅であることがよくあります (データ バスとは明らかに異なります)。データ パスは、単純に ALU の幅です。多くの場合、ワード サイズはポインタ サイズと同じです。
私は最近、仮想アドレス空間の最大サイズがワードサイズによって決定されることを読みました。つまり、ワードサイズが n ビットの場合、最大仮想アドレス空間は 2^n -1 です。しかし、私は常に、最大仮想アドレス空間はアドレスバス幅によって決定されると考えていました。つまり、n ビット幅のアドレスバスは最大 2^n バイトをアドレス指定できます。それで、何が本当ですか?
いいえ。仮想アドレス空間のサイズは、ページ テーブル (および TLB) の仮想ページ番号のビット数によって決まります。現在の amd64 ベースのマシンでは、仮想アドレスの 48 ビットのみが使用可能です。上位 16 はビット 47 の符号拡張です。現在の amd64 マシンでは、物理アドレス サイズは 52 ビットです。これらの物理アドレス ビットは、バス上で送信されるものです。バスという用語でさえ、実際には正しくありません。ほとんどすべてのリンクはポイント ツー ポイント (DDRx DRAM は例外) であり、アドレス ワイヤとデータ ワイヤの代わりにパケット化された形式 (ヘッダー + ペイロード) を使用します。
また、n ビット データ バスは n ビット アドレスしか伝送できないため、これはポインタに関連しています。したがって、ポインタを介して最大 2^n バイトにアクセスできます。
個別のアドレス バスを備えた多くの (ほぼすべての) マシンは、アドレス ビット数よりも狭いアドレス バスを使用します。これらのビットは単純に分割され、複数のクロック サイクルを使用してバスを介して送信されます。DDRx DRAM は、この別の例です。