![]() |
CPU のビット数 |
CPU には、8ビットCPU、16ビットCPU、32ビットCPU などの種類があります。
初期のパソコンに使われていた i-8080、Z80、MC6809 などは 8ビットCPU、
その後 i-8086、MC68000 といった 16ビットの CPU が現れ、
80286、Pentium などを経て、現在では Pentium III などの 32ビット CPU が中心になっています。
32ビットの CPU は、一度に 32 ビットのデータの演算処理ができます。
例えば整数の加算であれば、32 ビットの加算が一度にできます。
下図は、その様子を表したものです。
32ビット(桁)の 2進数が2つあります。これを加算します。
右下の
にマウスカーソルを合わせて、クリックすると、
この加算をするときに生じる キャリー (Carry)*1 が上に表示されます。
マウスのボタンを離すと、32ビット全ての加算の結果(和)が表示されます。
32ビットの CPU では、32ビットの加算が一度に行えることを表しています。
をクリックすると、クリアされます。
上図 (下段) は、8 ビットの CPU が同じ 32 ビットの加算をする様子を表しています。
右下の
にマウスカーソルを合わせて、クリックすると、
8 ビットの加算で生じるキャリーが上に表示されます。
マウスのボタンを離すと、8 ビットの加算の結果が表示されます。
8 ビットの CPU では、32ビットの加算は、8 ビットの加算を4回繰り返して行われることを表しています。
ここで注意することは、8 ビットの最上位の加算で生じたキャリー (赤色) を、
次の 8 ビットの加算で足しこんでいることです。
これによって、4回に分割して加算しても、上の 32 ビットの加算と同じ結果が得られます。
4 つの 8 ビットの2進数を、32 ビットの数値とみなして 10 進数で表示すると、
上の 32 ビット演算の結果と同じであることが分かります。
試しに、"ADD" チェックボックスをクリックして再度加算すると、
下位 8 ビットの計算からのキャリーは無視されるようになります。
キャリーはすべて 0 とみなして、単に 4 組の 8 ビットの2進数の加算として計算されますから、
32 ビットの加算とは違った結果になってしまいます。
10 進数で表示された加算結果を見ると、違いがよく分かります。
32ビット加算、8ビット加算のいずれにも和が表示されていないときは、
をクリックすると、加算する数値が変更されます。
また、2進数数値をマウスでクリックすると、和が 7FFFFFFF *2 をこえない範囲で数値を編集できます。
こうして、ビット数が少ない CPU でも大きい数の計算ができますが、
何度も繰り返さなくてはなりませんから、計算時間がかかります。
CPU のビット数が多いほど、コンピュータは一般的に高速になります。
*1 キャリーについては、
2進数の加算と減算 を参考にしてください。
*2 16進表記。2進数では 01111111 11111111 11111111 11111111。10進数では 2,147,483,647。