IT用語集 › ハードウェア › キャッシュメンテナンス

キャッシュメンテナンス

ハードウェア Svenska → 更新: 2026-11-04

キャッシュとDMAコントローラがメモリの内容について食い違わないよう、ファームウェアが明示的に発行しなければならない操作。

キャッシュのないマイコンでは、DMAはRAMへ直接書き込み、CPUもそこから読む。2014年にデータキャッシュをマイコンの世界へ持ち込んだ Cortex-M7 で、この前提は崩れた。DMAコントローラはキャッシュを経由せず、両者を同期させるハードウェアもない。送信前にはバッファをクリーンして、ダーティなラインをRAMへ書き戻す。受信後には無効化して、CPUが古いコピーを読み続けないようにする。

落とし穴は32バイトというラインサイズだ。バッファの先頭と末尾がライン境界に揃っていないと、他の変数とラインを共有してしまい、無効化の際にそちらの新しい書き込みまで黙って捨てられる。手を抜く方法として、MPUでDMA用メモリをキャッシュ不可に設定する手もある。代償はデバッグ時間でなくスループットで払うことになり、多くの場合こちらのほうが割のいい取引だ。

← 用語集に戻る