32ビットと64ビットの違いは何ですか?
両方使ったことがある方は、どのような切れ味の違いを感じましたか?
場合によっては64ビットシステムで32ビットのプログラムを使うのは問題ないのでしょうか?
225 Mehper C. Palavuzlar 2009-10-17
注:これらの回答は、標準的なx86ベースのPC CPU(IntelとAMD)とWindows(一般的にエンドユーザー向けに構成されているもの)に適用されます。他の32ビットまたは64ビットチップ、他のOS、および他のOS構成では、異なるトレードオフが発生する可能性があります
技術的な観点から言えば、64ビットOSはあなたを与えてくれます
個々のプロセスがそれぞれ 4 GB 以上の RAM をアドレスすることができます (実際には、ほとんどの 32 ビット OS では、アプリケーションごとの最大値だけでなく、使用可能なシステム RAM の合計が 4 GB 未満に制限されています)
すべてのポインタは 4 バイトではなく 8 バイトを取ります。RAM の使用量への影響は最小限ですが(ギガバイトのポインタでいっぱいになるアプリケーションはないでしょうから)、最悪の理論上のケースでは、CPU キャッシュが 1/2 のポインタを保持できるようになります(実質的に 1/2 のサイズになります)。ほとんどのアプリケーションでは、これは大したことではありません
64ビットモードでは、より多くの汎用CPUレジスタがあります。レジスタはシステム全体の中で最も高速なメモリです。32ビットモードでは8個、64ビットモードでは16個の汎用レジスタしかありません。私が書いた科学的コンピューティングアプリケーションでは、64ビットモードで再コンパイルすることで最大30%の性能向上が見られました(私のアプリケーションでは、余分なレジスタを使用することができました)
ほとんどの32ビットOSでは、4GBのRAMをインストールしていても、個々のアプリケーションが2GBのRAMしか使用できません。これは、残りの 2 GB のアドレス空間がアプリケーション間、OS とのデータ共有、ドライバとの通信のために予約されているためです。Windows と Linux では、このトレードオフをアプリケーション用に 3 GB、共有用に 1 GB に調整することができますが、この変更を期待していないいくつかのアプリケーションでは問題が発生する可能性があります。また、1GBのRAMを搭載しているグラフィックカードが不自由になるのではないかと推測しています(ただし、私は確信していません)。64ビットOSであれば、個々の32ビットアプリケーションを4GBのフルに近づけて遊ばせることができます
ユーザー目線で
アプリケーションの速度は、通常、64 ビット OS 上の 64 ビットアプリケーションの方が 32 ビット OS 上の 32 ビットバージョンのアプリケーションよりも高速ですが、ほとんどのユーザはこの高速化を実感することはありません。通常のユーザ向けのアプリケーションのほとんどは、余分なレジスタを利用していないか、または、キャッシュを埋めるより大きなポインタによってメリットが相殺されています
メモリを大量に消費するアプリケーション(写真編集、ビデオ処理、科学計算など)を持っていて、3GB以上のRAMを持っている(または購入できる)場合は、64ビット版のアプリケーションを手に入れることができれば、選択は簡単です:64ビットのOSを使用してください
一部のハードウェアには64ビットドライバがありません。マザーボード、すべてのプラグインカード、すべてのUSBデバイスをチェックしてから切り替えてください。Windows Vistaの初期の頃は、ドライバに多くの問題があったことに注意してください。最近では、一般的には良くなっています
一度に多くのアプリケーションを実行してRAMが不足している場合(通常、コンピュータが本当に遅くなり始め、ハードディスクドライブのクランチ音が聞こえるので、これを伝えることができます)、あなたは64ビットのOS(と十分なRAM)が必要になるでしょう
64ビットWindowsで32ビットアプリケーション(ドライバは除く)を実行しても問題ありません。私が計測した64ビットWindowsでの32ビットアプリケーションの最悪の速度低下は約5%です(つまり、32ビットWindowsで何かをするのに60秒かかった場合、同じ32ビットアプリケーションを64ビットWindowsで実行した場合、せいぜい60*1.05=65秒かかったことになります)
32ビット vs. 64ビットが意味するものではありません
x86システムでは、32ビット対64ビットは直接ポインタのサイズを指します。それだけです
これはCの
int
型のサイズを指しているわけではありません。これは特定のコンパイラの実装によって決定され、一般的なコンパイラのほとんどは64ビットシステムで32ビットのint
を選択していますこれは、通常の非ポインタレジスタのサイズに直接言及しているわけではありません。しかし、64ビットの算術レジスタを使用するには、アプリケーションとOSが64ビットポインタモードで動作している必要があります
物理アドレスバスのサイズに直接言及しているわけではありません。例えば、64ビット幅のキャッシュラインを持ち、最大512GiBのメモリを持つシステムでは、アドレスバスに必要なのは33ビットだけです(つまり、
log2(512*1024**3) - log2(64) = 33
)これは物理データバスのサイズを指すのではなく、製造コスト(CPUソケットのピン数)やキャッシュラインのサイズに関連しています
265 Mr Fooz 2009-10-17
基本的には何でも大規模にできます
- OSごとのRAM。OSのRAM制限はx86で4GB(ほとんどの場合)
- プロセスごとのRAM。プロセスのRAM制限はx86上で4GB(常に)。これが重要ではないと思うなら、巨大な MSSQL データベース集約型アプリケーションを実行してみてください。空き容量があれば、それ自体は4GB以上を使用し、はるかに良く動作します
- アドレス。アドレスは32ビットではなく64ビットになり、より多くのメモリを使用する「より大きな」プログラムを作成することができます
- プログラムで利用可能なハンドル。あなたは、より多くのファイルハンドル、プロセス、…を作成することができます。Windows x64の例では、プロセスごとに> 2000スレッドを作成することができますが、数百に近いx86で
- より幅広いプログラムが利用可能x64からはx86とx64の両方のプログラムを実行することができます。(ウィンドウズの例: wow64、windows64エミュレーションのwindows32)
- エミュレーションオプション。x64 からは、x86 と x64 の両方の VM を実行できます
- 速くなりました。64ビットCPUでは、一部の計算が速くなります
- 複数のシステムリソースを分割するシステムリソースを分割した少なくとも1つのVMを実行したい場合、RAMメモリの多さは非常に重要です
- 専用のプログラムを用意しました。いくつかの新しいプログラムは x64 のみをサポートしています。例:Exchange 2007
- 将来的には廃止されるx86?時が経てば経つほど、ますます64ビットが使われるようになり、ますますx86が使われなくなる。そのため、ベンダーはますます64ビットのみをサポートするようになるでしょう
64ビットアーキテクチャには大きく分けてx64とIA64アーキテクチャの2種類があります。しかし、x64は圧倒的に人気があります
x64はx86コマンドも実行できるが、SSE拡張はしない。IA64はx86命令も実行できますが、SSE拡張はできません。Itanium上にはx86命令を実行するための専用のハードウェアがあります
フィリップが述べたように、how it works hereの詳細な情報を得ることができます
107 Brian R. Bondy 2008-09-25
人々が現時点で気づくであろう最大の影響は、32ビットPCは最大4GBのメモリしかアドレスできないということです。オペレーティングシステムによって他の用途に割り当てられたメモリを削除すると、あなたのPCはおそらく3.25GB程度の使用可能なメモリしか表示されません。64bitに移行すると、この制限はなくなります
もしあなたが真剣に開発をしているのであれば、これは非常に重要なことかもしれません。いくつかの仮想マシンを実行してみると、すぐにメモリを使い果たしてしまいます。サーバーの方が余分なメモリを必要とする可能性が高いので、デスクトップよりもサーバーの方が64ビットの使用量がはるかに多いことに気づくでしょう。ムーアの法則により、マシン上のメモリはこれまで以上に多くなることが保証されているので、ある時点でデスクトップも標準として64ビットに切り替わることになります
プロセッサの違いについてのより詳細な説明は、ArsTechnicaの優れた記事をチェックしてください
46 None 2008-09-25
64 ビットアプリケーションは 32 ビットアプリケーションよりも多くのメモリにアクセスできますが、欠点はより多くのメモリを必要とすることです。例えば、Emacs のデフォルトの要件は、64 ビットアーキテクチャ用に構築された場合、メモリが 60%増加します。大きな実行ファイルはディスクからのロードに時間がかかり、大きな作業セットはより多くのページングを引き起こし、大きなオブジェクトはプロセッサのキャッシュに収まる数が少ないことを意味します。16KのL1キャッシュを持つCPUを考えてみると、32ビットアプリケーションは4096ポインターで動作してもL2キャッシュに到達する前に失敗してしまいますが、64ビットアプリケーションは2048ポインターの後にL2キャッシュに到達しなければなりません
x64 では、これはより多くのレジスタのような他のアーキテクチャの改善によって緩和されますが、PowerPC では、アプリケーションが >4G を使用できない場合、”ppc64″ よりも “ppc” の方が高速に実行される可能性があります。Intelでもx86でより速く動くワークロードはありますが、x64でx86より5%以上速く動くものはほとんどありません
31 James 2008-10-13
64ビットのOSであれば、より多くのRAMを使うことができます。実際にはそんなところです。64ビットのVista/7は、RAMに重要なコンポーネントを配置する場所のためにファンシェルの安全機能を使用していますが、それは本当にそのような ‘顕著’ではありません
From ChrisInEdmonton:
PAE を搭載した ix86 システム上の 32 ビット オペレーティング システムでは、最大 64 GB の RAM にアクセスできます。x86-64上の64ビットオペレーティングシステムでは、最大256TBの仮想アドレス空間にアクセスできますが、これは後続のプロセッサでは16EBまで増加する可能性があります。オペレーティングシステムによっては、アドレス空間をさらに制限するものもあり、ほとんどのマザーボードでは追加の制限があることに注意してください
19 Phoshi 2009-10-17
エッセイを書かなくても、あなたの質問にすべて答えられるかどうかはわかりませんが(いつもグーグルがありますが…)、64bitのためにアプリを異なるデザインにする必要はありません。私が言及されているのは、ポインタのサイズがもはやintと同じサイズではないことに注意しなければならないということだと思います。そして、特定のタイプのデータが4バイトの長さであることを前提とした内蔵の仮定には、もはや真実ではないかもしれない潜在的な問題が山積しています
これは、ファイルからの保存/ロード、データの反復処理、データのアラインメント、データのビット単位の操作など、アプリケーションのあらゆる種類のものに支障をきたす可能性があります。既存のコードベースを移植しようとしている場合や、両方の作業をしている場合は、多くの小さな問題が発生する可能性があります
これはデザインの問題ではなく、実装の問題だと思います。つまり、写真編集パッケージの「デザイン」は、ワードサイズがどのようなものであっても同じだと思います。私たちは32ビット版と64ビット版の両方にコンパイルするコードを書いていますが、デザインは確かに2つの間で違いはありません – 同じコードベースです
64 ビットの基本的な「大きな取引」は、32 ビットよりもはるかに大きなメモリアドレス空間にアクセスできることです。これは、コンピュータに 4Gb 以上のメモリを実際に投入して、実際に違いを生み出すことができることを意味します
私よりも他の回答者の方が詳細やメリットを突っ込んでくると思います
違いを検出するという点では、プログラム的にはポインタのサイズをチェックするだけです(例: sizeof (void*)など)。4の答えは32ビットであることを意味し、8は64ビット環境で動作していることを意味します
14 Greg Whitfield 2008-09-25
32 ビット プロセスには 4 GB の仮想アドレス領域があります。64 ビットのアプリは事実上無制限のアドレス空間を持っています (もちろん制限はありますが、ほとんどの場合、この制限に達することはありません)
OSXでは他にも利点があります。以下の記事を参照してください。カーネルが64ビットのアドレス空間で動作すること(アプリが64か32かに関係なく)、またはアプリが64ビットのアドレス空間で動作すること(カーネルが32ビットのまま)が、パフォーマンスの向上につながる理由です。要約するとどちらか一方が64ビット(カーネルかアプリか、もちろん両方)の場合、TLB(「翻訳ルックサイドバッファ」)は、カーネルからスペースを使用するように切り替えるたびにフラッシュする必要はありません(これはRAMアクセスを高速化します)
また、”long long int “変数(uint64_tのような64ビット変数)を扱う場合にもパフォーマンスが向上します。32ビットCPUは、2つの64ビット値を加算/除算/減算/乗算することができますが、1つのハードウェア操作ではできません。その代わりに、この操作を2つ(またはそれ以上)の32ビット操作に分割する必要があります。そのため、64 ビットの数値で多くの作業を行うアプリは、ハードウェアで直接 64 ビットの数学を行うことができるという速度の向上があります
最後に、x86-64アーキテクチャは、従来のx86アーキテクチャよりも多くのレジスタを提供しています。レジスタを使用することはRAMを使用するよりもはるかに高速で、CPUがより多くのレジスタを持つほど、レジスタの値をRAMにスワップしたり、レジスタに戻したりする頻度が減ります
お使いのCPUが64ビットモードで動作するかどうかを調べるには、様々なsysctl変数を調べることができます。例えば、ターミナルを開いてタイプします
sysctl machdep.cpu.extfeatures
EM64Tが記載されている場合、お使いのCPUはx86-64規格に準拠した64ビットのアドレス空間をサポートしています。を探すこともできます
sysctl hw.optional.x86_64
1(true/enabled)と表示されている場合は、CPUがx86-64 Bitモードをサポートしていることを示し、0(false/disabled)と表示されている場合は、サポートしていないことを示しています。設定が全く見当たらない場合は、falseと考えてください
注意: ネイティブ C アプリ内から sysctl 変数を取得することもできます。こちらを参照してください
man 3 sysctl
10 Mecki 2008-09-25
addressspace は (実際の) メモリ以外にも使用できることに注意してください。大容量ファイルをメモリマップすることもでき、より強力で効率的なブロックレベルの VM レベルのキャッシングが有効になるため、より奇妙なアクセスパターンでパフォーマンスを向上させることができます。また、ヒープマネージャがアドレス空間の断片化に遭遇して大きなブロックを割り当てることができなくなる可能性が低いので、64 ビットで大きなメモリブロックを割り当てる方が安全です
このスレッドで言われていることのいくつかは、(#レジスタの倍数化のような)唯一のx86-> x86_64に適用され、一般的に64ビットには適用されません。x86_64ではSSE2、686オペコード、PICを行うための安価な方法が保証されているという事実と同じように。これらの機能は、厳密には64ビットではなく、レガシーをカットし、既知のx86の制限を改善するためのものです
また、多くの場合、人々は高速化の原因としてレジスタの倍増を指摘していますが、それはトリックを行うデフォルトのSSE2を使用している可能性が高いです(memcpyと同様の関数を加速する)。x86で同じセットを有効にすると、その差はずっと小さくなります。(*) (***)
また、ポインタのサイズが大きくなるだけで、平均的なデータ構造が大きくなるため、しばしば初期ペナルティが発生することを覚えておいてください。これはキャッシュ効果もありますが、平均的な memcpy() (または、あなたの言語ではメモリコピーに相当するものは何でも) に時間がかかるという点で、より顕著です。これはほんの数パーセントの大きさに過ぎませんが、上に挙げたスピードアップもその大きさです
通常、アライメントのオーバーヘッドは64ビットアーキテクチャでも大きくなります(以前は32ビットのみだったレコードは、しばしば32ビットと64ビットの値が混在するようになります)
全体的に、私の簡単なテストでは、ドライバとランタイム・ライブラリが完全に適応していれば、平均的なアプリでは大きな速度差は生じませんが、アプリによっては急に速くなったり(AES に依存している場合など)、遅くなったりすることがあります。しかし、一部のアプリでは、突然高速になったり(AES に依存している場合など)、遅くなったりすることがあります(重要なデータ構造が常に移動/スキャン/ウォークしており、多くのポインタが含まれています)。しかし、テストはWindows上で行われたため、PICの最適化はベンチマークされていません
ほとんどのJIT-VM言語(Javaや.NET)は、C++などに比べて平均的に(内部的に)かなり多くのポインタを使用していることに注意してください。おそらく、平均的なプログラムよりもメモリ使用量が増えているのでしょうが、それを直接スローイング効果と同一視する勇気はありません(なぜなら、これらは本当に複雑でファンキーな獣であり、測定せずに予測するのは難しいことが多いからです)
Windows の 64 ビットのデフォルトでは、浮動小数点演算に SSE2 を使用するように設定されていますが、これは単純な演算を高速化し、複雑な演算 (sin, cos など) を遅くするようです
(*)あまり知られていませんが、SSEレジスタの数も64ビットモードでは2倍になるという事実があります
(*_*) 数年前にドブス博士がいい記事を書いていました
9 Marco van de Voort 2009-05-01
多くの人がここで言及している明らかなメモリスペースの問題に加えて、Knuth 氏(特に他の人)が最近話題にしている「ブロードワード・コンピューティング」という概念にも注目してみる価値があると思います。ビット操作によって多くの効率が得られますし、64 ビットのワードに対するビット演算は 32 ビットのワードに対する演算よりもはるかに遠くまで行きます。要するに、メモリを使わずにレジスタでより多くの演算を行うことができ、性能面ではかなり大きなメリットがあります
4巻のプリファシクル1Aでは、私が話しているかっこいいトリックの例を紹介していますので見てみてください
8 None 2008-09-25
より多くのメモリをアドレス指定できるほか、x86_64 はより多くのレジスタを持っているので、コンパイラはより効率的なコードを生成することができます。しかし、パフォーマンスの向上は通常はかなり小さいものです
x86_64アーキテクチャはx86との下位互換性があります。改造されていない32ビットのOSを実行することが可能です。また、64ビットOSから変更されていない32ビットソフトウェアを実行することも可能です。ただし、そのためには通常の32ビットライブラリが必要になります。それらを別途インストールする必要があるかもしれません
7 Kristof Provost 2009-10-17
このスレッドはすでに長すぎますが、しかし
ほとんどの返信は、より大きな 64 ビットのアドレス空間があるので、より多くのメモリをアドレスすることができるという事実に焦点を当てています。すべてのアプリケーションの約99%にとって、これは全く関係ありません。大爆笑
64 ビットが優れている本当の理由は、レジスタが大きくなったことではなく、レジスタの数が 2 倍になったことです。つまり、コンパイラは、メモリに値をこぼして後で数回の命令で読み込ませる代わりに、より多くの値をレジスタに保持することができます。最適化コンパイラがあなたのためにループを展開している場合は、約2倍の量のループを展開することができ、パフォーマンスを向上させることができます
また、64ビット用のサブルーチンの呼び出し元/呼び出し元の規約が定義されており、呼び出し元がスタックに押し込んで呼び出し元がそれをポップオフするのではなく、渡されたパラメータの大部分をレジスタに保持します
つまり、「典型的な」C/C++アプリケーションは、64ビット用に再コンパイルするだけで、約10%または15%のパフォーマンス向上を得ることができます(アプリケーションの一部がコンピュートバインドされていると仮定します)。(アプリケーションのいくつかの部分がコンピュートバインドされていると仮定します。もちろん、これは保証されたものではありません。あなたのマイレージは異なるかもしれません)。)
6 Die in Sente 2008-11-25
すでに述べた利点とは別に、ここではセキュリティに関するいくつかの詳細をご紹介します
- x86_64CPU はページテーブルに no-execute ビットを設定しています。これはバッファオーバーランによるセキュリティ攻撃を防ぐことができます。32 ビット x86 CPU は PAE モードでのみこの機能をサポートしています
- より大きなアドレス空間は、より良いアドレス空間レイアウトランダム化(ASLR)を可能にし、バッファオーバーランの悪用をより困難にします
- x86_64 cpus の特徴は,位置に依存しないコード,すなわち命令ポインタレジスタ(RIP)からの相対的なデータアクセスです.
もう一つの利点として思い浮かぶのは、Linuxカーネルのvmalloc()
で割り当てられる仮想連続メモリの量が、64ビットモードではより大きくなる可能性があるということです
6 knweiss 2009-05-03
32ビットマシンでは、アドレスを指定するメモリは4,294,967,295バイトしかありません。64ビットマシンでは、1.84467441×10^19バイトのメモリしかありません
64 ビットプロセッサは、特定のタスク (大きな数字の階乗など) を 32 ビット環境で作業する場合の 2 倍の速さで計算します (与えられた例は、32 ビットと 64 ビットの Windows Calculator の比較から得られたものです。)これは、64ビットに最適化されたアプリケーションの理論的な可能性の一般的な感覚を与えます
64 ビット・アーキテクチャは、デジタル・ビデオ、科学的コンピューティング、大規模データベースなどのアプリケーションにおける大規模なデータ・セットの処理を容易にすることは間違いありませんが、他のタスクについては、64 ビット・アーキテクチャやその 32 ビット互換モードが同程度の価格の 32 ビット・システムよりも高速になるかどうかについては、かなりの議論がありました。x86-64アーキテクチャ(AMD64)では、32ビットのオペレーティング・システムやアプリケーションの大部分が64ビットのハードウェア上でスムーズに動作するようになっています
Sunの64ビットJava仮想マシンは、32ビット仮想マシンよりも起動が遅い。 Sunは64ビットプラットフォーム用に「サーバー」JITコンパイラ(C2)しか実装していないからである[9]
32 ビットと 64 ビットのプロセッサを比較する際に考慮すべき要素は、速度だけではないことに注意が必要です。マルチタスク、ストレステスト、クラスタリング(ハイパフォーマンスコンピューティングのための)、HPCなどのアプリケーションは、適切に配置された64ビットアーキテクチャの方が適している場合があります。64 ビット クラスタは、このような理由から IBM、HP、Microsoft などの大規模な組織で広く導入されています
5 Mark Cidade 2008-09-25
Microsoft.comより引用
次の表では、64 ビット版の Windows と 64 ビットの Intel プロセッサをベースにしたコンピュータの増加した最大リソースを、既存の 32 ビットのリソースの最大値と比較しています
5 Mehper C. Palavuzlar 2009-10-30
Kristof氏とPoshi氏は、32ビットOSと64ビットOSの間の主な技術的な違いを述べているが、ユーザー体験は通常、理論よりもはるかに異なっている。現在までのWindowsの64ビット版のコンシューマ版(XPとVista)は、ドライバのサポートに大きな穴が開いています。私は多くのプリンタ、スキャナ、および他の外部デバイスを持っていたフラットアウト64ビットバージョンでは動作しませんが、32ビットバージョンでは問題なく動作します。これらのデバイスは64ビットドライバを持っていても動作しませんでした。この時点で私は、Windows 7がどのようにこれを処理するかについて、現在それにアクセスしている超マニアではなく、実際のエンドユーザーから聞くまで、Microsoftから64ビット版のコンシューマーベースのものには近づかないことをお勧めします。少なくとも6ヶ月は待って、人々が何を経験しているのかを見てみましょう。個人的には、私はWindows 7の32ビット版をインストールすることになるでしょう
4 Kevin K 2009-10-17
ゲームをプレイするプログラムの中には、ビットボードを使用しているものがあります。チェス、チェッカー、オセロなどは8×8のボード、つまり64の正方形を使用しているので、マシンワードに少なくとも64ビットのビットがあると、パフォーマンスが大幅に向上します
64ビットビルドが32ビット版の約2倍の速さになったチェスプログラムを読んだことを覚えています
2 Hugh Allen 2008-09-26
32 ビットと 64 ビットという用語は、コンピュータ・プロセッサ(CPU とも呼ばれる)が情報を処理する方法を指します。Windowsの64ビット版は、32ビットシステムよりも大量のランダムアクセスメモリ(RAM)を効果的に処理します
スピードは私の意見では違うかもしれません
2 LestiWulan 2012-06-27
Microsoft Windowsに関してのもう一つのポイントは、何年も前からWin32 APIが存在していたということです。私がアプリケーションのDLLを書くときは、一般的に64ビット版ではないWin32でコンパイルします。私が働いている新しいマシンは4GBのRAMを持っていますが、XP64やVistaと比較して安定したOSであることが知られているので、32ビットのWindows XP Proを使っています
16 ビットから 32 ビットへのシフトがあった時期を振り返ってみるのもいいかもしれません。企業がデスクトップ上で実行する可能性のあるミッションクリティカルなアプリケーション、例えば小さな会計パッケージは、64ビットのオペレーティングシステム上では実行できない可能性があるため、仮想であろうと現実であろうと、レガシーマシンを維持する必要性があります
住所の大きさを変更することは、いくつかの大きな影響や反響をもたらす可能性があります
1 JB King 2008-09-25
ほとんどの実用的な目的では、おそらく違いに気づくことはないでしょう
64bitのOSをインストールするには、64bitのCPU(ここ数年ではほとんどのCPU)を持っている必要があります
64ビットOSにはいくつかの利点があります
- これで4GB以上のRAMを動かすことができるようになります(32ビットOSでアドレスできる最大数は2^32=4GB)
- 大規模なデータセット(Excelなど)や特定の計算量の多いタスク(Photoshopやビッグファイルなど)を扱うのに便利です
- 64ビットOSでは64ビットのプログラムしか実行できませんが、32ビットのプログラムは両方で実行することができます(両方で来るプログラムが多いので、64ビットのみのプログラムはあまり多くないことに注意してください)
ほとんどのシナリオでは、64ビットプログラムはもう少し多くのメモリを使用しますが、パーソナルコンピュータの場合は、通常、これは気づかれません
1 cyberx86 2011-07-09