メインコンテンツへスキップ
ブログ一覧に戻る
IT基礎講座 公開

CPUはなぜ速くなり続けるの? 合図が速くならなくなった理由と、3つの工夫|ラクにゃんとミナが解説

CPUIT基礎ラクにゃんGPUパソコンのしくみ
目次(10 章)
ラクにゃんミナ

ラクにゃんとミナ

アイキャッチ
ミナ
ミナ
ラクにゃん、CPUって、毎年どんどん速くなっているんですよね? 新しいパソコンが出るたびに「前より速い」って書いてあります。
ラクにゃん
ラクにゃん
うん、速くなっているよ。CPUの中の部品の数も、50年で何千万倍にも増えたんだ。
ミナ
ミナ
やっぱり! じゃあ、速さの「ギガヘルツ」の数字も、どんどん大きくなっているんですね。
ラクにゃん
ラクにゃん
それがね、実はちがうんだよ。速さの合図、クロックは、2000年代の半ばから、あまり速くなっていないんだ。
ミナ
ミナ
合図……? CPUの中で、だれかが合図を出しているんですか?
ラクにゃん
ラクにゃん
そうなんだ。CPUの中の部品は、「せーの」で一斉に動くための拍子に合わせて、仕事を1歩ずつ進めているんだよ。この拍子がクロック。1秒間に何回拍子を打つかが「ギガヘルツ」の数字で、3ギガヘルツなら、1秒間に30億回だね。
ミナ
ミナ
30億回! でも、その拍子が速くならないのに、どうしてCPUは速くなるんですか?
ラクにゃん
ラクにゃん
そこが今日のお話。合図を速くする以外の工夫と、合図が速くならなくなった理由を、順番に見ていこう。
部品の数千個10万個1千万個10億個1千億個50 年で、何千万倍にも合図の速さ(1 秒に打つ回数)10万回100万回1千万回1億回10億回100億回2005 年ごろから横ばい197119801990200020102021
部品の数千1千万1千億50 年で、何千万倍にも合図の速さ(1 秒に打つ回数)10万1千万10億2005 年ごろから横ばい197119801990200020102021
縦の目盛りは 1 目盛りで 10 倍・点は 1 つ 1 つの CPU(1971〜2021 年)・元データ:Karl Rupp, Microprocessor Trend Data(CC BY 4.0)
この記事の要点
  1. 1CPUの速さの合図(クロック)は、速くするほど電気と熱が増える。2000年代の半ばに冷やしきれなくなり、それからはあまり速くならなくなった。
  2. 2増えた部品は、「流れ作業(パイプライン)」「先読み(分岐予測)」「手元の棚(キャッシュ)」に使われ、1回の合図でこなせる仕事を増やしてきた。合図が止まってからは、「台所を増やす(マルチコア)」が加わった。
  3. 3台所を増やしても、仕事の中に順番にしかできない部分があると、そこで詰まる。だから、同じ計算をたくさん一斉にするAIは、小さな台所が何千もあるGPUで動かす。

まずは、CPU の中を台所にたとえてみる

ミナ
ミナ
動画では、CPU の中を台所にたとえていましたよね。
ラクにゃん
ラクにゃん
そうだね。動画を見ていない人のためにも、まずはそこから始めよう。

CPU は、パソコンやスマホの「頭脳」にあたる部品です。中を台所にたとえると、レシピを読んで指示を出す料理長(制御装置)、手を動かして計算する料理人(演算装置)、今使う材料をほんの少しだけ置いておくまな板(レジスタ)がいます。少し離れた所には、材料をたくさんしまっておく冷蔵庫(メインメモリ)があります。

1 つの命令は、料理長がレシピを 1 行取り出し、何をするかを読み解き、料理人が手を動かし、できたものをまな板に戻す、という順に進みます。CPU の言葉では「取り出す(フェッチ)→ 読み解く(デコード)→ 計算する(実行)→ 書き戻す」です。

123456
123456
たとえ → 実物実物の写真1
料理長→制御装置CPU の中
2
料理人→演算装置CPU の中
3
まな板→レジスタCPU の中
4
手元の棚→キャッシュ(L1・L2・L3)CPU の中
5
冷蔵庫→メインメモリCPU の外(板に差す部品)
メインメモリ
6
壁の時計の拍子→クロックCPU の中のみんなに届く合図
1〜4
台所 1 つ(1〜4 の 1 組)→コアCPU の中に、いくつも並ぶ
+
給食センター(あとで出てくる)→GPU小さな台所が何千も
GPU
写真:キャッシュとコア=Fritzchens Fritz/CC0・メインメモリ=ElooKoN/CC BY-SA 4.0・GPU=Advanced Micro Devices, Inc.(AMD)/いずれも Wikimedia Commons

このあとのお話では、たとえと実物の言葉の両方を使います。迷ったら、この一覧に戻ってきてください。

ラクにゃん
ラクにゃん
この「1 つの命令が進む流れ」が、今日のお話の土台になるよ。

CPU のはじまり:部屋いっぱいの計算機から、指先のチップへ

ミナ
ミナ
そもそも、CPU って、いつからあるんですか?
ラクにゃん
ラクにゃん
小さなチップ 1 つの CPU が生まれたのは、1971 年なんだ。でも、その前に、長い道のりがあったんだよ。
ペンシルベニア大学に展示されている ENIAC の一部(1940 年代の計算機)
ペンシルベニア大学に展示されている ENIAC の一部(1940 年代の計算機)写真:Paul W. Shaffer(ペンシルベニア大学)/CC BY-SA 3.0/Wikimedia Commons

1940 年代の計算機 ENIAC(エニアック) は、部屋いっぱいの大きさでした。電気のスイッチの役目をしていたのは、電球のような形をした真空管。それが 1 万 7 千本以上も並んでいて、よく切れては取り替えていたそうです。

1947 年、アメリカのベル研究所で、真空管の代わりになる小さなスイッチ、トランジスタが生まれます。真空管よりずっと熱が少なく、壊れにくく、ずっと小さい部品でした。CPU の「部品の数」と言うときに数えているのは、このトランジスタです。

最初に動いたトランジスタの複製
最初に動いたトランジスタの複製写真:Mister rf/CC BY-SA 4.0/Wikimedia Commons

さらに 1958 年には、トランジスタなどの部品を 1 枚の板の上にまとめて作る集積回路(IC)が生まれました。そして 1971 年、CPU の働きをまるごと 1 つのチップに収めた「マイクロプロセッサー」が売り出されます。今、私たちが CPU と呼んでいるのは、このマイクロプロセッサーのことです。アメリカのインテルが、日本の計算機メーカー、ビジコンの電卓のために作った「4004」でした。

最初に売り出されたマイクロプロセッサー「4004」(1971 年)
最初に売り出されたマイクロプロセッサー「4004」(1971 年)写真:Thomas Nguyen/CC BY-SA 4.0/Wikimedia Commons
ミナ
ミナ
最初に売り出されたマイクロプロセッサーは、日本の電卓のためだったんですか!
ラクにゃん
ラクにゃん
そうなんだよ。4004 の中のトランジスタは、およそ 2,300 個。今の CPU には、多いもので何百億個も入っているんだ。

4004 の合図の速さは、1 秒間におよそ 74 万回(740 キロヘルツ)でした。今のパソコンの CPU は、1 秒間に数十億回(数ギガヘルツ)。合図はおよそ数千倍に速くなりましたが、部品の数の増え方に比べると、ずっと小さな伸びです。

ミナ
ミナ
部品が何千万倍にも増えたなら、速さもそれくらい上がりそうですけど……。増えた部品は、何に使われているんですか?
ラクにゃん
ラクにゃん
いいところに気がついたね。答えは、これから見る 3 つの工夫の中にあるよ。

工夫① 流れ作業:前の命令を待たずに、次を始める

ラクにゃん
ラクにゃん
1 つ目は、流れ作業。CPU の言葉では、パイプラインというよ。
ミナ
ミナ
流れ作業って、工場みたいな?
ラクにゃん
ラクにゃん
そう。洗濯で考えてみよう。「洗う・干す・たたむ」の 3 つの仕事があるとするね。

洗濯物が 3 回分あるとき、1 回分を「洗う → 干す → たたむ」と全部終えてから、次の 1 回分を洗い始めると、とても時間がかかります。でも、1 回目を干している間に、2 回目を洗い始めればどうでしょう。洗濯機も、物干しも、たたむ人も、空いている時間がなくなります。

CPU の命令も同じです。1 つ目の命令を「読み解いている」間に、2 つ目の命令を「取り出し」、3 つ目の命令を……と、段を少しずつずらして重ねることで、1 つの命令にかかる時間は同じでも、終わる命令の数が増えます。

取取り出す読読み解く計計算する書書き戻す1 つずつ順番に命令1取読計書命令2取読計書命令3取読計書命令4取読計書16 コマで 4 つ重ねて流す(流れ作業)命令1取読計書命令2取読計書命令3取読計書命令4取読計書7 コマで 4 つ時間 →(1 コマ=合図 1 回)
取取り出す読読み解く計計算する書書き戻す1 つずつ順番に命令1取読計書命令2取読計書命令3取読計書命令4取読計書16 コマで 4 つ重ねて流す(流れ作業)命令1取読計書命令2取読計書命令3取読計書命令4取読計書7 コマで 4 つ時間 →(1 コマ=合図 1 回)
1 つの命令にかかる時間は同じ。重ねると、終わる命令の数が増える

段ごとに別々の命令を受け持たせるには、段と段のあいだで、途中の結果をしっかり預かっておく係が要ります。この係も、トランジスタでできています。増えた部品の使い道の 1 つ目が、これです。

ミナ
ミナ
料理長がレシピを読んでいる間に、料理人は前の料理を作っている、みたいな感じですね。
ラクにゃん
ラクにゃん
まさにそれだね。台所のみんなが、いつも何かしているようにする工夫なんだよ。
ミナ
ミナ
じゃあ、段をもっと細かく分けたら、もっと速くなりますか?
ラクにゃん
ラクにゃん
いい質問だね。実は、そうやって合図を速くしてきた時代があるんだ。

段を細かく分けると、1 つの段の仕事が軽くなります。仕事が軽ければ、拍子を速く打っても間に合います。洗濯なら、「洗う・すすぐ・脱水・干す・たたむ」と分けるほど、次の洗濯物を早く入れられる、というわけです。

2000 年代のはじめには、段を 30 ほどにまで細かく分けて、合図をぐんと速くした CPU もありました。ところが、段を増やすほど困ることが 2 つ出てきます。1 つは、合図を速くするほど電気を使い、熱が出ること。もう 1 つは、流れが止まったときの損が大きくなることです。どんなときに流れが止まるのか。それが、次の工夫につながります。


工夫② 先読み:分かれ道の先を、予想して進む

プログラムの中には、「もし〜なら、こちら。そうでなければ、あちら」という分かれ道がたくさんあります。CPU の言葉では分岐と呼びます。

流れ作業では、命令を先へ先へと取り出しておきたいのに、分かれ道では「どちらへ進むか」が、前の計算が終わるまで決まりません。待っていると、流れが止まってしまいます。

ミナ
ミナ
じゃあ、決まるまで待つしかないんですか?
ラクにゃん
ラクにゃん
そこで、CPU は予想するんだ。これを分岐予測というよ。

CPU は、「この分かれ道では、前はいつもこちらへ進んだ」という記録をもとに、進む先を予想して、その先の命令を先に取り出して進めておきます。当たれば、そのまま止まらずに進めます。外れたら、先に進めておいた分を捨てて、正しい道からやり直します。

当たったとき上の道下の道前の記録上・上・上・上予想:上へ命命命上答えが出る✓ そのまま進む外れたとき上の道下の道前の記録上・上・上・上予想:上へ命命命下答えが出る✕ 先に進めた分を捨てる命命命下の道からやり直し
当たったとき上の道下の道前の記録上・上・上・上予想:上へ命命命上答えが出る✓ そのまま進む外れたとき上の道下の道前の記録上・上・上・上予想:上へ命命命下答えが出る✕ 先に進めた分を捨てる命命命下の道からやり直し
今の CPU は、ほとんどの分かれ道を当てている
ミナ
ミナ
でも、外れたら、かえって遅くなりませんか?
ラクにゃん
ラクにゃん
外れると、先に進めた分を捨てるから、そのぶんは損をするよ。段を細かく分けた CPU ほど、捨てる命令が多くて損も大きいんだ。だから、当てることがとても大事なんだよ。

今の CPU は、分かれ道ごとに「前はどちらへ進んだか」「その前はどうだったか」を細かく記録して、ほとんどの分かれ道を当てています。同じ分かれ道を何度も通るプログラムが多いので、記録がよく役に立つのです。この記録をしまっておく帳面も、トランジスタでできています。増えた部品の使い道の 2 つ目です。

ミナ
ミナ
外れることもあるけれど、ほとんど当たるから、待つより得なんですね。

工夫③ 手元の棚:冷蔵庫まで取りに行かない

ラクにゃん
ラクにゃん
3 つ目は、動画でも出てきたキャッシュメモリ。まな板のすぐ横に置いた、小さな棚だったね。
ミナ
ミナ
よく使う材料を置いておく棚ですよね。
ラクにゃん
ラクにゃん
そう。実はこの棚、CPU が速くなるほど、大事になっていったんだよ。

CPU の計算はどんどん速くなりましたが、冷蔵庫にあたるメインメモリから材料を取ってくる速さは、それほど速くなりませんでした。料理人の手は速いのに、冷蔵庫まで材料を取りに行くたびに、長く待たされてしまいます。この差は「メモリの壁」と呼ばれています。

そこで CPU は、料理人のすぐそばに、小さくて速い棚を何段も置くようになりました。いちばん近くの小さな棚が L1、その次が L2、少し大きな L3 です。欲しい材料が棚で見つかれば「ヒット」、見つからずに冷蔵庫まで取りに行けば「ミス」と呼びます。

取りに行く時間を、人の時間に直すと(L1 から取るのを 1 秒としたとき・目安)L1(いちばん近い棚)1 秒L2約 3 秒L3約 10 秒冷蔵庫(メインメモリ)1 分半〜2 分冷蔵庫の中の並び頼んだ 1 つ隣もまとめて、棚へ持ってくる
取りに行く時間を、人の時間に直すと(L1 から取るのを 1 秒としたとき・目安)L1(いちばん近い棚)1 秒L2約 3 秒L3約 10 秒冷蔵庫(メインメモリ)1 分半〜2 分冷蔵庫の中の並び頼んだ 1 つ隣もまとめて、棚へ持ってくる

どれくらい差があるのか、人の時間に直してみましょう。いちばん近い棚(L1)から取るのに 1 秒かかるとすると、冷蔵庫まで取りに行くと、およそ 1 分半から 2 分。ほんの少しの棚が、どれだけ助けになるかが分かります。

ミナ
ミナ
でも、棚は小さいんですよね。何を置いておくかは、だれが決めているんですか?
ラクにゃん
ラクにゃん
CPU が自分で決めているんだよ。手がかりは 2 つあるんだ。

1 つは、「さっき使ったものは、またすぐ使う」。もう 1 つは、「使ったものの隣にあるものも、すぐ使う」。だから CPU は、冷蔵庫から材料を取ってくるとき、頼んだ 1 つだけでなく、隣に並んでいる材料もまとめて持ってきて、棚に置いておきます。

プログラムの多くは、同じ所を何度もくり返し、順番に並んだデータを前から読んでいきます。だから、この 2 つの手がかりがよく当たり、小さな棚でも、ほとんどの材料が棚で見つかるのです。反対に、あちこちに散らばったデータを飛び飛びに読む仕事では、棚がなかなか当たらず、冷蔵庫まで何度も走ることになります。

ミナ
ミナ
棚で見つかれば 1 秒、なければ 1 分半以上……。それは棚に置いておきたくなりますね。
ラクにゃん
ラクにゃん
だから、今の CPU のチップの中では、この棚がかなり広い場所を使っているんだよ。これが、増えた部品の使い道の 3 つ目だね。
コア=台所 1 つL2=その台所の棚L3=4 つの台所で使う大きな棚12345678
コア=台所 1 つL2=その台所の棚L3=4 つで使う棚1234
CPU のチップの中を拡大して見たところ(2017 年の CPU)。台所(コア)が 8 つ作られていて、4 つで 1 組の大きな棚(L3)を使う|写真:Fritzchens Fritz/CC0/Wikimedia Commons

写真を見ると、真ん中の大きな区切りが、L3 の棚です。左右には、台所にあたる部分が並んでいます。チップの中で、棚がどれだけ広い場所を使っているかが分かります。

ミナ
ミナ
流れ作業の係、先読みの帳面、手元の棚。増えた部品は、こういう所に使われてきたんですね。
ラクにゃん
ラクにゃん
そうなんだ。合図を速くするのと一緒に、1 回の合図でこなせる仕事を増やしてきたんだね。

合図が速くならなくなった理由:熱の壁

ミナ
ミナ
でも、最初の話にもどると、どうして合図だけは速くならなくなったんですか?
ラクにゃん
ラクにゃん
答えは、熱なんだ。

クロックは、CPU の中のみんなが動きをそろえるための拍子です。拍子を速くすると、トランジスタのスイッチが、1 秒間にそれだけ多く入ったり切れたりします。スイッチが切り替わるたびに電気を使い、その電気は熱に変わります。

部品を小さくすると、スイッチは小さな力で、すばやく切り替わるようになります。部品と部品のあいだも近くなるので、電気の信号が届くまでの時間も短くなります。小さくするほど、拍子を速く打てたのです。

しかも長いあいだ、部品を小さくすると、使う電気も一緒に減ってくれました。同じ広さのチップに部品を何倍も詰め込み、拍子を速くしても、チップ全体の電気はあまり増えなかったのです。だから、部品を小さくしながら、拍子をどんどん速くできました。ところが 2000 年代の半ばごろ、部品をさらに小さくしても、電気が思うように減らなくなりました。

ミナ
ミナ
どうして、急に減らなくなったんですか?
ラクにゃん
ラクにゃん
部品が小さくなりすぎて、スイッチを「切った」はずなのに、電気が少しずつ漏れるようになったんだよ。

水道の蛇口を、きっちり閉めても、ぽたぽたと水が漏れるようなものです。漏れた電気は、仕事をしていなくても熱に変わります。しかも、漏れを減らすために電気の勢い(電圧)を下げると、今度はスイッチがきちんと入らなくなります。部品を小さくするたびに、電気が減ってくれる、という流れが、ここで止まりました。2004 年には、合図をさらに速くする予定だった CPU の開発が、熱の問題で取りやめになっています。

ミナ
ミナ
それなら、もっと大きなファンで、もっと強く冷やせばいいのでは?
ラクにゃん
ラクにゃん
そう思うよね。でも、熱が出るのは、指先ほどの小さなチップの中なんだ。

小さな場所に熱がぎゅっと集まると、外側をいくら冷やしても、チップの中から熱を外へ逃がす速さが追いつきません。しかも、ノートパソコンやスマホには、大きなファンを積む場所がありません。拍子を速くしようとすると、チップが熱くなりすぎて、冷やしきれなくなったのです。これを「熱の壁」と呼びます。

CPU の熱を逃がすための部品(ヒートシンクとファン)
CPU の熱を逃がすための部品(ヒートシンクとファン)写真:smial/Free Art License/Wikimedia Commons
ミナ
ミナ
速くしたくても、熱くなりすぎるんですね。
ラクにゃん
ラクにゃん
そう。そこで、考え方を変えたんだ。1 つの台所の拍子をこれ以上速くできないなら、台所そのものを増やそうってね。

料理長・料理人・まな板・手元の棚の 1 組を、1 つの台所と考えてください。この台所 1 つ分を コア と呼びます。1 つのチップの中にコアを何組も入れるのがマルチコアです。台所が 2 つならデュアルコア、4 つならクアッドコア。どの台所も、大きな冷蔵庫(メインメモリ)は一緒に使います。棚の章で見たチップの写真にも、台所が 8 つ並んでいましたね。

熱の壁部品(トランジスタ)の数千個10万個1千万個10億個1千億個合図の速さ(1 秒に打つ回数)10万回100万回1千万回1億回10億回100億回2005 年ごろから横ばいコアの数(台所の数)1101001000合図が止まったころから、台所が増える197119801990200020102021
熱の壁部品(トランジスタ)の数千1千万1千億合図の速さ(1 秒に打つ回数)10万1千万10億2005 年ごろから横ばいコアの数(台所の数)1101001000合図が止まったころから増える197119801990200020102021
縦の目盛りは 1 目盛りで 10 倍・点は 1 つ 1 つの CPU(コアの数にはサーバー用なども入る・1971〜2021 年)・元データ:Karl Rupp, Microprocessor Trend Data(CC BY 4.0)

最初のグラフで、合図の線が寝たころから、コアの数の線が立ち上がっています。合図が止まってから加わった工夫が、この「台所を増やす」なのです。

パソコンの説明で「8 コア 16 スレッド」のような書き方を見たことがあるかもしれません。スレッドは、台所で同時に進められる料理の数です。料理人が冷蔵庫に材料を取りに行っている待ち時間や、手の空いた所で、もう 1 つの料理を進める。そうすると、1 つの台所で 2 つの料理を同時に進められます。棚の章で見た「冷蔵庫までの待ち時間」を、むだにしない工夫です。

ミナ
ミナ
スマホの CPU にも、台所がいくつもあるんですか?
ラクにゃん
ラクにゃん
あるよ。しかもスマホでは、大きさのちがう台所を組み合わせることが多いんだ。

スマホの CPU の多くは、力の強い大きなコアと、電気をあまり使わない小さなコアを、一緒に積んでいます。メールを受け取るような軽い仕事は小さなコアにまかせ、ゲームや、動画を作って保存するような重い仕事のときだけ、大きなコアを動かします。大きなファンを積めないスマホで、速さと電池のもちを両立させる工夫です。

ミナ
ミナ
軽い仕事なら、小さな台所で十分なんですね。

台所を増やしても、速くならないとき

ミナ
ミナ
台所を 8 つにしたら、8 倍速くなるんですよね?
ラクにゃん
ラクにゃん
それが、いつもそうとは限らないんだよ。動画でも少し話したね。

たとえば、カレーを作るとき。野菜を切る、肉を炒める、といった下ごしらえは、台所を増やせば手分けできます。でも、「全部を 1 つの鍋に入れて煮込む」ところは、台所を増やしても速くなりません。

仕事の中に「順番にしかできない部分」が少しでもあると、台所をいくら増やしても、その部分で詰まってしまいます。この考え方は、1967 年に、IBM の計算機の設計者だったジーン・アムダールが示したもので、アムダールの法則と呼ばれています。

手分けできる 9 分順番にしかできない 1 分台所 1 つ10 分台所 2 つ5.5 分台所 10 個1.9 分とても多く1 分に近づくどれだけ増やしても、この 1 分より短くならない(=10 倍に近づくまで)
手分けできる 9 分順番にしかできない 1 分台所 1 つ10 分台所 2 つ5.5 分台所 10 個1.9 分とても多く1 分に近づくこの 1 分より短くならない
10 分の仕事のうち、9 分は手分けでき、1 分は順番にしかできないとき

計算してみましょう。10 分かかる仕事のうち、9 分は手分けでき、1 分は順番にしかできないとします。

台所を 2 つにすると、手分けできる 9 分が 4.5 分になり、全部で 5.5 分。台所を 10 個にすると、9 分が 0.9 分になり、全部で 1.9 分です。でも、どれだけ台所を増やしても、順番にしかできない 1 分は残ります。だから、10 分の仕事は 1 分より短くならず、速くなるのは 10 倍に近づくところまで。台所を 8 つにしても、速さはおよそ 4.7 倍です。半分しか手分けできない仕事なら、どれだけ増やしても 2 倍に届きません。

ミナ
ミナ
じゃあ、台所が多いほうがいいかどうかは、する仕事によるんですね。
ラクにゃん
ラクにゃん
そのとおり。ふだんのパソコン仕事なら、台所の数より、1 つの台所の速さが効くことも多いんだ。1 つの台所の速さは、合図だけじゃなくて、流れ作業や先読みや棚の上手さでも決まるんだよ。逆に、手分けできる仕事なら、台所が多いほどぐんと速くなるよ。

GPU と AI:小さな台所が何千も

ミナ
ミナ
手分けできる仕事って、たとえばどんなものですか?
ラクにゃん
ラクにゃん
いちばん分かりやすいのが、画面の絵を作る仕事と、AI の計算だよ。

画面の絵は、たくさんの小さな点(画素)でできています。それぞれの点の色を計算する仕事は、点ごとにばらばらに進められます。そこで生まれたのが、小さな台所を何千も並べて、同じ計算を一斉にする GPU(グラフィックス・プロセッシング・ユニット)です。

GPU をのせた板(パソコンに差して使う)
GPU をのせた板(パソコンに差して使う)写真:Advanced Micro Devices, Inc.(AMD)/Wikimedia Commons
CPU大きな台所が少し1 つ 1 つが器用。分かれ道の多い仕事に強いGPU小さな台所がびっしり(実物は何千も)同じ計算を一斉に。分かれ道は苦手
CPU大きな台所が少し1 つ 1 つが器用。分かれ道の多い仕事に強いGPU小さな台所がびっしり(実物は何千も)同じ計算を一斉に。分かれ道は苦手
どちらが上ではなく、得意な仕事がちがう

GPU の小さな台所は、何十かずつの組になって、同じ動きをそろえて進みます。その代わり、分かれ道は苦手です。組の中でそれぞれが別の道へ進もうとすると、そろって動けず、片方の道を進む間、もう片方は待つことになるからです。分かれ道の多いふだんの仕事は、先読みの上手な CPU に向いています。

AI の中で行われている計算の多くは、「たくさんの数を掛けて、足す」ことのくり返しです。分かれ道はほとんどなく、しかも、その計算の多くは、お互いの答えを待たずに、一斉に進められます。まさに、GPU が得意な仕事です。

2012 年には、画像を見分ける AI の大会で、GPU を 2 枚使って学ばせた AI が、それまでの方法を大きく上回る成績を出しました。このころから、AI を GPU で動かすことが当たり前になっていきます。

ミナ
ミナ
画面の絵のための部品が、AI に使われるようになったんですね。
ラクにゃん
ラクにゃん
そうなんだ。CPU は、器用な料理長がいる、いろいろな料理を作れる台所。GPU は、同じ料理を一斉に大量に作る、大きな給食センター。どちらが上ではなくて、得意な仕事がちがうんだよ。

まとめ:CPU の数字の読み方

ミナ
ミナ
合図を速くするだけじゃなくて、増えた部品で、いろいろな工夫をしてきたんですね。
ラクにゃん
ラクにゃん
そうだね。最後に、パソコンの CPU の数字を見るときのコツを、3 つだけまとめておこう。
  • クロック(GHz):合図の速さ。2000 年代の半ばからは大きく変わらず、同じ GHz でも 1 回の合図でこなせる仕事の量がちがうので、これだけで速さは比べられない
  • コアの数とスレッドの数:コアは台所の数、スレッドは同時に進められる料理の数。手分けできる仕事(動画を作って保存する、たくさんのアプリを同時に使うなど)ほど効く
  • キャッシュ:手元の棚の大きさ。冷蔵庫まで取りに行く回数が減るほど、速さが出やすい

そして、数字には表れにくい「流れ作業」や「先読み」の上手さも、CPU の速さを左右しています。数字は目安として、使う仕事に合わせて選ぶのがおすすめです。

ミナ
ミナ
これからは、パソコンの説明に書いてある数字が、少し読めそうです。
ラクにゃん
ラクにゃん
よかった。CPU のしくみは、動画でも 3D で解説しているよ。命令が CPU の中を旅するところも、見てみてね。
最後まで読んでくれて、ありがとう! またね。
最後まで読んでくれて、ありがとう! またね。

参考サイトと出典

この記事をシェア