プリフェッチ 【prefetch】 プリフェッチング / prefetching

概要

プリフェッチ(prefetch)とは、先取り、先読み、などの意味を持つ英単語。この先必要になるデータなどをあらかじめ読み込んでおき、読み込みにかかる時間を短縮する仕組みのこと。「プリロード」(preload)とほぼ同義。

このあと必要になると予想されるプログラムやデータをストレージ(外部記憶装置)からメモリに読み込んだり、ネットワークの向こうのサーバから手元にダウンロードしておくことで、実際に必要になった際の読み込み時間を大幅に短縮することができる。

オペレーティングシステム(OS)がアプリケーションソフトを予測に基づき自動的にメモリ上に読み込んでおく機能や、Webブラウザが画像ファイルやリンク先ページなどをWebサーバから先読みする機能などの応用例がある。

CPUのプリフェッチ

マイクロプロセッサMPU/CPU)の高速化手法の一つで、このあと実行する予定の命令やデータをメインメモリ(RAM)からより高速なキャッシュメモリに先行して読み込んでおく動作をプリフェッチという。

実行時にメインメモリから読み込もうとすると長い待ち時間が発生するが、キャッシュメモリからは高速に読み出せるため効率的に命令を実行することができる。命令のプリフェッチはCPU内部の回路が自動的に行うが、データのプリフェッチはプログラム中に記述されたプリフェッチ命令によって明示的に行われる。

(2023.12.30更新)

CPUの用語一覧