- •Глава 32. Особенности структуры ядер процессоров для мобильных и встраиваемых систем
- •32.1. О процессорах Cortex a, Cortex m
- •32.2. Ядра процессоров Cortex-a Ядро процессора Cortex-a5
- •Ядро процессора Cortex-a9
- •Ядро процессора Cortex a7 Характеристики ядра:
- •32.3. Ядра процессоров Cortex-m
- •32.4. Ядра однокристальных систем фирмы Intel со структурой Silvermont
- •32.5. Контрольные вопросы
Глава 32. Особенности структуры ядер процессоров для мобильных и встраиваемых систем
32.1. О процессорах Cortex a, Cortex m
Архитектура ARMv7 и, соответственно, процессоры Cortex разделены на три главных семейства: прикладные процессоры (А), процессоры для систем реального времени (R) и микроконтроллеры (М).
Прикладные процессоры предназначаются для работы с открытыми операционными системами (ОС), содержат модуль управления памятью (MMU), обеспечивающий виртуальную адресацию и защиту памяти.
В процессорах серии R предусмотрен только модуль защиты памяти (MPU). Эти процессоры не позволяют виртуализовать адресное пространство, но обеспечивают лучшее время обработки прерываний и других, критичных для такого рода систем задач. Отсутствие защиты памяти в таких системах не очень важно, поскольку такие процессоры работают под управлением специализированной программной прослойки, там нет "недобросовестных" программ.
Микроконтроллеры вообще не имеют ни модуля управления памятью (MMU), ни модуля защиты памяти (MPU), но обеспечивают сверхбыструю реакцию и специфические средства (например, встроенные контроллеры флэш-памяти и прерываний).
Нумерация после буквы первоначально означала относительный рейтинг вычислительной мощности процессора в семействе (по десятибалльной шкале). Например, Cortex-A15 - процессор для прикладных задач почти максимальной мощности. Менее производительная модификация, например, Cortex-A5, если встречается обозначение Cortex-R9, то понятно, что это мощный процессор для систем реального времени, Cortex-МЗ - маломощный микроконтроллер и т. д.
Со временем с появлением все большего числа новых процессоров номер в названии процессора стал определять только последовательность разработки процессора в ряду процессоров Cortex-A.
32.2. Ядра процессоров Cortex-a Ядро процессора Cortex-a5
Ядро процессора Cortex-A5 — это было самое маленькое, низкопотребляющее ядро, предназначенное для широкого круга устройств: от мобильных устройств типа смартфонов, коммуникаторов, мультимедийных проигрывателей и т. п. до встраиваемых пользовательских или индустриальных компьютеров.
Характеристики ядра:
архитектура ARMv7;
40-нм технология;
рабочая частота — 480 МГц;
занимаемая площадь на кристалле — 0,53 мм2 (без кэш-памяти — 0,27 мм2);
размер кэш-памяти команд/данных — 16К байт/16К байт;
площадь, занимаемая ядром с кэш-памятью и блоком расширения NEON — 0,68 мм2;
энергопотребление — 0,12 мВт/МГц;
8-уровневый конвейер;
блок предсказания ветвлений;
модуль NEON;
блок вычислений с плавающей точкой.
Все блоки ядра были оптимизированы по потребляемой мощности и занимаемой площади.
Структурная схема ядра Cortex-A5 приведена на рис. 32.1.
Рис. 32.1. Структурная схема ядра ARM Cortex-A5
Ядро процессора Cortex-a9
Ядро Cortex-A9 подняло пиковую производительность по сравнению с ядром Cortex-A5 на более высокий уровень при одновременной поддержке простоты решений и возможностей контроля потребляемой мощности, как на уровне ядра, так и на уровне системы в целом.
Характеристики ядра;
архитектура ARMv7;
энергоэффективный суперскалярный конвейер;
оптимизированная по производительности и потребляемой мощности кэш-память первого уровня с минимальным временем задержки и минимальным энергопотреблением;
контроллер кэш-памяти второго уровня, позволяющий осуществлять доступ с малыми временами задержки и высокой пропускной способностью;
поддержка ряда специфических расширений ARMv7-архитектуры, в том числе: DSP, SIMD, Jazelle®, TrustZone, Intelligent Energy Manager.
На рис. 32.2 приведена структура ядра Cortex-A9.
Рис. 32.2. Структура ядра Cortex-A9
