21

32 ビット プロセッサと 64 ビット プロセッサの違いがよくわかりません。32 ビット プロセッサは一度に 32 ビットにアクセスでき、64 ビット プロセッサは一度に 64 ビットにアクセスできることを知っています。しかし、一度に特定の数のビットにアクセスするとは、正確には何を意味するのでしょうか?

4

6 に答える 6

25

本当の答えはそれが複雑だと思います。比喩は、あなたに基本的な考えを与える専用の研究以外の唯一のものです。Wallykは正しい方向に進んでいます。

いくつかのことがプロセッサを駆動します。1つは、1秒間に実行できる操作の数です(ヘルツで測定)。アーキテクチャでは単純な答えは得られませんが、1Ghzシングルコアプロセッサは1秒あたり1,000,000,000回の操作を実行します。だいたい。より具体的な答えを得るのは可能ですが、このケースを明確にすることはできません。

プロセッサは、メモリコントローラ(i7)、ALUとFPU、およびその他の特殊な回路のような他のものでもあり、それが答えるのが難しい質問でさえあります。

ただし、意図と目的のために、すべてのプロセッサにはレジスタがあります。レジスタは、プロセッサが動作している間に少量のデータを格納するためのスクラッチスペース(メモリよりも高速)のようなものです。これらは、L1およびL2(場合によってはL3)キャッシュによってバックアップされます。これらのキャッシュも、途方もなく高速です。基本的に、64ビットはスクラッチスペースのサイズを指します(プロキシによって、データが一度にロードされたり、ロードされたりするときに、レジスタをキャッシュに接続するパイプ)。

スクラッチスペースが大きいということは、キャッシュやメモリから新しい情報を読み込まずに、より多くのことができることを意味します。しかし、それができるからといって、常にそうなるとは限りません。スピードアップを利用するには、通常、プログラムを64ビットサポートでコンパイルする必要があります。それでも、32ビットを超えるデータを操作しない限り、通常は違いはわかりません。しかし、それはシステムプログラマーにとってはもっと問題です。

プロセッサは、メモリ内にあるもの(使用中のものと使用されていないものなど)を監視する必要もあります。これは、特殊レジスタを使用して行われます。32ビットプロセッサが通常4GBを超えるRAMをアドレス指定できない理由は、このレジスタのサイズに関係しています。PAEなどのプロセッサ拡張機能により、32ビットプロセッサ上の32ビットオペレーティングシステムは64ギガバイトのRAMをアドレス指定できますが、ほとんどのOSは通常それをサポートしていません。

TL; DR、64ビットプロセッサは、データのより大きなチャンクに対して一度に操作を実行し、より多くのメモリをアドレス指定するための正しいプログラミングの可能性を提供します。それ以外は、大きな違いはありません。

編集:「演算」によって人々が間違った考えを抱かないように、私は特に演算(加算、乗算など)について言及していません。私の悪い点は、マイクロプロセッサアーキテクチャを完全に紹介するのではなく、質問に答えることに集中していたことです。

于 2010-03-28T07:22:00.523 に答える
4

基本的には、そのようなサイズの数値に対して操作を実行できることを意味します (たとえば、それらを追加します)。32 ビット アーキテクチャと 64 ビット アーキテクチャの間には、これよりも多くの違いがあります。

于 2010-03-28T06:56:37.253 に答える
1

あまり正確な表現ではありませんが、メモリアドレスの長さを意味すると思います。たとえば、32 ビットは、プログラムで 4 GiB (2 32バイト) を使用できることを意味します。

(ひょうたんについては、31 ビットのIBM s390アーキテクチャーを調べてください。)

また、CPU が一度に読み取ったり操作したりできるデータの最大量とは限りません。たとえば、64 ビット AMD/Intel プロセッサには一連のオンチップ キャッシュがあり、メイン メモリから大量のデータを取り出すことができます。また、128 ビットの SSE レジスタも備えています。

于 2010-03-28T07:00:40.537 に答える
1

タグ付けされたメモリに気づいたので、その答えに行きます:

32 ビット プロセッサでは、プロセッサはメモリのアドレス指定に 32 ビットしか使用できません。これは、2^32 の一意の組み合わせがあることを意味するため、プロセッサは 2^32 バイトしかアドレス指定できません。(4ギガバイト)

64 ビット プロセッサでは、プロセッサは (理論的には) 64 ビットを使用してメモリ、または 2^64 バイトのアドレス指定可能なメモリをアドレス指定できます。これは 16 Exo Bytes に相当すると考えられます。これは、マシン内の分子の量をほぼ数えられるほどの膨大な量です。ただし、実際には、現在使用されているほとんどの CPU では、現在のハードウェアの制約により、42 ビットの物理メモリと 48 ビットの仮想メモリしかアドレス指定できません。

于 2010-03-28T07:01:58.743 に答える
0

ウィキペディアの 64 ビットのエントリは、このトピックに優れた光を当てています。

于 2010-03-28T06:59:21.203 に答える
-3

処理能力の目安です。むしろ、ほぼ同じ量のエネルギーで 4 人、つまり 12 人を乗せることができる車両のようなものです。

たとえば、32 ビットは 4 バイト、つまり 4 つの通常の文字を保持し、64 ビットは 8 バイトであり、ロマンス言語の場合は 8 文字です。これらは、対応するアーキテクチャ データ幅の多くの種類の操作で一度に操作できます。

それを見るさらに別の方法は、アーキテクチャが直接操作できる整数の大きさです。これらの幅のそれぞれについて、対応する範囲は次のとおりです。

8 bits: 0 to 255 / -128 to 127
16 bits: 0 to 65,535 / -32768 to 32767
32 bits: 0 to 4,294,967,295 / -2,147,483,648 to 2,147,483,647
64 bits: 0 to 18,446,744,073,709,551,615 / -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

于 2010-03-28T06:57:08.130 に答える