PC高速化の秘密:キャッシュ
5分49秒 | FE
基本情報技術者試験の頻出テーマを解説した動画コンテンツです。
トランスクリプト(字幕テキスト)
こんにちは。今回はあなたのパソコンがなんであんなにサクサク動くのか、その秘密に迫っていきます。 鍵を握るのがキャッシュ。 実はコンピューターの速さを決める非常に重要な仕組みです。 パソコンを使っていて、さっきまで非常に速かったのに急に動作が重くなったり、といった経験はありませんか? 実はその裏には、今回お話しするキャッシュという非常に賢い仕組みが働いているんですよ。 まずその根本的なところから見ていきましょう。 実はどんなコンピューターにもその内部に、どうしようもないほどの大きな速度のギャップという問題が元々あるんです。 まさにこのイメージ通りなんです。 コンピューターの頭脳にあたるCPU、これはF1カーみたいに非常に速いスピードで計算するわけです。 でもデータが置いてあるメインのストレージはと言うと、これが残念ながら自転車ぐらいのスピードなんですよね。 これではせっかくのF1カーがずっと自転車が来るのを待っているような状態になっちゃいますよね。もったいない。 この大きな速度差、どのように解決するのでしょうか? そこで技術者の人たちが考え出したのが非常に巧妙な仕組みで、それがこのメモリピラミッドという階層構造なんです。 これがそのピラミッドの全体像です。 見てください。下の方、HDDとかSSDは非常に大容量で値段も安い。 でもCPUから見ると、感覚的に遠い場所にあるためアクセスは遅いんです。 逆にピラミッドの上に行けば行くほど容量は徐々に小さくなり、値段も高くなるんですけど、 CPUの本当にすぐ手の届くところにある。だからアクセス速度が爆発的に速くなります。 つまりここにははっきりとしたトレードオフがあるわけです。 速さを取るか、容量を取るか、それともコストを取るか。 全部を最高にするというのは不可能です。 だからこそこのピラミッドみたいな階層構造でうまくバランスを取っているというわけなんです。 さて、この賢い仕組み、もう少し分かりやすい例えで見ていきましょう。 キャッシュをCPU専用の仕事机だと思って考えてみてください。 さあ、ここでいよいよ今日の主役、キャッシュメモリの登場です。 このキャッシュというのは、まさにCPUにとっての自分専用の机そのものなんです。 しょっちゅう使うデータや道具みたいなものを、すぐに手が届くところに置いておくための小さいながらも非常に高速な作業スペース、それがキャッシュなんです。 ここからが重要なのですが、CPUが「あ、このデータが欲しい」と思った瞬間、実は運命を分ける2つのパターンがあるんです。 どちらになるかでパソコンの速さが天国と地獄ほど大きく変わります。 その2つのシナリオが、このヒットとミスです。 キャッシュヒットというのは、ラッキーなパターンです。 欲しいデータがちゃんと机の上、つまりキャッシュにあったという時。 これなら一瞬で取れるのでCPUは全速力で仕事が続けられます。 でも一方でキャッシュミス、これは机の上を探したけどデータがない。 ああ、しょうがない。あの遠くの書庫、つまりメインメモリまで取りに行かなきゃという状況です。 当然CPUはここで待たされることになります。 これが最高の状態、キャッシュヒットです。 CPUが「あれ欲しいな」と思ったデータが、すぐに手の届くキャッシュ、つまり机の上に置いてあったという、まさに理想的な状態。 待ち時間ゼロです。 これで最高のパフォーマンスが引き出せるわけですね。 こっちが残念なキャッシュミスです。 ああ、ないってなって、CPUはせっかくの仕事を一旦やめて、わざわざ遠くの書庫、つまりメインメモリまでとことこ走っていかないといけない。 このCPUがデータをとりにいっている間の時間こそが、僕たちがパソコンを使ってて「ああ、なんか待たされてるな」って感じるあの待ち時間の正体なんです。 このヒットとミスの話から、キャッシュの性能って何で決まるの?という。 たった1つ、でも非常に重要な指標が浮かび上がってきます。 それがこのヒット率です。 言葉の通り、CPUが欲しいと思ったデータがどれくらいの確率でキャッシュの中にみつかるかという割合です。 このヒット率が高ければ高いほどミスが減る。つまりCPUがわざわざ遠くまで走っていく回数が少なくなるということなので、 結果として待ち時間が劇的に減るわけです。 これ驚かないでください。 今のコンピューターはものすごく賢いので、このヒット率がなんと95%以上になることも決して珍しくありません。 これ素晴らしいと思いませんか? 100回「データちょうだい」って言ったら、そのうち95回はもう目の前の机の上に「ある」ということになりますからね。 再度最初の例えに戻ってみましょう。 この95%という驚異的なヒット率があるからこそ、あのF1カーであるCPUはほとんどの場合自転車を待たずに済むんです。 これこそがキャッシュが起こす魔法であり、今のコンピューターがなぜこれほど速いのかという最大の秘密だったのです。 このキャッシュの仕組みは、よく考えてみると、よく使う大事なものはいつでも手が届くところに置いておこうという非常にシンプルな考え方ですよね。 これ、僕たちの普段の生活や仕事にも応用できると思いませんか? さて、皆さんだったらこの考え方どのように活かしますか? 考えてみると面白いかもしれません。
このコンテンツは Web society で視聴・学習できます。