Preluarea cache-ului este ceea ce permite procesoarelor să aibă date și/sau instrucțiuni gata de utilizare într-un cache local rapid, mai degrabă decât să fie nevoiți să aștepte ca o solicitare de preluare să treacă în memoria RAM de sistem și înapoi. Procesorul Intel 8088 (și fratele său mai mare 8086) a fost printre primele microprocesoare care au implementat preîncărcarea (instrucțiuni) în hardware, ceea ce [Ken Shirriff] a analizat bazat pe imagini ale acestui faimos procesor. Urmează scufundarea în adâncime de anul trecut în hardware-ul de preîncărcare al lui 8086, cu (nesurprinzător) multe asemănări între aceste două microprocesoare, precum și câteva diferențe care se datorează în principal magistralei de date de 8088 biți reduse a lui 8.
În timp ce 8086 are 3 sloturi de 16 biți în prefetcherul de instrucțiuni, 8088 primește 4 sloturi, fiecare pe 8 biți. Hardware-ul de preîncărcare face parte din unitatea de interfață magistrală (BIU), care decuplează efectiv procesorul real (unitatea de execuție sau EU) de memoria RAM de sistem. În timp ce MPU-urile anterioare ar fi complet deterministe, instrucțiunile fiind încărcate din RAM și executate ulterior, preîncărcarea 8086 și 8088 a însemnat că astfel de presupuneri nu mai erau adevărate. Caracteristicile adăugate în BIU au însemnat, de asemenea, că pointerul de instrucțiuni (IP) și registrele aferente s-au mutat în BIU, în timp ce logica ringbuffer din jurul cozii a trebuit să mențină cumva cozile de așteptare și offset-urile pointerului în RAM să funcționeze corect.
Chiar dacă în zilele noastre CPU-urile au cache-uri mult mai complicate, pe mai multe niveluri, care sunt măsurate în kiloocteți și megaocteți, este fascinant să vezi de unde a început totul, cu doar câțiva octeți și o logică hardware relativ simplă pe care o urmărești cu ușurință la microscop. .