Публичные новости

«Крошечный» графический процессор из 200 000 транзисторов TinyGPU v2.0 готовят к выпуску в кремнии

Любитель FPGA и ретро?ПК Понгсагон Вичит (Pongsagon Vichit) представил TinyGPU v2.0 — автономный графический процессор, способный выполнять полный цикл базового 3D-рендеринга: от преобразований и освещения до растеризации. Проект отправлен на производство через инициативу Tiny Tapeout и должен быть реализован в виде чипа примерно из 200 000 транзисторов в максимальной конфигурации 4×4 тайла. Для сравнения: флагманский Nvidia GeForce RTX 5090 содержит 92,2 млрд транзисторов, но TinyGPU изначально задуман как минималистичный, а не производительный ускоритель.

Вичит (известен под ником @MattDIYgraphics) демонстрирует работу TinyGPU v2.0 на FPGA-плате Basys3: прошитый в чипе дизайн загружает 3D?модели из встроенной памяти и позволяет вращать их в реальном времени с помощью геймпада Super Nintendo. Тем же контроллером можно менять положение источника света. Такая демонстрация подчёркивает ключевую идею проекта — реализовать «настоящий» 3D?конвейер в предельно ограниченном транзисторном бюджете.

Технически TinyGPU v2.0 работает на частоте 25 МГц и выдаёт частоту кадров около 7,5–15 fps. Рендеринг выполняется в разрешении до 320×240 пикселей и с 4-битным цветом, то есть до 16 одновременных оттенков на экране. Автор отдельно отмечает, что версия в кремнии на базе Tiny Tapeout не будет работать быстрее демонстрации на Basys3, поэтому ждать от неё «игрового» уровня производительности не стоит.

Источник: Pongsagon Vichit / X

Несмотря на параметры, напоминающие домашние компьютеры начала 1980-х, внутри реализованы функции, характерные для более поздних поколений графики. TinyGPU v2.0 выполняет интерактивное преобразование 3D?векторов в растровое изображение и использует аппаратные блоки трансформации и освещения — подход, который широко вышел на потребительский рынок с появлением Nvidia GeForce 256 в октябре 1999 года. Под трансформацией здесь понимаются математические операции поворота, масштабирования и проекции 3D?модели на экран, а под освещением — вычисление яркости поверхностей с учётом источника света.

Среди заявленных возможностей TinyGPU v2.0: 4-битный двойной буфер кадра (два кадровых буфера для плавного вывода), 8-битный буфер глубины в QSPI RAM (памяти с последовательным интерфейсом, используемой для хранения информации о расстоянии до пикселей), поддержка до 1 000 треугольников на сцену, отсечение невидимых граней (backface culling), один динамический направленный источник света и плоское закрашивание, при котором цвет задаётся для целого треугольника.

Проект подан на следующий запуск Tiny Tapeout: максимальная конфигурация в 16 тайлов обойдётся автору примерно в $1500. Исходные код на Verilog и документация доступны в репозитории на GitHub, что делает TinyGPU v2.0 полностью открытой платформой для изучения и модификации. Вичит ранее участвовал в Tiny Tapeout 7 с проектом Tiniest GPU, поддерживавшим всего два полигона, но работавшим на 50 МГц с выводом 640×480 пикселей, 6-битным цветом и до 60 fps.

Значение TinyGPU v2.0 не в конкуренции с коммерческими GPU, а в демонстрации того, как полный аппаратный 3D-конвейер можно реализовать в крайне ограниченном транзисторном бюджете и открыть для детального изучения.

Original: iXBT.com: новости

Средний рейтинг 0

Комментарии:

Здесь нет комментариев.
Здесь пока нет ни одного комментария, вы можете стать первым!

16+ Сайт может содержать контент, не предназначенный для лиц младше 16 лет