エンジニアは豆電球の夢を見るか

日々の学びを書き綴る。忘れてしまうから。

CPUはなぜ「8ビット」「32ビット」「64ビット」なのか

疑問

  • 私の知っている限りCPUのビット数はすごい規則性のありそうな数字で性能が上がっている印象があったが、なぜその数字なのか
  • 一見した感じ8の倍数な気がするが、それなら24ビットCPUはなぜ無いのか

調査結果

8ビットの倍数である意味

標準的な文字コードとして、ASCII(7ビット)が普及し、その後も8ビットが基本の文字コードが生まれ続けているため、人間が理解できる文字を効率よく処理するために8の倍数になった

2ビットの冪乗である意味

メモリを確保するためにどれだけのサイズが必要かを計算するときに、ビットシフトをすることで効率よく計算ができるため

人間を例にすると

759個のリンゴを1箱[12]個入る箱に入れる場合、全部を箱に入れるのに何箱必要か

759 / 12 

を計算する必要があるが、計算するのが面倒くさい。 箱の容量が[10]個だったらどうだろうか

759 / 10

全てのリンゴを箱に入れるには[76個]の箱が必要だとすぐに計算できる

これは私たちが日頃、10で桁を上げているからで、コンピューターからすれば使いなれている、2で桁を上げる2進法が一番早く計算できる。

まとめ

現在のCPUは、効率よく文字を表現するために8ビットの倍数、早く計算するために2ビットの冪乗の両方に当てはまる「8ビット」「32ビット」「64ビット」のCPUになっている