- ベストアンサー
FIFOページ置き換えがやり方がわからない
FIFOページ置き換えが色々見てもやり方がわかりません わかりやすい説明をお願いします。 こんな質問ですみません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
キャッシュメモリのFIFOのことでしょうね。先入れ先出し法もしくは行列待ちのやり方でデータのブロックを取り出しやすいメモリに待機させます。取り出しやすいメモリも無駄なほどは広くないので、あるルールでデータのブロックを明け渡すのです。 この工夫には、FIFO方式やLRU方式などがあります。 まずFIFO方式をくだけた例で言うと、2種類の調味料しかのせられない調味料棚がレンジのそばにあるとします。2種類以外の調味料はちょっと離れた冷蔵庫に入れていて、調味料棚にない調味料を使ったときには先にのせた調味料を冷蔵庫にしまいます。調味料棚にあるものは使ったらそのまま棚に戻します。これがFIFO方式です。そうやってできるだけ冷蔵庫まで歩かなくていいように工夫するのです。 LRU方式は、先に出したものをしまうのではなくて、一番長い間使っていない方をしまうルールです。 次にハードウェアとして説明します。前提として、2区画のキャッシュメモリがあり、そこにデータEとデータCが入っているとします。そして右側が古い区画です。 図1 [C][E] これでEかCかのデータをCPUが取りに来たら、明け渡しなしでキャッシュメモリから提供します。 また、データAが必要になったらキャッシュメモリにはないので、メインメモリから取り出されます。そして、この2区画のキャッシュメモリの右側にあふれる形で、図2のようにデータEがキャッシュメモリからなくなります。 図2 [A][C] --> データEはこぼれる。 これでCかAかのデータをCPUが取りに来たら、明け渡しなしでキャッシュメモリから提供します。 また、データBが必要になったらキャッシュメモリにはないので、メインメモリから取り出されます。そして、この2区画のキャッシュメモリの右側にあふれる形で、図3のようにデータCがキャッシュメモリからなくなります。 図3 [B][A] --> データCはこぼれる。 このようにキャッシュメモリという踊り場をもうけて、使いそうなデータをわざわざメインメモリやハードディスクまで取りに行かなくても早く処理できる工夫をしています。