Выпуск #8/2010
Д.Козлов-Кононов.
Процессорные ядра семейства Cortex. Сочетание высокой производительности и низкого энергопотребления
Процессорные ядра семейства Cortex. Сочетание высокой производительности и низкого энергопотребления
Просмотры: 19201
Стремительное развитие мобильных устройств и “умных” бытовых приборов заставляет нас по-новому взглянуть на перспективы экономичных RISC-процессоров. Стоимость, энергоэффективность, габариты и функциональные возможности новых устройств порой просто не допускают использования «универсальных» процессоров компании Intel и требуют более «частных» решений, ориентированных на применение в различных устройствах. В этой связи стоит обратить внимание на процессоры на основе ядер семейства Cortex, которые сегодня широко применяются в потребительской электронике – КПК, мобильных телефонах, цифровых носителях информации и плеерах, портативных игровых консолях, калькуляторах и компьютерных устройствах, таких как НЖМД или маршрутизаторы.
Первое серийное ARM процессорное ядро ARM2 было создано компанией ARM Holdings (Великобритания) в 1986 году. Оно имело самую простую и недорогую на тот момент 32-бит RISC-архитектуру: в ней отсутствовали не только кэш-память, что было нормой для многих процессоров того времени, но и микропрограммы. Цель создания такой архитектуры – повышение быстродействия за счет максимального упрощения инструкций фиксированной длины и сокращения их числа (RISC). В отличие от традиционных CISC-процессоров, микросхемы на основе ARM-ядра исполняли микрокод, как и любой другой машинный код, путем преобразования его в простые инструкции.
Компания ARM Holdings не производит процессоры, а лишь разрабатывает и лицензирует свою технологию процессорных ядер для сторонних фирм, таких как Atmel, Cirrus Logic, Marvell, NXP, Samsung, Qualcomm, Sony Ericsson, Texas Instruments, Broadcom и др., которые, собственно, и занимаются промышленным производством микросхем. По данным компании ARM, в 2008 году по ее лицензиям было произведено свыше 10 млрд. микропроцессорных ядер [1]. В 2009 году на ARM процессорные ядра приходилось до 90% всех встроенных 32-разрядных RISC-процессоров. В 2010-м ARM ядра можно было найти в 95% мобильных телефонов.
Процессорные ядра Cortex — результат прогрессивного развития классической архитектуры ARM. Благодаря более высокой производительности, менее сложной модели программирования, прекрасной системе обработки прерываний и низкой цене архитектура Cortex становится все более популярной. И сегодня процессорные ядра Cortex – это семейство со стандартизированной архитектурой, предназначенное для решения широкого круга технологических задач.
В семействе Cortex реализуются три подсемейства:
Cortex-M – для микроконтроллерных и недорогих встроенных приложений;
Cortex-A – для высокопроизводительных приложений;
Cortex-R – для приложений реального времени.
Нумерация после буквы означает относительную градацию вычислительной мощности микросхемы семейства.
Процессорные ядра ARM Cortex-M
Подсемейство ARM Cortex-M – совместимые снизу вверх энергоэффективные, простые в применении процессорные ядра, призванные помочь разработчикам выполнять требования будущих встраиваемых приложений, т.е. позволяющие предоставлять больше функций при меньшей стоимости, увеличить возможности взаимодействия, улучшить повторное использование кода и обеспечить энергоэффективность. Каждое процессорное ядро серии Cortex-M имеет свои специфические достоинства, но все выполнены на основе фундаментальной технологии, благодаря которой они перспективны для большого ряда встраиваемых приложений. Процессорные ядра подсемейства Cortex-M находят применение в микроконтроллерах и устройствах смешанной обработки сигнала, применяемых в интеллектуальных измерительных приборах, пользовательских интерфейсах, автомобильных и промышленных системах управления, предметах домашнего обихода, бытовой технике и медицинском оборудовании, к характеристикам которых предъявляются специфические требования.
Сortex-M3 – первое процессорное ядро, которое и дало имя семейству Cortex, было представлено потребителям в 2004 году [1, 2 ]. При создании Сortex-M3 ставилась задача замены ядра ARM7TDMI, которое использовалось во множестве высокопроизводительных микроконтроллеров. Основа 32-бит Сortex-M3 процессора — ядро с Гарвардской архитектурой и трехступенчатым конвейером, что обеспечивает предсказание переходов, однотактное умножение и аппаратно реализуемое деление. Неотъемлемые элементы архитектуры Сortex-M3 — блок вложенных прерываний, отладочная система и предопределенная организация памяти (рис.1). При создании ядра Сortex-M3 в базовую ARM-архитектуру было внесено множество изменений. Так, компания отказалась от ARM-режима, тогда как все предыдущие ядра имели два режима работы – ARM и Thumb, каждый с набором 32- и 16-разрядных инструкций, соответственно. У Сortex-M3 предусмотрена поддержка набора ARM Thumb-2 инструкций. При этом в набор Thumb-2 внесено 130 дополнительных команд. Thumb-2 позволяет добиться плотности кода, свойственной 16-бит набору инструкций Thumb, т.е. получить в среднем выигрыш в 20–30% по сравнению с 32-бит ARM-набором при снижении производительности всего на единицы процентов. Исключается необходимость переключения между режимами ARM и Thumb, что позволяет обойтись без блока переключения. Процессоры с набором инструкций Thumb-2 способны создавать код намного быстрее, проще и эффективнее, чем при работе с ARM-набором инструкций.
Важное нововведение в Cortex-M3 – возможность аппаратного выполнения операции деления. (До появления семейства Cortex в ARM-ядрах предусматривались операции умножения и умножения с накоплением с 64-бит результатом.) И хотя операция деления занимает немало тактов процессорных ядер, она выполняется быстрее, чем отдельная подпрограмма. Кроме того, Cortex-М3 может оперировать с невыровненными данными (unaligned data), что также отличает его от предшествующих архитектур ARM и поддерживает битовые операции (bit banding). Еще один ключевой компонент ядра Cortex-M3 – контроллер векторизованных вложенных прерываний (КВВП), предоставляющий для всех Cortex-микроконтроллеров стандартную структуру прерываний и способы их обработки. Конфигурируемое ядро Cortex-M3 соединяется с периферией посредством шины Advanced High-PerformanceBus (AHB), что позволяет разработчику с легкостью подключать к нему собственные подсистемы.
Благодаря этим нововведениям применение процессорных ядер Cortex-М3 стало рентабельным даже в самых простых приложениях (табл.1) [3].
Один из наиболее известных производителей микросхем на базе Cortex-M3 – компания Actel (теперь входит в корпорацию Microsemi) [4], которая выпустила «интеллигентную» микросхему смешанной обработки сигнала SmartFusion, в которой впервые были объединены FPGA, процессорное ядро ARM Cortex-М3 и программируемые аналоговые устройства.
Cortex-M1 – процессорное ядро, разработанное в начале 2007 года совместными усилиями компаний ARM и Actel (рис.2) и оптимизированное для реализации в FPGA [5]. Ядро предназначено для применения во всех основных FPGA-платформах. В нем предусмотрена поддержка ведущих средств синтеза FPGA, что позволяет проектировщику выбирать оптимальную конструкцию проекта. Cortex-M1 поддерживает трехстадийную 32-бит очередь команд и работает с несколько модифицированным набором команд Thumb-2. Микропроцессорное ядро, как утверждается, будет способно исполнять и код Thumb и таким образом будет программно совместимо с ARM7TDMI. Cortex-M1 обеспечивает существенную экономию затрат за счет рационализации расходов на программное обеспечение и инструментарий для многих проектов по созданию FPGA, ASIC и ASSP-микросхем. При этом благодаря применению стандартизированного в промышленности процессорного ядра разработчики систем все меньше зависят от поставщика требуемых компонентов.
Рабочая частота процессора на основе ядра Cortex-M1 и занимаемая им площадь зависят от используемой FPGA-платформы. Для FPGAProASIC3 и Actel Fusion, изготавливаемых по 130-нм технологии, эти параметры лежат в пределах от 70 МГц и 4300 логических ячеек, соответственно. Для FPGA Stratix-III и Virtex-5 компаний Altera и Xilinx, изготавливаемых по 65-нм технологии, — до 200 МГц и 1900 логических ячеек*. Производительность Cortex-M1 при частоте 170 МГц составляет 0,8 DMips/МГц (производительность по эталонному тесту Dhrystone).
Компания Actel поставляет программные продукты SmartDesign, CoreConsole и SoftConsole для разработки и отладки приложений, а ARM предлагает пакет разработки RealView, существует и большое число компаний, которые разрабатывают собственные пакеты программ для работы с процессорным ядром ARM.
Основные области применения Cortex-M1 – контрольно-измерительные встраиваемые системы, сетевое и телекоммуникационное оборудование.
Cortex-M0 (рис.3) – ядро подсемейства Cortex-M,
обеспечивающее самые малые размеры, самую низкую мощность и самое большое энергосбережение процессора, появилось в начале 2009 года [6]. Cortex-M0 процессор, выполненный по сверхмаломощной универсальной технологии TSMC потребляет всего 85 мкВт/МГц, занимая площадь менее 12 тыс. логических вентилей. Малое энергопотребление, небольшое число логических вентилей и компактный код, по словам разработчика, позволяют создать 32-разрядный процессор по цене 8-разрядного изделия. Важным достоинством с точки зрения экономии средств является совместимость с Cortex-M3 на уровне инструментов разработки и бинарных файлов.
Cortex-M0 скорее всего найдет применение не в последних технических новинках, а в устройствах, которые мы привыкли видеть вокруг себя каждый день. Это медицинская аппаратура, электронные счетчики, системы освещения и управления, игровые устройства, компактные источники питания, регуляторы мощности и блоки управления электроприводами, аналоговые устройства повышенной точности и сетевое оборудование IEEE 802.15.4 (ZigBee) и Z-Wave. Стоит отметить и возможность применения Cortex-M0 в инструментах, содержащих как аналоговые, так и цифровые элементы, например в «умных» датчиках и исполнительных механизмах.
Cortex-M4 (рис.4) – последняя на сегодняшний день разработка в подсемействе Cortex M [7]. Это встраиваемое процессорное ядро компания ARM представила в феврале 2010 года. Ядро разработано для систем, требующих простое в применении устройство, сочетающее функции управления и цифровой обработки сигнала. Cortex-M4 отличается поддержкой однотактной операции умножения с запоминанием за один такт и оптимизированной арифметики,
Площадь Cortex-M4 процессора, его частота и потребляемая мощность зависят от технологического процесса изготовления, используемой библиотеки элементов и параметра, по которому он оптимизирован (быстродействие или размер) (табл.2).
Благодаря высокоэффективной цифровой обработке сигнала, малому энергопотреблению, низкой стоимости и простоте применения микросхемы на основе подсемейства Cortex-M перспективны для применения в системах электроприводов, автомобильной электроники, систем регулирования мощности, встраиваемых аудиоустройств и промышленных средств автоматизации.
Одной из первых лицензии на использование новых процессорных ядер Cortex-M0/3/4 приобрела компания NXP Semiconductors, которая уже выпустила процессоры LPC1100 на основе ядра Cortex- M0 и LPC4000 на основе ядра М4*.
Процессорные ядра Cortex-A
Процессорные ядра подсемейства Cortex-A предназначены для работы с открытыми ОС и содержат модуль управления памятью (MMU), обеспечивающий виртуальную адресацию и защиту памяти. Применяются они в самых разнообразных устройствах, работающих под управлением операционных систем высокого уровня – от простейших мобильных телефонов до устройств цифрового телевидения. В подсемейство входят ядра:
– популярное Cortex-8;
– масштабируемое Cortex-A9;
– экономичное Cortex-A5;
– высокоэффективное Cortex-15 (табл.3).
Прикладную совместимость процессорных ядер Cortex-A обеспечивает поддержка традиционного набора команд Thumb и высокоэффективного и компактного набора команд Thumb-2.
Cortex-A8 (рис.5) [8] – первое процессорное ядро серии Cortex-A. Было представлено потребителям в 2005 году [1]. Ориентировано на решение задач, требующих высокого быстродействия, невысокого энергопотребления и малого тепловыделения (что особенно важно, поскольку предоставляет возможность дальнейшей миниатюризации мобильных устройств). Cortex-A8 процессор содержит двойной симметричный конвейер с упреждающей выборкой, суперскалярное микропроцессорное ядро, 13-ступенчатый целочисленный конвейер, L1 кэш-память объемом до 32 Кбайт. Cortex-A8 – первое ядро, в архитектуру ARMv7 которого включены новые появившиеся к моменту его реализации технологии: блок NEON для обработки медиаданных и сигналов и блок, поддерживающий новое поколение технологии Jazelle-RCT (Runtime Compiler Target – поддержка динамических компиляторов). Кроме того, в Cortex-A8 реализованы и другие блоки, присущие рассматриваемому семейству,– блок TrustZone для обеспечения целостности данных, Thumb-2 и архитектура обработки данных с плавающей запятой VFPv3. Интегрирована L2 кэш-память емкостью от 0 до 2 Мбит в зависимости от исполнения. Наличие L2 кэша, благодаря которому удалось существенно снизить не только число обращений к памяти и циклов ожидания, но и число конфликтов по главной системной шине, обеспечило рост производительности микросхемы. Процессоры на основе ядра Cortex-A8 в зависимости от конкретной реализации отличаются большим диапазоном характеристик – от высокого быстродействия (до 2000 DMips) для быстродействующих бытовых устройств, до потребляемой мощности (менее 300 мВт) для маломощной бытовой техники.
NEON-блок обработки аудио-, видео- и графических данных имеет 64/128-бит гибридную SIMD-архитектуру. Он содержит собственный регистровый файл и исполнительный конвейер, отделенные от основного целочисленного конвейера ядра. Конвейер NEON-блока работает с плавающей запятой и целыми числами. Он поддерживает операции с невыровненными данными и обеспечивает простую загрузку перемежающихся данных, хранимых в структурированном виде. Благодаря наличию NEON-блока Cortex-A8 процессор при тактовой частоте 275 МГц может декодировать видеопоток VGA MPEG-4 (в том числе спецэффекты, преобразования YUV2RGB и т.п.) со скоростью 30 кадров/с, а при частоте 350 МГц – H.264 видеоданные [9]. Кроме того, NEON-блок может обрабатывать и традиционные данные, что позволяет осваивать новые алгоритмы и новые приложения путем загрузки новых программных средств.
Технология Jazelle-RCT, реализованная в Cortex-A8, позволяет сократить размер Java-программ до 70% за счет динамического преобразования (Just-In-Time, JIT) байт-кода, что повышает скорость и снижает энергопотребление, а также позволяет сократить на одну треть объем требуемой памяти.
Модуль TrustZone обеспечивает сохранение конфиденциальности данных и управление правами доступа к данным мобильных телефонов, карманных компьютеров, телевизионных приставок, работающих с открытыми ОС. До 32 увеличено число регистров подсистемы вычислений с плавающей запятой (VFPv3). Для вычислений с двойной точностью, реализованы инструкции преобразования чисел с плавающей и фиксированной запятой.
Несмотря на «почтенный» по меркам современной электроники возраст, процессорное ядро Cortex-A8 активно лицензируется производителями. Так, в июне 2010 года компания Texas Instruments объявила о выпуске на базе ядра ARM Cortex-A8 двух новых процессоров серии Sitara – AM3703 и AM3715, представляющих собой систему на кристалле [10]. Новые микросхемы, входящие в линейку OMAP35x, выполнены по 45-нм технологии и характеризуются на 40% более высокой производительностью и на 30% более низкой потребляемой мощностью по сравнению с системами на кристалле Sitara AM350. Микросхемы работают на тактовой частоте 600 МГц, 800 МГц или 1 ГГц. AM3703 и AM3715 имеют практически идентичные характеристики. Единственное существенное отличие модели АM3715 – наличие видеоускорителя с поддержкой графического интерфейса OpenGLES 2.0. При рабочей частоте 600 МГц типичное значение потребляемой мощности составляет 570 мВт.
Cortex-А9 (рис.6) [11] – процессорное ядро, представленное в 2007 году, поддерживает высокую производительность в условиях ограниченной мощности и предназначено для применения в процессорах смартфонов, мобильных ПК, информационно-развлекательных автомобильных комплексов, разнообразного встраиваемого и производственного оборудования.На базе ядра Cortex-A9 можно реализовать как наращиваемые многоядерные процессоры (Cortex-A9 MPCore), так и традиционные одноядерные процессоры. Cortex-A9 полностью совместим с другими процессорными ядрами подсемейства и популярными ARM MPCore, что позволило процессорам на его основе унаследовать прикладные возможности ранних процессорных устройств, а разработчикам снизить стоимость создания и внедрения решений на их базе за счет использования существующего программного обеспечения.
Быстродействие Cortex-A9 процессора, изготовленного по 65-нм универсальной технологии компании TSMC и оптимизированного по быстродействию при программной реализации кода, составляет 2,075 DMips, потребляемая мощность на частоте 800 МГц – 400 мВт, энергоэффективность – 5,2 DMips/мВт. Площадь, занимаемая процессором (без учета площади кэшов), равна 1,5 мм2. Для оптимизированного по быстродействию двухъядерного Cortex-A9 процессора с реализуемыми аппаратными средствами кодами быстродействие на тактовой частоте 2 ГГц может достигать 10000 DMips, потребляемая мощность – 1,9 Вт и энергоэффективность – 5,26 DMips/мВт. При оптимизации по потребляемой мощности аналогичные параметры двухъядерного процессора на частоте 800 МГц составляют соответственно 4⋅103 DMips, 0,5 Вт и 8 DMips/мВт.
Многоядерный Cortex-A9 MPCore процессор сочетает достоинства процессоров на ядрах семейства Cortex с возможностями многопроцессорной работы и усовершенствованной многоядерной технологией. В архитектуру ядра входят:
порт ускорения согласования (Accelerator Coherence Port, ACP) для повышения системной производительности и снижения энергопотребления;
блок усовершенствованного шинного интерфейса (Advanced Bus Interface) для снижения задержек в устройствах с высокими требованиями к полосе пропускания;
мультимедийное 128-битное SIMD расширение архитектуры ;
блок NEON;
модуль Trust Zone;
блок операций с плавающей запятой, способный выполнять операции с одинарной и двойной точностью;
общий контроллер прерываний (Generalized Interrupt Controller, GIC), предназначенный для поддержки портабельности программного обеспечения и оптимизации межпроцессорного обмена;
блок интеллектуального управления энергопотреблением (Intelligent Energy Manager, IEM).
Процессорное ядро Сortex-A9 активно лицензируется ведущими производителями электронных компонентов. В сентябре этого года компания Samsung сообщила о разработке нового процессора Orion [12] на основе двух процессорных ядер Cortex-A9, работающих на тактовой частоте 1 ГГц. Микропроцессор, выполненный по 45-нм технологии, содержит L1 кэши данных и инструкций емкостью 32 Кбайт каждый, а также 1-Мбит L2 кэш. Это позволяет поддерживать многозадачность, воспроизведение HD-видео, запись изображения со скоростью до 30 кадров/с с тем же HD-качеством, а также обеспечит потенциал, необходимый для работы с трехмерными играми. По данным компании, при работе с трехмерной графикой новый процессор по производительности в пять раз превосходит фирменный процессор Hummingbird, выполненный на основе процессорного ядра Cortex-A8.
По некоторым данным, процессор Orion должен был появиться в новых изделиях еще до конца 2010 года, но более реалистичным сроком представляется начало 2011 года. Поставляться процессор будет в двух модификациях – центральное процессорное устройство и процессорное устройство в комплекте с памятью (в исполнении корпус на корпусе, Package on Package). Процессор Orion предназначен для смартфонов верхнего сегмента и планшетов – таких, как Galaxy Tab.
Cortex-A5 (рис.7) выпущен в октябре 2009 года. Он дополнил растущий рынок процессорных ядер подсемейства Cortex-A. Ядро предназначено для приложений, требующих управления виртуальной памятью быстродействующих систем при малом энергопотреблении. Cortex-A5 по сравнению с другими ядрами подсемейства обеспечивает самое низкое энергопотребление. Энергоэффективность Cortex-A5, выполненного по 40-нм универсальной технологии компании TSMC превышает 20 DMips/мВт, т.е. вдвое больше, чем у процессоров на основе предыдущих версий подсемейства Cortex-A
[13]. Производительность его составляет 1,5 DMIPS/МГц. Поддержка Cortex-A5 технологии безопасности TrustZone и технологии обработки мультимедийных данных NEON позволяет ускорить обработку медиаданных, а объединение с новыми графическими процессорами Mali-200, Mali-400MP и видеодвижками Mali-VE3 и Mali-VE6 обекспечивает высокое качество графики. Ядро Cortex-А5 предназначено для замены ARM9 и ARM11, которые сейчас можно найти в процессорах многих электронных изделий – от смартфонов до игровых платформ Nintendo. Поэтому Cortex-A5 не представляет собой нечто выдающееся, но этого от него и не требуется, поскольку его архитектура предоставляет полный набор возможностей ядер серии Cortex-А при поддержке самого низкого энергопотребления процессора. Другими словами процессорное ядро Cortex-A5 поддерживает все расширения архитектуры и характерные особенности микросхем подсемейства Cortex A и работает со всеми двоичными кодами, скомпилированными для ядер A8 и A9 (правда, при этом обеспечиваемое быстродействие значительно меньше).
И подобно другим «собратьям» на основе ядер подсемейства Cortex-A5 процессоры поставляются в одноядерном и многоядерном (до четырехъядерного) вариантах. Благодаря своей многоступенчатой конвейерной структуре процессорное ядро А5 может работать на достаточно высоких тактовых частотах (от 500–600 МГц до более 1 ГГц) при площади
(с учетом двух кэш емкостью 16 Кбит каждый и блока NEON) равной 0,68 мм2. Выпуск процессоров на основе ядер серии Cortex-A5 планируется на 2011 год.
Cortex-A15 MPcore – последняя модель подсемейства Cortex-A (рис.8) [14], была представлена компанией ARM в сентябре 2010 года. Архитектура этой модели предполагает возможность создания самых быстродействующих процессоров из серии устройств на основе подсемейства Cortex-A с одним, двумя, четырьмя, восемью и, возможно, 16 ядрами. Тактовая частота может варьироваться в пределах 1–5 ГГц. Микросхемы нового поколения будут изготавливаться по 32- или 28-нм технологии. Решения на базе Cortex-A15 MPcore смогут обеспечить пятикратный прирост производительности по сравнению с 1-ГГц процессорами Cortex A8 при сохранении небольшого уровня энергопотребления.
Создание Cortex-A15 MPcore было стимулировано стремлением компании ARM Holdings выйти на рынок серверов, где до сих пор доминирует корпорация Intel. И ядро ARM Cortex-A15 MPcore, получившая название Eagle (Орел), возможно, вызовет беспокойство конкурентов. С точки зрения специалистов фирмы ARM, появление Eagle существенно расширяет возможности процессоров на основе ядер семейства Cortex, которые смогут найти применение не только в смартфонах и мобильных компьютерах, но и в домашних медиацентрах, а также в сетевом оборудовании и серверах. На стадии лицензирования производители смогут выбирать нужную конфигурацию процессора с учетом своих потребностей, оптимизируя изделия по энергопотреблению или быстродействию. Так, в коммуникаторах можно будет применить версии Cortex-A15 MPcore с одним или двумя ядрами с частотой до 1,5 ГГц, а в оборудовании для беспроводных сетей связи, возможно, потребуются восьмиядерные решения с частотой до 2,5 ГГц. Технологию Cortex-A15 MPcore уже лицензировали такие крупные компании, как Samsung, Sony Ericsson и Texas Instruments. И хотя ARM не сообщает, когда «орел приземлиться», руководство компании утверждает, что ее партнеры по железу и лицензиаты очень, очень скоро реализуют устройства на основе Cortex-A15 MPcore. Согласно более пессимистическим оценкам, первые устройства с Cortex A15 MPcore появятся на рынке не ранее 2012года.
Процессорные ядра Cortex-R
Процессорные ядра Cortex-R применяются во встроенных электронных системах, работающих в реальном времени, а именно в:
“умных” мобильных телефонах и модемах;
НЖМД, принтерах;
бытовой электронике, медиаплеерах, цифровых фотокамерах;
микродиспетчерах для управления технологическими процессами.
Cortex-R4 – единственное на сегодняшний день процессорное ядро этого подсемейства (рис.9) [15] появилось летом 2006 года. Cortex-R4 разрабатывалось для процессоров мобильных телефонов, НЖМД, принтеров и встраиваемых приложений, в частности, для автомобильной электроники. В микроархитектуре Cortex-R4 предусмотрена «настраиваемость», позволяющая оптимизировать работу процессора для решения разных задач путем изменения параметров блока управления памятью, кэш-памяти. При этом процессор сохраняет совместимость с набором команд ARM, что позволяет использовать уже существующее программное обеспечение.
По утверждению разработчиков, «настраиваемость» Cortex-R4 должна послужить ключевым конкурентным преимуществом в сегментах:
3G-смартфонов, для оптимизации выполнения набора инструкций Thumb-2 и применения Cortex R4 одновременно как ядра приложений, так и ядра базовой логики;
НЖМД, для оптимизации времени отклика;
принтеров, для увеличения производительности и добавления новых функций при малом энергопотреблении;
автомобильной электроники, для управления зажиганием и контроля состояния двигателя.
Пример практического применения процессорного ядра Сortex-R4 – линейка микроконтроллеров TMS570 [16], разработанная компанией Texas Instruments совместно с Robert Bosch. Микросхема реализована на основе двух ядер Cortex R4, применение которых в сочетании с запатентованной компанией Texas Instruments архитектурой обеспечивает максимальную надежность системы. Решение предназначено для автомобильной электроники.
Перспективы развития
Несмотря на то, что процессоры, основанные на архитектуре x86, на сегодняшний день применяются на практике значительно чаще процессоров на основе ядер Сortex, вопрос об их «соперничестве» на рынке является не таким простым, как это может показаться на первый взгляд. Некоторые эксперты полагают, что ситуация может измениться в самое ближайшее время. Ориентировочно к 2013 году, по прогнозам экспертов, доли ARM-и х86 совместимых микросхем на рынке мобильных компьютеров выровняются. А в дальнейшем решения с архитектурой ARM и вовсе начнут вытеснять традиционные процессоры х86.
В 2010 году, как ожидалось, должен был начаться переход портативных устройств и мобильных компьютеров на многоядерные процессоры, и к 2013 году, согласно прогнозам аналитиков, –88% всех гаджетов, мини-ноутбуков и карманных электронных помощников будет комплектоваться многоядерными процессорами [17]. Речь, в частности, идет о Cortex A5 MPcore процессорах с одним-четырьмя ядрами.
Наряду с мобильными устройствами, важнейшим направлением развития процессоров являются серверные решения, и ARM возлагает большие надежды на использование четырехъядерных Cortex A15 MPcore (Eagle) процессоров на частоту до 2,5 ГГц в энергоэффективных серверах [18]. К тому же, Cortex-A15 в состоянии исполнять Linux-базированные ОС, которые активно используются на серверном рынке.
Ответ ARM на продвижение технологии компании Intel в виде создания ядра Eagle повысит конкурентоспособность ARM на рынке серверов малой мощности. А поскольку лидер на рынке средств виртуализации серверов, настольных компьютеров и т.п. – компания Vmware – обещает разработать программные средства hypervisor, позволяющие реализовать достоинства процессорных ядер подсемейства Cortex-A, возможность продвижения ARM процессорных ядер в сектор серверов, должна вызвать беспокойство Intel, которая в свою очередь пытается прорваться на рынок мобильных устройств со своими микросхемами Atom.
Вместе с тем ARM в связи с разработкой и другими компаниями программных средств hypervisor для мобильных и встраиваемых устройств не намерена отказываться от разработки процессорных ядер. В результате с целью обеспечения безопасности или для применения различного инструментария для решения разнообразных задач могут появиться смартфоны, работающие одновременно с различными ОС.
Реализации задачи продвижения компании ARM Holdins на рынок серверов, несомненно, будет способствовать и повышение разрядности процессоров. Как сообщает Интернет-ресурс ComputerWorld [19] в ближайшие недели ARM может сообщить о планах выпуска 64-разрядных процессоров. Не исключено, что Cortex-A15 на самом деле, поддерживает 64-разрядные вычисления, и ARM просто не стала раскрывать все карты в момент анонса этого ядра. Если это предположение оправдается, компания сможет предлгать своим партнерам выбор – лицензировать для конкретных реализаций полную 64-разрядную или ограниченную 32-разрядную версию Cortex-A15.
Литература
1.www.arm.com/about/company-profile/milestones.php.
2. arm.com/products/processors/cortex-m/cortex-m3.php.
3. www.chipnews.ru/html.cgi/arhiv/07_07/stat_1.htm.
4. www.actel.com/products/mpu/cortexm3/default.aspx.
5. www.arm.com/products/processors/cortex-m/cortex-m1.php.
6. www.arm.com/products/processors/cortex-m/cortex-m0.php.
7. arm.com/products/processors/cortex-m/cortex-m4-processor.php.
8.www.arm.com/products/processors/cortex-a/cortex-a8.php.
9. www.npk.ru/articles/article.html?id=2.
10. focus.ti.com/lit/ds/sy mlink/am3715.pdf.
11. www.arm.com/products/processors/cortex-a/cortex-a9.php.
12. www.samsung.com/global/business/semiconductor/newsView.do?news_id=1195/
13. www.arm.com/products/processors/cortex-a/cortex-a5.php.
14. www.arm.com/products/processors/cortex-a/cortex-a15.php.
15.http://www.arm.com/products/processors/cortex-r/cortex-r4.php.
16. www.ti.com/ww/ru/embedded/arm/index.html.
17.Платов А. Архитектура ARM против решений Intel— www.nestor.minsk.by/kg/2010/04/kg00406.html.
18. www.fudzilla.com/mobiles/item/21028-arm-cortex-a15-32-/-28nm-aims-for-servers.
19.http://www.computerworld.com/s/article/9197298/Arm_readies_processing_cores_for_64_bit_computing
Компания ARM Holdings не производит процессоры, а лишь разрабатывает и лицензирует свою технологию процессорных ядер для сторонних фирм, таких как Atmel, Cirrus Logic, Marvell, NXP, Samsung, Qualcomm, Sony Ericsson, Texas Instruments, Broadcom и др., которые, собственно, и занимаются промышленным производством микросхем. По данным компании ARM, в 2008 году по ее лицензиям было произведено свыше 10 млрд. микропроцессорных ядер [1]. В 2009 году на ARM процессорные ядра приходилось до 90% всех встроенных 32-разрядных RISC-процессоров. В 2010-м ARM ядра можно было найти в 95% мобильных телефонов.
Процессорные ядра Cortex — результат прогрессивного развития классической архитектуры ARM. Благодаря более высокой производительности, менее сложной модели программирования, прекрасной системе обработки прерываний и низкой цене архитектура Cortex становится все более популярной. И сегодня процессорные ядра Cortex – это семейство со стандартизированной архитектурой, предназначенное для решения широкого круга технологических задач.
В семействе Cortex реализуются три подсемейства:
Cortex-M – для микроконтроллерных и недорогих встроенных приложений;
Cortex-A – для высокопроизводительных приложений;
Cortex-R – для приложений реального времени.
Нумерация после буквы означает относительную градацию вычислительной мощности микросхемы семейства.
Процессорные ядра ARM Cortex-M
Подсемейство ARM Cortex-M – совместимые снизу вверх энергоэффективные, простые в применении процессорные ядра, призванные помочь разработчикам выполнять требования будущих встраиваемых приложений, т.е. позволяющие предоставлять больше функций при меньшей стоимости, увеличить возможности взаимодействия, улучшить повторное использование кода и обеспечить энергоэффективность. Каждое процессорное ядро серии Cortex-M имеет свои специфические достоинства, но все выполнены на основе фундаментальной технологии, благодаря которой они перспективны для большого ряда встраиваемых приложений. Процессорные ядра подсемейства Cortex-M находят применение в микроконтроллерах и устройствах смешанной обработки сигнала, применяемых в интеллектуальных измерительных приборах, пользовательских интерфейсах, автомобильных и промышленных системах управления, предметах домашнего обихода, бытовой технике и медицинском оборудовании, к характеристикам которых предъявляются специфические требования.
Сortex-M3 – первое процессорное ядро, которое и дало имя семейству Cortex, было представлено потребителям в 2004 году [1, 2 ]. При создании Сortex-M3 ставилась задача замены ядра ARM7TDMI, которое использовалось во множестве высокопроизводительных микроконтроллеров. Основа 32-бит Сortex-M3 процессора — ядро с Гарвардской архитектурой и трехступенчатым конвейером, что обеспечивает предсказание переходов, однотактное умножение и аппаратно реализуемое деление. Неотъемлемые элементы архитектуры Сortex-M3 — блок вложенных прерываний, отладочная система и предопределенная организация памяти (рис.1). При создании ядра Сortex-M3 в базовую ARM-архитектуру было внесено множество изменений. Так, компания отказалась от ARM-режима, тогда как все предыдущие ядра имели два режима работы – ARM и Thumb, каждый с набором 32- и 16-разрядных инструкций, соответственно. У Сortex-M3 предусмотрена поддержка набора ARM Thumb-2 инструкций. При этом в набор Thumb-2 внесено 130 дополнительных команд. Thumb-2 позволяет добиться плотности кода, свойственной 16-бит набору инструкций Thumb, т.е. получить в среднем выигрыш в 20–30% по сравнению с 32-бит ARM-набором при снижении производительности всего на единицы процентов. Исключается необходимость переключения между режимами ARM и Thumb, что позволяет обойтись без блока переключения. Процессоры с набором инструкций Thumb-2 способны создавать код намного быстрее, проще и эффективнее, чем при работе с ARM-набором инструкций.
Важное нововведение в Cortex-M3 – возможность аппаратного выполнения операции деления. (До появления семейства Cortex в ARM-ядрах предусматривались операции умножения и умножения с накоплением с 64-бит результатом.) И хотя операция деления занимает немало тактов процессорных ядер, она выполняется быстрее, чем отдельная подпрограмма. Кроме того, Cortex-М3 может оперировать с невыровненными данными (unaligned data), что также отличает его от предшествующих архитектур ARM и поддерживает битовые операции (bit banding). Еще один ключевой компонент ядра Cortex-M3 – контроллер векторизованных вложенных прерываний (КВВП), предоставляющий для всех Cortex-микроконтроллеров стандартную структуру прерываний и способы их обработки. Конфигурируемое ядро Cortex-M3 соединяется с периферией посредством шины Advanced High-PerformanceBus (AHB), что позволяет разработчику с легкостью подключать к нему собственные подсистемы.
Благодаря этим нововведениям применение процессорных ядер Cortex-М3 стало рентабельным даже в самых простых приложениях (табл.1) [3].
Один из наиболее известных производителей микросхем на базе Cortex-M3 – компания Actel (теперь входит в корпорацию Microsemi) [4], которая выпустила «интеллигентную» микросхему смешанной обработки сигнала SmartFusion, в которой впервые были объединены FPGA, процессорное ядро ARM Cortex-М3 и программируемые аналоговые устройства.
Cortex-M1 – процессорное ядро, разработанное в начале 2007 года совместными усилиями компаний ARM и Actel (рис.2) и оптимизированное для реализации в FPGA [5]. Ядро предназначено для применения во всех основных FPGA-платформах. В нем предусмотрена поддержка ведущих средств синтеза FPGA, что позволяет проектировщику выбирать оптимальную конструкцию проекта. Cortex-M1 поддерживает трехстадийную 32-бит очередь команд и работает с несколько модифицированным набором команд Thumb-2. Микропроцессорное ядро, как утверждается, будет способно исполнять и код Thumb и таким образом будет программно совместимо с ARM7TDMI. Cortex-M1 обеспечивает существенную экономию затрат за счет рационализации расходов на программное обеспечение и инструментарий для многих проектов по созданию FPGA, ASIC и ASSP-микросхем. При этом благодаря применению стандартизированного в промышленности процессорного ядра разработчики систем все меньше зависят от поставщика требуемых компонентов.
Рабочая частота процессора на основе ядра Cortex-M1 и занимаемая им площадь зависят от используемой FPGA-платформы. Для FPGAProASIC3 и Actel Fusion, изготавливаемых по 130-нм технологии, эти параметры лежат в пределах от 70 МГц и 4300 логических ячеек, соответственно. Для FPGA Stratix-III и Virtex-5 компаний Altera и Xilinx, изготавливаемых по 65-нм технологии, — до 200 МГц и 1900 логических ячеек*. Производительность Cortex-M1 при частоте 170 МГц составляет 0,8 DMips/МГц (производительность по эталонному тесту Dhrystone).
Компания Actel поставляет программные продукты SmartDesign, CoreConsole и SoftConsole для разработки и отладки приложений, а ARM предлагает пакет разработки RealView, существует и большое число компаний, которые разрабатывают собственные пакеты программ для работы с процессорным ядром ARM.
Основные области применения Cortex-M1 – контрольно-измерительные встраиваемые системы, сетевое и телекоммуникационное оборудование.
Cortex-M0 (рис.3) – ядро подсемейства Cortex-M,
обеспечивающее самые малые размеры, самую низкую мощность и самое большое энергосбережение процессора, появилось в начале 2009 года [6]. Cortex-M0 процессор, выполненный по сверхмаломощной универсальной технологии TSMC потребляет всего 85 мкВт/МГц, занимая площадь менее 12 тыс. логических вентилей. Малое энергопотребление, небольшое число логических вентилей и компактный код, по словам разработчика, позволяют создать 32-разрядный процессор по цене 8-разрядного изделия. Важным достоинством с точки зрения экономии средств является совместимость с Cortex-M3 на уровне инструментов разработки и бинарных файлов.
Cortex-M0 скорее всего найдет применение не в последних технических новинках, а в устройствах, которые мы привыкли видеть вокруг себя каждый день. Это медицинская аппаратура, электронные счетчики, системы освещения и управления, игровые устройства, компактные источники питания, регуляторы мощности и блоки управления электроприводами, аналоговые устройства повышенной точности и сетевое оборудование IEEE 802.15.4 (ZigBee) и Z-Wave. Стоит отметить и возможность применения Cortex-M0 в инструментах, содержащих как аналоговые, так и цифровые элементы, например в «умных» датчиках и исполнительных механизмах.
Cortex-M4 (рис.4) – последняя на сегодняшний день разработка в подсемействе Cortex M [7]. Это встраиваемое процессорное ядро компания ARM представила в феврале 2010 года. Ядро разработано для систем, требующих простое в применении устройство, сочетающее функции управления и цифровой обработки сигнала. Cortex-M4 отличается поддержкой однотактной операции умножения с запоминанием за один такт и оптимизированной арифметики,
Площадь Cortex-M4 процессора, его частота и потребляемая мощность зависят от технологического процесса изготовления, используемой библиотеки элементов и параметра, по которому он оптимизирован (быстродействие или размер) (табл.2).
Благодаря высокоэффективной цифровой обработке сигнала, малому энергопотреблению, низкой стоимости и простоте применения микросхемы на основе подсемейства Cortex-M перспективны для применения в системах электроприводов, автомобильной электроники, систем регулирования мощности, встраиваемых аудиоустройств и промышленных средств автоматизации.
Одной из первых лицензии на использование новых процессорных ядер Cortex-M0/3/4 приобрела компания NXP Semiconductors, которая уже выпустила процессоры LPC1100 на основе ядра Cortex- M0 и LPC4000 на основе ядра М4*.
Процессорные ядра Cortex-A
Процессорные ядра подсемейства Cortex-A предназначены для работы с открытыми ОС и содержат модуль управления памятью (MMU), обеспечивающий виртуальную адресацию и защиту памяти. Применяются они в самых разнообразных устройствах, работающих под управлением операционных систем высокого уровня – от простейших мобильных телефонов до устройств цифрового телевидения. В подсемейство входят ядра:
– популярное Cortex-8;
– масштабируемое Cortex-A9;
– экономичное Cortex-A5;
– высокоэффективное Cortex-15 (табл.3).
Прикладную совместимость процессорных ядер Cortex-A обеспечивает поддержка традиционного набора команд Thumb и высокоэффективного и компактного набора команд Thumb-2.
Cortex-A8 (рис.5) [8] – первое процессорное ядро серии Cortex-A. Было представлено потребителям в 2005 году [1]. Ориентировано на решение задач, требующих высокого быстродействия, невысокого энергопотребления и малого тепловыделения (что особенно важно, поскольку предоставляет возможность дальнейшей миниатюризации мобильных устройств). Cortex-A8 процессор содержит двойной симметричный конвейер с упреждающей выборкой, суперскалярное микропроцессорное ядро, 13-ступенчатый целочисленный конвейер, L1 кэш-память объемом до 32 Кбайт. Cortex-A8 – первое ядро, в архитектуру ARMv7 которого включены новые появившиеся к моменту его реализации технологии: блок NEON для обработки медиаданных и сигналов и блок, поддерживающий новое поколение технологии Jazelle-RCT (Runtime Compiler Target – поддержка динамических компиляторов). Кроме того, в Cortex-A8 реализованы и другие блоки, присущие рассматриваемому семейству,– блок TrustZone для обеспечения целостности данных, Thumb-2 и архитектура обработки данных с плавающей запятой VFPv3. Интегрирована L2 кэш-память емкостью от 0 до 2 Мбит в зависимости от исполнения. Наличие L2 кэша, благодаря которому удалось существенно снизить не только число обращений к памяти и циклов ожидания, но и число конфликтов по главной системной шине, обеспечило рост производительности микросхемы. Процессоры на основе ядра Cortex-A8 в зависимости от конкретной реализации отличаются большим диапазоном характеристик – от высокого быстродействия (до 2000 DMips) для быстродействующих бытовых устройств, до потребляемой мощности (менее 300 мВт) для маломощной бытовой техники.
NEON-блок обработки аудио-, видео- и графических данных имеет 64/128-бит гибридную SIMD-архитектуру. Он содержит собственный регистровый файл и исполнительный конвейер, отделенные от основного целочисленного конвейера ядра. Конвейер NEON-блока работает с плавающей запятой и целыми числами. Он поддерживает операции с невыровненными данными и обеспечивает простую загрузку перемежающихся данных, хранимых в структурированном виде. Благодаря наличию NEON-блока Cortex-A8 процессор при тактовой частоте 275 МГц может декодировать видеопоток VGA MPEG-4 (в том числе спецэффекты, преобразования YUV2RGB и т.п.) со скоростью 30 кадров/с, а при частоте 350 МГц – H.264 видеоданные [9]. Кроме того, NEON-блок может обрабатывать и традиционные данные, что позволяет осваивать новые алгоритмы и новые приложения путем загрузки новых программных средств.
Технология Jazelle-RCT, реализованная в Cortex-A8, позволяет сократить размер Java-программ до 70% за счет динамического преобразования (Just-In-Time, JIT) байт-кода, что повышает скорость и снижает энергопотребление, а также позволяет сократить на одну треть объем требуемой памяти.
Модуль TrustZone обеспечивает сохранение конфиденциальности данных и управление правами доступа к данным мобильных телефонов, карманных компьютеров, телевизионных приставок, работающих с открытыми ОС. До 32 увеличено число регистров подсистемы вычислений с плавающей запятой (VFPv3). Для вычислений с двойной точностью, реализованы инструкции преобразования чисел с плавающей и фиксированной запятой.
Несмотря на «почтенный» по меркам современной электроники возраст, процессорное ядро Cortex-A8 активно лицензируется производителями. Так, в июне 2010 года компания Texas Instruments объявила о выпуске на базе ядра ARM Cortex-A8 двух новых процессоров серии Sitara – AM3703 и AM3715, представляющих собой систему на кристалле [10]. Новые микросхемы, входящие в линейку OMAP35x, выполнены по 45-нм технологии и характеризуются на 40% более высокой производительностью и на 30% более низкой потребляемой мощностью по сравнению с системами на кристалле Sitara AM350. Микросхемы работают на тактовой частоте 600 МГц, 800 МГц или 1 ГГц. AM3703 и AM3715 имеют практически идентичные характеристики. Единственное существенное отличие модели АM3715 – наличие видеоускорителя с поддержкой графического интерфейса OpenGLES 2.0. При рабочей частоте 600 МГц типичное значение потребляемой мощности составляет 570 мВт.
Cortex-А9 (рис.6) [11] – процессорное ядро, представленное в 2007 году, поддерживает высокую производительность в условиях ограниченной мощности и предназначено для применения в процессорах смартфонов, мобильных ПК, информационно-развлекательных автомобильных комплексов, разнообразного встраиваемого и производственного оборудования.На базе ядра Cortex-A9 можно реализовать как наращиваемые многоядерные процессоры (Cortex-A9 MPCore), так и традиционные одноядерные процессоры. Cortex-A9 полностью совместим с другими процессорными ядрами подсемейства и популярными ARM MPCore, что позволило процессорам на его основе унаследовать прикладные возможности ранних процессорных устройств, а разработчикам снизить стоимость создания и внедрения решений на их базе за счет использования существующего программного обеспечения.
Быстродействие Cortex-A9 процессора, изготовленного по 65-нм универсальной технологии компании TSMC и оптимизированного по быстродействию при программной реализации кода, составляет 2,075 DMips, потребляемая мощность на частоте 800 МГц – 400 мВт, энергоэффективность – 5,2 DMips/мВт. Площадь, занимаемая процессором (без учета площади кэшов), равна 1,5 мм2. Для оптимизированного по быстродействию двухъядерного Cortex-A9 процессора с реализуемыми аппаратными средствами кодами быстродействие на тактовой частоте 2 ГГц может достигать 10000 DMips, потребляемая мощность – 1,9 Вт и энергоэффективность – 5,26 DMips/мВт. При оптимизации по потребляемой мощности аналогичные параметры двухъядерного процессора на частоте 800 МГц составляют соответственно 4⋅103 DMips, 0,5 Вт и 8 DMips/мВт.
Многоядерный Cortex-A9 MPCore процессор сочетает достоинства процессоров на ядрах семейства Cortex с возможностями многопроцессорной работы и усовершенствованной многоядерной технологией. В архитектуру ядра входят:
порт ускорения согласования (Accelerator Coherence Port, ACP) для повышения системной производительности и снижения энергопотребления;
блок усовершенствованного шинного интерфейса (Advanced Bus Interface) для снижения задержек в устройствах с высокими требованиями к полосе пропускания;
мультимедийное 128-битное SIMD расширение архитектуры ;
блок NEON;
модуль Trust Zone;
блок операций с плавающей запятой, способный выполнять операции с одинарной и двойной точностью;
общий контроллер прерываний (Generalized Interrupt Controller, GIC), предназначенный для поддержки портабельности программного обеспечения и оптимизации межпроцессорного обмена;
блок интеллектуального управления энергопотреблением (Intelligent Energy Manager, IEM).
Процессорное ядро Сortex-A9 активно лицензируется ведущими производителями электронных компонентов. В сентябре этого года компания Samsung сообщила о разработке нового процессора Orion [12] на основе двух процессорных ядер Cortex-A9, работающих на тактовой частоте 1 ГГц. Микропроцессор, выполненный по 45-нм технологии, содержит L1 кэши данных и инструкций емкостью 32 Кбайт каждый, а также 1-Мбит L2 кэш. Это позволяет поддерживать многозадачность, воспроизведение HD-видео, запись изображения со скоростью до 30 кадров/с с тем же HD-качеством, а также обеспечит потенциал, необходимый для работы с трехмерными играми. По данным компании, при работе с трехмерной графикой новый процессор по производительности в пять раз превосходит фирменный процессор Hummingbird, выполненный на основе процессорного ядра Cortex-A8.
По некоторым данным, процессор Orion должен был появиться в новых изделиях еще до конца 2010 года, но более реалистичным сроком представляется начало 2011 года. Поставляться процессор будет в двух модификациях – центральное процессорное устройство и процессорное устройство в комплекте с памятью (в исполнении корпус на корпусе, Package on Package). Процессор Orion предназначен для смартфонов верхнего сегмента и планшетов – таких, как Galaxy Tab.
Cortex-A5 (рис.7) выпущен в октябре 2009 года. Он дополнил растущий рынок процессорных ядер подсемейства Cortex-A. Ядро предназначено для приложений, требующих управления виртуальной памятью быстродействующих систем при малом энергопотреблении. Cortex-A5 по сравнению с другими ядрами подсемейства обеспечивает самое низкое энергопотребление. Энергоэффективность Cortex-A5, выполненного по 40-нм универсальной технологии компании TSMC превышает 20 DMips/мВт, т.е. вдвое больше, чем у процессоров на основе предыдущих версий подсемейства Cortex-A
[13]. Производительность его составляет 1,5 DMIPS/МГц. Поддержка Cortex-A5 технологии безопасности TrustZone и технологии обработки мультимедийных данных NEON позволяет ускорить обработку медиаданных, а объединение с новыми графическими процессорами Mali-200, Mali-400MP и видеодвижками Mali-VE3 и Mali-VE6 обекспечивает высокое качество графики. Ядро Cortex-А5 предназначено для замены ARM9 и ARM11, которые сейчас можно найти в процессорах многих электронных изделий – от смартфонов до игровых платформ Nintendo. Поэтому Cortex-A5 не представляет собой нечто выдающееся, но этого от него и не требуется, поскольку его архитектура предоставляет полный набор возможностей ядер серии Cortex-А при поддержке самого низкого энергопотребления процессора. Другими словами процессорное ядро Cortex-A5 поддерживает все расширения архитектуры и характерные особенности микросхем подсемейства Cortex A и работает со всеми двоичными кодами, скомпилированными для ядер A8 и A9 (правда, при этом обеспечиваемое быстродействие значительно меньше).
И подобно другим «собратьям» на основе ядер подсемейства Cortex-A5 процессоры поставляются в одноядерном и многоядерном (до четырехъядерного) вариантах. Благодаря своей многоступенчатой конвейерной структуре процессорное ядро А5 может работать на достаточно высоких тактовых частотах (от 500–600 МГц до более 1 ГГц) при площади
(с учетом двух кэш емкостью 16 Кбит каждый и блока NEON) равной 0,68 мм2. Выпуск процессоров на основе ядер серии Cortex-A5 планируется на 2011 год.
Cortex-A15 MPcore – последняя модель подсемейства Cortex-A (рис.8) [14], была представлена компанией ARM в сентябре 2010 года. Архитектура этой модели предполагает возможность создания самых быстродействующих процессоров из серии устройств на основе подсемейства Cortex-A с одним, двумя, четырьмя, восемью и, возможно, 16 ядрами. Тактовая частота может варьироваться в пределах 1–5 ГГц. Микросхемы нового поколения будут изготавливаться по 32- или 28-нм технологии. Решения на базе Cortex-A15 MPcore смогут обеспечить пятикратный прирост производительности по сравнению с 1-ГГц процессорами Cortex A8 при сохранении небольшого уровня энергопотребления.
Создание Cortex-A15 MPcore было стимулировано стремлением компании ARM Holdings выйти на рынок серверов, где до сих пор доминирует корпорация Intel. И ядро ARM Cortex-A15 MPcore, получившая название Eagle (Орел), возможно, вызовет беспокойство конкурентов. С точки зрения специалистов фирмы ARM, появление Eagle существенно расширяет возможности процессоров на основе ядер семейства Cortex, которые смогут найти применение не только в смартфонах и мобильных компьютерах, но и в домашних медиацентрах, а также в сетевом оборудовании и серверах. На стадии лицензирования производители смогут выбирать нужную конфигурацию процессора с учетом своих потребностей, оптимизируя изделия по энергопотреблению или быстродействию. Так, в коммуникаторах можно будет применить версии Cortex-A15 MPcore с одним или двумя ядрами с частотой до 1,5 ГГц, а в оборудовании для беспроводных сетей связи, возможно, потребуются восьмиядерные решения с частотой до 2,5 ГГц. Технологию Cortex-A15 MPcore уже лицензировали такие крупные компании, как Samsung, Sony Ericsson и Texas Instruments. И хотя ARM не сообщает, когда «орел приземлиться», руководство компании утверждает, что ее партнеры по железу и лицензиаты очень, очень скоро реализуют устройства на основе Cortex-A15 MPcore. Согласно более пессимистическим оценкам, первые устройства с Cortex A15 MPcore появятся на рынке не ранее 2012года.
Процессорные ядра Cortex-R
Процессорные ядра Cortex-R применяются во встроенных электронных системах, работающих в реальном времени, а именно в:
“умных” мобильных телефонах и модемах;
НЖМД, принтерах;
бытовой электронике, медиаплеерах, цифровых фотокамерах;
микродиспетчерах для управления технологическими процессами.
Cortex-R4 – единственное на сегодняшний день процессорное ядро этого подсемейства (рис.9) [15] появилось летом 2006 года. Cortex-R4 разрабатывалось для процессоров мобильных телефонов, НЖМД, принтеров и встраиваемых приложений, в частности, для автомобильной электроники. В микроархитектуре Cortex-R4 предусмотрена «настраиваемость», позволяющая оптимизировать работу процессора для решения разных задач путем изменения параметров блока управления памятью, кэш-памяти. При этом процессор сохраняет совместимость с набором команд ARM, что позволяет использовать уже существующее программное обеспечение.
По утверждению разработчиков, «настраиваемость» Cortex-R4 должна послужить ключевым конкурентным преимуществом в сегментах:
3G-смартфонов, для оптимизации выполнения набора инструкций Thumb-2 и применения Cortex R4 одновременно как ядра приложений, так и ядра базовой логики;
НЖМД, для оптимизации времени отклика;
принтеров, для увеличения производительности и добавления новых функций при малом энергопотреблении;
автомобильной электроники, для управления зажиганием и контроля состояния двигателя.
Пример практического применения процессорного ядра Сortex-R4 – линейка микроконтроллеров TMS570 [16], разработанная компанией Texas Instruments совместно с Robert Bosch. Микросхема реализована на основе двух ядер Cortex R4, применение которых в сочетании с запатентованной компанией Texas Instruments архитектурой обеспечивает максимальную надежность системы. Решение предназначено для автомобильной электроники.
Перспективы развития
Несмотря на то, что процессоры, основанные на архитектуре x86, на сегодняшний день применяются на практике значительно чаще процессоров на основе ядер Сortex, вопрос об их «соперничестве» на рынке является не таким простым, как это может показаться на первый взгляд. Некоторые эксперты полагают, что ситуация может измениться в самое ближайшее время. Ориентировочно к 2013 году, по прогнозам экспертов, доли ARM-и х86 совместимых микросхем на рынке мобильных компьютеров выровняются. А в дальнейшем решения с архитектурой ARM и вовсе начнут вытеснять традиционные процессоры х86.
В 2010 году, как ожидалось, должен был начаться переход портативных устройств и мобильных компьютеров на многоядерные процессоры, и к 2013 году, согласно прогнозам аналитиков, –88% всех гаджетов, мини-ноутбуков и карманных электронных помощников будет комплектоваться многоядерными процессорами [17]. Речь, в частности, идет о Cortex A5 MPcore процессорах с одним-четырьмя ядрами.
Наряду с мобильными устройствами, важнейшим направлением развития процессоров являются серверные решения, и ARM возлагает большие надежды на использование четырехъядерных Cortex A15 MPcore (Eagle) процессоров на частоту до 2,5 ГГц в энергоэффективных серверах [18]. К тому же, Cortex-A15 в состоянии исполнять Linux-базированные ОС, которые активно используются на серверном рынке.
Ответ ARM на продвижение технологии компании Intel в виде создания ядра Eagle повысит конкурентоспособность ARM на рынке серверов малой мощности. А поскольку лидер на рынке средств виртуализации серверов, настольных компьютеров и т.п. – компания Vmware – обещает разработать программные средства hypervisor, позволяющие реализовать достоинства процессорных ядер подсемейства Cortex-A, возможность продвижения ARM процессорных ядер в сектор серверов, должна вызвать беспокойство Intel, которая в свою очередь пытается прорваться на рынок мобильных устройств со своими микросхемами Atom.
Вместе с тем ARM в связи с разработкой и другими компаниями программных средств hypervisor для мобильных и встраиваемых устройств не намерена отказываться от разработки процессорных ядер. В результате с целью обеспечения безопасности или для применения различного инструментария для решения разнообразных задач могут появиться смартфоны, работающие одновременно с различными ОС.
Реализации задачи продвижения компании ARM Holdins на рынок серверов, несомненно, будет способствовать и повышение разрядности процессоров. Как сообщает Интернет-ресурс ComputerWorld [19] в ближайшие недели ARM может сообщить о планах выпуска 64-разрядных процессоров. Не исключено, что Cortex-A15 на самом деле, поддерживает 64-разрядные вычисления, и ARM просто не стала раскрывать все карты в момент анонса этого ядра. Если это предположение оправдается, компания сможет предлгать своим партнерам выбор – лицензировать для конкретных реализаций полную 64-разрядную или ограниченную 32-разрядную версию Cortex-A15.
Литература
1.www.arm.com/about/company-profile/milestones.php.
2. arm.com/products/processors/cortex-m/cortex-m3.php.
3. www.chipnews.ru/html.cgi/arhiv/07_07/stat_1.htm.
4. www.actel.com/products/mpu/cortexm3/default.aspx.
5. www.arm.com/products/processors/cortex-m/cortex-m1.php.
6. www.arm.com/products/processors/cortex-m/cortex-m0.php.
7. arm.com/products/processors/cortex-m/cortex-m4-processor.php.
8.www.arm.com/products/processors/cortex-a/cortex-a8.php.
9. www.npk.ru/articles/article.html?id=2.
10. focus.ti.com/lit/ds/sy mlink/am3715.pdf.
11. www.arm.com/products/processors/cortex-a/cortex-a9.php.
12. www.samsung.com/global/business/semiconductor/newsView.do?news_id=1195/
13. www.arm.com/products/processors/cortex-a/cortex-a5.php.
14. www.arm.com/products/processors/cortex-a/cortex-a15.php.
15.http://www.arm.com/products/processors/cortex-r/cortex-r4.php.
16. www.ti.com/ww/ru/embedded/arm/index.html.
17.Платов А. Архитектура ARM против решений Intel— www.nestor.minsk.by/kg/2010/04/kg00406.html.
18. www.fudzilla.com/mobiles/item/21028-arm-cortex-a15-32-/-28nm-aims-for-servers.
19.http://www.computerworld.com/s/article/9197298/Arm_readies_processing_cores_for_64_bit_computing
Отзывы читателей