Смекни!
smekni.com

Иерархия памяти, кэширование (стр. 2 из 2)

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

Другой способ предполагает отображение изменений в основной па­мяти только в момент вытеснения строки данных из кэша. Если данные по адресу памяти, в который необходимо произвести запись, находятся в кэш-памяти, то идет запись только в кэш-память. При отсутствии данных в кэш-памяти производится запись в основную память. Такой режим рабо­ты кэша получил название обратной записи (write-back).

Существуют также промежуточные варианты (buffed write though), при которых запросы на изменение в основной памяти буферизуются и не за­держивают процессор на время операции записи в память. Эта запись вы­полняется по мере возможности доступа контроллера кэш-памяти к ос­новной памяти.

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

Контроллер кэша отслеживает адреса памяти, выдаваемые процессо­ром, и если адрес соответствует данным, содержащимся в одной из строк кэша, то отмечается "попадание в кэш", и данные из кэша направляются в процессор. Если данных в кэше не оказывается, то фиксируется "промах", и инициируются действия по доставке в кэш из памяти требуемой строки. В ряде процессоров, выполняющих одновременно совокупность команд, допускается несколько промахов, прежде чем будет запущен механизм за­мены строк. [2]

Рассуждения о том, какой способ организации кэш-памяти более пред­почтителен, должны учитывать особенности генерации программ компи­лятором, а также использование программистом при подготовке програм­мы сведений о работе компилятора и контроллера кэш-памяти. То есть более простой способ организации кэш-памяти, поддерживаемый компи­лятором, при исполнении программ, написанных в соответствии с неко­торыми правилами, обусловленными особенностями компиляции и орга­низации кэш-памяти, может дать лучший результат, чем сложный способ организации кэш-памяти.

Так как области памяти программ и данных различны и к ним проис­ходит одновременный доступ, то для повышения параллелизма при рабо­те с памятью делают отдельные кэши команд и данных. [4]


ЗАКЛЮЧЕНИЕ

Данная работа была посвящена исследованию вопросов иерархии памяти и кэшированию. Нами были рассмотрены уровни, структура и функции иерархии памяти. Мы выяснили, что иерархическое построение памяти компьютера позволяет снизить стоимость подсистемы памяти компьютера, так как те данные, которые нужны чаще, хранятся в быстродействующей (и более дорогостоящей) памяти, в то время как большой объем редко используемых данных можно хранить в относительно дешевой внешней памяти. Иерархия памяти относится к тем особенностям архитектуры компьютеров, которые имеет огромное значение для повышения их производительности (сглаживание разницы между скоростью работы процессора и временем выборки из памяти). Основные уровни: регистры, кэш-память, оперативная память, дисковая память. Время выборки по уровням памяти от дисковой памяти к регистрам уменьшается, стоимость в пересчете на 1 слово (байт) растет. В настоящее время, подобная иерархия поддерживается даже на персональных компьютерах.

А так же рассмотрели принципы работы и виды кэш-памяти. Кэш – это память с большей скоростью доступа, предназначенная для ускорения обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа (далее «основная память»). Кэширование применяется ЦПУ, жёсткими дисками, браузерами и веб-серверами. Основная идея кэш-памяти проста: в ней находятся слова, которые чаще всего используются. Если процессору нужно какое-нибудь слово, сначала он обращается к кэш-памяти. Только в том случае, если слова там нет, он обращается к основной памяти. Если значительная часть слов находится в кэш-памяти, среднее время доступа значительно сокращается.

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



СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1 Майер, Р.В. Информатика: Кодирование информации. Принципы работы ЭВМ. [Текст] / Учебн. пособ. для вузов.// Р.В. Майер – М.: ФАИР – ПРЕСС, 2004. – 24 c.

2 Шнитман, В. Архитектура процессоров UltraSPARC. [Текст]/ В. Шнитман // Открытые системы №2, 1996.– c. 5

3 Таненбаум, Э. Современные операционные системы. 3-е изд. [Текст]/ – СПб.: Питер, 2002.–1120 с.

4 Трофимова, И.П. Системы обработки и хранения информации: Учеб. для вузов. [Текст] / И.П. Трофимова – М.: Высш. шк., 1989. – 191 c.

5 Бикташев, Р.А. , Князьков, В.С. Многопроцессорные системы. Архитектура, топология, анализ производительности: Учебное пособие. [Текст]/– Пенза: Пенз. гос. ун-т, 2003. –105 c.