4Gバイトの壁
読み:よんぎがバイトのかべ
外語:4GB wall
32ビットマイクロプロセッサー
に存在する
壁
。
目次
概要
特徴
壁の技術的内容
壁の突破
x86
概要
4Giバイトを超えるメモリー範囲について、直接アクセスできない、という制限のこと。
正確にはギガではなくギビ、つまり「4Giバイトの壁」と呼ぶべきだが、32ビットMPU登場当時はまだ
Gi
(ギビ)という単位がなく、このように「4Gバイトの壁」と呼ばれていた。
特徴
壁の技術的内容
32ビット環境は
アドレスバス
が32本なので、都合2
32
バイト、つまり4Giバイトが物理的に利用可能な最大アドレッシング範囲となる。
これを越える容量のメモリーを用いたい場合でも直接CPUのアドレスとして指すことができないので、
バンク切り替え
メモリー等を用いるしか術がない。これが4Gバイトの壁である。
壁の突破
壁を突破するためには、アドレスバスの本数を増やす必要がある。
そこでまず仮想アドレス空間より広い物理アドレス空間を提供するようになり、やがてMPUの64ビット化でアドレスバスを64ビット化することで壁を一気に突破した。
パーソナルコンピューターで一般的な
x86
のほか、ARMなど組み込み用プロセッサーでも64ビット化が進められ、ARMでは
ARMv8
から64ビット対応が開始された。
x86
x86
においてこの壁を突破するのは
Xeon
からである。
PSE-36
で36ビットまでのアドレッシングに対応し、64
Giバイト
までのメモリー領域に対応することで壁を突破した。
しかしこの対応は過渡的なものであり、本格的にこの壁を突破するのは
AMD64
および互換機能
Intel 64
からで、理論上アドレスバスが64ビットになったことで2
64
バイト、つまり64
Eiバイト
までに対応してからである。
再検索