web-dev-qa-db-ja.com

64ビットプロセッサの利点は何ですか?

明らかに、64ビットプロセッサには64ビットのアドレススペースがあるため、4 GBを超えるRAMを自由に使用できます。64ビットと同じプログラムをコンパイルして、 64ビットCPUには、実際にではない巨大なメモリを消費するプログラムに利益をもたらす他の利点がありますか?

CPU全般、特にIntel互換のCPUについて質問します。

35
Mason Wheeler

32ビットバージョンと比較した64ビットIntel/AMD CPUの違いと利点について、 Wikipediaのすばらしい記事 があります。必要なすべての情報が含まれているはずです。

主な違いは次のとおりです。

  • 8個ではなく16個の汎用レジスター
  • 追加SSEレジスタ
  • バッファーオーバーラン攻撃を防ぐための非実行(NX)ビット
34
Sean

64ビットCPUの主な利点は、サイズが4GBを超える仮想アドレス範囲を許可する64ビットポインタータイプを使用できることです。 32ビットCPUでは、ポインタサイズは(通常)32ビット幅であり、ポインタが2 ^ 32(4,294,967,296)の個別のアドレスの1つを参照できるようにします。これにより、プログラムはメモリ内に最大4GBのデータ構造を作成し、ポインタを逆参照するだけでその中のデータ項目を解決できます。現実はこれよりも少し複雑ですが、この議論の目的には十分な見方です。

64ビットCPUには、2 ^ 64(18,446,744,073,709,551,616)の個別のアドレス、または16エクサバイトのスペースを持つ任意のアドレスを参照できる64ビットポインタータイプがあります。このようなCPU上のプロセスは、ポインタを逆参照するだけで(理論的には)、データ構造の任意の部分を最大16エクサバイトまで構築して論理的にアドレス指定できます(ポインタに保持されているアドレスでデータを検索します)。

これにより、64ビットCPU上のプロセスは、32ビットCPU上のプロセスよりも大きなデータセット(物理メモリによって制約される)を処理できます。 64ビットシステムのほとんどのユーザーの観点から見ると、主な利点は、アプリケーションがメモリ内のより大きなデータセットを処理できることです。

それ以外に、ネイティブの64ビット整数型を取得できます。 64ビット整数は、Cのlong longなどの64ビット型を使用した算術演算または論理演算を、2つの32ビット演算として実装されたものよりも高速にします。ほとんどの最新の32ビットCPUのFPUは64ビットのdouble浮動小数点型をネイティブでサポートしているため、浮動小数点演算が大幅に影響を受けることはほとんどありません。

その他のパフォーマンス上の利点や拡張機能セットは、64ビットALUを備えたシステムに固有のものではなく、特定のチップ実装の機能です。

64ビットオペレーティングシステムでは、4 GBを超えるRAMをアドレス指定できます。これは、一部のアプリケーションに役立ちます。

たとえば、大きなデータキューブをメモリに読み込み、それをより効果的にカットおよびスライスできます(地震データや医療データなど)。

8
David Segonds

この記事は役に立ちます:

http://www.softwaretipsandtricks.com/windowsxp/articles/581/1/The-difference-between-64-and-32-bit-processors

これは少し話題から外れていますが、Ubuntuを使用する場合に役立つ可能性があります。

http://ubuntuforums.org/showthread.php?t=368607

そして、以下のこのpdfには詳細な技術仕様が含まれています。

http://www.plmworld.org/access/tech_showcase/pdf/Advantage%20of%2064bit%20WS%20for%20NX.pdf

3
dincerm

わずかな修正。 32ビットWindowsでは、上限は約3GBのRAMです。残りの1GBのアドレススペースはハードウェア用に予約されていると思います。 4GBをインストールできますが、アクセスできるのは3つだけです。

個人的には、以前の生活の中で8ビットOSで16Kと楽しく暮らしていない人は、豚肉になり始めている今日のソフトウェアのsomeに対してアスペションをキャストすることに注意する必要があると思います。真実は、私たちのリソースがより豊富になるにつれて、私たちの期待もそうなるということです。 3GBが途方もなく小さいように見え始める日は長くありません。その日まで、32ビットOSを使い続けてください。

2
T.E.D.

32ビット計算の命令レベルの並列処理により、速度が約1〜3%向上します。

1
vartec

64ビットCPUの長所と短所に関する情報を少し追加したかっただけです。 https://blogs.msdn.Microsoft.com/joshwil/2006/07/18/should-i-choose-to-take-advantage-of-64-bit/

1
Wei Hu

32ビットプロセッサと64ビットプロセッサの主な違いは、動作速度です。 64ビットプロセッサには、デュアルコア、クアッドコア、およびホームコンピューティング用の6コアバージョンがあります(8コアバージョンは近日提供予定)。複数のコアにより、処理能力が向上し、コンピューターの操作が高速になります。多くの場合、機能するために多くの計算を必要とするソフトウェアプログラムは、マルチコア64ビットプロセッサでより高速に動作します。 Windowsオペレーティングシステムが64ビットバージョンであっても、64ビットコンピュータは32ビットベースのソフトウェアプログラムを引き続き使用できることに注意することが重要です。

32ビットプロセッサと64ビットプロセッサのもう1つの大きな違いは、サポートされるメモリ(RAM)の最大量です。 32ビットコンピュータは最大3〜4 GBのメモリをサポートしますが、64ビットコンピュータは4 GBを超えるメモリ量をサポートできます。これは、グラフィックデザイン、エンジニアリングデザイン、またはビデオ編集に使用されるソフトウェアプログラムにとって重要です。このプログラムでは、画像、図面、ビデオ映像をレンダリングするために多くの計算が実行されます。

注意すべき点の1つは、プログラムが64ビットプログラムでない限り、3Dグラフィックプログラムとゲームは、64ビットコンピューターに切り替えても、それほどメリットがないということです。 32ビットプロセッサは、32ビットプロセッサ用に作成されたすべてのプログラムに適しています。コンピュータゲームの場合、64ビットプロセッサではなく、ビデオカードをアップグレードすると、パフォーマンスが大幅に向上します。

結局、64ビットプロセッサは家庭用コンピュータでますます一般的になってきています。ほとんどの製造元は、価格が安く、64ビットのオペレーティングシステムとプログラムを使用するユーザーが増えているため、64ビットプロセッサを搭載したコンピューターを構築しています。コンピュータパーツの小売業者は、提供する32ビットプロセッサの数を減らしており、間もなくまったく提供しない可能性があります。

0
kombsh