- •Содержание:
- •Кэш-память
- •Архитектура кэш-памяти
- •Кэш-память с прямым отображением
- •Полностью ассоциативная архитектура
- •Наборно-ассоциативная архитектура
- •Гарвардская и Принстонская архитектуры
- •Размеры кэш-памяти
- •Методы записи
- •Обновление информации
- •Кэш в процессорах с умножением частоты
- •Разработка приложения.
- •Техническое задание.
- •Интерфейс программы.
- •Алгоритм приложения.
- •Исходный текст программы.
- •Описание программы.
Обновление информации
Каждый раз, когда микропроцессору требуется информация, отсутствующая в кэше (cache-miss), он вынужден обращаться через системную шину к основной оперативной памяти. После этого обычно решается, должна ли происходить замена строки в кэшпамяти и какая конкретно строка кэша будет заменена. В подавляющем большинстве случаев об этом заботится встроенный в контроллер LRU-алгоритм (Last Recently Used), который обновляет именно ту строку кэша, которая используется менее интенсивно.
Кэш в процессорах с умножением частоты
Особое значение кэш-память имеет для микропроцессоров, которые работают с умножением внешней тактовой частоты. Как известно, эти микропроцессоры обеспечивают новую технологию, при которой скорость работы внутренних блоков микропроцессора в два или более раз выше скорости остальной части системы. Тем самым появилась возможность объединения высокой производительности микропроцессора с высокой внутренней тактовой частотой (до 100 МГц и выше) и эффективной по стоимости системной платой компьютера. Внутренние функциональные узлы подобных микропроцессоров — математический сопроцессор (если есть), кэш, устройство управления памятью, арифметико-логическое устройство — используют умноженную тактовую частоту, в то время как остальные элементы системной платы — системная и внешняя кэшпамять, вспомогательные микросхемы — работают с обычной скоростью. Это позволяет увеличить производительность всей системы, как правило, за счет хранения части данных и выполняемых кодов программ именно во внутренней кэш-памяти.
Хотя процессоры уровня 486-х и выше имеют внутреннюю кэшпамять, так называемую кэш-память первого уровня (Level I, LI), все системные платы предусматривают установку и внешней (второго уровня, L2) кэш-памяти до 256 Кбайт для 486-х систем и от 512 Кбайт для систем на основе Pentium. В качестве такой кэшпамяти обычно используются микросхемы статического ОЗУ (SRAM) с временем доступа 15—20 нc. Благодаря наличию внешней кэш-памяти работа динамической памяти с 1—2 циклами ожидания не приводит к заметному понижению производительности, и практически во всех платах можно применять модули с временем выборки 70 нc.
Системные платы на основе процессоров Pentium могут использовать синхронную пакетную (synchronous burst) или конвейерную пакетную (pipelined burst) кэш-память, выполненную, разумеется, на элементах статической памяти. Пакетная SRAM-память отличается от обычной асинхронной тем, что для нее достаточно только первого адреса строки данных, так как все остальные получаются автоувеличением базового адреса по тактовым сигналам. В конвейерной же памяти плюс к этому для хранения пакета выбранных данных используются регистры-"защелки", за счет чего основная матрица памяти микросхемы может быть менее быстродействующей, нежели в случае стандартной пакетной SRAM. Это обуславливает, разумеется, и стоимость самой памяти.
Микросхемы для кэш-памяти выполнены обычно в корпусах типа DIP или SOP, которые либо устанавливаются в соответствующие DIP-панельки, либо распаиваются непосредственно на системной плате. Синхронная кэш-память может поставляться в виде специальных модулей COAST, которые внешне очень напоминают обычные SIMM-модули и устанавливаются в специальный разъем на системной плате. Заметим, кстати, что при использовании синхронной памяти быстродействие компьютера может возрасти примерно на 10—15%.