Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс с 1 по 294.doc
Скачиваний:
21
Добавлен:
16.04.2019
Размер:
6.2 Mб
Скачать

3.1. Общие принципы организации кэш-памяти

Кэш-память располагается между основной памятью (ОП) и центральным процессо­ром для снижения затрат времени на обращение ЦП к ОП.

Идея кэш-памяти основана на прогнозировании наиболее вероятных обращений ЦП к ОП. Наиболее «вероятные» данные и команды копируются в быструю, работающую в темпе ЦП, кэш-память до начала их непосредственного использования ЦП, так что обра­щение к данным и командам, используемым ЦП в текущий момент времени, может проис­ходить быстро, без обращения к ОП.

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

Развивая идею «кэширования» обращений к ОП, необходимо сделать следующие уточ­нения. При обращении к ОП в кэш-память копируются не отдельные данные, а блоки инфор­мации, включающие те данные, которые с большой степенью вероятности будут использо­ваны в ЦП на последующих шагах работы. Если, например, данное- одна из команд потока последовательных команд, то при выборке этой команды в кэш-памяти копируются одна или несколько последующих команд потока. В связи с этим последующие команды выбира­ются ЦП уже не из ОП, а из быстрой кэш-памяти.


Блок данных из ОП, копируемый в кэш-памяти, называется кэш-блоком.1 Размер блока (измеренный в числе байтов) различен в разных МП-системах.

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

Пример копирования в кэш-память последовательности команд приведен на рис. 3.1.

Отметим, что совершенно аналогично в кэш-память копируются и операнды команд. Для чтения или записи данных в порядке, обратном порядку адресов ОП, кэш-память на­страивается на работу для просмотра назад.

Различные способы организации кэш-памяти направлены на увеличение доли кэш-по­паданий в общем потоке обращений к памяти от ЦП. Следует отметить, что эффектив­ность кэш-системы зависит и от размера блока и от алгоритма программ. v

3.1.1. Понятия тега, индекса и блока

При использовании кэш-памяти, память ЭВМ условно представляется в виде прямоу­гольника, разделенного на строки и столбцы.

Число строк и столбцов принимается кратным степени 2. На пересечении строк и стол­бцов находятся блоки, состоящие из нескольких байтов, обычно 2,4,8,16 или 32 в разных МП-системах. Адрес блока в строке называется значением индекса (или просто индексом) блока, а строка, которой он принадлежит, - значением тега (или просто тегом).

Итак, индекс и тег однозначно задают место блока в памяти ЭВМ. Все блоки одного столбца имеют одинаковый индекс, но разные теги, и наоборот - у всех блоков одной строки одинаковый тег, но разные индексы (рис. 3.2).

Поскольку число строк, столбцов и размер блока кратны степени 2, двоичный адрес памяти представляется совокупностью полей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]