No Image

Big little что это технология

СОДЕРЖАНИЕ
373 просмотров
10 марта 2020

Подавляющее большинство современных гаджетов используют процессоры на архитектуре ARM, разработкой которой занимается одноимённая компания ARM Limited. Что интересно, компания сама не производит процессоры, а только лицензирует свои технологии для сторонних производителей чипов. Помимо этого, компания также разрабатывает процессорные ядра Cortex и графические ускорители Mali, которых мы обязательно коснёмся в этом материале. Прежде чем приступить к нему, рекомендуем ознакомиться с нашими предыдущими статьями по этой теме: “Я знаю: мобильные процессоры. Вводная часть”, “Я знаю: мобильные процессоры. Компания Qualcomm” и “Я знаю: мобильные процессоры. Компания Intel”.

ARM Limited

Компания ARM, фактически, является монополистом в своей области, и подавляющее большинство современных смартфонов и планшетов на различных мобильных операционных системах используют процессоры именно на архитектуре ARM. Производители чипов лицензируют у ARM отдельные ядра, наборы инструкций и сопутствующие технологии, причём стоимость лицензий значительно разнится в зависимости от типа процессорных ядер (это могут быть как маломощные бюджетные решения, так и ультрасовременные четырёхъядерные и даже восьмиядерные чипы) и дополнительных компонентов. Годовой отчёт о прибыли ARM Limited за 2006 год показал выручку в 161 миллион долларов за лицензирование около 2,5 миллиардов процессоров (в 2011 году этот показатель составил уже 7,9 млрд), что означает примерно 0,067 долларов за один чип. Впрочем, по озвученной выше причине, это очень усреднённый показатель из-за разницы в ценах на различные лицензии, и с тех пор прибыль компании должна была вырасти многократно.

Ядра Cortex

ARM разрабатывает несколько семейств ядер, которые используются для различных задач. К примеру, процессоры, основанные на Cortex-Mx и Cortex-Rx (где “х” – цифра или число, обозначающее точный номер ядра) используются во встраиваемых системах и даже бытовых устройствах, к примеру, роутерах или принтерах.

Подробно на них мы останавливаться не будем, ведь нас, в первую очередь, интересует семейство Cortex-Ax – чипы с такими ядрами используются в наиболее производительных устройствах, в том числе смартфонах, планшетах и игровых консолях. ARM постоянно работает над новыми ядрами из линейки Cortex-Ax, но на момент написания этой статьи в смартфонах используются следующие из них:

Чем больше цифра – тем выше производительность процессора и, соответственно, дороже класс устройств, в которых он используется. Впрочем, стоит отметить, что это правило соблюдается не всегда: к примеру, чипы на ядрах Cortex-A7 имеют большую производительность, нежели на Cortex-A8. Тем не менее, если процессоры на Cortex-A5 уже считаются чуть ли не устаревшими и почти не используются в современных устройствах, то CPU на Cortex-A15 можно найти во флагманских коммуникаторах и планшетах. Не так давно ARM официально объявила о разработке новых, более мощных и, одновременно, энергоэффективных ядер Cortex-A53 и Cortex-A57, которые будут объединены на одном чипе с применением технологии ARM big.LITTLE и поддерживать набор команд ARMv8 (“версию архитектуры”), но в настоящее время они не применяются в массовых потребительских устройствах. Большинство чипов с ядрами Cortex могут быть многоядерными, и в современных топовых смартфонах повсеместное распространение получили четырёхъядерные процессоры.

Крупные производители смартфонов и планшетов обычно используют процессоры известных чипмейкеров вроде Qualcomm или собственные решения, которые уже успели стать довольно популярными (к примеру, Samsung и её семейство чипсетов Exynos), но среди технических характеристик гаджетов большинства небольших компаний зачастую можно встретить описание вроде “процессор на Cortex-A7 с тактовой частотой 1 ГГц” или “двухъядерный Cortex-A7 с частотой 1 ГГц”, которое обычному пользователю ничего не скажет. Для того, чтобы разобраться, в чём заключаются отличия таких ядер между собой, остановимся на основных.

Cortex-A5

Ядро Cortex-A5 используются в недорогих процессорах для наиболее бюджетных устройств. Такие устройства предназначены только для выполнения ограниченного круга задач и запуска простых приложений, но совершенно не рассчитаны на ресурсоёмкие программы и, тем более, игры. В качестве примера гаджета с процессором на Cortex-A5 можно назвать Highscreen Blast, который получил чип Qualcomm Snapdragon S4 Play MSM8225, содержащий два ядра Cortex-A5 с тактовой частотой 1,2 ГГц.

Cortex-A7

Процессоры на Cortex-A7 являются более мощными, чем чипы Cortex-A5, а кроме того, больше распространены. Такие чипы выполняются по 28-нанометровому техпроцессу и имеют большой кэш второго уровня до 4 мегабайт. Ядра Cortex-A7 встречаются, преимущественно, в бюджетных смартфонах и недорогих устройствах среднего сегмента вроде iconBIT Mercury Quad, а также, в качестве исключения, в Samsung Galaxy S IV GT-i9500 с процессором Exynos 5 Octa – этот чипсет при выполнении нетребовательных задач использует энергосберегающий четырёхъядерный процессор на Cortex-A7.

Cortex-A8

Ядро Cortex-A8 не так распространено, как его “соседи”, Cortex-A7 и Cortex-A9, но всё же используется в различных гаджетах начального уровня. Рабочая тактовая частота чипов на Cortex-A8 может составлять от 600 МГц до 1 ГГц, но иногда производители разгоняют процессоры и до более высоких частот. Особенностью ядра Cortex-A8 является отсутствие поддержки многоядерных конфигураций (то есть, процессоры на этих ядрах могут быть только одноядерными), а выполняются они по 65-нанометровому техпроцессу, который уже считается устаревшим.

Сortex-A9

Ещё пару лет назад ядра Cortex-A9 считались топовым решением и использовались как в традиционных одноядерных, так и более мощных двухъядерных чипах, например Nvidia Tegra 2 и Texas Instruments OMAP4. В настоящее время процессоры на Cortex-A9, выполненные по 40-нанометровому техпроцессу не теряют популярность и используются во многих смартфонах среднего сегмента. Рабочая частота таких процессоров может составлять от 1 до 2 и более гигагерц, но обычно она ограничивается 1,2-1,5 ГГц.

Cortex-A12

В июне 2013 года компания ARM официально представила ядро Cortex-A12, которое выполняется по новому 28-нанометровому техпроцессу и призвано заменить ядра Cortex-A9 в смартфонах среднего сегмента. Разработчик обещает увеличение производительности на 40% по сравнению с Cortex-A9, а кроме того, ядра Cortex-A12 смогут участвовать в архитектуре ARM big.LITTLE в качестве производительных вместе с энергосберегающими Cortex-A7, что позволит производителям создавать недорогие восьмиядерные чипы. Правда,на момент написания статьи всё это только в планах, и массовое производство чипов на Cortex-A12 ещё не налажено, хотя компания RockChip уже объявила о своём намерении выпустить четырёхъядерный процессор на Cortex-A12 с частотой 1,8 ГГц.

Cortex-A15

На 2013 год ядро Cortex-A15 и его производные является топовым решением и используется в чипах флагманских коммуникаторах различных производителей. Среди новых процессоров, выполненных по 28-нм техпроцессу и основанных на Cortex-A15 – Samsung Exynos 5 Octa и Nvidia Tegra 4, а также это ядро нередко выступает платформой для модификаций других производителей. Например, последний процессор компании Apple A6X использует ядра Swift, которые являются модификацией Cortex-A15. Чипы на Cortex-A15 способны работать на частоте 1,5-2,5 ГГц, а поддержка множества стандартов сторонних компаний и возможность адресовать до 1 ТБ физической памяти делает возможным применение таких процессоров в компьютерах (как тут не вспомнить мини-компьютер размером с банковскую карту Raspberry Pi).

Читайте также:  Как отредактировать сканированный документ в pdf

Cortex-A50 series

В первой половине 2013 года ARM представила новую линейку чипов, которая получила название Cortex-A50 series. Ядра этой линейки будут выполнены по новой версии архитектуры, ARMv8, и поддерживать новые наборы команд, а также станут 64-битными. Переход на новую разрядность потребует оптимизации мобильных операционных систем и приложений, но, разумеется, сохранится поддержка десятков тысяч 32-битных приложений. Первой на 64-битную архитектуру перешла компания Apple. Последние устройства компании, например, iPhone 5S, работают на именно таком ARM-процессоре Apple A7. Примечательно, что он не использует ядра Cortex – они заменены на собственные ядра производителя под названием Swift. Одна из очевидных причин необходимости перехода к 64-битным процессорам – поддержка более 4 ГБ оперативной памяти, а, кроме того, возможность оперировать при вычислении намного большими числами. Конечно, пока это актуально, в первую очередь, для серверов и ПК, но мы не удивимся, если через несколько лет на рынке появятся смартфоны и планшеты с таким объёмом ОЗУ. На сегодняшний день о планах по выпуску чипов на новой архитектуре и смартфонов с их использованием ничего не известно, но, вероятно, именно такие процессоры и получат флагманы в 2014 году, о чём уже заявила компания Samsung.

Cortex-A53

Открывает серию ядро Cortex-A53, которое будет прямым “наследником” Cortex-A9. Процессоры на Cortex-A53 заметно превосходят чипы на Cortex-A9 в производительности, но, при этом, сохраняется низкое энергопотребление. Такие процессоры могут быть использованы как по одиночке, так и в конфигурации ARM big.LITTLE, будучи объединенными на одном чипсете с процессором на Cortex-A57

Cortex-A57

Процессоры на Cortex-A57, которые будут выполнены по 20-нанометровому техпроцессу, должны стать самыми мощными ARM-процессорами в ближайшем будущем. Новое ядро значительно превосходит своего предшественника, Cortex-A15 по различным параметрам производительности (сравнение вы можете видеть выше), и, по словам ARM, которая всерьёз нацелена на рынок ПК, станет выгодным решением для обычных компьютеров (включая лэптопы), а не только мобильных устройств.

ARM big.LITTLE

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

Существует три схемы работы ядер различного типа на одном чипе: big.LITTLE (миграция между кластерами), big.LITTLE IKS (миграция между ядрами) и big.LITTLE MP (гетерогенный мультипроцессинг).

big.LITTLE (миграция между кластерами)

Первым чипсетом на архитектуре ARM big.LITTLE стал процесссор Samsung Exynos 5 Octa. В нём используется оригинальная схема big.LITTLE “4+4”, что означает объединение в два кластера (отсюда и название схемы) на одном кристалле четырёх высокопроизводительных ядер Cortex-A15 для ресурсоёмких приложений и игр и четырёх энергосберегающих ядер Cortex-A7 для повседневной работы с большинством программ, причём в один момент времени могут работать ядра только одного типа. Переключение между группами ядер происходит практически мгновенно и незаметно для пользователя в полностью автоматическом режиме.

big.LITTLE IKS (миграция между ядрами)

Более сложная реализация архитектуры big.LITTLE – объединение нескольких реальных ядер (как правило двух) в одно виртуальное, управляемое ядром операционной системы, которое решает, какие задействовать ядра – энергоэффективные или производительные. Разумеется, виртуальных ядер также несколько – на иллюстрации приведен пример схемы IKS, где в каждом из четырёх виртуальных ядер находятся по одному ядру Cortex-A7 и Cortex-A15.

big.LITTLE MP (гетерогенный мультипроцессинг)

Схема big.LITTLE MP является наиболее “продвинутой” – в ней каждое ядро является независимым и может включаться ядром ОС по необходимости. Это значит, что если используются четыре ядра Cortex-A7 и столько же ядер Cortex-A15, в чипсете, построенном на архитектуре ARM big.LITTLE MP, смогут работать одновременно все 8 ядер, даже несмотря на то, что они разных типов. Одним из первых процессоров такого типа стал восьмиядерный чип компании Mediatek – MT6592, который может работать на тактовой частоте 2 ГГц, а также записывать и воспроизводить видео в разрешении UltraHD.

Будущее

По имеющейся на данный момент информации, в ближайшее время ARM совместно с другими компаниями планирует наладить выпуск big.LITTLE чипов следующего поколения, которые будут использовать новые ядра Cortex-A53 и Cortex-A57. Кроме того, бюджетные процессоры на ARM big.LITTLE собирается выпускать китайский производитель MediaTek, которые будут работать по схеме “2+2”, то есть, использовать две группы по два ядра.

Графические ускорители Mali

Помимо процессоров, ARM также разрабатывает и графические ускорители семейства Mali. Подобно процессорам, графические ускорители характеризуются множеством параметров, например, уровнем сглаживания, интерфейсом шины, кэшем (сверхбыстрая память, используемая для повышения скорости работы) и количеством “графических ядер” (хотя, как мы писали в прошлой статье, этот показатель, несмотря на похожесть с термином, использующимся при описании CPU, практически не влияет на производительность при сравнении двух GPU).

Первым графическим ускорителем ARM стал ныне неиспользуемый Mali 55, который был использован в сенсорном телефоне LG Renoir (да-да, самом обычном сотовом телефоне). GPU не использовался в играх – только для отрисовки интерфейса, и обладал примитивными по нынешним меркам характеристиками, но именно он стал “родоначальником” серии Mali.

С тех пор прогресс шагнул далеко вперёд, и сейчас немалое значение имеют поддерживаемые API и игровые стандарты. К примеру, поддержка OpenGL ES 3.0 сейчас заявлена только в самых мощных процессорах вроде Qualcomm Snapdragon 600 и 800, а, если говорить о продукции ARM, то стандарт поддерживают такие ускорители, как Mali-T604 (именно он стал первым графическим процессором ARM, выполненным на новой микроархитектуре Midgard), Mali-T624, Mali-T628, Mali-T678 и некоторые другие близкие к ним по характеристикам чипы. Тот или иной GPU, как правило, тесно связан с ядром, но, тем не менее, указывается отдельно, а, значит, если вам важно качество графики в играх, то имеет смысл посмотреть на название ускорителя в спецификациях смартфона или планшета.

Читайте также:  Where 1 1 sql зачем

Есть у ARM в линейке и графические ускорители для смартфонов среднего сегмента, наиболее распространёнными среди которых являются Mali-400 MP и Mali-450 MP, которые отличаются от своих старших братьев сравнительно небольшой производительностью и ограниченным набором API и поддерживаемых стандартов. Несмотря на это, указанные GPU продолжают использоваться в новых смартфонах, к примеру, Zopo ZP998, который получил графический ускоритель Mali-450 MP4 (улучшенную модификацию Mali-450 MP) вдобавок к восьмиядерному процессору MTK6592.

Предположительно, в конце 2014 года должны появиться смартфоны с новейшими графическими ускорителями ARM: Mali-T720, Mali-T760 и Mali-T760 MP, которые были представлены в октябре 2013 года. Mali-T720 должен стать новым GPU для недорогих смартфонов и первым графическим процессором этого сегмента с поддержкой Open GL ES 3.0. Mali-T760, в свою очередь, станет одним из наиболее мощных мобильных графических ускорителей: по заявленным характеристикам, GPU имеет 16 вычислительных ядер и обладает поистине огромной вычислительной мощностью, 326 Гфлопс, но, в то же время, в четыре раза меньшим энергопотреблением, чем упомянутый выше Mali-T604.

Роль CPU и GPU от ARM на рынке

Несмотря на то, что компания ARM является автором и разработчиком одноимённой архитектуры, которая, повторимся, сейчас используется в подавляющем большинстве мобильных процессоров, её решения в виде ядер и графических ускорителей не пользуются популярностью у крупных производителей смартфонов. К примеру, справедливо считается, что флагманские коммуникаторы на Android OS должны иметь процессор Snapdragon с ядрами Krait и графический ускоритель Adreno от Qualcomm, чипсеты этой же компании используются в смартфонах на Windows Phone, а некоторые производители гаджетов, к примеру, Apple, разрабатывают собственные ядра. Почему же в настоящее время сложилась именно такая ситуация?

Возможно, часть причин может лежать глубже, но одна из них – отсутствие чёткого позиционирования CPU и GPU от ARM среди продуктов других компаний, вследствие чего разработки компании воспринимаются как базовые компоненты для использования в устройствах B-брендов, недорогих смартфонах и создания на их основе более зрелых решений. К примеру, компания Qualcomm почти на каждой своей презентации повторяет, что одной из её главных целей при создании новых процессоров является уменьшение энергопотребления, а её ядра Krait, будучи доработанными ядрами Cortex, стабильно показывают более высокие результаты по производительности. Аналогичное утверждение справедливо и для чипсетов Nvidia, которые ориентированы на игры, ну а что касается процессоров Exynos от Samsung и A-серии от Apple, то они имеют свой рынок за счёт установки в смартфоны этих же компаний.

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

Заключение

Микропроцессоры на архитектуре ARM успешно завоевали рынок мобильных устройств благодаря низкому энергопотреблению и сравнительно большой вычислительной мощности. Раньше с ARM конкурировали другие RISC-архитектуры, например, MIPS, но сейчас у неё остался только один серьёзный конкурент – компания Intel с архитектурой x86, которая, к слову, хотя и активно борется за свою долю рынка, пока не воспринимается ни потребителями, ни большинством производителей всерьёз, особенно при фактическом отсутствии флагманов на ней (Lenovo K900 сейчас уже не может конкурировать с последними топовыми смартфонами на ARM-процессорах).

А как вы думаете, сможет ли кто-нибудь потеснить ARM, и как дальше сложится судьба этой компании и её архитектуры?

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

История создания и суть идеи

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

Таким образом появилась идея создания чипа, архитектура которого позволяет отдельно задействовать высокопроизводительные и маломощные ядра в пределах одного устройства, в зависимости от выполняемых задач. Когда пользователь, например, запускает 3D игры и открывает браузер с множеством вкладок, активируются мощные ядра (те, которые величиной побольше). В режиме ожидания, при совершении звонков, прослушивании музыки и прочих нетривиальных задач мощные ядра временно отключатся. Задействуются ядра, работающие на невысокой частоте (те, которые размером поменьше). Таким образом, существенно снижается расход энергии (примерно вполовину) в обычном режиме использования смартфона, а быстродействие остается на высоком уровне.

Разработчики из компании ARM, создавшие эту технологию, дали ей название «big.LITTLE». Общественности свою идею представили на конференции ARM Techcon 2012. В качестве тестового образца выступал микропроцессор с двумя ядрами Cortex-A15, которые в два раза превосходят по производительности Cortex-A9, и тремя ядрами Cortex-A7, ничем не уступающим по производительности Cortex-A9. Однако, ARM Holdings — не единственные, кто работали в данном направлении.

От идеи к практической реализации

Первым реализовать похожую идею удалось NVIDIA. В 2011 году компания выпустила процессор NVIDIA Tegra 3, четыре ядра которого участвуют в решении сложных задач, а пятое, дополнительное ядро, используется при работе интерфейса, прослушивании музыки и др. Причем каждое ядро может работать автономно, автоматически включаться по надобности и выключаться, что положительно влияет на расход энергии. Технология получила название Variable Symmetric Multiprocessing, а первый девайс с таким процессором — планшет Asus Eee Pad Transformer Prime.

После презентации ARM Techcon 2012 компания Samsung поддержала концепцию идеи big.LITTLE. Создав свой собственный процессор Exynos 5 Octa по принципу big.LITTLE, Самсунг использовала его в своем смартфоне Galaxy S4. Чуть позже присоединилась и LG: компания выпустила собственный чипсет LG Nuclun, базирующийся на архитектуре ARM big.LITTLE. А первым смартфоном с применением этого чипа стал LG G3 Screen. С 2013 года технология получает широкое распространение не только в смартфонах, но и в планшетах, и даже в некоторых хромбуках.

Читайте также:  Вычислить значения корня комплексные числа

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

Как работает big.LITTLE

Первая система big.LITTLE построена на попеременной работе двух процессоров:

  • большого Cortex-A15;
  • малого Cortex-A7.

Процессоры имеют одну и ту же архитектуру, все инструкции выполняются одинаково. Отличаются они лишь их производительностью и микроархитектурой.

За согласованную работу Cortex-A15 и Cortex-A7 отвечает система межсоединений (CCI-400). Еще один из самых важных элементов архитектуры является контроллер прерываний (GIC-400). A7 и A15 имеют полную программную совместимость, и подключены к единой подсистеме памяти. Оба кластера имеют собственный кэш. В итоге они могут практически мгновенно, незаметно для пользователя, переключаться между собой.

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

Например, если пользователь смотрит фотографии и слушает музыку, планировщик выделяет на обработку этих операций маленький процессор Cortex-A7. Но если в то же самое время пользователь запустит навигацию, в работу тут же вступит «тяжелая артиллерия» в виде большого Cortex-A15.

Стоит отметить следующий факт: то, что у процессора название «малый», это не значит, что у него совсем небольшая мощность. Cortex-A7 быстрее, чем Cortex-A8, за счет особенностей своей микроархитектуры. И его запаса производительности вполне достаточно, чтобы обходиться без помощи Cortex-A15 при решении многих задач. Например, как показали исследования в ARM, для большинства приложений, не требующих работы с графикой, достаточно малопроизводительных ядер.

Эволюция архитектуры

Изначально ядра A7 и A15 всегда работали только раздельно. Такие чипы восьмиядерными можно считать лишь формально. По факту, одновременно работают только 4 ядра, остальные 4 — «на подхвате». Сейчас при надобности могут быть одновременно задействованы ядра big и LITTLE. Архитектура, которая позволяет активировать оба процессора для параллельной обработки данных получила название big.LITTLE MP. Количество ядер может быть асимметричное (например, 4+4+2). Также архитектура big.LITTLE нашла свое применение и в современных 64-битных процессорах.

Заключение

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

Посмотрите на свой смартфон — что он делает? Он не проявляет никаких признаков жизни, его экран не горит. Лежит спокойно и никого не трогает. Всё внутри. Сейчас он занимается миллионом вещей: опрашивает датчики, сенсоры и мобильную сеть, обновляет приложения, отправляет в интернет и получает обратно мегабайты информации.

Это все небольшие операции, но у них есть особенность — их очень много!

Прежде, чем приступить к объяснению архитектуры big.LITTLE, освежим наши знания: как современный процессор распараллеливает задачи на 1 ядре?

Вся работа ядра квантуется по времени. Квант — временной промежуток, на протяжении которого ядро выполняет однородную работу. Благодаря этому существуют многопоточные приложения: каждый из потоков делится на кванты и выполняется по очереди — сначала 1-й квант первого потока, потом 1-й квант второго потока, и так далее.

Проблема увеличения производительности

Из-за обилия процессов система создает очень много потоков. Тут и возникает первая проблема: задержки. Кому нравится тормозной смартфон?

Пример: отклик должен занимать максимум 300 единиц времени, а наш квант равен 10 единицам. Значит, мы не можем создать более 30 потоков на ядро. А если учесть еще то, что минимальная работа может занимать более 1 кванта процессора… Незавидная участь.

Пути решения проблемы

Есть 3 пути решения проблемы: уменьшение кванта времени, увеличение частоты ядра процессора, увеличение количества ядер.

Рассмотрим их по очереди.

Уменьшение кванта времени

К сожалению, примитивные операции занимают определенное фиксированное время, и делать квант времени меньше длительности этой операции — нет смысла. В любом случае мы упрёмся в предел.

Увеличение частоты ядра

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

Мощность процессора можно описать следующим законом: P ≈ C×V²×f , где C — динамическая емкость, V — напряжение, f — частота процессора. Совершенно не важно, что такое динамическая ёмкость — ужас в том, что напряжение в квадрате!

Напряжение нужно для работы транзисторов. Что такое транзистор? Это переключатель, который для работы накапливает заряд. Время накопления заряда пропорционально силе тока — чем сила тока больше, тем быстрее накапливается заряд.

По закону Ома сила тока пропорциональна напряжению — в итоге мы получаем P ≈ C×V³

А тактовая частота ядра зависит от скорости срабатывания процессора — при увеличении частоты в 2 раза энергопотребление вырастет в 8 раз! Значит, и отвод тепла должен быть эффективнее в 8 раз. Иначе процессор расплавится.

Поэтому тактовую частоту лучше не увеличивать.

Увеличение количества ядер

Такая схема позволяет генерировать большее количество потоков. Затраты энергии же увеличиваются приблизительно в 2 раза.

Осталось учесть одну вещь — ядро не может работать вполсилы. Если мы не уместим наши задачи в 1 ядро, то придётся задействовать для их решения еще одно. Оно будет тратить столько же энергии, сколько и полностью загруженное первое — его полезный потенциал падает.

Преимущества архитектуры big.LITTLE

Мы выяснили: ядро не может работать только частично, а с ростом частоты космическими темпами увеличиваются энергопотребление и тепловыделение.

Решение — архитектура big.LITTLE: нескольких слабых ядер (для фоновых задач) и нескольких мощных ядер (запуск и выполнение приложений).

Благодаря «слабым» ядрам смартфон тратит меньше энергии на обеспечение своих базовых потребностей — тех самых многочисленных фоновых активностей, о которых вы даже не подозреваете. Благодаря «мощным» — выполняет все остальное.

Такая вот архитектура. Все-таки можно и рыбку съесть, и на стул сесть. Спасибо, что прочли этот текст.

Комментировать
373 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector