Структура микроконтроллеров. Назначение блоков и их описание.
Основными характеристиками, определяющими производительность процессорного ядра МК, являются:
набор регистров для хранения промежуточных данных;
система команд процессора;
способы адресации операндов в пространстве памяти;
организация процессов выборки и исполнения команды.
С точки зрения системы команд и способов адресации операндов процессорное ядро современных 8-разрядных МК реализует один из двух принципов построения процессоров:
процессоры с CISC-архитектурой, реализующие так называемую полную систему команд (Complicated Instruction Set Computer);
процессоры с RISC-архитектурой, реализующие сокращенную систему команд (Reduced Instruction Set Computer).
CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации, давая разработчику возможность выбрать наиболее подходящую команду для выполнения необходимой операции. В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время целым рядом производителей, МК семейств НС05, НС08 и НС11 фирмы Motorola и ряд других.
В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.
На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. Однако на практике вопрос о производительности более сложен и неоднозначен.
С точки зрения организации процессов выборки и исполнения команды в современных 8-разрядных МК применяется одна из двух уже упоминавшихся архитектур МПС: фон-неймановская (принстонская) или гарвардская.
Основное преимущество архитектуры Фон-Неймана – упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров, включая персональные компьютеры.
Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.
Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации операндов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.
В микроконтроллерах существует два блока памяти – память программ и память данных. Каждый блок имеет свою собственную шину, что позволяет за один такт производить обращение как к коду, так и к данным.
Память данных микроконтроллера можно разделить на специальные регистры, содержащие служебную инфомацию о состоянии микроконтроллера и регистры общего назначения, используемые в качестве оперативной памяти микроконтроллера.
Память для хранения программы микроконтроллера (1k 14-и битовых слов) выполнена по FLASH технологии и размещена непосредственно на кристалле микроконтроллера. Выборку очередной инструкции из памяти осуществляет блок управления с использованием текущего значения счетчика команд, имеющего восьмиуровневый стек, позволяющий реализовать последовательный вызов процедур.
После выборки микрооперация храниться в регистре инструкций IR и доступна декодеру для выборки данных и декодирования.
Декодер распознает и декодирует выбранную команду для того, чтобы сообщить блоку управления, какие аппаратные части ядра микроконтроллера должны быть задействованы для выполнения инструкций.
Блок управления сообщает тактовому генератору, в какой последовательности должны работать аппаратные блоки контроллера (т.е. управляет работой конвейера).
Регистр общего назначения микроконтроллера представляет собой набор скоростных регистров (68 * 8 бит).
Данные в регистровый файл могут поступить по следующим путям:
Из регистра инструкций через мультиплексор MUX1.
От АЛУ.
Из памяти данных.
Из портов ввода/вывода и других периферийных устройств.
АЛУ микроконтроллера, который управляется блоком управления имеет регистр аккумулятор, доступный программе и регистр статуса, который может информировать о результатах выборки.
Данные на АЛУ могут поступать из следующих источников:
От регистра инструкций через мультиплексор MUX2.
Из регистров общего назначения.
Из памяти данных. При этом косвенно через регистры общего назначения операнд может поступить на АЛУ.
FSR используется для реализации механизмов прямой и косвенной адресации.
Память данных (64 байт) служит для хранения константных значений и в некоторых случаях для хранения части исполняемого кода при нехватке памяти программ.
Электростираемое, перепрограммируемое ПЗУ.
Программирование по принципу ISP позволяет по средствам специального интерфейса (2-е линии) программировать память данных и инструкций.
Порты ввода/вывода предназначены для подключения различного периферийного оборудования по средствам 2-х портов, до 16-и линий ПУ. Все порты микроконтроллера программно доступны и позволяют программно настраивать на различные режимы функционирования.
Таймер – аппаратная реализация часов реального времени, которые можно использовать для отсчета различных временных интервалов. Таймер полностью программно доступен и может функционировать с выработкой аппаратного прерывания либо посредствам установки значения специального регистра.
ADC - расширения портов ввода/вывода к которым можно подключать источники аналогового сигнала.
USART - универсальный блок последовательной передачи информации, позволяет подключать периферийные устройства по последовательному интерфейсу.
Ядро микроконтроллера изготовлено по гарвардской архитектуре совместно с аккумуляторной архитектурой, с использованием регистров общего назначения. Набор инструкций по принципу RISC архитектуры. Используется 2-х ступенчатая конвейерная обработка.
Характеристики микроконтроллера позволяют использовать данный микроконтроллер как в любительских устройства, так и в профессиональных микроконтроллерных устройствах, единичного или мелкосерийного производства.
Дата добавления: 2016-12-27; просмотров: 4105;