Раскрытие тайны пользовательских расширений в дизайне SoC RISC-V
Разговоры о настройке базового процессора или добавлении пользовательских расширений для решения компромиссов при проектировании аппаратного и программного обеспечения в системе на кристалле (SoC) не новы. Это было ключевой частью ценностного предложения, поддерживаемого сообществом RISC-V, и многие сведения о его преимуществах публикуются, например, « Руководство для ускорения приложений с помощью правильных пользовательских инструкций RISC-V . »
При разработке системы для многих продуктов сегодня потребление энергии, производительность и площадь кристалла ограничивают множество сложных требований SoC для искусственного (AI) и машинного обучения (ML).
Расширение архитектуры набора команд RISC-V с открытым исходным кодом (ISA) часто упускается из виду как эффективное средство устранения этих ограничений. На недавнем вебинаре под руководством Quantum Leap Solutions, компании, предоставляющей услуги по проектированию для полупроводниковой промышленности, была сделана попытка раскрыть тайну расширения RISC-V ISA для проектов SoC. Веб-семинар « Гибкость RISC-V - сила настраиваемых расширений» , »Ответил на вопросы более 100 участников.
Эксперты попытались дать представление о роли модифицированного ISA в разработке новых приложений и о том, как дизайнеры рассматривают расширения новой архитектуры набора команд RISC-V.
Под председательством Майка Ингстера, основателя и президента Quantum Leap Solutions, участниками дискуссии были:
- Джон Мин, директор FAE компании Andes Technology
- Ларри Лапидес, вице-президент по продажам Imperas Software.
- Таэк Нам, старший инженер по приложениям в Mentor
Майк Ингстер: Почему RISC-V является лучшим вариантом для обучающих приложений AI и ML, чем другие архитектуры ЦП?
Джон Мин :Время, когда был изобретен RISC-V, совпало с распространением ИИ. Набор векторных команд RISC-V был разработан с учетом типов приложений AI и VR.
Ларри Лапидес :Я бы добавил, что в приложении ИИ с мультиплексным массивом разнородных процессоров - архитектура, которую мы видели реализованной не раз, - разработчик может комбинировать скалярные и векторные процессоры в массиве. Во-вторых, архитектура RISC-V позволяет разработчику удалить ненужные функции, сохранив векторные инструкции. Это обеспечивает лучшую цену, производительность и площадь - PPA.
Ингстер :Можно ли расширить ядра RISC-V с векторными расширениями с помощью пользовательских инструкций?
Мин :Да. Одним из примеров является векторное ядро RISC-V с эталонной реализацией, в которой используются расширения клиентов для добавления дополнительных буферов. Это предотвращает остановку векторного блока из-за отсутствия данных.
Лапидес :У Imperas и Andes есть совместные клиенты, которые реализовали специальные функции, помогающие в этой области.
Ингстер :Все ли процессоры в многопроцессорном массиве должны иметь одинаковую конфигурацию? Или у них могут быть разные индивидуальные инструкции?
Лапидес :Да, разнородные процессоры в конструкции SoC - обычное дело. Более того, не только пользовательские инструкции могут отличаться от одного процессора к другому. Базовые инструкции каждого процессора также могут отличаться. Например, один процессор может иметь векторные инструкции, а другой - скалярные инструкции. Их можно чередовать и комбинировать.
Мин :В мультиплексированном массиве и ЦП, и имитаторы могут быть неоднородными, чтобы обеспечить многоядерное моделирование.
Ингстер :Видите ли вы на рынке процессор RISC-V серверного класса?
Мин :Оно приближается. Дизайн ЦП со временем становится быстрее по-разному. Один из них - повышение частоты. Другой - за счет расширения конвейера ЦП. Другой - это проектирование процессора для выполнения инструкций в неупорядоченном порядке. Кроме того, будет расширена ширина исполнения, чтобы обеспечить более суперскалярную организацию или - что становится обычным сегодня - конструкции, использующие тысячи многоядерных процессоров. Это только вопрос времени, когда мы увидим, что эти элементы будут включены в процессоры RISC-V следующего поколения для корпоративных приложений ИИ.
Лапидес :Если мы посмотрим на прошлую историю RISC-V, мы увидим, что изначально были доказательства концепции SoC, которые были 32- и 64-битными, но около двух лет назад мы начали видеть SoC, ориентированные на безопасность, и IoT:32-битные SoC конкурентоспособны. с микроконтроллерами. Теперь мы начинаем видеть первые процессоры прикладного класса. Это не серверный класс, но мы видим начальные кристаллы на 64-битных процессорах RISC-V, на которых работает настоящая ОСРВ, ориентированная на высокопроизводительные приложения. Мы начинаем видеть, как строятся несколько вышедших из строя трубопроводов. Я ожидаю появления первых процессоров RISC-V серверного класса в ближайшие два-три года.
Ингстер :Могут ли пользовательские расширения обеспечить безопасность устройства и управление жизненным циклом?
Мин :Да, в зависимости от реализации. Например, разрешив расширению инструкции выполнять проверку. Программа проверяет наличие настраиваемого расширения. Если его нет, запуск программного обеспечения запрещен. Другой вариант - реализовать собственный порт в память. Таким образом, ЦП RISC-V будет иметь частную шину для связи с памятью, а не использовать основную шину.
Таэк Нам :Разработчики могут использовать IP-адрес встроенной аналитики Tessent для обеспечения безопасности и управления жизненным циклом в SoC с настраиваемыми расширениями.
Ингстер :Почему подход RISC-V к пользовательским инструкциям отличается от других, таких как ARC и Tensilica?
Мин :ЦП используют специальные расширения для ускорения конкретной задачи. Отличие RISC-V заключается в том, что он предлагает формальный механизм для включения пользовательского расширения в стандарт.
Ингстер :Как разработчик может поделиться индивидуальными инструкциями с клиентами или партнерами?
Мин :Есть три варианта. Во-первых, держите это в секрете. Во-вторых, предложить дополнение к RISC-V International для включения в стандарт. Например, Андес подарил RISC-V International набор инструкций DSP. Теперь это P-расширения стандарта RISC-V. В-третьих, если вы поделитесь использованием инструкции с другими, вы поделитесь встроенными функциями и файлом заголовка. Если вы планируете поделиться реализацией специальной инструкции, вам может потребоваться трехстороннее соглашение о неразглашении.
Лапидес :Разработчик настраиваемого расширения может передать модель своим клиентам или партнерам в виде модели с открытым исходным кодом или двоичной модели, модели процессора с точным указанием или инструкций, которую можно использовать для ранней разработки программного обеспечения до кристаллизации.
Ингстер :Приведут ли пользовательские расширения к проблемам совместимости в сообществе RISC-V?
Мин :Это будет зависеть от того, как используются пользовательские инструкции. Если пользовательская инструкция остается закрытой, она по определению не вызовет фрагментации, поскольку ее использует только разработчик. Если пользовательская инструкция станет настолько успешной, что ее будут использовать многие другие, возможно, пора включить ее в базовый набор RISC-V. Создатель принимает решение сделать его общедоступным или оставить в собственности. В любом случае фрагментации не произойдет.
Ингстер :Поддерживается ли векторный процессор компилятором в его текущей версии?
Мин :Векторные расширения RISC-V версии 0.8 достаточно стабильны, чтобы компиляторы их поддерживали. И GCC, и LLVM поддерживают существующую версию спецификации 0.8. Окончательные версии компиляторов будут доступны, когда будет завершена спецификация RISC-V Vector Extension.
Ингстер :Как пользовательские расширения поддерживаются в цепочке программных инструментов?
Лапидес :Разработчики добавляют пользовательские расширения в свою модель RISC-V, тем самым предоставляя имитатор набора команд, который можно использовать для разработки программного обеспечения. Что касается цепочки инструментов, в GCC и LLVM можно добавить поддержку новых пользовательских расширений. Оба являются цепочками инструментов с открытым исходным кодом и могут быть изменены по усмотрению заказчика. Разработчики также могут собрать реализацию макроса для поддержки пользовательской инструкции.
Ингстер :Как компилятор узнает о вновь созданной пользовательской инструкции?
Лапидес :Команда разработчиков программного обеспечения должна реализовать инструкцию в компиляторе.
Мин :Альтернатива без тяжелой работы по добавлению, особенно если намерение состоит в том, чтобы сохранить частную принадлежность инструкции, состоит в том, чтобы рассматривать пользовательскую инструкцию как библиотеку - например, библиотеки DSP. Затем, когда для выполнения программы потребуется специальная инструкция, вызовите библиотеку с файлом заголовка. Таким образом, при минимальных затратах времени команда разработчиков добивается большей части выгоды, ожидаемой от создания настраиваемой функции.
Ингстер :Какие ОС поддерживаются RISC-V и есть ли поддержка Android?
Лапидес :Я не видел поддержки Android, но есть некоторые носимые устройства, разработанные с RISC-V. ОСРВ без Linux, ОСРВ Zephyr поддерживаются в первую очередь. Поддерживаются и другие операционные системы реального времени. На веб-странице программного обеспечения RISC-V International есть полный список.
Мин :ОС Android не проверена на процессорах RISC-V. Я считаю, что это скорее упражнение по переносу, чем вопрос о том, можно ли его запустить. Ядра RISC-V в настоящее время работают под управлением Linux.
Ингстер :Как проверяются пользовательские расширения?
Лапидес :Пользовательские расширения добавляются в RTL проекта, но они также должны быть добавлены в модель процессора. Пользовательские инструкции, а также пользовательские регистры могут быть проверены с помощью этой возможности. Как правило, добавление расширений к модели процессора, работающей на имитаторе набора команд, позволяет разрабатывать программное обеспечение.
Таэк: Недавно у нас был заказчик, который реализовал пользовательские инструкции в своей SoC. Используя наш IP-адрес для встроенной аналитики, их цель заключалась в том, чтобы убедиться, что их программное обеспечение улучшается в результате добавления пользовательских расширений. Это было достигнуто с помощью трассировки для отслеживания данных и выполнения инструкций. Это эффективное средство проверки повышения производительности.
Ингстер :Какая площадь требуется для добавления IP-адреса встроенной аналитики?
Таэк: Стандартного ответа нет, но 1 процент - это типичная цифра для области, посвященной встроенной аналитике IP. Эта оценка включает аналитические модели, коммуникатор и структуру сообщений, соединяющую эти элементы. Поскольку блоки имеют несколько вариантов, возможны разные конфигурации. Дизайн каждого клиента оценивается, и IP-адрес встроенной аналитики настраивается для внедрения в его дизайн. Таким образом оценивается общая площадь. Мы определяем решение, которое может минимизировать воздействие на площадь, чтобы обеспечить наилучшую ценность для данной конструкции.
Это основные моменты панели, полная версия которой размещена на Решения квантового скачка .
Встроенный
- Что такое «досягаемость» магнита?
- Роль компьютерного дизайна (САПР) в 3D-печати
- Проблемы дизайна продукта
- Оптимизация RF-фидера при проектировании печатной платы
- Bluetooth 5.1 SoC разработан, чтобы уменьшить размер конструкции и уменьшить стоимость
- Пакет проектирования печатной платы переносится в облако
- Преимущества прототипирования печатных плат
- Мы обновили ресурс «Как создавать нестандартные корпуса для материнских плат».
- Почему производство на заказ – это будущее
- Роль рабочих инструкций в компании