Кеш инструкций (instruction cache, I-cache) — это часть процессора, предназначенная для хранения инструкций программ, которые недавно выполнялись или, с высокой вероятностью, будут выполнены в ближайшее время. Он ускоряет доступ к инструкциям, избегая необходимости каждый раз читать их из более медленной оперативной памяти (RAM).
Основы:
- Работает параллельно с кешем данных (D-cache) — первый хранит инструкции, второй — данные.
- Обычно это L1 кеш, самый быстрый, ближайший к ядру процессора.
- Используется при fetch-инструкциях — когда CPU подтягивает код, который нужно исполнять.
Почему это важно:
- Современные процессоры исполняют много инструкций за наносекунды.
- Если каждую инструкцию тянуть из RAM, CPU простаивает.
- Кеш позволяет держать «горячий» код рядом с ALU и другими блоками выполнения.
Особенности:
- Обычно меньше по размеру, чем D-cache, но быстрее.
- Поддерживает механизмы предвыборки (prefetching) и прогнозирования переходов (branch prediction) — чтобы подгружать нужный код заранее.
- В многопоточном исполнении важна когерентность кеша (чтобы инструкции не были устаревшими после модификации кода)…