Pull to refresh
0

Мобильная платформа Qualcomm Snapdragon

Reading time5 min
Views22K
Процессоры мобильных устройств за последние несколько лет преодолели рубеж в 1.5 ГГц, обрели многоядерность, научились декодировать видео, ускорять флеш и поставили под вопрос доминирование архитектуры х86 на рынке персональных вычислений. Смартфон, который легко умещается на ладони, по уровню производительности вплотную подобрался к нетбуку.

Inside the box

В отличие от своих настольных собратьев, мобильные платформы — это вещь в себе. Все компоненты системы, включая CPU, GPU и многое другое — размещены на единственной интегральной микросхеме. Подобная конструкция обрела название System-On-Chip (SoC, система-на-чипе). Использование SoC позволяет упростить разводку системной платы, уменьшить производственные затраты, а также оптимизировать энергопотребление и тепловыделение системы в целом.

Сердцем HTC Sensation и Evo 3D является SoC MSM8260 компании Qualcomm, с которым мы и познакомимся более детально. MSM8260 — это второе поколение чипов Qualcomm Snapdragon, выполненное по 45 нм технологическому процессу.
System-on-Chip Qualcomm Snapdragon состоит из следующих функциональных блоков:
  • Application Processor / CPU — центральное процессорное ядро, на котором работает операционная система. В чипсетах Snapdragon трудится процессорное ядро Scorpion от Qualcomm.
  • GPU — видеоускоритель Adreno с поддержкой унифицированной шейдерной архитектуры и OpenGL ES 2.0. Помимо своих прямых обязанностей, Adreno (205 и выше) также занимается аппаратным ускорением Adobe Flash, SVG и т.д.
  • Baseband / Modem — микропроцессор, на плечи которого ложится работа с GSM/UMTS/CDMA. Трансиверы и усилители сигнала, как правило, выполнены в виде отдельных микросхем.
  • DSP — специализированный микропроцессор, выполняющий задачи по кодированию видео, обработке изображений, mp3 и других аудиопотоков. Таким образом, DSP разгружает основной процессор от выполнения слишком затратных мультимедийных операций. В семействе Snapdragon трудится сопроцессор QDSP6000 с частотой 595 МГц.
  • GPS — микропроцессор для выполнения логики, связанной с определением текущего местоположения. Технология, используемая в SoC от Qualcomm, называется gpsOne и использует сигналы со спутников системы GPS, GLONASS, а также с вышек сотовых операторов.

Scorpion

В то время, как большинство производителей лицензируют архитектуру у ARM, Qualcomm решили создать процессорное ядро самостоятельно, используя лишь набор инструкций ARMv7. Результатом упорной работы подразделения в Северной Каролине стало процессорное ядро Scorpion. Scorpion совместим с Cortex-A8 по набору инструкций, но значительно опережает по возможностям, подходя вплотную к Cortex-A9.

Для увеличения производительности и сохранения приемлемого уровня энергопотребления в Scorpion реализована поддержка суперскалярности и механизма внеочередного исполнения команд (out-of-order execution). Обе технологии давно нашли применение в архитектуре х86, но появились в процессорах ARM совсем недавно. Механизм суперскалярности позволяет процессору загружать за один такт две инструкции, дабы избежать простоя исполнительных блоков процессора. Поддержка внеочередного исполнения команд позволяет спекулятивно запускать на выполнение команды по мере их готовности, не дожидаясь результата выполнения предыдущих. Процессор Cortex-A8 поддерживает менее продвинутый механизм in-order execution, который менее эффективно использует исполнительные блоки процессора.

Конвейер Scorpion имеет 13 стадий и по дизайну схож с Cortex-A8, но при этом процессор от Qualcomm может работать на бОльших частотах. Конвеер Cortex-A9 содержит 8 стадий, что при одинаковых частотах позволяет ему быть более производительным, нежели Scorpion, за счет уменьшения накладных расходов при ошибках механизма предсказания ветвлений. Однако, Scorpion при этом остается более экономичным процессором, да и запас по частотам у него больше.

Времена, когда операции с плавающей точкой выполнялись на процессорах ARM исключительно с помощью программой эмуляции, уже далеко в прошлом. В Scorpion, как и в Cortex A8/A9, реализован блок FPU VFP (Vector Floating-point Architecture). Scorpion и Cortex A9 имеют паритет по производительности FPU, а вот A8 уступает своим собратьям. В A8 ARM решили не использовать конвейерную обработку для VFP и сильно прогадали.

Отдельно следует упомянуть блок SIMD-расширений NEON, который впервые появился в процессорах Scorpion (128-bit data) и Cortex A8 (64-bit data). NEON — исполняющее устройство для обработки целочисленных данных и данных с плавающей точкой. Любопытен факт, что в A9 наличие NEON совершенно не обязательно, и к примеру, в nVidia Tegra 2 этого блока нет! Как вы, наверное, уже догадались, SIMD-инструкции NEON используются для оптимизации приложений по обработке мультимедиа данных. К примеру, RockPleer использует NEON для декодирования видео, и количество подобных приложений в будущем будет только расти.

Multicore

Поддержка многоядерности в Snapdragon была заложена изначально, а первой ласточкой стал SoC MSM8260 в HTC Sensation и Evo 3D. Двухъядерные решения на архитектуре Cortex A9 появились на рынке немногим раньше, но, в отличии от Snapdragon, обладают меньшей гибкостью.


Рассмотрим различия более детально:
  • L2-кэш. MSM8X60 содержит два процессорных ядра Scorpion, которые разделяют между собой 512 Кб L2-кэша (кэш второго уровня), против 1 Мб в конфигурациях c Cortex A9. Однако кэш в решениях от Qualcomm тактируется совершенно независимо от процессорных ядер и в большинстве случаев работает на максимальной частоте процессорного ядра. L2-кэш Cortex A9 совмещен c процессорными ядрами посредством более медленной шины AXI и работает на более низкой частоте.
  • Ассинхронная многоядерность. Не секрет, что современные мобильные процессоры для уменьшения энергопотребления могут динамически понижать собственную частоту и напряжение на ядре. При разработке многоядерных решений Qualcomm сделали возможным устанавливать разные частоты и напряжения на процессорных ядрах. Данный эффект получил название ассинхронной многоядерности. В это же время у Cortex A9 нет такой гибкости: процессорные ядра вынуждены работать на одинаковой частоте и напряжении.


Adreno

Долгое время Qualcomm лицензировал у ATI/AMD видеопроцессор Imageon, а в начале 2009 года AMD объявила о продаже подразделения по разработке мобильных GPU компании Qualcomm. Результатом работы специалистов Qualcomm и AMD стал видеоускоритель Qualcomm Adreno.

Производительность Adreno растет огромными темпами: если Adreno 2xx может обеспечить уровень графики сравнимый с PS2, то в серии Adreno 3xx Qualcomm обещает совершить качественный скачок и по уровню графики сравняться с PS3 и XBox 360. К примеру, аппаратная тесселяция появилась в современных видеоускорителях совсем недавно, но ее поддержка уже имеется в Adreno 205 и выше.


Wrap-up!

Несмотря на то, что первая версия Snapdragon увидела свет в 2008 году, она постоянно совершенствуется и на сегодня является одной из самых востребованных и конкурентноспособных. В следующем году Qualcomm планирует запустить новое процессорное ядро Krait и обновленную версию ускорителя Adreno. Ожидается, что решение не только опередит по производительности Cortex A9, но и сможет идти вровень с Cortex A15.

В Scorpion и Adreno заложен огромный потенциал, который на данный момент используется лишь на самую малую часть (NEON SIMD, аппаратная акселерация OpenVG), но обязательно покажет себя в ближайшем будущем.

Материалы

Tags:
Hubs:
+32
Comments15

Articles

Information

Website
www.htc.com
Registered
Founded
1997
Employees
1,001–5,000 employees
Location
Россия