ライトスルーとは?らいとするー
ライトスルーとは、キャッシュへの書込みと同時に主記憶へも書き込む方式。主記憶が常に最新なので、DMAコントローラや他のバスマスタが主記憶を直接読んでも矛盾せず、一貫性の管理が簡単になる。代わりに書込みのたびにバスを占有するため、書込みが連続する処理では性能が落ちる。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
キャッシュは、遅い主記憶を速く見せるために「主記憶と違う内容を一時的に持つ」ことで成り立っている。読み出しだけならこれで困らないが、書込みでは主記憶との食い違いをいつ解消するかを決めなければならない。組込みでは、CPU以外にDMAコントローラや周辺回路が主記憶を直接触るため、この食い違いがそのままデータ化けとして現れる。ライトスルーは、食い違いを作らないことで問題そのものを消してしまう選択である。
具体例
DMAで周辺へ送り出すバッファ領域をライトスルー(またはノンキャッシャブル)に設定しておけば、CPUが書いた直後にDMAを起動しても、主記憶には最新の内容が載っている。Cortex-MのMPUやCortex-AのMMUでは領域ごとに属性を指定できるので、送信バッファだけライトスルー、演算用の作業領域はライトバック、という使い分けができる。
試験での引っ掛け
ライトバックと逆に覚えない。主記憶が常に最新なのはライトスルーのほうで、追い出し時の書戻しもダーティビットも要らず、速いのはライトバックである。「一貫性の管理が容易=性能も高い」ではなく、ここは明確なトレードオフになる。書込みバッファを挟んでCPUを待たせない構成が普通だが、その場合は主記憶へ届く順序が保証されないため、周辺レジスタとの前後関係にはメモリバリアが要る。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。