Смартфоны: переход количеств в качества

На правах рекламы Дальнейший рост размеров дисплеев уже не имеет смысла: смартфоны стали настолько крупными, что дальше, как говорилось в старом анекдоте, уже идут чемоданы. В том смысле, что крупные смартфоны уже вплотную граничат с компактными планшетами. А коль скоро последние в наше время уже, как правило, умеют звонить — при этом стоят дешевле — продолжать поднимать диагонали теперь довольно глупо. Этого развлечения производителям хватит еще от силы на полгода-год — потом станет уже даже не смешно.

Разрешения экранов? Предел достигнут еще год назад. При нормальных для умных телефонах диагоналях за глаза хватает пресловутого Full HD, которое дает устраивающие большинство 400 с лишним точек на дюйм. Конечно, можно делать зерно еще мельче — некоторые производители в этом году представили модели с разрешением 2560×1440. Но разницу с Full HD приходится искать под микроскопом — для того, чтобы разглядеть смысл Quad HD на 5–6 дюймах также придется использовать этот прибор.

Быть может, пора что-то улучшить в камерах? Было бы неплохо. Но что уже точно не стоит делать — это наращивать количество мегапикселей. В конце концов, после того, как Nokia добралась до 41 Мп, дальнейший рост можно было бы воспринимать только как фарс. Никто из производителей не хочет, чтоб над ним смеялись, так что все, не сговариваясь, остановились на диапазоне от 8 до 20 Мп.

С процессорами и того сложнее. Технологии их производства развиваются все медленнее, их совершенствование обходится все дороже, а «дивидендов» приносит все меньше. На горизонте маячит физический потолок, выше которого при использовании старого, доброго кремния просто не прыгнешь. При увеличении частоты, начиная с некоторого значения, энергопотребление растет по неприлично крутой кривой. В теории мы уже давно могли бы получить 3-гигагерцовые чипы для смартфонов, но на практике такой процессор «высасывал» бы батарейку за полчаса.

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

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

В отсутствии роста частот остается лишь два пути. Первый — масштабирование производительности за счет использования все большего количества ядер. Тут, однако, есть пара проблем: с одной стороны, это требует серьезного участия производителей программного обеспечения. С другой — далеко не все задачи, особенно «бытовые», хорошо распараллеливаются. Так что больше восьми ядер мы, скорее всего, в ближайшую пятилетку не увидим. Да и восьми пока многовато.

Второй путь: совершенствование архитектур, и повышение, таким образом, удельной производительности на мегагерц. Это наиболее перспективное направление развития, но и здесь все не так просто. Мощные ядра с высокой удельной производительностью оказываются все же достаточно прожорливыми, а ведь увеличивать хочется не только скорость вычислений, но и время работы от аккумулятора (емкость которых, напомним, не растет).

Компания ARM, архитектура которой правит бал на рынке мобильных процессоров, в итоге пришла к выводу, что оптимальным решением этой дилеммы является использование гетерогенной архитектуры big.LITTLE, которая подразумевает одновременное применение «тяжелых» ядер для требовательных к производительности задач и «легких» — для тех задач и тех моментов, когда энергию лучше бы поберечь.

Общий принцип работы ARM big.LITTLE. Заодно обратите внимание на то, как круто задирается график энергопотребления в верхней части

Не следует думать, что сказка на этом и завершилась, а после все жили долго и счастливо. Дело в том, что кластеры «легких» и «тяжелых» ядер можно эксплуатировать по-разному. И, например, первое физическое воплощение big.LITTLE — псевдовосьмиядерный процессор Samsung Exynos 5 Octa 5410 — работал наиболее простым (но не оптимальным) образом, попеременно включая и отключая кластеры «легких» и «тяжелых» ядер целиком.

В MediaTek не стали торопиться и поступили иначе. Представленный спустя несколько месяцев после чипа Samsung процессор MT8135 также был основан на архитектуре big.LITTLE. Но вместо простой и неэффективной кластерной миграции работал по принципу настоящей гетерогенности (HMP) — то есть мог использовать сразу все ядра, либо любое необходимое при текущей нагрузке сочетание из «легких» и «тяжелых» ядер.

Три возможных варианта реализации big.LITTLE

Попутно MediaTek разработала CorePilot — пакет технологий, направленных на улучшение баланса энергопотребления и производительности в гетерогенных процессорах. Составляющих CorePilot достаточно много. Во-первых, стоит упомянуть тот факт, что ради правильного распределения нагрузки между ядрами MediaTek пришлось заменить планировщик выполнения задач. Вместо стандартного для большинства ядер Linux в целом и Android в частности CFS (Completely Fair Scheduler) компания использует собственные: HMP Scheduler, правильно распределяющий задачи между неоднородными ядрами, и RT Scheduler, обслуживающий те задачи, которым требуется высокий приоритет для выполнения в режиме реального времени.

Во-вторых, предусмотрена технология отключения неиспользуемых ядер — в терминологии MediaTek она носит название HotPlug. Как уже было упомянуто выше, ядра могут быть отключены или переведены в режим ожидания в любой комбинации. Это удобно и правильно, например, в тех случаях, когда одновременно требуется использование одного или нескольких «тяжелых» ядер под какое-либо ресурсоемкое приложение и одного-двух «легких» для фоновых задач. В HMP такое сочетание возможно, а вот при кластерной миграции вам придется использовать мощное ядро и для «фона» — и по сути бессмысленно тратить лишнюю энергию.

Совокупность технологий MediaTek CorePilot

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

Более того, в-четвертых, MediaTek использует улучшенный алгоритм регулирования частот в зависимости от текущего тепловыделения (Adaptive thermal management). Принцип, если в двух словах, такой: вместо жестко заданного температурного порога, после достижения которого процессор «сваливается в троттлинг» и некоторое время остывает, система определяет оптимальный температурный коридор, который позволяет чипу балансировать на грани «троттлинга» и не сваливаться надолго на низкие частоты.

В целом, за счет оптимизации распределения нагрузки и гибкого управления всем имеющимся в распоряжении системы кремнием CorePilot позволяет добиться одновременно и повышения производительности, и снижения энергопотребления. По обоим направлениям выигрыш составляет до 20–25% по сравнению с системой без CorePilot — чипом, в котором применяется кластерная миграция. Как видите, не вся многоядерность одинаково полезна — об этом не следует забывать при выборе смартфона.

На правах рекламы

Материалы по теме

Полный текст статьи читайте на 3DNews