RX200 — новый 32-битный чип компании Renesas

№ 7’2011
PDF версия
Недавно компания Renesas, один из ведущих мировых производителей микроконтроллеров (МК), анонсировала новое пополнение серии 32-битных чипов — RX200. «Младший брат» выпущенных более года назад RX62x и обновленных в ноябре RX63x создан для применений, в которых особенно важно низкое энергопотребление при высокой производительности и всех преимуществах 32-разрядной архитектуры, что вполне в духе тенденций рынка: «Минимум ватт — максимум MIPS».

Введение

Новые МК позиционируются производителем как замена широко используемых 8/16-битных серий H8S/M16C. Преимущества миграции на RX200 — на 66% меньшее потребление тока в рабочем и на 99% в спящем режимах, при этом производительность вырастет в 1,8 раза. Кроме того, особенности архитектуры и высокая вычислительная мощность RX200 позволяют значительно сократить время, необходимое для вычислений, таким образом увеличивая период, во время которого процессор может быть переведен в режим пониженного энергопотребления. То есть для этого процессора нужен не только меньший ток питания, но и в течение меньшего периода времени, а в результате общее снижение затрат энергии составляет почти 85%.

В то время как RX600 — это серия МК, предназначенная для приложений, требующих высоких показателей производительности (более 150 DMIPS), и работающая на частотах до 100 МГЦ, микроконтроллеры RX200 нацелены на использование там, где наиболее важно энергопотребление при высокой производительности (таблица).

Таблица. Сравнительные характеристики семейств RX200 и RX600

Характеристика RX200 RX600
Частота, МГц 50 100
Производительность 1,57 DMIPS/МГц 1,65 DMIPS/МГц
Очередь инструкций 32 бит × 4 64 бит × 4
Сопроцессор с одинарной точностью Есть
Количество устройств (зон) внешней памяти 4 8
Пространство SDRAM 1 канал
DMAC/DTC/EXDMAC 4 канала/1 канал/– 4 канала/1 канал/2 канала

Ключевые свойства

Производитель планирует развитие серии RX200 (в настоящий момент развивается семейство RX210) в различных группах приборов по трем направлениям: аналоговое (RX21A), общего назначения (RX21x) и USB (RX21U), с постепенным выводом новых моделей на рынок в течение 2011–2012 годов. Первая группа МК будет иметь более мощную аналоговую периферию, и ее основная особенность — наличие 24-битного АЦП. Приборы общего назначения по плану достигнут показателей вплоть до 1 Мбайт flash-памяти данных, 96 кбайт RAM-памяти программ и 144 выводов корпуса. Третья группа получит расширенные возможности по коммуникации. На данный момент под кодом RX210 готовятся к выпуску 28 моделей от 128/20 до 512/64 кбайт (flash/RAM) в 64/80/100-выводных корпусах.

Ключевые особенности серии:

  • Высокая производительность при малом потреблении:
    • широкий диапазон питающих напряжений — 1,62–5,5 В;
    • потребление 0,2 мА/МГц в рабочем режиме и 0,3–1,7 мкА в спящем режиме;
    • производительность при минимальном напряжении 1,62 В — 31,2 DMIPS при 20 МГц;
    • полная производительность, начиная с напряжения 2,7 В, — 78 DMIPS при 50 МГц;
    • очень компактный код (до 25% компактней, чем CortexM3).
  • Память на кристалле:
    • 128–512 кбайт (планируется до 1 Мбайт) flash-памяти программ, до 100 000 циклов перезаписи;
    • 20–64 кбайт SDRAM-памяти данных;
    • 8 кбайт энергонезависимой памяти.
  • Таймеры:
    • MTU2 — 6 каналов × 16 бит, многофункциональный таймер для управления двигателями;
    • CMT — 4 канала × 16 бит, счетный модуль;
    • TMR — 4 канала × 8 бит, таймер;
    • RTC — часы реального времени;
    • сторожевой таймер.
  • Последовательные интерфейсы:
    • до 6 SCI (SPI, I2S);
    • 1 SCIX (LIN, SPI, I2S).
  • Аналоговые интерфейсы:
    • 12-битный АЦП, 16 каналов, время конверсии 1 мкс;
    • 10-битный ЦАП, 2 канала;
    • 4-канальный компаратор.
  • Высококлассная периферия:
    • до 84 портов ввода/вывода;
    • минимизация внешних элементов — встроенные супервизор питания, ФАПЧ (PLL), часы реального времени, температурный сенсор, энергонезависимая E2Flash, 2 осциллятора (32/36,864/40/ 50 МГц и 125 кГц) (рис. 1);
    • возможность перенастройки функций внешних выводов;
    • функции самотестирования и проверки целостности (соответствует IEC 60730 Class B).
  • Совместимость:
    • по программному обеспечению и средствам разработки с RX600;
    • частичная аппаратная совместимость с RX600 и M16C.

Минимизация внешних элементов

Рис. 1. Минимизация внешних элементов

Бесспорно, одно из основных достоинств RX200 — это возможность работы при низких напряжениях питания, вплоть до 1,62 В. Тактовая частота при этом снижается по следующей схеме: 50 МГц — 2,7–5,5 В; 32 МГц — 1,8–2,7 В; 20 МГц — 1,62–1,8 В. Программирование/стирание flash-памяти также возможно при напряжении от 1,62 В. Целевой ток потребления в активном режиме работы процессора (50 МГц, 3 В) — 15 мА, 10 МГц, 3 В — 5 мА; в «глубоком» спящем режиме — 0,3 мкА, с применением часов реального времени — 1,3 мкА.

Архитектура ядра

Необходимо упомянуть и об оригинальной архитектуре ядра микроконтроллеров RX (серий 600 и 200). Это гибрид элементов классических CISC- и RISC-архитектур, ведь RX означает “Renesas eXtreme”. Идея, положенная в основу разработки ядра RX, состояла в том, чтобы получить преимущества гибкости и эффективности кода, характерные для CISC серий M16C/H8S, сохранив при этом производительность RISC-архитектуры. Для достижения этого было сделано немало.

Во-первых, к высокоскоростному ядру RISC-архитектуры были добавлены поддержка байтовых инструкций переменной длины и двойной указатель стека, а также встроенный делитель/умножитель. Вторым шагом стало определение оптимального числа регистров процессора (РОН). Использование РОН обеспечивает улучшение производительности как для арифметических, так и для управляющих операций, но дело в том, что чем больше регистров, тем больше сложность аппаратного обеспечения и количество бит в команде, необходимых для адресации одного регистра. Например, 8 регистров требуют всего лишь 3-битовой адресации, однако такое малое количество РОН значительно увеличит объем программного кода. С другой стороны, 32 регистра — это хорошо, но тогда необходимо 5 бит для адресации и большой объем аппаратных средств. В результате множества тестов был сделан вывод, что оптимально 16 РОН и 4 бита для адресации (рис. 2).

Оптимизация количества регистров процессора

Рис. 2. Оптимизация количества регистров процессора

Следующий шаг — улучшения в области базовых инструкций и режимов адресации, целью которых было уменьшение как количества инструкций, так и необходимого объема программного кода.

  • Было решено применить инструкции переменной длины, при этом проводились исследования, какие именно команды используются чаще всего. Им были сопоставлены более короткие машинные коды (рис. 3).
  • Частота использования определялась на реальных приложениях.
  • Сократилось количество инструкций — путем улучшения режимов адресации и принятия 3-операндного формата команд.
  • Изменению подверглись инструкции условного исполнения, сравнения, вызова подпрограмм и сложения, которые составляют около 40% всех исполняемых машинных команд.

Анализ частоты применения инструкций

Рис. 3. Анализ частоты применения инструкций

Благодаря увеличенному количеству регистров появилась возможность выделить несколько из них для хранения информации при обработке прерываний, за счет чего сокращается время выполнения программ и повышается быстродействие.

Еще одним улучшением, значительно повышающим производительность, стала модернизация структуры аппаратного конвейера. Во-первых, была использована гарвардская архитектура, для того чтобы обеспечить независимость и параллельность доступа к памяти данных и к памяти команд. Во-вторых, был внедрен 5-стадийный конвейер с возможностью завершения отдельных стадий вне очереди при исполнении несвязанных инструкций. Объясним это подробнее.

Конвейер обработки данных состоит из стадий, следующих одна за другой: выборка инструкции (IF), декодирование (D), исполнение (E), доступ к памяти (M), запись результатов (WB). Эти стадии построены таким «параллелизованным» образом, что когда одна часть ядра занята исполнением (E), другая часть работает над декодированием (D) следующей команды, а диспетчер занимается выборкой (IF) следующей, что позволяет минимизировать простои конвейера. Фокус оптимизации здесь направлен на четвертую стадию (M). Дело в том, что доступ к памяти требует значительно больше тактов, чем другие стадии. Поэтому в тех операциях, где есть стадия M, неизбежны значительные простои (S) остальных частей конвейера. Для устранения этого явления был введен принцип «выполнение вне очереди», который состоит в том, что если подряд исполняются несколько не связанных между собой операций, то конвейер не дожидается завершения стадии M текущей команды, а переходит к выполнению следующих, возвращаясь к текущей по завершении стадии M (рис. 4).

Усовершенствование конвейера

Рис. 4. Усовершенствование конвейера

Результаты усовершенствований

Эти улучшения являются не просто результатом стремления получить более «длинный мегагерц», чем у остальных производителей. Они прямо вытекают из анализа и требований рынка. Дело в том, что, являясь одним из ведущих мировых производителей МК, Renesas наблюдает и в некотором роде формирует тенденции в этой отрасли. Согласно исследованиям компании средний ежегодный рост рынка МК составляет 4,4%, однако прогнозируется снижение доли 8-битных МК в пользу 16/32-битных приложений. Это связано с нарастающей сложностью и разветвленностью процессов, которые необходимо контролировать с помощью встроенных систем, при этом возникают новые сетевые и телекоммуникационные технологии, для которых нужны более высокая частота и производительность.

В соответствии с этими требованиями рынка и были выдвинуты и решены задачи по усовершенствованию как архитектуры ядра, так и микроконтроллера в целом, включая периферию, управление энергопотреблением, тактовыми частотами, увеличение объема памяти данных и программ, инструменты для разработки, обеспечение обратной совместимости. Новые чипы изготавливаются по 130-нм процессу, что также положительно сказывается на производительности и энергопотреблении. По информации производителя, улучшение серии RX200 по сравнению с предыдущими сериями (H8S/M16C) составляет:

  • по максимальной частоте (в 2 раза) — 50 МГц;
  • по производительности (в 2 раза) — 1,56 MIPS/МГц;
  • по эффективности кода — до 30%;
  • по максимальному размеру flash-памяти — 1 Мбайт;
  • уменьшение потребления (1/3) — 0,02 мА/МГц.

Целевыми устройствами для использования RX210 являются: переносные измерительные приборы, портативное навигационное оборудование, счетчики энергоресурсов, медицинское оборудование, бытовая техника, системы кондиционирования и вентиляции.

Совместимость. Платформа для разработки

При проектировании семейства RX200 обязательным условием было обеспечение совместимости с предыдущими серями H8S, H8SX, M16C, R32C. Например, для записи данных может быть выбран порядок байтов как от младшему к старшему, так и наоборот: ядро поддерживает обе системы представления. Далее, для более легкого переноса функциональности периферии из существующих МК была создана новая платформа разработчика (MCU Development Platform), которая является дальнейшим расширением использовавшейся ранее платформы EXREAL.

Немаловажный аспект — то, что RX использует общие с предыдущими сериями инструменты разработки в составе пакета High-performance Embedded Workshop (HEW). Достаточно только установить соответствующий комплект дополнений для линейки RX. Это значит, что не придется заново обучать персонал, так как сохраняется единый интерфейс, приемы работы и наборы периферии, что минимизирует время разработки и упрощает переход на новую серию.

Дополнительно к HEW выпускается набор эмуляторов, позволяющих программировать целевые чипы. Для серии RX210 предлагаются модели E1 и E20. Первая из них является классическим внутрисхемным отладчиком с возможностью программирования flash-памяти (рис. 5). Интерес представляет hot-plug (со специальным адаптером): можно подключать отладчик прямо во время выполнения программы внутри микроконтроллера, что может быть полезно при выявлении некоторых редких проблем, не возникающих в обычных отладочных режимах. Интерфейс отладки — JTAG. Кроме семейства RX210, также поддерживаются некоторые другие серии МК Renesas (V850, RX600, RL78, R8C). Второй отладчик отличается возможностью отслеживания хода исполнения программы в реальном масштабе времени на 2 млн шагов (trace function). (В E1 функция представлена условно — всего 256 шагов.) Есть также возможность следить в реальном времени за памятью данных.

Внутрисхемный отладчик E1

Рис. 5. Внутрисхемный отладчик E1

Заключение

У компании Renesas получился хороший чип: малое потребление, неплохая производительность, богатая периферия — что еще нужно разработчику? Практика в очередной доказала пользу выпуска «младших братьев» более мощных продуктов (вспомним Celeron и Pentium компании Intel) — для промежуточных приложений, где более мощный МК может быть избыточен по цене либо потреблению. Теперь дело за технологами и маркетингом: отладить производство, сделать чип надежным, оснастить хорошими примерами и документацией (кое-что, кстати, уже доступно для скачивания), плюс реклама, продуманная ценовая политика и известный бренд — и хит продаж готов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *