こんにちは。株式会社インプルの加納です。
半導体不足が社会問題になっています。その大きな原因の一つとして、世の中のあらゆるモノにコンピュータが搭載されてその材料となる半導体の生産が追いついていない、と言われています。
そこで今回は「そもそもコンピュータとは?」そして「半導体がなぜ必要なのか?」という部分についてまとめました。
コンピュータはどう計算するか
現在最も普及しているコンピュータのほとんどは、「0」と「1」だけを使って様々な計算を行っています。これは19世紀イギリスの学者・ブールが説いた「論理学」がもとになっています。ブールは「真」と「偽」の2つの値を使ってあらゆる論理を表現できると初めて証明し、Boolean(論理型)の由来にもなっています。
コンピュータはスイッチのかたまり
「0」と「1」で様々な計算ができる…これをスイッチの「ON」と「OFF」で表現するものがコンピュータです。
- 電気を通せば: ON
- 電気を通さなければ: OFF
スイッチの進化
コンピュータはスイッチを使って様々な計算や処理を行います。したがってスイッチの性能が上がれば素早く処理ができそうです。そろばんを想像していただくと、わかりやすいかもしれません。パチパチとそろばんの玉を弾くスピードが早ければ早いほど高性能です。
最初のスイッチ
最初のスイッチは、「リレー」と呼ばれる電磁石でできたスイッチでした。電磁石に電気を通すと、磁石のようになって鉄のスイッチを動かします。物理的に鉄でできたスイッチを動かすために、動作はもちろん遅いものでした。
そして半導体へ
その後、真空管スイッチを経て、半導体のスイッチが発明されます。この半導体のスイッチを「トランジスタ」といいます。
半導体とは
金属などのように、電気をよく伝える物質を「導体」といいます。半導体はゴムのように電気を伝えない物質と、金属などのようによく伝える物質のちょうど中間くらいの性質を持っています。そのため「半」導体と呼ばれます。
ゲルマニウムやシリコンが、半導体です。
トランジスタ
半導体のスイッチを「トランジスタ」といいます。物理的にスイッチを動かすのではなく、電子の動きによるONとOFFを実現し、電磁石のスイッチよりも遥かに高速で小型化できるようになりました。
電流とはそもそも電子の流れです。半導体の中を動き回る電子の動きをコントロールすることで、電気が流れたり流れないようにすることができ、これを応用してスイッチとしているのです。
IC(集積回路)〜LSI
半導体によってスイッチは小型化しました。これをいっぱい使ってコンピュータを作ればもっと性能の良いものが作れそうです。そうやって開発されたものが「IC(集積回路)」です。ICは複数のトランジスタが組み合わさったものです。
1970年台には、1つのコンピュータに1000以上のトランジスタが組み込まれました。このように集積度の上がったICを「LSI」といいます。
2進数とビット
ところで、「0」と「1」の世界ではあらゆるものが「0」と「1」で表現されます。試しに 1~10 を二進数で表現すると以下のようになります。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
10進数で言うところの「10」を表現するために、2進数だと4桁も必要です。
このように、桁数はそのまま表現力に直結します。つまり一度に扱える桁の数が大きいほどたくさんの情報を処理できるのです。
ビット
この一桁を「ビット」といいます。4桁の場合は4ビット、32桁の場合は32ビットです。
よく「32ビットCPU」とか「64ビットCPU」とか耳にしますが、これはそのCPUが何桁の二進数で計算できるかを表しています。桁数が大きいほど、一度にたくさんの情報を扱うことができます。
クロック周波数とは
スイッチの「ON」と「OFF」は、バラバラではなく規則ただしいタイミングで切り替わります。この「ON」と「OFF」の繰り返しの信号を「クロック」といい、1秒間に何回「ON」と「OFF」を切り替えるかを「クロック周波数」といいます。
例えば、クロック周波数が1GHz(1ギガヘルツ)であれば、1秒間に10億回のスイッチ切り替えになります。
クロック周波数が高いほど、コンピュータは高速に処理を行うことができます。
コンピュータの性能向上
ここまでみてきたように、スイッチの性能がコンピュータの性能に直結しています。スイッチ、すなわちトランジスタの小型化は年々進化を続け、コンピュータに搭載されるトランジスタの数も増え続けています。
また、1つ1つのトランジスタが小さくなると動かす電子の距離も小さくなりさらに高速化します。それもあってトランジスタの小型化が年々進んできた経緯があります。ただし、際限なく小型化できるわけではもちろんありません。なぜならモノの大きさは原子より小さくできないからです。
マルチコア化
小型化の次なる1手として「マルチコア」が登場します。これはたくさんのCPUで協力し複数のタスクを同時に処理するための手法です。もちろんコアが多いほど 同時に多くのタスクをこなすことができます。
Apple M1 Pro チップ
ちなみに、執筆時点で最新の「Apple M1 Pro」チップには 337億個(!) のトランジスタが搭載されています。
CPUは8コアまたは10コアで、そのうち高性能コアは6コアまたは8コア。GPUは14コアまたは16コア。
他のチップと比較するとわかるように、チップそのものを大型化し、よりたくさんのコア、そしてよりたくさんの半導体を搭載しているわけですね。
まとめ
- コンピュータは「0」と「1」で計算を行う
- 電気的なスイッチで「0」と「1」を表現できる
- 半導体は、超小型で高速に動作するスイッチの材料
おまけ
- 半導体として多く用いられているシリコンなどの材は、世界中に大量にあります。不足しているのはそれを加工する生産設備です。
- 「0」と「1」ではなく、魚の群れを追いかけて処理を行う「漁師コンピュータ」も開発されています。