Выпуск #8/2012
М.Шурыгина
Инновации на уровне ядра. Энергоэффективные процессорные архитектуры
Инновации на уровне ядра. Энергоэффективные процессорные архитектуры
Просмотры: 5737
Все вычислительные системы нуждаются в производительных и эффективных компонентах, способных обрабатывать возрастающие объемы информации. Современные батареи не могут питать такие приборы в течение достаточно длительного времени. Задача увеличения срока службы батарей потребовала создания центральных процессорных устройств (ЦПУ) с энергосберегающей архитектурой. В последнее время появились сообщения о создании многоядерных систем, обеспечивающих высокий уровень энергоэффективности и одновременно большие вычислительные возможности, требуемые для следующего поколения смартфонов и планшетов. Что же представляют собой новые поколения многоядерных процессоров для мобильных устройств?
Теги: asynchronous symmetric multiprocessing big.little variable symmetric multiprocessing асинхронная симметричная мультипроцессорная обработка симметричная мультипроцессорная обработка
Многоядерные процессоры уже более десяти лет – движущая сила компьютерной революции. В связи со стремительным ростом энергопотребления одноядерных процессоров по мере повышения производительности компьютерных систем многоядерные ЦПУ первоначально нашли применение в серверах. Из-за отсутствия на первых порах программной экосистемы, способной оптимизировать энергопотребление многоядерных устройств, в ПК они появились несколько позже. И лишь в начале 2011 года началось производство многоядерных процессоров для мобильных устройств. Но темпы их реализации в мобильных системах оказались намного выше, чем в компьютерах. На выставке CES 2012 уже почти на каждом стенде был представлен смартфон или планшет, оснащенный четырехъядерной ARM-микросхемой, производительность которой значительно выше, чем у двухъядерных процессоров.
Стремительное развитие полупроводниковой технологии привело к заметному увеличению производительности ЦПУ, используемых в смартфонах и планшетных компьютерах. Их рабочая частота увеличилась с нескольких сотен мегагерц до нескольких гигагерц. Сегодня мобильные вычислительные устройства без труда выполняют задачи настольных компьютеров и ноутбуков недалекого прошлого. Но заметное различие в производительности мобильных приборов и традиционных настольных компьютеров существует до сих пор. Современная технология может повысить производительность мобильных устройств за счет дальнейшего увеличения тактовой частоты или числа ядер ЦПУ, но при этом значительно возрастет энергопотребление прибора. В отличие от традиционных компьютерных систем емкость аккумуляторов мобильных устройств не может превышать предел, задаваемый физическими размерами и форм-фактором компонентов. Так, размер экрана смартфона или планшета не может быть больше 5 и 11 дюймов, соответственно, что и ограничивает размер и емкость используемых в них батарей.
Конечно, обеспечить низкое энергопотребление многоядерных процессоров с повышенной производительностью можно, но это потребует совершенствования их архитектуры.
Альтернативные многоядерные архитектуры
Как правило, процессорные архитектуры изменяются не чаще одного раза в два–три года. Поэтому так интересны многопроцессорные системы следующего поколения, сообщения о которых уже появились в прессе [1]. Самые перспективные инновационные решения для передовых смартфонов и планшетов (не относящихся к изделиям Apple) представляют компании Qualcomm, Nvidia и, конечно, ARM. Компания Qualcomm в 2011 году описала четырехъядерное ЦПУ, предназначенное для системы на кристалле следующего поколения Snapdragon S4. Компания Nvidia раскрыла данные о микропроцессоре Tegra 3 (кодовое имя – Kal El), ARM на конференции ARM Techcon 2012 представила архитектуры процессоров Cortex-A7 (Kingfisher) и Cortex-A15 (Eagle), а также раскрыла принципы концепции big.little (старший.младший брат). Все три архитектуры пригодны для реализции многоядерных структур с высокой энергоэффективностью и большими вычислительными возможностями. Основной вопрос, возникающий при рассмотрении этих работ: каким образом разработчикам удалось добиться высокой производительности трех различных конкурирующих многоядерных процессоров без ухудшения их энергоэффективности? Попробуем ответить.
Четырехъядерный процессор Snapdragon S4 Pro
На конференции Qualcomm Uplinq 2012 компания Qualcomm представила четырехъядерный процессор APQ8064 (Snapdragon S4 Pro), выполненный на основе принципа асинхронной симметричной мультипроцессорной обработки (Asynchronous Symmetric Multiprocessing, aSMP), с оптимальным соотношением производительность–энергопотребление [2, 3]. К достоинству асинхронной, самотактируемой архитектуры, в которой ядра работают при различных значениях напряжения и частоты, относится возможность назначения ресурсоемких задач, требующих интенсивных вычислений, ядру с большим быстродействием, а менее сложных задач – ядру с более низким быстродействием.
При проектировании блоков асинхронных процессоров не рассматриваются вопросы их синхронизации с другими блоками. Для связи между ними используется запрос – ответ с квитированием. Благодаря тому, что блоку не нужно ждать прихода тактового сигнала, чтобы выполнить свою работу, производительность процессора выше, чем у традиционных сегодня процессоров с синхронной архитектурой. Правда, следует отметить, что для работы асинхронных микросхем тактовые сигналы, как правило, все же нужны, но их источник локален – так называемый "контроллер линии связи", запускающий окончившему обработку блоку следующую команду. Когда вычисления не производятся, блоки почти не потребляют энергиии, находясь в спящем режиме, что существенно сокращает энергопотребление процессора в целом.
Процессор S4 Pro – второе поколение ЦПУ компании собственной разработки (кодовое имя Krait – название ядовитой змеи, обитающей в Юго-Восточной Азии). Работает процессор с системой команд ARM7. При проектировании архитектуры процессора и технологии требования, предъявляемые к способности подключения мобильных устройств к сети, к их производительности и энергоэффективности, выполнены за счет:
изготовления процессора по 28-нм LP-технологии компании TSMC (технологии создания микросхем с низким энергопотреблением) с использованием оксинитрида кремния (SiON). Считается, что эта технология позволяет быстро достигать приемлемого выхода годных микросхем с топологическими нормами 28 нм и, тем самым, опережать конкурентов на рынке;
разумного управления напряжением и частотой каждого ядра в зависимости от выполняемой задачи и независимо от процессов других блоков, благодаря чему рабочая частота ЦПУ лежит в диапазоне 1,5–2,5 ГГц, а энергопотребление на 25–40% меньше, чем у современных синхронных симметричных микропроцессоров (рис.1);
применения новой 11-уровневой конвейерной архитектуры с внеочередным исполнением команд, позволившей увеличить производительность процессора в единицах MIPS/MHz по тестовой программе Dhrystone на 60% по сравнению с производительностью существующих ЦПУ семейства Scorpion;
наличия усовершенствованного блока, выполняющего операции с плавающей запятой и SIMD и поддерживающего 128-бит тракт передачи данных;
двухканальной памяти, обеспечивающей выполнение требований к ширине полосы многоядерных систем.
Каждое ядро содержит L1-кэши данных и программ объемом 16 Кбайт каждый. Два ядра делят общий кэш второго уровня объемом 1 Мбайт. Впервые в состав микросхемы APQ8064 вошло новое графическое ядро компании Adreno 320, которое по производительности в 16 раз превосходит графическое ядро предыдущего поколения Adreno 130. Процессор поддерживает мобильную и компьютерную оперативную память, интерфейсы PCIe и USB. Помимо компании TSMC выпускать новые процессоры будет и тайваньская контрактная компания United Microelectronics Corp. (UMC).
Таким образом, процессоры Snapdragon S4 Pro сочетают чрезвычайно высокую производительность и низкое энергопотребление, обеспечивающее достаточно большой срок службы батарей, что делает их перспективными для нового поколения мобильных устройств с большим экраном – планшетов и ноутбуков.
Недостаток асинхронных процессоров – чувствительность к порядку поступления входных сигналов, так называемая "гонка фронтов": если два сигнала поступают на вход микросхемы почти одновременно, из-за различных значений задержки сигнала логических вентилей возможно установление неверного состояния схемы. Для многоядерных микросхем характерна еще и вероятность уменьшения производительности по сравнению с указанным в спецификации значением. При неудачном обращении в L1-кэш одного ядра запрошенные данные с помощью специального модуля управления поиском Snoop Control Unit, SCU (модуля-"ищейки", задача которого заключается в поиске потерянных программой данных во всех процессорных кэшах) необходимо перенести в L2-кэш-память и затем переслать в кэш ядра, на котором программа возобновила свою работу (рис.2). А поскольку рабочие частоты ядер процессора, их SCU и L2-кэшев различны, для завершения операции передачи данных требуются дополнительные циклы синхронизации, что и приводит к снижению производительности центрального процессора. Этот эффект вызывает и несоответствие быстродействия ядер при обмене данными. Если быстродействие ядра, данные которого переносятся (ядра-источника), меньше чем у ядра, принимающего данные (ядра-получателя), получателю приходится ждать переноса данных, хотя он может работать на более высоких частотах.
Таким образом, для всех рабочих режимов мобильных устройств асинхронная архитектура не самая эффективная. Действительно, при тестировании производительности Qualcomm APQ8064 и четырехъядерной системы на кристалле Tegra 3 компании Nvidia последняя легко обошла по этому параметру APQ8064. В чем же дело?
Архитектура регулируемой симметричной мультипроцессорной обработки компании Nvidia
В феврале 2011 года на крупнейшей выставке мобильной промышленности Mobile World Congress компания Nvidia представила ЦПУ Tegra 3 (Project Kal El) – следующее поколение Tegra 2 – с архитектурой регулируемой симметричной мультипроцессорной обработки (Variable Symmetric Multiprocessing, vSMP) [4–6]. Процессор содержит четыре ядра с высоким быстродействием (основные ядра) и еще одно с меньшим быстродействием (ядро-компаньон), т.е. представляет собой так называемое компанией 4-плюс-1 четырехъядерное устройство. В систему на кристалле Tegra 3 также входит 12-ядерный графический процессор компании GeForce, реализующий присущие ПК игровые эффекты: динамическую подсветку, стереоскопическое воспроизведение.
Все ядра выполнены на основе ARM Cortex-A9. Ядро-компаньон изготовлено по 40-нм LP-технологии маломощных устройств, четыре основных ядра – по универсальной тоже 40-нм технологии создания высокопроизводительных схем. Измерение зависимости потребляемой энергии ядер Kal El процессора от быстродействия показало, что на частотах менее 500 МГц у ядра-компаньона соотношение потребляемая энергия–производительность лучше, чем у основных ядер (рис.3). Таким образом, максимальная частота ядра-компаньона равна 500 МГц. Максимальная частота одноядерного процессора (на основе высокопроизводительного ядра) составляет 1,4 ГГц, в многоядерном процессоре – 1,3 ГГц. В результате ядро-компаньон рассчитано на выполнение несложных задач и минимизацию энергопотребления в активном резервном состоянии, при воспроизведении музыкальных записей и даже видео. Для решения задач, требующих более высокого быстродействия (проведения игр, видеоконференций, работы в Интернете, в многозадачном режиме и т.п.) активизируются основные ядра. Для выполнения многомедийных приложений могут быть активизированы все четыре ядра, благодаря чему в результате работы на меньшей частоте сокращается общая потребляемая схемой мощность. При этом, поскольку vSMP-архитектура – синхронная, все основные ядра работают при одинаковых значениях напряжения и частоты.
Все пять ядер на кристалле можно индивидуально блокировать и разблокировать (с помощью режима агрессивного отпирания питания). Для распределения нагрузки между ними в микросхеме используются технологии динамического масштабирования напряжения и частоты (Dynamic Voltage and Frequency Scaling, DVFS) и управления активным подключением, которые не требуют дополнительной модификации ОС.
Основное достоинство четырехъядерных ЦПУ Tegra 3 с vSMP-архитектурой – значительно меньшее энергопотребление в сравнении с двухъядерными схемами и ЦПУ с асинхронной архитектурой. Так, при показателе производительности по тестовой программе Coremark, равном 5000, микросхема потребляет 570 мВт при работе на частоте 480 МГц. Для сравнения двухъядерные процессоры Omap 4 компании Texas Instruments и Snapdragon QC8660 компании Qualcomm при том же показателе Coremark потребляют 1 501 и 1 453 мВт, работая на частоте 1 и 1,2 ГГц, соответственно. При работе на частоте 1 ГГц показатель Coremark для процессора с vSMP-архитектурой был равен 11 667, а потребляемая мощность – 1 261 мВт, что все равно меньше, чем у процессоров конкурентов (рис.4).
К другим достоинствам vSMP-архитектуры относятся:
когерентность памяти, т.е. согласованность данных различных кэшей. Поскольку vSMP-технология не допускает одновременной работы ядра-компаньона и основных ядер, ничто не препятствует синхронизации кэшей ядер, работающих на различных частотах. Компаньон и основные ядра коллективно используют L2-кэш, который запрограммирован на выдачу данных обоим типам ядер менее чем за 2 мс;
время переключения между ядром-компаньоном и основным ядром плюс время стабилизации напряжения благодаря применению перспективных схем и логики не превышает 2 мс, что незаметно пользователю;
предотвращение частого переключения туда и обратно между компаньоном и основными ядрами, когда значение рабочего напряжения приблизительно равно порогу переключения, за счет встроенной в алгоритмы управления ЦПУ программируемой регулировки гистерезиса.
Четырехъядерная (4-плюс-1) vSMP-архитектура процессора Tegra 3 позволяет не только минимизировать потребляемую мощность в режиме ожидания, но и обеспечить требуемый для мобильных устройств ее уровень при выполнении ресурсоемких задач. Благодаря этому процессору разработчики приложений и игр для мобильных устройств смогут предоставить пользователям новые "приключения" при увеличенном сроке службы батарей питания.
Процессор Tegra 3 стал как бы предвестником big.little-процессоров компании ARM, о возможностях которой было доложено на конференции ARM TechCon 2012.
Архитектура big.little
Анализ работы различных мобильных систем показал, что большую часть времени они задействованы, когда высокая производительность вовсе не нужна, а важно максимально низкое энергопотребление. Таким образом, все время использовать только мощные вычислительные ядра, требуемые для выполнения ресурсоемких приложений (игр, просмотра видео, веб-серфинга и т.п.), невыгодно. Так, прием сообщений или аудиоинформации успешно выполняют процессоры на основе относительно слабых ядер предыдущих поколений, потребляемая энергия которых меньше, чем у современных ЦПУ с мощными ядрами. В итоге в корпорации ARM родилась концепция big.little, предусматривающая совместную работу в составе одной системы на кристалле вычислительных ядер разных поколений (рис.5) [7]. Таким образом, в отличие от vSMP-архитектуры компании Nvidia в ЦПУ с архитектурой big.little используются два типа ядер:
мощное (big, "большое"), которое выполняет задачи, требующие обработки большого объема данных, например, воспроизведение видеозаписи высокой четкости;
менее мощное (little, "малое"), выполняющее не столь ресурсоемкие задачи, которые требуют меньшего быстродействия, и в результате более энергоэффективные.
Первое поколение big.little ЦПУ. На конференции ARM TechCon 2011 корпорация ARM представила первую систему на кристалле с архитектурой big.little, построенную на основе "больших" ядер Cortex-A15 и "малых" Cortex-A7 [8]. Cortex-A7 – самое энергоэффективное решение в портфеле процессоров известного британского разработчика. По производительности Cortex-A7 несколько уступает Cortex A8, но превосходит его по энергоэффективности. Благодаря изготовлению по 28-нм технологии процессор занимает площадь 0,5 мм2, что составляет всего лишь одну пятую площади Cortex-A8, топологические нормы которого – 45 нм. И, наконец, Cortex-A7 позволяет использовать до четырех ядер в одной микросхеме, в то время как Cortex-A8 – одноядерная архитектура.
Cortex-A15 – процессор следующего поколения ЦПУ корпорации, призванный заменить Cortex-A9 в высокопроизводительных приложениях и противостоять на рынке процессорам Qualcomm Krait, хотя его производительность на частоте 1 МГц меньше.
Оба процессора Cortex-A7 и Cortex-A15 имеют одинаковую архитектуру ARMv7, в том числе идентичные блоки визуализации и поддержки длинных физических адресов. Идентичность их архитектур обеспечивает "прозрачность" big.little для операционной системы. Они также поддерживают одну и ту же структуру команд, но выполняют их неодинаково. Это объясняется различием их микроархитектур. Cortex-A7 – упорядоченный несимметричный двойной процессор с глубиной конвейера 8–10 уровней (рис.6). Cortex-A15 – нестандартный тройной процессор с глубиной конвейера 15–24 уровней и возможностью внеочередного исполнения команд (рис.7). Разная глубина конвейеров A15 и A7 обуславливает различие их энергопотребления. В результате Cortex-A15 предназначен для выполнения ресурсоемких задач с низкой энергоэффективностью. Cortex-A7, наоборот, обеспечивает достаточно высокую энергоэффективность, но при меньшем быстродействии (см. таблицу). Хотя Cortex-A7 рассматривается как "малый" процессор, из таблицы видно, что его производительность достаточно велика, и он может выполнять значительную часть задач мобильного устройства, не перекладывая их на Cortex-A15. Следует также отметить, что "малое" ядро занимает всего 13% площади "большого".
Распределение задач между процессорами осуществляется с помощью расширенного, традиционного для перспективных процессоров метода экономии потребляемой энергии DVFS, который задает рабочие точки обоим процессорам. Когда обработку выполняет Cortex-A7, ОС назначает рабочие точки так же, как и для платформы с одним процессором. При достижении Cortex-A7 максимального быстродействия для продолжения выполняемой задачи активизируется функция переноса ОС и приложений процессору Cortex-A15. В результате приложения с низкой и средней интенсивностью могут выполняться A7 с лучшей энергоэффективностью, чем A15, тогда как этот процессор решает высокоинтенсивные задачи, присущие современным смартфонам (рис.8). Испытания ЦПУ с архитектурой big.little показали, что по сравнению с обычным процессором энергопотребление в среднем удается снизить без ухудшения производительности на 50%, а ряде случаев и на 150%.
Принципы работы процессора big.little. Максимально согласованная работа big.little ЦПУ за исключением задержек достигается благодаря тому, что каждое ядро имеет свой L-кэш, а каждый кластер, содержащий от одного до четырех процессоров Cortex-А7 или А15, – отдельный L2-кэш. L1-кэши ядер одного кластера и L2-кэши кластеров соединены с помощью когерентной 128-бит шины AMBA-4. Кластеры процессоров соединены когерентной системой коммутации CCI-400 (Cache Coherent Interconnect), совместимой с протоколами интерфейса шины AMBA 4. CCI-400 поддерживает когерентность процессоров Cortex-A15 и Cortex-A7, а также когерентность ввода/вывода данных других блоков микросхемы, например, графического процессора. Для эффективного взаимодействия двух кластеров применен специальный программируемый контроллер прерываний GIC-400 (Generic Input Controller) (рис.9). Помимо распределения до 480 прерываний между процессорами GIC-400 обеспечивает перемещение прерываний между любыми ядрами Cortex-A15 или Cortex-A7 кластеров.
Сейчас программисты ARM и Linaro разрабатывают два метода переноса задач в системе big.little. Первый метод – CPU Migration mode – предусматривает перенос задач между ядрами кластеров и сохранение их состояния (т.е. информационного наполнения всех регистров и кэшев). Для эффективной реализации этого метода значение времени перемещения должно быть малым. Когерентность в работе и идентичность архитектур ядер позволили добиться времени переключения между кластерами процессоров, равного всего 20 мкс на частоте 1 ГГц [1]. Все значения целочисленных и расширенных регистров SIMD процессора, программа которого переносится (передающего процессора), а также конфигурация регистров CP15 должны быть сохранены и восстановлены в принимающем процессоре. Кроме того, необходимо переносить любые активные прерывания, заданные контроллером GIC-400. Для сохранения и восстановления состояния передающего устройства требуется менее 2000 команд, и поскольку архитектуры процессоров одинаковы, между регистрами состояния существует взаимно однозначное соответствие. Таким образом, быстрый перенос задачи обеспечивает когерентность процессоров, позволяя отслеживать и восстанавливать на принимающем процессоре данные передающего, минуя блок основной памяти. К тому же, поскольку L2-кэш передающего процессора когерентен, он может не отключаться после переноса с тем, чтобы уменьшить время разогрева кэша принимающего процессора. Однако поскольку к L2-кэшу передающего процессора нельзя обращаться одновременно с кэшем принимающего процессора, его следует через некоторое время очистить и выключить, чтобы сократить утечки. При переносе задачи поток данных обрабатывается как обычно, кроме периода переноса прерываний.
Для поддержки всех операций, необходимых для переноса задач между Cortex-A15 и Cortex-A7, компания ARM предоставляет программный коммутатор, содержащий код, требуемый для настройки процессора на когерентный режим работы или выход из него, а также для управления слежением и переносом прерываний. Коммутатор может применяться сам по себе или его код может быть использован в качестве шаблона для встраивания в ОС. Кроме того, коммутатор скрывает от ОС небольшое число различий между ядрами двух типов. Несмотря на то, что архитектуры процессоров Cortex-A15 и Cortex-A7 идентичны и считывание, и запись данных во все регистры осуществляются сходным образом, содержимое их не одинаково. Так, содержимое основных ID-регистров процессоров двух типов, как и регистров, хранящих топологии L1- и L2-кэшев, различается. Но поскольку оба типа процессоров поддерживают расширение виртуализации, доступ ОС к этим регистрам может быть перенесен на уровень гипервизора, где они доступны коммутатору. Таким образом, коммутатор позволяет сегодня строить систему big.little, работающую с современными ОС, хотя из-за небольшого различия Cortex-A15 и Cortex-A7 может оказаться поезным выполнение кода сохранения и восстановления операционной системой, а не коммутатором. Таким образом, представленная модель ЦПУ с архитектурой big.little, работающая в CPU Migration режиме, располагает действенными программными средствами, и компания рассчитывает, что системы на основе технологии big.little появятся на рынке в 2013 году.
Впрочем, работ по доводке программной поддержки технологии переноса задач ядрами предстоит достаточно. Более прогрессивный режим big.little MP (Heterogeneous Multi-Processing, или MP), при котором все ядра работают одновременно, а нагрузка "ищет" оптимальное ядро (ядра) для своей работы, все еще находится на ранней стадии разработки. Этот режим дает лучшие результаты. Поскольку система big.little позволяет использовать наиболее подходящее для обработки ядро и объем когерентных операций полностью когерентной системы может быть большим, при разработке ядер Cortex-A15, Cortex-A7 и шинного интерфейса CCI-400 был предусмотрен вариант поведения при худшем сценарии отслеживания состояния. Например, когда графический процессор Mali-T604, подключенный к одному из портов ввода/вывода CCI-400, при каждой операции отслеживает состояния Cortex-A15 и Cortex-A7, одновременно отслеживающих состояния друг друга. Компания считает, что уже в 2013 году можно будет говорить о практической реализации режима big.little MP в дополнение к режиму CPU Migration.
Модель на основе процессоров Cortex-A15, Cortex-A7, CCI-400 и контроллера прерываний GIC-400 оптимальна для построения любой big.little системы, в ней нет каких-либо конфигурируемых элементов или методов, задаваемых для получения конкретной системы. Правда, для существенного повышения эффективности технологии, а также значительного упрощения разработки программных средств управления системой рекомендуется применять в микросхеме одинаковое число "больших" и "малых" ядер.
Процессоры семейства Cortex-A50. На конференции ARM TechCon 2012 компания ARM представила новое семейство процессоров Cortex-A50, выполненных на основе архитектуры ARMv8 [10–12], набор команд которой поддерживает исполнение программ Aarch64 и Aarch32, которые совместимы с 32-бит набором команд ARMv7. Процессоры семейства на основе архитектуры ARMv8 отличаются возможностью SIMD-обработки; работой с командами, ускоряющими программную криптографию; увеличенным размером регистровых файлов; гибкими режимами адресации; поддержкой тегированных указателей; 64-Кбит страницами данных; новым режимом обработки исключений; улучшенным управлением памятью и усовершенствованной обработкой данных с плавающей запятой (в соответствии с IEEE754-2008). Процессоры Cortex-A50 работают совместно с графическим процессором компании семейства Mali [6].
В семейство входят "наследники" Cortex-A9 и Cortex-A15 – процессоры Cortex-A53 (кодовое имя Apollo) и Cortex-A57 (Atlas), поддерживающие 64-бит набор команд ARMv8.
"Малый" процессор Cortex-A53 компания позиционирует как "самый эффективный процессор ARM из когда-либо созданных" и к тому же самый миниатюрный. По своей архитектуре этот упорядоченный несимметричный двойной процессор с глубиной конвейера восемь и более уровней незначительно отличается от Cortex-A9 (рис.10а) [12]. Рабочая частота его достигает 1,3 ГГц. По производительности он сопоставим с Cortex-A9 при в четыре раза меньшем энергопотреблении. На основе анализа двухъядерного ЦПУ (кодовое имя Swift) на основе ARMv7 аналитики пришли к выводу, что в повышении его производительности свою роль сыграло улучшение интерфейса. Вероятно, ARM учла этот фактор, правда, вместе с тем устранила другие элементы процессора, способствующие повышению его производительности.
При производстве обоих процессоров по 32-нм технологии Cortex-A53 будет занимать на 60% меньше площади, чем Cortex-A9, а при изготовлении с помощью 20-нм процесса площадь Cortex-A53 окажется в четыре раза меньше, чем у 32-нм Cortex-A9. По данным компании, это достигнуто в результате уменьшения размеров структур буферов и данных.
Наиболее совершенным высокопроизводительным процессором ARM называет и Cortex-A57, который подобен процессору Cortex-A15. Это тоже нестандартный тройной процессор с глубиной конвейера 15 и более уровней (рис.10б). Компания увеличила ширину операционных блоков NEON (возможно до 128 бит) и обеспечила поддержку формата представления данных с плавающей запятой и двойной точностью в стандарте IEEE-754. Рабочая частота процессора достигает 3 ГГц. Результат – 20–30%-ное увеличение производительности в 32-бит режиме и пятикратное превосходство по энергоэффективности по сравнению с Cortex A15. В 64-бит режиме производительность еще возрастает.
К достоинствам обоих процессоров семейства относится возможность объединять в них 16 и более ядер. Cortex-A57 и Cortex-A53 могут работать как отдельно, так и совместно (подобно Cortex-A15 и Cortex-A7) в архитектуре big.little второго поколения (рис.11).
Предназначены процессоры семейства Cortex A50 для мощных смартфонов, планшетов, гибридных мобильных продуктов и серверов. И здесь их важное достоинство – поддержка 64-бит обработки данных в мобильных устройствах. Поскольку в современных мобильных системах используются 32-бит ОС, объем их оперативной памяти не превышает 4 Гбит. А доступ к памяти большей емкости расширит функциональные возможности "мобильников" и позволит им выполнять более интенсивные задачи. Конечно, этот переход не произойдет в одночасье, но ARM представила новые процессоры в предвидении такого развития техники мобильных систем.
Компания рассчитывает обеспечить многогигагерцовое быстродействие новых процессоров за счет выполнения их по перспективным технологиям изготовления КМОП- и трехмерных транзисторов типа FinFET. Первые микросхемы нового семейства будут изготавливаться по 28- и 20-нм технологиям. Поставка их партнерам компании (AMD, Broadcom, Calxeda, HiSilicon, Samsung и STMicroelectronics) планируется на середину 2013 года, на рынке они должны появиться в начале 2014, устройства на их основе – спустя полгода–год. Но в будущем ARM планирует перейти на 14-нм процесс. Известно, что контрактная компания GlobalFoundries, производящая процессоры AMD, заключила с ней соглашение по переходу в середине 2012 года на технологию FinFET. Позже GlobalFoundries сообщила, что в 2013 году она полностью освоит эту технологию с топологическими нормами 14 нм. Поэтому можно предположить, что первые процессоры семейства Cortex-A50 будут изготовлены именно по этой технологии.
В заключение можно сказать, что, несмотря на высокие характеристики big.little-систем, компания ARM сомневается относительно возможности их широкого применения в серверах и отмечает, что поставщики компьютерных систем, стремящиеся получить высокую производительность, скорее обратятся к "большим" ядрам. При современных нагрузках серверов полностью реализовать достоинства big.little пока трудно. Здесь более перспективны процессоры Cortex-A50 на основе ARMv8. Концепция big.little в основном пригодна для систем с большим и динамическим диапазоном требований к производительности, таким как мобильные телефоны и планшеты, в которых большие процессоры в основном работают в режиме ожидания. Это несколько противоречит существующей тенденции к максимизации возможностей больших ядер, с тем чтобы они могли выполнять различные задачи. Однако специалисты ARM считают, что задачи должны быть согласованы с ядром, и не следует стремиться к тому, чтобы одно ядро выполняло все задачи.
Перспективы новых технологий
Предполагается, что компания Nvidia в системе на кристалле Tegra 4 (вероятно, ее кодовое имя Wayne) наверняка продолжит архитектуру vSMP системы 4+1 Tegra 3. Эта система на кристалле будет представлять собой флагман семейства T40 и предназначаться преимущественно для планшетов с диагональю экрана 10 дюймов и нетбуков. Выпустить новую платформу на рынок NVIDIA планирует в начале 2013 года, а представить ее – на традиционной выставке потребительской электроники Consumer Electronics Show (CES) 2013. Первые устройства с этими процессорами будут анонсированы в конце февраля на крупнейшей в мире выставке мобильной промышленности Mobile World Congress 2013.
ЦПУ будет основано на ядрах Cortex-A15, тактовая частота составит 1,8 ГГц. К концу года модельный ряд пополнится 2-ГГц версией и вариантом с тактовой частотой от 1,2 до 1,8 ГГц. В результате на рынке может появиться процессор, который будет в 10 раз мощнее Tegra 2 и в два раза быстрее Tegra 3, используемого в смартфоне HTC One X и планшетах Google Nexus 7 и Microsoft Surface RT. Отмечается, что Tegra 4 будет единственной микросхемой, совместимой со стандартами мобильной связи LTE/HSPA+, т.е. планшеты и смартфоны (в которых она, возможно, найдет применение) на ее основе получат поддержку сетей сотовой связи четвертого поколения.
В 2013 году компания планирует выпустить ЦПУ с кодовым названием Logan, превосходящее Tegra 4 по производительности в пять раз, в 2014 – процессор Stark с почти вдвое большей производительностью, чем Logan. Все это должно положительно сказаться на конкурентоспособности Tegra 4 компании Nvidia в схватке с системами на кристалле компаний Samsung и Qualcomm за место под солнцем [13].
Разработчики видят большие перспективы технологии big.little, считая, что сегодня достигнута такая ее зрелость, о которой год назад даже не мечталось. Как отметил на открытии конференции ARM Tech Con Б.Джефф, руководитель компании, ответственный за конструирование, производство и реализацию продукции, "Big.little, по нашему мнению, – уже не многообещающая технология, а получающее широкое распространение устройство для систем с малым энергопотреблением. И нас радует этот прогресс". ARM рассчитывает увидеть в течение первой половины 2013 года реализацию концепции в готовых продуктах. По данным ARM, ряд производителей уже разрабатывают системы на кристалле на основе подхода "большой.малый". Так, компания Samsung на одной из крупнейших ежегодных международных конференций, посвященных твердотельным приборам и системам – International Solid-State Conference, ISSCC 2013, – намерена сообщить о создании высокопроизводительного ЦПУ серии Exynos, предназначенного для платформ мобильных устройств и систем связи и содержащего два кластера двухъядерных процессоров. Тактовая частота одного кластера с L2-кэшем емкостью 2 Мбайт составит 1,8 ГГц, частота второго – 1,2 ГГц и, судя по описанию, емкость его L2-кэша тоже 2 Мбайт. Микросхему ЦПУ компания планирует выпустить в 2013 году, причем высказывается предположение, что она будет конкурировать с 22-нм микросхемами процессоров Haswell компании Intel для планшетов [14].
Компания Freescale Semiconductor сообщила о приобретении у ARM лицензии на процессор Cortex-A7 вдобавок к ранней лицензии на Cortex-A15. Эти ядра Freescale намерена использовать в микросхемах процессоров приложений семейства i.MX, предназначенных для встраиваемых устройств, автомобильных информационно-развлекательных панелей, мобильных систем [15].
Все чаще аналитики призывают компанию Intel обратить внимание на архитектуру big.little. К примеру, было бы интересно увидеть процессоры Intel, сочетающие ядра Atom и Ivy Bridge, в планшетах и, возможно, в ультрабуках. Это позволило бы снизить стоимость систем на основе процессоров со сверхнизким питанием, поскольку при их создании идет достаточно жесткий отбор по параметрам. Схемы с двумя типами ядер могут оказаться более простыми в производстве и, следовательно, более дешевыми.
* * *
Несомненно, подход ведущих компаний к улучшению соотношения потребляемая энергия–производительность высокопроизводительных процессоров, которые сегодня представляют собой систему на кристалле, интересен. Для полной реализации свойств рассмотренных новых архитектур потребуются разнообразные инструментальные устройства поддержки как аппаратных, так и программных средств и, следовательно, можно ожидать публикаций, посвященных этим устройствам. Что же, будем ждать.
Литература
Pangrle B. Innovation At The Core. – chipdesignmag.com/lpd/pangrle/2011/11/03/innovation-at-the-core
Snapdragon S4 Processors: System on Chip Solutions for a Mobile New Age. White paper.
Qualcomm Announces Next-generation Snapdragon Mobile Chipset Family. Press release. – www.qualcomm.com/media/releases/2011/02/14/qualcomm-announces-next-generation-snapdragon-mobile-chipset-family
Variable SMP (4-Plus-1TM) – a Multi-core Architecture for Low Power and High Performance. White Paper. – ttp://www.nvidia.com/content/PDF/tegra_white_papers/tegra-whitepaper-0911b.pdf
Dean Takahashi. Nvidia launches its Tegra 3 mobile graphics processor – venturebeat.com/2011/11/08/nvidia-launches-its-tegra-3-mobile-graphics-processor/#Fbo05uPixSFGdgzw.99
Shimpi A.L. NVIDIA’s Project Kal-El: Quad-Core A9s Coming to Smartphones/Tablets This Year. – www.anandtech.com/print/4181
Hyun-DukCho, Kisuk Chung, Taehoon Kim. Benefits of the big.LITTLE Architecture. – www.samsung.com/global/business/semiconductor/minisite/Exynos/data/benefits.pdf
Greenhalgh P. Big.LITTLE Processing with ARM Cortex™-A15&Cortex-A7 (Improving Energy Efficiency in High-Performance Mobile Platforms). ARM White Paper, Sep. 2011.
Clarke P. ARM, TSMC tape out 20-nm processor. – www.eetimes.com/electronics-news/4229820/ARM-TSMC-design-20-nm-A15-processor
ARM Launches Cortex-A50 Series, the World’s Most Energy-Efficient 64-bit Processors. Press release, Oct.30 2012. – www.arm.com/about/newsroom/arm-launches-cortex-a50-series-the-worlds-most-energy-efficient-64-bit-processors.php
SemiLex ARM Cortex-A57 и Cortex-A53. – androidtabs.ru/arm-cortex-a57-i-cortex-a53.html
Cortex-A50 Series. – www.arm.com/products/processors/cortex-a50/index.php
Hirur S. Nvidia Tegra 4 Processor to make Its Debut at CES 2013/ – www.ibtimes.co.uk/articles/399604/20121030/nvidia-tegra4-processor-chipset-launch-ces-2013.htm
Merritt R. ISSCC: Samsung big.little, but no Intel, Nvidia CPUs. – http://www.eetimes.com/electronics-news/4401645/Samsung-big-little--no-Haswell--Project-Denver-at-ISSCC
Clarke P. Freescale applies ‘big-little’ to i.MX chips. – www.eetimes.com/electronics-news/4229893/Freescale-ARM-big-little-processors)
Стремительное развитие полупроводниковой технологии привело к заметному увеличению производительности ЦПУ, используемых в смартфонах и планшетных компьютерах. Их рабочая частота увеличилась с нескольких сотен мегагерц до нескольких гигагерц. Сегодня мобильные вычислительные устройства без труда выполняют задачи настольных компьютеров и ноутбуков недалекого прошлого. Но заметное различие в производительности мобильных приборов и традиционных настольных компьютеров существует до сих пор. Современная технология может повысить производительность мобильных устройств за счет дальнейшего увеличения тактовой частоты или числа ядер ЦПУ, но при этом значительно возрастет энергопотребление прибора. В отличие от традиционных компьютерных систем емкость аккумуляторов мобильных устройств не может превышать предел, задаваемый физическими размерами и форм-фактором компонентов. Так, размер экрана смартфона или планшета не может быть больше 5 и 11 дюймов, соответственно, что и ограничивает размер и емкость используемых в них батарей.
Конечно, обеспечить низкое энергопотребление многоядерных процессоров с повышенной производительностью можно, но это потребует совершенствования их архитектуры.
Альтернативные многоядерные архитектуры
Как правило, процессорные архитектуры изменяются не чаще одного раза в два–три года. Поэтому так интересны многопроцессорные системы следующего поколения, сообщения о которых уже появились в прессе [1]. Самые перспективные инновационные решения для передовых смартфонов и планшетов (не относящихся к изделиям Apple) представляют компании Qualcomm, Nvidia и, конечно, ARM. Компания Qualcomm в 2011 году описала четырехъядерное ЦПУ, предназначенное для системы на кристалле следующего поколения Snapdragon S4. Компания Nvidia раскрыла данные о микропроцессоре Tegra 3 (кодовое имя – Kal El), ARM на конференции ARM Techcon 2012 представила архитектуры процессоров Cortex-A7 (Kingfisher) и Cortex-A15 (Eagle), а также раскрыла принципы концепции big.little (старший.младший брат). Все три архитектуры пригодны для реализции многоядерных структур с высокой энергоэффективностью и большими вычислительными возможностями. Основной вопрос, возникающий при рассмотрении этих работ: каким образом разработчикам удалось добиться высокой производительности трех различных конкурирующих многоядерных процессоров без ухудшения их энергоэффективности? Попробуем ответить.
Четырехъядерный процессор Snapdragon S4 Pro
На конференции Qualcomm Uplinq 2012 компания Qualcomm представила четырехъядерный процессор APQ8064 (Snapdragon S4 Pro), выполненный на основе принципа асинхронной симметричной мультипроцессорной обработки (Asynchronous Symmetric Multiprocessing, aSMP), с оптимальным соотношением производительность–энергопотребление [2, 3]. К достоинству асинхронной, самотактируемой архитектуры, в которой ядра работают при различных значениях напряжения и частоты, относится возможность назначения ресурсоемких задач, требующих интенсивных вычислений, ядру с большим быстродействием, а менее сложных задач – ядру с более низким быстродействием.
При проектировании блоков асинхронных процессоров не рассматриваются вопросы их синхронизации с другими блоками. Для связи между ними используется запрос – ответ с квитированием. Благодаря тому, что блоку не нужно ждать прихода тактового сигнала, чтобы выполнить свою работу, производительность процессора выше, чем у традиционных сегодня процессоров с синхронной архитектурой. Правда, следует отметить, что для работы асинхронных микросхем тактовые сигналы, как правило, все же нужны, но их источник локален – так называемый "контроллер линии связи", запускающий окончившему обработку блоку следующую команду. Когда вычисления не производятся, блоки почти не потребляют энергиии, находясь в спящем режиме, что существенно сокращает энергопотребление процессора в целом.
Процессор S4 Pro – второе поколение ЦПУ компании собственной разработки (кодовое имя Krait – название ядовитой змеи, обитающей в Юго-Восточной Азии). Работает процессор с системой команд ARM7. При проектировании архитектуры процессора и технологии требования, предъявляемые к способности подключения мобильных устройств к сети, к их производительности и энергоэффективности, выполнены за счет:
изготовления процессора по 28-нм LP-технологии компании TSMC (технологии создания микросхем с низким энергопотреблением) с использованием оксинитрида кремния (SiON). Считается, что эта технология позволяет быстро достигать приемлемого выхода годных микросхем с топологическими нормами 28 нм и, тем самым, опережать конкурентов на рынке;
разумного управления напряжением и частотой каждого ядра в зависимости от выполняемой задачи и независимо от процессов других блоков, благодаря чему рабочая частота ЦПУ лежит в диапазоне 1,5–2,5 ГГц, а энергопотребление на 25–40% меньше, чем у современных синхронных симметричных микропроцессоров (рис.1);
применения новой 11-уровневой конвейерной архитектуры с внеочередным исполнением команд, позволившей увеличить производительность процессора в единицах MIPS/MHz по тестовой программе Dhrystone на 60% по сравнению с производительностью существующих ЦПУ семейства Scorpion;
наличия усовершенствованного блока, выполняющего операции с плавающей запятой и SIMD и поддерживающего 128-бит тракт передачи данных;
двухканальной памяти, обеспечивающей выполнение требований к ширине полосы многоядерных систем.
Каждое ядро содержит L1-кэши данных и программ объемом 16 Кбайт каждый. Два ядра делят общий кэш второго уровня объемом 1 Мбайт. Впервые в состав микросхемы APQ8064 вошло новое графическое ядро компании Adreno 320, которое по производительности в 16 раз превосходит графическое ядро предыдущего поколения Adreno 130. Процессор поддерживает мобильную и компьютерную оперативную память, интерфейсы PCIe и USB. Помимо компании TSMC выпускать новые процессоры будет и тайваньская контрактная компания United Microelectronics Corp. (UMC).
Таким образом, процессоры Snapdragon S4 Pro сочетают чрезвычайно высокую производительность и низкое энергопотребление, обеспечивающее достаточно большой срок службы батарей, что делает их перспективными для нового поколения мобильных устройств с большим экраном – планшетов и ноутбуков.
Недостаток асинхронных процессоров – чувствительность к порядку поступления входных сигналов, так называемая "гонка фронтов": если два сигнала поступают на вход микросхемы почти одновременно, из-за различных значений задержки сигнала логических вентилей возможно установление неверного состояния схемы. Для многоядерных микросхем характерна еще и вероятность уменьшения производительности по сравнению с указанным в спецификации значением. При неудачном обращении в L1-кэш одного ядра запрошенные данные с помощью специального модуля управления поиском Snoop Control Unit, SCU (модуля-"ищейки", задача которого заключается в поиске потерянных программой данных во всех процессорных кэшах) необходимо перенести в L2-кэш-память и затем переслать в кэш ядра, на котором программа возобновила свою работу (рис.2). А поскольку рабочие частоты ядер процессора, их SCU и L2-кэшев различны, для завершения операции передачи данных требуются дополнительные циклы синхронизации, что и приводит к снижению производительности центрального процессора. Этот эффект вызывает и несоответствие быстродействия ядер при обмене данными. Если быстродействие ядра, данные которого переносятся (ядра-источника), меньше чем у ядра, принимающего данные (ядра-получателя), получателю приходится ждать переноса данных, хотя он может работать на более высоких частотах.
Таким образом, для всех рабочих режимов мобильных устройств асинхронная архитектура не самая эффективная. Действительно, при тестировании производительности Qualcomm APQ8064 и четырехъядерной системы на кристалле Tegra 3 компании Nvidia последняя легко обошла по этому параметру APQ8064. В чем же дело?
Архитектура регулируемой симметричной мультипроцессорной обработки компании Nvidia
В феврале 2011 года на крупнейшей выставке мобильной промышленности Mobile World Congress компания Nvidia представила ЦПУ Tegra 3 (Project Kal El) – следующее поколение Tegra 2 – с архитектурой регулируемой симметричной мультипроцессорной обработки (Variable Symmetric Multiprocessing, vSMP) [4–6]. Процессор содержит четыре ядра с высоким быстродействием (основные ядра) и еще одно с меньшим быстродействием (ядро-компаньон), т.е. представляет собой так называемое компанией 4-плюс-1 четырехъядерное устройство. В систему на кристалле Tegra 3 также входит 12-ядерный графический процессор компании GeForce, реализующий присущие ПК игровые эффекты: динамическую подсветку, стереоскопическое воспроизведение.
Все ядра выполнены на основе ARM Cortex-A9. Ядро-компаньон изготовлено по 40-нм LP-технологии маломощных устройств, четыре основных ядра – по универсальной тоже 40-нм технологии создания высокопроизводительных схем. Измерение зависимости потребляемой энергии ядер Kal El процессора от быстродействия показало, что на частотах менее 500 МГц у ядра-компаньона соотношение потребляемая энергия–производительность лучше, чем у основных ядер (рис.3). Таким образом, максимальная частота ядра-компаньона равна 500 МГц. Максимальная частота одноядерного процессора (на основе высокопроизводительного ядра) составляет 1,4 ГГц, в многоядерном процессоре – 1,3 ГГц. В результате ядро-компаньон рассчитано на выполнение несложных задач и минимизацию энергопотребления в активном резервном состоянии, при воспроизведении музыкальных записей и даже видео. Для решения задач, требующих более высокого быстродействия (проведения игр, видеоконференций, работы в Интернете, в многозадачном режиме и т.п.) активизируются основные ядра. Для выполнения многомедийных приложений могут быть активизированы все четыре ядра, благодаря чему в результате работы на меньшей частоте сокращается общая потребляемая схемой мощность. При этом, поскольку vSMP-архитектура – синхронная, все основные ядра работают при одинаковых значениях напряжения и частоты.
Все пять ядер на кристалле можно индивидуально блокировать и разблокировать (с помощью режима агрессивного отпирания питания). Для распределения нагрузки между ними в микросхеме используются технологии динамического масштабирования напряжения и частоты (Dynamic Voltage and Frequency Scaling, DVFS) и управления активным подключением, которые не требуют дополнительной модификации ОС.
Основное достоинство четырехъядерных ЦПУ Tegra 3 с vSMP-архитектурой – значительно меньшее энергопотребление в сравнении с двухъядерными схемами и ЦПУ с асинхронной архитектурой. Так, при показателе производительности по тестовой программе Coremark, равном 5000, микросхема потребляет 570 мВт при работе на частоте 480 МГц. Для сравнения двухъядерные процессоры Omap 4 компании Texas Instruments и Snapdragon QC8660 компании Qualcomm при том же показателе Coremark потребляют 1 501 и 1 453 мВт, работая на частоте 1 и 1,2 ГГц, соответственно. При работе на частоте 1 ГГц показатель Coremark для процессора с vSMP-архитектурой был равен 11 667, а потребляемая мощность – 1 261 мВт, что все равно меньше, чем у процессоров конкурентов (рис.4).
К другим достоинствам vSMP-архитектуры относятся:
когерентность памяти, т.е. согласованность данных различных кэшей. Поскольку vSMP-технология не допускает одновременной работы ядра-компаньона и основных ядер, ничто не препятствует синхронизации кэшей ядер, работающих на различных частотах. Компаньон и основные ядра коллективно используют L2-кэш, который запрограммирован на выдачу данных обоим типам ядер менее чем за 2 мс;
время переключения между ядром-компаньоном и основным ядром плюс время стабилизации напряжения благодаря применению перспективных схем и логики не превышает 2 мс, что незаметно пользователю;
предотвращение частого переключения туда и обратно между компаньоном и основными ядрами, когда значение рабочего напряжения приблизительно равно порогу переключения, за счет встроенной в алгоритмы управления ЦПУ программируемой регулировки гистерезиса.
Четырехъядерная (4-плюс-1) vSMP-архитектура процессора Tegra 3 позволяет не только минимизировать потребляемую мощность в режиме ожидания, но и обеспечить требуемый для мобильных устройств ее уровень при выполнении ресурсоемких задач. Благодаря этому процессору разработчики приложений и игр для мобильных устройств смогут предоставить пользователям новые "приключения" при увеличенном сроке службы батарей питания.
Процессор Tegra 3 стал как бы предвестником big.little-процессоров компании ARM, о возможностях которой было доложено на конференции ARM TechCon 2012.
Архитектура big.little
Анализ работы различных мобильных систем показал, что большую часть времени они задействованы, когда высокая производительность вовсе не нужна, а важно максимально низкое энергопотребление. Таким образом, все время использовать только мощные вычислительные ядра, требуемые для выполнения ресурсоемких приложений (игр, просмотра видео, веб-серфинга и т.п.), невыгодно. Так, прием сообщений или аудиоинформации успешно выполняют процессоры на основе относительно слабых ядер предыдущих поколений, потребляемая энергия которых меньше, чем у современных ЦПУ с мощными ядрами. В итоге в корпорации ARM родилась концепция big.little, предусматривающая совместную работу в составе одной системы на кристалле вычислительных ядер разных поколений (рис.5) [7]. Таким образом, в отличие от vSMP-архитектуры компании Nvidia в ЦПУ с архитектурой big.little используются два типа ядер:
мощное (big, "большое"), которое выполняет задачи, требующие обработки большого объема данных, например, воспроизведение видеозаписи высокой четкости;
менее мощное (little, "малое"), выполняющее не столь ресурсоемкие задачи, которые требуют меньшего быстродействия, и в результате более энергоэффективные.
Первое поколение big.little ЦПУ. На конференции ARM TechCon 2011 корпорация ARM представила первую систему на кристалле с архитектурой big.little, построенную на основе "больших" ядер Cortex-A15 и "малых" Cortex-A7 [8]. Cortex-A7 – самое энергоэффективное решение в портфеле процессоров известного британского разработчика. По производительности Cortex-A7 несколько уступает Cortex A8, но превосходит его по энергоэффективности. Благодаря изготовлению по 28-нм технологии процессор занимает площадь 0,5 мм2, что составляет всего лишь одну пятую площади Cortex-A8, топологические нормы которого – 45 нм. И, наконец, Cortex-A7 позволяет использовать до четырех ядер в одной микросхеме, в то время как Cortex-A8 – одноядерная архитектура.
Cortex-A15 – процессор следующего поколения ЦПУ корпорации, призванный заменить Cortex-A9 в высокопроизводительных приложениях и противостоять на рынке процессорам Qualcomm Krait, хотя его производительность на частоте 1 МГц меньше.
Оба процессора Cortex-A7 и Cortex-A15 имеют одинаковую архитектуру ARMv7, в том числе идентичные блоки визуализации и поддержки длинных физических адресов. Идентичность их архитектур обеспечивает "прозрачность" big.little для операционной системы. Они также поддерживают одну и ту же структуру команд, но выполняют их неодинаково. Это объясняется различием их микроархитектур. Cortex-A7 – упорядоченный несимметричный двойной процессор с глубиной конвейера 8–10 уровней (рис.6). Cortex-A15 – нестандартный тройной процессор с глубиной конвейера 15–24 уровней и возможностью внеочередного исполнения команд (рис.7). Разная глубина конвейеров A15 и A7 обуславливает различие их энергопотребления. В результате Cortex-A15 предназначен для выполнения ресурсоемких задач с низкой энергоэффективностью. Cortex-A7, наоборот, обеспечивает достаточно высокую энергоэффективность, но при меньшем быстродействии (см. таблицу). Хотя Cortex-A7 рассматривается как "малый" процессор, из таблицы видно, что его производительность достаточно велика, и он может выполнять значительную часть задач мобильного устройства, не перекладывая их на Cortex-A15. Следует также отметить, что "малое" ядро занимает всего 13% площади "большого".
Распределение задач между процессорами осуществляется с помощью расширенного, традиционного для перспективных процессоров метода экономии потребляемой энергии DVFS, который задает рабочие точки обоим процессорам. Когда обработку выполняет Cortex-A7, ОС назначает рабочие точки так же, как и для платформы с одним процессором. При достижении Cortex-A7 максимального быстродействия для продолжения выполняемой задачи активизируется функция переноса ОС и приложений процессору Cortex-A15. В результате приложения с низкой и средней интенсивностью могут выполняться A7 с лучшей энергоэффективностью, чем A15, тогда как этот процессор решает высокоинтенсивные задачи, присущие современным смартфонам (рис.8). Испытания ЦПУ с архитектурой big.little показали, что по сравнению с обычным процессором энергопотребление в среднем удается снизить без ухудшения производительности на 50%, а ряде случаев и на 150%.
Принципы работы процессора big.little. Максимально согласованная работа big.little ЦПУ за исключением задержек достигается благодаря тому, что каждое ядро имеет свой L-кэш, а каждый кластер, содержащий от одного до четырех процессоров Cortex-А7 или А15, – отдельный L2-кэш. L1-кэши ядер одного кластера и L2-кэши кластеров соединены с помощью когерентной 128-бит шины AMBA-4. Кластеры процессоров соединены когерентной системой коммутации CCI-400 (Cache Coherent Interconnect), совместимой с протоколами интерфейса шины AMBA 4. CCI-400 поддерживает когерентность процессоров Cortex-A15 и Cortex-A7, а также когерентность ввода/вывода данных других блоков микросхемы, например, графического процессора. Для эффективного взаимодействия двух кластеров применен специальный программируемый контроллер прерываний GIC-400 (Generic Input Controller) (рис.9). Помимо распределения до 480 прерываний между процессорами GIC-400 обеспечивает перемещение прерываний между любыми ядрами Cortex-A15 или Cortex-A7 кластеров.
Сейчас программисты ARM и Linaro разрабатывают два метода переноса задач в системе big.little. Первый метод – CPU Migration mode – предусматривает перенос задач между ядрами кластеров и сохранение их состояния (т.е. информационного наполнения всех регистров и кэшев). Для эффективной реализации этого метода значение времени перемещения должно быть малым. Когерентность в работе и идентичность архитектур ядер позволили добиться времени переключения между кластерами процессоров, равного всего 20 мкс на частоте 1 ГГц [1]. Все значения целочисленных и расширенных регистров SIMD процессора, программа которого переносится (передающего процессора), а также конфигурация регистров CP15 должны быть сохранены и восстановлены в принимающем процессоре. Кроме того, необходимо переносить любые активные прерывания, заданные контроллером GIC-400. Для сохранения и восстановления состояния передающего устройства требуется менее 2000 команд, и поскольку архитектуры процессоров одинаковы, между регистрами состояния существует взаимно однозначное соответствие. Таким образом, быстрый перенос задачи обеспечивает когерентность процессоров, позволяя отслеживать и восстанавливать на принимающем процессоре данные передающего, минуя блок основной памяти. К тому же, поскольку L2-кэш передающего процессора когерентен, он может не отключаться после переноса с тем, чтобы уменьшить время разогрева кэша принимающего процессора. Однако поскольку к L2-кэшу передающего процессора нельзя обращаться одновременно с кэшем принимающего процессора, его следует через некоторое время очистить и выключить, чтобы сократить утечки. При переносе задачи поток данных обрабатывается как обычно, кроме периода переноса прерываний.
Для поддержки всех операций, необходимых для переноса задач между Cortex-A15 и Cortex-A7, компания ARM предоставляет программный коммутатор, содержащий код, требуемый для настройки процессора на когерентный режим работы или выход из него, а также для управления слежением и переносом прерываний. Коммутатор может применяться сам по себе или его код может быть использован в качестве шаблона для встраивания в ОС. Кроме того, коммутатор скрывает от ОС небольшое число различий между ядрами двух типов. Несмотря на то, что архитектуры процессоров Cortex-A15 и Cortex-A7 идентичны и считывание, и запись данных во все регистры осуществляются сходным образом, содержимое их не одинаково. Так, содержимое основных ID-регистров процессоров двух типов, как и регистров, хранящих топологии L1- и L2-кэшев, различается. Но поскольку оба типа процессоров поддерживают расширение виртуализации, доступ ОС к этим регистрам может быть перенесен на уровень гипервизора, где они доступны коммутатору. Таким образом, коммутатор позволяет сегодня строить систему big.little, работающую с современными ОС, хотя из-за небольшого различия Cortex-A15 и Cortex-A7 может оказаться поезным выполнение кода сохранения и восстановления операционной системой, а не коммутатором. Таким образом, представленная модель ЦПУ с архитектурой big.little, работающая в CPU Migration режиме, располагает действенными программными средствами, и компания рассчитывает, что системы на основе технологии big.little появятся на рынке в 2013 году.
Впрочем, работ по доводке программной поддержки технологии переноса задач ядрами предстоит достаточно. Более прогрессивный режим big.little MP (Heterogeneous Multi-Processing, или MP), при котором все ядра работают одновременно, а нагрузка "ищет" оптимальное ядро (ядра) для своей работы, все еще находится на ранней стадии разработки. Этот режим дает лучшие результаты. Поскольку система big.little позволяет использовать наиболее подходящее для обработки ядро и объем когерентных операций полностью когерентной системы может быть большим, при разработке ядер Cortex-A15, Cortex-A7 и шинного интерфейса CCI-400 был предусмотрен вариант поведения при худшем сценарии отслеживания состояния. Например, когда графический процессор Mali-T604, подключенный к одному из портов ввода/вывода CCI-400, при каждой операции отслеживает состояния Cortex-A15 и Cortex-A7, одновременно отслеживающих состояния друг друга. Компания считает, что уже в 2013 году можно будет говорить о практической реализации режима big.little MP в дополнение к режиму CPU Migration.
Модель на основе процессоров Cortex-A15, Cortex-A7, CCI-400 и контроллера прерываний GIC-400 оптимальна для построения любой big.little системы, в ней нет каких-либо конфигурируемых элементов или методов, задаваемых для получения конкретной системы. Правда, для существенного повышения эффективности технологии, а также значительного упрощения разработки программных средств управления системой рекомендуется применять в микросхеме одинаковое число "больших" и "малых" ядер.
Процессоры семейства Cortex-A50. На конференции ARM TechCon 2012 компания ARM представила новое семейство процессоров Cortex-A50, выполненных на основе архитектуры ARMv8 [10–12], набор команд которой поддерживает исполнение программ Aarch64 и Aarch32, которые совместимы с 32-бит набором команд ARMv7. Процессоры семейства на основе архитектуры ARMv8 отличаются возможностью SIMD-обработки; работой с командами, ускоряющими программную криптографию; увеличенным размером регистровых файлов; гибкими режимами адресации; поддержкой тегированных указателей; 64-Кбит страницами данных; новым режимом обработки исключений; улучшенным управлением памятью и усовершенствованной обработкой данных с плавающей запятой (в соответствии с IEEE754-2008). Процессоры Cortex-A50 работают совместно с графическим процессором компании семейства Mali [6].
В семейство входят "наследники" Cortex-A9 и Cortex-A15 – процессоры Cortex-A53 (кодовое имя Apollo) и Cortex-A57 (Atlas), поддерживающие 64-бит набор команд ARMv8.
"Малый" процессор Cortex-A53 компания позиционирует как "самый эффективный процессор ARM из когда-либо созданных" и к тому же самый миниатюрный. По своей архитектуре этот упорядоченный несимметричный двойной процессор с глубиной конвейера восемь и более уровней незначительно отличается от Cortex-A9 (рис.10а) [12]. Рабочая частота его достигает 1,3 ГГц. По производительности он сопоставим с Cortex-A9 при в четыре раза меньшем энергопотреблении. На основе анализа двухъядерного ЦПУ (кодовое имя Swift) на основе ARMv7 аналитики пришли к выводу, что в повышении его производительности свою роль сыграло улучшение интерфейса. Вероятно, ARM учла этот фактор, правда, вместе с тем устранила другие элементы процессора, способствующие повышению его производительности.
При производстве обоих процессоров по 32-нм технологии Cortex-A53 будет занимать на 60% меньше площади, чем Cortex-A9, а при изготовлении с помощью 20-нм процесса площадь Cortex-A53 окажется в четыре раза меньше, чем у 32-нм Cortex-A9. По данным компании, это достигнуто в результате уменьшения размеров структур буферов и данных.
Наиболее совершенным высокопроизводительным процессором ARM называет и Cortex-A57, который подобен процессору Cortex-A15. Это тоже нестандартный тройной процессор с глубиной конвейера 15 и более уровней (рис.10б). Компания увеличила ширину операционных блоков NEON (возможно до 128 бит) и обеспечила поддержку формата представления данных с плавающей запятой и двойной точностью в стандарте IEEE-754. Рабочая частота процессора достигает 3 ГГц. Результат – 20–30%-ное увеличение производительности в 32-бит режиме и пятикратное превосходство по энергоэффективности по сравнению с Cortex A15. В 64-бит режиме производительность еще возрастает.
К достоинствам обоих процессоров семейства относится возможность объединять в них 16 и более ядер. Cortex-A57 и Cortex-A53 могут работать как отдельно, так и совместно (подобно Cortex-A15 и Cortex-A7) в архитектуре big.little второго поколения (рис.11).
Предназначены процессоры семейства Cortex A50 для мощных смартфонов, планшетов, гибридных мобильных продуктов и серверов. И здесь их важное достоинство – поддержка 64-бит обработки данных в мобильных устройствах. Поскольку в современных мобильных системах используются 32-бит ОС, объем их оперативной памяти не превышает 4 Гбит. А доступ к памяти большей емкости расширит функциональные возможности "мобильников" и позволит им выполнять более интенсивные задачи. Конечно, этот переход не произойдет в одночасье, но ARM представила новые процессоры в предвидении такого развития техники мобильных систем.
Компания рассчитывает обеспечить многогигагерцовое быстродействие новых процессоров за счет выполнения их по перспективным технологиям изготовления КМОП- и трехмерных транзисторов типа FinFET. Первые микросхемы нового семейства будут изготавливаться по 28- и 20-нм технологиям. Поставка их партнерам компании (AMD, Broadcom, Calxeda, HiSilicon, Samsung и STMicroelectronics) планируется на середину 2013 года, на рынке они должны появиться в начале 2014, устройства на их основе – спустя полгода–год. Но в будущем ARM планирует перейти на 14-нм процесс. Известно, что контрактная компания GlobalFoundries, производящая процессоры AMD, заключила с ней соглашение по переходу в середине 2012 года на технологию FinFET. Позже GlobalFoundries сообщила, что в 2013 году она полностью освоит эту технологию с топологическими нормами 14 нм. Поэтому можно предположить, что первые процессоры семейства Cortex-A50 будут изготовлены именно по этой технологии.
В заключение можно сказать, что, несмотря на высокие характеристики big.little-систем, компания ARM сомневается относительно возможности их широкого применения в серверах и отмечает, что поставщики компьютерных систем, стремящиеся получить высокую производительность, скорее обратятся к "большим" ядрам. При современных нагрузках серверов полностью реализовать достоинства big.little пока трудно. Здесь более перспективны процессоры Cortex-A50 на основе ARMv8. Концепция big.little в основном пригодна для систем с большим и динамическим диапазоном требований к производительности, таким как мобильные телефоны и планшеты, в которых большие процессоры в основном работают в режиме ожидания. Это несколько противоречит существующей тенденции к максимизации возможностей больших ядер, с тем чтобы они могли выполнять различные задачи. Однако специалисты ARM считают, что задачи должны быть согласованы с ядром, и не следует стремиться к тому, чтобы одно ядро выполняло все задачи.
Перспективы новых технологий
Предполагается, что компания Nvidia в системе на кристалле Tegra 4 (вероятно, ее кодовое имя Wayne) наверняка продолжит архитектуру vSMP системы 4+1 Tegra 3. Эта система на кристалле будет представлять собой флагман семейства T40 и предназначаться преимущественно для планшетов с диагональю экрана 10 дюймов и нетбуков. Выпустить новую платформу на рынок NVIDIA планирует в начале 2013 года, а представить ее – на традиционной выставке потребительской электроники Consumer Electronics Show (CES) 2013. Первые устройства с этими процессорами будут анонсированы в конце февраля на крупнейшей в мире выставке мобильной промышленности Mobile World Congress 2013.
ЦПУ будет основано на ядрах Cortex-A15, тактовая частота составит 1,8 ГГц. К концу года модельный ряд пополнится 2-ГГц версией и вариантом с тактовой частотой от 1,2 до 1,8 ГГц. В результате на рынке может появиться процессор, который будет в 10 раз мощнее Tegra 2 и в два раза быстрее Tegra 3, используемого в смартфоне HTC One X и планшетах Google Nexus 7 и Microsoft Surface RT. Отмечается, что Tegra 4 будет единственной микросхемой, совместимой со стандартами мобильной связи LTE/HSPA+, т.е. планшеты и смартфоны (в которых она, возможно, найдет применение) на ее основе получат поддержку сетей сотовой связи четвертого поколения.
В 2013 году компания планирует выпустить ЦПУ с кодовым названием Logan, превосходящее Tegra 4 по производительности в пять раз, в 2014 – процессор Stark с почти вдвое большей производительностью, чем Logan. Все это должно положительно сказаться на конкурентоспособности Tegra 4 компании Nvidia в схватке с системами на кристалле компаний Samsung и Qualcomm за место под солнцем [13].
Разработчики видят большие перспективы технологии big.little, считая, что сегодня достигнута такая ее зрелость, о которой год назад даже не мечталось. Как отметил на открытии конференции ARM Tech Con Б.Джефф, руководитель компании, ответственный за конструирование, производство и реализацию продукции, "Big.little, по нашему мнению, – уже не многообещающая технология, а получающее широкое распространение устройство для систем с малым энергопотреблением. И нас радует этот прогресс". ARM рассчитывает увидеть в течение первой половины 2013 года реализацию концепции в готовых продуктах. По данным ARM, ряд производителей уже разрабатывают системы на кристалле на основе подхода "большой.малый". Так, компания Samsung на одной из крупнейших ежегодных международных конференций, посвященных твердотельным приборам и системам – International Solid-State Conference, ISSCC 2013, – намерена сообщить о создании высокопроизводительного ЦПУ серии Exynos, предназначенного для платформ мобильных устройств и систем связи и содержащего два кластера двухъядерных процессоров. Тактовая частота одного кластера с L2-кэшем емкостью 2 Мбайт составит 1,8 ГГц, частота второго – 1,2 ГГц и, судя по описанию, емкость его L2-кэша тоже 2 Мбайт. Микросхему ЦПУ компания планирует выпустить в 2013 году, причем высказывается предположение, что она будет конкурировать с 22-нм микросхемами процессоров Haswell компании Intel для планшетов [14].
Компания Freescale Semiconductor сообщила о приобретении у ARM лицензии на процессор Cortex-A7 вдобавок к ранней лицензии на Cortex-A15. Эти ядра Freescale намерена использовать в микросхемах процессоров приложений семейства i.MX, предназначенных для встраиваемых устройств, автомобильных информационно-развлекательных панелей, мобильных систем [15].
Все чаще аналитики призывают компанию Intel обратить внимание на архитектуру big.little. К примеру, было бы интересно увидеть процессоры Intel, сочетающие ядра Atom и Ivy Bridge, в планшетах и, возможно, в ультрабуках. Это позволило бы снизить стоимость систем на основе процессоров со сверхнизким питанием, поскольку при их создании идет достаточно жесткий отбор по параметрам. Схемы с двумя типами ядер могут оказаться более простыми в производстве и, следовательно, более дешевыми.
* * *
Несомненно, подход ведущих компаний к улучшению соотношения потребляемая энергия–производительность высокопроизводительных процессоров, которые сегодня представляют собой систему на кристалле, интересен. Для полной реализации свойств рассмотренных новых архитектур потребуются разнообразные инструментальные устройства поддержки как аппаратных, так и программных средств и, следовательно, можно ожидать публикаций, посвященных этим устройствам. Что же, будем ждать.
Литература
Pangrle B. Innovation At The Core. – chipdesignmag.com/lpd/pangrle/2011/11/03/innovation-at-the-core
Snapdragon S4 Processors: System on Chip Solutions for a Mobile New Age. White paper.
Qualcomm Announces Next-generation Snapdragon Mobile Chipset Family. Press release. – www.qualcomm.com/media/releases/2011/02/14/qualcomm-announces-next-generation-snapdragon-mobile-chipset-family
Variable SMP (4-Plus-1TM) – a Multi-core Architecture for Low Power and High Performance. White Paper. – ttp://www.nvidia.com/content/PDF/tegra_white_papers/tegra-whitepaper-0911b.pdf
Dean Takahashi. Nvidia launches its Tegra 3 mobile graphics processor – venturebeat.com/2011/11/08/nvidia-launches-its-tegra-3-mobile-graphics-processor/#Fbo05uPixSFGdgzw.99
Shimpi A.L. NVIDIA’s Project Kal-El: Quad-Core A9s Coming to Smartphones/Tablets This Year. – www.anandtech.com/print/4181
Hyun-DukCho, Kisuk Chung, Taehoon Kim. Benefits of the big.LITTLE Architecture. – www.samsung.com/global/business/semiconductor/minisite/Exynos/data/benefits.pdf
Greenhalgh P. Big.LITTLE Processing with ARM Cortex™-A15&Cortex-A7 (Improving Energy Efficiency in High-Performance Mobile Platforms). ARM White Paper, Sep. 2011.
Clarke P. ARM, TSMC tape out 20-nm processor. – www.eetimes.com/electronics-news/4229820/ARM-TSMC-design-20-nm-A15-processor
ARM Launches Cortex-A50 Series, the World’s Most Energy-Efficient 64-bit Processors. Press release, Oct.30 2012. – www.arm.com/about/newsroom/arm-launches-cortex-a50-series-the-worlds-most-energy-efficient-64-bit-processors.php
SemiLex ARM Cortex-A57 и Cortex-A53. – androidtabs.ru/arm-cortex-a57-i-cortex-a53.html
Cortex-A50 Series. – www.arm.com/products/processors/cortex-a50/index.php
Hirur S. Nvidia Tegra 4 Processor to make Its Debut at CES 2013/ – www.ibtimes.co.uk/articles/399604/20121030/nvidia-tegra4-processor-chipset-launch-ces-2013.htm
Merritt R. ISSCC: Samsung big.little, but no Intel, Nvidia CPUs. – http://www.eetimes.com/electronics-news/4401645/Samsung-big-little--no-Haswell--Project-Denver-at-ISSCC
Clarke P. Freescale applies ‘big-little’ to i.MX chips. – www.eetimes.com/electronics-news/4229893/Freescale-ARM-big-little-processors)
Отзывы читателей