Что такое архитектура big.LITTLE?
ARM в настоящее время является наиболее широко используемой архитектурой ЦП в мире.
Возможно, он не питает ваш компьютер, но почти наверняка работает на вашем смартфоне или планшете. Более того, Apple теперь использует архитектуру ARM в своих собственных процессорах.
Причина этого очевидна.
Процессоры ARM могут иметь потрясающую производительность, при этом сохраняя низкое энергопотребление. На самом деле настолько низки, что они могут поместиться внутри тонких смартфонов с пассивным охлаждением. Большая часть этой энергоэффективности связана с настройкой ядра big.LITTLE, которую используют Apple, Qualcomm, MediaTek и другие производители процессоров.
Но что такое big.LITTLE и почему это так важно?
Что такое архитектура процессора ARM big.LITTLE?
Большинство современных процессоров работают так, что они обычно имеют несколько ядер, между которыми система распределяет задачи. Обычно эти многоядерные процессоры имеют идентичные ядра, способные выполнять одни и те же инструкции и достигать одинаковых тактовых частот. Все задачи, большие или маленькие, обрабатываются и распределяются между этими ядрами. Но не так с процессорами ARM big.LITTLE.
В то время как процессоры ARM с «обычными» конфигурациями ядер существуют, конструкции ЦП на базе big.LITTLE включают два основных «кластера» с ядрами различной конструкции для различных задач. В этих типах ЦП мы часто видим «высокопроизводительные» ядра, предназначенные для выполнения сложных задач, и «энергоэффективные» ядра, которые справляются с более традиционными задачами. Эти высокопроизводительные ядра, как правило, обладают высокими техническими характеристиками, энергоемкими и достигают заметно более высоких тактовых частот, тогда как энергоэффективные ядра более слабые, имеют меньшую тактовую частоту и потребляют намного меньше энергии.
В смартфоне эти «обычные задачи» включают текстовые сообщения, электронную почту, звонки, аудио и многое другое, что составляет большинство обычных задач, которые должен выполнять смартфон. Они предназначены для передачи в энергоэффективные ядра, в то время как более крупные высокопроизводительные ядра оставляются для других, более сложных задач, таких как мобильные игры и просмотр веб-страниц. Система использует глобальное планирование задач или гетерогенную многопроцессорную обработку (HMP) для распределения рабочих нагрузок между всеми различными ядрами ЦП.
Преимущество двоякое. Поскольку повседневные задачи выполняются меньшими ядрами, которые по своей природе менее энергоемкие, эти процессоры обычно потребляют значительно меньше энергии. Они также имеют лучшую производительность, поскольку для более сложных задач используется кластер ядер ЦП. Вы получаете ЦП, который работает лучше и более энергоэффективен.
Революционная идея с непростой историей
До появления big.LITTLE все многоядерные процессоры ARM имели структуру идентичных ядер, как и процессоры x86. big.LITTLE был впервые представлен в октябре 2011 года и был представлен вместе с двумя новыми конструкциями ядер: Cortex-A7 и Cortex-A15. В этой предлагаемой системе обе конструкции ядра могут быть спарены: Cortex-A15 будет действовать как большое ядро, а Cortex-A7 – как маленькое ядро. Оттуда все будущие разработки ядер от ARM Holdings будут совместимы с big.LITTLE, если производители кремния сочтут это подходящим.
Одним из первых процессоров с таким дизайном ядра был Samsung Exynos 5 Octa 5410, который работал на Samsung Galaxy S4 в 2013 году. Он имел четыре ядра Cortex-A7 с тактовой частотой 1,2 ГГц и четыре ядра Cortex-A15 с тактовой частотой 1,6 ГГц для всего 8 ядер.
Однако способ работы планировщика для этих более ранних процессоров big.LITTLE был довольно неуклюжим. Эти более ранние планировщики использовали «кластерное переключение» для одновременной адресации целых кластеров. Если нагрузка на весь процессор мала, он будет использовать ядра с низким энергопотреблением, но если она увеличится, вся рабочая нагрузка будет переведена на большие ядра. Это определенно один из способов сделать это, но, оглядываясь назад, можно сказать, что он был довольно неэффективным.
Затем мы увидели переключатель в ядре. Здесь большие ядра объединяются с маленькими ядрами, и оба они рассматриваются планировщиком как одно «виртуальное ядро». В зависимости от того, была ли виртуальному ядру присвоена низкая или высокая нагрузка, оно будет переключаться между использованием малого ядра и большого ядра.
Оттуда мы пришли к гетерогенной мультипроцессорной обработке. Здесь к каждому ядру можно обратиться индивидуально. Планировщик знает, какие ядра большие, а какие маленькие, и приступает к распределению рабочих нагрузок оттуда, распределяя меньшие нагрузки на энергоэффективные ядра и большие нагрузки на высокопроизводительные.
Как big.LITTLE изменил ландшафт ЦП?
Процессоры ARM уже имели хорошую репутацию за обеспечение достойного баланса между производительностью и энергоэффективностью. Однако для этих процессоров необходимо низкое энергопотребление. В конце концов, эти процессоры используются в смартфонах, а смартфоны имеют небольшие размеры, имеют тонкий корпус и не имеют какого-либо активного охлаждения, поэтому тепловые ограничения очень низкие, и процессоры должны потреблять энергию, чтобы соответствовать им.
big.LITTLE, тем не менее, был огромным, потому что он мог одновременно улучшить производительность и энергоэффективность. В настоящее время большинство, если не все, процессоры ARM основаны на дизайне big.LITTLE, даже телефоны Apple. Теперь Intel намерена занять одну или две страницы этой архитектуры на своих процессорах x86 в будущем: процессоры Alder Lake представят концепцию гетерогенных вычислений в среде ПК.
Преимущества слишком велики, чтобы отрицать их.
Что такое DynamIQ?
DynamIQ – это новая базовая архитектура, анонсированная ARM в мае 2017 года и служащая своего рода преемником big.LITTLE. DynamIQ призван сделать то, что big.LITTLE делает с гетерогенными вычислениями, еще на один шаг вперед, обеспечивая большую гибкость и лучшее масштабирование.
В то время как big.LITTLE был ограничен только двумя кластерами, DynamIQ увеличивает максимальное количество ядер на кластер до 8, позволяет использовать несколько ядер в одном кластере и позволяет использовать до 32 кластеров на процессор. Кроме того, DynamIQ обеспечивает более точное регулирование напряжения для каждого ядра и лучшую скорость кэш-памяти второго уровня. Короче говоря, он очень похож на big.LITTLE и развивает его базовую концепцию, за исключением того, что теперь он обеспечивает большую гибкость при наличии нескольких кластеров и конструкций ядра.
Примером процессора DynamIQ является Snapdragon 888, флагманский чип Qualcomm на 2021 год. В процессорах big.LITTLE часто встречаются кластеры из больших и малых ядер.
Однако в Snapdragon 888 есть «основное ядро», одно ядро Cortex-X1 с тактовой частотой 2,84 ГГц, затем более типичный высокопроизводительный кластер (теперь вторичный уровень), состоящий из трех ядер Cortex-A78 с тактовой частотой 2,42 ГГц. . Наконец, энергоэффективными ядрами являются четыре ядра Cortex-A55 с тактовой частотой 1,8 ГГц. Это восьмиядерная конфигурация, но в ней используются три разных дизайна ядра, предназначенные для решения различных задач.
Полная встряска в отрасли
Можно с уверенностью сказать, что появление big.LITTLE и концепции гетерогенных вычислений полностью изменило игру с процессорами. В настоящее время процессоры ARM обмениваются друг с другом крупнейшими процессорами на стороне x86, а также сводят к минимуму энергопотребление и время автономной работы, и все это благодаря big.LITTLE и его преемнику DynamIQ.
Мы очень воодушевлены будущим процессоров ARM.