Попередня вибірка кешу — це те, що дозволяє процесорам мати дані та/або інструкції, готові до використання в швидкому локальному кеші, замість того, щоб чекати, поки запит на вибірку просочиться до системної оперативної пам’яті та назад. Процесор Intel 8088 (і його старший брат 8086) був одним з перших мікропроцесорів, які реалізували попередню вибірку (інструкцій) в апаратному забезпеченні, що [Кен Ширіфф] проаналізував на основі зображень матриці цього відомого процесора. З цього випливає минулорічний глибокий занурення в апаратне забезпечення попередньої вибірки 8086, з (як це не дивно) багато схожості між цими двома мікропроцесорами, а також кілька відмінностей, які здебільшого пов’язані з урізаною 8088-розрядною шиною даних 8.
У той час як 8086 має 3 16-бітних слота в системі попередньої вибірки інструкцій, 8088 отримує 4 слоти, кожен по 8 біт. Апаратне забезпечення попередньої вибірки є частиною модуля інтерфейсу шини (BIU), який ефективно відокремлює фактичний процесор (виконавчий блок або EU) від системної оперативної пам’яті. У той час як попередні MPU були повністю детермінованими з інструкціями, які завантажувалися з оперативної пам’яті та згодом виконувалися, попередня вибірка 8086 і 8088 означала, що такі припущення більше не відповідають дійсності. Додані функції в BIU також означали, що вказівник інструкцій (IP) і відповідні регістри перемістилися в BIU, тоді як логіка кільцевого буфера навколо черги мала якимось чином підтримувати правильну роботу черги та зміщення вказівника в оперативній пам’яті.
Незважаючи на те, що сьогодні процесори мають набагато складнішу багаторівневу кеш-пам’ять, яка вимірюється в кілобайтах і мегабайтах, цікаво побачити, з чого все почалося, лише з кількох байтів і відносно прямої апаратної логіки, яку ви легко прослідкуєте під мікроскопом. .