忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【コンピュータ】データを同時に書き込む安全策!「ライトスルー方式」|情報処理問題1000本ノック

CPUがデータを書き換えるとき、手前のキャッシュメモリだけでなく、奥にあるメインメモリにも同時に書き込む。データの整合性をガチッと守る方式を攻略しましょう。

1. 【 問題 】:キャッシュメモリの書込み制御方式

【 問題 】 キャッシュメモリを搭載したコンピュータにおいて、CPUがデータを書き換える際、キャッシュメモリと主記憶(メインメモリ)の間の整合性を保つための制御方式のうち、キャッシュメモリにデータを書き込んだ時点で、同時に主記憶(メインメモリ)にも同じデータを書き込む方式はどれでしょうか?

① ライトバック方式 (Write-Back)
② ライトスルー方式 (Write-Through)
③ ライトフォワード方式 (Write-Forward)
④ ライトキャッシュ方式 (Write-Cache)

2. 正解:

正解: ② ライトスルー方式(Write-Through)

3. 解説:「その都度同時に書く」か「後でまとめて書く」か

CPUがデータを読み出すときはキャッシュメモリがあれば爆速になりますが、データを「書き換える(保存する)」ときは、キャッシュと主記憶のデータがズレないように制御する必要があります。その最もシンプルな答えがライトスルー方式です。

【ライトスルー方式の仕組みとメリット・デメリット】

仕組み:CPUがデータを書き換えるとき、キャッシュメモリに書き込むと同時に、主記憶(メインメモリ)にも全く同じ内容を直接書き込みます← ココが問題の正解!

メリット(安全):常にキャッシュとメインメモリの中身が100%一致しているため、データの一貫性(コヒーレンシ)を保ちやすく、構造が非常にシンプルで安全です。
デメリット(速度):データを書き換えるたびに、毎回スピードの遅い主記憶(メインメモリ)の書き込み完了を待たなければならないため、書き込み処理が多いプログラムでは全体の処理速度が低下してしまいます。
[ 選択肢のひっかけポイント(絶対にセットで狙われる対義語) ]
★ ① ライトバック方式:データを書き換える際、最初は「キャッシュメモリだけに」超高速で書き込んでおき、主記憶には書き込みません。その後、そのキャッシュデータが不要になって破棄される(追い出される)タイミングになって初めて、主記憶へまとめて書き戻す(バックする)高速化重視の方式です。
★ ③・④:試験で受験生を迷わせるために用意された、それらしい名前の完全な造語(存在しない方式)です。

1. 理解のコツ: 「ノートのメモ書き」に例えてみましょう。
・手元の小さなメモ帳が「キャッシュ」、奥にある大きな清書用ノートが「主記憶」です。
・電話中に新しい情報を聞いたとき、手元のメモ帳に書きながら、同時に奥の清書用ノートにもその場で丁寧に書き写す(スルーして奥まで届かせる)のがライトスルー方式です。いつでも両方のノートが最新なので安心ですが、書く手間が2倍かかって忙しいですよね。
・逆に、とりあえず手元のメモ帳にだけダーッと殴り書きしておき、電話が切れた後で落ち着いて清書用ノートにまとめて書き写すのがライトバック方式です。電話中は一瞬でメモが終わるので速いですが、書き写す前にメモ帳を無くしたらデータが消えるリスクがあります。
2. 試験対策の視点: 「キャッシュに書き込まれた時点で、メモリにも書き込む」=ライトスルー「キャッシュにだけ書き、必要に迫られたらメモリに書き戻す」=ライトバックという、この2つの対比構造は午前試験のド定番です。ITパスポート、基本情報、応用情報のすべての試験において、「ライトスルー方式の特徴として適切なものはどれか(主記憶への書き込み頻度が高くなる、など)」といった形で、メリット・デメリットの本質を突く問題が非常によく出題されます。


4. まとめ

「データの高速処理よりも、まずはキャッシュと主記憶のデータの一致(安全性・確実性)を最優先し、CPUの書き込み命令のたびに両方へ同時にデータを流し込む制御方式」。これがライトスルー方式です。スピード重視の現代のPCのCPUではライトバック方式が多く採用されていますが、安全性が求められる制御組み込みシステムなどでは今でもこのライトスルーの思想が強く生きています。


PR