Qualcomm Snapdragon — 2013: что нас ждет в новых смартфонах

:

На MWC 2013 было одновременно забавно и грустно спрашивать людей на стендах, что за железо находится в их новых смартфонах. Потому что почти всегда мы заранее знали ответы. Точнее, ответ — более-менее один и тот же. Что в новых Nokia? Qualcomm Snapdragon. Так-так, а что в HTC One? Qualcomm Snapdragon – правда, поновее. М-м-м, а что у нас в Yota Phone? Тоже Qualcomm Snapdragon — кстати, относительно пожилой. И так далее, за очень редкими исключениями.

В более дешевые смартфоны иногда ставят Mediatek, в аппараты с не очень ясной судьбой — Intel Atom. Еще у Samsung еще есть свой Exynos (хотя если его в том или ином смысле недостаточно, то опять-таки ставят Qualcomm), а у Huawei – High Silicon. Еще где-то на горизонте маячит NVIDIA Tegra 4 – интересная, но пока немного эфемерная. На этом сепаратисты заканчиваются и начинается Qualcomm — сплошной и неизбежный.

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

#Вместо интерлюдии

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

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

Во-вторых, процессорные ядра Qualcomm, пусть они и основаны на архитектуре ARM, – это не типовой дизайн Cortex-A9 и даже не Cortex-A15. И вообще не Cortex. Да, где-то в основании ядер Krait лежит архитектура Cortex-A9, но настолько серьезно переделанная специалистами из Qualcomm, что язык не поворачивается причислить Krait к какому-либо определенному поколению ядер от ARM. Это просто Krait – он стоит отдельно.

Qualcomm достаточно давно занялась разработкой собственной версии архитектуры ARM-процессоров: еще в 2009 году вышел первый телефон, построенный на SoC QSD 8250. Это было первое поколение процессоров Snapdragon, основанное на ядре Scorpion, в котором прослеживались отчетливые параллели с ARM Cortex-A8. Да и по удельной производительности они мало различались. Но с тех пор сменилось еще четыре поколения чипов Snapdragon, и сейчас на рынок потихоньку выходит пятое, которое даже отдаленно не напоминает то, что ARM предлагает использовать по лицензии всем желающим.

#Процессорные ядра

В новых SoC бывает аж пять типов вычислительных ядер: два стандартных — ARM Cortex-A5 и Cortex-A7, а также три собственных, квалкоммовских, — Krait 200, 300 и 400.

Cortex-A5 – самая простая из всех архитектур с поддержкой набора инструкций ARMv7-A. Конвейер в нем насчитывает 8 ступеней, набор инструкций самый минимальный, декодер всего один, исполнение инструкций — только в порядке очереди, кеш — только нулевого и первого уровней. Типичная производительность — порядка 1,57 DMIPS /МГц.

Cortex-A7 (иногда его — в силу исключительной многоядерности процессоров на его основе — зовут Cortex-A7 MPCore) ощутимо интереснее. В нем намного более богатый набор инструкций, заимствованный из Cortex-A15, есть поддержка LPAE (Large Physical Adress Extensions, то бишь возможности работы с расширенным адресным пространством) и  виртуализации. Декодер все так же один, исполнение инструкций последовательное. При этом ARM называет данное ядро самым энергоэффективным из всех «Кортексов». Средняя производительность — около 1,9 DMIPS/МГц.

Дальше — еще интереснее. То, что сейчас называется Krait 200, еще недавно звалось просто — Krait. Вкратце напомним, чем Krait отличается от предыдущей архитектуры, Scorpion. Во-первых, ядро Krait может декодировать три инструкции за такт, в то время как Scorpion умел только две, как и обычный Cortex-A9. Во-вторых, Krait и исполняет за такт больше инструкций — их число возросло до четырех против трех у Scorpion. В-третьих, на одну ступень увеличилась длина конвейера: с 10 у Scorpion до 11 в Krait. Для сравнения: в Cortex-A9 ступеней 8, а в A-15 – целых 15. Правда, на примере архитектуры Netburst мы уже выучили, что длинный конвейер — это не всегда хорошо. Также в Krait реализована работа с новыми наборами инструкций из Cortex-A15, к тому же используется более продвинутый алгоритм предсказания ветвлений, нежели в Cortex-A9, а инструкции ядро умеет выполнять вне очереди.

Более того, в Krait реализован полноценный двухканальный доступ к оперативной памяти, поддерживается LPDDR2 и LPDDR3 – последняя уже стандартизирована JEDEC, и в этом году начинается ее использование в конечных устройствах. Максимальный объем ОЗУ — 4 Гбайт, с запасом. Частоту и напряжение каждого ядра можно задавать по отдельности, что в теории значительно уменьшает энергопотребление. На каждое ядро приходится по 8 Кбайт кеш-памяти нулевого уровня (4 Кбайт для инструкций, 4 — для данных) и по 16 Кбайт — первого (разделены так же). Сколько будет кеш-памяти второго уровня, общей для всех ядер, зависит от количества ядер в процессоре.

Все эти усовершенствования ощутимо добавляют производительности. Построенный на базе Cortex-A8 Scorpion выдавал 2,1 DMIPS/МГц, эталонный Cortex-A9 выжимает уже 2,5. А одно ядро Krait еще мощнее: порядка 3,1 DMIPS/МГц. По сравнению со Scorpion прирост почти на 50%.

Krait 300 посвежее и еще немного веселее — фактически это доработанный Krait 200. Длина конвейера осталась прежней, но Qualcomm выжала из ядер большую частоту. Скорее всего, за счет одновременного повышения напряжений и оптимизации таймингов и структуры ядра. Объемы кеша прежние.

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

Известно, что Krait 300 способен передавать данные между конвейерами, правда, не факт, что этого не умели ядра Krait 200: Qualcomm скупа на информацию.

Также известно, что в Krait 300 улучшена работа с JavaScript, ускорено выполнение операций с плавающей запятой. Все это вместе дает прирост производительности примерно до 3,4 DMIPS/МГц, что в сочетании с повышением частот должно приносить где-то 20-30%-й профит в результирующей производительности ядер.

Самое архитектурно-бодрое ядро из использованных в новых Snapdragon — Krait 400. Вот только о конкретных изменениях опять-таки известно очень мало.

Большинство современных процессоров Qualcomm производится в рамках 28-нм техпроцесса, новые чипы с архитектурой Krait – не исключение. Но есть некоторая разница: для производства ядер Krait 400 используется так называемая технология HPm (High Performance Mobile Technology). Ее суть сводится к применению диэлектриков с высоким значением диэлектрической постоянной и металлических затворов (High-K/Metal Gate, или HKMG).

Да-да, это практически та самая технология, которую Intel применила при переходе к производству 45-нм процессоров Penryn. Она позволяет повысить производительность процессоров при сохранении прежнего уровня напряжений — теперь можно выжать большие частоты в рамках того же TDP, что в Qualcomm и сделали. Все процессоры с ядрами Krait 300 и Krait 200 штампуют по старой технологии, без металлических затворов и практически непроводящих диэлектриков, в рамках так называемого LP-техпроцесса.

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

#Графические ядра

Различных графических ядер в новых Snapdragon четыре — по количеству семейств процессоров.

Adreno 203 – самое слабое из четырех. Сайт Qualcomm не знает о нем ничегошеньки. Так что мы можем привести лишь тот факт, что оно работает с API Direct3D 9.0c и OpenGL ES 2.0.

Adreno 305 – это обновленная версия Adreno 225, засветившегося ранее в Snapdragon S4 Pro. Разница в том, что 305-е, как и все остальные GPU 300-й серии, несколько современнее: например, оно «дружит» с такими API, как Direct3D 9.3, OpenGL ES 3.0 и Open CL 1.2, в то время как 200-е поколение Adreno работало только c Direct3D 9.0с и OpenGL ES 2.0. Исключение составляет Adreno 225, которое знакомо с Direct3D 9.3 и Open GL ES 2.0, – оно находится где-то посредине между 200-м и 300-м поколениями. 305-е должно быть примерно в два-три раза мощнее 203-го.

Adreno 320 основано на совершенно новой архитектуре. Это первый графический адаптер с унифицированными шейдерными процессорами. Такая архитектура позволяет значительно равномернее распределять нагрузку и выжимать больше из одного и того же количества потоковых процессоров. В настольной графике до этого дошли уже давно, постепенно данный принцип внедряют и в мобильных решениях.

Кстати, а вы знали, что название Adreno – анаграмма от более известного Radeon? Линейка была переименована, когда Qualcomm приобрела мобильное графическое подразделение AMD/ATI, занимавшееся мобильными чипами Imageon.

Интересно, что Adreno 320 умеет на лету обсчитывать то, что видит камера, позволяя, например, реализовывать съемку HDR-видео. По мощности Adreno 320 примерно в четыре раза обходит Adreno 225 и 305, в шесть — Adreno 220 и где-то в 12-18 — Adreno 203.

Самое страшное — Adreno 330. Архитектура в нем та же, что и в 320-м. В Qualcomm предпочли пока не говорить о нем ничего конкретного и сконцентрироваться на пользовательской стороне вопроса: как будут выглядеть на этом игры и видео.

Во-первых, сообщается, что Adreno 330 примерно в полтора раза мощнее Adreno 320 по чистой вычислительной производительности. То есть работать все будет, мягко скажем, очень быстро. Во-вторых, Qualcomm вместо цифр приводит видео с планшетом, на котором рендерится сценка с драконом. Сценка очень детализированная: видно, что на дракона и его окружение не жалели полигонов, а на пламя из его пасти — и подавно. То, как выглядит огонь, намекает, что Adreno 330 здорово работает с физикой. Похоже, у «Тегры» в этом аспекте наконец появится конкурент.

#
Прочее

Кратко пройдемся по остальным частям систем на чипе. Во всех процессорах Snapdragon нового поколения используется по несколько цифровых сигнальных процессоров (DSP) Hexagon, построенных на архитектуре VLIW (Very Long Instruction Word).

Младший, QDSP5, работает на частоте 384 МГц.

Старшие, QDSP6 V4, достигают частоты 500 МГц.

Наконец, самый-самый мощный, QDSP6 V5 A, трудится на частоте 600 МГц.

Собственно, DSP нужны для того, чтобы разгрузить процессор и графическое ядро во время выполнения таких операций, как воспроизведение музыки, передача данных и компрессия голоса. Hexagon отличаются тем, что поддерживают вычисления с плавающей запятой, векторные операции, динамическую многозадачность и большое количество мультимедийных инструкций. В общем, они больше похожи на центральные процессоры, чем на обычные сигнальные. А энергии потребляют при этом меньше.

С модулями GPS тоже все просто, то есть ничего не понятно. В новых процессорах встречается три версии: gpsOne 7A, gpsOne 8A и gpsOne 8B. Qualcomm просит «оставаться на связи» — скоро она должна рассказать, чем же эти модули различаются. Пока мы знаем, что у них общего: все они умеют ориентироваться по спутникам GPS и ГЛОНАСС, по сотовым вышкам, а также запрашивать через Интернет информацию о расположении спутников.

Wi-Fi во всех чипах разработан подразделением Qualcomm с известным многим читателям именем Atheros. В рассматриваемых нами SoC будет встречаться в двух видах: 802.11n и 802.11ac.

Qualcomm — чуть ли не самый крупный поставщик модулей сотовой связи. Так что их разнообразие удивления вызывать не должно: встречаются модули, работающие как в GSM-, так и в CDMA- диапазонах, как в сетях 3G, так и в 3,5G (то бишь HSPA и даже HSPA+). Пожалуй, самое интересное в новых чипах — встроенный в некоторые из них мультидиапазонный модем LTE. Он умеет работать в любых существующих частотных диапазонах, включая LTE FDD (Cat. 1-26), LTE TDD (Cat. 33-43), CDMA1x, EV-DO, TD-SCDMA и GSM. То есть со смартфоном на базе этого чипа не будет такой ситуации, что приехали вы, скажем, в Китай и остались без связи из-за того, что ваш аппарат не работает в китайских сетях. А так как разных диапазонов LTE ужасающе много, такая возможность видится исключительно полезной.

Перейдем, собственно, к самим SoC. В последнее, пятое семейство SoC Qualcomm входят четыре чипа: Snapdragon 200, 400, 600, 800. Из них три — 400, 600, 800 — похожи, а 200 — сильно отличается. Начнем с более продвинутой троицы и для начала рассмотрим младшую модель — четырехсотую.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.