MaxEdu.ru

Иерархия памяти, кэширование

ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ 4
1 ИЕРАРХИЧЕСКАЯ СТРУКТУРА ПАМЯТИ 5
2 КЭШИРОВАНИЕ 7
ЗАКЛЮЧЕНИЕ 10
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 11

ВВЕДЕНИЕ
Главная задача компьютерной системы – выполнять программы. Программы вместе с данными, к которым они имеют доступ, в процессе выполнения должны (по крайней мере частично) находиться в оперативной памяти. Операционной системе приходится решать задачу распределения памяти между пользовательскими процессами и компонентами ОС. Эта деятельность называется управлением памятью. Таким образом, память (storage, memory) является важнейшим ресурсом, требующим тщательного управления. [1]
В основе реализации иерархии памяти современных компьютеров лежат два принципа: принцип локальности обращений и соотношение стоимость/ производительность. Принцип локальности обращений говорит о том, что большинство программ к счастью не выполняют обращений ко всем своим командам и данным равновероятно, а оказывают предпочтение некоторой части своего адресного пространства. [2]
В идеале каждому программисту хотелось бы иметь предоставленную только ему неограниченную по объему и скорости работы память, которая к тому же не теряет своего содержимого при отключении питания. Раз уж мы так размечтались, то почему бы не сделать память еще и совсем дешевой? К сожалению, существующие технологии пока не могут дать нам желаемое. Тогда чем же нам придется довольствоваться? Со временем была разработана концепция иерархии памяти, согласно которой компьютеры обладают несколькими мегабайтами очень быстродействующей, дорогой и энергозависимой кэш-памяти, несколькими гигабайтами памяти, средней как по скорости, так и по цене, а также несколькими терабайтами памяти на довольно медленных, сравнительно дешевых дисковых накопителях, не говоря уже о сменных накопителях, таких как DVD – диски и флеш – устройства USB. [3]
Итак, как мы уже определили, иерархия памяти современных компьютеров строится на нескольких уровнях. В нашей работе мы более подробно рассмотрим данные уровни, их структуру и функции.

1 ИЕРАРХИЧЕСКАЯ СТРУКТУРА ПАМЯТИ

Память ЭВМ должна иметь большую информационную емкость, малое время обращения (высокое быстродействие), высокую надежность и низкую стоимость. Но с увеличением емкости снижается быстродействие и растет стоимость. [1] Деление памяти на ОЗУ и ВЗУ не снимает это противоречие полностью, так как различие в быстродействии процессора, ОЗУ и ВЗУ очень велико. Поэтому обмен информацией производится через дополнительные буферные устройства, то есть память ЭВМ имеет иерархическую многоуровневую структуру. Чем больше быстродействие ЗУ, тем выше стоимость хранения 1 байта, тем меньшую емкость имеет ЗУ. Иерархия памяти имеет следующий вид (Рис. 1):
Рисунок 1 – Четырехуровневая организация памяти
Виды памяти:
1) регистры микропроцессорной памяти, а также кэш-память первого и второго уровня;
2) внутренняя память ПЗУ, ОЗУ;
3) внешняя память;
4) массовая или архивная память.[3]

Эта система запоминающих устройств работает как единое ЗУ с большой емкостью (за счет внешних ЗУ) и высоким быстродействием (за счет внутренних ЗУ).
Микропроцессорная память – высокоскоростная память небольшой емкости, входящая в МП и используемая АЛУ для хранения операндов и промежуточных результатов вычислений. КЭШ-память – это буферная, не доступная для пользователя память, автоматически используемая компьютером для ускорения операций с информацией, хранящейся в медленно действующих запоминающих устройствах. Для ускорения операций с основной памятью организуется регистровая КЭШ-память внутри микропроцессора (КЭШ-память первого уровня) или вне микропроцессора на материнской плате (КЭШ-память второго уровня); для ускорения операций с дисковой памятью организуется КЭШ-память на ячейках электронной памяти.
Внутренняя память состоит из ПЗУ (ROM – Read Only Memory) и ОЗУ (RAM – Random Access Memory – память с произвольным доступом). ПЗУ состоит из установленных на материнской плате микросхем и используется для хранения неизменяемой информации: загрузочных программ операционной системы (ОС), программ тестирования устройств компьютера и некоторых драйверов базовой системы ввода-вывода (BIOS – Base Input-Output System) и др. Из ПЗУ можно только считывать информацию, емкость ПЗУ – сотни Кбайт. Это энергонезависимая память, – при отключении ЭВМ информация сохраняется.
Внешняя память относится к внешним устройствам ЭВМ и используется для долговременного хранения любой информации, которая может потребоваться. В ВЗУ хранится программное обеспечение ЭВМ. Внешняя память: НЖМД и ЖМД, НГМД и ГМД (магнитный диск), стример (НМЛ – накопитель на магнитной ленте), оптические накопители для CD-ROM и DVD-дисков. [4]
Информационная структура внешней памяти – файловая. Наименьшей именуемой единицей является файл, – наименованная совокупность однородных данных. Информация в файле состоит из битов и байтов, но они не имеют адресов, так как носитель (магнитный диск) не дискретный. [5]

2 КЭШИРОВАНИЕ
В связи с тем, что локально обрабатываемые данные могут возникать в динамике вычислений и не обязательно сконцентрированы в одной об­ласти при статическом размещении в основной памяти, буферную память организуют как ассоциативную, в которой данные содержатся в совокуп­ности с их адресом в основной памяти. Такая буферная память получила название кэш-памяти. Кэш-память позволяет гибко согласовывать струк­туры данных, требуемые в динамике вычислений, со статическими струк­турами данных основной памяти.
Кэш имеет совокупность строк (cache-lines), каждая из которых состо­ит из фиксированного количества адресуемых единиц памяти (байтов, слов) с последовательными адресами. Типичный размер строки: 16, 64, 128, 256 байтов.
Наиболее часто используются три способа организации кэш-памяти, отличающиеся объемом аппаратуры, требуемой для их реализации. Это так называемые кэш-память с прямым отображением (direct-mapped cache), частично ассоциативная кэш-память (set-associative cache) и ассоциатив­ная кэш-память (fully associative cache). [3]
При использовании кэш-памяти с прямым отображением адрес пред­ставляется как набор трех компонент, составляющих группы старших, средних и младших разрядов адреса, соответственно тега, номера строки, смещения. Например, при 16-разрядном адресе старшие 5 разрядов могут представлять тег, следующие 7 разрядов - номер строки и последние 4 раз­ряда - смещение в строке. В этом случае строка состоит из 16 адресуемых единиц памяти, всего строк в кэше 128. Кэш-память с прямым отображе­нием представляет собой набор строк, каждая из которых содержит ком­поненту тег и элементы памяти строки, адрес которых идентифицируется смещением относительно начала строки. При этом устанавливается однозначное соответствие между адресом элемента памяти и возможным расположением этого

элемента памяти в кэше, а именно: элемент памяти всегда располагается в строке, задавае­мой компонентой "номер строки" адреса, и находится на позиции строки, задаваемой компонентой "смещение" адреса. [2]
Наличие элемента данных по запрашиваемому адресу в кэше опреде­ляется значением тега. Если тег строки кэш-памяти равен компоненте "тег" адреса, то элемент данных содержится в кэш-памяти.
Иначе необходима подкачка в кэш-память строки, с заданным в адресе тегом.
Так как для определения наличия нужной строки данных в кэш-памя­ти требуется только одно сравнение тегов заданной строки и адреса, а само замещение строк выполняется по фиксированному местоположению, то объем оборудования, необходимый для реализации этого типа кэш-памя­ти, достаточно мал.
Недостатки этой организации - очевидны. Если программа использует поочередно элементы памяти из одной строки, но с различными значения­ми тегов, то это вызывает при каждом обращении замену строки с обра­щением к данным основной памяти.
Ассоциативная кэш-память использует двухкомпонентное представле­ние адреса: группа старших разрядов трактуется как тег, а группа млад­ших разрядов - как смещение в строке.
Нахождение строки в кэше определяется совпадением тега-строки со зна­чением тега адреса. Количество строк в кэше может быть произвольным (естественное ограничение - количество возможных значений тегов). По­этому при определении нахождения требуемой строки в кэш-памяти необ­ходимо сравнение тега адреса с тегами всех строк кэша. Если выполнять это последовательно, строка за строкой, то время выполнения сравнений будет непозволительно большим. Поэтому сравнение выполняется параллельно во всех строках с использованием принципов построения ассоциативной памяти, что и дало название этому способу организации кэш-памяти.
При отсутствии необходимой строки в кэш-памяти одна из его строк должна быть заменена на требуемую. Используются разнообразные алго­ритмы определения заменяемой строки, например циклический, замена наиболее редко используемой строки, замена строки, к которой дольше всего не было обращений, и другие.[1]
Частично-ассоциативная кэш-память комбинирует оба вышеописан­ных подхода: кэш-память состоит из набора ассоциативных блоков кэш-памяти. Средняя компонента адреса задает в отличие от прямо адресуе­мой кэш-памяти не номер строки, а номер одного из ассоциативных бло­ков. При поиске данных ассоциативное сравнение тегов выполняется толь­ко для набора блоков (возможна организация кэша, когда таких наборов несколько), номер которого совпадает со средней компонентой адреса. По количеству n строк в наборе кэш-память называется n -входовой.
Соответствие между данными в оперативной памяти и кэш-памяти обес­печивается внесением изменений в те области оперативной памяти, для которых данные в кэш-памяти подверглись модификации. Соответствие данных обеспечивается параллельно с основными вычислениями. Суще­ствует несколько способов его реализации (и, соответственно, несколько режимов работы кэш-памяти).
Один способ предполагает внесение изменений в оперативную память сразу после изменения данных в кэше. При этом процессор простаивает в ожидании завершения записи в основную память. В основной памяти под­держивается правильная копия данных кэша, и при замене строк не требу­ется никаких дополнительных действий. Кэш-память, работающая в та­ком режиме, называется памятью со сквозной записью (write - through).
Другой способ предполагает отображение изменений в основной па­мяти только в момент вытеснения строки данных из кэша. Если данные по адресу памяти, в который необходимо произвести запись, находятся в кэш-памяти, то идет запись только в кэш-память. При отсутствии данных в кэш-памяти производится запись в основную память. Такой режим рабо­ты кэша получил название обратной записи (write-back).
Существуют также промежуточные варианты (buffed write though), при которых запросы на изменение в основной памяти буферизуются и не за­держивают процессор на время операции записи в память. Эта запись вы­полняется по мере возможности доступа контроллера кэш-памяти к ос­новной памяти.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Рефераты по информатике ОГЛАВЛЕНИЕ ВВЕДЕНИЕ 4 1 ИЕРАРХИЧЕСКАЯ СТРУКТУРА ПАМЯТИ 5 2 КЭШИРОВАНИЕ 7 ЗАКЛЮЧЕНИЕ 10 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 11 ВВЕДЕНИЕ Главная задача
Оценок: 591 (Средняя 5 из 5)

Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.

Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.

© 2014 - 2022 MaxEdu.ru