Предвыборка кода

В компьютерной архитектуре, предвыборкой кода (англ. instruction prefetch) называют технологию, используемую в микропроцессоре для увеличения скорости исполнения программ, уменьшая время, в течение которого процессор находится в состоянии ожидания из-за отсутствия инструкций для исполнения.

Современные микропроцессоры гораздо быстрее чем память, вследствие чего инструкции исполняемой программы не могут считывыться достаточно быстро, чтобы обеспечить непрерывность работы процессора. Добавление кэша может обеспечить более быстрый доступ к необходимым инструкциям.

Предвыборка кода — это выдача запросов со стороны процессора в оперативную память для считывания инструкций заблаговременно, до того момента, как эти инструкции потребуется исполнять. В результате этих запросов, инструкции загружаются из памяти в кэш. Когда инструкции, потребуется исполнять, доступ к ним будет осуществляться значительно быстрее, так как задержка при обращении в кэш на порядки меньше, чем при обращении в оперативную память.

Чем более последовательна программа, тем больше будет эффект от использования предвыборки кода. Однако, предвыборка кода может быть частью сложного алгоритма предсказания переходов, который пытается предсказать какие именно инструкции в будущем потребуется исполнять и подгрузить их из памяти. В специальных аппаратных средствах (например, графический процессор), алгоритм предвыборки может воспользоваться пространственной когерентностью данных, которая обычно наблюдается в процессе наложения текстуры. В этом случае предвыбираются не инструкции, а элементы текстуры (текселы), которые являются кандидатами наложения на многоугольник.

Первыми серийными микропроцессорами, использующими предвыборку кода, были Intel 8086 (6 байт) и Motorola 68000 (4 байта).

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я