Система памяти ЭВМ. Особенности памяти типа СТЕК. Назначение и принцип действия КЭШ-памяти.
СИСТЕМА ПАМЯТИ
Cистема памяти PC имеет иерархическую структуру:
РОН - сверхоперативное запоминающее устройство (СОЗУ) Емкость 2..64 регистра. Время доступа 15..17 нс. ОЗУ - оперативное запоминающее устройство (ОЗУ и ПЗУ) Емкость 1Мб..64Мб. Время доступа 70..80 нс (ПЗУ-200 нс) Диски - жесткие и гибкие. Массовая память. Емкость 20Мб..100Гб. Время доступа большое, поэтому обмен сразу файлами.
Оперативная память (ОЗУ)
Oперативная память ROM (Random Access Memory - Память с произвольным доступом) может быть построена на МС двух типов: динамического и статического. Память статического типа (SRAM) более быстродействующая, но энергоемкая, поэтому и плотность размещения в кристалле более чем на порядок меньше, чем у динамической памяти. Память динамического типа (DRAM) более медленная да еще требует цикла регенерации через каждую 1mc. Зато огромная плотность и дешевле. Поэтому память ПК в основном всегда динамическая. К оперативной относится и так называемая постоянная память (ROM - Read Only Memory). Она входит в адресное пространство ОЗУ. Используется в основном для хранения программ BIOS (Basis Input/Output System). Ее быстродействие еще меньше, чем DRAM. Емкость обычно не более 64..128 Kb.
ОЗУ статического типа (SRAM)
ОЗУ статического типа строится на основе триггерных регистров со схемами управления в одном кристалле. Время доступа 30..35 нс. ПЗУ - постоянное запоминающее устройство. РПЗУ - репрограммируемое постоянное запоминающее устройство. Функциональная схема ПЗУ такая же как ОЗУ, но отсутствует 'Вх.данн.', сигнал 'W/R'(Зп/чт) и обозначение 'ROM'. Микросхемы ПЗУ и РПЗУ выпускаются, как правило, много разрядными (на 1 байт).
┌──┬───┬──┐
Aдр. │ │ │ │ Вых.данн
─── ┤A0│ROM│D0├──────
Aдр. │ │ │ │ Вых.данн
─ ──┤A1│ │D1├───────
Aдр. │ │ │ │ Вых.данн
── ─┤A2│ │D2├──────
Aдр. │ │ │ │ Вых.данн
─ ─│..│ │..├ ─ ─ ─ ─
Aдр. │ │ │ │ Вых.данн
─ ──┤ A9│ │D7├─────
├──┤ │ │
В/. │ │ │ │
─── ┤CS│ │ │
крист│ │ │ │
└──┴───┴──┘
1. Чтобы увеличить разрядность запараллеливаются все выводы всех микросхем, кр оме 'Вых.данных'.
2. Чтобы увеличить емкость запараллеливаются все выводы всех микросхем, кроме СS
Постоянные запоминающие устройства (ПЗУ) значительно проще по схеме чем ОЗУ, поэтому обычно МС ПЗУ имеют гораздо большую емкость в одном кристалле.
ОЗУ динамического типа
ОЗУ статического типа достаточно сложны и потребляют большую мощность на элемент, поэтому не могут быть сделаны большой емкости. ОЗУ динамического типа много проще и во время хранения вообще не потребляют тока (только при Зп или Счит.). Позволяют достигать большой плотности размещения. Дв.код хранится на емкостях, в качестве которых используются паразитные емкости электродов. Но т.к. емкости разряжаются из-за утечки, информацию надо периодически восстанавливать (не реже, чем через 1000 - 2000 мкс). Время доступа 60..70 нс.
СТЕК
Стековая память занимает особое место, т.к. это безадресная память. Бывает аппаратным или программным, чаще всего. В переводе 'stack' - куча. Работает по принципу: первым пришел - последним ушел. Обычно для стека отводится область в оперативной памяти. Но чтобы стек работал как стек, PC имеет специальный регистр SP - указатель стека. Этот регистр всегда хранит адрес последнего поступившего в стек слова. Для этого, при записи в стек: SP:=SP+2 т.к.запись в стек и чтение, а при чтении из стека: SP:=SP-2 из стека производится словами по два байта. Стек растет «вниз2 по направлению уменьш адресов. Кроме того устройство управления выдает сигналы 'Стек пуст' и 'Стек переполнен'. В системе команд есть команды:
PUSH BX - запись в стек из регистра (нельзя push BL или push BH)
POP BX - чтение из стека в регистр (нельзя push BL или push BH)
Стек неявно использ при вызове и возврате из подпрограмм и при возврате из любого прерывания или вызове программного прерывания (CALL, RET, IRET, INT). Стек использ для передачи параметров в подпрогр (регистр BP)
КЭШ-ПАМЯТЬ
Cache - в дословном переводе означает "тайный запас, тайник". Лучшие образцы динамической памяти имеют время обращения 60...70 нс. Для МП с тактовой частотой > 15 МГц (66 нс) считывать информацию из памяти за 1 такт работы МП не удается. Чтобы не замедлять работу используют т.н. КЭШ-память. Буферная память небольшой емкости с возможностью работы на тактовой частоте МП - это и есть КЭШ-память. Основн назначение – повышение быстродействия за счет дублирования часто используемых данных. Основн эффект достиг в командах чтения.
В КЭШ в процессе работы записывается небольшая часть ОЗУ с которой и работает процессор. Для правильного выбора этого участка ОЗУ используются два принципа:
- принцип временной локальности, то есть обращение к группе данных в ближайшее время с большой вероятностью повторится;
- принцип пространственной локальности, т.е. высока вероятность обращения к рядом расположенным ячейкам памяти.
Из первого принципа следует: информацию в буфере следует хранить в течение некоторого времени. Из второго принципа следует, что считывать в КЭШ надо группу рядом отстоящих ячеек.
АЛГОРИТМ РАБОТЫ КЭШ.
При обращении ЦП к памяти проверяется наличие данных в одном из блоков буфера, и если их там нет, то производится загрузка в КЭШ нового блока. ТИПЫ КЭШ.
В зависимости от способа отображения участков памяти в буфере, различают три типа КЭШ:
- КЭШ с прямым отображением;
- полностью ассоциативный КЭШ;
- множественный ассоциативный КЭШ.
КЭШ с прямым отображением
На примере КЭШ=64Kb и разрядности адреса ОЗУ = 32 разряда
емкость КЭШ = 64 К байта (т.е. 16 К строк по 4 байта) 1 строка = 1 блоку.
Здесь адрес памяти прямо определяет строку КЭШ, в которую будет помещен блок. Адрес байта в КЭШ определяется так:
2 мл.разряда адреса - номер байта в строке,
14 мл.разрядов адреса - Индекс, т.е. номер строки,
16 ст.разрядов адреса - Признак (ст.часть адреса), который записывается в буфер признаков, для каждой строки свой. При обращении к памяти по 16 ст.разрядам адреса (по признаку) сразу определяется есть ли нужный блок в буфере. Если нет, то строка заменяется на новый блок. Недостаток КЭШа с прямым отображением: если два блока отличаются только полем признака (т.е.старшими разрядами), то они будут отображаться по очереди в одну и ту же строку буфера. Например, следующие два байта с разными адресами требуют записи в одну и ту же строку: - адрес 1 байта 2345 1255h, - адрес 2 байта FF03 1257h у них общий индекс 1254
КЭШ полностью ассоциативный
В полностью ассоциативном КЭШе нет индекса, а в буфер признаков заносятся все 30 разрядов адреса сохраняемой в КЭШе строки блока. Поэтому каждый блок памяти может быть записан в любую строку буфера. Недостатки полностью ассоциативного КЭШа:
- увеличенная емкость буфера признаков (30 р.)
- чтобы определить есть ли уже нужный блок в КЭШе, надо сравнить адрес рабочего байта с адресами всех 16 000 строк! Что сильно замедляет работу КЭШа. Поэтому применяется третий тип КЭШ:
Множественный ассоциативный КЭШ.
Это по сути КЭШ первого типа но на каждый индекс отводится по две строки, следовательно, здесь вместо 16К строк используются 8К групп по 2 строки в группе. Таким образом для блоков с одинаковым индексом отводится по две строки.
Вероятность, что вдруг появится в программе надобность в 3 блоках с одинаковым индексом ничтожно мала. Работает КЭШ точно также, как КЭШ с прямым отображением, но дополнительно проверяется в какую из двух строк надо записать новый блок (по числу обращений). Количество сравнений адресов при поиске нужной сроки - всего два! Общие замечания: Все типы КЭШей построены на быстродействующей статической памяти. Статистика показывает, что КЭШ объема М с прямым обр. имеет такой же коэффициент удачных обр., как и множеств. КЭШ объемом М/2. При выборе ПК следует обращать внимание на объем буфера и на его тип. Целостность данных.Чтобы сохранить данные ОЗУ при работе с КЭШ, используется один из двух способов:
1. При каждой записи в КЭШ, производится и запись в ОЗУ.
2. В КЭШе отводится спец. бит для каждого блока. Бит = 1, если блок изменен. Запись здесь только при замене строки новым блоком.
Дата добавления: 2015-09-27 | Просмотры: 741 | Нарушение авторских прав
|