快取預取允許處理器在快速本地快取中準備好資料和/或指令以供使用,而不必等待提取請求流過系統 RAM 並再次返回。 Intel 8088(及其老大哥 8086)處理器是首批在硬體中實現(指令)預取的微處理器之一,[Ken Shirriff] 已分析過 基於這款著名處理器的晶片影像。這如下 去年的深入探索 8086 的預取硬件,這兩個微處理器之間有許多相似之處(毫不奇怪),也有一些差異,這些差異主要是由於 8088 的縮減的 8 位元資料匯流排造成的。
8086 在指令預取器中有 3 個 16 位元插槽,而 8088 有 4 個插槽,每個插槽 8 位元。預取硬體是匯流排介面單元 (BIU) 的一部分,它有效地將實際處理器(執行單元或 EU)與系統 RAM 解耦。雖然先前的 MPU 是完全確定性的,指令從 RAM 加載並隨後執行,但 8086 和 8088 的預取意味著這種假設不再成立。 BIU 中新增的功能也意味著指令指標 (IP) 和相關暫存器移至 BIU,而佇列周圍的環形緩衝區邏輯必須以某種方式保持 RAM 中的排隊和指標偏移量正常運作。
儘管現在的CPU 具有更複雜的多層快取(以千位元組和兆位元組為單位),但看到這一切的開始是很有趣的,只有幾個位元組和相對直接的硬體邏輯,您可以在顯微鏡下輕鬆追蹤。