Все что нужно знать об архитектуре big.LITTLE и как она работает в смартфонах
Термин «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
https://www.youtube.com/watch?v=Zwbeb08W27U
Комментарии 0