web-dev-qa-db-ja.com

64ビットプロセッサは、64ビットであるという理由だけで、32ビットプロセッサよりも「高速」ですか?

[〜#〜] pae [〜#〜] のように、RAMに制限があるため、「32ビットは古いニュースです」と言う人もいると思います。 =。最初に、次の要因がプロセッサの速度自体に影響を与えると仮定します。

  1. マイクロアーキテクチャ設計。これは、キャッシュサイズ、マイクロコードの実装(該当する場合)、データ/アドレスバスとレジスタ接続、そしてもちろん、設計の原則や構造などを意味します。

  2. クロック速度自体

  3. FSB速度(フロントサイドバス)などのバス速度および関連するもの。

  4. 並列処理、「ハイパースレッディング」、「計算ユニット」、コプロセッサーまたはバックグラウンドプロセッサーでのオフロード作業、マルチコア環境などの特別な機能。

プロセッサが32ビットであると仮定すると(そして、これらすべてが速度要因に影響することはわかっています)、ビット幅、メモリアドレス指定、サイズなどが増加したという理由だけで、プロセッサが64ビットだけであるという事実が高速になります。 ?

基本的に、2つの同一のプロセッサを使用すると、64ビットプロセッサは、マシンコードのデコード、フェッチ、メモリへのアクセス、MMIO、計算などで、以前の32ビットクローンよりも一般的に高速になりますか?

19
user305391

明らかに、メモリ要件が大きいアプリケーションや、2/4億を超える数が含まれるアプリケーションの場合、64ビットは大きなメリットです。一般的なコンピューティングの大部分を占めるプログラム命令と整数計算の場合、64ビットには本質的な利点はありません。正直なところ、誰が2/4億を超えてカウントするか、32ビットアドレス空間に相当するRAM以上を追跡する必要があるからです。

しかし、なぜこのようなスピードアップが見られるのでしょうか。スマートコンパイラ。コンパイラは常に新しいトリックを学んでいます。なぜループスルーして100個の32ビット整数を合計するのと同じように、代わりに50個のボイドキャスト64ビット数を追加してから、その「64ビット」数の各部分の32ビットを追加できます。

しかし、「はい」と答える主な要因はあなたの質問には、64ビットプロセッサがメインメモリにアクセスするためのより広いデータパスアクセスがあります。

ベンチマークと1つのアーキテクチャの違い、および他のアーキテクチャとの比較については、以下を参照してください。

http://zsmith.co/

9

理由だけで...いいえ。

より広いレジスタサイズのプロセッサは、同じクロックサイクルでより多くのビットを移動および処理できます。

ただし、その事実はクロック速度とは無関係です。また、コンピューターが実行できるすべてのタスクが、より多くのビットを移動できることから恩恵を受けるわけではありません。

0