Общее и различия в структурах ядер фирм Intel и ARM для мобильных систем

 

В настоящее время рынок микросхем для мобильных систем (смартфонов, планшетов, навигаторов и т.п.) разных ценовых диапазонов значительно превосходит объем рынка микросхем для персональных компьютеров. Основными разработчиками процессоров для этих областей применения являются фирмы ARM, Samsung, Apple, LG и ряд других фирм. Фирма Intel своевременно не включилась в борьбу за эти рынки и теперь пытается отвоевать часть этого рынка. Развернулась острая конкуренция.

Исторически сложилось так, что основным разработчиком архитектур ядер процессоров для мобильных систем является фирма ARM. Архитектуры ядер процессоров Samsung, Apple, LG и ряда других фирм это либо архитектуры Cortex A, либо близкие к ним архитектуры типа RISC.

Возникает вопрос какой же архитектуре отдать предпочтение - Cortex A фирмы ARM или IA-32/64 фирмы Intel?

В структурах ядер обеих фирм имеется много общего, а именно:

конвейерная структура;

суперскалярность;

внеочередное выполнение команд;

переименование регистров;

предсказание ветвлений;

обработка как целочисленных данных, так и с плавающей точкой;

реализованы векторные команды;

отдельные кэш-памяти команд и данных первого уровня;

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

возможность работы в многоядерных компьютерах;

64-разрядные регистры общего назначения;

адресация оперативной памяти свыше 4Г байт;

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

А чем же структуры ядер процессоров конкурирующих фирм отличаются?

Основные отличия обусловлены особенностями архитектур. Архитектура фирмы Intel это архитектура типа CISC. В этой архитектуре:

сложное, нерегулярное и достаточно запутанное кодирование команд;

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

ограниченное число регистров общего назначения;

обширная система адресации данных в оперативной памяти;

очень большой набор команд исходя из требований больших систем;

адресация периферийных устройств с помощью специальных команд ввода-вывода, которая в настоящее время практически не используется.

Архитектура Cortex A фирмы ARM это архитектура типа RISC. Эта архитектура изначально создавалась с учетом особенностей мобильных систем, таких как:

минимально возможное потребление энергии;

минимально возможные размеры;

минимально возможная цена;

оптимальный набор команд и способов адресации;

большое число регистров общего назначения;

регулярное и достаточно простое кодирование команд;

команды обращения в оперативную память выделены в отдельную группу;

обработка всех данных производится только через регистры;

отсутствует сегментация оперативной памяти;

периферийные устройства адресуются также как и ячейки оперативной памяти.

С учетом всех отличий архитектур и основных областей применения исторически структуры ядер процессоров Cortex A были более простыми в сравнении с ядрами процессоров с архитектурой IA-32/64. Прежде всего они имели более простые и менее потребляющие дешифраторы команд. В результате:

энергоэффективность ядер процессоров Cortex A была выше, чем у аналогичных ядер процессоров с архитектурой IA-32/64;

эти ядра проще и быстрее проектировались и осваивались в производстве;

были дешевле.

В мобильном сегменте, там, где не требуется очень высокая производительность, а активность пользователя в основном ограничена развлечениями, и не связана с работой, ядра процессоров фирмы ARM до недавнего времени выглядели предпочтительнее ядер процессоров с архитектурой IA-32/64. Они обеспечивали приемлемый уровень производительности, а также большое время автономной работы.

Однако, огромный потенциал фирмы Intel (финансовый, промышленный, инженерный) невзирая на недостатки архитектуры IA-32/64 позволил ей разработать структуры ядер процессоров для мобильных систем, которые не уступают ядрам процессоров конкурирующих фирм (и даже превосходят их по некоторым параметрам).

Ответ на вопрос «какой же архитектуре отдать предпочтение - Cortex A или IA-32/64?» может дать только конкретный производитель или потребитель.

 

Контрольные вопросы

1. Основные особенности ядра Cortex A5

2. Основные особенности ядра Cortex A8

3. Основные особенности ядра Cortex A9

4. Основные особенности ядра Cortex A7

5. Основные особенности ядра Cortex A15

6. Основные особенности ядра Cortex М3

7. Основные особенности ядра Cortex М0

8. Основные особенности ядра Cortex М4

9. Основные особенности ядер со структурой Silvermont