Статьи

Многоядерные процессоры мобильных устройств: стоит ли овчинка выделки?

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

В этом смысле выставка Consumer Electronic Show 2012, проходившая в январском Лас-Вегасе, не стала исключением. Наряду с анонсами фактически готовых к выпуску продуктов компании вовсю демонстрировали картинки электронного рая будущего. И это не были пустые фантазии. Их концепты опирались на вполне реальные технологии, а значит, действительно приоткрывали завесу недалекого будущего.

Одним из таких вполне реальных трендов являются четырехъядерные процессоры мобильных устройств. Практически на каждом выставочном стенде можно было увидеть смартфон или планшет, оснащенный четырехголовым ARM-чипом и демонстрирующий потрясающую производительность в сравнении со своими двухголовыми собратьями. Так, компания Acer представила развитие планшетной линейки Iconia Tab A700, аLenovo — «таблетку» Idea Tab K2. HTC с гордостью демонстрировала монструозный смартфон Zeta. Не отставала от нее и LG со своим четырехъядерным смартфоном X3. К числу же вполне реальных устройств, обладающих четырехглавием, относится имеющий неплохие показатели продаж планшет ASUS Transformer Prime.

Большинство из представленных на CES 2012 флагманских решений были четырехъядерными.

Такое активное проталкивание на рынок потребительской электроники четырехъядерных решений кажется на первый взгляд несколько странным. Стоит отметить, что большинство крупных производителей только во второй половине минувшего года решились оснастить свои флагманские решения двухъядерными чипами. Например, у того же ASUS Transformer Prime есть младший брат ASUS Eee Pad Transformer, оснащенный системой на чипе NVIDIA Tegra 2 с двумя ядрами Cortex A9. То же можно сказать и о нынешних флагманахApple iPad 2 и iPhone 4S с их двухъядерной системой A5 и даже про The new iPad, у которого хоть и четырехъядерная графика, центральный процессор все же двухъядерный. Производительности этих девайсов с головой хватает как для нынешних версий мобильных операционных систем, так и для подавляющего большинства задач, решаемых пользователями мобильных устройств.

Так стоит ли быстро удваивать число вычислительных ядер? Не является ли этот шаг очередной маркетинговой уловкой, желанием продавцов заставить покупателей сменить «хорошее на лучшее»? И не будут ли новые многоголовые гаджеты еще меньше работать на полном заряде их аккумуляторов?

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

Четыре ядра. Осознанная необходимость

Перво-наперво стоит понять, что четыре ядра в процессорах ARM появились не сегодня и даже не вчера. Многоядерные ARM-решения впервые были реализованы еще в линейке «классических» ARM Classic.

Так, сердце ветерана iPhone 3G — процессор ARM11, основанный на архитектуре ARMv6, — содержал четыре процессорных ядра, оснащенных модулями вычислений с плавающей точкой VFP и кэш-памятью первого уровня. Подобная архитектура в решениях ARM стала началом развития технологии MPCore, которая в дальнейшем была реализована практически во всех решениях линейки процессоров Cortex.

Первенцем технологии ARM MPCore стал «классический» процессор ARM11 в исполнении Samsung, применявшийся в iPhone 3G.

Другое дело, что чипмейкер, использовавший спецификацию ARM11 MPCore для производства процессора iPhone 3G, сознательно сократил число процессорных ядер до одного. Потому что в то время ни операционная система iPhone OS (будущая iOS), ни разработчики периферии, которая подключалась к системе на чипе iPhone 3G, не были готовы к использованию преимуществ многоядерности.

А если быть более точными — к преимуществам симметричной мультипроцессорности (SMP), которой, по сути, и является технология ARM MPCore. Основной идеей SMP является совместное использование всеми процессорами общего пространства оперативной памяти, что позволяет операционной системе перемещать выполняющуюся программу на любой из доступных в данный момент процессоров, тем самым эффективно перераспределяя вычислительную нагрузку.

В то время, как однопроцессорная (одноядерная) система, подобно пресловутому «и швец, и жнец, и на дуде игрец», вынуждена выстраивать выполняющиеся задачи в очередь к себе любимой, система SMP создает такую же очередь к двум, четырем и более процессорам, существенно укорачивая ее размер. Разработчики же программ для SMP-систем могут воспользоваться преимуществами многопоточной обработки, «расшивая» свою программу на несколько параллельно работающих потоков-нитей (threads).

Идея, как видите, по сути своей замечательная — тем более в мире «взрослых» вычислительных систем давно нашедшая свое реальное воплощение. Мы ведь уже привыкли к двух- и четырехъядерным решениям в наших персональных компьютерах.

Так почему же «классический» ARM11 MPCore не пользовался популярностью в «многоядерном» исполнении? Ответ прост. Разрабатывая архитектуру ARMv6 MPCore, компания ARM ориентировалась на проверенные решения настольных вычислительных систем, фактически копируя их в мобильном исполнении. Но что дозволено Юпитеру, не дозволено быку. Мобильные процессоры ARM в сравнении со своими «взрослыми» собратьями не обладали шиной достаточной пропускной способности, обеспечивающей эффективную реализацию основного принципа SMP — возможности выполнения программы на любом свободном процессоре.

Рассмотрим это подробнее.

Каждое процессорное ядро ARM11 MPCore обладало собственной кэш-памятью первого уровня, необходимой для ускорения работы программы с данными. Вместо того чтобы многократно обращаться к достаточно медленной оперативной памяти, программа размещала свои данные в кэше ядра. Но что происходило, если программа прерывалась, например, в результате истечения отведенного ей операционной системой кванта времени или из-за самостоятельной приостановки, связанной с ожиданием данных с устройств ввода-вывода? Согласно идеологии SMP, следующее свое возобновление работы программа может начать на любом процессорном ядре. И необязательно на том же, на котором прервалась. Однако данные, с которыми она работала, по-прежнему остаются в кэше процессора, который программа покинула ранее. Как быть в этом случае?

Инженеры ARM предусмотрели в технологии MPCore специальный модуль-«ищейку» — Snoop Control Unit(SCU). Его единственной задачей является поиск потерянных программой данных во всех процессорных кэшах, забрасывание их в кэш-память второго уровня и последующую пересылку в кэш того процессора, на котором программа возобновила свою работу. Эта технология в многопроцессорных вычислительных системах называется когерентность (согласованность) кэш-памяти. Идея отличная, но в исполнении ARM MPCore — неэффективная. Множественные перемещения данных между кэшами первого и второго уровней через порт когерентности с низкой пропускной способностью вызывали существенные задержки выполнения программ, сводя на нет все преимущества SMP-технологии.

В этом смысле ARM11 оказался не только пробой пера многоядерности, но и первым блином, который, как ему и полагается, оказался комом. Проектирование новой линейки процессоров Cortex ARM выполняла с учетом недостатков MPCore, реализованных в архитектуре ARMv6. В обновленной архитектуре ARMv7 к вопросу эффективного использования многоядерности разработчики ARM подошли более тщательно. 

Для начала они расширили пропускную способность модуля когерентности кэшей, придумав ACP (Accelerated Coherence Port), ускоренный порт когерентности, способный работать с шиной данных напрямую. Во-вторых, они изменили принцип работы модуля «ищейки» SCU. В его состав были включены процедуры DDI (Direct Data Intervention) и Cache-2-Cache Transfer, обеспечивающие возможность прямой передачи данных из кэша в кэш процессорных ядер, минуя их передачу в кэш второго уровня. Благодаря этим решениям SMP-технология в многоядерных решениях Cortex заиграла всеми красками. И именно благодаря им на свет появились двухъядерные SoC на базе ядер Cortex-A9 — наподобие NVIDIA Tegra 2 и «яблочного» A5.

Но, наверное, самым важным шагом ARM в плане продвижения своих многоядерных решений является реализация четырехъядерности на уровне всей «Application» линейки процессоров Cortex-A. Так, наряду с высокопроизводительным решением Cortex-A9 был разработан процессор-малыш Cortex-A5 — четырехъядерный вариант пониженной производительности.

В отличие от тяжеловеса А9, процессорные ядра A5 с более низким энергопотреблением можно использовать для решения менее ресурсоемких задач как в режиме SMP, так и специализируя каждое из ядер на определенный вид задач (ассиметричная мультипроцессорность).

Например, четырехъядерность Cortex-A5 отлично работала с одноядерным решением Cortex-A9, разгружая два более мощных вычислительных ядра «старшего брата» выполнением задач обработки данных на нижележащих уровнях сетевой модели OSI.

В ассиметричном режиме процессор Cortex-A5 нашел широкое применение в специализированных вычислительных системах, связанных, например, с управлением «умными домами» и коммуникациями IP-телефонии и телевидения. Именно благодаря четырем ядрам Cortex-A5, работающим в цифровых декодерах, совместное с широкополосным интернетом цифровое телевещание в наших квартирах стало обыденным явлением.

Приход четырехъядерности в такие потребительские устройства, как планшеты и смартфоны, — продуманное решение и производителей «железа» для них, и разработчиков мобильных операционных систем. Ведь наряду с повышением производительности работы прикладных программ, которая обеспечивается ядрами Cortex-A9, в новых устройствах планируется существенное увеличение производительности беспроводных коммуникаций. Работа стандарта LTE в новых мобильных девайсах, заявляемая в большинстве из них по умолчанию, — заслуга многоядерного труженика Cortex-A5.

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

Архитектура ARMv8 и новые процессоры Cortex

Как и предыдущие архитектурные решения ARM, архитектура ARMv8 является логическим продолжением предшественницы ARMv7. Она впитала из «семерки» проверенные технологические решения, дополнив их важными новинками: 64-разрядной системой команд AArch-64, аппаратной поддержкой технологий виртуализации и аппаратной же поддержкой процедур доверенной загрузки, обеспечивающих повышенную безопасность мобильных платформ.

Наличие 64-разрядной системы команд обеспечивает новым процессорам ARM возможность работы с теоретическим пределом оперативной памяти в шестьдесят четыре терабайта! На практике же, конечно, предел этот в мобильных девайсах останется не достигнутым, но вот ограничение на максимальные четыре гигабайта, которые обеспечивала 32-разрядная система команд ARMv7, будет преодолено. Уверен, что в недалеком будущем планшеты и смартфоны с шестнадцатью и тридцатью двумя гигабайтами «оперативки» станут обыденностью. Также, как и параллельная работа на них двух и более операционных систем, решающих разные задачи. Аппаратная поддержка процедур виртуализации позволит устанавливать на мобильные платформы гипервизоры виртуальных машин, обеспечивающие работу нескольких гостевых операционных систем. Например, использование новинки от Microsoft системы WOA (Windows On ARM), варианта Windows 8, обеспечит пользователя постоянным доступом к корпоративной среде, а насыщенный программным обеспечением и параллельно работающий Android будет применяться для социальной активности и развлечений.

Базовая же программная платформа такого устройства, благодаря технологии безопасности TrustZone, будет выполняться в защищенном от гостевых систем пространстве, запуская только доверенные приложения.

Если вы думаете, что все это пустые фантазии, то глубоко ошибаетесь. У архитектуры ARMv8 уже есть свой четырехъядерный процессор-ледокол — ARM Cortex-A15.

Эта новинка пока еще живет в спецификациях, но уверен, что ведущие чипмейкеры уже готовят на ее основе собственные системы на чипе. Их применение в мобильных девайсах — дело ближайших двух-трех лет. Мощности 64-разрядного четырехъядерного Cortex-A15 хватит на создание устройств, которые будут соперничать с высокопроизводительными настольными системами. Ведь его максимальная заявляемая частота — целых 2,5 ГГц!

А чтобы эти вычислительные монстры как можно дольше работали от встроенных в них аккумуляторов, инженеры ARM придумали технологию big.LITTLE.

Главную скрипку в big.LITTLE играет процессор Cortex-A15. А вот подыгрывает ему маломощный брат-близнецCortex-A7. Сравните их архитектуру. За исключением мелочей Cortex-A7 полностью копирует решение Cortex-A15.

Однако его производительность на несколько порядков ниже производительности старшего брата. При этом он дает Cortex-A15 существенную фору в потребляемой мощности. Фактически Cortex-A15 только начинает работать на пределе потребляемой мощности Cortex-A7.

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

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

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

Добавить комментарий

Новости

Смотреть все

Новинки

Смотреть все

Отзывы