Помощь в написании студенческих работ
Антистрессовый сервис

Адресная, ассоциативная и стековая организация памяти

РефератПомощь в написанииУзнать стоимостьмоей работы

Для слов из ЗМ, в которых все цифры совпали с незамаскированными разрядами RGП, комбинированная схема КС 1 устанавливает «1» в соответствующие разряды регистра совпадения RGC. Таким образом, если произошло совпадение цифры j-го слова с незамаскируемыми разрядами признака, то в j-ом разряде регистра RGC будет записана «1», в противном случае «0». Запись «1» в j-ом разряде RGC означает, что j-ое… Читать ещё >

Адресная, ассоциативная и стековая организация памяти (реферат, курсовая, диплом, контрольная)

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

АДРЕСНАЯ ПАМЯТЬ

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

Адресная, ассоциативная и стековая организация памяти.

При каждом обращении к ЗУ необходимо указывать номер (адрес) ячейки памяти, в которой размещается нужная информация. Для приема адреса, А служит регистр адреса RGA. Этот адрес дешифруется дешифратором адреса DC, который формирует сигнал на одном из своих выходов. При этом номер этого выхода равен самому адресу А. Таким образом, дешифратор DC указывает номер ячейки памяти, к которой происходит обращение. При чтении информации из ЗУ устройство управления формирует управляющий сигнал «чтение», под действием которого прочитанное из ЗУ слово поступает в усилители чтения, а оттуда в регистр информации RGI.

Занесение прочитанного слова в RGI происходит под действием управляющего сигнала «Прием информации из ЗМ». Аналогично происходит запись информации в ЗМ. При этом записываемое слово поступает с ШD в регистр RGI, а оттуда через усилитель записи под действием сигнала «запись» в выбранную ячейку ЗМ. Любой цикл обращения к памяти инициируется поступлением сигнала «обращение». На УУ поступают также сигналы «чтение» и «запись», которые указывают вид выполняемой в ЗУ операции (запись или чтение).

Для построения адресной памяти используются микросхемы памяти, в состав которых кроме ЗМ входят также усилители чтения и записи, а также дешифратор памяти.

АССОЦИАТИВНАЯ ПАМЯТЬ

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

  • 1) поиск максимального или минимального числа в ЗУ;
  • 2) поиск слов, заключенных в определенные границы;
  • 3) поиск слов, ближайших к ассоциативному признаку, как с большей, так и с меньшей стороны и т. д.

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

Адресная, ассоциативная и стековая организация памяти.

ЗМ содержит N ячеек, каждая ячейка n+1 разрядная. Для указания занятости ячейки используется служебный n-ый разряд. Если в n-ом разряде 0 — то ячейка свободна, если 1 — то занята.

По входной ШD в регистр ассоциативного признака RGП поступает n-разрядный признак, а в регистр маски RGМ — код маски поиска. При этом n-ый разряд регистра RGМ устанавливается в 0. Ассоциативный поиск производится лишь по тем разрядам признака, которым соответствует «1» в регистре маски, то есть по так называемым незамаскированным разрядам RGМ. Таким образом, задавая код маски М, можно произвольно выбирать те разряды признака, по которым ведется поиск.

Для слов из ЗМ, в которых все цифры совпали с незамаскированными разрядами RGП, комбинированная схема КС 1 устанавливает «1» в соответствующие разряды регистра совпадения RGC. Таким образом, если произошло совпадение цифры j-го слова с незамаскируемыми разрядами признака, то в j-ом разряде регистра RGC будет записана «1», в противном случае «0». Запись «1» в j-ом разряде RGC означает, что j-ое слово соответствует признаку, т. е. является тем словом, которое собственно и ищется в ЗМ. КС 1 реализует следующую систему М булевых уравнений:

Выходы регистра RGC соединены со входами КС2, которая формирует выходы б0, б1, б2. Символ б0=1, если во всех разрядах RGC находятся ««, что соответствует случаю отсутствия искомых слов в ЗМ.

Символ б1=1, если имеется одно слово в ЗМ, удовлетворяющее ассоциативному поиску. Символ б2=1, если таких слов больше одного. При б1=1 найденное слово из ЗМ записывается в RGI, а оттуда в выходную шину ШД. При б2=1 обычно читается слово из ячейки, имеющей наименьший номер среди ячеек, отмеченных «1"-цей в RGC.

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

Таким образом, определяются те ячейки ЗМ, у которых в n-ом разряде записан «0», что означает незанятость ячейки. В свободную ячейку с наименьшим номером записывается слово из регистра информации RGI.

СТЕКОВАЯ ПАМЯТЬ

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

:

Слово, находившееся ранее в 0-ой ячейке, переходит в 1-ую, из 1-ой во 2-ую и так далее.

Чтение также производится из верней ячейки. Если чтение производится с удалением слова из стека ячейки с меньшим номером. В такой последовательности порядок чтения слов соответствует правилу: «последним поступил — первым обслужен». Чтение производится в порядке обратном порядку записи.

На практике часто стековую память организуют, используя обычную адресную память. Архитектура большинства ЭВМ позволяет легко организовать стеки с так называемой скользящей вершиной.

В процессоре PDP-11 имеется восемь регистров общего назначения (РОНов).

Адресная, ассоциативная и стековая организация памяти.

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

При записи в стек байта или слова используется команда с адресацией типа «автодекрементная прямая». Выполняя такую команду, процессор автоматически уменьшает УС на единицу и только после этого записывает байт или слово.

Таким образом, при записи слова указатель вершины стека УС будет смещаться вверх на 2 байта, указывая всегда на ячейку ОЗУ, в которой записано последнее слово.

При чтении информации из стека необходимо использовать команды с адресацией типа «автоинкрементная прямая». Выполняя такую команду, процессор вначале читает байт или слово из ОЗУ по адресу, содержащемуся в УС, и только после этого увеличивает содержимое УС на 1 и 2, указывая на ячейку, в которой находится следующий байт или слово. Таким образом, в свободной области памяти можно организовать стек со скользящей вершиной.

Логическая структура процессора

Адресная, ассоциативная и стековая организация памяти.

Рассмотрим логическую структуру процессора ЭВМ общего назначения на примере ЭВМ типа IBM 370.

Обобщенная структурная схема процессора содержит АЛУ, УУ и регистры. Процессор может обрабатывать числа, представленные в двоичном коде; числа с плавающей точкой фиксируемой длины; десятичные числа.

Выполняемые процессором команды образуют 5 классов:

  • 1-команды управления системой;
  • 2-общие команды;
  • 3-команды для выполнения действий над числами с плавающей точкой;
  • 4-команды для выполнения действий над десятичными числами;
  • 5-команды ввода/вывода.

Команды управления системой и команды ввода-вывода являются привилегированными командами и выполняются только операционной системой. Если такие команды встретятся в программе пользователя, то выполняться они не будут и произойдет прерывание программы.

Общие команды применяются для чисел с фиксированной точкой, а также для выполнения переходов в программе.

Процессор может обращаться за информацией к 16 регистрам общего назначения (РОН). РОНы могут быть использованы в качестве накапливающих регистров в арифметических операциях с фиксированной точкой и в логических операциях, а также как индексные регистры в операциях над адресами. Каждый РОН имеет 32 разряда и задается в командах с помощью 4-битового поля R.

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

Для операций с плавающей точкой процессор имеет четыре 64-разрядных регистра. Они пронумерованы числами: 0,2,4,6. Эти регистры могут содержать как короткие 32-, так и длинные 64-битовые операнды с плавающей точкой. Короткие операнды занимают старшие биты регистра, а младшие биты не используются.

Процессор может также использовать 16 управляющих регистров по 32 бита в каждом. Отдельные биты этих регистров закреплены за конкретными средствами и содержат особую информацию для функционирования этих средств. Управляющие регистры нумеруются числами от 0 до 15, которые в командах управления системой задаются полем R.

Имеются 3 класса операндов:

  • 1-регистровые операнды;
  • 2-непосредственные операнды;
  • 3-операнды в ОЗУ.
  • 1-Регистровые операнды размещаются в регистрах процессора, причем тип регистра определяется кодом операции, а номер регистра задается полем R команды.
  • 2-Непосредственные операнды располагаются в самой команде, занимают 1 байт, который обозначается буквой I в поле команды.
  • 3-Для обращения за операндом, находящимся в ОЗУ, используется либо адрес находящийся в одном из РОНов, либо адрес, который вычисляется по базовому адресу, индексу и смещению, обозначаемые в команде полями В, Х и Д.

Команды процессора

Команды имеют длину в 2, 4, 6 байт. Каждая команда имеет один из шести возможных форматов:

RR, RX, RS, SI, S, SS. В обозначениях форматов используются заглавные буквы, которые указывают, операнды каких классов участвуют в операциях.

RR — операция типа регистр-регистр.

RХ — операция регистр-память, в которой адрес памяти индексируется.

RS — операция регистр-память, но без индексации.

SI — операция память-непосредственный операнд.

SS — операция память-память.

S — один операнд находится в памяти, а другой операнд задан не явно.

Первый байт команды, а в формате S — первые два байта, содержат код операции. Первые два бита кода операции определяют длину и формат команды.

Адресная, ассоциативная и стековая организация памяти.
Адресная, ассоциативная и стековая организация памяти.

В качестве примера приведем некоторые форматы команд:

Адресная, ассоциативная и стековая организация памяти.
Адресная, ассоциативная и стековая организация памяти.

В формате RX первый адрес находится в РОНе, номер которого задан полем R1, а второй адрес задается полями В2, Х2, D2, и указывает на ячейку ОЗУ.

В формате SI в качестве второго операнда непосредственно используется содержимое 8-разрядного поля I2. При этом поля В1 и D1 определяют 1-ый операнд, который находится в ОЗУ. Адрес обращения ОЗУ либо содержится в регистре, номер которого указывается в поле R команды, либо формируется из трех двоичных чисел; базового адреса, индекса и смещения.

Базовый адрес — это 24-разрядное число в РОНе, номер которого задан полем В команды. Базовый адрес используется как средство независимой адресации каждой области памяти и определяет положение этой области в ОЗУ, указывая адрес первого байта области.

Индекс — представляет собой 24-разрядное число в РОНе, номер которого задан в поле Х команды.

Смещение — представляет собой 12-разрядное число в поле D команды. Смещение позволяет выполнить относительную адресацию в пределах 4096 байт, следующих за ячейкой, адрес которой равен базовому адресу.

Рассмотрим формирование физического адреса на примере формата SI.

Адресная, ассоциативная и стековая организация памяти.

В общем случае для формирования адреса, базовый адрес и индекс рассматривается в качестве 24-разрядных положительных чисел. Аналогично, смещение рассматривается в качестве 12-разрядного положительного числа, старшие 12 разрядов которого равны 0. Все три компоненты адреса (база, индекс и смещение) суммируются как 24-разрядные двоичные числа. При этом, если возникает переполнение, то оно игнорируется (не учитывается). В результате получается 24-разрядный адрес ячейки в ОЗУ, в которой находится один из операндов. При отсутствии в команде поля Х физический адрес формируется путем сложения базового адреса, заданного полем В команды, и смещением D.

Показать весь текст
Заполнить форму текущей работой