[解決済み] x86-64の仮想アドレス空間はなぜ48ビットしかないのですか?
2022-05-14 08:44:38
疑問点
ある本で次のように書かれていました。
32 ビット プロセッサは 2^32 の可能なアドレスを持っているが、現在の 64 ビット プロセッサは 48 ビットのアドレス空間を持っている
私の予想では、64 ビット プロセッサであれば、アドレス空間も 2^64 であるべきだと考えていました。
ですから、この制限の理由は何なのかと思っていたのです。
どのように解決するのですか?
必要なのはそれだけだからです。48 ビットで、256 テラバイトのアドレス空間が得られます。これはかなりの量です。それ以上を必要とするシステムには、すぐには出会えないでしょう。
そこで、CPUメーカーは近道をしました。CPUメーカーは、64ビットの完全なアドレス空間を可能にする命令セットを使用しますが、現在のCPUは下位48ビットしか使用しません。その代わり、何年も必要とされない大きなアドレス空間を処理するためにトランジスタを浪費していたのです。
ですから、48ビットの限界に近づいたら、完全なアドレス空間を扱うCPUをリリースすればいいだけで、命令セットを変更する必要はありませんし、互換性を壊すこともないのです。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン