Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контроллеры для приложений.doc
Скачиваний:
45
Добавлен:
13.09.2019
Размер:
958.46 Кб
Скачать
    1. 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 и некоторые регистры центрального процессора в стеке, загрузить вектор прерывания, выполнить некоторые вспомогательные команды и лишь затем приступить к выполнению алгоритма обслуживания устройства, которое вызвало это прерывание. Суммарное время перехода на подпрограмму прерывания определяется архитектурой процессорного ядра МК и частотой его тактирования.