- •Цифровые устройства и микропроцессоры
- •1. Практические занятия по цифровым устройствам
- •1.1. Практическое занятие «Основы теории цифровых устройств» Учебные цели
- •Содержание занятия
- •Учебно-материальное обеспечение занятия
- •Содержание учебных вопросов
- •1. Тест на знание логических элементов ( лэ )
- •2. Перевод чисел из десятичной системы счисления в двоичную
- •3. Методика получения переключательной функции лэ
- •4. Минимизация переключательной функции методом
- •5. Построение цифрового устройства по переключательной
- •6. Построение цифрового устройства по переключательной функции в заданном базисе
- •1.2. Практическое занятие «Минимизация переключательных функций»
- •Ицхоки я.С., Овчинников н.И., Поздняков в.Г. Импульсные и цифровые устройства. – м.: ввиа, 1983. С. 41 – 61.
- •Конспект лекций.
- •1. Описание работы цифрового устройства на языке
- •2. Проверка работоспособности цифрового устройства
- •3. Построение и заполнение карты Карно
- •4. Минимизация пф с помощью карты Карно
- •5. Синтез цифровых устройств (общее задание для всех курсантов)
- •1.3. Практическое занятие «Синтез цифровых устройств»
- •Ицхоки я.С., Овчинников н.И., Поздняков в.Г. Импульсные и цифровые устройства. – м.: ввиа, 1983. С. 41-61.
- •Конспект лекций.
- •Синтез цифрового устройства по неполному словесному описанию
- •2. Синтез полусумматора
- •3. Синтез одноразрядного сумматора
- •1.4. Практическое занятие «Элементы цифровых устройств»
- •Конспект лекций.
- •Теоретическое исследование реакции триггеров на входные сигналы заданной формы
- •2. Теоретическое исследование реакции цифровых устройств
- •2. Практические занятия по микропроцессорным системам
- •2.1. Практическое занятие «Система команд микропроцессора»
- •2. Конспект лекций.
- •1. Шестнадцатеричная система счисления (сс)
- •1.1. Примеры перевода чисел из шестнадцатеричной сс
- •2. Система команд микропроцессора
- •Все команды по функциональному назначению делятся на шесть групп (см. На рис. 15 схему команд мп кр580вм80):
- •2.. 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003. Программная реализация временной задержки
- •4. Выполнение индивидуальных заданий по составлению программ
- •2. Конспект лекций.
- •1. Принцип работы бис 580вв55
- •2. Программирование бис 580вв55( по индивидуальным заданиям)
- •3. Формирование управляющего сигнала для внешнего устройства
- •4. Разработка программы «Формирование управляющего сигнала для внешнего устройства» ( по индивидуальным заданиям)
- •2.3. Практическое занятие «Программируемый интервальный таймер бис 580ви53»
- •2. Конспект лекций.
- •1. Принцип работы бис 580ви53
- •2. Программирование бис 580ви53 (по индивидуальным заданиям)
- •3. Формирователь импульсов запуска внешнего устройства с большим периодом повторения импульсов ( общее задание)
- •2.4. Практическое занятие «Организация микропроцессорной системы (мпс)»
- •2. Конспект лекций.
- •1. Шины или линии групповой связи
- •2. Разработка схемы управления мпс и организация связей между бис мпс
- •Литература
2. Система команд микропроцессора
Введение
Проектирование системы команд оказывает влияние на структуру ЭВМ. Оптимальную систему команд иногда определяют как совокупность команд, которая удовлетворяет требованиям проблемно-ориентированных применений таким образом, что избыточность аппаратных и аппаратно-программных средств на реализацию редко используемых команд оказывается минимальной. В различных программах ЭВМ частота появления команд различна; например, наиболее часто встречается команда передачи MOV(B), на ее долю приходится приблизительно 32% всех команд в типичных программах. Систему команд следует выбирать таким образом, чтобы затраты на редко используемые команды были минимальными.
Важной характеристикой команды является ее формат, определяющий структурные элементы команды, каждый из которых интерпретируется определенным образом при ее выполнении. Среди таких элементов (полей) команды выделяют следующие: код операции (КОП), определяющий выполняемое действие; адреса ячейки памяти, регистра процессора, внешнего устройства; режим адресации; операнд при использовании непосредственной адресации; код анализируемых признаков для команд условного перехода.
Команды классифицируются по функциональному назначению, по числу адресов (безадресные, одноадресные, двухадресные), по способу кодирования команд (с фиксированным полем КОП, с расширяющимся полем КОП), по длине команды (однобайтовые, двух- и трехбайтовые), по способу адресации.
Почти во всех форматах команд первый байт отводится для кода операции, но далее форматы команд разных ЭВМ сильно отличаются друг от друга. Остальные байты должны определять операнды или их адреса, и поэтому они используются для комбинации режимов, адресов регистров, адресов памяти, относительных адресов и непосредственных операндов. Обычно длина команды варьируется от 1 до 3 и даже 6 байт.
По форматам команд можно судить о возможностях ЭВМ.
Мнемоническая форма записи команд
МП производит обработку сигналов, представленных в двоичном коде по команде, поступающей тоже в двоичном коде. При составлении программ использовать двоичные коды команд, т.е машинный язык, неудобно, так как запомнить и систематизировать их практически невозможно. Можно облегчить работу, представив команду в шестнадцатеричной системе. Это уменьшит объем информации, с которой работает программист, но не решит проблемы.
Следующий шаг – замещение командного кода коротким именем, называемым мнемоникой. Заменяя каждый код мнемоникой, можно написать программу. Мнемоника может быть легко преобразована в машинные коды после написания программы. Программы, написанные с использованием мнемоники, называются программами на языке Ассемблер.
Каждый процессор имеет собственный машинный язык и Ассемблер, но все равно Ассемблеры имеют много общего. Поэтому, умея работать в Ассемблере одного МП, легко научиться работать в Ассемблере другого МП.
Набор команд микропроцессора и способы адресации
Все команды по функциональному назначению делятся на шесть групп (см. На рис. 15 схему команд мп кр580вм80):
-
Команды пересылки данных. Осуществляют запись чисел в конкретный РОН и пересылку данных между РОН или между памятью и РОН.
-
Арифметические команды. Предназначены для выполнения сложения, вычитания, увеличения и уменьшения содержимого РОН или ячеек памяти.
-
Логические команды. Выполняют логические операции «И», «ИЛИ», «Исключающее ИЛИ», сравнение, сдвиг данных в РОН.
-
Команды переходов, вызова подпрограмм и возвращения из подпрограмм.
-
Команды ввода-вывода, управления флагами.
-
Команды сдвига данных.
Команда состоит из двух основных частей: кода операции КОП и кода адреса (данных) КАД.
Различаются следующие способы адресации МП 580ИК80:
-
непосредственная – данные размещаются в поле КАД,
-
прямая – адрес данных указывается в поле КАД,
-
косвенная – в КАД указывается адрес ячейки памяти, в которой хранится адрес данных,
-
косвенно-регистровая – в КАД указывается регистр, в котором хранится адрес данных.
Основные команды микропроцессора приведены на рис. 18.
Поразрядные
логические операции
Команда
Операция ANA
r
A=A*РОН
XRA
r
A=А
РОН
ORA
r
A=A+РОН CMP
r A
– r ANI
D8 A=A*D8
XRI
D8
A=А
D8
ORI
D8
A=A+D8 CMI
D8 A
– D8
Математические
операции
Команда
Операция ADD
r
A=A+РОН SUB
r
А=А–РОН INR
r
РОН=РОН + 1 DCR
r
РОН=РОН
–
1 ADI
D8
А=А + данные SUI
D8
А=А
–
данные
Команды, в которых задействованы РОН, могут использоваться для операций с ЗУ
(в команде вместо r ставится М, адрес ЗУ записывается в РОН HL)
Пересылка данных
Команда
Источник
Приемник MOV
M, r
РОН
ЗУ MOV
r, M
ЗУ
РОН
MOV
r2,
r1
РОН 1
РОН 2 MVI
M, D8
данные
ЗУ MVI
r, D8
данные
РОН LXI
rp, D16
данные
пара РОН
Команды перехода
Команда
Переход
Jпризнак
адр
на указанный
адрес
Спризнак
адр
на указанный
адрес к подпрограмме
Rпризнак
к основной
программе из подпрограммы
Вместо слова
признак ставится его
буквен-ное обозначение – NZ,
Z, NC, C,
PO, PE, Р, М.
Ввод-вывод данных
Команда
Действие
IN
адр
Байт данных из
порта с указанным адресом в
РОН А
OUT
адр
Байт
данных из РОН А в порт с указанным
адресом
r
– РОН А, B,
C,
D,
E,
H,
L;
rp
– пара РОН ВС, DE,
HL;
М
– ЗУ;
D8
– байт данных; D16
– два байта данных
Сдвиг данных
Команда
Действие RLC
Циклический
сдвиг данных РОН А в сторону старших
разрядов RRC
Циклический
сдвиг данных РОН А в сторону младших
разрядов
Рис. 18
Непосредственная пересылка данных
Команда MVI r, байт данных
По данной команде в РОН r загружаются данные, находящиеся во втором байте команды. При выполнении команды MVI А данные загружаются в регистр А (аккумулятор). С помощью команды MVI В производится загрузка данных в регистр В. Команда имеет длину 2 байта и выполняется за два микроцикла. В таблице 1 приведен пример записи в регистр А числа 89 (16).
Таблица 1
-
Мнемоника
16 - ричный код
MVI A
3Е
байт
89
Команда LXI rp, 2 байта данных
Команда аналогична команде MVI r, байт данных только под rp подразумевается пара регистров общего назначения. При этом пара регистров BC обозначается как В, пара DE – как D, пара HL – как H. Команда содержит три байта (байт кода операции и два байта данных). В таблице 2 приведен пример записи в пару регистров HL числа 8011 (16).
Таблица 2
-
Мнемоника
16 - ричный код
LXI H
21
байт данных
11
байт данных
80
Второй байт данных (80) пересылается в первый регистр Н, а первый байт данных (11) пересылается во второй регистр L пары регистров. В результате в пару регистров HL пересылается число 8011(16).
Если выполнить эту команду, а затем команду MVI M, байт данных, то байт данных пересылается в ячейки ОЗУ с адресом, записанным в паре регистров HL 8011(16).
Пересылка из регистра в регистр
Команда МOV r1, r2. Действие r2 r1.
По команде в РОН r1 загружается копия данных, содержащихся в РОН r2. Содержимое регистра r2 при этом не изменяется. Так, при выполнении MOV B,A копия данных, находящихся в регистре А, записывается в регистр В. Это однобайтовая команда, реализуемая за два микроцикла.
Команды переходов, вызова подпрограмм и возвращения из подпрограмм
Команда JMP адр – безусловный переход на указанный адрес. В табл. 3 приведен пример команды, по которой программа перейдет к адресу 1С0F(16).
Таблица 3
-
Мнемоника
16 - ричный код
JMP
С3
Младший байт адреса
0F
Старший байт адреса
1C
Команда J признак адр – условный переход на указанный адрес. При записи мнемоники команды необходимо вместо слова признак указать одну или две буквы, обозначающие условие перехода (см. таблицу 4).
Таблица 4
-
Обозначение признака
Признак
NZ
Неравенство нулю
Z
Равенство нулю
NC
Отсутствие переноса
C
Наличие переноса
PO
Результат нечетный
PE
Результат четный
P
Результат положительный
M
Результат отрицательный
В таблице 5 приведен пример команды, по которой программа перейдет к адресу 1С0F(16) при условии, что результат выполнения предыдущей команды в РОН А даст нуль. Если в РОН А будет не нуль, то выполняется следующая команда.
Таблица 5
-
Мнемоника
16 - ричный код
JZ
CA
Младший байт адреса
0F
Старший байт адреса
1C
Команда CALL адр – безусловный вызов подпрограммы, расположенной по указанному адресу.
Команда C признак адр – условный вызов подпрограммы, расположенной по указанному адресу. При записи мнемоники команды необходимо вместо слова признак указать одну или две буквы, обозначающие условие перехода (см. таблицу 4).
Команда RET – безусловный возврат из подпрограммы в основную программу на адрес, с которого произошел вызов подпрограммы. Вычисление адреса производится автоматически, поэтому в команде он не указывается.
Команда Rпризнак – условный возврат из подпрограммы в основную программу. При записи мнемоники команды необходимо вместо слова признак указать одну или две буквы, обозначающие условие перехода (см. таблицу 4).