Группа энтузиастов (при участии Pixilica) разрабатывает проект. РВ64Х, что стремится создать набор дополнительных инструкций по обработке 3D-графики и мультимедиа, которые можно использовать для интеграции функциональности GPU на процессорах RISC-V.
Проект позиционируется как бесплатный, Он не требует лицензионных отчислений и условий использования, что позволяет создавать полностью открытые графические процессоры на базе RV64X.
Pixilica сотрудничает с RV64X, чтобы предложить новый набор графических инструкций, предназначенных для обработки трехмерной графики и мультимедиа. Это может быть слитый ISA CPU-GPU.
Эти новые инструкции основаны на наборе команд базового вектора RISC-V. Они добавят поддержку новых типов данных, специфичных для графики, в виде многоуровневых расширений в духе ядра RISC-V ISA.
О RV64X
РВ64Х основан на векторных инструкциях RISC-V ISA, которые усилены поддержкой новых типов данных и расширений для диаграмм.
Например, предлагаются дополнительные операции для обработки пикселей (RGBA), точек (xyzw), элементов текстуры (UVW-Texels), векторов (операции с 2-4 элементами), параметров материалов, расчетов освещения, трансцендентной математики, буферов глубины (Z - буфер) и буфер кадра (Framebuffer).
Первый прототип Графический процессор на базе RV64X предназначен для использования в микроконтроллерах и будет ограничиваться поддержкой графического API Vulkan, хотя со временем обещают добавить поддержку OpenGL и DirectX.
Основная мотивация для разработки необходимость в гибкой архитектуре, позволяющей подключение расширений для эффективного решения конкретных задач, таких как двухфазное усечение конусов, использование быстрых преобразований Фурье для произвольной глубины цвета и реализация аппаратного обеспечения SLAM.
Например, RV64X позволяет реализовать собственные этапы вычислительного конвейера., геометрические, пиксельные и кадровые буферы, а также создание собственных тесселяторов.
Также упоминается, что с RV64X производители микросхем смогут подготовить необходимые им решения на основе существующей магистрали, уделяя особое внимание расширенным возможностям, не тратя время на обычные вещи.
RV64X развивается как гибридный процессор-графический процессор ISA, позволяя создавать специализированные графические микроконтроллеры и многоядерные процессоры, которые объединяют вычислительные ядра с блоками для выполнения графических операций.
Процессор, который объединяет ядро RISC-V с блоком графического процессора, выглядит как единый блок (без явного отображения графического процессора) и запрограммирован с использованием унифицированного 64-битного набора инструкций и модели SIMD для параллелизма уровня данных. Архитектура RV64X развивается в сторону компактной и эффективной реализации, которая может быть реализована на базе FPGA и ASIC.
Движение за открытый исходный код, которое изменило разработку программного обеспечения, набирает силу среди разработчиков оборудования. Первые усилия, сфокусированные на архитектуре RISC-V, идут впереди. Мы исследуем перспективы и недостатки разработки открытого оборудования в нашем следующем специальном проекте с открытым исходным кодом.
Среди особенностей архитектуры RV64X использование одной модели памяти обнаруживается на CPU и GPU, что устраняет дополнительные механизмы RPC / IPC для преобразования вызовов между памятью GPU и CPU при обработке операций 3D API.
Стандартные графические операции могут быть реализованы на уровне микрокода.. Поддерживается создание пользовательских шейдеров, растеризаторов и расширений трассировки лучей. Кроме того, векторные операции могут быть реализованы на уровне микрокода для решения задач моделирования, компьютерного зрения и машинного обучения.
Эталонная реализация RV64X включает 1 КБ кеш-памяти L32 для инструкций и данных, 8 КБ SRAM для микрокода, декодер команд, аппаратная реализация наборов команд RV32V и RV64X, определенный микрокодом декодер расширенных команд, векторный арифметико-логический блок (ALU), 136-битный регистровый файл с 1024 элементами, блок специальных функций (SFU), блок текстуры и настраиваемый локальный кадровый буфер.
Наконец, если вы хотите узнать об этом больше вы можете проверить подробности в исходном посте. Ссылка такая.