
- •Основные понятия и определения микропроцессорной техники: микропроцессор, микропроцессорная система, микроконтроллер. Принципы построения микропроцессорных систем.
- •Архитектура микропроцессора: архитектура со сложной системой команд (cisc-процессоры), архитектура с упрощенной системой команд (risc-процессоры). Принстонская и гарвардская архитектуры.
- •3. Структура микропроцессорной системы и основные режимы ее работы – выполнение основной программы, обслуживание прерываний, прямой доступ к памяти.
- •4. Модуль процессора микропроцессорной системы. Состав модуля – операционный блок, блок управления, интерфейсный блок. Выполняемые функции.
- •5. Модуль памяти мпс. Выполняемые функции. Основные характеристики. Типы микросхем, применяемых для построения постоянной и оперативной памяти микропроцессорных систем.
- •6. Реализация обмена данными между внешними устройствами и микропроцессорной системой (мпс). Модуль ввода/вывода мпс, выполняемые функции, функциональная схема устройства ввода/вывода.
- •7. Понятие о системе команд микропроцессоров. Основные группы команд. Способы адресации операндов в микропроцессорах.
- •Форматы команд
- •Способы адресации операндов и команд
- •Адресация операндов
- •Адресация команд
- •Группы команд микропроцессора
- •8. Классификация и структура микроконтроллеров (мк). Процессорное ядро мк, его основные характеристики.
- •9. Типы памяти микроконтроллеров: память программ, память данных, регистры, внешняя память.
- •Память программ
- •Память данных
- •Регистры мк
- •Внешняя память
- •10. Порты ввода/вывода: назначение, основные типы. Таймеры микроконтроллеров: назначение, внутренняя структура.
- •Таймеры микроконтроллеров
- •12. Интерфейсы микропроцессорных систем, классификация и принципы построения
- •14. Последовательные асинхронные интерфейсы: rs-232, rs-422, rs-485, ирпс (интерфейс радиальный последовательный). Назначение, форматы передачи данных, основные технические характеристики.
- •15. Последовательные синхронные интерфейсы: spi (Synhronous Peripheral Interface), i2c (Inter Integrated Circuit). Назначение, форматы передачи данных, основные технические характеристики.
- •Интерфейсная шина i2c
- •16. Однокристальные микроконтроллеры семейства mcs-51: состав и общая характеристика. Структурная организация: регистры, память данных и программ.
- •17. Однокристальные микроконтроллеры семейства mcs-51: порты ввода/вывода, таймеры/счетчики, последовательный порт, система прерываний. Назначение, основные особенности.
- •18. Работа микроконтроллеров семейства mcs-51 в автономном режиме, способы подключения внешней памяти программ и данных.
- •21. Микроконтроллеры подсемейства pic18: общая характеристика, особенности архитектуры и системы команд.
- •Организация памяти
- •Система прерывания
- •Порты ввода/вывода
- •Генератор тактовых импульсов
- •Система команд pic18
- •Основные этапы разработки микроконтроллерных систем
- •Разработка и автономная отладка аппаратных средств мкс
- •Разработка и отладка программного обеспечения
- •23. Язык Ассемблер для микроконтроллеров семейства mcs-51: назначение, структура полей предложений на языке Ассемблер, директивы Ассемблера.
- •Поля предложения на языке Ассемблер
- •Примеры
- •Директивы Ассемблера
- •Метка Операция Операнды Комментарий
- •Метка Операция Операнды Комментарий
- •Опрос двоичного датчика
- •Ожидание события
- •Формирование временной задержки
- •Формирование управляющих сигналов из мк
- •Защита от дребезга контактов
- •25. Методы ввода информации с клавиатуры для микроконтроллеров семейства mcs-51: виды клавиатур, схема подключения контактов клавиатур к микроконтроллеру, методы опроса клавиатуры.
- •Описание микроконтроллерного устройства
- •Создание исходного файла базовой программы
- •Включение и выключение светодиода. Чтобы подать логическую единицу на вывод rb0 (для включения светодиода) необходимо в нулевой бит регистра portb записать 1:
- •Опрос переключателя. Ниже приведен текст программы, которая по нажатию клавиши sa1 включает светодиод vd1, а при ее отпускании светодиод гаснет.
- •Представление информации в языке Си
- •Операции и выражения в Си
- •Операторы управления вычислительным процессом
- •Функции
4. Модуль процессора микропроцессорной системы. Состав модуля – операционный блок, блок управления, интерфейсный блок. Выполняемые функции.
Основным модулем МПС является процессор, который осуществляет обработку информации внутри МПС и управление всей системой. Основой процессора является микропроцессор, который выполняет все функции обработки данных и управления. Кроме МП в состав процессора могут входить и вспомогательные устройства: тактовый генератор, буферные схемы для сопряжения МП с системной шиной (магистралью) МПС. Часто при описании работы МПС и особенно компьютеров термины процессор и микропроцессор используют как равнозначные.
Микросхема МП, как правило, имеет выводы трех шин: данных, адреса и управления. Кроме того, МП обычно имеет вывод для подключения внешнего тактового сигнала, так как МП всегда является тактируемым устройством. Еще МП всегда имеет вывод для подачи сигнала начального сброса (RESET). Этот сигнал приводит к инициализации МП, в результате чего начинает выполняться программа начального запуска. Иногда у МП имеются еще один-два входа подачи запросов прерывания для обработки особых ситуаций.
Важнейшие характеристики МП – это количество разрядов его шин данных, адреса и управления. Разрядность шины данных определяет производительность системы и ее быстродействие. Разрядность шины адреса определяет максимальный объем памяти, а значит, и допустимую сложность системы. Число линий управления определяет разнообразие режимов обмена информацией в МПС.
В самом общем случае МП можно представить в виде трех функциональных блоков: операционного блока (ОБ), блока управления и интерфейсного блока. Кроме них в состав МП могут входить и некоторые другие блоки, например, блок прерывания, блок управления прямым доступом к памяти, блок контроля, диагностики и др.
Операционный блок. Он предназначен для выполнения логических и арифметических операций. В его состав входят арифметико-логическое устройство (АЛУ), буферные регистры операндов, регистр результата (аккумулятор), регистр признаков (флагов) и блок регистров общего назначения (РОН).
В АЛУ выполняются несколько простейших арифметических (сложение, вычитание) и поразрядных логических (И, ИЛИ, НЕ и др.) операций. Более сложные операции, например, умножение и деление, выполняются программно с помощью процедур.
Кроме универсального АЛУ микропроцессор может содержать одно или несколько специализированных АЛУ. В качестве них обычно использую блок аппаратного умножения и деления, а также блоки выполнения операций с плавающей точкой.
Важной составляющей операционного блока является блок внутренней памяти, реализованной в виде набора программно доступных регистров, называемых регистрами общего назначения (РОН). Время обращения к РОН меньше, чем к многим другим устройствам памяти, поэтому память на РОН часто называют сверхоперативной (СОЗУ). Число РОН в МП обычно невелико (6-16), тем не менее, их наличие существенно ускоряет выполнение операций. При наличии блока РОН операнды команд могут размещаться в одной из двух запоминающих сред – в памяти МПС или в РОН. Использование РОН позволяет исключить значительную часть обращений МП к памяти через системную шину. С одной стороны, это повышает производительность за счет более быстрого обращения к РОН, с другой стороны, появляется возможность в это время использовать системную шину для обмена информацией между другими устройствами МПС.
В большинстве ранних моделей МП один из общих регистров выделялся в качестве главного регистра. Наделение главного регистра, называемого аккумулятором, или регистром результата, особыми функциями позволяло реализовать операционный блок в виде одноадресного устройства. В таком ОБ один из исходных операндов арифметических и логических операций обязательно должен размещаться в аккумуляторе и в него же помещается результат. Другой операнд названных операций может находиться в памяти или РОН. Входные данные поступают в аккумулятор с внутренней шины МП, а аккумулятор, в свою очередь, может посылать данные на эту шину.
Признаки операций АЛУ, характеризующие результаты вычислений, запоминаются в битах регистра признаков. Признаки операций обычно называются флагами, а регистр признаков в зависимости от типа МП называется регистром слова состояния PSW (Program Status Word), регистром флагов EFLAGS. Типичными признаками (флагами) являются: нулевой результат, наличие переноса, переполнение, четность, знак.
Флаг нулевого результата Z (Zero Flag) устанавливается в «1» при нулевом значении результата. При ненулевом результате Z = 0.
Флаг переноса C (Carry Flag) запоминает значение переноса (заема) при сложении (вычитании) операндов. Также флаг C используется для запоминания выдвигаемого бита при сдвиге операнда.
Флаг переполнения OV (Overflow Flag) фиксирует переполнение разрядной сетки результата при выполнении операций со знаковыми числами. Например, при выполнении суммирования переполнение происходит только тогда, когда коды слагаемых имеют одинаковое значение знаковых разрядов, а код суммы имеет другое значение знакового разряда.
Флаг паритета или четности P (Parity Flag) фиксирует наличие четного числа единичных разрядов в младшем байте результата операции. Флаг паритета часто используют для контроля правильности передачи данных.
Флаг знака S (Sign Flag) дублирует значение старшего бита результата. Флаг S при использовании дополнительного кода соответствует знаку числа.
В большинстве случаев признаки результата (флаги) используются для программного управления последовательностями выполняемых команд при ветвлениях и циклах.
Блок управления. В процессе выполнения программы блок управления (БУ) координирует работу всех блоков МП и микропроцессорной в целом. С помощью БУ формируются управляющие сигналы, необходимые для организации обмена информацией с внешними устройствами, и обеспечивается выборка команд программы из памяти. В целом БУ выполняет следующие действия:
считывает и запоминает текущую команду;
формирует адрес следующей команды;
реализует выполнение по тактам алгоритма поступившей команды.
Блок управления состоит из регистра команд (РгК), дешифратора команд (ДшК) и устройства управления, которое формирует управляющие сигналы для других блоков МП, настраивая их на выполнение определенных операций. В состав БУ входят также программно доступные счетчик команд PC (Program Counter) и указатель стека SP (Stack Pointer). Счетчик команд PC предназначен для адресации команд программы. После выборки из памяти очередной команды в регистре PC формируется адрес следующей по порядку команды. В командах условных и безусловных переходов, вызова и возврата из подпрограмм в регистр PC непосредственно загружается адрес перехода. Указатель стека SP хранит адрес последней занятой ячейки в области стековой памяти (вершины стека).
Выполнение любой команды реализуется как последовательность трех фаз: выборка, декодирование и выполнение. Фаза выборки обеспечивает считывание очередной команды из памяти и пересылку ее в МП. Адрес считываемой команды определяется содержимым PC. Любая команда всегда содержит всю необходимую информацию о выполняемой операции и об ее операндах. Для указания этой информации команды МП имеют определенную структуру, называемую форматом команды. Форматы команд у различных типов МП в деталях отличаются. Общим является то, что команда состоит из двух частей: кода операции и кода адресации. Код операции однозначно определяет тип выполняемой операции. В коде адресации содержится информация об адресах операндов и результата. В зависимости от типа команда может состоять из одного или нескольких байтов, при этом код операции всегда размещается в первом байте команды. Код операции текущей команды запоминается в РгК. В фазе декодирования содержимое РгК с помощью ДшК преобразуется в управляющее слово. Устройство управления БУ, используя это слово, вырабатывает набор сигналов, управляющих внутренними операциями МП и обменом информацией между МП, памятью и внешними устройствами.
После выборки и дешифрирования команды операционный блок в декодированном виде получает информацию о том, какую операцию он должен выполнить, где в памяти расположены данные, куда следует направить результат операции и где расположена следующая команда. В фазе выполнения устройство управления БУ вырабатывает последовательности управляющих сигналов, обеспечивающих выполнение операции, заданной в команде.
Работа всех узлов ОБ синхронизирована импульсами, поступающими от тактового генератора. Элементарное действие, выполняемое в одном из узлов ОБ в течение одного такта, называется микрооперацией. В некоторые такты в различных узлах ОБ (регистрах, мультиплексорах, счетчиках и др.) одновременно могут выполняться несколько микроопераций. Настройка ОБ на выполнение одной из возможных микроопераций осуществляется с помощью сигналов, поступающих на его управляющие входы. Набор этих сигналов вырабатывает блок управления БУ. Совокупность одновременно выполняемых микроопераций называется микрокомандой. Каждая микрокоманда выполняется в течение одного машинного такта – периода тактовых импульсов, задающих рабочую частоту всех внутренних узлов и блоков МП.
Машинным (процессорным) тактом в МП является длительность периода тактовых сигналов T, которая задается тактовой частотой микропроцессора FТ = 1 / T.
Команда в общем случае состоит из нескольких простейших действий и обычно выполняется за несколько тактов, т.е. требует для своего выполнения несколько микрокоманд.
Для выполнения каждой поступившей команды требуется определенное количество командных циклов. Командным циклом называется промежуток времени, требуемый для обращения к памяти или внешнему устройству с помощью системной шины. Обычно реализация такого цикла занимает от 2 до 4 системных тактов (периодов синхросигналов шины), которые требуются для установки требуемого адреса, выдачи сигналов, определяющих вид цикла – чтение или запись, получение сигнала готовности к обмену (от памяти или внешних устройств) и собственно передачи данных или команд.
При выполнении каждой команды в первых циклах производится ее выборка из памяти по адресу, который задается содержимым счетчика команд PC. Последующая дешифрация выбранной команды определяет необходимое число циклов для ее выполнения. Если для реализации команды не требуется считывание операндов из памяти (внешних устройств) или записи в память (вывод на внешние устройства) результатов операции, то такая команда выполняется за один цикл. При считывании операндов из памяти (ввод из внешних устройств) или записи результата в память (вывод на внешние устройства) требуются дополнительные циклы чтения (ввода) или записи (вывода). В зависимости от разрядности обрабатываемых операндов и разрядности используемой системной шины число циклов, необходимых для выполнения команд, может быть различным: от 1 (выборка команды) до 4-5 (зависит от команды, разрядности шин и операндов).
Тактовая частота современных МП составляет единицы гигагерц. Частота синхросигналов системных шин обычно составляет десятки мегагерц (типичные значения 25, 33, 50, 66, 75, 100, 133 МГц). Таким образом, обработка информации внутри МП (без обращения к системной шине) производится значительно быстрее, чем обмен по шине.
Интерфейсный блок. Он предназначен для организации взаимодействия МП с памятью и устройствами ввода/вывода, расположенными на системной шине МПС, а также для обмена данными между ОБ и внутренними устройствами МП. В общем случае интерфейсный блок процессора должен выполнять следующие функции:
формировать выходные сигналы на шинах адреса, данных и управления в режиме вывода;
формировать выходные сигналы адреса, управления и считывать (воспринимать) сигналы с шины данных в режиме ввода;
синхронизировать процессы внутри МП и на системной шине;
реализовывать стандартный для системной шины протокол обмена.
Протокол обмена информацией по системной шине определяет последовательности сигналов (временную диаграмму сигналов в шине), обеспечивающих правильную передачу информации между устройствами МПС.
Электрические спецификации сигналов, действующих на линиях системной шины, определяют гарантированные уровни напряжений, идентифицирующих логические состояния 0 и 1, и их нагрузочную способность. Одной из особенностей компонентов МПС, обеспечивающей возможность их электрического сопряжения друг с другом и разнообразными внешними устройствами, является ТТЛ-совместимость. Выбор такого стандарта для интерфейса определяется широким распространением разнообразных устройств на ТТЛ-схемах. Выходные сигналы МП являются маломощными (их нагрузочная способность эквивалентна одному входу ТТЛ-схемы). Для согласования выходных сигналов МП с нагрузками системной шины используют специальные усилители, в качестве которых обычно применяют микросхемы шинных формирователей.