Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПАМЯТЬ МПС.doc
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
133.12 Кб
Скачать

Способы организации памяти

ЗУ с произвольным обращением содержит множество одинаковых запоминающих элементов (ЗЭ), образующих запоминающий массив (ЗМ).

ЗМ разделен на отдельные ячейки, каждой из которых предназначен для хранения двоичного кода. Число разрядов определяется шириной выборки памяти. Способ организации памяти зависит от методов размещения и методов поиска информации в ЗМ. По этому принципу различают три вида организации памяти:

  • адресная;

  • ассоциативная;

  • стековая.

Адресная память.

В такой памяти размещение и поиск информации в ЗМ основан на использовании древа хранения слова. Адресом служит номер ячейки ЗМ, в котором это слово хранится. При записи или считывании слова инициирующая эту операцию команда должна указывать адрес ячейки, на которую производится запись или считывание.

БУС – блок усилителей считывания

БУЗ - блок усилителей записи

БУП – блок управления памятью

БАВ – блок адресной выборки

ЗМ содержит N ячеек разрядностью n.

Пусть из МП поступает сигнал для чтения или записи информации из ОП. По ША в РгА поступает адрес нужной ячейки, адрес фиксируется сигналом прием регистра адреса (Пр РгА). БАВ дешифрирует адрес. В ЗМ выбирается нужная ячейка и при чтении записанной информации содержимое ячейки считывается БУС и передается в РгИ. И далее на ШИвых.

При записи помимо выполнения указанной выше общей части цикла обращения производится прием записываемого слова с ШИвх и РгИ. Затем в выбранную БАВ ячейку информация из РгИ через БУЗ через БУП записывается.

БУП генерирует необходимые управляющие сигналы, инициирующих работу отдельных узлов памяти.

Ассоциативная память

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

РгАП – регистр ассоциативного признака

РгМ – регистр маски

КС – комбинационная схема

ФС – формирователь сигнала

Здесь ЗМ содержит N ячеек разрядностью n+1.

По ШИвх в РгАП в разряды 0…n-1 поступает ассоциативный запрос, а в РгМ поступает код маски поиска, при этом n-разряд РгМ устанавливает в 0.

Ассоциативный поиск производится для совокупности разрядов РгАП, которым соответствуют единицы в РгМ. Для слов, в которых цифры в разрядах совпали с незамаскированными разрядами РгАП. КС устанавливает единицы в соответствующие разряды и нули в остальные разряды.

Стековая память

Стековой называют память, доступ к которой организован по принципу: "последним записан - первым считан" (Last Input First Output - LIFO). Использование принципа доступа к памяти на основе механизма LIFO началось с больших ЭВМ. Применение стековой памяти оказалось очень эффективным при построении компилирующих и интерпретирующих программ, при вычислении арифметических выражений с использованием польской инверсной записи. В малых ЭВМ она стала широко использоваться в связи с удобствами реализации процедур вызова подпрограмм и при обработке прерываний.

Принцип работы стековой памяти состоит в следующем (см. рис. 4.15). Когда слово А помещается в стек, оно располагается в первой свободной ячейке памяти. Следующее записываемое слово перемещает предыдущее на одну ячейку вверх и занимает его место и т.д. Запись 8-го кода, после H, приводит к переполнению стека и потере кода A. Считывание слов из стека осуществляется в обратном порядке, начиная с кода H, который был записан последним. Заметим, что выборка, например, кода E невозможна до выборки кода F, что определяется механизмом обращения при записи и чтении типа LIFO. Для фиксации переполнения стека желательно формировать признак переполнения.

Рис. Принцип работы стековой памяти.

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

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

Наиболее распространенным в настоящее время и, возможно, лучшим вариантом организации стека в ЭВМ является использование области памяти. Для адресации стека используется указатель стека, который предварительно загружается в регистр и определяет адрес последней занятой ячейки. Помимо команд CALL и RET, по которым записывается в стек и восстанавливается содержимое программного счетчика, имеются команды PUSH и POP, которые используются для временного запоминания в стеке содержимого регистров и их восстановления, соответственно. В некоторых МП содержимое основных регистров запоминается в стеке автоматически при прерывании программ. Содержимое регистра указателя стека при записи уменьшается, а при считывании увеличивается на 1 при выполнении команд PUSH и POP, соответственно.