
- •Глава 5 Память
- •Характеристики систем памяти
- •Иерархия запоминающих устройств
- •Основная память
- •Блочная организация основной памяти
- •Расслоение памяти
- •Организация микросхем памяти
- •Последовательный режим
- •Конвейерный режим
- •Регистровый режим
- •Страничный режим
- •Режим быстрого страничного доступа
- •Пакетный режим
- •Режим удвоенной скорости
- •Синхронные и асинхронные запоминающие устройства
- •Оперативные запоминающие устройства
- •Статическая и динамическая оперативная память
- •Статические оперативные запоминающие устройства
- •Динамические оперативные запоминающие устройства
- •Постоянные запоминающие устройства
- •Пзу, программируемые при изготовлении
- •Однократно программируемые пзу
- •Многократно программируемые пзу
- •Специальные типы оперативной памяти
- •Многопортовые озу
- •Память типа fifo
- •Обнаружение и исправление ошибок
- •Стековая память
- •Ассоциативная память
- •Кэш-память
- •Емкость кэш-памяти
- •Размер строки
- •Способы отображения оперативной памяти на кэш-память
- •Прямое отображение
- •Полностью ассоциативное отображение
- •Множественно-ассоциативное отображение
- •Отображение секторов
- •Алгоритмы замещения информации в заполненной кэш-памяти
- •Алгоритмы согласования содержимого кэш-памяти и основной памяти
- •Смешанная и разделенная кэш-память
- •Одноуровневая и многоуровневая кэш-память
- •Дисковая кэш-память
- •Понятие виртуальной памяти
- •Страничная организация памяти
- •Сегментно-страничная организация памяти
- •Организация защиты памяти
- •Защита отдельных ячеек памяти
- •Кольца защиты
- •Метод граничных регистров
- •Метод ключей защиты
- •Внешняя память
- •Магнитные диски
- •Организация данных и форматирование
- •Характеристики дисковых систем
- •Массивы магнитных дисков с избыточностью
- •Повышение производительности дисковой подсистемы
- •Повышение отказоустойчивости дисковой подсистемы
- •Raid уровня о
- •Raid уровня 1
- •Raid уровня 2
- •Raid уровня 3
- •Raid уровня 4
- •Raid уровня 5
- •Raid уровня 6
- •Raid уровня 7
- •Raid уровня 10
- •Raid уровня 53
- •Особенности реализации raid-систем
- •Оптическая память
- •Eod — оптические диски со стиранием
- •Магнитные ленты
- •Контрольные вопросы
Стековая память
Стековая память обеспечивает такой режим работы, когда информация записывается и считывается по принципу «последним записан — первым считан» (LIFO -I Last In First Out). Память с подобной организацией широко применяется для запоминания и восстановления содержимого регистров процессора (контекста) при обработке подпрограмм и прерываний. Работу стековой памяти поясняет рис. 5.18a
Рис. 5.18. Организация стековой памяти: а— логика работы; б — аппаратно-программный стек
Когда слово А заносится в стек, оно располагается в первой свободной ячейке. Каждое следующее записываемое слово перемещает все содержимое стека на одну ячейку вверх и занимает освободившуюся ячейку. Запись очередного кода, после Н, приводит к переполнению стека и потере кода А. Считывание кодов из стека осуществляется в обратном порядке, то есть начиная с кода Н, который был записан последним. Отметим, что доступ к произвольному коду в стеке формально недопустим до извлечения всех кодов, записанных позже.
Наиболее распространенным в настоящее время является внешний или аппаратно-программный стек, в котором для хранения информации отводится область ОП. Обычно для этих целей отводится участок памяти с наибольшими адресами, а стек расширяется в сторону уменьшения адресов. Поскольку программа обычно загружается, начиная с меньших адресов, такой прием во многих случаях позволяет избежать перекрытия областей программы и стека. Адресация стека обеспечивается специальным регистром — указателем стека (SP — stack pointer), в который предварительно помещается наибольший адрес области основной памяти, отведенной под стек (рис. 5.18, б).
При занесении в стек очередного слова сначала производится уменьшение на единицу содержимого указателя стека (УС), которое затем используется как адрес ячейки, куда и производится запись, то есть указатель стека хранит адрес той ячейки, к которой было произведено последнее обращение. Это можно описать в виде: УС := УС - 1; ОП[(УС)] := ШД.
При считывании слова из стека в качестве адреса этого слова берется текущее содержимое указателя стека, а после того как слово извлечено, содержимое УС увеличивается на единицу. Таким образом, при извлечении слова из стека реализуются следующие операции: ШД := ОП[(УС)];
УС := УС + 1.
Ассоциативная память
В рассмотренных ранее видах запоминающих устройств доступ к информации требовал указания адреса ячейки. Зачастую значительно удобнее искать информацию не по адресу, а опираясь на какой-нибудь характерный признак, содержащийся в самой информации. Такой принцип лежит в основе ЗУ, известного как ассоциативное запоминающее устройство (АЗУ). В литературе встречаются и иные названия подобного ЗУ: память, адресуемая по содержанию (content addressable memory); память, адресуемая по данным (data addressable memory); память с параллельным поиском (parallel search memory); каталоговая память (catalog memory); информационное ЗУ (information storage); тегированная память (tag memory). Ассоциативное ЗУ — это устройство, способное хранить информацию, сравнивать ее с некоторым заданным образцом и указывать на их соответствие или несоответствие друг другу. Признак, по которому производится поиск информации, будем называть ассоциативным признаком, а кодовую комбинацию, выступающую в роли образца для поиска, — признаком поиска. Ассоциативный признак может быть частью искомой информации или дополнительно придаваться ей. В последнем случае его принято называть тегом или ярлыком.
Рис. 5.19. Структура ассоциативного запоминающего устройства
Один из вариантов построения ассоциативной памяти показан на рис. 5.19. АЗУ включает в себя:
- запоминающий массив для хранения N m -разрядных слов, в каждом из которых несколько младших разрядов занимает служебная информация;
- регистр ассоциативного признака, куда помещается код искомой информации (признак поиска). Разрядность регистра k обычно меньше длины слова т;
- схемы совпадения, используемые для параллельного сравнения каждого бита всех хранимых слов с соответствующим битом признака поиска и выработки сигналов совпадения;
- регистр совпадений, где каждой ячейке запоминающего массива соответствует один разряд, в который заносится единица, если все разряды соответствующей ячейки совпали с одноименными разрядами признака поиска;
- регистр маски, позволяющий запретить сравнение определенных битов;
- комбинационную схему, которая на основании анализа содержимого регистра совпадений формирует сигналы, характеризующие результаты поиска информации.
При обращении к АЗУ сначала в регистре маски обнуляются разряды, которые не должны учитываться при поиске информации. Все разряды регистра совпадений устанавливаются в единичное состояние. После этого в регистр ассоциативного признака заносится код искомой информации (признак поиска) и начинается ее поиск, в процессе которого схемы совпадения одновременно сравнивают первый бит всех ячеек запоминающего массива с первым битом признака поиска. Те схемы, которые зафиксировали несовпадение, формируют сигнал, переводящий соответствующий бит регистра совпадений в нулевое состояние. Так же происходит процесс поиска и для остальных незамаскированных битов признака поиска. В итоге единицы сохраняются лишь в тех разрядах регистра совпадений, которые соответствуют ячейкам, где находится искомая информация. Конфигурация единиц в регистре совпадений используется в качестве адресов, по которым производится считывание из запоминающего массива.
Из-за того что результаты поиска могут оказаться неоднозначными, содержимое регистра совпадений подается на комбинационную схему, где формируются сигналы, извещающие о том, что искомая информация:
аО — не найдена;
а1 — содержится в одной ячейке;
а2 — содержится более чем в одной ячейке.
Формирование содержимого регистра совпадений и сигналов аО, а1, а2 носит название операции контроля ассоциации. Она является составной частью операций считывания и записи, хотя может иметь и самостоятельное значение.
При считывании сначала производится контроль ассоциации по аргументу поиска. Затем, при аО = 1 считывание отменяется из-за отсутствия искомой информации, при а 1 = 1 считывается слово, на которое указывает единица в регистре совпадений, а при а2 = 1 сбрасывается самая старшая единица в регистре совпадений и извлекается соответствующее ей слово. Повторяя эту операцию, можно последовательно считать все слова.
Запись в АП производится без указания конкретного адреса, в первую свободную ячейку. Для отыскания свободной ячейки выполняется операция считывания, в которой не замаскированы только служебные разряды, показывающие, как давно производилось обращение к данной ячейке, и свободной считается либо пустая ячейка, либо та, которая дольше всего не использовалась.
Главное преимущество ассоциативных ЗУ определяется тем, что время поиска информации зависит только от числа разрядов в признаке поиска и скорости опроса разрядов и не зависит от числа ячеек в запоминающем массиве.
Общность идеи ассоциативного поиска информации отнюдь не исключает разнообразия архитектур АЗУ. Конкретная архитектура определяется сочетанием четырех факторов: вида поиска информации; техники сравнения признаков; способа считывания информации при множественных совпадениях и способа записи информации.
В каждом конкретном применении АЗУ задача поиска информации может формулироваться по-разному (рис. 5.20).
Рис. 5.20. Классификация АЗУ по виду поиска информации в запоминающем массиве
При простом поиске требуется полное совпадение всех разрядов признака поиска с одноименными разрядами слов, хранящихся в запоминающем массиве.
При соответствующей организации АЗУ способно к более сложным вариантам поиска, с частичным совпадением. Можно, например, ставить задачу поиска слов с максимальным или минимальным значением ассоциативного признака. Многократное выборка из АЗУ слова с максимальным или минимальным значением ассоциативного признака (с исключением его из дальнейшего поиска), по существу, представляет собой упорядоченную выборку информации. Упорядоченную выборку можно обеспечить и другим способом, если вести поиск слов, ассоциативный признак которых по отношению к признаку опроса является ближайшим большим или меньшим значением.
Еще одним вариантом сложного поиска может быть нахождение слов, численное значение признака в которых больше или меньше заданной величины. Подобный подход позволяет вести поиск слов с признаками, лежащими внутри или вне заданных пределов.
Очевидно, что реализация сложных методов поиска связана с соответствующими изменениями в архитектуре АЗУ, в частности с усложнением схемы ЗУ и введением в нее дополнительной логики.
При построении АЗУ выбирают из четырех вариантов организации опроса содержимого памяти (рис. 5.21). Варианты эти могут комбинироваться параллельно по группе разрядов и последовательно по группам. В плане времени поиска наиболее эффективным можно считать параллельный опрос как по словам, так и по разрядам, но не все виды запоминающих элементов допускают такую возможность.
Рис. 5.21. Классификация АЗУ по способу опроса содержимого запоминающего массива
Важным моментом является организация считывания из АЗУ информации, когда с признаком поиска совпадают ассоциативные признаки нескольких слов. В этом случае применяется один из двух подходов (рис. 5.22).
Рис. 5.22. Классификация АЗУ по способу выборки совпавших слов при множественных совпадениях
Цепь очередности реализуется с помощью достаточно сложного устройства, где фиксируются слова, образующие многозначный ответ. Цепь очередности позволяет производить считывание слов в порядке возрастания номера ячейки АЗУ независимо от величины ассоциативных признаков.
При алгоритмическом способе извлечения многозначного ответа выборка производится в результате серии опросов. Серия опросов может формироваться путем упорядочивания тех разрядов, которые были замаскированы и не участвовали в признаке поиска. В другом варианте для этих целей выделяются специальные разряды. Существует целый ряд алгоритмов, позволяющих организовать упорядоченную выборку из АЗУ. Подробное их описание и сравнительный анализ можно найти в [14].
Существенные отличия в архитектурах АЗУ могут быть связаны с выбранным принципом записи информации. Ранее был описан вариант с записью в незанятую ячейку с наименьшим номером. На практике применяются и иные способы (рис. 5.23), из которых наиболее сложный — запись с сортировкой информации на входе АЗУ по величине ассоциативного признака. Здесь местоположение ячейки, куда будет помещено новое слово, зависит от соотношения ассоциативных признаков вновь записываемого слова и уже хранящихся в АЗУ слов. Из-за относительно высокой стоимости АЗУ редко используется как самостоятельный вид памяти.
Рис. 5.23. Классификация АЗУ по способу записи информации