4 ядра на телефоне это хорошо – Восьми ядерный процессор против Четырёх ядерного. Стоит ли «гнаться» за количеством ядер в головном устройстве?
Какой смартфон лучше – 4-х ядерный или 2-х ядерный
Продолжаются споры, какой смартфон лучше – на четыре ядра или на два. Для того, чтобы окончательно определить их различия, необходимо поговорить про каждый из них в отдельности.
4-х ядерный смартфон
Преобладание его проявилось с конца 2012 года. Он сразу стал обеспечивать своим пользователям большую производительность и невероятно стабильную работу. Спрос на такие модели довольно огромен, пользователи стремятся приобрести такие модели, не обращая внимания на ценовые показатели. Добавим, что 4 ядра – это еще не окончательный предел, ведутся новые разработки.
Но уже сегодня смартфон на 4 ядра меньше потребляет энергии, процессор имеет довольно мощный. Ярким примером такого является кампания Fly, выпускающая 4-х ядерные смартфоны по всему миру. К слову, пользователь получает возможность заполучить устройство высоких технологий. Надежные и качественные свойства продукции Fly сегодня успели оценить по достоинству миллионы покупателей, интернет пестрит положительными отзывами.
На сегодняшний день смартфоны на 4 ядра – заветная мечта каждого. Но мало кто задумывался, что 4 ядра – это не качественная характеристика. Такой телефон всего лишь подчеркивает финансовые возможности пользователя, не более того.
2-х ядерный смартфон
LG Electronics в свое время анонсировал смартфон на 2 ядра — LG Optimus 2X. Модель эта зарекомендовала себя как довольно надежный и удачно выполненный смартфон. Стоит сказать, что эта кампания в своей основе вела направление на разработку именно бюджетных вариантов. Но успех смартфона на 2 ядра дал стимул для дальнейшего производства уже более дорогих моделей.
Смартфон Samsung Galaxy S II является самым продаваемым среди остальных моделей и уже успел вызвать к своей персоне законный интерес. Кампания даже вынуждена была в срочном порядке выпустить в продажу очередную серию смартфонов, чтобы хоть как-то снизить ажиотаж.
Отметим, что количество ядер в процессоре влияет на качество игровых свойств вашего смартфона, в первую очередь. Плюс к этому бытует мнение, что многоядерные смартфоны довольно быстро «садят» аккумуляторную батарею. Стоит добавить, что качество разговоров по таким смартфонам от количества ядер в процессорах не зависит. А если батарея быстро подсаживается,, можно попытаться ее заменить на более новую и мощную.
правда или вымысел? — android.mobile-review.com
27 мая 2015
Константин Иванов
Вконтакте
Google+
По материалам androidauthority.com
Уже с десяток лет в наших компьютерах стоят многоядерные процессоры, и в настоящее время это норма. Вначале ядер стало два, потом четыре, а сегодня компании вроде Intel и AMD предлагают high-end процессоры для настольных компьютеров с 6 или 8 ядрами. Та же история и с процессорами в смартфонах. Двухъядерные энергоэффективные процессоры от ARM появились около 5 лет назад, а вслед за ними и 4, 6 и 8-ядерные процессоры на архитектуре ARM. Между тем, есть разница между 6- и 8-ядерными настольными процессорами от Intel и AMD и 6- и 8-ядерными процессорами, основанными на архитектуре ARM. У большинства относящихся ко второй категории процессоров с больше чем 4 ядрами используются как минимум две различных конструкции ядра.
С некоторыми исключениями, в целом, восьмиядерный ARM процессор использует систему, известную как Heterogeneous Multi-Processing (HMP), в которой «гетерогенность» означает неравноценность ядер. В современном 64-битном процессоре это значит, что кластер с ядрами Cortex-A57 или Cortex-A72 используется в сочетании с кластером ядер Cortex-A53. A72 – высокопроизводительное ядро, в то время как у A53 большая энергоэффективность. Такое сочетание известно как big.LITTLE, поскольку здесь «большие» ядра (Cortex-A72) объединены с «маленькими» Cortex-A53. Это сильно отличается от 6- и 8-ядерных процессоров для ПК от Intel и AMD, поскольку проблема энергопотребления в этом случае не так актуальна, как на мобильном устройстве.
Когда многоядерные процессоры впервые попали на ПК, возникло много вопросов касательно преимуществ двухъядерного процессора перед одноядерным. Двухъядерный 1.6ГГц процессор «лучше» одноядерного 3.2ГГц процессора или нет? А что Windows? Сможет ли она максимально реализовать потенциал двухъядерного процессора? А игры? Они правда идут лучше с двухъядерным процессором? И надо ли при написании приложений делать это особым образом, чтобы они могли использовать дополнительные ядра? И так далее.
О мультипроцессорной обработке
Эти вопросы вполне закономерны, и, конечно, такие же вопросы возникают по поводу многоядерных процессоров в смартфонах. Перед тем, как посмотреть на «взаимоотношения» многоядерных процессоров в смартфонах и Android приложений, давайте немного рассмотрим многоядерную технологию в целом.
Компьютерам отлично удается решение одной задачи. Вам нужно узнать первые сто миллионов простых чисел? Не вопрос, компьютер будет вычислять их целый день, снова и снова. Но тогда, когда вам нужно, чтобы он совершал два действия, например, выявлял те же простые числа с одновременно запущенным графическим интерфейсом, чтобы вы могли одновременно заниматься веб-браузингом, это оказывается несколько сложнее.
Не углубляясь в частности, существует технология, известная как вытесняющая многозадачность, которая позволяет разделять доступное процессорное время между несколькими задачами. «Кусочек» процессорного времени отводится одной задаче, «кусочек» другой и так далее. В основе операционных систем, таких как Linux, Windows, OS X и Android, лежит та часть технологии, что известна как планировщик и определяет, какому процессу достанется следующий «кусочек» процессорного времени.
Планировщики могут писаться по-разному, на сервере планировщик может быть заточен под то, чтобы давать приоритет задачам ввода-вывода вроде записи на диск или считывания из сети, в то время как в настольной версии он будет уделять больше внимания отзывчивости графического интерфейса.
Когда ядер больше одного, планировщик может отвести для одного процесса кусочек времени процессору 0, в то время как другой процесс получает кусочек времени процессора 1. Так планировщик и двухъядерный процессор позволяют двум задачам выполняться одновременно. Чем больше ядер, тем больше процессов могут выполняться одновременно.
Вы уже заметили, что планировщику хорошо удается разделять ресурсы процессора между различными задачами вроде того же вычисления простых чисел, запуска рабочего стола, использования браузера. Однако один процесс, такой как вычисление простых чисел, может быть разделен между несколькими ядрами. Или нет?
Некоторые задачи последовательны сами по себе. Чтобы испечь пирог, вам нужно разбить яйца, добавить муку, замесить тесто и так далее. Нельзя поставить пирог в духовку, пока не готово тесто. Так что даже если у вас на кухне два повара, сэкономить время на одной из задач не выйдет. Есть нерушимый порядок и последовательность действий. Можно решать несколько задач сразу и поручить одному повару пирог, а другому нарезку салата, но задачи с предопределенным порядком действий не выиграют ни от двухъядерного, ни даже от 12-ядерного процессора.
Не все задачи таковы, как описано выше. Многие операции, которые выполняет компьютер, можно разделить на несколько самостоятельных задач. Чтобы это произошло, основной процесс должен создать другой процесс и отдать ему на откуп часть работы. К примеру, если, используя алгоритм для вычисления простых чисел, вы не используете предыдущие результаты, не пользуетесь Решетом Эратосфена, можно разделить работу на две части. Один процесс вычисляет первые 50 млн чисел и второй – вторые 50 млн. Четырехъядерный процессор позволяет поделить работу на 4 части, и так далее.
Но для того, чтобы все это работало, программу надо написать особым образом. Другими словами, она должна быть разработана так, чтобы делить нагрузку на меньшие части, а не делать ее целиком. Для этого есть различные технологии программирования, и вы наверняка слышали слова вроде «однопоточный» или «многопоточный». Эти слова означают программы, которые написаны для выполнения одной задачи (однопоточная, все вместе) или программы с индивидуальными задачами (потоками), которым может быть отдельно назначено свое процессорное время. Подводя краткий итог, однопоточная программа ничего не выиграет от запуска на многоядерном процессоре, а вот многопоточная – напротив.
Итак, мы почти добрались до сути, и прежде чем перейти к Android, нужно еще одно. От того, как написана ОС, зависит то, что некоторые выполняемые программы могут быть изначально многопоточными. Часто отдельные части ОС сами по себе представляют собой независимые задачи, и когда ваша программа осуществляет ввод и вывод информации или выводит что-то на экран, это может быть отдельным процессом в системе. Использование того, что называется non-blocking calls может внести многопоточность в программу, не создавая потоков специально.
Это важный аспект для Android. Одна из задач системного уровня в архитектуре Android – SurfaceFlinger. Это основа процесса вывода графической информации на дисплей в Android. Это отдельная задача, которой должно быть выделено процессорное время. Что означает, что определенные графические операции для выполнения предполагают запуск нового процесса.
Android
Из-за процессов вроде SurfaceFlinger Android выигрывает от многоядерных процессоров без нужды в специальных многопоточных по сути приложениях. И поскольку множество вещей происходит в фоне, вроде синхронизации и виджетов, Android выигрывает от многоядерности и как единое целое. Эта ОС ожидаемо обладает способностью создавать многопоточные приложения. Чтобы узнать больше, посмотрите в раздел Процессы и Потоки в документации Android. Есть также многопоточные примеры от Google, а также имеется интересная статья от Qualcomm о программировании Android приложений для многоядерных процессоров .
Однако остается актуальным вопрос, является ли большинство Android приложений однопоточным и использует ли, таким образом, только одно ядро. Вопрос важный, поскольку если да, то у вас может быть многоядерный монстр из мира смартфонов, а на деле его процессор будет работать, как двухъядерный!
Также может возникнуть вопрос относительно разницы между 4- и 8-ядерным процессором. В ПК или серверах восьмиядерные процессоры построены так, что чип состоит из одинаковых ядер. Для большинства восьмиядерных процессоров с архитектурой ARM существуют высокопроизводительные и энергоэффективные варианты ядер. И смысл в том, что более энергоэффективные ядра служат для выполнения более второстепенных задач, а высокопроизводительные – для работы в тяжелой весовой категории. Однако, как и в настольной версии, эти ядра могут использоваться одновременно.
Основное, что здесь стоит запомнить, это то, что восьмиядерный процессор big.LITTLE обладает восемью ядрами из соображений энергоэффективности, а не производительности.
Тестирование
В Android возможно получить сведения о том, сколько ядер система использовала в процессоре. Для подкованных, это можно посмотреть в файле /proc/stat. Был создан инструмент, который берет информацию об использовании ядер в Android, пока запущено приложение. Чтобы повысить его эффективность и уменьшить падение производительности, сведения собираются, только когда приложение активно. Анализ данных производится офлайн.
Используя этот инструмент, у которого пока нет названия, для теста запускали серии приложений разного типа (игры, веб-браузинг и т.п.) на телефоне с четырехъядерным процессором Qualcomm Snapdragon 801, а затем на телефоне с восьмиядерным Qualcomm Snapdragon 615. При сопоставлении данных получились графики использования процессора. Начнем с простого примера. Вот график работы ядер Snapdragon 801 при использовании браузера Chrome:
График показывает, сколько ядер использовали Android и браузер. Он не демонстрирует, насколько было задействовано ядро, только то, использовалось ли оно в принципе. Если бы Chrome был однопоточным, можно было бы ожидать, что задействуются одно или два ядра, может быть, третье или четвертое по случаю. Но мы этого не видим. Наоборот, задействованы четыре ядра, и только временами количество используемых ядер падает до 2. В тесте с браузингом не читались загруженные страницы, это не повлияло бы на использование процессора. Страницы просто прогружались, и можно было переходить к новым.
Вот график, который показывает, насколько задействовалось каждое ядро. Это усредненный график (в реальном путаницу вносит огромное количество линий). Это значит, что по меньшей мере, показаны пики использования. К примеру, пик на этом графике превышает 90%, однако изначальные данные показывали, что некоторые ядра достигали 100% много раз. Тем не менее, здесь хорошо видно, что происходило.
А что у нас с восьмиядерным процессором? Демонстрирует ли он ту же самую схему? Нет, как видно на графике ниже. Постоянно используется семь ядер, на пиках доходит до 8, иногда опускается до 6 и 4.
Также и средний показатель использования каждого ядра демонстрирует, что планировщик вел себя иначе, поскольку Snapdragon 615 – процессор big.LITTLE.
Можно видеть, что два или три ядра трудятся больше других, но так или иначе задействованы все ядра. Мы видим, как архитектура big.LITTLE может передавать потоки от ядра к ядру в зависимости от загруженности. И не забываем, что смысл дополнительных ядер – это энергоэффективность, а не производительность.
Мы можем спокойно говорить о том, что использование «андроидом» всего одного ядра – это миф. Это было ожидаемо с учетом того, что Chrome, как и Android, был разработан многопоточным, как и для настольных компьютеров.
Другие приложения
Итак, это был разработанный многопоточным Chrome, а что с другими приложениями? Вот, что получилось вкратце
Gmail – на 4-ядерном телефоне получились равные доли использования 2 и 4 ядер. Однако среднее использование ядра не поднималось выше 50% — ожидаемо для относительно легкого приложения. Восьмиядерный процессор давал скачки от 4 к 8 ядрам, но меньшее среднее использование ядра – менее 35%.
YouTube – на 4-ядерном процессоре использовались только 2 ядра, в среднем менее 50% загрузки. На 8-ядерном в основном 4 ядра, временами вырастало до 6 и падало до 3. Загрузка ядер в среднем была всего 30%. Интересно, что планировщик предпочитал большие ядра, а маленькие почти не использовал.
Riptide GP2 – 4 ядра – процессор Qualcomm большую часть времени использовал два ядра, а остальные два – очень мало. А в 8-ядерном варианте последовательно использовались 6-7 ядер, но основную работу выполняли только три.
Templerun 2 – эта игра – более яркий пример проблемы однопоточности, чем другие приложения в тесте. В 8-ядерном варианте задействовались 4-5 ядер последовательно с пиками до 7. И только одно ядро выполняло тяжелую работу. На телефоне с 4-ядерным Qualcomm Snapdragon 801 два ядра делили нагрузку примерно поровну, а двум другим доставалось очень мало. На телефоне с 4-ядерным процессором от MediaTek нагрузка распределялась между всеми четырьмя ядрами. Это показывает, насколько разные планировщики и разные ядра разительно меняют то, как используется процессор.
Вот выборка графиков для наглядности. График бездействия 8-ядерной системы добавлен в качестве отправной точки.
Восьмиядерный аппарат, активный экран, пользователь не совершает никаких действий:
YouTube, запущенный на 4-ядерном аппарате:
YouTube, запущенный на 8-ядерном аппарате:
TempleRun2, запущенный на 4-ядерном аппарате:
TempleRun2, запущенный на 4-ядерном аппарате с процессором MediaTek:
Gmail, запущенный на 4-ядерном аппарате:
Gmail, запущенный на 8-ядерном аппарате:
Riptide GP2, запущенный на 4-ядерном аппарате:
Riptide GP2, запущенный на 8-ядерном аппарате:
Интересный результат получился в AnTuTu на 8-ядерном процессоре.
Как видите, последняя часть теста полностью загружает все ядра. Понятно, что бенчмарк искусственно создает высокую нагрузку, и поскольку все ядра работают на полную, чипсеты с большим количеством ядер выигрывают. С обычными приложениями такого не наблюдалось. Бенчмарки искусственно раздувают преимущество восьмиядерных аппаратов в производительности (больше, чем в энергоэффективности).
Почему легкие приложения используют 8 ядер?
Если вы посмотрите на приложения вроде Gmail, вы заметите интересный феномен. На 4-ядерном аппарате использование ядер поровну распределено между двумя и четырьмя ядрами, а на 8-ядерном – между четырьмя и восемью. Как Gmail может работать на 2 – 4 ядрах на 4-ядерном телефоне, а на 8-ядерном требовать как минимум четырех ядер? Бессмыслица какая-то.
Все дело снова в том, что ядра в телефонах с big.LITTLE неравноценны. В реальности мы видим, что планировщик использует ядра LITTLE, а когда нагрузка повышается, в дело вступают их собратья big. После некоторого времени совместной работы ядра LITTLE отправляются отдыхать. Когда нагрузка снижается, все происходит наоборот. Конечно, все это случается очень быстро, тысячи раз в секунду. Посмотрите на график, где сравнивается использование ядер big и LITTLE в Epic Citadel.
Посмотрите, вначале используются ядра big, а ядра LITTLE неактивны. Затем, около отметки 12 секунд, ядра big начинают использоваться меньше, и просыпаются ядра LITTLE. На 20 секундах big-ядра увеличивают активность снова, и LITTLE снижают ее почти до нуля. Это видно и на отметках 30, 45 и 52 секунды. В этих точках число использованных ядер колеблется. К примеру, в первые 10 с используются только 3 или 4 ядра (это ядра big), и на 12 с это число доходит до 6, затем снова падает до 4 и т.д. Так работает big.LITTLE. Этот процессор построен не так, как процессор для ПК. Дополнительные ядра позволяют планировщику выбирать для разных действий правильные ядра.
Все тесты, которые проводились, показали, что не нашлось ни одного реального приложения, которое использовало бы все 8 ядер на сто процентов. Так и должно было быть.
Подводим итоги
Прежде всего, подчеркнем, что эти тесты не отражают производительности телефонов, а лишь показывают, задействуют ли приложения Android несколько ядер. Не раскрывается преимуществ или недостатков многоядерности или чипсета big.LITTLE, как не сравнивается и работа частей приложения на двух ядрах при их использовании на 25% с использованием одного ядра на 50%, и так далее.
Затем, тесты еще не проводились для схемы Cortex-A53/Cortex-A57 или Cortex-A53/Cortex-A72. У Qualcomm Snapdragon 615 4-ядерный 1.7 ГГц ARM Cortex A53 кластер и четырехъядерный кластер 1.0 ГГц A53.
Интервал сканирования в этой статистике равен примерно трети секунды, т. е. около 330 миллисекунд. Если ядро сигнализирует об использовании на 25% в эти 300 миллисекунд и второе ядро – о том же самом, график покажет, что оба ядра используются на 25% одновременно, при этом одно ядро может задействоваться на 25% в течение 150 миллисекунд, то же и со вторым. Это означает, что ядра использовались последовательно, а не единовременно. В настоящее время меньшего интервала тест не предполагает.
При всем при этом, Android приложения очевидно способны использовать преимущества многоядерных процессоров и процессоры big.LITTLE позволяют планировщику выбрать наилучшую комбинацию ядер для текущей задачи. Поэтому если вы по-прежнему слышите от людей «Но смартфону не нужны 8 ядер!», вам остается только развести руками в отчаянии. Ничего-то эти люди не понимают.
4 ядра в телефоне, есть ли смысл? Компьютерная помощь
В эпоху современных многоядерных смартфонов часто возникает воспрос «а не настало ли время сменить мой старый телефон (смартфон) на что-нибудь новенькое?», «не появилось ли на рынке что-нибудь, что сможет дать мне такие функции, доступ к которым я не имею сейчас?». Давайте разберёмся — так ли важно количество ядер в процессоре и для кого они могут пригодиться.
Практически все современные смартфоны имеют в своём составе не одно ядро, но, по сути, в обычных пользовательских функциях они ничем не отличаются от их более старых собратьев с одним ядром. Сам принцип смартфона — это быстрое выполнение множества задач (ведь смартфон уже давно перестал быть просто «звонилкой»). Пользоваться браузером, смотреть фильмы, читать почту и, естественно, звонить можно и с помощью обычного одноядерного смартфона, который стоит сейчас не такие большие деньги. Получается, что количество ядер — это просто пиар-ход компаний и ядра не имеют никакой пользы для владельца? Нет — не совсем так. Многоядерные смартфоны создаются для тех, кто считает, что его смартфон должен выполнять функции портативной игровой консоли. Самые мощные смартфоны, на данный момент, имеют 4 ядра, что естественно говорит об их быстродействии в тяжелых играх и приложениях, но они, пока, ничем не уступают коммуникаторам с двумя ядрами. На данном этапе 4 ядра — это просто пиар-ход компаний, приложений которые реально напрягали бы все ядра выпустили не так уж и много (эти приложения можно, буквально, пересчитать на пальцах одной руки, но и они прекрасно работают на двух ядрах с помощью специальных оптимизаторов).
Так что если вы задумались над сменой своего мобильного телефона на смартфон, но вас мало интересуют «тяжелые» игры — то не стоит гнаться за количеством ядер, а, вполне, можно приобрести именно тот девайс, который нравится больше по диагонали экрана, технологии изготовления экрана, операционной системе, набору дополнительных функций, фирмы-изготовителю, гарантийному обслуживанию, дизайну и прочим характеристикам.
Сколько процессорных ядер нужно смартфону?
Практически каждый первый смартфон обладает процессором с четырьмя ядрами, а то и сразу с восемью. Казалось бы, чем больше ядер – тем лучше производительность и быстродействие устройства, но в таком случае это должно влиять на повышенное потребление энергии АКБ. При этом последнее отрицательно сказывается на продолжительности автономной работы.
Если вы и вправду строите подобные догадки, спешим вас в этом разубедить — это не так. На самом деле архитектура восьмиядерных CPU не подразумевает включение в работу всех ядер одновременно…, даже если речь идет о выполнении требовательных к «железу» задач.
Мобильные CPU скорее не 8-ядерные, а двойные 4-ядерные?
Где же кроется подвох? Дело в том, что нынешние восьмиядерные SoC (будь то решения от Qualcomm или Mediatek) состоят из двух 4-ядерных чипов, но с различающейся тактовой частотой, которая указывается в герцах — «ГГц». Во время работы эти чипы распределяют задачи между собой в зависимости от нагрузки.
То есть, когда смартфону требуется выполнить ресурсоемкую задачу – он перекидывает ее на четыре быстрых ядра с высокой циклом выборки и исполнения команд. Напомним: чем выше частота (или число основных операций) ядер – тем выше скорость выполнения задач. В случае, когда смартфону не нужно задействовать много мощности (например, во время веб-серфинга или блуждания по интерфейсу), задействуется медленный процессор с низкой частотой.
10-ядерный процессор Mediatek: 2 ядра Cortex-A72/2500 МГц предназначены для выполнения самых сложных задач; 4 ядра Cortex-A53/2000 МГц — для сбалансированного режима, который обеспечивает хорошую производительность с потреблением энергии в допустимых размерах; и 4 ядра Cortext-A53/1400 МГц обеспечивают максимальную энергоэффективность, когда на смартфоне не запускаются требовательные приложения.Итог: энергия аккумулятора при потребляется меньше, а так как для выполнения большинства задач телефону достаточно CPU с невысокой вычислительной производительностью, это позволяет существенно экономить заряд батареи, не устанавливая АКБ удвоенной емкости.
Что выбрать: четыре или восемь ядер?
Принимая во внимание вышеперечисленные факты, мы приходим к следующему выводу: любой восьмиядерный процессор на самом деле никакой не восьмиядерный, а, скорее, двойной 4-ядерный (такой принцип объединения называется big.LITTLE). Но для маркетингового названия этот оборот речи не особо подходит, а вот формулировка «восьмиядерный» воспринимается на слух гораздо лучше.
Получается, что разница в мощности между 4-ядерными и 8-ядерными мобильными CPU может оказаться незаметной для рядового пользователя. Но тем, кто хочет приобрести телефон с большей «долгожительностью», логичнее выбирать 8-ядерный аппарат.
Стоит ли покупать смартфон с 2-ядерным процессором?
Во время написания этого текста мы послушали мнения многих пользователей смартфонов и выяснили, что некоторые из них считают, будто 2-ядерные CPU с высоким количеством гигагерц намного лучше, чем 4-ядерные процессоры с меньшей тактовой частотой.
Это очередной миф. Во-первых, количество ядер сказывается на игровых свойствах, поэтому двухъядерный смартфон вряд ли потянет современные мобильные развлечения (включая некоторые казуальные игрушки). А вот для путешествия по Интернет-сайтам и переписок в мессенджерах подойдет вполне. Во-вторых, мы не советуем смотреть в сторону устаревших моделей телефонов со слабыми CPU. Велика вероятность, что за эти же деньги вы сможете купить современный мобильный аппарат с четырьмя процессорными ядрами.
Загрузка …Понравилась статья? Поделись с друзьями!