Всегда верное решение!
ГАММА-САНКТ-ПЕТЕРБУРГ
Поставки электронных компонентов и модулей на рынки
России, стран СНГ и Прибалтики
Russian English
(812) 493-51-15
197101, Санкт-Петербург, Певческий пер., 12
(ст.м. "Горьковская"), БЦ "LIGHTHOUSE"

посмотреть на карте

(812) 493-51-15

Микропроцессорные 32-бит ядра MIPS для высокопроизводительных встраиваемых систем

Для производителей микропроцессоров и микроконтроллеров рынок становится теснее, но для разработчиков электроники появляется больше продуктов для осознанного выбора. Процессорные ядра M14K/M14Kc c системой команд microMIPS и особенно новейшая разработка – ядро microAptive дополняют существующие решения MIPS и ведут к укреплению конкурентных позиций против его серьезного конкурента – ARM.

На рынке 32-х разрядных процессоров для встраиваемых систем уживаются несколько игроков – компании ARM и MIPS одни из них. С начала основания компания ARM была нацелена на рынок встраиваемых систем, в то время как MIPS была сфокусирована на создании процессорных архитектур для высокопроизводительных рабочих станций и серверов (одно время компания MIPS была частью Silicon Graphics). Позднее компания ARM стала стремиться к более высокой производительности, потому что именно там самый большой рынок для ARM – рынок мобильных телефонов. Между тем MIPS начала стремиться в сторону меньших вычислительных мощностей, потому что там находится её крупнейший рынок – потребительская электроника.

Архитектуры, разработанные MIPS, занимают серьезную долю рынка сетевых и телекоммуникационных устройств. Компания MIPS имеет более 125 лицензиатов своих ядер, которые совместно производят более 600 миллионов процессоров каждый год. Откройте корпус спутниковой приставки, телевизора, DVD проигрывателя и вы в большинстве случаев обнаружите процессор на основе MIPS ядра. Процессоры MIPS так же широко применяются в сотовых базовых станциях, интернет роутерах, высокопроизводительных свичах, игровых приставках и др.

Для рынка встраиваемых систем MIPS предлагает несколько ядер, полностью совместимых снизу вверх. Для 32- битных микроконтроллеров, работающих в задачах реального времени, предназначены ядра M4K/M4KE, дальнейшее развитие этого семейства ядро M14K™ имеет microMIPS™ архитектуру сжатия набора команд, а ядро microAptiv дополнено функционалом цифровой обработки сигналов (ЦОС, DSP) с поддержкой множественного потока данных (Single Instruction Multiple Data – SIMD).

Рис. 1. Развитие 32-х разрядных ядер MIPS.

Ядро M4K. Сравнение с Cortex-M3

В 2002 компания MIPS Technologies представила ядро M4K – высокопроизводительное, синтезируемое ядро, оптимизированное для применения в микроконтроллерах. Ядро M4K лицензировало около 30- компаний и используется в мобильных телефонах, модемах, GPS приемниках, цифровых камерах и т.д., а так же является основой микроконтроллеров общего применения PIC32MX компании Microchip Technology Inc..

Ядро M4K разработано с набором функций, комбинация которых предоставляет лучшие в классе быстродействие и значительно превосходит предлагаемые компанией ARM ядра серии Cortex-M3.

Ядро M4K обеспечивает быстродействие 1.5 DMIPS/МГц, в то время как Cortex-M3 предлагает быстродействие примерно на 20% меньше (1.25 DMIPS/МГц, как показано на веб-сайте ARM). Быстродействие ядра ARM Cortex-M0 еще меньше и обеспечивает 0.9 DMIPS/МГц. Архитектура Cortex-M0 имеет так же ряд других ограничений. Для того чтобы выполнять код наравне с MIPS M4K, Cortex-M3 должен работать на частоте на 20% выше и, соответственно, потреблять больше энергии.

Достигнутые показатели архитектуры MIPS обеспечиваются, в том числе, следующими особенностями.

Ядро M4K имеет набор из 32-x 32-битных регистров общего назначения (РОН, GPR), число таких наборов может быть 1, 2, 4, 8 и 16. Эти наборы регистров сохраняют параметры и команды в чипе, снижая тем самым накладные расходы на пересылки в памяти, и освобождая командные циклы. Это имеет положительный эффект на увеличении производительности. Использование набора теневых РОН так же увеличивает быстродействие системы за счет уменьшения накладных расходов в обработчике прерывания. При возникновении прерывания или немаскированного прерывания (исключения) ядро определит какой теневой набор регистров будет использоваться, установит его как активный набор РОН и позволит выполняться программе с вектора прерывания. Этот процесс полностью устраняет необходимость сохранения и восстановления контекста при обработке прерываний. Это так же сохраняет содержимое РОН от изменения в прерываниях, уменьшает время обработчика прерывания и сохранение РОН в ОЗУ. Следует отметить, что в реализации ядра в контроллерах PIC32MX используется два набора 32-х разрядных РОН, а контроллеры с ядром Cortex-M3 имеют только один набор из 16 регистров.

Помимо 32-х битных инструкций MIPS32 ядро M4K поддерживает набор команд MIPS16e, состоящий из «наиболее востребованных» инструкций MIPS32 в их 16-и битном эквиваленте. Команды MIPS16e сжимают код в меньший размер памяти, сохраняя при этом высокий уровень производительности за счет снижения пропускной способности памяти и времени выполнения команд. Применение расширения системы команд MIPS16e™ (Application Specific Extension – ASE) уменьшает размер кода до 40%.

Системный Со-Процессор (System Co-Processor – CP0) это уникальный модуль для MIPS архитектуры, который ответственен за преобразование адресов из виртуальной памяти в физическую, систему контроля исключений, диагностику ядра, режимы работы (Kernel, User и Debug) и состояние контроллера прерываний.

Конвейер ядра в M4K имеет 5 стадий, в то время как ядро Cortex-M3 имеет 3-х стадийный конвейер. Большая длинна конвейера дает возможность выполнять больше инструкций в секунду, с другой стороны, увеличивает время реакции на прерывания. Однако, как рассмотрено выше, наличие в M4K нескольких наборов РОН, позволяет существенно снизить накладные расходы на сохранение / восстановления контекста в обработчике прерываний.

В ядре M4K все операции сдвигов выполняются за один цикл. Специальная логика (Bypass logic) включена в работу конвейера и предоставляет быстрый доступ к данным для использования в следующих инструкциях до того, как команда пройдет весь конвейер. Производительность улучшается в результате уменьшения числа циклов, необходимых для выполнения конкретной задачи.

Рассмотрим два примера Си кода.

Пример 1. Пример 2.
c = a/b;



d = c+d;
c = a/b;
mPORTESetBits(BIT_0);
z = x + y;
U1TXREG = z;
d = c+d;

Примечание. Примеры скомпилированы при максимальном уровне оптимизации -О3. Проверка проведена на контроллере PIC32MX.

Оба примера выполняются ядром MIPS M4K за одно и то же время, что достигается за счет высокопроизводительной реализации модуля Умножения и Деления.

Модуль Умножения и Деления (Multiply Divide Unit – MDU) выполняет умножение 32x16 бит (или MAC- инструкцию) за один цикл, а операцию умножения 32x32 бит выполняет за 2 цикла.

Модуль MDU это выделенный вычислительный блок, имеющий собственный конвейер и работающий независимо от конвейера выполнения команд ядра. Любая команда умножения и деления попадает напрямую в MDU, а следующая инструкция (не MDU) в конвейер ядра, тем самым обеспечивается параллельное выполнение команд без задержек (кроме случая, когда следующая за MDU инструкция должна использовать результат предыдущей MDU команды). Так как ядро M4K имеет два конвейера, то программист имеет возможность распараллелить процессы, например пересылку данных и MDU инструкции и тем самым получить существенный выигрыш в быстродействии.

Вернемся к приведенным выше примерам. Второй пример отличается от первого тем, что результат деления используется не сразу, а через несколько команд. Так как операция деления выполняется за несколько итераций и в зависимости от знака и значения делимого занимает от 11 до 33 тактов, то это время можно занять командами, не использующими MDU.

Модуль MDU особенно востребован в задачах ЦОС, таких как Быстрое Преобразование Фурье, реализации КИХ и БИХ фильтров, которые часто применяются в промышленных применениях и задачах связи.

Поддержка в M4K инструкций подсчета количества старших нулевых битов (CLZ) и количества старших единичных битов (CLO), так же позволяет ускорить выполнение ЦОС- алгоритмов.

Как пример возможностей ускорения задач ЦОС, PIC32 выполняет 256-точечное 16-и разрядное по основанию 4 БПФ за 22тыс. циклов (283мкс при 80МГц тактовой частоты), что на 14% быстрее контроллера STM32 на базе ядра Cortex-M3 [1].

Лицензируемое, синтезируемое ядро MIPS32 M4K нацелено на недорогие, малопотребляющие встраиваемые приложения. Задачи ЦОС так же часто востребованы в такого рода приложениях. Ядро M4K может успешно выполнять как контроллер-ориентированные задачи, так и задачи, связанные с цифровой обработкой сигналов.

В сравнении со своим основным конкурентом Cortex-M3, MIPS32 M4K имеет большее быстродействие, меньше площадь кристалла и меньшее потребление (при сборке ядра с оптимизацией по площади [2].

При реализации по тех.процессу 180нм, M4K потребляет на 65% меньше и дает в два раза больше эффективности потребления энергии чем Cortex-M3 при той же тактовой частоте [1].

Несколько слов о ядре Cortex-M0 (CM0).

Cortex-M0 реализует вариант ARM архитектуры, называемой ARMv6, предшествующей той, что реализована в Cortex-M3. Ядро CM0 имеет 3-ступенчатый конвейер, и имеет даже меньшую производительность 0,9 DMIPS / МГц, чем Cortex-M3. Ядро CM0 работает с обоими типами инструкций Thumb и Thumb-2 общим числом 56, и только шесть из них 32-битные инструкции. Ядро CM0 не поддерживает атомарных инструкций. В большинстве случаев код, написанный для Cortex-M3, не будет выполняться на Cortex-M0 без модификаций.

Ядро CM0 вернулось к Фон-Неймовской архитектуре, той же, что реализована в ARM7. Cortex-M0 не поддерживает локальную память, вместо этого доступ к коду и данным осуществляется из основной памяти через AHB шину, что существенно снижает производительность за счет дополнительных циклов ожидания, требуемых до завершения передачи данных. В завершение, ядро Cortex-M0 содержит порядка 24тыс. вентилей. Однако, несмотря на сравнительно малый размер, в Cortex-M0 отсутствуют многие возможности, которые являются стандартными в оптимизированном ядре M4K, содержащего порядка 33тыс. вентилей, причем производительность Cortex-M0 существенно ниже (0,9 DMIPS / МГц против 1.5DMIPS). Таким образом, незначительный выигрыш в площади кристалла дает существенные потери в производительности и функциональности.

В таблице 1 сведены параметры по оценке физических параметров архитектур MIPS M4K и ARM Cortex-M3 при реализации на одинаковых техпроцессах. Интересным фактом является то, что оптимизированное по площади ядро M4K, при той же тактовой частоте 100МГц что и оптимизированный по быстродействию Cortex-M3, имеет на 75% меньше площадь кристалла и на 58% меньшее потребление.

Таблица 1. Сравнения ядер MIPS M4K и ARM Cortex-M3.

Ядро M4K Cortex-M3
DMIPS/МГц 1.5 1.25
CoreMark/МГц 3.11 1.06-1.9
Оптимизация ядра По быстродействию По площади По быстродействию По площади
Максимальная тактовая частота, МГц 228 100 135 50
Площадь кристалла, мм2 0.64 0.185 0.74 0.38
Типовая мощность, мВт/МГц 0.214 0.066 0.165 0.084

PIC32MX больше чем M4K?!

Одним из лицензиатов процессорных архитектур MIPS является компания Microchip Technology Inc., которая на основе ядра MIPS M4K производит семейство контроллеров PIC32MX, краткие характеристики которых приведены в таблице 2.

Таблица 2. Семейство контроллеров PIC32MX.

Микроконтроллер Тактовая частота, МГц Размер памяти Flash/RAM, кБ Число выводов UART/SPI/I2C USB CAN Ethernet PPS I2S/AC97
PIC32MX1xx 40/50 16-128 / 4-32 28-44 2/2/2 - - - да да
PIC32MX2xx 40/50 16-128 / 4-32 28-44 2/2/2 FS Host/OTG - - да да
PIC32MX3xx 100 32-512/ 16-128 64-100 2/2/2 - - - да да
PIC32MX4xx 100 64-512/ 16-128 64-100 2/2/2 FS Host/OTG - - да да
PIC32MX5xx 80 64-512/ 16-64 64-100 6/3/4 FS Host/OTG да - - -
PIC32MX6xx 80 64-512/ 32-128 64-100 6/3/4 FS Host/OTG - да - -
PIC32MX7xx 80 128-512/ 32-128 64-100 6/4/5 FS Host/OTG да да - -

Синтезируемые ядра MIPS позволяют создавать микроконтроллеры и добавлять ряд пользовательских функций. Разрабатывая PIC32MX – сложную систему на кристалле (system-on-chip – SoC), компания Microchip внесла ряд функциональных улучшений относительно базового ядра M4K. К таким улучшениям относятся Кэш инструкций, Шинная матрица (Bus Matrix), Контроллер прерываний и интерфейс отладки ICSP.

Буфер и Кэш предвыборки инструкций

В PIC32 приложение может выполняться как из внутренней флэш-памяти, так и из внутреннего ОЗУ, которое можно динамически разделить на области программ и данных.

В высокоскоростных процессорах узким местом, снижающим быстродействие, является Flash память программ, с её ограничениями на время доступа. Семейство PIC32MX имеет флэш-память с 128-и битной шиной, которая позволяет за одно обращение выбирать четыре 32-битных инструкции, что соответствует выборке из Flash памяти с учетверенной скоростью. Однако, даже при наличии 128-битного буфера предвыборки, выполнение инструкций с тактовой частотой ядра не представляется возможным, так как реальное приложение содержит ветвления и повторяющиеся инструкции, а так же производит чтение данных из флэш-памяти.

Поэтому в архитектуру PIC32MX был введен конфигурируемый кэш предвыборки, состоящий из 16 128-битных строк, из них 4 строки могут использоваться в качестве кэша данных, что полезно при обработке массивов данных.

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

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

На многих задачах с плавающей точкой PIC32MX работает существенно быстрее, чем, например Cortex-M3. Диаграмма на рис. 2 демонстрирует нормированное, приведенное к одной частоте время выполнения алгоритмов работы с плавающей точкой на контроллерах Cortex-M3 (Thumb2) относительно PIC32MX (источник: http://www.smxrtos.com, данные для Cortex-M3 приведены для STM32F103VBT6 и компилятора Keil v4.13; для LM3S8962 и компилятора IAR v5.20; для PIC32 используется GNU компилятор). Диаграмма показывает, что при использовании библиотек плавающей точки в компиляторах Keil и IAR архитектура Cortex-M3 существенно проигрывает MIPS32 M4K и в частности контроллерам PIC32MX.

Рис. 2. Сравнение времени выполнения алгоритмов с плавающей точкой для PIC32 и контроллеров, на базе Cortex-M3.

Контроллеры PIC32 являются лидерами в своем классе по производительности. Одно и то же приложение занимает меньше памяти и выполняется быстрее, что позволяет уменьшить тактовую частоту процессора, обеспечив меньше потребление.

Bus Matrix- Шинная Матрица

Процессоры PIC32MX имеют две раздельные шины: (CPU IS) – для выборки инструкций и (CPU DS) – для выборки данных.

Для подключения периферийных устройств PIC32MX содержат две внутренние шины. Одна периферийная шина соединяет большинство периферийных модулей. Другая – высокоскоростная – соединяет контроллер прерываний, контроллер Прямого Доступа к Памяти (ПДП, DMA), канал внутрисхемной отладки и шину высокоскоростной периферии.

Шинная матрица соединяет Ведущие устройства (так же называемые Инициаторами) к Ведомым устройствам (Target). Процессоры PIC32MX имеют до пяти Инициаторов и три Ведомых (Flash, RAM и низкоскоростная периферия).

Инициаторы, всегда присутствующие в PIC32, это Шина Инструкций (CPU IS), Шина Данных (CPU DS), шина внутрисхемного отладчика (ICD) и контроллер ПДП (DMA). Некоторые PIC32MX так же содержат Интерфейс Расширения Инициаторов (Initiator Expansion Interface – IXI), которые подключают высокоскоростную периферию – USB, Ethernet и т.п.

Шинная матрица является специальным переключателем, который обеспечивает одновременный множественный доступ между различными ведущими (Masters) устройствами на шинах, которые обращаются к разным адресатам. На рис. 3 приведен пример, когда шинная матрица обеспечивает параллельный доступ к различным адресатам: Ядро процессора извлекает команду из Flash памяти, Контроллер DMA соединен с низкоскоростной периферией (UART), а высокоскоростной интерфейс USB подключен к ОЗУ.

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

Рис. 3. Шинная матрица, обеспечение параллельной работы.

DMA интерфейс

Контроллер DMA предназначен для передачи данных между блоками памяти и периферийными модулями без участия ядра контроллера.

Семейство PIC32MX имеет до 8-и идентичных каналов DMA, которые могут использоваться как для передачи данных между периферией и памятью, так и для переноса данных между блоками памяти. Дополнительно в PIC32MX присутствует до 8 выделенных каналов DMA для работы с высокоскоростной периферией (USB, Ethernet, CAN).

Контроллер DMA позволяет обеспечивать транзакции на уровне слов и байтов. В последнем случае выравнивания по слову данных не требуется. Арбитраж доступа осуществляется на основании фиксированных приоритетов каналов.

Два канала DMA могут быть объединены в цепочку – после окончания передачи ведущего канала автоматически запускается ведомый канал.

Каналы могут работать в двух адресных режимах: нормальном и расширенном. В нормальном режиме объем передаваемых данных ограничен 256 байтами, но допустима транзакция по не выравненному адресу и передача типа «память-периферия». В расширенном режиме адресации объем передаваемых данных может достигать 64 кБ.

Контроллер DMA имеет в своем составе модуль вычисления циклического избыточного кода (CRC), который может быть подключен к любому каналу. Модуль позволяет вычислять CRC любой разрядности с произвольным полиномом.

Набор теневых регистров

В процессорах PIC32MX реализовано два набора Регистров Общего Назначения (РОН, General Purpose Registers – GPR). Второй набор предназначен для использования с высокоприоритетными прерываниями. Этот дополнительный набор РОН так же называется теневым набором регистров (shadow register set). Когда происходит высокоприоритетное прерывание, процессор автоматически переключается на теневой набор РОН без вмешательства программы. Это снижает задержку в обработчике прерывания на сохранение контекста и уменьшает время реакции на прерывание. Набор теневых регистров управляется регистрами системного сопроцессора (System Coprocessor – CP0), а так же контроллером прерываний.

Контроллер прерываний

Ядро M4K поддерживает три варианта реализации контроллера прерываний: совместимый с ранней реализацией MIPS32 Release 1; векторный; внешний контроллер прерываний. Векторный контроллер прерываний в M4K поддерживает только восемь приоритетных прерываний, поэтому в SoC PIC32MX реализован внешний векторный контроллер прерываний, аналогичный применяемым в 16-и разрядных контроллерах Microchip (PIC24 и dsPIC).

Контроллер прерываний в PIC32MX обладает следующими характеристиками:

  • время реакции на прерывание – не более 5 тактов генератора
  • до 96 источников прерываний
  • до 64 векторов прерываний
  • каждый вектор прерывания может иметь приоритет от 1 до 7
  • каждый вектор прерывания может иметь дополнительный приоритет от 0 до 3
  • теневой набор РОН для обслуживания высокоприоритетного прерывания
  • конфигурируемое положение векторов прерываний
  • конфигурируемая дистанция между векторами прерываний
  • возможность программной генерации любого прерывания
  • таймер отложенных прерываний

В контроллере прерываний PIC32MX векторов прерываний меньше чем источников, поэтому часть источников прерываний используют один вектор. Как правило, это прерывания одного периферийного модуля. Приоритеты назначаются пользователем не источнику прерывания, а вектору.

Вектора с приоритетами 7 могут использовать дополнительный набор РОН, что позволяет снизить время входа в функцию обработки прерывания, так как в этом случае контекст сохранять не требуется.

Интересной особенностью контроллера прерываний является наличие таймера отложенных прерываний. Для использования этого таймера необходимо установить его период (32-битный регистр) и приоритет прерывания таймера. При возникновении запроса на прерывание все источники с приоритетом ниже или равным приоритету таймера запустят этот таймер. Как только значение таймера будет равно нулю, установится флаг источника прерывания, запустившего таймер.

Процессоры PIC32MX являются системой на кристалле. Аналогично и процессоры на базе Cortex-M3 нужно рассматривать не как «голое» ядро, а как систему со своими особенностями. Рассмотрим отличия контроллеров прерываний, реализованных в SoC PIC32 и некоторых из System on Chip на базе Cortex-M3 (C-M3). Ядру Cortex-M3 требуется 12 циклов для сохранения контекста. Однако, в практических реализациях процессоров ситуация несколько иная. Так, в SoC на базе C-M3, обработчику прерываний нужно от 18 до 28 циклов на вход в прерывание (см. рис. 4). Время входа в обработчик прерывания состоит из: 6 циклов реакции на прерывание и синхронизации периферийной шины SoC; автоматического сохранения контекста ядра C-M3 (сохранение регистров r0-r3, r12, LR, PC) за 12 циклов; и полного сохранение контекста – еще 10 циклов (сохранение регистров r4-r11, r13, r14).

Рис. 4. Различие во времени входа в прерывание для «голого» ядра Cortex M3 и практических реализаций контроллеров на базе Cortex-M3.

При обработке высокоприоритетного прерывания, как писалось выше, в PIC32MX используется набор теневых РОН, поэтому не требуется сохранение и восстановление контекста. На вход в прерывание требуется только 11 циклов (рис. 5).

Рис. 5. Обработка высокоприоритетного прерывания в PIC32MX.

При обработке низкоприоритетных прерываний процессору PIC32 требуется 28 цикла (см. рис. 6). Время обработчика низкоприоритетных прерываний состоит из: 5 циклов реакции на прерывание и синхронизации периферии; 5-6 циклов для автоматического сохранения регистров ядра и 13 циклов на сохранение контекста.

Рис. 6. Сравнение обработчика прерываний для PIC32MX и контроллеров на базе Cortex M3.

Только простой обработчик прерываний выигрывает от автосохранения контекста в Cortex-M3. Компиляторы Си автоматически сохраняют контекст при вызове функций и использовании регистров, поэтому общее время обработчика прерывания становится больше.

Рассмотрим случай, когда начата обработка одного прерывания и поступает второе прерывание с таким же приоритетом. Автосохранение контекста в SoC Cortex-M3 в таком случае не эффективно (см. рис. 7), поэтому применяется специальный механизм цепочек.

Рис. 7. Вариант автосохранения контекста без использования цепочек.

Механизм цепочек уменьшает задержку между обработкой двух прерываний, запрещая автосохранение контекста (рис.8).

Рис. 8. Механизм цепочек в SoC Cortex-M3.

Архитектура PIC32MX не требует специальных механизмов для обработки нескольких прерываний. Всего 3 дополнительных цикла требуется для обработки двух прерываний в многовекторном режиме.

Рис. 9. Сравнение обработки последовательных прерываний в PIC32MX и SoC Cortex-M3.

Интерфейс отладки ICSP –

Помимо стандартного для архитектуры MIPS интерфейса JTAG в PIC32 добавлен интерфейс отладки ICSP, присутствующий во всех PIC-микроконтроллерах Microchip, что обеспечивает совместимость отладочных средств и программаторов с остальными семействами контроллеров.

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

Для тех же, кто имеет JTAG отладчики, остается возможность отладки через этот интерфейс.


Продолжение следует…

В следующей части статьи рассмотрим дальнейшее развитие платформы MIPS для встраиваемых решений и решения задач цифровой обработки сигналов – ядро MIPS microAptiv, его сравнение с Cortex-M4, а также основанное на MIPS microAptiv следующее поколение микроконтроллеров Microchip – PIC32MZ с производительностью до 330DMIPS.

Литература:

  1. Beyond the Hype: MIPS® - the Processor for MCUs. MIPS Technologies Inc.
  2. An Independent Analysis of the: MIPS Technologies MIPS32® M4K® Synthesizable Processor Core. Berkeley Design Technology, Inc.
  3. www.microchip.com
  4. www.arm.com
Регистрация e-mail на получение новостей ::

Статьи для разработчиков

Новости производителей