CPUの命令セット
「64 bit OS」や「32 bit OS」と言う言葉を耳にします。
この64ビットや32ビットとは「CPUの命令セット」のことです。
- 64ビットOSは64ビットアドレスを使用してメモリにアクセスし、32ビットOSは32ビットアドレスを使用してメモリをアクセスします。
- 64ビットOSの場合、命令は64ビット(8バイト)ごとに処理されます。
- 特定のメモリアドレスを表現するポインタ自体も8バイトで表現されます。
メモリとしての表現幅が32ビットOSの時は
2の32乗分(4,294,967,296ビット=約4GB)
でしたが、
64ビットOSでは
2の64乗分(18,446,744,073,709,551,616ビット=約18,000,000,000GB)
のメモリを理論上使えることになります。
実際に製造されるPCのRAMは物理的制約により16GBや32GBのものが多いですが。
16進数表記について
上の図でメモリを「0x 00 00 00 00 00 00 00 00 」と表現しました。
- "0x" は、16進数を表現するときの接頭詞です。
- "00"が16進数の値となります。下の図のように、16進数の左の桁と右の桁はそれぞれ4ビットを表し、左右の2桁でちょうど1バイト(8ビット)になります。