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

Министерство общего и профессионального образования Российской Федерации

Московский государственный технический Университет им. Н.Э.Баумана

Форматы машинных команд.

Методические указания к лабораторной работе по курсу

"Архитектура ЭВМ"

Москва 2002 г.

Теоретическая часть.

Структура команд

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

Длина команды в битах, количество полей, выделяемых для адреса, кода операций и признаков, и расположение полей в команде определяют формат команды

КОП

ПА

А

Выбор формата команды и адресности зависит от многих факторов: длины слова, наличия внутренней памяти процессора, способов адресации, класса обрабатываемых алгоритмов и т.д.

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

На время выполнения операций в ЭВМ формат команд не влияет. (Он влияет только на полное время выполнения команды, а значит, и на быстродействие ЭВМ).

Адресность команды

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

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

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

КОП

ПА

А1

А2

А3

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

В ЭВМ с двухадресными командами

КОП

ПА

А1

А2

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

В ЭВМ можно использовать и одноадресные команды

КОП

ПА

А1

Этот формат позволяет явным образом задавать один операнд и неявным – адрес другого операнда и адрес результата. В одноадресных ЭВМ операция выполняется над содержимым регистра результата и операндом по адресу А, а результат отсылается всегда в регистр результата.

В ЭВМ могут использоваться нуль-адресные команды (безадресные)

КОП

Последовательность команд для адресных команд задается источником команд, а для безадресных команд – специальной организацией памяти – стековая (магазинная) память для команд и для данных. СТЕК заполняется и освобождается только в определенном (в соответствии с алгоритмом) порядке. Команды и операнды могут считываться только из выходных ячеек СТЕКА. При выполнении операций операнды извлекаются из стека, а результаты возвращаются в него. Работа со стеком значительно упрощает программирование, так как производится на языках высокого уровня.