質問
明らかに、64 ビット プロセッサには 64 ビットのアドレス空間があるため、4 GB 以上の RAM を自由に使用できます。同じプログラムを 64 ビットとしてコンパイルし、64 ビット CPU で実行することには、他のプログラムに実際に利益をもたらす利点はありますか? そうではありません 膨大なメモリを消費しますか?
CPU全般、特にIntel互換CPUについて質問しています。
解決
64ビットIntel / AMDの違いと利点に関する Wikipediaの優れた記事があります。 32ビットバージョンのcpus。必要なすべての情報が含まれているはずです。
主な違いは次のとおりです:
- 8個ではなく16個の汎用レジスタ
- 追加のSSEレジスタ
- バッファオーバーラン攻撃を防ぐための実行なし(NX)ビット
他のヒント
64 ビット CPU の主な利点は、4 GB を超えるサイズの仮想アドレス範囲を許可する 64 ビット ポインター タイプを使用できることです。32 ビット CPU では、ポインター サイズは (通常) 32 ビット幅で、ポインターは 2^32 (4,294,967,296) 個の個別アドレスの 1 つを参照できます。これにより、プログラムはメモリ内に最大 4 GB のサイズのデータ構造を作成し、ポインタを逆参照するだけでその中のデータ項目を解決できます。現実はこれよりわずかに複雑ですが、この議論の目的にはこれで十分な見方です。
64 ビット CPU には、2^64 (18,446,744,073,709,551,616) 個の離散アドレス、つまり 16 エクサバイトのスペースを含む任意のアドレスを参照できる 64 ビット ポインター タイプがあります。このような CPU 上のプロセスは、(理論的には) ポインターを逆参照する (ポインターに保持されているアドレスでデータを検索する) だけで、最大 16 エクサバイトのサイズのデータ構造の任意の部分を構築し、論理的にアドレス指定できます。
これにより、64 ビット CPU 上のプロセスは、32 ビット CPU 上のプロセスよりも大きなデータ セット (物理メモリによる制約) を処理できるようになります。64 ビット システムのほとんどのユーザーの観点から見ると、主な利点は、アプリケーションがメモリ内のより大きなデータ セットを操作できることです。
それとは別に、ネイティブの 64 ビット整数型を取得できる場合があります。64 ビット整数は、C などの 64 ビット型を使用して算術演算または論理演算を実行します。 long long
2 つの 32 ビット操作として実装されるよりも高速です。最新の 32 ビット CPU の FPU はネイティブで 64 ビットをサポートしているため、浮動小数点演算は大きな影響を受ける可能性は低いです。 double
浮動小数点型。
その他のパフォーマンス上の利点や強化された機能セットは、64 ビット ALU を備えたシステムに固有のものではなく、特定のチップ実装の関数です。
64ビットオペレーティングシステムでは、4 GBを超えるRAMをアドレス指定できます。これは一部のアプリケーションに役立ちます。
たとえば、メモリに大きなデータキューブをロードし、それをより効果的にカットアンドスライスできます(地震データや医療データなど)。
この記事は役に立つかもしれません:
これは少しトピックから外れていますが、Ubuntuを使用する予定がある場合に役立つかもしれません:
http://ubuntuforums.org/showthread.php?t=368607
そして、以下のこのpdfには詳細な技術仕様が含まれています:
わずかな修正。 32ビットWindowsでは、制限は約3GBのRAMです。残りの1GBのアドレススペースはハードウェア専用です。引き続き4GBをインストールできますが、アクセスできるのは3つだけです。
個人的には、以前の生活で8ビットOSで16Kで幸せに暮らしていなかった人は誰でも、今日のソフトウェアがブタになり始めている に対して攻撃を投げかけることに注意する必要があります。真実は、私たちの資源がより豊富になるにつれて、私たちの期待もそうであるということです。 3GBが途方もなく小さく見えるようになる日はもうすぐです。その日まで、32ビットOSに固執し、満足してください。
32ビット計算の命令レベルの並列処理による速度の約1〜3%の増加。
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ビットプロセッサの提供を減らしており、まもなくまったく提供しなくなるかもしれません。
64ビットCPUの長所と短所に関する情報を少し追加したかっただけです。 https://blogs.msdn.microsoft.com/joshwil/2006/07/18/should-i-choose-to-take-advantage-of-64 -bit /