캐시 프리페치를 통해 프로세서는 페치 요청이 시스템 RAM을 통해 흘러나오고 다시 돌아올 때까지 기다리지 않고 빠른 로컬 캐시에서 사용할 수 있는 데이터 및/또는 명령을 준비할 수 있습니다. Intel 8088(및 그 큰형 8086) 프로세서는 하드웨어에 프리페치를 구현한 최초의 마이크로프로세서 중 하나입니다. [Ken Shirriff] 분석했다 이 유명한 프로세서의 다이 이미지를 기반으로 합니다. 이는 다음과 같습니다 작년의 심층 분석 8086의 프리페치 하드웨어에는 두 마이크로프로세서 사이에 (놀랍지도 않게) 많은 유사점이 있을 뿐만 아니라 주로 8088의 컷다운 8비트 데이터 버스로 인해 발생하는 몇 가지 차이점이 있습니다.
8086에는 명령어 프리페처에 3개의 16비트 슬롯이 있는 반면, 8088에는 각각 4비트인 8개의 슬롯이 있습니다. 프리페치 하드웨어는 시스템 RAM에서 실제 프로세서(EU)를 효과적으로 분리하는 버스 인터페이스 장치(BIU)의 일부입니다. 이전 MPU는 명령이 RAM에서 로드된 후 실행되는 완전히 결정적이었지만, 8086 및 8088의 프리페칭은 그러한 가정이 더 이상 사실이 아님을 의미했습니다. BIU에 추가된 기능은 명령 포인터(IP)와 관련 레지스터가 BIU로 이동한 반면 큐 주변의 링버퍼 로직은 어떻게든 RAM에 대한 큐잉 및 포인터 오프셋을 올바르게 작동하도록 유지해야 함을 의미합니다.
요즘 CPU에는 훨씬 더 복잡하고 킬로바이트와 메가바이트로 측정되는 다단계 캐시가 있지만, 현미경으로 쉽게 따라갈 수 있는 몇 바이트와 상대적으로 간단한 하드웨어 로직을 사용하여 모든 것이 어디에서 시작되었는지 알아보는 것은 매우 흥미롭습니다. .