Ассоциативные запоминающие устройства. Кэш-ЗУ

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

Рис. 13.8. Структура кэш-памяти.

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

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

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

Рис. 13.9. Структура полностью ассоциативной кэш-памяти

В полностью ассоциативной кэш-памяти (FACM, Fully Associated Cache Memory), структура которой показана на рис. 13.9, каждая ячейка хранит данные, а в поле "тег" — полный физический адрес информации, копия ко­нторой записана. При любых обменах физический адрес запрашиваемой информации сравнивается с полями "тег" всех ячеек и при совпадении их в любой ячейке устанавливается сигнал Hit.

При чтении и значении сигнала Hit = 1 данные выдаются на шину данных, (если же совпадений нет (Hit = 0), то при чтении из основной памяти данные вместе с адресом помещаются в свободную или наиболее давно не используемую ячейку кэш-памяти.

При записи данные вместе с адресом сначала, как правило, размещаются в кэш-памяти (в обнаруженную ячейку при Hit = 1 и свободную при Hit = 0). Копирование данных в основную память выполняется под управлением специального контроллера, когда нет обращений к памяти.