
- •1.Микропроцессорные устройства. Этапы развития, технологии производства.
- •Классификация микропроцессорных устройств. Назначение.
- •Микропроцессорная система, основные определения
- •Микропроцессор, программа.
- •Связь блоков в микропроцессорной системе, шины.
- •Структура мпс. Управляющие сигналы.
- •Программный обмен, обмен по прерываниям.
- •Прямой доступ к памяти.
- •9. Функции процессора.
- •1 0. Структура процессора.
- •11. Память процессора.
- •12. Устройства ввода-вывода.
- •13. Микроконтроллер, назначение и состав.
- •14. Система команд, виды архитектур.
- •15. Особенности архитектуры микроконтроллеров.
- •16. Минимизация энергопотребления.
- •17. Обеспечение надежности.
- •18. Дополнительные модули в микроконтроллерах.
- •19. Микроконтроллеры avr. Общие характеристики, устройство.
- •20. Типы и организация памяти микроконтроллеров avr.
- •21. Периферийные устройства, их назначение. Взаимодействие с цпу
- •22. Питание. Назначение выводов.
- •23. Ядро, регистр статуса, конвейер микроконтроллеров avr.
- •24. Классификация команд микроконтроллеров.
- •27.Представление чисел в микропроцессоре. Математические инструкции. Операции с многобайтными числами.
- •28. Команды умножения, операции с многобайтными числами.
- •29. Логические и битовые команды. Сдвиги. Операции сдвига с многобайтными числами.
- •36. Защита памяти программ и eeprom. Конфигурационные биты.
- •Конфигурационные биты
- •30. Деление, перевод в десятичную систему. Использование сдвигов вместо арифметических команд. Битовые маски.
- •Организация циклов, ветвлений. Р азветвление программы на две ветки с последующим соединением
- •Разветвление программы на три ветки с последующим соединением
- •33. Команды передачи данных. Адресация памяти данных.
- •33.Адресация памяти данных:
- •34. Директивы ассемблера avr
- •35. Макросы, выражения, функции ассемблера avr
- •37. Параллельное программирование
- •38. Последовательное програмирование, jtag
- •39. Устройство сброса микроконтроллера
- •40. Режимы энергосбережения
- •Минимизация потребляемой мощности
- •41. Порты ввода-вывода
- •42.Режимы работы портов ввода-вывода, альтернативные функции. Система прерываний.
- •43. Внешние прерывания
- •49. Режимы работы таймера. Шим с фазовой коррекцией.
- •50.Асинхронный режим работы таймера.
- •51.Синхронный режим. Устройство предделителей таймеров.
- •59. Аналоговый компаратор
- •56. Ацп. Устройство и принцип работы.
- •57. Выполнение преобразования ацп.
- •Режимы работы ацп. Регистры настройки ацп.
- •25.Типы адресации памяти, сегментации памяти
- •26.Ассемблер,структура команд, операнды. Виды регистровой адрессации
- •46. Режимы работы таймера. Нормальный режим.
- •47. Режимы работы таймера. Режим стс.
- •48. Режимы работы таймера. Быстрый шим.
- •53. Функциональные блоки 16-разрядного таймера-счетчика.
- •55. Режимы шим 16-разрядного таймера-счетчика.
24. Классификация команд микроконтроллеров.
Система команд процессора
В общем случае система команд процессора включает в себя следующие четыре основные группы команд:
команды пересылки данных;
арифметические команды ;
логические команды ;
команды переходов.
Команды пересылки данных не требуют выполнения никаких операций над операндами.
Операнды просто пересылаются (точнее, копируются) из источника (Source) в приемник (Destination).
Источником и приемником могут быть внутренние регистры процессора, ячейки памяти или устройства ввода/вывода.
АЛУ в данном случае не используется.
Арифметические команды выполняют операции сложения, вычитания, умножения, деления, увеличения на единицу (инкрементирования), уменьшения на единицу (декрементирования) и т.д.
Этим командам требуется один или два входных операнда.
Формируют команды один выходной операнд.
Логические команды производят над операндами логические операции, например, логическое И, логическое ИЛИ, исключающее ИЛИ, очистку, инверсию, разнообразные сдвиги (вправо, влево, арифметический сдвиг, циклический сдвиг).
Этим командам, как и арифметическим, требуется один или два входных операнда, и формируют они один выходной операнд.
Команды переходов предназначены для изменения обычного порядка последовательного выполнения команд.
С их помощью организуются переходы на подпрограммы и возвраты из них, всевозможные циклы, ветвления программ, пропуски фрагментов программ и т.д.
Команды переходов всегда меняют содержимое счетчика команд.
Переходы могут быть условными и безусловными.
Именно эти команды позволяют строить сложные алгоритмы обработки информации.
Состояние процессора
В соответствии с результатом каждой выполненной команды устанавливаются или очищаются биты регистра состояния процессора ( PSW, STATUS, SREG).
Не все команды изменяют все имеющиеся в регистре состояния флаги. Это определяется особенностями каждого конкретного процессора.
У разных процессоров системы команд существенно различаются, но в основе своей они очень похожи. Количество команд у процессоров также различно.
27.Представление чисел в микропроцессоре. Математические инструкции. Операции с многобайтными числами.
Дополнительный код (англ. two’s complement, иногда twos-complement) — наиболее распространённый способ представления отрицательных целых чисел в компьютерах.
Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуру ЭВМ.
Дополнительный код отрицательного числа можно получить инвертированием модуля двоичного числа (первое дополнение) и прибавлением к инверсии единицы (второе дополнение), либо вычитанием числа из нуля.
При записи числа в дополнительном коде старший разряд является знаковым. Если его значение равно 0, то в остальных разрядах записано положительное двоичное число, совпадающее с прямым кодом.
Двоичное 8-ми разрядное число со знаком в дополнительном коде может представлять любое целое в диапазоне от −128 до +127.
Основные математические инструкции
ADD - Сложить без переноса (Сложение двух регистров без добавления содержимого флага переноса (С), размещение результата в регистре назначения Rd.)
ADC - Сложить с переносом (Сложение двух регистров и содержимого флага переноса (С), размещение результата в регистре назначения Rd.)
SUB - Вычесть без переноса (Вычитание содержимого регистра-источника Rr из содержимого регистра Rd, размещение результата в регистре назначения Rd.)
SBC - Вычесть с переносом (Вычитание содержимого регистра-источника и содержимого флага переноса (С) из рег-ра Rd, размещение рез-та в регистре назначения Rd.)
SUBI - Вычесть непосредственное значение (Вычитание константы из содержимого регистра, размещение результата в регистре назначения Rd.)
SBCI - Вычесть непосредственное значение с переносом (Вычитание конст-ы и содержимого флага переноса (С) из содержимого регистра, размещение рез-та в регистре назначения Rd.)
CP – Сравнить (Команда выполняет сравнение содержимого 2-х регистров Rd и Rr. Содержимое регистров не изм-ся. После можно выполнять любые условные переходы.)
CPC - Сравнить с учетом переноса (Команда выполняет сравнение содержимого двух регистров Rd и Rr и учитывает также предшествовавший перенос. Содержимое регистров не измен-ся. После этой команды можно выполнять любые условные переходы.)
CPI - Сравнить c константой (Команда выполняет сравнение содержимого регистра Rd с константой. Содержимое регистра не изменяется. После этой команды можно выполнять любые условные переходы.)
INC – Инкрементировать (Добавление - 1 - к содержимому регистра Rd и размещение рез-та в регистре назначения Rd. Флаг переноса регистра статуса этой командой не активируется)
DEC – Декрементировать(Вычитание - 1 - из содержимого регис-ра Rd и размещение рез-та в регистре назначения Rd. Флаг переноса регистра статуса данной командой не активируется)
NEG - Выполнить дополнение до двух (Заменяет содержимое регистра Rd его дополнением до двух. Значение $80 остается неизменным.)
ADIW - Сложить непосредственное значение со словом (Сложение непосредственного значения (0-63) с парой регистров и размещение результата в паре регистров. Команда работает с четырьмя верхними парами регистров, удобна для работы с регистрами указателями.)
SBIW - Вычесть непосредственное значение из слова (Вычитание непосредственного значения (0-63) из пары регистров и размещение результата в паре регистров. Команда работает с четырьмя верхними парами регистров, удобна для работы с регистрами указателями.)