パソコンやスマホの頭脳「CPU」。中では一体、何が起きているのでしょう? 実はCPUは、とても単純なことを猛烈な速さで繰り返しているだけ。そのしくみをやさしく解説します。
CPUは「命令を1つずつ実行する機械」
プログラムは、CPUへの命令の並びです。「この数とこの数を足せ」「結果をここに置け」といった単純な命令の列。CPUはそれを上から順に、1つずつ実行していきます。
論理回路:3つの基本ゲート
すべての計算は、たった数種類の論理ゲートの組み合わせでできています。
AND / OR
- AND: 両方が1のとき1
- OR: どちらかが1なら1
- スイッチの直列・並列で作る
NOT
- 入力を反転(0↔1)
- 1個のトランジスタ対で作る
- 他のゲートと組んで万能に
下のデモは、2つのトランジスタを直列につないだAND。両方ONのときだけ電気が通ります。
🎛️ トランジスタのスイッチで遊ぼう
2つのトランジスタを直列につなぐと「AND(両方ONで通電)」になります。押して光らせてみましょう
両方ONのときだけ電流が通り、出力が1になります。これが論理回路「AND」。半導体はこのスイッチの集まりです
いろんなゲートも試してみましょう。入力A・Bを切り替えると、出力と真理値表がどう変わるか一目でわかります。
🔌 論理ゲートビルダー
入力を切り替えて、ゲートが0と1をどう計算するか見てみましょう
両方が1のとき1
入力A
入力B
出力
A・Bのマスを押すと0↔1が切り替わります
真理値表(いまの入力の行が光ります)
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
この小さな判断(ゲート)を何十億個も集めたものがCPUやGPUです。NANDだけですべての回路が作れます
省エネの主役「CMOS」
現代のデジタル回路はCMOSという方式。N型とP型のMOSFETをペアで使い、切り替わる瞬間しか電気を食わないのでとても省エネです。スマホやPCが電池で長く動くのはCMOSのおかげ。下のデモで、静止時はほぼ0Wで、電圧や周波数を上げると消費電力が増える様子を体感できます。
🔋 CMOSの省エネを体験
CMOSは「切り替わる瞬間」だけ電気を食う省エネ回路。動かして電流と消費電力を見てみましょう
電流計
ほぼ 0(静止中は電気を食わない)
1%(最大比・ざっくり)
止めると電流ほぼ0=待機中はほとんど電気を食いません。消費は電圧の「2乗」に効くので、電圧を下げるのが省エネの王道です
ゲートを積み上げると頭脳になる
ゲートを組み合わせると、足し算をする回路(加算器)、記憶する回路(メモリ)、判断する回路ができます。これらをさらに集めると、CPUやGPUといった「頭脳」になります。
要するに
0と1のスイッチ → 論理ゲート → 計算・記憶 → CPU。半導体は「小さな判断の超巨大な集まり」です。
フェッチ・デコード・実行のサイクル
CPUの基本動作は、3ステップの繰り返しです。
命令サイクル
フェッチ
命令を取ってくる
デコード
何をするか解読
実行
計算して結果を保存
メモリから命令を取り(フェッチ)、それが何の命令か解読し(デコード)、演算器で実行する。これを1秒に何十億回も繰り返します。
登場人物
なぜ速い?なぜ何コアもある?
クロックとコア
CPUの「〇GHz」は、命令サイクルを1秒に何十億回刻むかの速さ(クロック)。かつては周波数を上げて速くしていましたが、電力の限界で頭打ちに。そこで「コア(CPUの本体)を複数積んで並列に処理する」マルチコアへ。今のPCが何コアもあるのは、この歴史のためです。
メモリとの距離が速度を決める
命令もデータもメモリにありますが、メモリはCPUより遅い。だから間にキャッシュという速いメモリを挟んで、待ち時間を減らしています。「計算そのもの」より「データをいかに速く運ぶか」が、実は現代のCPU性能のカギです。
まとめ
- CPUは命令を1つずつ実行する機械
- フェッチ→デコード→実行のサイクルを高速で繰り返す
- レジスタ・ALU・プログラムカウンタ・メモリが連携する
- 周波数は頭打ちでマルチコア化。メモリとの距離が速度を左右
📚 もう少し詳しく(背景)気になる人向け・タップで開く
CPU(中央演算処理装置)は、コンピュータの"頭脳"ですが、やっていることは意外と単純の繰り返しです。命令を読む→解読する→実行する→結果を書く、という基本サイクルを、猛烈な速さで延々とこなしているだけ(フェッチ・デコード・実行)1。1秒あたり何十億回(GHz)というクロックに合わせて、この歯車が回っています。
速さの秘訣は主に3つ——クロックを上げる、1回により多くの仕事をさせる、そして並列化(複数のコアで同時に処理する)です。かつては微細化でクロックをどんどん上げられましたが、発熱の壁でそれが頭打ちになり、今は「コアを増やす」方向が主流になりました2。
さらに、よく使うデータを手元に置くキャッシュや、命令を先読みして流れ作業のように処理するパイプラインなど、あの手この手で効率を上げています。単純な論理回路の膨大な集まりが、これほど賢く速く動くのは、こうした工夫の積み重ねの結果です。
次の一歩
演算器の中身はNANDから全加算器、記憶はフリップフロップ、速さの工夫はキャッシュのしくみへどうぞ。
