Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Центральные и переферийные устройства электронно вычислительных средств.pdf
Скачиваний:
284
Добавлен:
02.05.2014
Размер:
6.14 Mб
Скачать

Глава 10. Организация безадресной и виртуальной памяти

158

Глава 10. ОРГАНИЗАЦИЯ БЕЗАДРЕСНОЙ И ВИРТУАЛЬНОЙ ПАМЯТИ

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

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

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

Встековой памяти (рис.10.1, а) ячейки образуют одномерный массив, в котором соседние ячейки связаны друг с другом разрядными цепями передачи слов. Стек заполняется

содной стороны, при этом слова записываются в свободные ячейки с последовательными номерами, начиная с ячейки с адресом 0, а считывание с удалением слова из памяти производится с другой стороны стека и только из нижней ячейки (ячейки 0). При этом все остальные слова в стеке сдвигаются вниз в соседние ячейки с меньшими номерами. Таким образом, порядок считывания подчиняется правилу: первым поступил - первым обслуживается (FIFO). Этот стек называется стеком с проталкиванием снизу и больше известен как список очередности.

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

Вмагазинной памяти (рис. 10.1, б) запись нового слова производится в верхнюю ячейку (ячейку 0), называемую указателем стека или вершиной стека. При этом все ранее записанные слова, включая слово, находившееся в ячейке 0, сдвигаются вниз, в соседние ячейки с большими номерами. Считывание возможно только из верхней (нулевой) ячейки. При этом, если производится считывание с удалением, то все остальные слова в памяти сдвигаются вверх, в соседние ячейки с большими номерами. В этой памяти порядок считывания слов соответствует правилу: последним поступил - первым обслуживается (LIFO). Вставка и удаление элемента вершины стека называются, соответственно, операциями проталкивания в стек и выталкивания из стека. В ряде устройств рассматриваемого типа предусматривается также операция простого считывания слова из нулевой ячейки (без его удаления и без сдвига слов в памяти). Память снабжается счетчиком-указателем, действие которого аналогично рассмотренному на

Глава 10. Организация безадресной и виртуальной памяти

159

рис. 10.1, а. Магазинная память оказывается весьма эффективной при обработке вложенных структур данных, при проведении вычислений, в частности, она тесно связана с рекурсивными вычислениями.

ШИВх

 

 

ШИВх

ШИВых

 

 

 

 

 

 

 

N-1

 

 

0

n-1

СчУМг

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

2

УМг=0

 

УМг=N-1

 

 

 

 

 

2

 

 

 

 

 

 

1

n-1

СчУСт

 

 

 

 

0

N-1

 

 

 

 

 

 

 

ШИВых

УСт=0

 

УСт=N-1

 

 

 

 

а)

 

 

б)

 

 

 

Рис. 10.1. Безадресная память: а - стековая (FIFO), б - магазинная (LIFO)

 

Если стек организован так, что вставки и удаления элементов можно делать на обоих концах списка, то это - очередь с двумя концами, или двухсторонняя очередь.

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

При стековой организации памяти не только рационально используется объем ВЗУ, но и ускоряется вычислительный процесс за счет уменьшения холостых прогонов МЛ и перемещения головок МД. Особенно это заметно при выполнении вычислений, требующих частого и длительного обращения к ВЗУ.

Еще одно удобство, предоставляемое стековой организацией памяти, проявляется при организации обмена между ОЗУ и ВЗУ (рис.10.2). В каждый момент времени центральный процессор ЦП обращается к вершине стека, находящейся в ОЗУ. Если при этом стек заполняет почти все ОЗУ, то его “хвост” можно заблаговременно перемещать в ВЗУ; аналогично, при уменьшении объема стека в ОЗУ его можно помещать из ВЗУ. Это можно организовать, не привлекая ЦП, а используя процессор ввода - вывода ПВВ.

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

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

Глава 10. Организация безадресной и виртуальной памяти

160

кости памяти растет и длина адресов, в результате чего расширяется поле , отведенное в ячейках памяти для записи адресов.

ЦП

ПВВ

ША, ШД

ОЗУ

Стек

ВЗУ

Рис. 10.2. Организация обмена между ВЗУ и ОЗУ посредством стека

Для обеспечения возможности работы одновременно со многими ячейками памяти и упрощения поиска операндов в 60-х годах предлагалось построить весь процесс вычислений на базе адресации по содержанию, по ассоциативному признаку. Однако проведенные в течение 30-ти лет работы в данном направлении не привели к созданию подобной вычислительной машины. В настоящее время ассоциативные запоминающие устройства (АЗУ) в основном используются как вспомогательные устройства в некоторых вычислительных системах и позволяют повысить их производительность, обеспечивая процессору более простой доступ к операндам.

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

Типичная структура ассоциативного ЗУ приведена на рис. 10.3. Запоминающий модуль содержит N (n + 1)-разрядных ячеек. Для указания занятости ячейки используется служебный n-й разряд (0 - ячейка свободна, 1 - в ячейке записано слово).

По входной информационной шине данных ШДВх на регистр ассоциативного признака, иногда называемый регистром аргумента поиска РгАП в разряды 0 - (n-1) поступает n-разрядный ассоциативный запрос - слово-признак, характеризующее содержимое требуемой ячейки, а не ее обычный адрес. Затем по этой же шине на регистр маски РгМаски поступает код маски поиска, при этом n-й разряд РгМаски устанавливается в 0.

В общем случае маскирование - логическая операция над байтом, словом или полем данных, выполняемая с целью модификации или, как в данном случае, с целью выделения их части, а маска - битовая комбинация той же длины, что и выделяемая комбинация. Ассоциативный поиск производится лишь для совокупности разрядов РгАП, которым соответствуют 1 в РгМаски (незамаскированные разряды РгАП). Все N слов запоминающего модуля поочередно сравниваются с содержимым РгАП и маской на комбинационной логической схеме КС. Для слов, в которых цифры в разрядах совпали с незамаскированными разрядами РгАП, КС устанавливает 1 в соответствующие разряды N-разрядного регистра

совпадения РгСв и 0 в остальные разряды. Таким образом, в РгСв

образуется позицион-

ный код, разряды которого, содержащие 1, указывают на те ячейки

ЗМ, содержимое кто-

Глава 10. Организация безадресной и виртуальной памяти

161

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

ШИВх

ассоциативный

запрос

Рг АП

0 . . . . . . . . . . . . . . . . n

код маски поиска

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рг маски

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 . . . . . . . . . . . . . . . . n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ассоциативный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

признак

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 . . . . . . . . . . . . . . . . n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

в УУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

ЗМ

 

 

 

 

КС

 

 

.

РгСВ

 

 

ФС

 

 

 

.

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

N-1

 

 

 

 

 

 

 

 

 

 

N-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рг И

0 . . . . . . . . . . . . . . . n-1

ШИВых

Рис. 10.3. Структурная схема ассоциативного ЗУ

Формирование содержимого РгСв и кода на выходе ФС по содержимому РгАП, РгМаски и ЗМ называется операцией контроля ассоциации. Эта операция является составной частью операций считывания и записи, хотя она может иметь и самостоятельное значение. При считывании сначала производится контроль ассоциации по ассоциативному признаку в РгАП. Затем при отсутствии искомой информации считывание отменяется, при наличии одного искомого слова это найденное слово считывается в информационный регистр РгИ. При наличии более чем одного удовлетворяющего ассоциативному запросу слова в РгИ считывается слово из ячейки, имеющей наименьший номер среди ячеек, отмеченных 1 в РгСв. Из РгИ считанное слово выдается на информационную выходную шину ШИВых.

При записи сначала отыскивается свободная ячейка. Для этого выполняется операция контроля ассоциации при коде ассоциативного признака 111...10 и коде маски 000...01. При этом свободные ячейки отмечаются 1 в РгСв. Для записи выбирается свободная ячейка с наименьшим номером. В нее записывается слово, поступившее с ШИВх в РгИ.

Пример 10.1. Рассмотрим работу АЗУ на примере продажи микрокалькуляторов в специализированном магазине вычислительной техники. Покупателю предоставляется выбор микрокалькуляторов по четырем признакам:

-область применения - бухгалтерские расчеты, словари, инженерные расчеты;

-набор выполняемых операций - количество операций;

-тип источника питания - от сети, от аккумуляторной батареи;

-цена.

Глава 10. Организация безадресной и виртуальной памяти

 

 

 

162

 

 

ШИВх

 

 

 

 

 

 

 

Ассоциативный

 

 

 

 

 

 

запрос

 

 

010

11110

01

 

000111

Рг АП

 

 

 

 

 

 

 

Инж.

30

акк.

 

7$

 

 

расч.

 

бат.

 

 

 

Признаки:

Область

Набор

Питание

Цена

 

примен.

операций

 

 

 

 

 

 

Код маски

 

 

 

 

 

поиска

 

 

111

00000

11

 

000000

 

 

Инж.

 

акк.

 

 

 

 

расч.

 

бат.

 

 

 

 

 

 

 

 

 

ЗМ

 

000

01010

00

 

001010

00010010

 

Бухг.

10

сеть

 

10$

Sitizen

 

010

11110

01

 

001101

01010010

 

Инж.

30

акк.

 

13$

Casio

 

 

 

 

 

 

Fx250c

 

010

11110

00

 

001000

01000000

 

Инж.

30

сеть

 

8$

Aurora

 

010

11110

01

 

000111

00100001

 

Инж.

30

акк.

 

7$

Casio

 

 

 

 

 

 

Fx82c

 

 

 

 

 

ШИВых

 

 

 

 

 

 

Рг И

Рис. 10.4. Упрощенная схема ассоциативного поиска

Информация о калькуляторах хранится в запоминающем модуле ЗМ (рис. 10.4). Работа по автоматизированному поиску типа калькулятора, удовлетворяющего требованиям покупателя по четырем техническим параметрам в порядке их приоритета, выполняется в следующем порядке:

1. Покупатель вводит информацию о необходимой ему покупке. Это соответствует появлению на входной адресной шине ШАВх и в регистре ассоциативного признака РгАП двоичного кода 4-х признаков выбора микрокалькулятора.

2.Покупатель информирует ЭВМ о том, что вначале выбор будет осуществляться только по двум признакам: область применения и источник питания, при этом в РгМаски появляется соответствующий код маски.

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