Вход |  Регистрация
 
 
Время электроники Вторник, 23 октября
 
 


Это интересно!

Новости


Обзоры, аналитика


Интервью, презентации

Ранее

Модули компании «Терраэлектроника» на микроконтроллерах PiccoloTM и DelfinoTM компании Texas Instruments

В статье представлены встраиваемые модули TE-TMX320F28027 и TE-TMS320F28335 компании «Терраэлектроника», выполненные на основе сигнальных микроконтроллеров Texas Instruments. Первый модуль реализует возможности самого бюджетного из 32-разрядных МК компании. Второй модуль предоставляет разработчику преимущества сигнального МК с процессорным ядром, работающим на частотах до 150 МГц и имеющим сопроцессор арифметики с плавающей точкой. В комплект поставки обоих модулей входит отладчик типа XDS100, позволяющий загружать прикладную программу и контроллировать процесс ее выполнения.

Как повысить энергоэффективность процессорных систем

Вопрос о снижении энергопотребления является насущным для всех типов встраиваемых процессорных систем. В статье даются практические советы по оптимизации энергопотребления за счет нескольких режимов работы системы, а также по оптимизации ресурсов и увеличению срока службы батарей. Статья представляет собой авторизованный перевод [1].

Большие частоты не означают более высокую производительность

Несколько последних лет компания AMD пыталась убедить OEM-производителей, производителей ПК и потребителей в том, что частота — не тот параметр, который годится для оценки производительности ЦП для ПК. В статье на конкретных примерах показано, как за счёт усовершенствования архитектуры повысить производительность системы, не увеличивая тактовую частоту процессора. Статья представляет собой перевод [1].

 

1 сентября

Характеристики производительности микроконтроллеров на базе ядра ARM Cortex-M3

В 2006 г. компания ARM представила на рынке новое процессорное ядро Cortex-M3, которое пришло на замену более старого ядра — ARM7TDMI. Такие разработчики микроконтроллеров (МК) как STMicroelectronics, NXP, Texas Instruments и др. приобрели лицензию на это ядро и наладили серийный выпуск МК на его базе. В 2008 г. лицензию на данное ядро приобрела и российская компания ЗАО «ПКК Миландр», запланировавшая к выпуску отечественную линейку МК серии 1986ВЕ91 для аппаратуры специального назначения. В статье рассматриваются показатели производительности МК различных вендоров, но с одним общим процессорным ядром.



Микроконтроллеры серии 1986ВЕ91

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

Таблица 1. Основные характеристики МК серии 1986ВЕ91

Серия

1986ВЕ91Т1

1986ВЕ91Т2

1986ВЕ91ТЗ

1986ВЕ91У1

1986ВЕ91У2

1986ВЕ91УЗ

Корпус, кол-во выводов

132

108

88

64

48

42

Ядро

ARM Cortex-M3

Флэш-память программ, Кбайт

128

Память данных, Кбайт

32

Питание, В

2,0...3,6

Частота, МГц

80

Температура, °С

-60...125

USER I0

96

74

62

45

31

25

USB

Device и Host FS (до 12 Мбит/с), встроенный PHY

UART

2

CAN

2

SPI

2

1

I2C

1

АЦП 12 разрядов, 1 Мвыб./с, кол-во каналов

16

10

8

5

3

ЦАП 12 разрядов

2

1

2

1

Компаратор, кол-во входов

3

2

-

Внешняя шина, кол-во разрядов

32

16

8

-

Производительность микроконтроллеров

Несмотря на стандартное ядро ARM Cortex-M3, характеристики производительности МК от различных фирм имеют разные показатели. В первую очередь, это обусловлено системой памяти программ, реализованной в МК. Практически все МК с ядром ARM Cortex-M3 могут функционировать на частотах более 50 МГц, т.е. время выполнения одной инструкции составляет менее 20 нс. При этом практический предел скорости доступа к внутренней памяти программ флэш-типа равен 30…40 нс. В результате флэш-память не успевает выдать новый код инструкции за один такт. Для того чтобы компенсировать медленную скорость работы памяти программ, в микроконтроллерах реализуется более разрядная, например 128-бит память, что позволяет за один цикл извлекать не одну, а сразу несколько инструкций. За то время, пока процессор выполняет инструкции из выбранного блока, подготавливается новый блок. В результате, если код выполняется линейно, такой механизм позволяет эффективно увеличить скорость работы процессорного ядра до 100 МГц и более. Структура простейшего ускорителя флэш-памяти программ представлена на рисунке 1.

Рис 1. Простейший ускоритель флэш-памяти программ

Однако как только процессор выполняет инструкцию ветвления либо обращается по ранее не предсказанному адресу, ускоритель инициализирует новый цикл обращения к флэш-памяти и на время выборки приостанавливает работу процессора.
Очевидно, что ускоритель флэш-памяти должен быть настраиваемым. Если разработчику системы с использованием микроконтроллера не требуется, чтобы процессор функционировал с тактовой частотой более 20 МГц, в этом случае флэш-память успевает выдать новые данные за один цикл, и необходимость в ускорении отсутствует. Если процессор работает на частоте до 40 МГц, то для выполнения непредсказаной выборки требуется один дополнительный такт; при частотах до 60 МГц — два и т.д.
Все разработчики МК с ядром ARM Cortex-M3 реализуют собственные ускорители флэш-памяти. В результате, чем эффективнее решение, тем бóльшей производительностью обладает микроконтроллер.

Показатели производительности

В настоящее время на российском рынке в основном представлены МК с ядром ARM Cortex-M3 компаний STMicroelectronics (семейство STM32Fxxx) и NXP (семейство LPC17xx). Для первоначального знакомства с этими микросхемами предлагаются демонстрационные отладочные средства, например модуль STM3210B-EVAL с МК STM32F103VBT6 фирмы STMicroelectronics. Для знакомства с микроконтроллерами NXP серии LPC17xx можно приобрести демонстрационный отладочный модуль RDB1768 с микроконтроллером LPC1768 от фирмы CODERED.
Для предварительного прототипирования микроконтроллеров серии 1986ВЕ91 компания «Миландр» разработала аппаратный прототип будущей микросхемы на базе FPGA, внешний вид которого представлен на рисунке 2.

Рис. 2. Прототип микроконтроллера 1986ВЕ91T1 на базе FPGA

Все перечиленные демонстрационные отладочные средства позволяют запускать на этих МК различные тестовые задачи и сравнивать полученные характеристики. В качестве основной тестовой задачи была выбрана программа реализации электронной цифровой подписи (ЭЦП). Эта программа не требует работы с периферией, что позволяет легко переносить ее с одного микроконтроллера на другой. Исходный код написан на языке С и оформлен в виде проекта под IDE Keil uVision. Проект компилируется и запускается с минимальными изменениями на всех микроконтроллерах. Исходные коды проекта доступны на официальном сайте фирмы «Миландр» forum.milandr.ru.
В программе задается режим работы ускорителя флэш-памяти, и выполняются 10 итераций вычисления ЭЦП над некоторыми условными данным. Время выполнения всех итераций фиксируется в циклах процессорного ядра (см. табл. 2).

Таблица 2. Число тактов, требуемых для выполнения тестовой задачи

Число дополнительных циклов задержки ускорителя

Число циклов процессора для выполнения тестовой задачи, млн

STM32F103

1986ВЕ91Т

LPC1768

0

411

446

407

1

506

514

413

2

662

541

422

3

859*

617

432

4

1054*

669*

442

5

1251*

704*

451*

*Использованы нерегламентированные режимы работы микросхемы.


Для большей наглядности данные приставлены в виде диаграммы на рисунке 3.

Рис. 3. Число тактов выполнения тестовой задачи при различном значении дополнительных циклов задержки ускорителя

Характеристики приведенной производительности с учетом тактовой частоты представлены на рисунке 4.

Рис. 4. Зависимость производительности МК от тактовой частоты процессорного ядра

Как видно из графиков, производительность растет пропорционально тактовой частоте, но при достижении таких ее значений, при которых требуются дополнительные циклы задержки, происходит падение производительности. Таким образом, корректное повышение тактовой частоты процессорного ядра не всегда приводит к повышению производительности. Например, при повышении тактовой частоты процессора STM32F103 с 48 до 49 МГц, наоборот, произойдет снижение производительности, а ее дальнейший рост начнется только с 63 МГц. Значения тактовых частот и требуемых дополнительных задержке ускорителя флэш-памяти программ приведены в таблице 3.

Таблица 3. Число дополнительных циклов задержки ускорителя при различных тактовых частотах

Число дополнительных циклов задержки ускорителя

STM32F103

1986ВЕ91Т*

LPC1768

0

до 24 МГц

до 25 МГц

до 20 МГц

1

до 48 МГц

до 50 МГц

до 40 МГц

2

до 72 МГц

до 75 МГц

до 60 МГц

3

-

до 100 МГц

до 80 МГц

4

-

-

до 100 МГц

5

-

-

до 120 МГц

*Предварительные расчетные данные.

Выводы

Очевидно значительное превосходство МК серии LPC17xx. Как видно из технической документации, в первую очередь это достигнуто за счет ускорителя флэш-памяти. Так, в микроконтроллере STM32F103 в ускорителе присутствуют всего два 64-бит регистра ранее выбранных значений. В МК 1986ВЕ91 на этапе разработки была реализована схема с одним 128-бит регистром ранее выбранных значений, аналогичная представленной на рисунке 1 структуре. Этот ускоритель имел характеристики, не намного превосходившие характеристики МК STM32F103. Однако с выходом на рынок МК LPC17хх стал очевиден достижимый потенциал производительности. В условиях жестких рамок уже готового проекта, находящегося на стадии разработки топологии, было принято решение о переработке ускорителя флэш-памяти с целью повышения его производительности. В результате в МК 1986ВЕ91 был реализован ускоритель, представленный на рисунке 5.

Рис 5. Структура ускорителя флэш-памяти МК серии 1986ВЕ91

В первую очередь, в ускорителе были разнесены в отдельные регистры ранее выбранные инструкции и данные, хранимые в коде программы. Это позволило не сбивать последовательность выборки инструкций при обращении к данным. Кроме того, было увеличено число хранимых в ускорителе ранее выбранных значений, а для инструкций и данных реализовано по два 128-бит регистра. Эти изменения позволили значительно повысить производительность МК серии 1986ВЕ91, но не позволили достичь показателей микросхем серии LPC17xx. Как следует из документации на МК NXP, в ускорителе флэш-памяти реализовано восемь 128-бит регистров ранее выбранных значений.
К сожалению, в связи с жесткими временными рамками в разработке микроконтроллеров серии 1986ВЕ91 дальнейшие работы по повышению производительности ускорителя флэш-памяти были остановлены, но в новой серии МК 1901ВЦ1 будут учтены все выявленные недостатки и реализованы новые идеи, позволяющие значительно повысить производительность.



Вы можете скачать эту статью в формате pdf здесь.
Оцените материал:

Автор: Сергей Шумилин, нач. отд. разработки цифровых интегральных схем, ЗАО «ПКК Миландр»



Комментарии

0 / 0
0 / 0

Прокомментировать





 

 
 




Rambler's Top100
Руководителям  |  Разработчикам  |  Производителям  |  Снабженцам
© 2007 - 2018 Издательский дом Электроника
Использование любых бесплатных материалов разрешено, при условии наличия ссылки на сайт «Время электроники».
Создание сайтаFractalla Design | Сделано на CMS DJEM ®
Контакты