Опубликован: 12.07.2010 | Уровень: специалист | Доступ: платный | ВУЗ: Алтайский государственный университет

Лекция 8: Мультиядерные процессоры ARM-архитектуры

< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Аннотация: Лекция посвящена обзору мультиядерных процессоров одной из наиболее популярных на сегодняшний день архитектур — ARM. Мультиядерные процессоры данной архитектуры сочетают в себе масштабируемость производительности, низкое энергопотребление, эффективную систему команд и широкий спектр поддерживающих технологий и продуктов. Все эти качества делают их перспективной базой для высокопроизводительных мобильных устройств.
Ключевые слова: arm, коммуникатор, архитектура, система команд, поддержка, путь, пиковая производительность, процессор, программное обеспечение, когерентность, кэш, производительность, загрузки процессоров, память, операции, кэш данных, лицензия, electronics, technology, AND, AMBA, x-axis, интерфейс, масштабируемость, энергопотребление, стоимость, интеграция, SMP, площадь, диапазон, мощность, Java, TIME, JIT, dynamic, adaptive, compilation, DAC, максимум, цифровой сертификат, digital rights, management, DRM, thumb, SIMD, шина, обмен данными, vector, floating point, coprocessor, аппаратное прерывание, мультипроцессор, shutdown, технические характеристики, технологический процесс, FPU, NEON, MP3, модуль, advanced, точность, acceleration, coherency, ACP, bus interface, trace, macrocell, kit, буфер, контроллер прерываний, interrupt controller, межпроцессорный, суперскалярность, DSP, energy management, IP, средства разработки, physical, fabricate, контроллер, caching controller, приложение, design tool, SOC, EDA, designer, анализ, system generation, среда разработки, development, suite, генератор, ICE, FPGA

Процессоры с IP-ядрами ARM

Процессоры с ядрами ARM на данный момент являются достаточно популярными для мобильных устройств и встраиваемых систем различного применения. Самые массовые из них — это мобильные телефоны, смартфоны, коммуникаторы, мультимедийные устройства. Архитектура обладает такими привлекательными свойствами, как удобная и эффективная система команд, мощная поддержка при разработке аппаратной базы и программного обеспечения, высокая энергоэффективность. Относительно недавно было заявлено о разработке мультиядерной архитектуры на базе ARM, что открывает данным процессорам путь на рынок высокопроизводительных приложений. В частности, одно из возможных применений — ноутбуки, сравнимые, а то и превосходящие их аналоги на архитектуре х86.

На данный момент компанией ARM представлены три мультиядерные архитектуры: ARM11 MPCore \text{\texttrademark}, Cortex-A9 MPCore \text{\texttrademark} и Cortex-A5 MPCore \text{\texttrademark}. Каждая из этих архитектур может масштабироваться от одного до четырех процессорных ядер (ARM11, Cortex-A9 и Cortex-A5) [48-49-50-51]. Код, написанный для одиночных процессоров, также может исполняться и на мультиядерных.

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

Общая характеристика мультиядерных ARM-процессоров

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

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

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

Процессоры MPCore позволяют производителю использовать одни и те же ядра с различными конфигурациями для продуктов с различными свойствами и требованиями.

К настоящему времени лицензия на выпуск процесоров ARM MPCore приобретена более чем 15 компаниями, включая Broadcom, NEC Electronics, NVIDIA, Renesas Technology, Toshiba and Sarnoff Corporation, и воплощена в большом количестве приложений и устройств, представленных на современном рынке. Технология существенно расширяет спектр приложений, предлагая более эффективные модели операций.

Все мультиядерные решения от ARM базируются на шинной архитектуре AMBA 3 AXI, дающей возможность подключать к процессорам не только память и периферийные устройства, но и другие процессоры. Шинный интерфейс процессоров MPCore и масштабируемость позволяют настраивать производительность системы, оптимизировать ее энергопотребление и снижать общую стоимость решения и риск морального старения при переходе к следующему поколению цифровых устройств. Интеграция с существующими системными компонентами также снижает риски, связанные, например, с поддержкой операционных систем и продуктов на базе данных процессоров. Работает стандартная для ARM- архитектур модель программирования с поддержкой существующих операционных систем и приложений. Доступны совместимые с Linux 2.6 SMP операционные системы и инструменты разработки.

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

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

Технологии ускорения выполнения Java-приложений — Jazelle DBX и Jazelle RCT для оптимизации процесса адаптивной компиляции "на лету" (Just In Time (JIT) and Dynamic Adaptive Compilation (DAC)), а также для уменьшения расхода памяти — максимум в три раза.

Технология TrustZone предназначена для обеспечения безопасности транзакций, управления цифровыми сертификатами, создания базы для проверки и защиты прав (Digital Rights Management (DRM)).

ARM11 MPCore

Синтезируемый процессор ARM11 \text{\texttrademark} MPCore \text{\texttrademark} [48] поддерживает микроархитектуру ARM11 и может содержать от одного до четырех процессоров ( рис. 8.1), достигая производительности до 2600 DMIPS; имеет расширенную полосу пропускания памяти порядка 1,3 Гб/с для одиночного процессора.

Структура процессора ARM11 MPCore

Рис. 8.1. Структура процессора ARM11 MPCore

Процессоры ARM11 MPCore поддерживают архитектуру ARMv6 с поддержкой Thumb \text{\textregistered}, расширений цифровой обработки сигналов, SIMD мультимедийной обработки данных и ARM Jazelle \text{\textregistered} Java.

У процессора высокопроизводительная подсистема памяти. Каждый процессор имеет свои независимые кэши данных и инструкций с поддержкой согласования данных. Размер кэшей инструкций и данных можно независимо изменять в пределах от 16 Кб до 64 Кб индивидуально для каждого ядра.

Поддерживается 64-битный интерфейс AMBA AXI \text{\texttrademark} с одиночной или двойной 64-битной шинной системой AMBA 3 AXI. Системная 64-битная шина AMBA 3 AXI упрощает обмен данными в системе при достаточно большой полосе пропускания и простой системе тактирования.

Векторный сопроцессор (Vector Floating Point coprocessors) работает с числами в формате с плавающей точкой.

Блок контроля и распределения прерываний является программируемым — возможно сконфигурировать до 255 независимых источников аппаратных прерываний

Добавлена система управления энергопотреблением: мультипроцессор имеет возможность отключать неиспользуемые ресурсы и процессоры (Adaptive Shutdown), что в итоге дает динамическое энергопотребление порядка 0,49 мВт/МГц — экономится до 85% энергии.

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

Технические характеристики:

  • 90-нм технологический процесс;
  • рабочая частота — 320-620 МГц;
  • занимаемая площадь с кэшем 1,77 мм2;
  • размер кэша — 16 Кбайт / 16 Кбайт;
  • потребляемая мощность — 0,23-0,43 мВт/МГц (без кэша — 0,180,37 мВт/МГц).

Занимаемая ядром площадь, диапазон рабочих частот и потребляемая мощность зависят от использованного при реализации технологического процесса, библиотек компонентов и оптимизации. Приведенные числа получены при следующих условиях производства: технологический процесс — TSMC; стандартный набор библиотек компонентов — ARM Artisan.

Серия Cortex-A MPCore

Процессоры семейства Cortex-A MPCore \text{\texttrademark} [49-50-51] — Cortex-A5 MPCore \text{\texttrademark} и Cortex-A9 MPCore \text{\texttrademark} — помимо небольшой занимаемой площади и энергоэффективности обладают богатым арсеналом возможностей и функциональностью архитектуры ARMv7, что в итоге дает высокую производительность и низкое энергопотребление, как на специфических прикладных приложениях, так и для устройств общего плана. Поддерживается также технология Thumb \text{\textregistered} -2, обеспечивающая высокую производительность при одновременном уменьшении размера кода на 30%.

Процессоры, входящие в состав мультипроцессоров Cortex-A MPCore \text{\texttrademark}, имеют блок операций с плавающей точкой, способный выполнять операции с одинарной и двойной точностью. Он обладает примерно вдвое большей производительностью, чем предыдущие версии ARM FPU.

Архитектура ARM Cortex-A5/A9 ( рис. 8.2) имеет мультимедийное 128-битное SIMD расширение архитектуры — NEON, предназначенное для поддержки мультимедийных операций и функций цифровой обработки сигналов (например, для ускорения работы таких алгоритмов, как H.264 или MP3). Также данный модуль расширяет систему команд набором инструкций ARM NEON Advanced SIMD, впервые представленным с процессором Cortex-A8.

Структура процессоров Cortex-A MPCore

увеличить изображение
Рис. 8.2. Структура процессоров Cortex-A MPCore

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

Подсистема памяти обладает возможностью загрузки данных в кэш первого уровня за один цикл. Оптимизированная подсистема AMBA AXI обладает полосой пропускания, которая более чем в три раза шире, чем у процессоров ARM1176JZ-S.

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

Начиная с процессора Cortex-A9 MPCore мультипроцессорная технология MPCore включает в себя следующие решения и технологии:

  • порт ускорения согласования — Accelerator Coherence Port (ACP) — для увеличения системной производительности и снижения энергопотребления;
  • блок Advanced Bus Interface — для снижения задержек в устройствах с высокими требованиями к полосе пропускания.

Компоненты Program Trace Macrocell и CoreSight \text{\texttrademark} Design Kit позволяют разработчику отслеживать выполнение программы либо с сохранением истории выполнения в буфер кристалла, либо с выдачей ее через стандартный отладочный интерфейс, что весьма упрощает процесс разработки и отладки программ.

Технология Multicore TrustZone \text{\textregistered} имеет виртуализацию прерываний для аппаратной поддержки защиты данных и расширенных возможностей решений по виртуализации приложений.

Общий контроллер прерываний — Generalized Interrupt Controller (GIC) — предназначен для поддержки портабельности программного обеспечения и оптимизации межпроцессорного обмена.

< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Сергей Горбунов
Сергей Горбунов

 

прошел курс и сдал экзамен   Многоядерные процессоры   

система сертификат не выдала. почему?

Селена Шаронова
Селена Шаронова
Россия, Санкт-Петербург, ГБОУ Школа №438, учитель физики, математики
Екатерина Кудрявцева
Екатерина Кудрявцева
Россия, Самара, ПГУТИ, 2013