Как суперскалярные технологии способствуют инновациям в вычислительных устройствах Edge
Эволюция архитектуры процессоров на краю
Краевычислительные устройства коренным образом меняют то, как данные захватываются, обрабатываются и действуют на источнике. Обрабатывая вычисления локально, а не полагаясь на удаленные облачные серверы, эти устройства значительно уменьшают задержку, сохраняют пропускную способность и позволяют принимать решения в режиме реального времени. В основе этой трансформации лежит критически важная техника проектирования процессора: суперскалярное исполнение. Первоначально разработанная для высокопроизводительных настольных и серверных процессоров, суперскалярные методы теперь адаптируются для мира периферийных устройств с ограниченными возможностями и затратами, разблокируя уровни производительности, которые были невообразимы всего несколько лет назад.
В этой статье рассматривается, как работают суперскалярные архитектуры, почему они особенно хорошо подходят для краевых вычислений и как они позволяют создавать интеллектуальные автономные системы следующего поколения. Мы рассмотрим реальные приложения, текущие проблемы и новые инновации, которые обещают сделать периферийные устройства еще более эффективными.
Понимание исполнения суперскаляр
Суперскалярные процессоры предназначены для выполнения более одной инструкции на тактовый цикл. В то время как традиционный скалярный процессор выполняет не более одной инструкции каждый цикл, суперскалярный процессор содержит несколько исполнительных блоков - таких как арифметические логические блоки (ALU), блоки с плавающей запятой (FPU) и блоки загрузки / хранения - которые могут работать параллельно. При одновременном извлечении, декодировании и отправке нескольких команд процессор достигает более высокой пропускной способности, не требуя пропорционального увеличения тактовой частоты.
Паралельизм уровня обучения и пипелинирование
Основой суперскалярного проектирования является параллелизм уровня инструкций (ILP). В конвейерном процессоре выполнение инструкции разбивается на этапы (вывод, декодирование, выполнение, доступ к памяти, обратная запись). Ранняя пиплайнинг позволил одной инструкции входить в каждый этап каждого цикла, давая теоретическую пропускную способность одной инструкции за цикл. Суперскалярные архитектуры расширяют эту концепцию, имея несколько трубопроводов, эффективно создавая несколько параллельных полос. Современные суперскалярные процессоры могут выдавать две, четыре или даже шесть команд за цикл, в зависимости от конструкции.
Однако достижение высокого уровня ILP не является тривиальным. Зависимости между инструкциями — опасности данных, опасности управления и структурные опасности — могут задержать трубопровод. Для смягчения этих последствий суперскалярные процессоры используют передовые методы, такие как:
- Исполнение в непорядке — Инструкции выполняются, как только их операнды готовы, независимо от их первоначального программного заказа, чтобы держать исполнительные блоки занятыми.
- Регистрация переименования — Устраняет ложные зависимости путем отображения логических регистров в больший пул физических регистров.
- Специальное исполнение — процессор предсказывает исход ветвей и выполняет инструкции заранее, позже отбрасывая работу, если предсказание было неправильным.
- Отраслевое прогнозирование — Сложные предикторы (например, двухуровневые адаптивные предикторы, нейронные предикторы) достигают точности, превышающей 95% в современных конструкциях.
Эти механизмы работают вместе, чтобы извлечь максимальный параллелизм из последовательного потока команд, что делает суперскалярные процессоры чрезвычайно эффективными в использовании присущего ILP, присутствующего в большинстве кодов.
Многофункциональная проблема и суперскалярная широта
Термин «суперскаляр» конкретно относится к способности выдавать несколько инструкций за цикл. Ширина суперскалярного процессора — количество инструкций, которое он может выдавать каждый цикл — неуклонно увеличивалась. Ранние проекты, такие как Intel i960CA (1990), выдавали две инструкции за цикл, в то время как сегодняшние высокопроизводительные серверные процессоры могут выдавать до восьми или более. Для периферийных устройств задача состоит в том, чтобы сбалансировать ширину проблемы с потреблением энергии и площадью вымирания. Многие краевые ядра, такие как те, которые основаны на конструкциях Arm Cortex-A или RISC-V, используют суперскалярную ширину двух или трех, обеспечивая существенное повышение производительности при сохранении мощности теплового дизайна (TDP) на низком уровне.
Для получения дополнительной информации о технических основах, обратитесь к статье Википедия о суперскалярных процессорах .
Роль суперскалярных методов в Edge Computing
Краевые устройства работают под строгими ограничениями: ограниченные бюджеты мощности, ограничения теплового рассеивания и часто небольшие форм-факторы. Тем не менее, они должны обрабатывать все более сложные рабочие нагрузки - от видеоаналитики в реальном времени до синтеза датчиков в автономных транспортных средствах. Обработка суперскалярного обеспечивает путь к более высокой производительности без резкого увеличения тактовой частоты, что в противном случае привело бы к увеличению квадратичной мощности. Вместо этого, суперскалярные конструкции улучшают производительность на ватт, выполняя больше работы за цикл.
Скорость работы без часов увеличивается
Поскольку суперскалярные процессоры выполняют несколько инструкций за цикл, они могут достигать более высокой пропускной способности, чем скалярный процессор, работающий на одной и той же тактовой частоте. Это важно для периферийных устройств, которые не могут позволить себе потреблять мощность высокочастотного процессора. Например, суперскалярное ядро с двумя выпусками на 1 ГГц может в идеальных условиях доставлять вдвое больше инструкций в секунду скалярного ядра на одной и той же частоте. На практике реальные ускорения варьируются от 30% до 80% в зависимости от рабочей нагрузки и качества планирования инструкций компилятора.
Эта кладовая производительности позволяет периферийным устройствам обрабатывать более сложные задачи локально, такие как вывод на глубоких нейронных сетях (DNN) для обнаружения объектов или обработка видеопотоков с высоким разрешением без отправки данных в облако.
Энергоэффективность и срок службы батареи
Одним из важнейших преимуществ суперскалярных архитектур в периферийных устройствах является повышение энергоэффективности. При более эффективном выполнении инструкций — с использованием меньшего количества циклов на программу — процессор может выполнить заданную рабочую нагрузку раньше, а затем войти в состояние ожидания с низкой мощностью. Этот подход «гонки за сном» является проверенной стратегией снижения общего потребления энергии. Исследования показали, что хорошо спроектированное суперскалярное ядро может быть в несколько раз более энергоэффективным, чем скалярное ядро для целочисленных тяжелых рабочих нагрузок, которые доминируют в периферийных приложениях.
Кроме того, суперскалярные конструкции часто включают возможности динамического напряжения и частотного масштабирования (DVFS), позволяющие процессору регулировать уровень производительности на основе мгновенного спроса. В сочетании с интеллектуальным питанием неиспользуемых исполнительных блоков эти методы помогают продлить срок службы батареи в портативных периферийных устройствах, таких как дроны, портативные сканеры и носимые датчики.
Реагирование в реальном времени
Многие варианты использования краевых вычислений требуют детерминированных ответов с низкой задержкой - рассмотрим систему с критичным уровнем безопасности в автономном транспортном средстве, которая должна реагировать на препятствие в течение миллисекунд. Процессоры Superscalar, с их способностью обрабатывать несколько задач и упреждающих инструкций, могут улучшить время выполнения в худшем случае (WCET) для критических путей кода. Современные сверхскалярные ядра вне порядка также включают такие функции, как блокировка кэша и приоритетная обработка прерываний для обеспечения своевременных ответов. В то время как высокопроизводительные суперскалярные конструкции могут вводить сложность в анализ времени, тщательный дизайн и анализ времени выполнения в худшем случае (WCET) могут смягчить эти проблемы, делая их подходящими для краевых систем реального времени.
Более широкий контекст Edge computing хорошо объясняется в руководстве IBM Cloud Learn по периферийным вычислениям .
Реальные приложения Superscalar-Powered Edge
Сочетание суперскалярной обработки и периферийных вычислений позволяет использовать широкий спектр инновационных приложений. Ниже приведены несколько областей, где эта технология оказывает ощутимое влияние.
Автономные автомобили и ADAS
Современные транспортные средства по существу являются центрами обработки данных на колесах, сплавляющими данные с камер, LiDAR, радара и ультразвуковых датчиков. Каждый поток датчиков требует обработки с высокой пропускной способностью с низкой задержкой. Суперскалярные процессоры в электронных блоках управления транспортного средства (ECU) или контроллерах домена обрабатывают такие задачи, как синтез датчиков, планирование пути и классификация объектов. Например, платформа NVIDIA DRIVE использует ядра суперскалярного ARM Cortex-A вместе с ускорителями GPU для обеспечения необходимой производительности, оставаясь в пределах бюджета мощности транспортного средства. Возможность выполнять несколько инструкций за цикл имеет решающее значение для обработки массивного параллелизма, присущего алгоритмам компьютерного зрения.
Промышленный IoT и умное производство
На заводах периферийные устройства контролируют машины, роботов управления и анализируют данные производственной линии в режиме реального времени. ПЛК на основе суперскалярных устройств (программируемые логические контроллеры) и периферийные шлюзы могут запускать сложные циклы управления с жесткими требованиями времени. Например, система прогнозного обслуживания может нуждаться в обработке данных вибрации от нескольких датчиков при одновременном выполнении алгоритмов FFT (быстрое преобразование Фурье) - задач, которые извлекают выгоду непосредственно из параллелизма уровня инструкций. Кроме того, энергоэффективность суперскалярных ядер позволяет развертывать эти устройства в удаленных или труднодоступных местах без частых изменений батареи.
Умные камеры и видеоаналитика
Камеры безопасности на основе Edge все чаще выполняют видеоаналитику на устройстве - обнаружение людей, транспортных средств или аномалий - вместо того, чтобы передавать все видео на центральный сервер. Это требует процессора, способного выполнять как видеокодек, так и механизм вывода нейронной сети. Ядра Superscalar эффективно обрабатывают ненейронные части конвейера (например, обработка изображений, оценка движения, задачи кодека), освобождая специализированные ускорители ИИ для фокусировки на выводе. Например, суперскаляр ARM Cortex-A72 с двумя выпусками может обрабатывать видео 4K в режиме реального времени при управлении несколькими параллельными потоками аналитики.
Беспилотные летательные аппараты (БПЛА)
Дроны требуют чрезвычайно ограниченного веса и мощности. Контроллер полета должен обрабатывать данные датчиков (гироскоп, акселерометр, GPS) и выполнять алгоритмы управления с низким джиттером. Микроконтроллеры Superscalar, такие как основанные на ARM Cortex-M7, обеспечивают необходимую производительность без накладных расходов на полный процессор приложений. Кроме того, более продвинутые дроны используют ядра суперскалярных приложений (например, серии Cortex-A) для одновременной локализации и отображения (SLAM) и предотвращения препятствий, обработки камеры и данных LiDAR на борту для принятия решений о навигации в доли секунды.
Дополненная и виртуальная реальность
Гарнитуры AR/VR требуют чрезвычайно низкой задержки — ниже 20 миллисекунд — для предотвращения укачивания. Вычислительная подсистема должна визуализировать графику, отслеживать движения головы и запускать алгоритмы отслеживания внутри-вне. Процессоры Superscalar, часто в паре с пользовательскими блоками GPU, обрабатывают сложную рабочую нагрузку. Платформа Qualcomm Snapdragon XR2, используемая во многих высокопроизводительных гарнитурах, включает в себя процессор Kryo на основе ядер ARM Cortex-A77 с агрессивным исполнением суперскалярных, обеспечивающий плавный, высокочастотный опыт при сохранении тепловых ограничений.
Проблемы в реализации суперскалара на краю
В то время как суперскалярные методы предлагают явные преимущества, их внедрение в периферийные устройства не без препятствий. Дизайнеры должны тщательно балансировать производительность, мощность, площадь и стоимость.
Силовые и тепловые ограничения
Даже при повышенной эффективности суперскалярные ядра потребляют больше энергии за тактовый цикл, чем скалярные ядра из-за дополнительного оборудования для множественной проблемы, логики вне порядка и переименования регистра. В устройствах с пассивным охлаждением или небольшими батареями дополнительная мощность может быть значительным бременем. Для решения этой проблемы производители чипов реализуют мелкозернистое энергозащитное забивание, где выключены неиспользуемые исполнительные блоки, и динамическое забивание часов для снижения активности переключения. В некоторых маломощных крайних MCU более простой трубопровод с двойным выпуском в порядке предпочтительнее, чем полная внепорядковая конструкция, чтобы контролировать мощность.
Силиконовая область и стоимость
Суперскалярная логика является областью-интенсивным. Аппаратное обеспечение для переименования регистра, буферов переупорядочения, станций резервирования и нескольких исполнительных блоков может удвоить или утроить область ядра по сравнению со скалярной конструкцией. Для чувствительных к затратам периферийных устройств это может быть барьером. Однако по мере продвижения производства полупроводников (например, 7 нм, 5 нм узлы) штраф за площадь уменьшается, позволяя включать больше суперскалярных функций по приемлемой цене. Кроме того, многие граничные SoC (системы на чипе) объединяют несколько высокопроизводительных суперскалярных ядер со многими меньшими, маломощными скалярными ядрами (гетерогенная архитектура) для получения лучшего из обоих миров.
Оптимизация программного обеспечения
Чтобы полностью использовать выполнение суперскалярных вычислений, компиляторы должны быть искусны в планировании инструкций и развертывании циклов. В периферийных средах, где код может быть вручную настроен для конкретных микроархитектур, разработчикам необходимо понять, как писать код, который раскрывает ILP. Кроме того, операционные системы реального времени (RTOS) должны знать о поведении кэша и ларьках трубопроводов для соблюдения сроков. К счастью, современные компиляторы, такие как LLVM / Clang и GCC, имеют сложные пассы оптимизации для суперскалярных целей, и многие поставщики RTOS предлагают рекомендации для максимизации производительности.
Инновации, которые будут управлять следующим поколением процессоров Superscalar Edge
Эволюция суперскалярных методов продолжается, с несколькими новыми тенденциями, которые будут способствовать дальнейшему улучшению периферийных вычислительных устройств.
Адаптивное исполнение Superscalar
Будущие процессоры могут динамически регулировать свою суперскалярную ширину на основе характеристик рабочей нагрузки и состояния мощности. Например, во время критической задачи с задержкой процессор может обеспечить более широкую ширину проблемы; в холостые периоды он может сжиматься до однорядного скалярного режима для экономии энергии. Такие адаптивные конструкции полагаются на классификаторы машинного обучения, которые предсказывают оптимальную конфигурацию в режиме реального времени. Исследования таких учреждений, как Мичиганский университет, продемонстрировали экономию энергии до 40% с адаптивными суперскалярными схемами.
Интеграция с ускорителями AI
Суперскалярные ЦПУ все чаще соединяются с выделенными нейронными процессорами (НПУ) или векторными процессорами. ЦПУ обрабатывает поток управления и данные пред/пост-обработки, в то время как ускоритель обрабатывает вычислительно интенсивные матричные операции. Этот гетерогенный подход позволяет оптимизировать каждую часть для своей задачи — суперскалярный ЦП для нерегулярного управляющего кода и NPU для регулярных параллельных вычислений. В таких системах способность суперскалярного ЦПУ быстро отправлять работу на ускорители с помощью эффективных потоков инструкций является ключевым фактором повышения производительности.
RISC-V Суперскалярные расширения
Архитектура набора команд RISC-V с открытым исходным кодом (ISA) набирает обороты в краевых вычислениях. Реализации RISC-V, такие как реализации SiFive и Esperanto Technologies, включают суперскалярные ядра с пользовательскими расширениями. Стандартный ISA RISC-V уже поддерживает необходимые строительные блоки, и сообщество активно разрабатывает стандартизированные способы описания нескольких проблемных и нестандартных функций. Эта открытость позволяет поставщикам краевых устройств адаптировать суперскалярные реализации к их точным целям мощности и производительности, ускоряя инновации.
Для более глубокого погружения в потенциал RISC-V см. веб-сайт RISC-V International .
Расширенное прогнозирование ветвей для рабочих нагрузок в реальном времени
Традиционные ветвящиеся предикторы оптимизируют среднюю производительность, но краевые устройства часто имеют жесткие ограничения в реальном времени. Новые методы прогнозирования, такие как предикторы на основе перцептрона и взвешенные оценки уверенности, могут значительно уменьшить количество ошибочных прогнозов. В сочетании с точными механизмами восстановления эти передовые предикторы позволяют системам реального времени извлекать выгоду из сверхскалярного исполнения без непредсказуемых штрафов за время. Arm Cortex-X4 и другие недавние ядра включают такие улучшения, что приводит к более низким показателям неверного прогнозирования ветвей и более последовательной производительности.
Будущие направления и перспективы
По мере того, как периферийные вычисления продолжат свое быстрое расширение, суперскалярные процессоры останутся в центре вычислительной иерархии. Стремление к более интеллектуальным автономным устройствам, которые работают при строгом бюджете мощности и задержки, будет стимулировать дальнейшее совершенствование суперскалярных методов. Мы можем ожидать увидеть:
- Ширина выпуска в высокопроизводительных периферийных устройствах, возможно, до 6-ти выпусков, но с агрессивным управлением мощностью, чтобы держать TDP в пределах.
- Ближе интеграция с иерархиями памяти — использование кэш-дизайнов последнего уровня и алгоритмов префектинга, которые используют суперскалярный параллелизм, чтобы скрыть задержку памяти.
- Самооптимизирующиеся процессоры , которые используют машинное обучение на чипе для настройки политик извлечения и отправки в режиме реального времени, максимизируя производительность на ватт.
- Функции безопасности, встроенные в сверхскалярный трубопровод, такие как спекуляция, затвердевающая против атак боковых каналов, таких как Spectre и Meltdown, которые особенно важны в периферийных устройствах, которые могут быть физически доступными.
Границы между краем и облаком также размыты. Некоторые периферийные серверы теперь оснащены суперскалярными процессорами, которые конкурируют с их аналогами в центрах обработки данных, что позволяет локально обрабатывать массивные потоки данных IoT. На другом конце спектра микроконтроллеры с ультранизким энергопотреблением используют ограниченные суперскалярные функции, такие как трубопроводы с двумя выпусками, для повышения эффективности без ущерба для низкой стоимости.
Заключение
Методы Superscalar превратились из нишевой функции дорогостоящих настольных процессоров в критический активатор высокопроизводительных периферийных вычислений. Разрешая несколько инструкций для выполнения каждого тактового цикла, эти архитектуры обеспечивают вычислительную мощность, необходимую для аналитики в реальном времени, вывода ИИ и автономного принятия решений — все в пределах плотной мощности и тепловых оболочек краевых устройств. От автономных транспортных средств до промышленных IoT и AR / VR гарнитур, суперскалярные процессоры стимулируют инновации по всему краевому ландшафту.
По мере развития полупроводниковых технологий и появления новых микроархитектурных оптимизаторов будущее периферийных вычислений выглядит ярче, чем когда-либо. Дизайнеры, которые понимают, как использовать параллелизм на уровне инструкций при управлении энергией и стоимостью, будут хорошо позиционированы для создания следующего поколения интеллектуальных устройств. Для дальнейшего чтения о влиянии дизайна процессора в периферийных средах глоссарий на суперскаляр Арм Глоссарий на суперскаляр обеспечивает краткий технический обзор.