В начале 2010 г. компания LG анонсировала первый в мире двухъядерный смартфон, что ознаменовало эру мобильной гонки многоядерности. С тех пор прошло уже более 6 лет, а производители только продолжают наращивать производственные и производительные мощности. Сегодня на рынке присутствуют уже десятиядерные предложения и вряд ли на этом их рост остановится. Чтобы лучше понять, чего добиваются производители и как постоянное увеличение количества ядер отражается на приросте производительности, проведем небольшой экскурс в историю.
Некогда устройство для совершения звонков сегодня выполняет роль мультимедийного комбайна, став неотъемлемой частью нашей жизни. С каждым годом появляется новая функциональность, а значит растет потребность обработки всё больших потоков данных. Изначально все усилия для повышения производительности были направлены в сторону наращивания тактовой частоты, но с достижением определенных показателей, её повышение стало нерациональным, так как сказывалось на увеличении TDP процессоров. Впрочем, стараниями разработчиков, а в последующем и маркетологов, был найден выход – многоядерность.
В человеческом сознании укоренилось мнение: “чем больше, тем лучше.” Но всегда есть исключение и вопрос многоядерности один из таких случаев. Эти предубеждения успешно используются “психологами маркетинга”, чья задача убедить вас в том, что это главный фактор, влияющий на прирост производительности. А так ли это?
Важна ли многоядерность? Несомненно. Обработка, распределение и выполнение множества задач одновременно – вот главная её фишка. Параллельная работа нескольких приложений, видеосъемка и совершение звонков. Звучит странно, но вполне возможно. Возможно благодаря задействованным дополнительным ядрам. И да, я о плавности.
Два процессорных ядра, а это, по сути, два микропроцессора, управятся с различными задачами быстрее одного. Четыре – ещё быстрее, нежели два. Способ увеличения производительности процессора с помощью нескольких ядер заключается в разбивке потоков. Важно отметить, что ОС, несмотря на их количество, умеет создавать и работать с множеством виртуальных потоков, пускай это даже одноядерный вариант. Загрузи вы свой смартфон одной задачей, он отлично с ней справится. Между тем это огромная редкость, ведь даже в режиме пассивного использования он выполняет по несколько задач, для чего в ОС включен планировщик. Планировщик регулирует порядок и количество задач.
А что насчет количества ядер?
Большее количество – не всегда качество. Не все приложения оптимизированы для работы с несколькими ядрами, а уж тем более, когда их численность давно перевалила за четыре. По крайней мере так было раньше, сейчас же ситуация кардинально изменилась. Давайте на примере.
У вас есть несколько грузовых машин. Перевезти ими груз становится гораздо проще, нежели делать это с помощью одной в несколько подходов или полностью загрузив автомобиль. Правда, этот вариант доступен при условии возможности разделения груза. Немаловажным являются и тактовая частота, которая отвечает за обработку различных операций в секундном интервале. Чем она выше, тем больше действий процессор выполняет за один проход. Не стоит забывать и про архитектуру процессора. Вернемся к примеру.
У нас есть два водителя. Несмотря на то, что в смартфонах используется однокристальная система, здесь как и в компьютерных решениях у каждого производителя имеются свои варианты исполнения, отличные от конкурентов. Так вот. У обоих водителей одинаковое задание и место прибытия. Но первый более опытный и знает короткий путь (нет, не как в фильмах с плохой концовкой), соответственно имеет преимущество и доберется гораздо быстрее второго. Не будем тыкать пальцами, но параллель между Qualcomm и MediaTek, думаю, понятна )
Возвращаясь к вопросу оптимизации. В предыдущих своих статьях я не раз отмечал чрезвычайную важность этого фактора и не устаю повторять об этом вновь. Как всегда пример с яблочной продукцией. В последней версии iPhone используется двухъядерный процессор собственной разработки, который занимает лидирующую позицию среди своих более “ядерных” собратьев. Этому способствует множество факторов, но оптимизация стоит во главе.
Прогресс не стоит на месте и на рынке уже давно намечен курс на уменьшение размеров используемых компонентов. Впрочем, в мобильных решениях проблема перегрева остается все ещё актуальной: постоянная прокачка характеристик, включая наращивание мощности становится серьезным барьером при тенденции на стройные смартфоны. В погоне за инновациями некоторые производители оснащают свои устройства жидкостным охлаждением, как например в Z2, Lumia 950 XL и Galaxy S7. Снизить перегрев на высокой частоте возможно также перейдя на более тонкий техпроцесс.
“Количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца, что приводит к появлению новых технологий, росту производительности и прорывам в области электроники.”
Чем меньше элемент, тем меньше выделение тепла. Однако, с уменьшением размера транзисторов увеличиваются сложности с теплоотводом. Плюс, их размер должен уменьшаться пропорционально (закон Мура), чтобы задержки в ГГц сигналах не сказывались на итоговой производительности. В результате – палка с двумя концами.
Ещё один способ – увеличение количества ядер. Да, вы не ослышались. Система выбирает комбинацию ядер и с потребностью задействует высокопроизводительные, а при возможности сэкономить, пускает в ход энергоэффективные. В редких случаях используются и те, и другие.
Технический писатель и автор собственного блога Дарси Лаковье, провел один интересный эксперимент, создав специальную программу, так как не нашел ни одного приложения, которое использовало бы все восемь ядер на 100%. Потом он затестил несколько приложений на смартфонах с четырехъядерным (Snapdragon 801) восьмиядерным Snapdragon (615) процессорами. В результате Дарси продемонстрировал графики их работы с одинаковыми приложением.
Как и полагается, первым протестировали Chrome. Будь приложение однопоточным, можно было ожидать нагрузки двух ядер с периодической активностью ещё двух других. На самом деле, львиную долю времени браузер использовал все четыре ядра.
Что касается восьмиядерного решения, большую часть времени браузер вел себя довольно непредсказуемо, задействовав произвольное их количество, комбинируя семь-восемь, а иногда шесть или четыре ядер. Учитывая, что 615 использует big.LITTLE-концепцию, способ его работы сильно отличается. На графике видно, как возрастает нагрузка на одном в то время, как падает на другом ядре.
На следующем изображении можно увидеть, как при сильной нагрузке активируется big-кластер, что равноценно задействованию четырех ядер, однако при снижении нагрузки возможно использование двух кластеров одновременно, то есть использование всех восьми ядер. Это нужно во избежание скачков в напряжении, а последующее снижение нагрузки приведет к отключению big и включению энергоэффективного LITTLE-кластера.
Вся статья довольно большая, поэтому я отобрал основные фрагменты для демонстрации и объяснения поведения различных процессоров в определенных ситуациях.
Учитывая определенное количество факторов, а именно оптимизацию, разность архитектур, использование различных технологий и некоторых других – многоядерность сегодня не только дань моде, но и один из способов балансировки между огромным количеством насущных проблем.
И в первую очередь, это нужно не столько для наращивания производительности (ведь это вопрос оптимизации), сколько для решения проблем энергоэффективности и перегрева. Но это ли основной выход? Ведь остается ещё масса обходных путей. Например, то же уменьшение техпроцесса. Но и здесь не всё так просто. Ведь манипуляции с минимизацией приводят к большому количеству отбракованных процессоров. Более того, даже небольшие земные колебания, незаметные для простого человека, могут привести количество непригодных процессоров до 70-80%.
Остается система жидкостного охлаждения, но её эффективность в существующем виде, к сожалению, всё ещё под вопросом. Впрочем, производители вряд ли остановятся на этом, ну а на главный вопрос, нужна ли многоядерность? Ответ – да!
мені здається, що основна перевага андроіда в тому, що його можна запустити навіть на елктрочайнику. так, він “повільніший” за іОС, але в результаті на ринку появилось мільйон мультифункціональних пристроїв! і все це коштує від 10 баксів!
Ну і мабуть додати пару ядер обходиться дешевше, ніж “оптимізовувати”, інакше так би і зробили :)
“Сколько нужно ядер” зависит от того, как с ними работает система, как с ними работают разработчики. Не пользователям об этом судить.
В качестве примера: если для качественной работы ИИ потребуется не 2 ядра “от Apple”, а 1024 “от MTK”, то будет во флагманах 1024 “от MTK”.
И как только бедный айфончег живет всего с двумя ядрами и умудряется дрюкать все процессоры используемые в смартах на андроиде?!
Да никого он давно не дрюкает. Утрите с губ остатки яблочного пюре и подумайте, почему так.
Ну начнём с того что я не ярый фанат какой-то конкретной ОС, у всех есть свои плюсы и минусы. Но я верю цифрам! Заходим сюда и смотрим на бенчмарки http://www.notebookcheck.net/Smartphone-Processors-Benchmark-List.149513.0.html Кто разделяет первые места? А сколько ядер у чипов эпл?! Меня всегда удивляло как им это удаётся.
всё проще, чем можно подумать. дело не в супер инженерах Apple, а в оптимизации. Apple знает свою систему от A до Я. никто кроме Apple не выпускает смартфоны с iOS. Apple сама разрабатывает однокристальные системы.
как итог, Apple просто имеет возможность максимально оптимизировать связку SoC-ОС.
это как в случае с консолями. у PS4 гибридный процессор со слабыми ядрами AMD Jaguar и видеокартой, аналогичной Radeon HD 7850. если собрать комп с такими параметрами, ни о каких играх вроде Quantum break речи не пойдёт. будут тормозить даже ощутимо менее навороченные проекты. а на консолях бегают. просто дело в оптимизации.
когда нет сотен различных конфигураций, под которые нужно настроить ОС, оптимизация может быть максимально эффективной. что и показывает Apple
Это всё понятно, но просто не верится что разница может быть настолько огромной. Adnroid ведь тоже не дураки делают.
Там еще проблема в том что андроид используют многие, а значит нужны инструменты которые будут унифицированы и чтобы производители могли их использовать. У Эпл нет этого им не нужно делать ОС для кого-то. Там можно функции внедрять максимально близко к уровню железа. Если эпл надо какая-то функция, встроили в ОС и используют, на андроид надо что-то, думаем как с помощью имеющихся инструментов и функций это сделать в итоге функции переводятся в другие более простые и только потом выполняются.
У apple система не тормозит потому что за основу взято BSD ядро. А оно по шустрее Linux будет, и все глюка андроида вызваны его графической оболочкой, а точнее то на чем она написана. Что касается PS, там высокая производительность достигается за счет низкоуровневого API. Если его реализовать в windows, так же само игрушки начнут летать на говне. Но вы сами должны понимать что это никому не выгодно. Уже есть куча игровых движков которые по реалистичности приблизились к 100% отметке, но дело торвозят OC+GPU Driver+DirectX/PhysX
В гугле легко найти информацию по этой теме. Для начала почему двухъядерный, почему после трехъядерного процессора айпад эир2 они выпускают айпад прошку снова с двумя ядрами. Все дело в том, что ios не умеет толком использовать более двух ядер, и переписать ее под многоядерные процессоры можно, но потеряется совместимость с предыдущими версиями системы и практически всеми приложениями. Исходя из этого возникает парадокс – для увеличения вычислительной мощности инженерам эпл нужно делать монструозные ядра, которые тяжелее производить и с гигантским транзисторным бюджетом, им просто недоступен более дешевый и менее трудозатратный вариант наращивания ядер.
Вангую продолжение этого банкета до 7нм техпроцесса, а дальше будет эпический дроп всех старых устройств и тотальное переписывание всего аппстор.
И да, не нужно рассказывать про кастомные чудо-ядра эпл, по сути это те же стоковые ядра arm с увеличенным количеством функциональных блоков.
доречі, нічого переписувати не доведеться – достатньо буде скомпілювати під нову платформу. вже зараз можна в апп стор заливати “напівсирі” апки, які потім будут оптимізовані під кожен конкретний девайс при скачувані. Просто для інформації, гарного дня Вам (-seealso: bitcode in xcode project)
И вам того же. Ну дай то бог, чтоб все было безболезненно, я за здоровую конкуренцию, если у яблок будут проблемы будет плохо всем.
Не сайт, а сборище бестолковых авторов…
Какое начало 2010 г.?, какое более 6 лет?…
“Компания LG Electronics представила Optimus 2X 16 декабря 2010 года во время пресс-конференции Nvidia, первые продажи устройства состоялись в Южной Корее в январе 2011 года и в Сингапуре в марте 2011 года.”!!!
Понабирают любителей по объявлению.
Сооснователи сайта, вы чего?
Это весь итог который вы смогли из себя выдавить?
Я понимаю что у некоторых индивидуумов слегка затянулось весенее обострение… но неужели у вас в жизни всё так плохо?
В статье прямым текстом сказано: “В начале 2010г компания LG представила первый в мире двухьядерный смартфон.”
В чем проблема? Считать разучились? Какая разница когда он стал доступен широкой аудитории? Вон кто-то пустил слух что Apple выпустит новый яблофон с usb type-c и другие производители кинулись делать также. Тоже было и в случае с многоядерными смартфонами.
Я думаю всё до банальности просто – комплекс неполноценности в купе с желание выделится и содрать, чем побольше лайков – вот суть вашего комментария.
Как же бесят такие!!!
А что не так? Он вроде по теме сказал…
Перечитайте комментарий и попробуйте вникнуть в суть претензии.
Короче на пустом месте…
ааа… ну, так-то да. Никогда не понимал сути подобных “изложений”…
Вот и я о том же…