Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AVS.docx
Скачиваний:
2
Добавлен:
25.08.2019
Размер:
96.66 Кб
Скачать

Классификации по месту хранения операндов.

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

  1. Сколько адресов будет содержать адресная часть команды.

  2. На сколько просто будет происходить доступ к операндам.

  3. И какой в конечном итоге будет длина команды.

Стековая архитектура.

Стек образует множество логических взаимосвязанных ячеек, взаимодействующих по принципу «последним вошел, первым вышел». Верхнюю ячейку называют вершиной стека. Для работы со стеком предусмотрены две операции: push(проталкивания данных в стек), pop(извлечение данных). Запись возможна только в верхнюю ячейку, при этом вся хранящаяся в стеке информации предварительно проталкивается на одну позицию вниз. Чтение допустимо так же только из вершины стека. Извлеченная информация удаляется из стека, а оставшаяся содержимое продвигается вверх. В вычислительных машинах, где реализована стековая архитектура системы команд операнды перед обработкой помещаются в две верхние ячейки стека, результат операции так же заносится в стек.

push A

push B

add

pop C

Для выполнения арифметической или логической операции на вход АЛУ подается информация, считанная из двух верхних ячеек стека. При этом содержимое стека продвигается на 2 позиции вверх. Результат операции заталкивается в вершину стека.

push D

push A

push B

add

Mul

pop C

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

Достоинства:

  1. Возможность сокращения адресной части команды, поскольку все операции производятся через вершину стека. Это пример подразумеваемой адресации. И поэтому адреса операндов и результата в командах АЛ обработки не нужен. Код получается компактным и просто производится декодирование.

Недостатки:

  1. Не предполагает произвольного доступа к памяти из-за чего компилятору трудно создать эффективный вход.

Аккумуляторная система команд.

Для хранения одного из операндов арифметической или логической операции имеется выделенный регистр процессора – аккумулятор. В этот же регистр заносится результат операции. Поскольку адрес одного из операторов подразумевается, то в команде обработки достаточно указать местоположение только второго оператора. Изначально оба операнда хранятся в основной памяти и до выполнения операции один из них должен. После выполнения команды результат обработки находится в аккумуляторе и его требуется сохранить в ячейке памяти.

load x

store x

load A

add B

store C

load A

add B

mul D

store C

Достоинства: короткие команды и быстрота декодирования, однако наличие одного выделенного регистра для АЛО порождает многократное обращение к основной памяти.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]