キャッシュ プリフェッチを使用すると、プロセッサは、フェッチ要求がシステム RAM に少しずつ流れて戻ってくるのを待つのではなく、高速ローカル キャッシュで使用できるデータや命令を準備できるようになります。 Intel 8088 (およびその兄貴分の 8086) プロセッサは、ハードウェアに (命令) プリフェッチを実装した最初のマイクロプロセッサの XNUMX つであり、[Ken Shirriff] 分析しました この有名なプロセッサのダイイメージに基づいています。これは次のとおりです 昨年の詳細な調査 これら 8086 つのマイクロプロセッサには (当然のことですが) 多くの類似点がありますが、主に 8088 の削減された 8 ビット データ バスに起因するいくつかの相違点もあります。
8086 には命令プリフェッチャーに 3 つの 16 ビット スロットがありますが、8088 には 4 つのスロットがあり、各スロットは 8 ビットです。プリフェッチ ハードウェアはバス インターフェイス ユニット (BIU) の一部であり、実際のプロセッサ (実行ユニット、つまり EU) をシステム RAM から効果的に切り離します。以前の MPU は完全に決定的で、命令は RAM からロードされ、その後実行されていましたが、8086 と 8088 のプリフェッチは、そのような想定がもはや当てはまらないことを意味しました。 BIU の追加機能は、命令ポインター (IP) と関連レジスターが BIU に移動することも意味しますが、キュー周辺のリングバッファー ロジックは、何らかの方法でキューイングと RAM へのポインター オフセットを正しく動作させ続ける必要がありました。
最近の CPU には、キロバイトやメガバイト単位で測定されるはるかに複雑なマルチレベル キャッシュが備わっていますが、顕微鏡で簡単に追跡できる、わずか数バイトと比較的単純なハードウェア ロジックですべてが始まった場所を知るのは興味深いことです。 。