その他

コンピュータの仕組み そしてなぜ 半導体がなぜ必要か

この記事は約6分で読めます。

こんにちは。株式会社インプルの加納です。
半導体不足が社会問題になっています。その大きな原因の一つとして、世の中のあらゆるモノにコンピュータが搭載されてその材料となる半導体の生産が追いついていない、と言われています。

そこで今回は「そもそもコンピュータとは?」そして「半導体がなぜ必要なのか?」という部分についてまとめました。

The smug face of the author

コンピュータはどう計算するか

現在最も普及しているコンピュータのほとんどは、「0」と「1」だけを使って様々な計算を行っています。これは19世紀イギリスの学者・ブールが説いた「論理学」がもとになっています。ブールは「真」と「偽」の2つの値を使ってあらゆる論理を表現できると初めて証明し、Boolean(論理型)の由来にもなっています。

ジョージ・ブール - Wikipedia

コンピュータはスイッチのかたまり

「0」と「1」で様々な計算ができる…これをスイッチの「ON」と「OFF」で表現するものがコンピュータです。

  • 電気を通せば: ON
  • 電気を通さなければ: OFF
スイッチ - Wikipedia

スイッチの進化

コンピュータはスイッチを使って様々な計算や処理を行います。したがってスイッチの性能が上がれば素早く処理ができそうです。そろばんを想像していただくと、わかりやすいかもしれません。パチパチとそろばんの玉を弾くスピードが早ければ早いほど高性能です。

そろばん - Wikipedia

最初のスイッチ

最初のスイッチは、「リレー」と呼ばれる電磁石でできたスイッチでした。電磁石に電気を通すと、磁石のようになって鉄のスイッチを動かします。物理的に鉄でできたスイッチを動かすために、動作はもちろん遅いものでした。

継電器 - Wikipedia

そして半導体へ

その後、真空管スイッチを経て、半導体のスイッチが発明されます。この半導体のスイッチを「トランジスタ」といいます。

半導体とは

金属などのように、電気をよく伝える物質を「導体」といいます。半導体はゴムのように電気を伝えない物質と、金属などのようによく伝える物質のちょうど中間くらいの性質を持っています。そのため「半」導体と呼ばれます。

ゲルマニウムやシリコンが、半導体です。

半導体 - Wikipedia

トランジスタ

半導体のスイッチを「トランジスタ」といいます。物理的にスイッチを動かすのではなく、電子の動きによるONとOFFを実現し、電磁石のスイッチよりも遥かに高速で小型化できるようになりました。

電流とはそもそも電子の流れです。半導体の中を動き回る電子の動きをコントロールすることで、電気が流れたり流れないようにすることができ、これを応用してスイッチとしているのです。

トランジスタ - Wikipedia

IC(集積回路)〜LSI

半導体によってスイッチは小型化しました。これをいっぱい使ってコンピュータを作ればもっと性能の良いものが作れそうです。そうやって開発されたものが「IC(集積回路)」です。ICは複数のトランジスタが組み合わさったものです。

1970年台には、1つのコンピュータに1000以上のトランジスタが組み込まれました。このように集積度の上がったICを「LSI」といいます。

集積回路 - Wikipedia

2進数とビット

ところで、「0」と「1」の世界ではあらゆるものが「0」と「1」で表現されます。試しに 1~10 を二進数で表現すると以下のようになります。

012345678910
011011100101110111100010011010
二進数で1~10

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つのトランジスタが小さくなると動かす電子の距離も小さくなりさらに高速化します。それもあってトランジスタの小型化が年々進んできた経緯があります。ただし、際限なく小型化できるわけではもちろんありません。なぜならモノの大きさは原子より小さくできないからです。

ムーアの法則 - Wikipedia

マルチコア化

小型化の次なる1手として「マルチコア」が登場します。これはたくさんのCPUで協力し複数のタスクを同時に処理するための手法です。もちろんコアが多いほど 同時に多くのタスクをこなすことができます。

Apple M1 Pro チップ

ちなみに、執筆時点で最新の「Apple M1 Pro」チップには 337億個(!) のトランジスタが搭載されています。

CPUは8コアまたは10コアで、そのうち高性能コアは6コアまたは8コア。GPUは14コアまたは16コア。
他のチップと比較するとわかるように、チップそのものを大型化し、よりたくさんのコア、そしてよりたくさんの半導体を搭載しているわけですね。

M1 ProとM1 Maxが登場:Apple史上最もパワフルなチップ
本日、AppleはMacのための新しい画期的なチップとなるM1 ProとM1 Maxを発表しました。

まとめ

  • コンピュータは「0」と「1」で計算を行う
  • 電気的なスイッチで「0」と「1」を表現できる
  • 半導体は、超小型で高速に動作するスイッチの材料

おまけ

  • 半導体として多く用いられているシリコンなどの材は、世界中に大量にあります。不足しているのはそれを加工する生産設備です。
  • 「0」と「1」ではなく、魚の群れを追いかけて処理を行う「漁師コンピュータ」も開発されています。

初心者にもわかりやすいおすすめ記事はこちら!
JavaScript | 複雑な条件分岐を綺麗にする方法まとめ【if文 / 三項演算子 など】
...