Разъяснение пользовательских расширений в дизайне SoC на RISC-V
Разговор о конфигурации базового процессора или добавлении пользовательских расширений для разрешения компромиссов аппаратное-программное в системе-на-кристалле (SoC) давно был краеугольным камнем ценностного предложения сообщества RISC-V. Недавние статьи — такие как Руководство по ускорению приложений с правильными пользовательскими инструкциями RISC-V — подчеркивают осязаемые выгоды расширения открытого ISA.
Сегодняшние AI и ML SoC ограничены мощностью, производительностью и площадью кристалла, делая расширения ISA часто упускаемым, но мощным рычагом для удовлетворения этих требований.
Недавний вебинар Quantum Leap Solutions, بعنوان Гибкость RISC-V — Сила пользовательских расширений, направлен на разъяснение того, как ISA RISC-V может быть адаптирован для современного SoC-дизайна. Сессия привлекла более 100 участников и включала панель экспертов отрасли.
Обсуждение фокусировалось на том, как модифицированный ISA может ускорить возникающие приложения и как дизайнеры оценивают расширения для архитектуры RISC-V.
Модерированный Майком Ингстером, основателем и президентом Quantum Leap Solutions, панелистами были:
- Джон Мин, директор FAE в Andes Technology
- Ларри Лапидес, вице-президент продаж в Imperas Software
- Тэк Нам, старший инженер приложений в Mentor
Майк Ингстер: Почему RISC-V — лучший вариант для AI и ML приложений, чем другие CPU-архитектуры?
Джон Мин: RISC-V был зачат, когда AI становился мейнстримом, и его векторный набор инструкций был спроектирован с учетом AI и VR нагрузок.
Ларри Лапидес: В AI системе с мультиплексным массивом гетерогенных процессоров — архитектуре, которую мы видели реализованной многократно — дизайнер может комбинировать скалярные и векторные ядра. RISC-V позволяет убрать ненужные функции, сохраняя векторные инструкции, доставляя превосходное соотношение цена-производительность-площадь (PPA).
Ингстер: Могут ли RISC-V ядра с векторными расширениями также быть расширены пользовательскими инструкциями?
Мин: Да. Типичный пример — векторное ядро, включающее пользовательские расширения для добавления дополнительных буферов, предотвращающих застой из-за голодания данными.
Лапидес: И Imperas, и Andes имеют клиентов, реализовавших такие пользовательские функции для повышения производительности.
Ингстер: В мультипроцессорном массиве, все ли CPU нуждаются в одной конфигурации, или могут иметь разные пользовательские инструкции?
Лапидес: Гетерогенные процессоры распространены. Пользовательские инструкции могут варьироваться по ядрам, и даже базовый набор инструкций может отличаться — одно ядро может поддерживать векторные инструкции, в то время как другое остается скалярным, позволяя чередующееся выполнение.
Мин: В мультиплексном массиве, и CPU, и симуляторы могут быть гетерогенными, обеспечивая эффективную многоядерную симуляцию.
Ингстер: Видите ли вы серверный-класс RISC-V процессор на рынке?
Мин: Траектория ясна: более высокая частота, более широкие конвейеры, out-of-order выполнение и массово-параллельные многоядерные. Эти элементы уже появляются в следующих поколениях RISC-V ядер для AI корпоративных нагрузок.
Лапидес: Исторически RISC-V начинал с 32- и 64-битных proof-of-concept SoC. Около двух лет назад мы видели всплеск security-focused и IoT SoC. Сегодня мы свидетельствуем application-class процессоры — 64-битные RISC-V ядра, запускающие реальные RTOS и ранние out-of-order конвейеры. Первые серверные чипы ожидаются в ближайшие два-три года.
Ингстер: Могут ли пользовательские расширения обеспечивать безопасность устройства и управление жизненным циклом?
Мин: Абсолютно. Пользовательская инструкция может выполнять проверки во время выполнения для принуждения совместимости ПО, или выделенный порт памяти может изолировать критические данные, повышая безопасность и контроль жизненного цикла.
Тэк Нам: Дизайнеры также могут использовать встроенную аналитическую IP Tessent для встраивания безопасности и управления жизненным циклом прямо в SoC с пользовательскими расширениями.
Ингстер: Почему подход RISC-V к пользовательским инструкциям отличается от других вендоров, таких как ARC или Tensilica?
Мин: Формальный механизм расширения RISC-V позволяет пользовательским инструкциям быть формально включенными в стандарт, предоставляя четкий путь к более широкому принятию.
Ингстер: Как разработчик может поделиться пользовательскими инструкциями с клиентами или партнерами?
Мин: Существует три варианта: держать их проприетарными, подать в RISC-V International для включения (например, DSP-расширения Andes, ставшие P-расширениями), или разделить интринсики и заголовочные файлы, защищая реализацию под NDA.
Лапидес: Модель пользовательского расширения может быть предложена как открытый исходный код или бинарник, или как инструкционно-точная модель процессора, облегчая раннюю предкристаллическую разработку ПО.
Ингстер: Приведут ли пользовательские расширения к проблемам совместимости в сообществе RISC-V?
Мин: Проприетарные расширения остаются изолированными; если расширение получает широкое использование, его можно предложить для включения в базовый ISA, предотвращая фрагментацию.
Ингстер: Поддерживается ли векторный процессор компилятором в текущей версии?
Мин: RISC-V Vector Extensions 0.8 стабильны и поддерживаются GCC и LLVM. Финальная поддержка компилятора последует после официальной финализации спецификации.
Ингстер: Как пользовательские расширения поддерживаются в программной цепочке инструментов?
Лапидес: Дизайнеры встраивают расширения в свои RISC-V модели, генерируя симуляторы наборов инструкций для разработки ПО. GCC и LLVM могут быть расширены для поддержки новых инструкций, и дизайнеры могут предоставлять макро-реализации.
Ингстер: Как компилятор делается осведомленным о новосозданной пользовательской инструкции?
Лапидес: Программная команда должна реализовать инструкцию в бэкенде компилятора.
Мин: Альтернативно, относитесь к инструкции как к библиотеке: предоставьте заголовочный файл и опциональную проприетарную реализацию, минимизируя усилия разработки, в то время как все еще получая производительность.
Ингстер: Какие ОС поддерживаются на RISC-V, и есть ли поддержка Android?
Лапидес: Linux, Zephyr RTOS и другие реально-временные операционные системы — основные цели. Android не был официально верифицирован на RISC-V, но усилия по портированию идут. Сайт RISC-V International перечисляет все поддерживаемые ОС.
Ингстер: Как верифицируются пользовательские расширения?
Лапидес: Верификация включает добавление расширений в RTL и модель процессора. Симуляторы наборов инструкций позволяют раннюю программную валидацию.
Тэк: Недавний клиент использовал нашу встроенную аналитическую IP для трассировки и квантификации приростов производительности от пользовательских инструкций, подтверждая выгоды через данные-ориентированную валидацию.
Ингстер: Какая площадь требуется для добавления встроенной аналитической IP?
Тэк: Обычно около 1% кристалла, в зависимости от конфигурации. Каждый дизайн оценивается для оптимизации площади при доставке максимальной ценности.
Эти моменты извлечены из полной панельной дискуссии, организованной Quantum Leap Solutions.
Встроенный
- Понимание «достига» магнита: насколько далеко распространяется магнитное поле
- Как компьютерно-ассистированное проектирование (CAD) питает современную 3D-печать
- Мастерство продуктового дизайна: проверенные стратегии преодоления частых вызовов
- Оптимизация заземленных копланарных волноводов для улучшения Wi‑Fi производительности
- Bluetooth 5.1 SoC: Ультракомпактное, низкозатратное решение для IoT-устройств
- Altium 365: первая облачная платформа для проектирования ПП, ускоряющая коллаборацию и time‑to‑market
- Почему прототипирование печатных плат необходимо для быстрого и экономичного производства
- Обновленное руководство: Проектирование нестандартных корпусов для материнских плат ATX, Mini-ITX и Micro-ATX
- Индивидуальное производство: формирование экономики завтрашнего дня
- Как рабочие инструкции повышают эффективность и соответствие в вашей компании