Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000293.doc
Скачиваний:
11
Добавлен:
30.04.2022
Размер:
1.46 Mб
Скачать

6.4Организация памяти первого уровня

Основное назначение памяти первого уровня (СОП) - повысить быстродействие памяти ЭВМ и, следовательно, быстродействие ЦП. Действительно, время выполнения команды определяется суммой:

Тком = ком + n опер + вып + рез (6.2)

и, как видно из этого выражения, существенно зависит от времени обращения к памяти ЭВМ.

Время выполнения команды можно существенно уменьшить, если сократить время обращения к памяти. Как? 1) Увеличивая быстродействие основной памяти (это дорого и непросто); 2) между ОП и ЦП поставить СОП в качестве буфера (рисунок 6.3).

Рисунок 6.3

Исторически первым появился буфер данных в виде известных регистров общего назначения (РОН) (рисунок 6.4). РОН в качестве СОП выполняются на основе триггеров, объединенных в регистры.

В РОН программист размещает часто используемые данные, обращение к которым осуществляется быстрее(в 3 - 5 раз), чем к ячейкам ОП. В результате команды, которые оперируют данными из РОН, выполняются быстрее. Пример: команды типа регистр-регистр RR, регистр-память RS выполняются быстрее, чем команды типа память-память SS. Конструктивно РОН обычно располагают на одном кристалле (плате) вместе с ЦП (рисунок 6.5).

Рисунок 6.4

Рисунок 6.5

Второй вариант организации буфера - буфер, недоступный, скрытый от программиста - Cache Memory (скрытая память - пунктир на рисунке 6.5). Кэш-буфер и используется как для хранения команд, так и для хранения данных. Емкость кэш-буфера - десятки, сотни КВ. ”Скрытость” кэш-буфера обеспечивает специальный механизм, который реализует автоматический (аппаратно-управляемый) обмен между ОП и буфером. Единицей обмена обычно является более крупная, чем слово, величина - т.е. строка кэша длиной в несколько слов. Более крупная единица обмена сокращает частоту обменов с ОП. В случае пословного обмена каждое слово в ОП, к которому обращается ЦП, размещается (дублируется) в соответствующей ячейке СОП. В случае более крупной единицы обмена в кэш дублируется целиком тот блок информации, к отдельному слову которого обращается ЦП. При этом существует большая вероятность, что последующие обращения со стороны ЦП будут к соседним словам этого блока и, следовательно, будут обслуживаться кэш-памятью без дополнительных обращений к ОП.

Стратегия автоматического обмена кэша с ОП обычно следующая. Если адресуемое ЦП слово есть в кэш-памяти, то обращение к нему обслуживается кэшем. Если адресуемого слова нет в кэше, то обращение производится к ОП. Из ЦП извлекается и дублируется в кэше либо слово (в случае, если единица обмена - слово), либо целиком тот блок, к которому принадлежит адресуемое ЦП слово (в случае, если единица обмена - блок).

Следует отметить, что если ЦП обращается к ОП по адресу А с целью записи (например, результата операции из АЛУ), и ячейка А продублирована в кэше, то возможны 2 варианта (способа) реализации : 1) без дублирования в ячейку А ОП и 2) с дублированием (записью) в ячейку А ОП. В первом случае имеет место выигрыш во времени записи, но на некотором отрезке времени появляется различие (несоответствие) между ячейкой ОП и её дубликатом в кэш-памяти. Во втором случае соответствие есть, но нет выигрыша во времени при записи результатов, выигрыш есть только при чтении из кэша.

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

Очевидно, то слово (тот блок), обращений к которому в ближайшем будущем не будет. Как узнать, что будет в ближайшем будущем? Предсказать: 1) наугад, 2) на основе предыстории обращений, 3) по очереди. Второй способ самый сложный.

Следует отметить, что буфер данных типа РОН организуется на основе ЗУ с адресной организацией. Скрытый буфер (кэш) команд и данных организуется на основе ЗУ с безадресной организацией, в частности, на основе ЗУ с ассоциативной организацией.