
- •Микроконтроллеры для встраиваемых приложений
- •Аннотация
- •Модульный принцип построения мк
- •2. Процессорное ядро мк
- •3. Резидентная память мк
- •4. Порты ввода/вывода
- •5. Таймеры и процессоры событий
- •6. Аналого-цифровые и цифро-аналоговые преобразователи
- •9. Мониторинг напряжения питания мк
- •10. Аппаратные и программные решения по повышению надежности работы мк
2. Процессорное ядро мк
Процессорное ядро представляет собой неразрывное единство трех составляющих его технического решения:
1. Архитектуры центрального процессора с присущими ей набором регистров для хранения промежуточных данных, организацией памяти и способами адресации операндов в пространстве памяти, системой команд, определяющей набор возможных действий над операндами, организацией процесса выборки и исполнения команд.
2. Схемотехники воплощения архитектуры, которая определяет последовательность перемещения данных по внутренним магистралям МК между регистрами, арифметическо-логическим устройством и ячейками памяти в процессе выполнения каждой команды.
3. Технологии производства полупроводниковой БИС МК, которая позволяет разместить схему той или иной сложности на полупроводниковом кристалле, определяет допустимую частоту переключении в схеме и энергию потребления.
Эти три составляющие неразрывно связаны друг с другом и в конечном счете определяют важнейший параметр процессорного ядра МК — его производительность.
Ядро современных 8-разрядных МК реализует один из двух принципов построения МП:
* МП с CISC-архитектурой — МП с полной системой команд (Complicated Instruction Set Computer).
* МП с RISC-архитектурой — МП с сокращенной системой команд (Reduced Instruction Set Computer).
В применении к 8-разрядным МК микропроцессор с CISC-архитектурой имеет однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. Выборка команды из памяти осуществляется побайтно в течение нескольких циклов синхронизации МК. Время выполнения каждой команды с учетом времени выборки составляет от 1 до 10 циклов. Длительность цикла синхронизации равна периоду частоты тактирования внутренних магистралей fbus. К МК с CISC-архитектурой относятся семейства НС05 и НС08 фирмы Motorola, МК с ядром MCS-51, которое было предложено фирмой Intel, а в настоящее время поддерживается сразу несколькими производителями (Atmel, Philips, Dallas), МК семейства С500 фирмы Infineon и ряд других.
МП с RISC-архитектурой имеет формат команды фиксированной длины (например, 12 или 14 бит), выборка команды из памяти и ее исполнение осуществляются за один цикл синхронизации МК. К МК с RISC-архитектурой относятся МК AVR фирмы Atmel, МК РIС16 и РIС17фирмы Microchip, МК фирмы Scenix.
По определению МК с RISC-архитектурой должны иметь более высокую производительность по сравнению с CISC МК при одной и той же частоте fbus, т.к. первые выполняют каждую команду за один такт, а последние — за несколько. Однако на практике вопрос о производительности является значительно более сложным и почти всегда неоднозначным:
* Указанная в справочных данных частота синхронизации обычно соответствует частоте подключаемого кварцевого резонатора fxclk, в то время как длительность цикла центрального процессора определяется частотой обмена по внутренним магистралям адреса и данных fbus. Соотношение fxclк и fbus индивидуально для каждого ядра МК. Так, для ядра Intel MCS-51 fxclk/fbus =12, для ядра Motorola HC05 fxclk/fbus = 2, для Microchip Р1С16 fxclk/fbus = 4, для Scenix fxclk/fbus = 1. В МК Motorola НС08 тактирование осуществляется с использованием умножителя частоты и fbus > fxclk. Поэтому при оценке производительности следует сравнивать только максимальную частоту тактирования межмодульных магистралей fbus. Численные значения fbus для популярных семейств 8-разрядных МК приведены в табл. 1.
Табл. 1. Частота тактирования межмодульных магистралей 8-разрядных МК
Семейство МК |
Архитектура ядра |
fbus max [МГц] |
fxclk/fbus |
fxclk max [МГц] |
|
МК, ПРОГРАММНО СОВМЕСТИМЫЕ С ЯДРОМ MCS-51 |
|||||
Intel MCS-51 |
CISC |
2 |
12 |
24 |
|
Atmel 89С55 |
CISC |
2.75 |
12 |
33 |
|
Infenion С500 |
CISC |
3.3 |
12 |
40 |
|
Philips 9С51/52 |
CISC |
2.75 |
12 |
33 |
|
Philips 8051XA |
CISC |
20 |
- |
30 |
|
Dallas High Speed |
CISC |
8.25 |
4 |
33 |
|
МК С ДРУГИМИ ТИПАМИ ПРОЦЕССОРНОГО ЯДРА |
|||||
Motorola HC05 |
CISC |
2 |
2 |
4 |
|
Motorola HC08 |
CISC |
8 |
4 или <1 |
32 |
|
Motorola HС11 |
CISC |
3 |
4 |
12 |
|
MicrochipPIC16 |
RISC |
5 |
4 |
20 |
|
MicrochipPIC17 |
RISC |
8.25 |
4 |
33 |
|
Microchip PIC18 |
RISC |
10 |
4 |
40 |
|
Atmel AVR |
RISC |
10 |
1 |
10 |
|
Scenix |
RISC |
25 |
1 |
25 |
* Производительность МП, и МК в том числе, принято оценивать числом операций пересылки "регистр-регистр", которые могут быть выполнены в течение одной секунды. Для МК с RISC-архитектурой время выполнения любой операции составляет 1/fbus, следовательно, их производительность равна fbus оп/с. Например, производительность PIC16 составляет 5 млн. оп/с, Scenix — 25 млн. оп/с. В МК с CISC-архитектурой число циклов выполнения операции "регистр-регистр" составляет от 1 до 3, что снижает производительность.
* Однако такая оценка производительности является общей. Она не учитывает особенности алгоритмов управления, используемых в каждой конкретной области применения. Так, при разработке быстродействующих регуляторов основное внимание следует уделять времени выполнения операций умножения и деления, которые требуются при реализации уравнений различных передаточных функций. А при реализации кнопочной станции кабины лифта следует оценивать время выполнения только логических функций, которые используются при опросе клавиатуры и при генерации протокола последовательного интерфейса связи с контроллером управления движения, который оптимизирует перемещение между этажами сразу нескольких кабин лифта. В задачах оптимального управления по таблицам, которые характерны для устройств силовой электроники, на первый план выходит возможность быстрого перебора больших таблиц данных. Поэтому в критических ситуациях, связанных с требованиями высокого быстродействия, следует оценивать производительность на основе тех операций, которые преимущественно используются в алгоритме управления и имеют ограничение по времени выполнения.
В задачах управления объектом в реальном времени существует еще один очень важный фактор производительности, который никак не отображается числом операций в секунду. Это время перехода на подпрограмму прерывания по запросу внешнего устройства или периферийного модуля. В процессе перехода на подпрограмму прерывания каждый МК должен распознать запрос на прерывание, дождаться завершения выполнения текущей команды, сохранить значение программного счетчика PC и некоторые регистры центрального процессора в стеке, загрузить вектор прерывания, выполнить некоторые вспомогательные команды и лишь затем приступить к выполнению алгоритма обслуживания устройства, которое вызвало это прерывание. Суммарное время перехода на подпрограмму прерывания определяется архитектурой процессорного ядра МК и частотой его тактирования.