Цель занятия:
Дидактическая: сформировать основные понятия об организации и типах архитектурных реализаций кэш-памяти компьютера; объяснить типы. Объяснить особенности схем взаимодействия кэш-памяти и основной оперативной памяти.
Воспитательная: воспитывать интерес к будущей профессии.
План
1 Кэш-память компьютера.
2 Архитектура инклюзивной кэш-памяти.
3 Архитектура эксклюзивной кэш-памяти.
4 Схемы взаимодействия кэш-памяти и основной оперативной памяти.
5 Контрольные вопросы.
1 Кэш-память компьютера
Впервые кэш-память появилась в компьютерах на базе процессоров Intel 80386 и располагалась она на материнской плате. Материнские платы 386 DX имели кэш-память объемом от 64 до 256 Кб. 486-е процессоры уже имели кэш-память, расположенную на процессорном кристалле, но кэш-память на материнской плате была сохранена. Система кэш-памяти стала двухуровневой: память на кристалле стали называть кэшем первого уровня (L1), а на материнской плате – кэшем второго уровня (L2). Со временем кэш второго уровня «перебрался» на кристалл процессора. Первой это осуществила AMD на процессоре K6-III (L1 = 64 Kb, L2 = 256 Kb).
Наличие кэшей двух уровней потребовало создания механизма их взаимодействия между собой. Существует два варианта обмена информацией между кэш-памятью первого и второго уровня, или, как говорят, две кэш-архитектуры: инклюзивная и эксклюзивная.
2 Архитектура инклюзивной кэш-памяти
Инклюзивная архитектура предполагает дублирование информации, находящейся в L1 и L2.
Схема работы кэш памяти, имеющей инклюзивную архитектуру, следующая. Во время копирования информации из ОЗУ в кэш делается две копии; одна копия заносится в L2, другая копия – в L1. Когда L1 полностью заполнен, информация замещается по принципу удаления наиболее «старых данных» – принцип LRU (Least-Recently Used). Аналогично происходит и с кэшем второго уровня, но, поскольку его объем больше, то и информация хранится в нем дольше.
При считывании процессором информации из кэша, она берется из L1. Если нужной информации в кэше первого уровня нет, то она ищется в L2. Если нужная информация в кэше второго уровня найдена, то она дублируется в L1 (по принципу LRU), а затем, передается в процессор. Если нужная информация не найдена и в кэше второго уровня, то она считывается из ОЗУ по схеме, описанной выше.
Инклюзивная архитектура применяется в тех системах, где разница в объемах кэшей первого и второго уровня велика. Например, у Pentium 3 (Coppermine): L1 = 16 Kb, L2 = 256 Kb. Pentium 4: L1 = 16 Kb, L2 = 1024 Kb. В таких системах дублируется лишь небольшая часть кэша второго уровня, но это вполне приемлемая цена за простоту реализации инклюзивного механизма.
3 Архитектура эксклюзивной кэш-памяти.
Эксклюзивная кэш-память предполагает уникальность информации, которая находится в L1 и L2.
При считывании информации из ОЗУ в кэш – информация сразу заносится в L1. Когда L1 заполнен, то, по принципу LRU информация переносится из L1 в L2.
Если при считывании процессором информации из L1 нужная информация не найдена, то она ищется в L2. Если нужная информация найдена в L2, то по принципу LRU кэши первого и второго уровня обмениваются между собой строками (самая "старая" строка из L1 помещается в L2, а на ее место записывается нужная строка из L2). Если нужная информация не найдена и в L2, то обращение идет к ОЗУ по схеме, описанной выше.
Эксклюзивная архитектура применяется в системах, где разность между объемами кэшей первого и второго уровня относительно невелика. Например, у Athlon XP: L1 = 64 Kb, L2 = 256 Kb.
В эксклюзивной архитектуре кэш-память используется более эффективно, но схема реализации эксклюзивного механизма гораздо сложнее.
4 Схемы взаимодействия кэш-памяти и основной оперативной памяти.
Поскольку, кэш-память работает очень быстро, то в кэш помещается информация, к которой часто обращается процессор – это значительно ускоряет его работу. Информация из ОЗУ помещается в кэш, а потом к ней обращается процессор. Существует несколько схем взаимодействия кэш-памяти и основной оперативной памяти.
Кэш-память с прямым отображением.
Самый простой вариант взаимодействия кэша с ОЗУ. Объем ОЗУ делится на сегменты (страницы), по объему равные объему всего кэша (например, при объеме кэша 64 Кб и также ОЗУ разбивается на страницы по 64 Кб). При взаимодействии кэша с ОЗУ, одна страница ОЗУ размещается в кэш-памяти, начиная с нулевого адреса (т.е., с самого начала кэша). При повторной операции взаимодействия, следующая страница накладывается поверх существующей – т.е., фактически прежние данные заменяются на текущие.
Достоинства: простая организация массива, минимальное время поиска.
Недостатки: неэффективное использование всего объема кэш-памяти – ведь вовсе не обязательно, что данные будут занимать весь объем кэша, они могут занимать и 10%, но следующая порция данных уничтожает предыдущую, таким образом, фактически имеем кэш с гораздо меньшим объемом.
Наборно-ассоциативная кэш-память.
Весь объем кэша делится на несколько равных сегментов, кратных двойке в целой степени (2, 4, 8). Например, кэш 64 Кб может быть разделен на:
2 сегмента по 32 Кб каждый;
4 сегмента по 16 Кб каждый;
8 сегментов по 8 Кб каждый.
Pentium 3 и 4 имеют 8-канальную структуру кэша (кэш разбит на 8 сегментов); Athlon Thunderbird – 16-канальную.
При такой организации, ОЗУ делится на страницы, равные по объему одному сегменту кэша (одному кэш-банку). Страница ОЗУ пишется в первый кэш-банк; следующая страница – во второй кэш-банк и т.д., пока все кэш-банки не будут заполнены. Дальнейшая запись информации идет в тот кэш-банк, который не использовался дольше всего (содержит самую «старую» информацию).
Достоинства: повышается эффективность использования всего объема кэша – чем больше кэш-банков (выше ассоциативность), тем выше эффективность.
Недостатки: более сложная схема управления работой кэша; дополнительное время на анализ информации.
Полностью ассоциативная кэш-память. Это предельный случай предыдущего варианта, когда объем кэш-банка становится равным одной строке кэш-памяти (дальше делить уже нет возможности). При этом любая строка ОЗУ может быть сохранена в любом месте кэш-памяти.
Запоминающий кэш-массив состоит из строк равной длины. Емкость такой строки равна размеру пакета, считываемого из ОЗУ за 1 цикл (например, Pentium 3 – 32 байта; Pentium 4 – 64 байта). Строка загружается в кэш и извлекается только целиком.
Достоинства: высокая скорость считывания.
Недостаток – сложность аппаратной реализации. Поэтому полностью ассоциативная кэш-память чаще всего используется в специализированных буферах, таких, как буфер целевых адресов переходов, с небольшим объемом строк.
Домашнее задание.
1 Законспектировать материал по теме в рабочей тетради.
2 Ответить на контрольные вопросы
5 Контрольные вопросы:
1 В результате чего появилась многоуровневая организация кэш-памяти?
2 Объясните особенности архитектуры инклюзивной кэш-памяти. Как изменяется информация в кэш-памяти при считывании процессором информации из КЭШа?
3 Объясните особенности архитектуры эксклюзивной кэш-памяти. Что происходит в такой кэш-памяти при считывании процессором информации из КЭШа?
4 Назовите достоинства и недостатки при организации взаимодействия ОЗУ с кэш-памятью по схеме с прямым отображением. Аргументируйте ответ.
5 Назовите достоинства и недостатки при организации взаимодействия ОЗУ с кэш-памятью по схеме с наборно-асссоциативным отображением. Аргументируйте ответ.
6 Назовите достоинства и недостатки при организации взаимодействия ОЗУ с кэш-памятью по схеме с полным ассоциативным отображением. Аргументируйте ответ.
Интернет-источники
1 https://studfile.net/preview/4520408/page:12/#33
2
© ООО «Знанио»
С вами с 2009 года.