Кэш-память

Кэш-память – высокоскоростная память, являющаяся буфером между ОП и МП и позволяющая увеличить скорость выполнения операций. Регистры кэш–памяти недоступны для пользователя; отсюда и название «кэш» (англ. cache – тайник).

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

· кэш–память «с обратной записью» – результаты операций, прежде чем записываются в ОП, фиксируются в кэш–памяти, а затем контроллер кэш–памяти самостоятельно записывает эти данные в ОП;

· кэш-память «со сквозной записью» – результаты операций одновременно записываются и в кэш-память, и в ОП.

Существует два вида, или уровня, кэша. Кэш-память первого уровня (L1 cache) имеет объем несколько десятков или сотен Kb (а у 80386, 4 килобайта) и служит для согласования скорости работы процессора и внешней кэш-памяти. Внешняя кэш-память соответственно называются кэшем второго уровня, или L2 cache, и, собственно, она и отвечает за кэширование. Когда говорят о кэш-памяти, как правило, имеют в виду именно L2 cache. Для эффективного кэширования используются алгоритмы предсказания, так что вероятность попадания в кэш достаточно велика. Начиная с Pentium Pro L2-cache встроена в МП.