Иерархия памяти современных компьютеров. Классификация ЗУ. Кэш-память. Программируемые логические интегральные схемы. Программируемые логические матрицы, страница 4

Иными словами, в кэш-памяти накапливается рабочие копии слов, хранимых в динамическом ОЗУ, причем считывание этих копий производится на порядок быстрее, чем если бы считывались слова-оригиналы. При записи информации выигрыша во времени нет, т.к. новая информация должна обязательно попасть в ОЗУ.

Если процессор намерен получить информацию из некоторой ячейки динамического ОЗУ, а копия содержимого этой ячейки уже имеется в кэш-памяти, то вместо оригинала кэш-контроллер считывает копию из быстрой кэш-памяти и направляет в процессор. Такая ситуация называется "кэш-попаданием". В этом случае информация в кэш-памяти и ДОЗУ не изменяется. Если копии в кэш-памяти нет, то производится обращение к ДОЗУ. Полученная информация пересылается в процессор и попутно запоминается в кэш-памяти вместе с информацией из соседней ячейки (из динамического ОЗУ одновременно считывается пара 16-ти разрядных слов). Естественно в ячейках памяти ДОЗУ информация не изменяется. Случай, когда нужные данные находятся в основной памяти, называется "кэш-промахом".

Если выполняется запись информации в ячейку памяти ДОЗУ, то в любом случае ее содержимое обновляется. Если в кэш-памяти находится копия этой ячейки, то она так же обновляется. Если в кэш-памяти копии этой ячейки нет, то копия ячейки памяти с новой информацией не создается. При записи соседние 16-ти разрядные ячейки памяти как в кэш-памяти, так и в динамической памяти не затрагиваются и хранят старую информацию.

Использованные в МПС внешний кэш-памяти ускоряет процесс считывания команд и данных, которые "недавно" считывались или корректировались.

Дело в том, что при выполнении программы микропроцессором операции записи составляют 10 %, а операции чтения – 90 % общего числа обращений к памяти. При использовании кэш-памяти от 80 % до 95 % операций чтения из кэш выполняется быстро.

3.1 Кэш-память с прямым отображением

В кэш-памяти прямого отображения адрес памяти, по которому производится обращение, однозначно определяет строку кэша, в которой может находится требуемый блок. Принцип работы кэша поясним на примере кэш-памяти объемом 256 кБайт с размером строки данных 32 бита и объемом основной памяти 64 Мбайта. Структура памяти в такой системе иллюстрируется рисунком 3.2.

Рисунок 3.2-Кэш память прямого отображения

 
 


Кэшируемая основная память условно разбивается на страницы, размер которых совпадает с размером кэш-памяти (256 кБайт). Кэш-память и страницы основной памяти делятся на строки (256 кБайт/32=8 кБайт строк).

На рисунке 3.3 показаны основные информационные цепи считывания данных из кэш-памяти. Кэш-память состоит из блока хранящего кэш-директорию и блока хранящего непосредственно данные. В блоке, хранящем кэш-директорию имеются разряды для хранения кода Tag, который отображает старшую часть адреса ячейки оригинала, разряд V – признак истинности информации в ячейке блока, а разряд M – недавнего использования блоков.

Адрес, полученный от процессора интерпретируется так. Старшая часть адреса (разряды с 18 по 25) представляет собой адрес дескриптора (Tag), определяет номер страницы основной памяти в которой хранится оригинал. Разряды с 17 по 5 определяют номер строки. Номер строки в кэш-памяти называется индексом. Младшие разряды адреса определяют смещение в строке. Следует отметить, что процессор "не знает" о такой рактовке смысла адреса, с его точки зрения существует обычное адресное

Рисунок 3.3-Основные информационные цепи считывания данных из кэш-памяти

 
 


пространство. Иными словами кэш-память скрыта от процессора.

Условия сохранения и обновления информации в ячейках кэш-памяти динамического ОЗУ приведены в таблице 3.1.