Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура / Организация оперативной памяти многопроцессорных систем.doc
Скачиваний:
52
Добавлен:
18.05.2015
Размер:
397.31 Кб
Скачать

Иерархическая структура памяти

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

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

Кэш-память

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

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

Компьютеры хранят данные в аналогичной иерархии. Когда приложение начинает работать, данные и команды переносятся с медленного жесткого диска в оперативную память произвольного доступа (Dynamic Random Access Memory — DRAM), откуда процессор может быстро их получить. Оперативная память выполняет роль кэша для жесткого диска.

Основные способы организации кэШа

При любом обращении к более низкому уровню памяти происходит копирование выбранной строки в КЭШ. Более высокий уровень имеет дело уже с копией. Если строка становится пассивной, то она копируется в более низкий уровень. Для адресации строк каждой строке присваивается свой адресный ТЭГ. Этот ТЭГ сопровождает строку информации при копировании ее в КЭШ.

В состав блока КЭШ входят:

  • Сам накопитель. Он хранит строки информации и ТЭГи.

  • Блок фиксации адреса и выявления принадлежности участков адреса данной КЭШ. Блок занимается определением строки по выставленному адресу.

  • Блок определения отсутствия и замены строк в КЭШе.

Существуют основные способы организации КЭШ:

    • КЭШ полностью ассоциативного типа,

    • КЭШ с прямым отображением,

    • Множественно ассоциативный КЭШ.

Кэш с прямым отображением

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

Достоинством является уменьшение памяти ТЭГов.

Возникают ограничения на расположение страниц в КЭШ и это может не позволить сформировать оптимальный набор страниц КЭШ.

Полностью ассоциативный КЭШ

Кэш с полностью ассоциативным отображением позволяет преодолеть недостаток прямого, разрешая загрузку любого блока ОП в любую строку кэш-памяти. Логика управления выделяет в адресе ОП два поля: поле тега и поле слова. Поле тега совпадает с адресом блока ОП. Для проверки наличия копии блока в кэш-памяти, логика управления кэша должна одновременно проверить теги всех строк на совпадение с полем тега адреса. Ассоциативное отображение обеспечивает гибкость при выборе строки для вновь записываемого блока. Принципиальный недостаток этого способа – в необходимости использования дорогой ассоциативной памяти.

При этом существует два способа замещения пассивной информации на активную:

  1. Наугад, когда освобождается любая строка и на ее месте размещается другой блок информации. Этот способ удобен своим быстродействием, но записываемый в ОЗУ блок информации может оказаться активными и при последующем обращении его придется восстанавливать в КЭШ.

  2. Контроллер КЭШ отслеживает интервалы обращения к различным блокам в КЭШ и замещает тот блок, к которому дольше всего не было обращения.