ПРОЦЕССОРНОЕ ЯДРО МК

Процессорное ядро представляет собой неразрывное единство трех составляющих его технического решения:

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, MK PIC16 и Р1С17фирмы Microchip, МК фирмы Scenix.

По определению МК с RISC-архитектурой должны иметь более высокую производительность по сравнению с CISC МК при одной и той же частоте fBus , т.к. первые выполняют каждую команду за один такт, а последние — за несколько. Однако на практике вопрос о производительности является значительно более сложным и почти всегда неоднозначным:

• Указанная в справочных данных частота синхронизации обычно соответствует частоте подключаемого кварцевого резонатора fxclk, в то время как длительность цикла центрального процессора определяется частотой обмена по внутренним магистралям адреса и данных fBus . Соотношение IXCLK и 1Bus индивидуально для каждого ядра МК. Так, для ядра Intel MCS-51 fxcLK/feus = 12, для ядра Motorola HC05 fxcLK/feus = 2, для Microchip PIC16 fxcLK/feus = 4, для Scenix fxcLK/feus = 1. В МК Motorola НС08 тактирование осуществляется с использованием умножителя частоты и fBUs > IXCLK- Поэтому при оценке производительности следует сравнивать только максимальную частоту тактирования межмодульных магистралей fgus.

• Производительность МП, и МК в том числе, принято оценивать числом операций пересылки "регистр-регистр", которые могут быть выполнены в течение одной секунды. Для МК с RISC-архитектурой время выполнения любой операции составляет 1 /feus, следовательно, их производительность равна fBUS оп/с. Например, производительность PIC16 составляет 5 млн оп/с, Scenix — 25 млн оп/с. В МК с CISC-архитектурой число циклов выполнения операции "регистр-регистр" составляет от 1 до 3, что снижает производительность.

• Однако такая оценка производительности является общей. Она не учитывает особенности алгоритмов управления, используемых в каждой конкретной области применения. Так, при разработке быстродействующих регуляторов основное внимание следует уделять времени выполнения операций умножения и деления, которые требуются при реализации уравнений различных передаточных функций. А при реализации кнопочной станции кабины лифта следует оценивать время выполнения только логических функций, которые используются при опросе клавиатуры и при генерации протокола последовательного интерфейса связи с контроллером управления движения, который оптимизирует перемещение между этажами сразу нескольких кабин лифта. В задачах оптимального управления по таблицам, которые характерны для устройств силовой электроники, на первый план выходит возможность быстрого перебора больших таблиц данных. Поэтому в критических ситуациях, связанных с требованиями высокого быстродействия, следует оценивать производительность на основе тех операций, которые преимущественно используются в алгоритме управления и имеют ограничение по времени выполнения.

• В задачах управления объектом в реальном времени существует еще один очень важный фактор производительности, который никак не отображается числом операций в секунду. Это время перехода на подпрограмму прерывания по запросу внешнего устройства или периферийного модуля. В процессе перехода на подпрограмму прерывания каждый МК должен распознать запрос на прерывание, дождаться завершения выполнения текущей команды, сохранить значение программного счетчика PC и некоторые регистры центрального процессора в стеке, загрузить вектор прерывания, выполнить некоторые вспомогательные команды и лишь затем приступить к выполнению алгоритма обслуживания устройства, которое вызвало это прерывание. Суммарное время перехода на подпрограмму прерывания определяется архитектурой процессорного ядра МК и частотой его тактирования.