Построение последовательности машинных операций для реализации простых вычислений реферат

Обновлено: 28.06.2024

- требованию функциональной полноты состава командных примитивов для реализации спектра планируемых программ функционирования на их основе.

Одним из подходов к достижению данной цели является построение команд длиной в одно машинное слово и кодирование их таким образом, чтобы слово команды интегрально отражало специфику реакции микропроцессора на команду и в части операции, и в части объектов её приложения. Такое решение позволяет сократить объём микропрограммной памяти УУ, сократить длину программы и время её исполнения за счёт сокращения процесса извлечения команд из памяти программ. Следствием является повышение уровня индивидуальности использования аппаратных ресурсов, требующее рационализации (возможно и оптимизации) их состава, подключения и проектирования цикла отработки команд.

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


Рисунок 7 –Классификация команд

- по функциональному назначению;

- время исполнения команд.

Все команды программы по функциональному критерию можно разделить на четыре класса со следующими уникальными чертами:

- команды управления перемещением (пересылкой) двоичных кодов между объектами комплекса (или внутри объектов) без изменения перемещаемых кодов (команды пересылки);

- команды преобразования данных с получением их нового представления данных и их характерных бинарных признаков (команды обработки);

- команды переключения порядка в последовательности выполнения команд программы, как без учёта состояний предшествующих бинарных признаков преобразований, так и с учётом их (управление программой);

- команды управления перенастройкойаппаратных средств процессора (управление процессором).

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

Так, в классе команд управления перемещением, частные модификации могут, например, отличаться наименованиями источников перемещаемых кодов и их приёмников, направлениями перемещения, размерностями перемещаемых кодов, формами перемещения (одностороннее, двухстороннее), формами описания источников и приёмников.

Одним восьмиразрядным двоичным словом можно закодировать 2 8 = 256 разных команд (при длине слова шестнадцать двоичных разрядов число команд 65536). Информационная емкость восьмиразрядного слова, в основном, существенно превышает общее число образующих функциональных модификаций, которые можно предусмотреть над числами или иными числовыми объектами. В этом смысле, часть восьмиразрядного кода может быть применена для идентификации связанных сведений о числах и объектах, над которыми командой предусматриваются функциональные операции по командам. Для хранения чисел применяются регистры, размещённые на территории УУ, ОУ процессора, регистры за пределами процессора (в качестве портов) и ячейки памяти. Адрес данных, (место размещения чисел) в названном пространстве объектов хранения, должен содержаться в коде команды. Так как количество адресов хранения данных существенно превосходит количество операций, то для их идентификации выработаны разнообразные способы (режимы) адресации. От способов адресации и числа объектов, отображаемых в коде команды, зависит размер команды. Размер команды измеряется в числе двоичных разрядов или числе слов шины процессора.

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

Для адресации данных команды в памяти, вне процессора, применяются явные, неявные, косвенные явные и неявные (регистровые, индексные, базовые), прямые абсолютные (короткий и длинный), непосредственные и относительные способы адресации.

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

По временному критериюкоманды классифицируются как одно- или многоцикловые по составу циклов передачи между процессором и внешним окружением по шинам при приеме команды и коммутации связанных с ней данных. Состав временных циклов определяется спецификой принятого алгоритма выполнения команд и поддерживающих его аппаратных средствах.

1. Команды для выполнения арифметических и логических операций:

ADD от англ. ADDition - сложение;

SUB (SUBtract) - вычитание;

INR (INcRement) -увеличение на 1;

DCR (DEcRement) - уменьшение на 1;

SOB - вычитание 1 из содержимого РОН или ветвление, если содержимое равно нулю и др.

2. Команды пересылки между ОЗУ и регистрами МП:

MOV/MVI (move/move immediate) -перемещаться, передвигаться.

3. Команды связи с подпрограммами (команды перехода):

RET (return) - возврат к основной программе после обращения к подпрограмме;

MARK - восстановление указателя стека при выходе из подпрограммы;

САLL (call) - обратиться к подпрограмме;

СМ - обратиться к подпрограмме инвертирования числа;

PTS - возврат из подпрограммы;

RST (restart) - прервать выполнение программы , и др.

4. Команды управления (control):

DI (disable interrupt) - игнорирование запросов прерывания до поступления команды ЕI;

EI (enable interrupt) - дать возможность функционирования системе прерывания;

NОР (no operation) - не выполнять вычисления;

HLТ (от нем. halt) - останов.

5. Команды сдвигов данных в регистрах: очистки регистров, формирования дополнительного кода и др.

6. Команды ввода, вывода: IN, OUT.

7. Специальные системные команды.

Короткое мнемоническое имя команды, вводимое с клавиатуры, с помощью декодера - кодера (дешифратора - шифратора) преобразуется в машинный код. В промежуточной стадии этого преобразования мнемокод заменяется на его шестнадцатеричное представление. Так, команда увеличения содержимого регистра Н INR Н в шестнадцатеричном коде выглядит как 3С, в двоичном машинном коде - 00111100.

Языки программирования для микроЭВМ и МПС построены на основе английского языка и не зависят от типа МП. МикроЭВМ, использующие эти языки высокого уровня, содержат длинную сложную программу - транслятор, постоянно хранящуюся в их памяти, которая переводит программу с языка высокого уровня на машинный язык. Простые команды, написанные на высокоуровневом языке, могут переводиться в десятки команд на машинном языке. Такой транслятор называется компилятором.

На микроЭВМ чаще всего используются подходящие для них языки высокого уровня: БЭЙСИК, ФОКАЛ, ПЛ/М, ПАСКАЛЬ, ФОРТРАН, ФОРТ, СИ, АДА и др. Каждому типу МПС и микроЭВМ на базе конкретной серии МП набора соответствует свой язык Ассемблера.

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

Формат команды и архитектура ЭВМ рассчитаны на определенное число операндов, в соответствии с чем команды будут однобайтными либо многобайтными, а микроЭВМ и МПС - одноадресными, двухадресными (рис. 2.1), трехадресными (рис. 1.4, б) и весьма редко четырехадресными. В первых ЭВМ формат команд навязывался постоянным размером машинного слова. По мере появления дополнительных средств модификации (изменения части) адреса _____fс оказалось возможным разработать команды с переменной длиной. Так, микроЭВМ СМ 1800 на базе однокристальных МП серии К580 и секционных МП серии К589, совместимыми с МП 8080 фирмы Intel, имеет три формата команд: однобайтный Ф1, двухбайтный Ф2 и трехбайтный Ф3 (Рис. 8). Имеются еще 12 вариантов заполнения этих трех форматов.

Формат 1 - однобайтная команда содержит лишь код операции. Операнды в такой команде либо отсутствуют, как, например, в команде останова HLТ, либо определяются по принципу умолчания. Например, в команде Ф1 INRM, осуществляющей приращение на единицу содержимого байта памяти, адрес этого байта всегда берется из пары регистров Н, L.


Рисунок 8 – форматы и размеры команд


В первом такте цикла ТЦ1 программный счетчик PC выдает на магистраль адреса МА код ячейки памяти, в котором записана исполняемая команда. На магистрали данных МД сформируется код, соответствующий слову состояния выполняемого цикла, то есть цикла считывания кода команды. Во время положительного импульса по управляющему выходу СИНХР слово состояния записывается в РгСС - регистр слова состояния и остается в нем на протяжении всего машинного цикла ТЦ1. В соответствии со словом состояния к магистрали данных МД подключается своими выходами память, в которой записана исполняемая команда. Код в МД будет определяться содержимым ячейки, адрес которой задан на магистрали МА.

В такте ТТ2 цикла ТЦ1 в микропроцессоре анализируется состояние сигналов ГОТОВ, ЗАХВАТ, ОБ.ОСТ. (Обработка останова), которые формируются внешними устройствами. Если к моменту появления отрицательного фронта тактового импульса ТИ2 (ТИ2 представляет собой последовательность тактовых импульсов, сдвинутую по времени относительно основной тактовой последовательности TИ1) на данном такте сигнал ГОТОВ будет иметь нулевой логический уровень, то МП на такте ТТЗ переходит в режим ожидания. В этом режиме приостанавливается процесс обработки данных и формируется сигнал лог. 1 на выходе ОЖИДАНИЕ, подтверждающий это состояние. Длительность режима ОЖИДАНИЯ измеряется целым числом тактов и может длиться до появления уровня лог. 1 на входе ГОТОВ. В такте ТТ3 в момент отрицательного фронта сигнал ТИ1 производится запись данных во внутренний регистр кода команды. В такте ТТ4 дешифратор ДШК расшифровывает код команды и определяет последовательность ее исполнения. МП вводит второй байт команды в цикле ТЦ2 и данные с внешнего устройства в цикле ТЦ. В соответствии с этим в такте ТТ1 цикла ТЦ2 на МА формируется адрес следующей за кодом команды ячейки, на МД код соответствует слову состояния процессора, задающего режим ввода данных. Такты ТТ1 и ТТ2 аналогичны этим же тактам цикла ТЦ1 с той лишь разницей, что здесь входные данные с магистрали МД записываются не в регистр команд РгК, а в регистр адреса РА. В такте ТТ1 цикла ТЦ3 на МА выставляется код внешнего устройства, записанный в предыдущем цикле в регистр РА, на магистрали МД слово состояния процессора соответствует циклу ввода данных из внешнего устройства. В этом цикле от магистрали отключаются все блоки - ОЗУ, ПЗУ - кроме внешнего устройства, адрес которого сформирован на МА. Такты ТТ2 и ТТ3 аналогичны соответствующим тактам цикла ТЦ1. Отличие заключается в том, что информация с магистрали МД записывается в такте ТТ3 в регистр-аккумулятор А.

Формат 3 - трехбайтная команда, где второй и третий байты хранят либо 16-разрядное число, являющееся непосредственным операндом команды, либо 16-разрядный адрес операнда. В обоих случаях второй байт, то есть байт, следующий за байтом с кодом операции, хранит младшую часть непосредственного операнда или адреса, а третий байт – старшую часть. Например, трехбайтная команда LDА Х2, осуществляющая загрузку аккумулятора значением однобайтной переменной Х2, которая имеет адрес 0х1248, выражается в виде 0х3А, 0х48, 0х12. В этом числе вслед за кодом операции 0х3А записывается сначала младший байт адреса, а затем старший. Если второй и третий байты команды содержат непосредственный операнд, который подлежит сохранению в регистрах, то в результате выполнения команды содержимое второго байта будет помещено в младший регистр, а содержимое третьего байта - в старший регистр. Например, после выполнения команды LXI, младший байт операнда команды попадает в регистр С, а старший байт - в регистр В, являющийся в данной паре старшим.

В командах формата1 второе поле отведено для адресации операнда, причем этот операнд относится к приемнику. Исключением является команда МТРS, реализующая запись информации в слово состояния процессора. В этой команде второе поле используется для адресации операнда-источника. Операнд при этом содержит подлежащую записи информацию. Формат 2 соответствует двухоперандным командам. В зависимости от режимов адресации операнда-источника и операнда-приемника команды этого формата могут быть однословными - в регистровом режиме адресации обоих операндов, двухсловными и трехсловными.

Формату 5 подчиняется единственная однословная команда RTS, реализующая возврат из подпрограммы. В поле R должен находиться номер регистра общего назначения, содержащего адрес возврата.

Формат 6 отличается от формата 4 лишь длиной поля смещения. Формату соответствует единственная команда МАRК, восстанавливающая указатель стека во время выхода из подпрограммы.

Формату 7 соответствует единственная однословная команда SOB, осуществляющая вычитание единицы из содержимого регистра, указанного в поле R, и ветвление, если после вычитания содержимое регистра будет отлично от 0.

Команды Формата 8 используются для установки или сброса признаков N, Z, V, С в слове состояния процессора. При установке или сбросе одного из признаков соответствующее ему поле в коде команды содержит 1. Фактически в командах формата 8 отсутствуют операнды, так как мнемоническое обозначение операции определяет собой код операции, а также и состояние полей N, Z, V и С.

Команды формата 9 не содержат полей для адресации операндов. Этому формату подчиняются команды управления прерыванием IOТ, ЕМТ, ТRАР, ВRТ, а также специальные команды HALT, WAIT, RESET, RTI, RTT, NOP.

Сопоставим систему команд микроЭВМ Электроника-60 с системой команд одной из наиболее совершенных моделей известного семейства миниЭВМ PDP-11/70. В системе команд микроЭВМ Электроника-60 отсутствуют команды для выполнения операций над числами с плавающей точкой. В миниЭВМ РDР-11/70 имеется 46 команд для этой цели. Все остальные команды миниЭВМ PDP называются базовыми командами. Множество команд микроЭВМ Электроника состоит из подмножества множества базовых команд названной миниЭВМ, а также команд NOP, NFPS и МТРS. Последние три команды отсутствуют в множестве команд миниЭВМ. Эти обстоятельства следует учитывать при переносе программ с миниЭВМ на микроЭВМ и наоборот.


Рисунок 10 – формат команд микропроцессора серии 580.

Поля R/M (при D=11) и REG определяют регистр общего назначения (РОН), поля В5 и В6 - одно- или двухбайтовые непосредственные данные. Приведенный формат типичных команд отражает их симметричность при использовании операндов. Действительно, при одном и том же коде операции, меняя значения полей REG, МОD, R/M, можно в качестве операндов использовать содержимое любого из РОН или памяти. Однако в формировании исполнительного адреса смещения в сегменте каждый из регистров в МП K1810 имеет индивидуальное назначение. Это способствует сокращению потенциальных ошибок в выполнении соглашений о связях между программами, где даже в случае универсальности регистров большинство из них имеют специальное назначение. Кроме типичного формата, в МП К1810ВМ86 реализована группа команд с упрощенным форматом, которые осуществляют наиболее часто применяемые операции. По быстро- действию и объему занимаемой памяти они более эффективны. Так, команды упрощенного формата для работы с РОН являются однобайтовыми, а поле REG помещено в байт с кодом операции. При работе с данными в памяти используется регистр АХ, а данные в сегментах данных адресуются 2-м и 3-м байтами команды.

Практическая работа № 5.
Тема: Построение последовательности машинных операций для реализации простых вычислений

Цель: знакомство циклом работы процессора

Используемое ПО: программа-тренажер CompModel, инструкция к программе
Теоретическая часть

Описание архитектуры учебной ЭВМ

В ячейках ОЗУ хранятся команды и данные. Емкость ОЗУ составляет 1000 ячеек. По сигналу MWr выполняется запись содержимого регистра данных (MDR) в ячейку памяти с адресом, указанным в регистре адреса (МAR ). По сигналу МRd происходит считывание - содержимое ячейки памяти с адресом, содержащимся в MAR, передается в MDR.

Сверхоперативная память с прямой адресацией содержит десять регистров общего назначения R0-R9. Доступ к ним осуществляется (аналогично доступу к ОЗУ) через регистры RAR и RDR.

АЛУ осуществляет выполнение одной из арифметических операций, определяемой кодом операции (СОР), над содержимым аккумулятора (Асс) и регистра операнда (DR). Результат операции всегда помещается в Асс. При завершении выполнения операции АУ вырабатывает сигналы признаков результата: Z (равен 1, если результат равен нулю); S (равен 1, если результат отрицателен); ОV (равен 1, если при выполнении операции произошло переполнение разрядной сетки). В случаях, когда эти условия не выполняются, соответствующие сигналы имеют нулевое значение.

В модели ЭВМ предусмотрены внешние устройства двух типов. Во-первых, регистры IR и OR, которые могут обмениваться с аккумулятором с помощью безадресных команд IN (Асс := IR) и OUT (OR := Асс). Во-вторых, это моделей внешних устройств, которые могут подключаться к системе и взаимодействовать с ней в соответствии с заложенными в моделях алгоритмами. Каждое внешнее устройство имеет ряд программно-доступных регистров, может иметь собственный обозреватель (окно видимых элементов).

УУ осуществляет выборку команд из ОЗУ в последовательности, определяемой естественным порядком выполнения команд (т. е. в порядке возрастания адресов команд в ОЗУ) или командами передачи управления; выборку из ОЗУ операндов, задаваемых адресами команды; инициирование выполнения операции, предписанной командой; останов или переход к выполнению с следующей команды.

В качестве сверхоперативной памяти в модель включены регистры общего назначения (РОН), и может подключаться модель кэш-памяти.

Выполнение операций над числами в естественной и нормальной формах. Архитектура системной платы. Устройства накопителей информации. Построение последовательности машинных операций для реализации простых вычислений. Интерфейсы периферийных устройств.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 30.09.2019
Размер файла 4,6 M

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

HTML-версии работы пока нет.
Cкачать архив работы можно перейдя по ссылке, которая находятся ниже.

Подобные документы

Структуры вычислительных машин и систем. Фон-неймановская архитектура, перспективные направления исследований. Аналоговые вычислительные машины: наличие и функциональные возможности программного обеспечения. Совокупность свойств систем для пользователя.

курсовая работа [797,5 K], добавлен 05.11.2011

Микропроцессор как универсальное устройство для выполнения программной обработки информации. Функциональные возможности и архитектурные решения. Микроконтроллеры в системах управления и обработки информации. Классификация электронно-вычислительных машин.

курсовая работа [189,6 K], добавлен 12.10.2015

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

реферат [22,8 K], добавлен 15.03.2004

Классификация и основные определения периферийных устройств. Устройства ввода и вывода информации, памяти, мультимедиа, связи, защиты электропитания. Интерфейсы подключения периферийных устройств. Рекомендации и правила эксплуатации компьютерной техники.

курсовая работа [582,1 K], добавлен 06.09.2014

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

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Практическая работа №1.

Тема : Построение последовательности машинных команд.

Цель : знакомство с циклом работы процессора.

Используемое ПО : программа-тренажер CompModel, инструкция к программе

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

Для решения с помощью ЭВМ некоторой задачи должна быть разработана программа. Программа на языке ЭВМ представляет собой последовательность команд. Код каждой команды определяет выполняемую операцию, тип адресации и адрес. Выполнение программы, записанной в памяти ЭВМ, осуществляется последовательно по командам в порядке возрастания адресов команд или в порядке, определяемом командами передачи управления.

Для того чтобы получить результат выполнения программы, пользователь должен:

ввести программу в память ЭВМ;

определить, если это необходимо, содержимое ячеек ОЗУ и РОН, содержащих исходные данные, а также регистров IR и BR;

установить в PC стартовый адрес программы;

перевести модель в режим Работа.

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

Цель настоящей лабораторной работы — знакомство с интерфейсом модели ЭВМ, методами ввода и отладки программы, действиями основных классов команд и способов адресации. Для этого необходимо ввести в память ЭВМ и выполнить в режиме Шаг некоторую последовательность команд (определенную вариантом задания) и зафиксировать все изменения на уровне программно-доступных объектов ЭВМ, происходящие при выполнении этих команд.

Команды в память учебной ЭВМ вводятся в виде шестиразрядных десятичных.

В настоящей лабораторной работе будем программировать ЭВМ в машинных кодах.

Дана последовательность мнемокодов, которую необходимо преобразовать в машинные коды, занести в ОЗУ ЭВМ, выполнить в режиме Шаг. и зафиксировать изменение состояний программно-доступных объектов ЭВМ (табл. 1)-

Таблица 1. Команды и коды

Введем полученные коды последовательно в ячейки ОЗУ, начиная с адреса 000. Выполняя команды в режиме Шаг, будем фиксировать изменения программно-доступных объектов (в данном случае это Асе, PC и ячейки ОЗУ 020 и 030) в табл. 2.

Таблица 2. Содержимое регистров

В 1. Ознакомиться с архитектурой ЭВМ (см. часть I).

2. Записать в ОЗУ "программу", состоящую из пяти команд— варианты задания выбрать из табл. 9.3. Команды разместить в последовательных ячейках памяти.

3. При необходимости установить начальное значение в устройство ввода IR.

4. Определить те программно-доступные объекты ЭВМ, которые будут изменяться при выполнении этих команд.

5. Выполнить в режиме Шаг введенную последовательность команд, фиксируя изменения значений объектов, определенных в п. 4, в таблице (см. форму табл. 9.2).

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

Таблица 9.3. Варианты задания 1

Содержание отчета

1. Формулировка варианта задания.

2. Машинные коды команд, соответствующих варианту задания.

3. Результаты выполнения последовательности команд в форме табл. 2.

Контрольные вопросы

1. Из каких основных частей состоит ЭВМ и какие из них представлены в модели?

2. Что такое система команд ЭВМ?

3. Какие классы команд представлены в модели?

4. Какие действия выполняют команды передачи управления?

5. Какие способы адресации использованы в модели ЭВМ? В чем отличие между ними?

6. Какие ограничения накладываются на способ представления данных в модели ЭВМ?

7. Какие режимы работы предусмотрены в модели и в чем отличие между ними?

8. Как записать программу в машинных кодах в память модели ЭВМ?

9. Как просмотреть содержимое регистров процессора и изменить содержимое некоторых регистров?

10. Как просмотреть и, при необходимости, отредактировать содержимое ячейки памяти?

11. Как запустить выполнение программы в режиме приостановки работы после выполнения каждой команды?

Читайте также: