Использование в смартфонах четырёхъядерных процессоров уже считается едва ли не моветоном: все современные флагманы обязаны иметь минимум восемь ядер, а лучше все десять. Но действительно ли мобильным гаджетам нужны такие чипсеты, или всё дело в маркетинговой гонке между производителями? Мы собираемся сравнить нагрузку на процессор в различных задачах на примере смартфона Honor 8 Pro с чипсетом Kirin 960 и выяснить, действительно ли Android задействует все вычислительные мощности гаджета?
Миф: приложения и игры не используют все ядра мобильного процессора
Чтобы проверить или опровергнуть это утверждение, необходимо получить статистику об использовании каждого процессорного ядра при выполнении гаджетом тех или иных задач. Готовых решений для вывода этой информации мы не нашли, а потому самостоятельно написали пару скриптов. Сначала мы с интервалом в пять секунд считали информацию о загруженности каждого ядра из системного файла /proc/stat. Затем наши инструменты построили графики по полученным данным. Исследование проводилось на смартфоне Honor 8 Pro с восьмиядерным процессором Kirin 960. Этот чипсет состоит из двух кластеров по четыре ядра каждый, причём первый получил ядра ARM Cortex-A53 с тактовой частотой 1,8 ГГц, а второй — Cortex-A73 с частотой 2,4 ГГц.
Режим ожидания. При выключенном экране графики загруженности процессора колеблются около нуля, лишь изредка поднимаясь процентов до десяти из-за wakelock’ов (сотая секунда на графике). Примерно в середине теста смартфон был разблокирован, что повысило активность ядер. Однако в отсутствие задач гаджет не использует больше двух-трёх ядер одновременно.
Социальные сети. Использование официального клиента социальной сети «ВКонтакте» оказалось несложной задачей. Загруженность отдельных ядер редко превышала 25%, а четыре ядра из восьми и вовсе находились в «спячке».
Сёрфинг. Больше ресурсов потребовал рендеринг сайтов новостных ресурсов в браузере Chrome — загруженность местами превышала 50%. На графике видно, что в некоторых случаях смартфон активировал сразу восемь ядер, однако основная работа во время тестирования была возложена всего на четыре из них.
Съёмка видео. Съёмка видео на камеру смартфона в разрешении Ultra HD оказалась довольно ресурсоёмкой задачей, однако для её выполнения аппарату вновь хватило всего четырёх ядер.
Игры. Тестирование Honor 8 Pro в игре Asphalt Extreme стало показательным: если четыре ядра из восьми оставались загруженными примерно одинаково во время тестирования, то оставшиеся четыре ядра резко активизировали свою работу лишь в некоторых местах, помогая гаджету справиться со сложными сценами.
Бенчмарк AnTuTu. Самым ресурсоёмким из всех оказался, конечно же, бенчмарк AnTuTu: нам даже пришлось отключить сглаживание графика, чтобы его вершины не «уползали» за отметку в 100%. В AnTuTu смартфону пришлось задействовать все восемь ядер, причём в одном из тестов загрузка каждого из них оказалась стопроцентной.
Почти на всех графиках хорошо заметно, что большую часть времени активна половина ядер гаджета, в то время какая вторая половина остаётся незагруженной. Это вполне ожидаемо и соответствует кластерной структуре чипсета Kirin 960. А вот чтобы понять, как смартфону удаётся задействовать все восемь ядер, придётся сначала вспомнить особенности архитектуры ARM big.LITTLE.
Как используются ядра в архитектуре ARM big.LITTLE
На заре появления ARM big.LITTLE об этой архитектуре было много разговоров, но сейчас её использование в чипсетах никак не выделяется. Причина этому проста: буквально каждый второй смартфон и так использует эту технологию, которая, де-факто, стала стандартом в мобильных гаджетах. Выяснить, есть ли в вашем аппарате поддержка big.LITTLE, очень просто — достаточно посмотреть на его технические характеристики. Если в чипсете устройства используются минимум два кластера различных процессорных ядер (или одинаковых, но с разной частотой), значит, он построен на этой архитектуре.
Архитектура ARM big.LITTLE имеет три типа внутреннего распределения вычислительных ресурсов. Первый — кластерная миграция, при которой одновременно может работать только один кластер, состоящий из процессорных ядер одного типа. Второй — процессорная миграция, где ядра разных типов объединяются попарно, однако в каждой паре в определённый момент времени может работать только одно ядро. Оба этих типа в настоящее время практически не используются, и найти их можно разве что в старых смартфонах. Третий тип, гетерогенный мультипроцессинг, позволяет устройству произвольно задействовать любые ядра, в том числе использовать все доступные ядра одновременно. Именно гетерогенный мультипроцессинг используется в современных смартфонах, включая тестовый Honor 8 Pro, поскольку позволяет гибко задействовать вычислительные ресурсы в зависимости от задач.
Но всё-таки зачем смартфону восемь или даже десять ядер, когда обычные ПК прекрасно справляются с рабочими задачами при четырёх? В действительности основная причина использования big.LITTLE — не столько производительность, сколько энергоэффективность. Интенсивность использования каждого процессорного ядра зависит от текущих задач гаджета: если в режиме ожидания смартфону хватит пары энергоэффективных ядер, работающих на низкой частоте, то при запуске ресурсоёмких приложений будут задействованы все ядра. Это позволяет гаджетам лучше экономить драгоценные проценты заряда батареи в простых задачах и работать на полную мощность в играх.
Другие архитектуры
Но как же работают другие варианты многоядерных процессоров? Чтобы ответить на этот вопрос, мы пристально посмотрели ещё на два чипсета. Первый — Qualcomm Snapdragon 801 с четырьмя одинаковыми ядрами Krait 400. В отсутствие кластерной структуры четыре ядра, как правило, работают в унисон, но имеют различную загруженность. Отдельные ядра при этом почти никогда не «спят» — разве что в режиме ожидания в отсутствие фоновых задач.
Второй чипсет, который мы решили протестировать — Mediatek MT6750 с восемью ядрами ARM Cortex-A53, половина из которых работает на максимальной тактовой частоте 1 ГГц, а вторая умеет разгоняться до 1,5 ГГц. В этом SoC уже используется архитектура big.LITTLE, но не гетерогенный мультипроцессинг, а кластерная миграция. Из графиков ниже видно, что в режиме ожидания используются только медленные ядра на 1 ГГц, в то время как в играх и при видеосъёмке активен кластер быстрых ядер. При этом загрузка второго кластера всегда равна нулю, а загруженность ядер активного кластера оказалась примерно одинаковой. Всё это говорит о слабой эффективности работы такой схемы архитектуры big.LITTLE.
Заключение
В большинстве задач смартфону действительно вполне хватает четырёх ядер, но как только гаджет сталкивается с необходимостью увеличить вычислительные ресурсы (например, со сложной сценой в игре или открытием нагруженного сайта) — тут же начинает работу второй кластер. Как оказалось, Android весьма неплохо справляется с задачей распараллеливания процессов: всего одна игра может задействовать сразу восемь ядер со средней загрузкой, вместо того, чтобы загрузить только четыре ядра, но максимально. Такое поведение обеспечивает гибкое управление вычислительными ресурсами системы, бо́льшую энергоэффективность чипсета и меньший нагрев устройства. Так что миф о неоправданности большого количества ядер в смартфоне можно смело считать опровергнутым. Многоядерные процессоры — это не только один из способов увеличения производительности устройства, но и средство экономии заряда аккумулятора, причём не только при простое или использовании социальных сетей, но и в более сложных задачах вроде сёрфинга или игр.
Источник: 4PDA
Наразі плани TSMC у Сполучених Штатах залежать від поточної політичної ситуації. Як повідомляє Digitimes, компанія…
Любителі мобільних пристроїв чекають чергових флагманських смартфонів, і на черзі апарати Samsung Galaxy S. Їхня…
Google випустила безкоштовний застосунок чат-бота Gemini для користувачів iPhone - тепер його можна завантажити в…
Чесно кажучи, я теж час від часу беру телефон у ліжко, хоча знаю, що це…
Компанія 01.ai представила нову модель ШІ Yi-Lightning, схожу з GPT-4. Для навчання моделі використовувалося 2000…
Стартап OpenAI офіційно оголосив про вихід загальнодоступної версії застосунку ChatGPT для користувачів ПК під управлінням…