ЛР Форматы машинных команд (Методические материалы по курс.работе)
Описание файла
Файл "ЛР Форматы машинных команд" внутри архива находится в папке "Методические материалы по курс.работе". Документ из архива "Методические материалы по курс.работе", который расположен в категории "". Всё это находится в предмете "электронные вычислительные машины (эвм)" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "эксплуатация эвм" в общих файлах.
Онлайн просмотр документа "ЛР Форматы машинных команд"
Текст из документа "ЛР Форматы машинных команд"
Министерство общего и профессионального образования Российской Федерации
Московский государственный технический Университет им. Н.Э.Баумана
Форматы машинных команд.
Методические указания к лабораторной работе по курсу
"Архитектура ЭВМ"
Москва 2002 г.
Теоретическая часть.
Структура команд
Команда – это управляющее слово, указывающее наименование операции, инициируемой командой, и адреса операндов, участвующих в выполнении операции. Основная характеристика команды – адресность, определяемая количеством адресов в команде. В зависимости от адресности команды подразделяются на: 2х – адресные, одноадресные и т.д.
Длина команды в битах, количество полей, выделяемых для адреса, кода операций и признаков, и расположение полей в команде определяют формат команды
КОП | ПА | А |
Выбор формата команды и адресности зависит от многих факторов: длины слова, наличия внутренней памяти процессора, способов адресации, класса обрабатываемых алгоритмов и т.д.
Эффективность формата команд оценивается емкостью памяти, используемой для хранения программ и числом обращений к ОП, необходимых для выполнения команды.
На время выполнения операций в ЭВМ формат команд не влияет. (Он влияет только на полное время выполнения команды, а значит, и на быстродействие ЭВМ).
Адресность команды
Для автоматической работы ЭВМ необходимо при обработке команды указывать: тип выполняемой операции, адреса участвующих в операции операндов. Адрес результата и адрес следующей команды. Обычно в составе операции участвуют два операнда. В этом случае целесообразно использовать четырехадресные команды – два адреса операндов, адрес результата и адрес следующей команды. В этом случае команды можно размещать в произвольных местах ОП и выбирать в последовательности определяемой алгоритмом, указывая в каждой команде адрес последующей команды. В команду можно было бы ввести и пятый адрес, указывающий на место расположения следующей команды при условном переходе, однако подобные многоадресные форматы весьма неэффективно используют память (пятый адрес используется только в командах условного перехода). С другой стороны последовательный характер работы ЭВМ и соответствующих алгоритмов решения задач приводит к тому, что четвертый адрес двух последовательных команд для большей части программы отличается на единицу. Поэтому при вводе программы в ОП целесообразно выделить отдельные массивы ячеек для команд программы и для операндов. Команды программы при этом записывают в ячейки ОП, номера которых последовательно нарастают ( К, К+1,…). С помощью аппаратных средств процессора выполнение команд начинают с команды, записанной по адресу К, затем выполняют команду, записанную по адресу (К+1) и т.д. Этот порядок выработки и выполнения команд называется естественным. Он может нарушаться только при выполнении команд перехода.
Таким образом, применение естественного порядка выборки команд вместо принудительного снимает необходимость использования четвертого адреса в командах. При этом выбор команд производится с помощью неявной адресации. Для реализации этого в процессоре имеется счетчик команд, в который перед выполнением программы заносится адрес первой команды программы; в дальнейшем после выполнения каждой команды содержимое счетчика команд будет увеличиваться на единицу, обеспечивая формирование адреса следующей команды. В случае выполнения команды перехода в счетчик команд заносится адрес команды, к которой необходимо перейти. И в дальнейшем счетчик команд будет формировать адреса команд уже относительно нового адреса.
В параллельных алгоритмах обработки информации при выполнении каждой команды из ОП извлекают два операнда. Результат операции отсылается в ОП и в следующей операции не используется. В этом случае наиболее удобной является трехадресная команда
КОП | ПА | А1 | А2 | А3 |
Но в трехадресных командах не всегда эффективно используются все адреса. Например, в последовательном алгоритме обработки информации результат каждой предыдущей операции необходим для последующей операции – поэтому из памяти извлекается только один операнд.
В ЭВМ с двухадресными командами
КОП | ПА | А1 | А2 |
Результат операции можно автоматически записывать по адресу первого или второго операнда, что реализуется с помощью аппаратных средств процессора. Часто в состав процессора вводят специальный узел – регистр результата (аккумулятор), в который отсылается результат операции. В этом случае процессор автоматически будет заносить результат операции в этот регистр без указания на этот факт в команде. Таким образом, будет осуществляться неявная адресация результата.
В ЭВМ можно использовать и одноадресные команды
КОП | ПА | А1 |
Этот формат позволяет явным образом задавать один операнд и неявным – адрес другого операнда и адрес результата. В одноадресных ЭВМ операция выполняется над содержимым регистра результата и операндом по адресу А, а результат отсылается всегда в регистр результата.
В ЭВМ могут использоваться нуль-адресные команды (безадресные)
КОП |
Последовательность команд для адресных команд задается источником команд, а для безадресных команд – специальной организацией памяти – стековая (магазинная) память для команд и для данных. СТЕК заполняется и освобождается только в определенном (в соответствии с алгоритмом) порядке. Команды и операнды могут считываться только из выходных ячеек СТЕКА. При выполнении операций операнды извлекаются из стека, а результаты возвращаются в него. Работа со стеком значительно упрощает программирование, так как производится на языках высокого уровня.
Разрядность команд
Она оценивается соотношением: Пк = Пкоп + ППА + Q*ПА
где Пк, Пкоп, ППА, ПА - разрядность соответственно команды, кода операции, признака адресации (модельности) и адреса.
Q - адресность команды.
В ЭВМ увеличение адресности при фиксированной длине команды уменьшает предельную емкость адресуемой памяти
Nmax = 2ПА
Поэтому в трехадресных ЭВМ либо используют длинные машинные слова ( 45 разрядов), либо размещают одну команду в нескольких ячейках ОП.
В ЭВМ со словами длиной 8-16 разрядов емкость прямоадресуемой памяти становится малой доже для одноадресных команд. В этом случае используют многословные команды, располагаемые в нескольких последовательных ячейках ОП и страничную организацию памяти. При этом первое слово команды обычно указывает формат команды.
Время выполнения команды
Рассмотрим операцию С = А * В
В случае трехадресных команд время выполнения команды Тз будет:
Тз = коп + Аоп + Воп + t + Соп
где коп - время выработки команды из ОП
Аоп , Воп , Соп – время выработки операндов А и В и записи результата С
t - время выполнения операции.
Если быстродействие ОП оценивать средним временем обращения к ОП (оп ), то
коп = Аоп = Воп = Соп = оп
В случае: Тз = 4 ТОП + t
Символически трехадресную команду можно описать в виде:
А1 * А2 А3
где * - операция
-
- пересылка результата операции.
В случае одноадресной ЭВМ для выполнения этих же вычислений потребуется выполнить три команды
А1 Р2
Рr * А2 Рr
Рr А3
где Рr - регистр результата.
Полное время вычислений составит Т1 = Т1 + Т2 + Т3
Т1 = коп + А1оп ; Т2 = коп + А2оп + t ; Т3 = коп + А3оп
Т1 = 6 оп + tоп.
В случае двухадресных команд для выполнения этих же вычислений будем иметь
Т = Т1 + Т2
А1 + А2 Рr Т1 = к + А1 + А2 + tоп
Рr А3 Т2 = к + А3
Т = 5Т + tоп
Таким образом, 3-х адресные команды характеризуются минимальным числом обращений к ОП, а одноадресные максимальными.
Однако, при выполнении больших программ редко бывает, чтобы всегда использовались все три адреса, так результат часто может быть сохранен в процессоре и использован в качестве операнда в следующей операции. Т.е. эффективность использования адресов в многоадресных ЭВМ меньше 100%.
Обычно в научно-технических задачах на одну операцию приходится в среднем 1,2 операнда, а в задачах обработки данных – 1,7. Поэтому в первом случае более эффективными оказываются 1-адресные ЭВМ, а во втором – 2-адресные ЭВМ.
По этой причине в ЭВМ общего назначения используются 2-адресные команды, а в мини- и микро- ЭВМ – 1 – адресная система команд.
При проектировании вычислительных устройств следует иметь в виду:
-
3-адресные команды обеспечивают минимальное время вычислений.
-
1-адресные команды обеспечивают минимальные затраты памяти на представление алгоритмов.
-
2-адресные команды занимают промежуточное положение между соответствующими показателями для 1 и 3-адресных команд.
Адресность ЭВМ с внутренней памятью
Анализ быстродействия ЭВМ с различной адресностью показал, что адресность существенно на быстродействие не влияет, так как одноадресная команда выполняется быстрее, но программа одноадресной ЭВМ содержит больше команд. Ха счет этого средние временные затраты в одно- много- адресных ЭВМ выравниваются.
При этом, если в ЭВМ отсутствует внутренняя память процессора, то имеет смысл использовать одноадресные команды, позволяющие иметь прямую адресацию ОП большего объема, чем в случае многоадресных команд.
В ЭВМ с многоуровневой иерархической памятью определенные преимущества имеют системы команд с переменной адресностью. Они обычно являются командами разной длины с заранее определенной модульностью информационной длины. В этом случае внутреннюю память процессора удобно адресовать двухадресными командами, так как емкость внутренней памяти мала и для каждого адреса потребуется всего 3-5 разрядов. Двухадресный формат позволяет адресовать практически три операнда (один операнд или результат неявным образом через регистр результатов или одному из адресов исходных операндов). Если же требуется адресовать операнд или результат в ОП, то используют одноадресные команды, имеющие большое поле адреса.
Модульная система команд с форматами переменной длины используется в ЕС ЭВМ и IВМ 360. Основным информационным полем этих команд является байт. В ЕС ЭВМ используются 5 форматов: 2-х, 4-х и 6-ти байтовых. Причем двухбайтовые не позволяют обращаться к ОП, в 6-ти байтовых помещаются два адреса для обращения в ОП.
Форматы команд в ЭВМ с внутренней памятью процессора
Внутренняя память используют для хранения наиболее интенсивно используемых на данном этапе вычислений индексов, базовых адресов, промежуточных результатов. Емкость ВП обычно 8-32 слова. При наличии ВП операнд может размещаться как в ВП, так и в ОП. Адрес операнда, хранимого в ВП, называют адресом R типа, а хранимого в ОП – адресом S типа.
При этом арифметические и логические операции в зависимости от расположения операндов могут выполняться в следующих модификациях: