CPUとキャッシュメモリ 〜1秒に30億回指示書をめくる鬼バイトと、胸ポケットの付箋〜

2026-11-04 / シリーズ「コンピューティングの芯」第2話

1. 素朴な疑問:「CPU=頭脳」って、中で何を考えているの?

パソコンやスマホのカタログを開くと、必ず「Core i7」「Ryzen」「3.2GHz」「8コア」といった謎の呪文が並んでいます。 店員さんに聞くと、決まって**「CPUはパソコンの頭脳ですから、ここが良いと頭の回転が速いですよ」**と説明されます。

マザーボードのAM4ソケットに装着されたAMD Ryzen 7 1800Xの実物
カタログで見かける「Ryzen」の実物です。マザーボードのソケットに収まったこの金属の板の下に、本文でいう「作業員」が詰まっています。写真:Brian Wong(CC BY-SA 2.0/Wikimedia Commons)

しかし、ここに初心者をつまずかせる最大の誤解があります。 CPUは、アインシュタインのように「深く物事を考えている」わけではありません。 むしろ中身は、「右の箱の数字と左の箱の数字を足せ」「この数字をあっちの箱に動かせ」という、小学生でもできる単純作業しかできない機械です。

では、なぜそんな単純作業しかできない部品が、リアルタイムで3Dゲームを動かし、動画を編集できるのでしょうか? 理由はたった1つ、**「人間の想像を絶するスピードで、その単純作業をこなしているから」**です。


2. 概念の芯:1秒に30億回ハンコを押す「超高速の鬼バイト」

第1話で、コンピュータの中身をオフィスに例えました。

この作業員(CPU)がやっている仕事は、驚くほど機械的で、たった3つの動作の繰り返しです。

① 命令を取り出す フェッチ(Fetch) ② 指示を解読する デコード(Decode) ③ 計算・実行する エグゼキュート(Execute) 次の伝票へ(繰り返し)
  1. 取り出し(Fetch):机(メモリ)の上に並んでいる指示書(プログラム)から、次の1行を手に取る。
  2. 解読(Decode):「えーと、『Aに1を足せ』だな」と指示の意味を理解する。
  3. 実行(Execute):電卓を叩いて計算し、結果を机に置く。

「3.2GHz(ギガヘルツ)」とは何の数字なのか?

カタログにある「3.2GHz」という数字は、この作業員の手元で鳴っている**「メトロノーム(クロック)のテンポ」**です。

つまりCPUとは、賢い学者などではなく、**「1秒間に32億回鳴り響く狂気のメトロノームに合わせて、1拍ごとに指示書をめくってハンコを押し続けている超人的な鬼バイト」**なのです。 どんなに難しいプログラムも、32億分割された超単純な計算の連続として猛スピードで片付けているから、あたかも「賢い頭脳」のように見えています。


3. 本題:作業机(メモリ)すら「遅すぎて待てない」CPUのイライラ

ここで、第1話の話を思い出してください。 第1話では、「メモリは電気で記録するから、書類棚(SSD)に比べて1,000倍も速い超高速な作業机だ」と説明しました。

ところが、1秒間に30億回も動くCPUの視点に立つと、まったく別の地獄が見えてきます。 なんと、**CPUから見ると、あの超高速なはずのメモリ(机)すら「遅すぎてイライラする存在」**なのです。

時間の感覚を「人間のスケール」に引き伸ばしてみる

CPUの1回の拍手(1クロック=約0.3ナノ秒)を、人間の感覚の**「1秒」**に引き伸ばしてみましょう。

部品実際のアクセス時間人間の感覚に引き伸ばすと…(CPUが感じる体感時間)
CPUの計算(レジスタ)約0.3ナノ秒「1秒」(手元でペンを走らせる一瞬)
作業机(メインメモリ)約30ナノ秒「約1分40秒」の待ちぼうけ!
書類棚(SSDストレージ)約30マイクロ秒「約1日以上」部屋の外で待たされる!

CPUが手元の計算を1秒で終わらせて「よし、次の指示書をくれ!」と机(メモリ)に手を伸ばしても、データが届くまでに体感で1分40秒も待たされます。 1秒に30億回動ける人間が、次の指示書が来るたびに1分以上も腕組みをしてぼーっと待っている……。これは猛烈な時間の無駄です。

触って試す:待ち時間の体感演習

⏱️ アクセス時間の体感演習

読み出し先のボタンを押すと、CPUがどれだけ待たされるかを「実時間」と「人間のスケールに引き伸ばした体感時間」で表示します。速い順は レジスタ > L1キャッシュ > メモリ > SSD です。

まずはボタンを押してみてください。

🏃 超高速CPU 📑 キャッシュ(胸ポケット) 🗂️ メモリ(徒歩2分の机) 「次の指示書ある?」 ポケットにあった!(キャッシュヒット:約95%) 「はい、どうぞ!」(ほぼ一瞬で受取完了) CPU:立ち止まらずに次の計算へ! ポケットになかった…(キャッシュミス) 机まで取りに行く(体感1分40秒待たされる) やっと届く

解決策:胸ポケットの付箋「キャッシュメモリ」

この「机まで手を伸ばす時間すら惜しい」という極限のワガママを解決するために作られたのが、**「キャッシュメモリ(SRAM)」**です。

技術者たちは、CPUのチップ(作業員の体)の中に、ごくわずかな容量だけ**「超ウルトラ高速なメモ用紙」を直接埋め込みました。作業員の服に例えるなら、「胸ポケットに入れた付箋」**です。

AMD Zen 2(Ryzen 3000番台)のシリコンダイ。コアとキャッシュメモリのブロックが規則正しく並ぶ
CPUチップの中身(シリコンダイ)を拡大したものです。規則正しく並んだブロックがコアとキャッシュメモリで、キャッシュはこのようにチップの中へ直接埋め込まれています。写真:Fritzchens Fritz(CC0/Wikimedia Commons)
  1. 作業机(メモリ)から書類を持ってくるとき、「どうせ次もこのあたりのページを使うだろう」という数行分を先回りして胸ポケット(キャッシュ)にコピーしておく。
  2. 次の計算をするとき、CPUは机を見ずに、まず胸ポケットを探す。
  3. ポケットにデータがあれば(キャッシュヒット)、机まで行かずに0.001秒で作業を続ける。

現在のパソコンは、このキャッシュが優秀なおかげで、作業の約90〜95%は胸ポケット(キャッシュ)の中だけで完結しています。机(メモリ)まで書類を取りに行く回数を極限まで減らしているからこそ、CPUはその狂気じみたスピードを維持できているのです。


4. なぜ今は「8コア」「16スレッド」と人数を増やすのか?

最後に、カタログによく書いてある「コア数」の謎を解いておきましょう。

「1秒間に30億回(3GHz)動けるなら、メトロノームをもっと速くして、1秒間に100億回(10GHz)にすればもっと速くなるのでは?」と思いますよね。 実は、2000年代半ばに世界中のエンジニアがそれに挑戦して、物理の壁にぶち当たりました。

メトロノームの針をこれ以上速く振ると、CPUがすさまじい摩擦熱を発して、文字通り「フライパンのように目玉焼きが焼ける温度」になってチップが溶けてしまうのです。これを「熱の壁(消費電力の限界)」と呼びます。

マザーボードのソケットに装着されたIntel Pentium 4 2.4GHzの実物
クロック周波数競争の主役だったPentium 4(2.4GHz)の実物です。この世代で発熱が限界に達し、「熱の壁」が姿を現しました。写真:László Szalai (Beyond silence)(パブリックドメイン/Wikimedia Commons)

そこで人類は、発想を切り替えました。 「1人の足の速さを上げるのはもう限界だ。これからは、作業員(コア)の『人数』を増やそう!」

昔の限界(1人を極限まで酷使) 作業員1人 テンポを上げすぎて熱暴走!🔥 現代の工夫(マルチコア) 作業員1(動画再生担当) 作業員2(LINEの通信担当) 作業員3(ウイルス対策担当) 作業員4(ゲーム描画担当)

1人で「動画の再生」も「裏でのダウンロード」も「LINEの通知」もこなそうとするとパンクしますが、8人の作業員がいれば「お前は動画、お前は通信、お前はウイルススキャン」と仕事を分担できます。 パソコンのカタログに書いてある「8コア」とは、熱で溶けないギリギリの速度で動く鬼バイトが、1つの部屋に8人並んで座っている状態のことだったのです。


📝 3行で頭に入る「試験・実務の要点まとめ」

確認クイズ

📝 確認クイズ(3問)