Регенерация динамической памяти 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Регенерация динамической памяти



Как указывалось ранее, динамическая память требует регенерации (восстановления) информации, производимой через каждые несколько мс. Это связано с тем, что для хранения одного бита информации в ней используется заряд на конденсаторе, который с течением времени рассасывается. Регенерация памяти заключается в том, что содержимое каждой строки микросхемы DRAM считывается, усиливается и записывается вновь на прежнее место. При регенерации доступ к памяти со стороны процессора или других устройств запрещен, что приводит к снижению производительности ЭВМ.

В соответствии с ранее рассмотренной организацией микросхемы DRAM для регенерации хранимой в ней информации, на микросхему необходимо подать адрес строки (в сопровождении строба RAS) и сигнал чтения. Упрощенная структура системы регенерации содержимого памяти DRAM, состоящей из 256 строк, приведена на рисунке 7.10.

Таймер интервала регенерации следит за своевременным проведением регенерации всех строк микросхем DRAM. Если требуемое время регенерации составляет 4 мс, то для регенерации каждой строки 256- строковой микросхемы DRAM сигнал регенерации (REFRESH) должен вырабатываться через каждые 15,6 мкс. В каждом цикле регенерации осуществляется восстановление содержимого одной строки. При выработке нового сигнала REFRESH содержимое счетчика адреса строки инкрементируется, после чего вырабатываются строб RAS и сигнал чтения памяти MEMR. Основные действия по регенерации содержимого очередной строки осуществляются

Рисунок 7.10 - Структура подсистемы регенерации динамической памяти

 

внутри самой микросхемы DRAM. Система регенерации отвечает лишь за своевременную регенерацию всех строк, выработку адреса очередной строки и необходимых управляющих сигналов.

 

КЭШ-память

Повышение производительности процессоров привело к тому, что основная память, построенная на микросхемах DRAM, стала замедлять дальнейшее повышение производительности ЭВМ в целом. Реализация ОП на микросхемах SRAM технически и экономически не оправдана, так как габариты и стоимость микросхем SRAM на 1 бит хранимой информации существенно выше, чем аналогичные показатели у DRAM. Разумным компромиссом для построения экономичных и быстродействующих систем явилось сочетание памяти большого объёма на DRAM и небольшой на микросхемах SRAM.

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

Рисунок 7.11- Возможная область кэширования ОП

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

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

КЭШ прямого отображения

Принцип работы КЭШ прямого отображения проиллюстрирован на рисунке 7.12.

Рисунок 7.12- Структура КЭШ прямого отображения

В таблице 7.2 приведено разбиение полного адреса ячейки DRAM на поля.

Таблица 7.2- Распределение полного адреса ячейки DRAM

Разряды адреса ячейки памяти
Tag Index  
25... 18 17… 5 4… 0
Номер страницы (блока) ОП Номер строки в блоке ОП Выбор байта в строке  

 

Рассмотрим принцип работы КЭШ прямого отображения на примере КЭШ объёмом 256 Кбайт с размером строки 32 байта (4 x 8 байт) и объёмом кэшируемой основной памяти 64 Мбайт. Кэшируемая основная память при этом условно разбивается на блоки, размер которых равен размеру КЭШ – памяти. Для рассматриваемого случая количество блоков равно: 64 Мбайт/ 256 Кбайт = 256. В свою очередь КЭШ- память делится на строки, длина которых равна количеству байт, передаваемых процессором в одном пакетном цикле (пакете) (4 x 4 байт =16 для процессора INTEL 486 и 4 x 8 байт = 32 байта для Pentium - процессоров). При размере КЭШ в 256 Кбайт число строк КЭШ для Pentium будет равно 256 Кбайт / 32 байт = 8 К.

В КЭШ прямого отображения средняя часть адреса (Index), по которому производится обращение, однозначно определяет строку КЭШ, в которой может находиться отображение соответствующей строки блока DRAM. На запись в каждую строку КЭШа могут претендовать только одноимённые строки всех блоков основной памяти (откуда и название данного типа КЭШ), но конкретная строка КЭШа в некоторый момент времени может содержать копию только одной строки некоторого блока ОП. Номер блока основной памяти, строка которого отображается в КЭШ, или старшая часть адреса (А18…А25 для КЭШ и ОП рассматриваемых размеров) оперативной памяти называется тегом (Tag) и хранится в дополнительной памяти тегов (Tag SRAM). Младшие пять разрядов адреса (для пакета в 32 байта) определяют номер байта в строке КЭШ памяти и для работы КЭШ памяти несущественны, т.к. минимальной единицей кэширования является строка.

Память тегов должна иметь количество ячеек, равное количеству строк КЭШа (объём КЭШ делится на длину строки КЭШ в байтах), а её разрядность должна вмещать старшие биты адреса кэшируемой памяти.

Кроме адресной части Tag с каждой строкой связаны биты признака действительности строки (V-Valid) и модифицированности данных (М-Mod).

В начале каждого обращения к кэшируемой памяти контроллер ККП считывает содержимое ячейки Tag с заданным индексом и сравнивает его со старшими битами D18…D25, адреса строки DRAM, подлежащей чтению. Сравнение осуществляется цифровым компаратором, входящим в состав КЭШ- контроллера. Если результат сравнения отрицателен (случай КЭШ- промаха), то вырабатывается цикл чтения основной памяти и считанные с нее данные вводятся в процессор, помещаются в соответствующую строку КЭШ, в Tag строки записывается старшая часть адреса, а бит V - достоверности, устанавливается в 1. В случае попадания в КЭШ при значении бита достоверности равным 1 данные берутся из КЭШ- памяти и обращение к DRAM не производится.

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

Существуют два основных алгоритма записи данных из КЭШ - памяти в основную: сквозная запись WT (Write Through) и обратная (отложенная) запись WB (Write Back).

Алгоритм WT предусматривает выполнение каждой операции записи сразу и в КЭШ память и в DRAM. При этом каждая операция записи равносильна записи в DRAM и использование КЭШ- памяти не даёт никакого выигрыша при операциях записи (бит М в этом случае в составе КЭШ не используется).

При алгоритме WB запись со стороны процессора осуществляется только в строку КЭШ, при этом бит М устанавливается в 1, т. е. соответствующая строка в КЭШ отмечается как модифицированная или грязная, т. е. требующей записи в основную память. После копирования в DRAM строка становится чистой и бит М снова устанавливается в 0.

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

В системах с несколькими ведущими запись в DRAM могут осуществлять и другие устройства, например подсистема ПДП. В этом случае содержимое соответствующих строк КЭШ и DRAM также может оказаться различным, но уже из-за изменения строки DRAM.

Для устранения такой возможности адрес изменяемой строки DRAM при захвате шины другим ведущим передаётся в КЭШ второго (L2) и первого (L1) уровней. При этом процессор, находящийся в состоянии захвата его шины отслеживает адреса изменённых строк DRAM и в результате устанавливает биты их достоверности V в ноль.

 

Наборно- ассоциативный КЭШ

Его можно рассматривать как набор нескольких (например 4-х) КЭШ прямого отображения. В наборно-ассоциативной КЭШ - памяти каждая строка DRAM может размещаться в одной из нескольких строк КЭШ. В этом случае в состав TAG вводят ещё дополнительное поле, по которому ККП определяет, к какой строке КЭШ было самое давнее обращение, и которая следовательно, может быть заменена. Дополнительным усложнением является то, что старшая часть текущего адреса системы должна сравниваться с содержимым нескольких ТЭГ. КЭШ такого типа используются как внутренняя (L1) КЭШ память процессоров.

В процессорах Pentium внутренняя КЭШ- память имеет объем в 32 Кбайта. Она разбита на две равные части по 16 Кбайт - КЭШ кода программы и данных.

 

7.8 Контрольные вопросы

1. Какие отличия в организации изолированной и совмещенной систем адресных шин?

2. Перечислите достоинства и недостатки изолированной и совмещенной систем адресных шин.

3. Перечислите основные типы ПЗУ.

4. Как определяется необходимое число микросхем для построения памяти нужной емкости и разрядности?

5. Какие отличия между памятью статического и динамического типа?

6. Перечислите основные узлы подсистемы регенерации.

7. Что такое регенерация DRAM?

8. Назначение КЭШ- памяти?

9. Что обозначает название- КЭШ прямого отображения?

10. Назначение битов V и M в тэге КЭШ- памяти?

11. Отличия алгоритмов сквозной и отложенной записи?

12. Какими показателями КЭШ- памяти определяется объем кэширования ОП?


ОРГАНИЗАЦИЯ ПК



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 1804; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.27.148 (0.017 с.)