Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АСВТ.doc
Скачиваний:
33
Добавлен:
05.11.2018
Размер:
4.6 Mб
Скачать

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

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

ШД

0

1

2

:

Слово, находившееся ранее в 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-Для обращения за операндом, находящимся в ОЗУ, используется либо адрес находящийся в одном из РОНов, либо адрес, который вычисляется по базовому адресу, индексу и смещению, обозначаемые в команде полями В, Х и Д.