Snapdragon S4 — линейка мобильных систем-на-чипе компании Qualcomm

Содержание

Введение

Нашим читателям хорошо известно, что мобильные решения за последние пару лет затмили настольные ПК. Но совсем не в том смысле, что последние никому не нужны, а в том, что информационное поле сейчас почти полностью захвачено смартфонами и планшетами. Это и понятно, мощность настольных компьютеров давно достаточна среднестатистическому пользователю, да и ничего действительно нового и интересного для ПК давно не придумывалось. Поэтому и производители, и пользователи, а также и мы перенесли своё внимание на новую нишу рынка. Такова уж природа человека — его желательно постоянно заинтересовывать чем-то новеньким.

Посмотрите статистику «самых читаемых статей за последние три месяца» на главной странице нашего сайта. Равно как и аналогичные данные на любом из IT-сайтов широкого профиля, она показывает, что именно материалы о мобильных решениях завоевали наибольшую популярность среди читателей. Почти постоянно первые места заняты обзорами топовых коммуникаторов и планшетов. Причём чаще всего это обзоры с точки зрения простого пользователя, которому не интересны тонкости внутреннего устройства этих продуктов, зато важен обзор функциональности. Оно и немудрено, ведь большинство пользователей автомобилей или телевизоров ровно так же знают очень мало подробностей об устройстве этих вещей.

Но наш сайт старается рассказывать в том числе и о деталях внутренней организации различных устройств — тем интересующимся читателям, которых хоть и не слишком много, но они всё же есть. Ранее мы уже рассматривали несколько систем-на-чипе, которые лежат в основе некоторых смартфонов и планшетов: NVIDIA Tegra 2, NVIDIA Tegra 3, Intel Medfield. Это те системы-на-чипе, которые были в последнее время на слуху, как говорится. Но самые распространённые мобильные устройства из продающихся на данный момент основаны совсем на других SoC. Если не брать чипы, спроектированные компанией Apple, о технических деталях которых известно не слишком многое, то больше всего распространены устройства на базе чипов Qualcomm — именно эта компания является сейчас сильнейшим игроком на мировом рынке систем-на-чипе.

В упомянутых выше материалах мы подробно рассказывали, что такое системы-на-чипе (SoC) и из чего они состоят, упоминали и то, каким образом они разрабатываются разными компаниями. Так, большинство компаний берёт готовые дизайны вычислительных ARM-ядер и GPU у сторонних разработчиков и конструирует на основе этих блоков целые системы-на-чипе. Но некоторые производители, такие как Qualcomm, сами проектируют вычислительные ядра, совместимые с системой команд ARM. Таким было ядро Scorpion в предыдущих чипах компании, таким стало и ядро Krait в современных системах-на-чипе семейства Snapdragon S4, которое мы сегодня рассмотрим.

Qualcomm — это не единственная компания, которая поставила своей задачей улучшить производительность вычислительных ядер и их энергоэффективность, создав ARM-ядро собственной архитектуры, не используя современные наработки компании ARM (такие как ядро Cortex-A15). Как стало известно не так давно, этим же путём пошла и компания Apple, выпустив iPhone 5, основанный на новой системе-на-чипе, использующей ARM-ядра своей собственной архитектуры (но ARM-совместимые, естественно). В свою очередь, компания NVIDIA до сих пор избирала путь использования дизайна ARM с увеличением количества ядер и их тактовой частоты, ведь их Tegra 3 имеет 4+1 ядро CPU. Но и в NVIDIA занимаются улучшением архитектуры для будущих решений, потому что это позволяет получить преимущество в широком круге задач.

Компания Qualcomm давно имеет такую лицензию на архитектуру ARM, которая позволяет им разрабатывать свои собственные микроархитектуры, совместимые с набором инструкций ARM, чем они и занимаются уже какое-то время. До выхода Apple iPhone 5 именно компания Qualcomm была, по сути, единственным игроком на рынке SoC, который использовал ARM-ядра собственной архитектуры. Основным плюсом такого подхода является то, что дизайн собственной разработки может иметь лучшие характеристики по сравнению с дизайном ARM, в том числе по энергоэффективности — важнейшему для мобильных решений параметру. Ну а в недостатки можно записать совершенно очевидные затраты на проектирование собственной CPU-архитектуры и возможные потери во времени из-за её разработки.

Первой собственной ARM-архитектурой, применённой в системе-на-чипе Snapdragon, стала вычислительная архитектура Scorpion. Это было оптимизированное ядро дизайна ARM Cortex с исполнением команд по очереди (in-order), и в системах-на-чипе Qualcomm времен 2009-2010 годов применялись по одному-два ядра Scorpion с частотами до 1,5 ГГц. Так как позднее в 2011 году у конкурентов (NVIDIA, Texas Instruments, Samsung и др.) вышли уже двухъядерные SoC на базе более мощной архитектуры Cortex-A9, то Qualcomm немного отстала по производительности, поскольку скорость Scorpion была несколько ниже.

Но в 2012 году компания всерьёз настроилась вернуться в битву на рынке мобильных систем-на-чипе, выпустив серию Snapdragon S4, основанную на новой микропроцессорной ARM-совместимой архитектуре под названием Krait. Именно Qualcomm стала первой, кто превзошёл производительность Cortex-A9, да ещё и выпустив первые SoC с использованием современного техпроцесса 28 нм в массовых количествах. Кроме улучшенных ARM-ядер, в новых чипах Qualcomm можно выделить встроенную модемную часть с поддержкой LTE и высокой энергоэффективностью, а также модифицированное видеоядро Adreno, получившее новые возможности и значительно возросшую 3D-производительность. Сегодня мы подробно разберём все детали архитектуры новых систем-на-чипе Qualcomm, решения на базе которых уже вышли на рынок.

Линейка систем-на-чипе Snapdragon S4

Итак, как вы уже поняли, Snapdragon — это общее название семейства систем-на-чипе для мобильных решений (смартфонов, планшетов и смартбуков) компании Qualcomm. Имена серий продуктов (S1, S2, S3 и S4) используются для указания поколения SoC — чем выше число, тем более современный чип. Но у названий есть ещё и серии: Play, Plus, Pro и Prime — они указывают на предназначение данных систем-на-чипе, в зависимости от требуемых функциональности, мощности и потребления энергии. Давайте рассмотрим технические характеристики уже анонсированных моделей SoC, сведя их в удобную таблицу:

СерияPlayPlusProPrime
Модели чипов MSM8225
MSM8225Q
MSM8625
MSM8625Q
APQ8060A
MSM8960
MSM8660A
MSM8260A
APQ8030
MSM8930
MSM8630
MSM8230
MSM8627
MSM8227
APQ8064
MSM8960T
MPQ 8064
MSM 8974
CPUДва/четыре ядра Cortex-A5, до 1,2 ГГцДва ядра Krait, 1,0—1,7 ГГцДва/четыре ядра Krait, до 1,7 ГГцЧетыре ядра Krait, 1,7—2,5 ГГц
GPUAdreno 203Adreno 225 или 305Adreno 320Adreno 320
Памятьодин канал LPDDR2один/два канала LPDDR2два канала LPDDR2два канала LPDDR2/LPDDR3
Модем3G/4G3G/4G/LTE (выборочно)3G/4G/LTE (выборочно)нет
BluetoothОтдельный BT 3.0Встроенный BT 4.0Встроенный BT 4.0Встроенный BT 4.0
Wi-FiОтдельный 802.11n (2,4 ГГц)Встроенный 802.11n (2,4/5 ГГц)Встроенный 802.11n (2,4/5 ГГц)Встроенный 802.11n (2,4/5 ГГц)
Техпроцесс45/40 нм28 нм28 нм28 нм
Устройства Huawei Ascend G330D
HTC Desire X
HTC Desire SV
ASUS Padfone
ASUS Transformer Pad Infinity
HTC Windows Phone 8S
HTC One S
HTC Evo 4G LTE
Sony Xperia T/V
Nokia Lumia 820/920
Samsung Galaxy S III (версии)
Motorola Droid Razr HD/Maxx HD
LG Optimus G
Xiaomi MI-2
ASUS Padfone 2
HTC J Butterfly
HTC Droid DNA
Google Nexus 4
 

Как видите, характеристики соответствуют предназначению систем-на-чипах. Версии для дешёвых коммуникаторов имеют более простые ядра Cortex-A5, сравнительно слабый GPU, одноканальную память, отсутствие поддержки LTE и требуют отдельных чипов для поддержки беспроводных сетей. При их изготовлении используются не самые новые техпроцессы. Более мощные SoC для коммуникаторов высокого уровня имеют ядра Krait, видеоядро Adreno нового поколения, поддерживают до двух каналов памяти и имеют встроенную поддержку LTE, Wi-Fi и BT. Они уже делаются по нормам 28 нм, как и самые мощные решения Prime, не имеющие встроенной модемной части, зато предлагающие наибольшую частоту CPU и GPU, а также поддержку двух каналов памяти LPDDR3.

Причём линейка Snapdragon S4 постоянно дополняется новыми моделями. В сентябре были анонсированы новые системы-на-чипе моделей MSM8225Q и MSM8625Q — они обе принадлежат к линейке Snapdragon S4 Play и предназначены для применения в недорогих коммуникаторах. После их выхода линейка Snapdragon S4 Play предлагает двухъядерные и четырёхъядерные CPU для смартфонов от начального уровня до более мощных устройств с высоким разрешением экрана, поддержкой видео высокого разрешения и т. п. Поставки улучшенных моделей начнутся в конце года, а продукция на их основе ожидается к появлению на рынке в первом квартале следующего.

Обе эти системы-на-чипе (MSM8225Q и MSM8625Q) являются улучшенными моделями MSM8225 и MSM8625 из той же линейки Snapdragon S4 Play. Пусть они и основаны на слабых CPU-ядрах Cortex-A5, зато они четырёхъядерные. Старые модели без индекса «Q» имеют по два ядра, а новые четырёхъядерные поддерживают память LPDDR2 с большей пропускной способностью, а также кодирование и декодирование видеоданных высокого разрешения. В чип MSM8625Q интегрирован многорежимный UMTS/CDMA-модем, а MSM8225Q имеет модемную часть с поддержкой UMTS. Хотя оба чипа и не имеют встроенной поддержки Wi-Fi, Bluetooth 4.0 и FM, но для этого можно использовать внешние чипы Qualcomm Atheros AR6005 и WCN2243.

Также Qualcomm недавно анонсировала Snapdragon S4 Plus модели MSM8930, которая поддерживает все существующие мобильные сети в Китае: UMTS, CDMA и TD-SCDMA, а также LTE-TDD. MSM8930 с поддержкой LTE-TDD и TD-SCDMA будет доступен в те же сроки — в начале 2013 года в виде готовых устройств. В общем, широкий выбор мобильных систем-на-чипе Snapdragon S4 позволяет производителям смартфонов и планшетов подобрать максимально подходящий SoC для их нужд. Кроме того, новые чипы линеек Snapdragon S4 Play и Plus позволят легко перенести существующий дизайн со Snapdragon S1 на S4, с увеличением производительности и функциональности такой версии.

Архитектура Krait

«Сердцем» системы-на-чипе в поколении Qualcomm Snapdragon S4 стало универсальное ядро, получившее название Krait. Все SoC под названием Snapdragon S4, за исключением серии Play, имеют в своей основе именно это вычислительное ядро, которое является собственной разработкой компании. Если предыдущее ядро Scorpion имеет много схожего с ARM Cortex-A8, но отличается более высокой производительностью при исполнении SIMD-инструкций, то Krait — это уже заметно более высокий уровень.

По сравнению с ядром Scorpion новая архитектура гораздо более продвинутая, и она имеет архитектурные сходства с более современным ядром ARM — Cortex-A15. Ядро Krait способно выбирать и декодировать три любые инструкции из набора ARMv7-A за один такт — в отличие от двух инструкций за такт у Scorpion и Cortex-A9. Уже одно это изменение позволило значительно увеличить количество исполняемых инструкций за такт (IPC). Как и предшествующий Scorpion, кроме ускорения целочисленных вычислений Krait отличается и улучшенным блоком операций с плавающей запятой и 128-битных SIMD-инструкций. Сравним все интересующие нас архитектуры по их основным характеристикам:

ARM Cortex-A5ARM Cortex-A8ARM Cortex-A9Qualcomm ScorpionQualcomm KraitARM Cortex-A15
Кол-во декодеров122233
Стадий конвейера81381011Более 15
Внеочердное исполнениеНетНетДаДа (не спекул.)ДаДа
Встроенный FPUVFPv4-D16 (опция)VFPv3VFPv3-D16 (опция)VFPv3VFPv4VFPv4
Набор инструкций NEONДа (128-бит, опция)Да (128-бит, частично)MPE (64-бит, опция)Да (128-бит)Да (128-бит)Да (128-бит)
Техпроцесс40 нм65/45 нм45/40/32 нм65/45 нм28 нм32/28 нм
Кэш-память L1до 16 + 16 КБ (на ядро)32 + 32 КБ32 + 32 КБ32 + 32 КБ16 + 16 КБ (4 + 4 КБ L0)32 + 32 КБ (на ядро)
Кэш-память L2?512 КБдо 1 МБ256 КБ на ядро0,5 МБ на ядродо 1 МБ на ядро
Количество ядер1—411—41—22—42—8

Хотя стадии выборки и декодирования в Krait соответствуют концепции выполнения инструкций по порядку (In-Order), но само по себе их исполнение — внеочередное (Out-of-Order), как и у Cortex-A15. В то время как ядро Scorpion имеет лишь три порта для запуска инструкций, у Krait их количество увеличилось до семи. Также Krait может выдавать до четырёх инструкций единовременно. Дополнительные порты помогают поднять количество исполняемых инструкций за такт и увеличить итоговую производительность ядра Krait.

Инженеры компании Qualcomm немного удлинили целочисленный конвейер в Krait по сравнению со Scorpion. Конвейер старого ядра имеет 10 стадий, а Krait — 11 стадий. Для сравнения, дизайн схожего по возможностям ARM Cortex-A15 имеет 15 стадий в целочисленном конвейере. С одной стороны, длинный конвейер Cortex-A15 должен дать преимущество в достижении более высокой тактовой частоты, а с другой — ядро Qualcomm зато содержит больше блоков с ручной оптимизацией логики (custom logic) по сравнению со стандартным дизайном ARM, что также должно давать преимущество по достижению высоких тактовых частот. И вполне вероятно, что в реальности их частоты будут схожи, но более короткий конвейер Krait принесёт некоторое преимущество.

В остальном Krait и Cortex-A15 на бумаге схожи, разве что ядра ARM умеют работать в восьмиядерной конфигурации, а также могут иметь больше кэш-памяти первого и второго уровней в расчёте на каждое вычислительное ядро. В целом уровень нынешних мобильных решений можно наглядно оценить по такому примеру: если поколение Cortex-A8 можно условно приравнять к первым настольным процессорам Intel Pentium, то современное ядро Qualcomm (да и Cortex-A15) по своей архитектуре схоже уже с Intel P6 — суперскалярной архитектурой, лежащей в основе процессоров Pentium II. И архитектурные особенности Krait (в частности — внеочередное исполнение инструкций) вместе с высокой тактовой частотой должны позволить Krait быть производительнее своего x86-совместимого конкурента — Intel Atom в виде мобильных решений типа Medfield.

Подсистема памяти

Ядро Krait имеет три уровня кэш-памяти: L0, L1 и L2. Первые два уровня являются выделенными для каждого ядра в составе SoC, а третий уровень (L2-кэш) разделяется между ядрами. Каждое ядро Krait имеет 8 КБ кэш-памяти уровня L0 (по 4 КБ для инструкций и для данных), этот кэш эксклюзивный, и данные в нём не обязательно должны дублироваться в L1. Доступ к этому виду кэш-памяти очень быстрый — один цикл, и его наличие позволяет понизить потребление энергии, которое увеличилось бы при использовании L1-кэша.

Что касается кэш-памяти первого уровня, то её объём в каждом ядре больше — 32 КБ (по 16 КБ для инструкций и данных). Доступ к ней также осуществляется за один цикл, и разница между L0 и L1 есть только в потреблении энергии: «нулевой» уровень кэш-памяти позволяет повысить экономичность ядра Krait, но не производительность. Это уникальное решение компании Qualcomm, которое есть только в их системах-на-чипе.

Кэш-память второго уровня (L2) разделяется между всеми вычислительными ядрами системы-на-чипе. Её объём был повышен по сравнению с ядром Scorpion, и на каждое ядро теперь условно приходится по 512 КБ L2-кэша. Соответственно, в двухъядерных моделях SoC общий объём кэш-памяти второго уровня составляет 1 МБ, а в четырёхъядерных — 2 МБ.

Самое большое отличие между кэш-памятью L0/L1 и второго уровня — в их скорости. Если первые два уровня работают на частоте ядра и при том же напряжении, что и ядра, то L2-кэш имеет отдельные линии питания и работает на своей частоте (до 1,3 ГГц). Это также нужно для экономии потребляемой энергии, ведь L2-кэш в некоторых случаях можно и вовсе отключить по возможности или необходимости.

Ещё одним улучшением по сравнению со Scorpion можно признать то, что Krait не имеет ограничений по двухканальному доступу к внешней памяти. Хотя у Scorpion уже был двухканальный контроллер LPDDR2-памяти, только один из них был доступен для внешней памяти, и решения на базе старых систем-на-чипе в итоге чаще всего имели лишь одноканальный доступ к оперативной памяти. В Krait это ограничение убрано, можно использовать оба канала памяти в любой конфигурации.

Использование двухканального доступа должно увеличить производительность современных SoC, ограниченных в некоторых задачах именно пропускной способностью памяти. А что касается объёма поддерживаемой оперативной памяти, то Krait поддерживает расширение физической адресации памяти до 40 бит — Large Physical Address Extension (LPAE), как и Cortex-A15, поэтому оба ядра способны адресовать более чем 4 ГБ памяти.

Техпроцесс и тактовая частота

Системы-на-чипе компании Qualcomm с ядрами Krait стали первыми чипами для мобильных устройств, выпущенными на основе самого современного техпроцесса 28 нм. Хотя компания сотрудничает одновременно с производителями TSMC и Global Foundries, первые чипы семейства производятся на фабрике тайваньской TSMC. Для этих микросхем используется обычный техпроцесс 28 нм «LP», а не 40 нм «LPG», как для NVIDIA Tegra 3, например. О разнице в техпроцессах мы подробно писали в предварительном обзоре системы-на-чипе NVIDIA.

У указанных компаний несколько разный подход к проектированию систем-на-чипах. Qualcomm полагает, что «LP»-техпроцесс в целом лучше подходит для мобильных устройств, так как большую часть времени мобильные чипы работают на невысокой частоте, а «G»-транзисторы помогают снизить утечки лишь при высоких частотах и напряжениях. По мнению компании, «LP» обеспечивает более выгодные характеристики энергоэффективности, когда «G» достигает предела по тепловыделению:

Как и в предыдущих ядрах Scorpion, в новом дизайне Krait используются выделенные линии питания для каждого из ядер — в отличие от тех же SoC производства NVIDIA. Сделано это, в том числе, для того, чтобы обеспечить возможность работы каждого из них на собственной тактовой частоте и на сниженном напряжении. Независимое питание и частота ядер даёт решениям Qualcomm преимущество по энергопотреблению и энергоэффективности во многих задачах.

Первой моделью SoC на базе ядер Krait стала двухъядерная модель Snapdragon S4 под наименованием MSM8960 — CPU-ядра в ней работают на частоте в 1,5 ГГц. В чипе второй ревизии частоту поднимут до 1,7-2 ГГц при том же напряжении в 1,05 В, при котором Scorpion работал лишь на частоте 1,55 ГГц. Новый техпроцесс TSMC при этих показателях (равном напряжении у Scorpion и Krait и более высокой частоте у последнего) позволил снизить потребление каждого ядра в некоей задаче с 0,432 Вт до 0,265 Вт.

Так что можно с уверенностью утверждать, что новые системы-на-чипе на основе вычислительных ядер Krait должны значительно улучшить показатели энергоэффективности мобильных устройств во всех задачах, и решения на базе чипов Snapdragon S4 в автономном режиме теоретически должны работать дольше своих предшественников, а в производительном будут значительно быстрее их.

Производительность и энергопотребление

Сравнительную производительность разных ARM-ядер проще всего оценить по показателю DMIPS (Dhrystone Millions of Instructions per Second) — миллионам инструкций в секунду в старом целочисленном тесте производительности Dhrystone. Вполне естественно, что сейчас уже есть достаточное количество более новых тестов, лучше отражающих реальную производительность, но общую информацию о скорости целочисленных вычислений для решений в рамках одной процессорной архитектуры вполне можно получить и из цифр DMIPS.

Данные в таблице приведены для шести разных CPU-ядер двух производителей, даны в DMIPS/МГц в расчёте на одно вычислительное ядро:

ARM Cortex-A5ARM Cortex-A8ARM Cortex-A9Qualcomm ScorpionQualcomm KraitARM Cortex-A15
DMIPS/МГц1,62,02,52,13,33,5

Со своим показателем в 3,3 DMIPS/МГц новое вычислительное ядро Krait получилось примерно на треть быстрее ядра Cortex-A9, работающего на той же частоте, а также почти на 60% производительнее предыдущей архитектуры компании — Scorpion. С учётом более высоких тактовых частот у современных SoC на базе Cortex-A9 они будут уступать Krait несколько меньше — порядка 25%, но с выходом чипов с большей частотой компании Qualcomm их решения должны увеличить эту разницу до 40-50%.

В случае Cortex-A15 точные данные ARM пока что неизвестны, но по неофициальным данным показатель DMIPS/МГц у Cortex-A15 несколько выше, чем у Krait — более 3,5. Но устройства на базе Cortex-A15 появились на рынке заметно позже, чем те, что используют Krait. Рассматривая только ядра, которые производила компания Qualcomm (чипы на базе ARM11 они делали до реализации Scorpion), можно увидеть, что прирост целочисленной производительности в каждом поколении был равен 60%.

Отдельно отметим, что изделия на базе Krait относятся к асинхронным симметричным многопроцессорным системам (aSMP), и разница между таким решением и синхронной работой заключается в том, что каждое ядро в aSMP-системе имеет собственную частоту и напряжение, что позволяет CPU-ядрам работать с максимальной эффективностью, выбирая частоту и напряжение для конкретной задачи и нагрузки.

Кроме того, в случае aSMP любое вычислительное ядро, которое не используется в данный момент времени, можно полностью отключить. По оценкам Qualcomm, всё это обеспечивает прирост в энергоэффективности на 25-40% по сравнению с синхронными архитектурами, а также упрощает чип — ведь в таком случае отпадает необходимость в дополнительных вспомогательных ядрах, работающих на меньшей частоте (как в архитектуре NVIDIA Tegra 3, названной 4-Plus-1, или аналогичной архитектуре big.LITTLE компании ARM).

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

Графическое ядро Adreno

В системы-на-чипе Snapdragon встраивается графическое ядро Adreno, имеющее архитектуру собственного дизайна Qualcomm. При этом используются разработки, полученные в результате покупки соответствующей части компании AMD, связанной с проектированием мобильных графических ядер. После этого Qualcomm переименовала продукты Imageon в Adreno (к слову, это анаграмма от «Radeon») и продолжила дальнейшую разработку мобильных графических архитектур.

Первая распространённая модель линейки Snapdragon S4 — MSM8960 — использует графическое ядро Adreno 225, но более современные и мощные SoC основаны на совершенно новых графических ядрах семейства Adreno 300. Компания не торопится раскрывать конкретные детали своих графических архитектур, и о видеоядрах Adreno известно не так много, как нам хотелось бы. В предыдущих статьях, посвящённых описанию мобильных систем-на-чипах, мы писали, что видеоядро Adreno имеет тайловую архитектуру, в общих чертах схожую с той, что применяется Imagination Technologies.

В случае таких архитектур рендеринг идёт над участками кадра по очереди. Сначала один кусочек (тайл), затем другой. За счёт такой архитектуры достигается преимущество в условиях недостатка пропускной способности памяти, но есть у неё и свои недостатки, которые могут проявиться при увеличении геометрической сложности сцены, так как в её случае требуется предварительная сортировка полигонов. Впрочем, пока что это мобильных GPU не касается, и применение тайловых архитектур вполне оправдано. Посмотрим, что получится в будущем, а пока что поговорим о графическом ядре Adreno 225.

В целом, архитектурно модели Adreno 225 и 220 почти одинаковы и относятся к унифицированным графическим архитектурам класса DirectX 9. Унификация вычислительных блоков на практике означает то, что все программы (вершинные, пиксельные и другие) выполняются на одних и тех же функциональных устройствах. Выполнение вершинных и пиксельных шейдеров универсальными исполнительными блоками повышает эффективность GPU в целом, так как эти блоки не простаивают в случае большей загрузки пиксельной или вершинной работой:

Отличия Adreno 225 от Adreno 220 заключаются в поддержке функций, необходимых для работы DirectX 9.3 в Windows 8: увеличенная гибкость и возможности по исполнению шейдеров, улучшенные текстурные модули с поддержкой форматов текстур sRGB, модифицированный растеризатор с поддержкой рендеринга в несколько буферов одновременно (MRT — multiple render targets), поддержка пользовательских плоскостей отсечения, instancing и других функций.

Эти GPU имеют достаточно высокую вычислительную мощь для решений среднего уровня, так как сочетают восемь 4-компонентных векторных блоков (каждый из них способен выполнять по четыре команды умножения-сложения MAD, как и PowerVR SGX 543) и восемь скалярных блоков. Теоретически видеоядро Adreno 225 имеет примерно такую же вычислительную мощь, что и PowerVR SGX 543MP2, хотя на практике решение Imagination Tech быстрее. Причин этому несколько: меньшая эффективность компилятора компании Qualcomm, лишь два текстурных блока в GPU (по сравнению с четырьмя у SGX 543MP2), а также меньшая пропускная способность памяти для всей системы-на-чипе.

В Adreno 225 были сделаны изменения для увеличения производительности. Во-первых, если Adreno 220 работает на частоте лишь 266 МГц, то Adreno 225 имеет рабочую частоту уже 400 МГц. Во-вторых, Qualcomm сделала некие программные улучшения в драйверах Adreno 225 — видимо, увеличивающие эффективность компиляции. Всё это позволяет специалистам Qualcomm говорить об ускорении в 50% по сравнению с Adreno 220.

Что касается сравнения с конкурирующими решениями, то, по данным компании Qualcomm, модель MSM8960 производительнее уже немолодого чипа Apple A5 в распространённых графических тестах, и это неплохой уровень, хотя и не рекордный. По своим возможностям графическое ядро Adreno 225 соответствует уровню Direct3D 9.3 (Direct3D 11 feature level 9_3) и OpenGL ES 2.0, но у Qualcomm уже есть обновленные видеорешения, имеющие совместимость с OpenGL ES 3.0 — из семейства Adreno 300, которое применяется в более новых системах-на-чипе Snapdragon S4.

Adreno 220 входит в состав SoC с одноканальным доступом к памяти, это видеоядро поддерживает OpenGL ES 2.0 и Direct3D 9.0c. Adreno 225, на котором основан чип MSM8960, имеет уже двухканальную память, а GPU поддерживает OpenGL ES 2.0 и Direct3D 9.3. А совершенно новые ядра Adreno 305 и Adreno 320 поддерживают уже и OpenGL ES 3.0 «Halti», Direct3D 9.3, а также Open CL 1.2. Графические ядра третьей серии основаны на совершенно новой программируемой архитектуре, они поддерживают ускорение многих графических применений (HTML5, 3D-игры, 3D-интерфейсы и т. д.), а также обеспечивают четырёхкратное ускорение по сравнению с Adreno 225.

Здесь нужно пояснить про «уровень совместимости» в DirectX 11. Qualcomm пишет о том, что новые Adreno являются DX11-совместимыми, и это действительно так, но относится это лишь к feature level 9_3, а не к 11_0 или 11_1, как можно было подумать. Собственно, для мобильных GPU и 9_3 — это очень неплохой уровень функциональности, и Adreno 300 — одно из немногих мобильных графических ядер с такой поддержкой. И хотя GPU в NVIDIA Tegra 3 близок к нему по функциональности и поддерживает уровень 9_1, но из-за некоторых ограничений, вроде отсутствия поддержки аппаратно ускоренного Direct2D в 9_1, интерфейс операционной системы Windows RT работает на ядре NVIDIA неидеально. Конечно, будущие мобильные GPU NVIDIA (Wayne) и Imagination (Rogue) наверняка будут иметь поддержку уровня 11_0/11_1 и вычислительных API, но их появления в виде готовых продуктов ждать ещё очень долго.

А ядра серии Adreno 300, которые входят в состав систем-на-чипе серии Snapdragon S4 Pro (APQ8064 и MSM8960T) и S4 Prime, уже сейчас имеют дополнительные вычислительные возможности, которые открываются при использовании новых API, вроде OpenCL, до сих пор распространённых только в настольных решениях. С помощью таких методов в будущем возможно использование мощи GPU и в неграфических вычислениях, что уже давно применяется на ПК.

В общем, на данный момент видеоядра Adreno 305 и 320 имеют неплохой уровень функциональности и производительности и опережают своих главных соперников по этим параметрам (разве что GPU в последних устройствах Apple выглядят явно мощнее). Но конкуренты не будут сидеть сложа руки, и уже скоро могут вырваться вперёд. Но этого точно не произойдёт до следующего года, а то и до второго квартала 2013-го, и Qualcomm пока что имеет преимущество по времени выхода на рынок, которое ему обеспечили CPU- и GPU-ядра собственной разработки.

Коммуникационные возможности

До недавних пор для поддержки LTE в смартфоны и другие мобильные устройства приходилось ставить по паре соответствующих микросхем — отдельно для 2G/3G и 4G LTE. А все эти чипы зачастую выполнены на не самых совершенных техпроцессах вроде 45 нм. Но начиная с произведённой по техпроцессу 28 нм системы-на-чипе MSM8960 решения компании Qualcomm обладают встроенной поддержкой LTE. Это первое решение, сочетающее поддержку сетей 4G и WCDMA/GSM/CDMA2000 в одном чипе, также оно поддерживает и UMTS с CDMA.

Столь большое расширение поддерживаемых стандартов мобильной связи системами-на-чипе компании Qualcomm позволяет обеспечить бо́льшую степень интеграции (печатные платы меньшей сложности с меньшим количеством элементов, а значит, и меньшие габариты для конечных устройств) и меньшее энергопотребление (ведь чип целиком производится при помощи всё того же самого совершенного техпроцесса 28 нм). Конечно, к интегрированной в SoC модемной части нужна и дополнительная радиочасть вроде трансивера, но она необходима для всех устройств.

Большинство систем-на-чипе серии Snapdragon S4 имеют встроенную модемную часть с поддержкой всех распространённых в мире стандартов мобильных сетей, обеспечивающую высокую производительность и сниженное потребление энергии. Так, первый же выпущенный чип серии имел встроенный модем второго поколения. Это первый в индустрии модем с поддержкой сетей GSM/GPRS/EDGE, TD-SCDMA, EV-DO Rev. B, 3G (DC-HSPA+ Cat 24) и LTE FDD/TDD (Cat3), а также с одновременной передачей голоса по UMTS/GSM и данных по LTE. Кроме этого, все современные SoC компании Qualcomm поддерживают обе распространённые системы глобального позиционирования (GPS и Глонасс), а также все виды беспроводных соединений: Bluetooth 4.0, Wi-Fi a/b/g/n и NFC. Пожалуй, это единственная платформа, обладающая такой широкой встроенной поддержкой.

Встроенная в Snapdragon S4 модемная часть отличается низким потреблением энергии с использованием стандартных методов экономии, а также разработанными в компании техниками, служащими для достижения большей энергоэффективности. По оценкам компании Qualcomm, потребление энергии модемной частью новых SoC на 20-30% меньше, чем у предыдущих решений, что позволяет делать мобильные устройства меньшими по размеру и имеющими лучшие характеристики по продолжительности автономной работы.

Программируемый Hexagon DSP

Кроме универсальных вычислительных и специализированных графических ядер в состав мобильных систем-на-чипе обычно входит и несколько вспомогательных блоков. В их числе — цифровые сигнальные процессоры (DSP), предназначенные, как следует из названия, для цифровой обработки сигналов — то есть данных, вроде звука, изображения и др. Блоки DSP в составе SoC помогают обеспечивать высокую производительность в таких задачах при малом потреблении энергии по сравнению с CPU.

Для выполнения подобных задач компания Qualcomm разработала собственный DSP, получивший название Hexagon, который включается в состав чипов Snapdragon. Причём производительность и энергоэффективность этих блоков постоянно увеличивается, что можно увидеть на временно́м графике:

Для достижения высоких показателей производительности и энергоэффективности Hexagon DSP сочетает возможности универсальных ядер и DSP, выполняющих узкоспециализированные задачи. Hexagon компании Qualcomm имеет менеджер памяти, поддержку многопоточности, выделенный кэш двух уровней (L1 для инструкций и данных и L2). Блок DSP вполне способен выполнять несколько приложений одновременно, как и CPU, но его специализацией являются именно задачи по параллельной обработке массивов данных: аудио, видео и данных с других датчиков.

В этом блок DSP в составе SoC и преуспевает, играя ведущую роль в мультимедийных приложениях, и использование Hexagon DSP, встроенного для таких задач в Snapdragon S4, позволяет достигнуть высокой производительности при разгрузке от подобной работы универсальных ядер CPU, которая выполняется ими менее эффективно. В итоге обеспечивается длительная работа мобильных устройств при работе от батарей при декодировании или кодировании аудио- и видеоданных и в других аналогичных задачах.

Выводы

Похоже, что у компании Qualcomm в рассмотренной линейке в очередной раз получились отличные решения. Компания Qualcomm следует тенденциям рынка и постоянно выпускает всё новые и новые системы-на-чипе, предназначенные для мобильных устройств разных классов, которые соответствуют всем современным требованиям. Сначала в серии Snapdragon S4 вышли двухъядерные модели с графическим ядром предыдущего поколения, а затем и быстрые четырёхъядерники с новыми GPU. Их производительности на данный момент вполне достаточно, чтобы конкурировать с лучшими образцами других производителей мобильных систем-на-чипе, и даже больше — они сейчас явно в списке лучших. Что ещё более важно, в Snapdragon S4 были не только усилены вычислительные возможности сами по себе, но и значительно улучшены показатели энергетической эффективности, а также появились и новые функциональные возможности в виде встроенной поддержки LTE и улучшенного видеоядра. Графическое ядро Adreno в Snapdragon S4 стало ещё более мощным, и оно обеспечивает поддержку всех современных стандартов и API.

Серия чипов Snapdragon S4 предлагает всё необходимое для успешного применения в мобильных устройствах: высокую функциональность и производительность, а также отличную энергоэффективность. Чипы из этой серии стали первыми мобильными SoC, выпущенными по новому техпроцессу 28 нм, который позволил одновременно повысить производительность и понизить затраты энергии. Также некоторые решения Snapdragon S4 отличаются встроенным модемом с поддержкой мобильных сетей не только третьего, но и четвёртого поколений — Qualcomm и тут стала первой. Модемная часть новых SoC поддерживает большинство существующих стандартов мобильных сетей, включая LTE, EV-DO и HSPA.

Выход коммуникаторов на основе двухъядерной модели MSM8960 дал покупателям мобильных устройств выбор между четырёхъядерными SoC на базе Cortex-A9 (например, NVIDIA Tegra 3) и SoC на базе лишь двух, но более мощных ядер Krait компании Qualcomm. Пользователи таких устройств, как смартфоны и планшеты, получили весьма энергоэффективные устройства, к тому же обладающие долгожданной поддержкой LTE. А позднее на рынок выйдут и ещё более производительные устройства на базе четырёхъядерных моделей новой линейки Snapdragon, и это только начало. К концу текущего года и в начале следующего ожидается пополнение ассортимента решений, базирующихся на системах-на-чипе рассмотренной серии.

Также решения Qualcomm всегда отличались от остальных тем, что они имеют бо́льшую степень интеграции, в них используются вычислительные и графические ядра собственного дизайна, логика которых оптимизирована вручную для достижения лучшей энергоэффективности. В новой серии SoC обеспечивается высокая производительность и энергоэффективность универсальных вычислительных ядер — решения линейки имеют до четырёх ядер с частотами от 1,5 до 2,5 ГГц, и все они поддерживают асинхронную симметричную многопроцессорную обработку, когда ядра работают независимо друг от друга, каждое на собственной частоте и напряжении.

Чипы компании имеют встроенную модемную часть с поддержкой всех современных стандартов мобильной связи и не требуют установки отдельного чипа на печатную плату. Большинство решений семейства Snapdragon S4 имеет встроенную поддержку и Wi-Fi с Bluetooth, а также GPS и Глонасс. Высокая степень интеграции элементов на SoC снижает сложность решения для производителей и его стоимость для конечных потребителей. Также некоторое преимущество встроенного в SoC модема заключается в лучших характеристиках по потреблению энергии — ведь весь чип целиком производится по самому совершенному техпроцессу 28 нм для большинства систем-на-чипе серии. Высокая степень интеграции, собственные разработки CPU- и GPU-ядер, применение самых современных решений и технологий, ручная оптимизация логики — всё это выгодно отличает новые системы-на-чипе компании Qualcomm от конкурентов.




16 декабря 2012 Г.

Snapdragon S4 — -- Qualcomm

Snapdragon S4 — -- Qualcomm

, . , , , . , , . , , . — - .

« » . IT- , , . . , , . , .

— , , . --, : NVIDIA Tegra 2, NVIDIA Tegra 3, Intel Medfield. --, , . SoC. , Apple, , Qualcomm — --.

, -- (SoC) , , . , ARM- GPU --. , Qualcomm, , ARM. Scorpion , Krait -- Snapdragon S4, .

Qualcomm — , , ARM- , ARM ( Cortex-A15). , Apple, iPhone 5, --, ARM- ( ARM-, ). , NVIDIA ARM , Tegra 3 4+1 CPU. NVIDIA , .

Qualcomm ARM, , ARM, - . Apple iPhone 5 Qualcomm , , SoC, ARM- . , ARM, — . CPU- - .

ARM-, -- Snapdragon, Scorpion. ARM Cortex (in-order), -- Qualcomm 2009-2010 - Scorpion 1,5 . 2011 (NVIDIA, Texas Instruments, Samsung .) SoC Cortex-A9, Qualcomm , Scorpion .

2012 --, Snapdragon S4, ARM- Krait. Qualcomm , Cortex-A9, SoC 28 . ARM-, Qualcomm LTE , Adreno, 3D-. -- Qualcomm, .

-- Snapdragon S4

, , Snapdragon — -- (, ) Qualcomm. (S1, S2, S3 S4) SoC — , . : Play, Plus, Pro Prime — --, , . SoC, :

Play Plus Pro Prime
MSM8225
MSM8225Q
MSM8625
MSM8625Q
APQ8060A
MSM8960
MSM8660A
MSM8260A
APQ8030
MSM8930
MSM8630
MSM8230
MSM8627
MSM8227
APQ8064
MSM8960T
MPQ 8064
MSM 8974
CPU / Cortex-A5, 1,2 Krait, 1,0—1,7 / Krait, 1,7 Krait, 1,7—2,5
GPU Adreno 203 Adreno 225 305 Adreno 320 Adreno 320
LPDDR2 / LPDDR2 LPDDR2 LPDDR2/LPDDR3
3G/4G 3G/4G/LTE () 3G/4G/LTE ()
Bluetooth BT 3.0 BT 4.0 BT 4.0 BT 4.0
Wi-Fi 802.11n (2,4 ) 802.11n (2,4/5 ) 802.11n (2,4/5 ) 802.11n (2,4/5 )
45/40 28 28 28
Huawei Ascend G330D
HTC Desire X
HTC Desire SV
ASUS Padfone
ASUS Transformer Pad Infinity
HTC Windows Phone 8S
HTC One S
HTC Evo 4G LTE
Sony Xperia T/V
Nokia Lumia 820/920
Samsung Galaxy S III ()
Motorola Droid Razr HD/Maxx HD
LG Optimus G
Xiaomi MI-2
ASUS Padfone 2
HTC J Butterfly
HTC Droid DNA
Google Nexus 4
 

, --. Cortex-A5, GPU, , LTE . . SoC Krait, Adreno , LTE, Wi-Fi BT. 28 , Prime, , CPU GPU, LPDDR3.

Snapdragon S4 . -- MSM8225Q MSM8625Q — Snapdragon S4 Play . Snapdragon S4 Play CPU , . . , .

-- (MSM8225Q MSM8625Q) MSM8225 MSM8625 Snapdragon S4 Play. CPU- Cortex-A5, . «Q» , LPDDR2 , . MSM8625Q UMTS/CDMA-, MSM8225Q UMTS. Wi-Fi, Bluetooth 4.0 FM, Qualcomm Atheros AR6005 WCN2243.

Qualcomm Snapdragon S4 Plus MSM8930, : UMTS, CDMA TD-SCDMA, LTE-TDD. MSM8930 LTE-TDD TD-SCDMA — 2013 . , -- Snapdragon S4 SoC . , Snapdragon S4 Play Plus Snapdragon S1 S4, .

Krait

«» -- Qualcomm Snapdragon S4 , Krait. SoC Snapdragon S4, Play, , . Scorpion ARM Cortex-A8, SIMD-, Krait — .

Scorpion , ARM — Cortex-A15. Krait ARMv7-A — Scorpion Cortex-A9. (IPC). Scorpion, Krait 128- SIMD-. :

ARM Cortex-A5 ARM Cortex-A8 ARM Cortex-A9 Qualcomm Scorpion Qualcomm Krait ARM Cortex-A15
- 1 2 2 2 3 3
8 13 8 10 11 15
( .)
FPU VFPv4-D16 () VFPv3 VFPv3-D16 () VFPv3 VFPv4 VFPv4
NEON (128-, ) (128-, ) MPE (64-, ) (128-) (128-) (128-)
40 65/45 45/40/32 65/45 28 32/28
- L1 16 + 16 ( ) 32 + 32 32 + 32 32 + 32 16 + 16 (4 + 4 L0) 32 + 32 ( )
- L2 ? 512 1 256 0,5 1
1—4 1 1—4 1—2 2—4 2—8

Krait (In-Order), — (Out-of-Order), Cortex-A15. Scorpion , Krait . Krait . Krait.

Qualcomm Krait Scorpion. 10 , Krait — 11 . , ARM Cortex-A15 15 . , Cortex-A15 , — Qualcomm (custom logic) ARM, . , , Krait .

Krait Cortex-A15 , ARM , - . : Cortex-A8 Intel Pentium, Qualcomm ( Cortex-A15) Intel P6 — , Pentium II. Krait ( — ) Krait x86- — Intel Atom Medfield.

Krait -: L0, L1 L2. SoC, (L2-) . Krait 8 - L0 ( 4 ), , L1. - — , , L1-.

- , — 32 ( 16 ). , L0 L1 : «» - Krait, . Qualcomm, --.

- (L2) --. Ÿ Scorpion, 512 L2-. , SoC - 1 , — 2 .

- L0/L1 — . , , L2- ( 1,3 ). , L2- .

Scorpion , Krait . Scorpion LPDDR2-, , -- . Krait , .

SoC, . , Krait 40 — Large Physical Address Extension (LPAE), Cortex-A15, 4 .

-- Qualcomm Krait , 28 . TSMC Global Foundries, TSMC. 28 «LP», 40 «LPG», NVIDIA Tegra 3, . -- NVIDIA.

--. Qualcomm , «LP»- , , «G»- . , «LP» , «G» :

Scorpion, Krait — SoC NVIDIA. , , , . Qualcomm .

SoC Krait Snapdragon S4 MSM8960 — CPU- 1,5 . 1,7-2 1,05 , Scorpion 1,55 . TSMC ( Scorpion Krait ) 0,432 0,265 .

, -- Krait , Snapdragon S4 , .

ARM- DMIPS (Dhrystone Millions of Instructions per Second) — Dhrystone. , , , DMIPS.

CPU- , DMIPS/ :

ARM Cortex-A5 ARM Cortex-A8 ARM Cortex-A9 Qualcomm Scorpion Qualcomm Krait ARM Cortex-A15
DMIPS/ 1,6 2,0 2,5 2,1 3,3 3,5

3,3 DMIPS/ Krait Cortex-A9, , 60% — Scorpion. SoC Cortex-A9 Krait — 25%, Qualcomm 40-50%.

Cortex-A15 ARM , DMIPS/ Cortex-A15 , Krait — 3,5. Cortex-A15 , , Krait. , Qualcomm ( ARM11 Scorpion), , 60%.

, Krait (aSMP), , aSMP- , CPU- , .

, aSMP , , . Qualcomm, 25-40% , — , ( NVIDIA Tegra 3, 4-Plus-1, big.LITTLE ARM).

Krait , . CPU- Qualcomm . Krait , , .

Adreno

-- Snapdragon Adreno, Qualcomm. , AMD, . Qualcomm Imageon Adreno ( , «Radeon») .

Snapdragon S4 — MSM8960 — Adreno 225, SoC Adreno 300. , Adreno , . , --, , Adreno , , Imagination Technologies.

. (), . , , , . , GPU , . , , Adreno 225.

, Adreno 225 220 DirectX 9. , (, ) . GPU , :

Adreno 225 Adreno 220 , DirectX 9.3 Windows 8: , sRGB, (MRT — multiple render targets), , instancing .

GPU , 4- ( - MAD, PowerVR SGX 543) . Adreno 225 , PowerVR SGX 543MP2, Imagination Tech . : Qualcomm, GPU ( SGX 543MP2), --.

Adreno 225 . -, Adreno 220 266 , Adreno 225 400 . -, Qualcomm Adreno 225 — , . Qualcomm 50% Adreno 220.

, , Qualcomm, MSM8960 Apple A5 , , . Adreno 225 Direct3D 9.3 (Direct3D 11 feature level 9_3) OpenGL ES 2.0, Qualcomm , OpenGL ES 3.0 — Adreno 300, -- Snapdragon S4.

Adreno 220 SoC , OpenGL ES 2.0 Direct3D 9.0c. Adreno 225, MSM8960, , GPU OpenGL ES 2.0 Direct3D 9.3. Adreno 305 Adreno 320 OpenGL ES 3.0 «Halti», Direct3D 9.3, Open CL 1.2. , (HTML5, 3D-, 3D- . .), Adreno 225.

« » DirectX 11. Qualcomm , Adreno DX11-, , feature level 9_3, 11_0 11_1, . , GPU 9_3 — , Adreno 300 — . GPU NVIDIA Tegra 3 9_1, - , Direct2D 9_1, Windows RT NVIDIA . , GPU NVIDIA (Wayne) Imagination (Rogue) 11_0/11_1 API, .

Adreno 300, -- Snapdragon S4 Pro (APQ8064 MSM8960T) S4 Prime, , API, OpenCL, . GPU , .

, Adreno 305 320 ( GPU Apple ). , . , 2013-, Qualcomm , CPU- GPU- .

LTE — 2G/3G 4G LTE. 45 . 28 -- MSM8960 Qualcomm LTE. , 4G WCDMA/GSM/CDMA2000 , UMTS CDMA.

-- Qualcomm ́ ( , , ) ( 28 ). , SoC , .

-- Snapdragon S4 , . , . GSM/GPRS/EDGE, TD-SCDMA, EV-DO Rev. B, 3G (DC-HSPA+ Cat 24) LTE FDD/TDD (Cat3), UMTS/GSM LTE. , SoC Qualcomm (GPS ), : Bluetooth 4.0, Wi-Fi a/b/g/n NFC. , , .

Snapdragon S4 , , . Qualcomm, SoC 20-30% , , .

Hexagon DSP

-- . — (DSP), , , — , , . DSP SoC CPU.

Qualcomm DSP, Hexagon, Snapdragon. , ́ :

Hexagon DSP DSP, . Hexagon Qualcomm , , (L1 L2). DSP , CPU, : , .

DSP SoC , , Hexagon DSP, Snapdragon S4, CPU, . - .

, Qualcomm . Qualcomm --, , . Snapdragon S4 , GPU. , --, — . , Snapdragon S4 , , LTE . Adreno Snapdragon S4 , API.

Snapdragon S4 : , . SoC, 28 , . Snapdragon S4 , — Qualcomm . SoC , LTE, EV-DO HSPA.

MSM8960 SoC Cortex-A9 (, NVIDIA Tegra 3) SoC , Krait Qualcomm. , , , LTE. Snapdragon, . , -- .

Qualcomm , ́ , , . SoC — 1,5 2,5 , , , .

. Snapdragon S4 Wi-Fi Bluetooth, GPS . SoC . SoC — 28 -- . , CPU- GPU-, , — -- Qualcomm .