- •Раздел 1 Архитектура микропроцессорного вычисления
- •Тема 1.1 Архитектура микропроцессора
- •1 Архитектура микропроцессора. Классификация
- •Контрольные вопросы:
- •Тема 1.2 Организация управления процессом обработки информации
- •1 Структура микропроцессора
- •2 Аппаратный принцип управления выполнением операций
- •3 Микропрограммный принцип управления выполнением операций
- •Контрольные вопросы:
- •Тема 1.3 Общая схема микропроцессора. Cisc и risc архитектура, основные принципы
- •1 Построение микропроцессорных систем
- •2 Режим выполнения основной программы
- •3 Режим вызова программы
- •4 Режим обслуживания прерываний и исключений
- •5 Режим прямого доступа к памяти
- •6 Конвейерный принцип выполнения команд
- •При идеальной (а) и реальной (б) загрузке 6-ступенчатого конвейера
- •Контрольные вопросы:
- •Тема 1.4 Ассемблерная мнемоника. Структура и форматы команд. Виды адресации. Система команд микропроцессора
- •1 Язык ассемблера. Основные понятия
- •Структура программы на ассемблере. Синтаксис ассемблера.
- •2 Символы языка ассемблера
- •3 Типы операторов ассемблера
- •Директивы ассемблера
- •Система команд процессора
- •Контрольные вопросы:
- •Тема 1.5 Организация памяти микропроцессорных вычислителей
- •1 Общие сведения о запоминающих устройствах (зу)
- •2 Основные параметры запоминающих устройств Основными параметрами запоминающих устройств являются:
- •3 Классификация запоминающих устройств
- •4 Основные структуры запоминающих устройств
- •Структура 3d
- •Контрольные вопросы:
- •Тема 1.6 Адресация в микропроцессорном вычислителе. Понятие адресного пространства. Методы полной и частичной дешифрации адресов
- •1 Форматы команд
- •2 Способы адресации операндов
- •Тема 1.7 Интерфейс и его функции. Параллельный и последовательный обмен информацией. Способы обмена данными.
- •1 Общие сведения об интерфейсах
- •2 Иерархия шин
- •4 Параллельные периферийные адаптеры
- •Режим 0
- •Режим 1
- •5 Программируемые связные адаптеры
- •6 Программируемые контроллеры прерываний
- •7 Контроллеры прямого доступа к памяти
- •8 Программируемые интервальные таймеры
- •Раздел 2 Системы на основе однокристальных микропроцессоров и микроконтроллеров
- •Тема 2.1 Особенности архитектуры однокристальных микропроцессоров. Обобщенная структура
- •1 Основные характеристики однокристальных микропроцессоров
- •2 Эволюция архитектуры однокристальных микропроцессоров Intel x86
- •3 Семейства однокристальных микроконтроллеров. Базовая органи-зация
- •4 Набор регистров мк - 51
- •5 Организация памяти мк-51
- •Периферийные средства мк – 51
- •Контрольные вопросы:
- •Тема 2.2 Система команд
- •3 Отладка и настройка микроконтроллерных систем
- •1 Типы команд
- •2 Расширение памяти программ и данных
- •3 Отладка и настройка микроконтроллерных систем
- •Глоссарий
- •Итоговый тест
- •Литература
Контрольные вопросы:
1 По каким параметрам классифицируются современные микропроцес-соры?
2 В чем отличие микропроцессоров от микроконтроллеров?
3 Поясните основные параметры микроконтроллера МК-51.
4 Какие пространства памяти имеет микроконтроллер МК-51?
5 К какому типу архитектур относится микроконтроллер МК-51?
6 Как запрограммировать таймер/счетчик в режим таймера?
7 Сколько встроенных параллельных портов содержит МК-51? В чем их отличие?
8 Поясните систему прерываний, организованную в МК-51.
Тема 2.2 Система команд
План:
1 Типы команд
2 Расширение памяти программ и данных
3 Отладка и настройка микроконтроллерных систем
1 Типы команд
Система команд предоставляет большие возможности обработки данных, обеспечивает реализацию логических и арифметических операций, а также управление в режиме реального времени. Реализована побитовая, потетрадная (4 бита), побайтовая (8 бит) и 16-разрядная обработка данных. Синтаксис большинства ассемблерных команд состоит из мнемонического обозначения функции, вслед за которым идут операнды, указывающие методы адресации и типы данных. Рассмотрим типы команд базового микроконтроллера:
- арифметические инструкции;
- логические инструкции;
- инструкции передачи данных во внутренней памяти данных;
- инструкции передачи данных, использующие внешнюю память данных;
- инструкции передачи данных, использующие память программ;
- булевы инструкции;
- инструкции безусловных переходов;
- инструкции условных переходов;
В командах реализуются следующие режимы адресации:
- Dir - прямая (регистры специальных функций или память данных);
- Ind - косвенная (допустима только относительно регистров R0 и R1; в символической записи обозначается @R0 или @R1 соответственно) ;
- Reg - регистровая;
- Imm - непосредственная (в символической записи начинается с #);
- byte - прямоадресуемый байт;
- bit - прямоадресуемый бит (в регистрах специальных функций или битовой памяти);
- битовый аккумулятор - бит переноса в PSW.
В командах, допускающих прямую, но не регистровую адресацию, может указываться регистр общего назначения, однако при трансляции команды его номер будет в этом случае представлен не трех, а 8-разрядным кодом, соответствующим прямому адресу этого регистра в памяти данных. Некоторые Ассемблеры, в том числе используемый в данном лабораторном практикуме, требуют для таких команд указывать в явном виде номер регистра как прямой адрес ячейки памяти данных.
В инструкции MUL AB производится перемножение содержимого аккумулятора и регистра B. Старшие разряды произведения помещаются в аккумулятор, а младшие - в регистр B.
В инструкции DIV AB содержимое аккумулятора делится на содержимое регистра B. Частное помещается в аккумулятор, а остаток - в регистр B. Операнды рассматриваются как целые числа без знака:
- & -конъюнкция;
- v - дизъюнкция;
- E -"ИСКЛЮЧАЮЩЕЕ-ИЛИ";
- ^ - логическое"НЕ";
- ЦСЛ - циклический сдвиг влево;
- ЦСП - циклический сдвиг вправо;
- В операциях сдвига через бит С участвует 9-ти разрядный регистр (8-ми разрядный аккумулятор и бит переноса С) ;
- <=> - обмен местами операндов;
- в инструкции xchd a,@ri осуществляется обмен только младших тетрад операндов;
для безусловных переходов adr показывает, что в команде кодируется абсолютный адрес памяти программ, по которому осуществляется переход;
для условных переходов rel показывает, что в команде кодируется относительный адрес памяти программ, по которому осуществляется переход при выполнении указанного условия;
- во всех командах перехода при записи программы на ассемблере адрес перехода может быть задан меткой.
Некоторые Ассемблеры для инструкции вызова подпрограммы и инструкции безусловного перехода требуют от программиста явного указания длины генерируемого адреса перехода, то есть записи в программе инструкций ACALL, LCALL, AJMP, LJMP, SJMP и не воспринимают инструкции CALL, JMP. Другие Ассемблеры самостоятельно генерируют инструкции, имеющие необходимую длину поля адреса в зависимости от месторасположения адреса перехода и поэтому допускают использование лишь инструкций CALL.
