Кеш инструкций (instruction cache, I-cache) — это часть процессора, предназначенная для хранения инструкций программ, которые недавно выполнялись или, с высокой вероятностью, будут выполнены в ближайшее время. Он ускоряет доступ к инструкциям, избегая необходимости каждый раз читать их из более медленной оперативной памяти (RAM).

Основы:

  • Работает параллельно с кешем данных (D-cache) — первый хранит инструкции, второй — данные.
  • Обычно это L1 кеш, самый быстрый, ближайший к ядру процессора.
  • Используется при fetch-инструкциях — когда CPU подтягивает код, который нужно исполнять.

Почему это важно:

  • Современные процессоры исполняют много инструкций за наносекунды.
  • Если каждую инструкцию тянуть из RAM, CPU простаивает.
  • Кеш позволяет держать «горячий» код рядом с ALU и другими блоками выполнения.

Особенности:

  • Обычно меньше по размеру, чем D-cache, но быстрее.
  • Поддерживает механизмы предвыборки (prefetching) и прогнозирования переходов (branch prediction) — чтобы подгружать нужный код заранее.
  • В многопоточном исполнении важна когерентность кеша (чтобы инструкции не были устаревшими после модификации кода)…

javaperformance