32ビットと64ビット
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/09 07:26 UTC 版)
「Windows NT系」の記事における「32ビットと64ビット」の解説
32ビット版 (x86) と64ビット版 (x64/IA-64) では、CPUやメモリの制約が異なる。 CPUやメモリの制約制約x86x64全仮想アドレス空間 4GB 16TB / 256TB(注8) 32ビットプロセスごとの仮想アドレス空間 2GB / 3GB(注1) 2GB / 4GB(注2) 64ビットプロセスごとの仮想アドレス空間 N/A 8TB / 128TB(注8) Paged Pool(カーネルメモリ) 470MB / 650MB(注3) / 2GB(注4) 128GB / 384GB(注7) / 15.5TB(注8) Non-Paged Pool(カーネルメモリ) 256MB / 128MB(注5) / 2GB(注4) 128GB / 16TB(注8) システムキャッシュ 512MB / 432MB(注5) / 960MB(注6) / 2GB(注4) 1TB / 16TB(注8) Windows XPでの上限物理メモリ 4GB 128GB Windows XPでの上限CPU数 2 2 注1 - アプリケーションが /LARGEADDRESSAWARE オプションをつけてコンパイルし、OSの起動オプションとして /3GB スイッチを boot.ini に追加した場合 注2 - アプリケーションが /LARGEADDRESSAWARE オプションをつけてコンパイルされている場合 注3 - Windows Server 2003 SP1 の場合 注4 - Windows Vista以降の場合 注5 - OSの起動オプションとして /3GB スイッチを boot.ini に追加した場合 注6 - LargeSystemCacheレジストリを1に設定した場合 注7 - Windows 8以降の場合 注8 - Windows 8.1以降の場合 32ビット Windows において、Windows 2000 Professional、Windows XP、Windows Vista や Windows 7、Windows 8など、パソコン向けのOSでは4GB(実際は約3.2GBまで)が上限物理メモリとなっているが、Windows Server ではエディションによっては 128GB まで使える。また、Address Windowing Extensionsを使うと4GBよりも大きなメモリにアクセスできる。さらに、Physical Address Extensionを使い、OSの管理下にない4GBよりも大きなメモリに直接アクセスしてしまうソフトウェアも存在する。
※この「32ビットと64ビット」の解説は、「Windows NT系」の解説の一部です。
「32ビットと64ビット」を含む「Windows NT系」の記事については、「Windows NT系」の概要を参照ください。
32ビットと64ビット
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/14 02:30 UTC 版)
「64ビット」の記事における「32ビットと64ビット」の解説
32ビットから64ビットへのアーキテクチャの変更は根本的な変更であり、特にOSは新しいアーキテクチャの利点を生かすために様々な拡張や変更を必要とする。その他のソフトウェアも新たな機能を使うには移植が必須となる。古いソフトウェアは「ハードウェア互換モード」(64ビットの新しいプロセッサが古い32ビット版の命令セットをサポートしている場合)を使うか、ソフトウェアエミュレータを使うか、64ビットプロセッサ内(あるいはシステム内)に32ビットプロセッサのコア機能を実装することで動作させる(初期のItaniumやプレイステーション2)。64ビットアーキテクチャ向けのOSは、一般に32ビットのアプリケーションもサポートしている。例えば64ビット版Microsoft WindowsではWOW64エミュレーションレイヤーにより32ビットアプリケーションを動作させることができる。 特筆すべき例外としてAS/400がある。AS/400ではソフトウェアはTIMI (Technology Independent Machine Interface) という仮想命令セットを使っており、実行前に内部のソフトウェアが必要に応じてネイティブな機械語コードに変換して実行する。その変換ソフトウェアを新たなアーキテクチャ向けに移植すれば、OSを含めた全ソフトウェアはそのまま新アーキテクチャに移行可能である。これは実際に、IMPIという32/48ビット命令セットから64ビットPowerPCに移行する際に行われた。IMPIとPowerPCの命令セットは全く異なるもので、単なる同一アーキテクチャの32ビット版から64ビット版への移行よりも大きな転換であった。 64ビットアーキテクチャは、デジタルビデオ、科学技術計算、大規模データベースといった大きなデータを扱うアプリケーションでは有利なのは明らかだが、それ以外のアプリケーションについて、64ビットシステムの32ビット互換モードと同一価格帯の32ビットシステムではどちらの性能がよいかについては議論がある。 サンの64ビット版Java仮想マシンは32ビット版よりも立ち上がりが遅い。これは、64ビット版ではJITコンパイラのサーバ版 (C2) しか実装していないためである。JITコンパイラのクライアント版 (C1) が生成するコードの効率は悪いが、コンパイル処理が高速である。 32ビットと64ビットのプロセッサを比較する際に、性能だけが考慮すべき点というわけではない。マルチタスク型アプリケーション、高負荷状態での実行を強いられるアプリケーション、高性能計算向けのクラスタリングなどは、正しくリソースを配備すれば64ビットアーキテクチャの方が適している。このため、IBM、HP、マイクロソフトなどはそういった理由で64ビットのクラスタを広く使用している。 64ビットアーキテクチャの浸透に伴い、従来の32ビットシステムおよび互換レイヤーのサポートが縮小される傾向にある。アップルはWWDC 2018にてmacOS 10.14 Mojaveが32ビットアプリケーションをサポートする最後のmacOSとなることをアナウンスしている。iOSはバージョン11以降で32ビットアプリケーションのサポートを打ち切っている。Microsoft Windows Server 2008 R2以降は32ビット版OSが提供されなくなり、64ビット版OSのみとなっている。NVIDIAは2017年に、AMDは2018年に32ビット版デバイスドライバのサポート終了をアナウンスしている。
※この「32ビットと64ビット」の解説は、「64ビット」の解説の一部です。
「32ビットと64ビット」を含む「64ビット」の記事については、「64ビット」の概要を参照ください。
- 32ビットと64ビットのページへのリンク