
- •Форматы машинных команд.
- •Теоретическая часть.
- •Структура команд
- •Адресность команды
- •Разрядность команд
- •В случае двухадресных команд для выполнения этих же вычислений будем иметь
- •Адресность эвм с внутренней памятью
- •Форматы команд в эвм с внутренней памятью процессора
- •Классификация машинных команд.
- •Команды передачи управления.
- •Команды условного перехода.
- •Команды перехода к подпрограммам.
- •Команды для организации циклов.
- •Переход по счетчику.
- •Переход по индексу.
- •2. Порядок выполнения лабораторной работы.
Министерство общего и профессионального образования Российской Федерации
Московский государственный технический Университет им. Н.Э.Баумана
Форматы машинных команд.
Методические указания к лабораторной работе по курсу
"Архитектура ЭВМ"
Москва 2002 г.
Теоретическая часть.
Структура команд
Команда – это управляющее слово, указывающее наименование операции, инициируемой командой, и адреса операндов, участвующих в выполнении операции. Основная характеристика команды – адресность, определяемая количеством адресов в команде. В зависимости от адресности команды подразделяются на: 2х – адресные, одноадресные и т.д.
Длина команды в битах, количество полей, выделяемых для адреса, кода операций и признаков, и расположение полей в команде определяют формат команды
-
КОП
ПА
А
Выбор формата команды и адресности зависит от многих факторов: длины слова, наличия внутренней памяти процессора, способов адресации, класса обрабатываемых алгоритмов и т.д.
Эффективность формата команд оценивается емкостью памяти, используемой для хранения программ и числом обращений к ОП, необходимых для выполнения команды.
На время выполнения операций в ЭВМ формат команд не влияет. (Он влияет только на полное время выполнения команды, а значит, и на быстродействие ЭВМ).
Адресность команды
Для автоматической работы ЭВМ необходимо при обработке команды указывать: тип выполняемой операции, адреса участвующих в операции операндов. Адрес результата и адрес следующей команды. Обычно в составе операции участвуют два операнда. В этом случае целесообразно использовать четырехадресные команды – два адреса операндов, адрес результата и адрес следующей команды. В этом случае команды можно размещать в произвольных местах ОП и выбирать в последовательности определяемой алгоритмом, указывая в каждой команде адрес последующей команды. В команду можно было бы ввести и пятый адрес, указывающий на место расположения следующей команды при условном переходе, однако подобные многоадресные форматы весьма неэффективно используют память (пятый адрес используется только в командах условного перехода). С другой стороны последовательный характер работы ЭВМ и соответствующих алгоритмов решения задач приводит к тому, что четвертый адрес двух последовательных команд для большей части программы отличается на единицу. Поэтому при вводе программы в ОП целесообразно выделить отдельные массивы ячеек для команд программы и для операндов. Команды программы при этом записывают в ячейки ОП, номера которых последовательно нарастают ( К, К+1,…).С помощью аппаратных средств процессора выполнение команд начинают с команды, записанной по адресуК, затем выполняют команду, записанную по адресу(К+1)и т.д. Этот порядок выработки и выполнения команд называется естественным. Он может нарушаться только при выполнении команд перехода.
Таким образом, применение естественного порядка выборки команд вместо принудительного снимает необходимость использования четвертого адреса в командах. При этом выбор команд производится с помощью неявной адресации. Для реализации этого в процессоре имеется счетчик команд, в который перед выполнением программы заносится адрес первой команды программы; в дальнейшем после выполнения каждой команды содержимое счетчика команд будет увеличиваться на единицу, обеспечивая формирование адреса следующей команды. В случае выполнения команды перехода в счетчик команд заносится адрес команды, к которой необходимо перейти. И в дальнейшем счетчик команд будет формировать адреса команд уже относительно нового адреса.
В параллельных алгоритмах обработки информации при выполнении каждой команды из ОП извлекают два операнда. Результат операции отсылается в ОП и в следующей операции не используется. В этом случае наиболее удобной является трехадресная команда
КОП |
ПА |
А1 |
А2 |
А3 |
Но в трехадресных командах не всегда эффективно используются все адреса. Например, в последовательном алгоритме обработки информации результат каждой предыдущей операции необходим для последующей операции – поэтому из памяти извлекается только один операнд.
В ЭВМ с двухадресными командами
-
КОП
ПА
А1
А2
Результат операции можно автоматически записывать по адресу первого или второго операнда, что реализуется с помощью аппаратных средств процессора. Часто в состав процессора вводят специальный узел – регистр результата (аккумулятор), в который отсылается результат операции. В этом случае процессор автоматически будет заносить результат операции в этот регистр без указания на этот факт в команде. Таким образом, будет осуществляться неявная адресация результата.
В ЭВМ можно использовать и одноадресные команды
-
КОП
ПА
А1
Этот формат позволяет явным образом задавать один операнд и неявным – адрес другого операнда и адрес результата. В одноадресных ЭВМ операция выполняется над содержимым регистра результата и операндом по адресу А, а результат отсылается всегда в регистр результата.
В ЭВМ могут использоваться нуль-адресные команды (безадресные)
-
КОП
Последовательность команд для адресных команд задается источником команд, а для безадресных команд – специальной организацией памяти – стековая (магазинная) память для команд и для данных. СТЕК заполняется и освобождается только в определенном (в соответствии с алгоритмом) порядке. Команды и операнды могут считываться только из выходных ячеек СТЕКА. При выполнении операций операнды извлекаются из стека, а результаты возвращаются в него. Работа со стеком значительно упрощает программирование, так как производится на языках высокого уровня.