L2(エルツー)

L2(エルツー)

L2(エルツー)

英語表記: L2

概要

L2(Level 2 Cache)は、現代のマイクロアーキテクチャ(Intel 64、ARM、RISC-Vなど)において、CPUコアに最も近い一次キャッシュ(L1)と、さらに遠い三次キャッシュ(L3)またはメインメモリの間に位置する二次的な高速メモリ領域です。これは、メモリサブシステム全体のデータアクセス速度を向上させることを主目的として設計されており、L1キャッシュでデータが見つからなかった(ミスヒットした)際に、次に参照される中間層の役割を果たします。L2は通常、L1よりも大容量ですが、アクセス速度はわずかに遅くなるという特性を持ち、キャッシュ設計における性能とコストのバランスを取る上で極めて重要な要素です。

詳細解説

L2キャッシュは、CPUの処理速度を最大限に引き出すためのメモリサブシステムにおいて、欠かせないバッファとして機能します。なぜL1だけでなくL2が必要なのかというと、それはCPUコアの処理速度とメインメモリ(DRAM)のアクセス速度の間に、埋めがたい大きなギャップが存在するからです。このギャップを埋める多層的なアプローチこそが、現代の「キャッシュ設計」の核心にあります。

目的と構造

L2キャッシュの主要な目的は、L1キャッシュの容量不足を補い、メインメモリへのアクセス回数を劇的に減らすことにあります。L1キャッシュは非常に高速ですが、コストと物理的な制約から容量を大きくできません。そこで、L1よりも少しだけアクセスが遅くても、大幅に容量を増やしたL2を配置することで、総合的なキャッシュヒット率(データが見つかる確率)を高めます。

構成要素としては、L1と同様にSRAM(Static Random Access Memory)が使用されますが、L1よりも集積度を重視した設計がなされることが多いです。現代の高性能マイクロアーキテクチャでは、L2キャッシュは通常、各CPUコアに専用で割り当てられています(プライベートL2)。これにより、コア間のデータ競合が減り、レイテンシ(遅延時間)を最小限に抑えることが可能になります。IntelのCoreシリーズやARMのCortexシリーズでは、このプライベートL2のサイズと設計が、世代ごとの性能向上に直結しています。

動作原理と階層構造

データが必要になった際の参照手順は、常に「L1 → L2 → L3(あれば)→ メインメモリ」の順に進みます。

  1. L1ヒット: データがL1にあれば、極めて高速にアクセス完了。
  2. L1ミス、L2ヒット: L1になかった場合、次にL2を参照します。L2でデータが見つかれば、メインメモリまで行く必要がなく、大幅な時間節約になります。このL2ヒット時のアクセス時間は、メインメモリへのアクセス時間(数百サイクル)に比べて非常に短く(通常10~20サイクル程度)、これがマイクロアーキテクチャの実行効率を維持する鍵となります。
  3. L2ミス: L2にもデータがなかった場合、さらに次の階層(L3またはメインメモリ)へと参照が続きます。

L2は、L1よりも高いアソシアティビティ(連想度)を持つように設計されることが一般的です。アソシアティビティが高いほど、メインメモリの特定のアドレスにあるデータが、キャッシュ内のどこに配置されるかの柔軟性が増し、キャッシュラインの衝突による追い出し(コンフリクトミス)を防ぐ効果があります。この複雑な設計判断こそが、「キャッシュ設計」の奥深さであり、マイクロアーキテクチャの性能を左右するのです。

L2は、メモリサブシステム全体の効率を担保するための「中間管理職」のような存在だと考えると分かりやすいでしょう。L1が取りこぼしたタスクを確実に引き受け、メインメモリという遠大なリソースへのアクセスを極力減らすことで、CPUコアの実行ユニットがデータを待つ「ストール」状態を回避しています。

具体例・活用シーン

L2キャッシュの役割を理解するために、身近なアナロジーを用いてみましょう。

アナロジー:職人の作業場

あなたが非常に腕の良い木工職人だと想像してください。あなたの作業効率は、必要な道具や材料がどれだけ早く手に入るかにかかっています。

  • CPUコア: 職人自身。仕事の実行者です。
  • L1キャッシュ(机の上): 職人が今、まさに使っているノミやカンナ、そして現在加工中の木材の切れ端。これは極めて高速ですが、置ける量は限られています。
  • L2キャッシュ(すぐ隣の引き出し): 机の上には置けないけれど、すぐに必要になる可能性が高い予備の材料や、頻繁に使うが一時的に片付けた道具が入っています。職人は、机の上にないものが必要になったとき(L1ミス)、まず体を少しひねってこの引き出し(L2)を開けます。
  • メインメモリ(倉庫): 作業場から遠く離れた場所にある大きな倉庫。ここには全ての材料が保管されていますが、取りに行くには作業を中断し、長い時間をかけて移動しなければなりません。

もしL2(引き出し)がなければ、机の上(L1)にないものは全て倉庫(メインメモリ)に取りに行かなければならず、作業が頻繁に中断してしまいます。L2の容量が大きいほど、引き出しの中に入っている道具が多くなり、倉庫に行く回数が減るため、職人(CPUコア)は途切れることなく作業を続けることができるのです。

活用シーン:現代CPUの設計

現代の高性能CPU(例えば、Intel Core i7やAMD Ryzen)では、L2キャッシュの容量はコアあたり512KBから数MB程度まで拡大しています。特に、ゲームや大規模なデータ処理を行う場合、プログラムの作業セット(必要なデータの塊)がL1には収まりきらず、L2に頻繁にアクセスします。L2キャッシュの設計が優れているほど、これらの負荷の高いアプリケーションの実行速度が向上します。マイクロアーキテクチャ設計者は、このL2のサイズとレイテンシ(アクセス遅延)の最適なバランスを見つけるために、日々努力を重ねているのです。

資格試験向けチェックポイント

L2キャッシュに関する知識は、特に基本情報技術者試験(FE)や応用情報技術者試験(AP)において、計算機システムの性能評価やメモリ構造の問題として頻出します。ITパスポート試験(IP)でも、キャッシュメモリの基本的な概念として問われることがあります。

典型的な出題パターンと対策

| 試験レベル | 出題傾向 | 対策のポイント |
| :— | :— | :— |
| ITパスポート (IP) | キャッシュメモリの概念と目的。L1、L2の区別。 | キャッシュは「CPUと主記憶装置の速度差を埋めるもの」と定義を覚える。L2はL1より容量が大きく、遅いという階層関係を理解するだけで十分です。 |
| 基本情報技術者 (FE) | 階層型メモリ構造の特性、速度と容量の関係、ヒット率の計算。 | 「速度:L1 > L2 > L3 > メインメモリ」「容量:L1 < L2 < L3 < メインメモリ」という絶対的な関係を暗記してください。L2のヒット率が全体性能に与える影響を問う問題が出ることがあります。 |
| 応用情報技術者 (AP) | キャッシュの書き込み方式(ライトスルー、ライトバック)や、アソシアティビティ(連想度)など、より詳細なキャッシュ設計の知識。 | L2は通常、L3やメインメモリとの間で「ライトバック方式」を採用することが多いです。L2の役割が、メモリサブシステム全体のコヒーレンシ(一貫性)維持にどう貢献しているかを理解することが求められます。 |

試験対策のヒント

キャッシュメモリの問題では、必ず「速度と容量はトレードオフの関係にある」という原則を思い出してください。L2は、そのトレードオフのバランスを最適化するための「中間地点」として機能している、と理解しておくと、応用問題にも対応しやすくなります。このL2の存在こそが、現代のマイクロアーキテクチャがギガヘルツ級の速度で動作できる理由の一つであることを認識しておきましょう。

関連用語

  • 情報不足

(注記:本来であれば、L1キャッシュ、L3キャッシュ、メインメモリ(DRAM)、SRAM、キャッシュライン、レイテンシ、ヒット率、ライトバック方式などが関連用語として挙げられますが、本記事の作成に必要な入力情報が不足しているため、ここでは「情報不足」と記載させていただきます。これらの用語は、L2が属する「メモリサブシステム」および「キャッシュ設計」の文脈を深く理解するために不可欠な要素です。)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

両親の影響を受け、幼少期からロボットやエンジニアリングに親しみ、国公立大学で電気系の修士号を取得。現在はITエンジニアとして、開発から設計まで幅広く活躍している。

目次