Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 35. Многоядерные процессоры для мобильных и встроенных систем.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
880 Кб
Скачать
☆

Ядро Cortex-a15 имеет буфер на 128 декодированных команд;

каждое ядро имеет по 32К байт кэш-памяти L1 для команд и по 32К байт — для данных;

общая кэш-память второго уровня 2М байт – только для данных ;

Наиболее производительный из процессоров линейки Cortex-а5 - Cortex-а15.

Процессор Cortex-A17

На рис. 35.3 представлена структура процессора Cortex-A17.

Рис. 35.3. Структура процессора Cortex-A17

Возможны несколько вариантов использования процессора Cortex-A17 в конфигурациях big.LITTLE, которые, в зависимости от типа выполняемых задач и нагрузки, позволяют добиться либо высокого быстродействия, либо минимального потребления энергии:

два ядра Cortex-A17 и два ядра Cortex-A7;

четыре ядра Cortex-A17 и четыре ядра Cortex-A7.

Для «умных» телевизоров предназначены процессоры с одним, двумя и четырьмя ядрами Cortex-A17.

35.3. Примеры структур 64-разрядных многоядерных процессоров Cortex a

64-разрядные многоядерные процессоры Cortex-A53 и Cortex-A57

Структура многоядерного процессора Cortex-A53 приведена на рис. 35.4.

Рис. 35.4. Структура многоядерного процессора Cortex-A53

Основные особенности процессора Cortex-A53:

архитектура ARMv8А;

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

40-разрядная виртуальная адресация памяти;

поддержка до 1 Тбайт ОЗУ;

от 8 до 64К байт кэш-памяти L1 для команд и (8—64)К байт кэш-памяти L1 для данных;

имеет:

блок NEON;

математический сопроцессор;

от 128К байт до 2М байт общей кэш-памяти L2 (с поддержкой ECC);

128-разрядный интерфейс CoreLink Interconnect (CCI-400 и CCN-504).

Ядро Cortex-A53 является «самым эффективным процессором ARM из всех, созданных до 2013 г. Оно способно предоставить производительность на уровне ядра Cortex-A9, имея при этом поддержку 64-разрядных команд и полную совместимость с архитектурой ARMv7. При производстве на 32-нм техпроцессе ядро Cortex-A53 занимало на 40% меньше площади по сравнению с ядром Cortex-A9. Если же сравнивать 20-нм ядро Cortex-A53 с 32-нм ядром Cortex-A9, то первое в 4 раза меньше. Ядро потребляет в 4 раза меньше энергии по сравнению с ядрами Cortex-A9 при условии одинаковой производительности.

Структура многоядерного процессора Cortex-A57 приведена на рис. 35.5.

Рис. 35.5. Структура многоядерного процессора Cortex-A57

Основные особенности процессора Cortex-A57:

архитектура ARMv8А;

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

44-разрядная виртуальная адресация памяти;

поддержка до 1Т байт ОЗУ (от LPDDR3 до DDR4);

48К байт кэш-памяти L1 для команд и 32К байт кэш-памяти L1 для данных;

имеет:

блок NEON;

математический сопроцессор;

от 128К байт до 2М байт общей кэш-памяти L2 (с поддержкой ECC);

128-разрядный интерфейс CoreLink Interconnect (CCI-400 и CCN-504).

Процессор Cortex-A57 имеет утроенную по отношению к ядрам Cortex-A15 производительность в 32-разрядном режиме и 5-кратное превосходство по энергоэффективности. Масштабируемость Cortex-A57 позволяет создавать кристаллы с 16-ю и более ядрами. Имеются специальные команды, позволяющие ускорять шифрование в 10 раз.

35.4. Многоядерный процессор фирмы Samsung Exynos 5410 Octa

Процессор Exynos 5410 Octa содержит четыре ядра  Cortex-A15 и четыре ядра Cortex-A7 (архитектура ARMx7a), работающих по принципу «big.Little» и позволяющих операционной системе переключаться между двумя группами ядер в зависимости от требуемой производительности.

Ядер восемь, но, по сути, они представляют собой два разных 4-х ядерных кластера на одном кристалле. Первый кластер содержит 4 ядра Cortex-A15. Площадь этой части микросхемы примерно 19 мм2. Второй 4-х ядерный кластер построен на более энергоэффективных ядрах Cortex-A7, кэш-памяти L1 у них по 32К байт, а кэш-память-память L2 — в четыре раза меньше - 512К байт на все четыре ядра. С точки зрения площади, эта часть в 5 раз меньше: всего 3,8 мм2, а по энергопотреблению экономичнее почти в 6 раз, однако в 4 раза менее производительна.

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

В обеих микросхемах частота и напряжение каждого ядра регулируются индивидуально.

Как это работает? Большую часть времени мощные ядра Cortex-A15 отключены, и все задачи обрабатываются при помощи экономичных ядер Cortex-A7. Считается, что ядра Cortex-A7 отлично подходят для «легких прогулок по Интернету», работы с электронной почтой и картами. Система последовательно подключает все больше ядер Cortex-A7 по мере того, как нагрузка возрастает. Потом в дело вступают ядра Cortex-A15, которые отлично справляются с «тяжелыми» играми, а на деле выполняют практически все задачи, за исключением трех вышеописанных. Теоретически можно было бы использовать ядра разных типов параллельно, ведь набор команд в них один и тот же. Но это не слишком выгодно с точки зрения энергосбережения, поэтому в какой-то момент, пока энергопотребление еще остается в пределах 1 Вт, кластер ядер Cortex-A7 отключается, и все задачи переносятся на ядра Cortex-A15, благодаря тому, что у ядер Cortex-A7 и Cortex-A15 общий набор команд и никаких проблем при переносе не возникает. Дальше все задачи берут на себя ядра Cortex-A15, и чем сложнее выполняемое задание, тем больше ядер будет задействовано. В таком режиме микросхема может потреблять до 6 Вт. Как только система выполнит «тяжелую» работу, данные вновь будут перенесены в ядра Cortex-A7, а ядра Cortex-A15 «уснут» и перестанут потреблять электричество.

Переключение между кластерами ядер в теории должно занимать не более 20 миллисекунд.