Содержание
TinyGPU v2.0, один из самых маленьких GPU на кремнии, прошёл реальные тесты: чип с 240 000 транзисторов выводит простую 3D-графику с частотой до 15 FPS. Разработчик проекта Понгсагон Вичит уже готовит TinyGPU v3.0 с программируемым пиксельным шейдером.
Это не видеокарта для игр и не конкурент интегрированной графики. Масштаб тут другой: любительский ASIC-проект, который показывает базовый 3D-рендеринг на крошечном участке кремния. Но для тех, кто помнит GeForce 3 и первые разговоры про шейдеры, история получилась вкусная.
TinyGPU v2.0 получил рабочий ASIC через Tiny Tapeout
Понгсагон Вичит получил готовый кремний TinyGPU v2.0 после производства через сообщество Tiny Tapeout SKY 25b. Разработчик написал: «ASIC TinyGPU v2.0 is alive and working!!!» — и в этом случае радость легко понять.
Tiny Tapeout помогает энтузиастам выпускать небольшие ASIC-проекты в общих производственных партиях. Для одиночного разработчика это шанс проверить не только симуляцию или FPGA, а настоящий кремний.
В демонстрации Вичит показал две сцены. Первая — низкополигональная 3D-модель, которой управляют с геймпада в реальном времени. Вторая выглядит бодрее: цветной глобус Земли приближается, вращается и показывает текстурирование.
Фреймрейт остался скромным. Ранее TinyGPU v2.0 гоняли через Basys3 FPGA host, и демо выдавало от 7,5 до 15 FPS. Вичит заранее говорил, что ASIC не станет быстрее FPGA-версии, и визуально это подтвердилось.
Характеристики TinyGPU v2.0 по данным проекта
По данным репозитория TinyGPU v2.0 на GitHub, чип умеет базовый конвейер 3D-графики: трансформацию, освещение и растеризацию. Лимит сцены — до 1000 треугольников на экране.
- Транзисторы: около 240 000
- Геометрия: до 1000 треугольников на экране
- Освещение: один динамический направленный источник света
- Шейдинг: flat shading
- Оптимизация: backface culling
- Текстуры: affine texture mapping
- Буфер кадра: 4-битный double buffer
- Глубина: 8-битный depth buffer в QSPI RAM
Если сравнивать с современными GPU, цифры выглядят игрушечными. Но это сравнение нечестное. TinyGPU v2.0 ближе к учебному стенду, где весь графический пайплайн можно буквально проследить по транзисторам.
Условная RTX живёт в мире миллиардов транзисторов, сложных драйверов и гигабайтов памяти. TinyGPU v2.0 показывает другой край шкалы: минимальный набор блоков, который уже рисует 3D-сцену, а не просто мигает пикселями.
TinyGPU v3.0 добавит программируемый пиксельный шейдер
TinyGPU v3.0 уже отправили в следующий запуск Tiny Tapeout ещё до того, как Вичит получил и проверил v2.0. Сам разработчик пошутил: «Мы все знаем, что рынок GPU жестокий — новые модели надо выпускать быстро».
Главное изменение v3.0 — программируемый пиксельный шейдер. По описанию Вичита, дизайн вдохновлён DirectX 8 Pixel Shader 1.1. Для миниатюрного GPU это серьёзный шаг от фиксированного пайплайна к более гибкой графике.
- Архитектура: лёгкий дизайн в духе DirectX 8 PS 1.1
- Параллелизм: SIMD, 4 пикселя за такт
- Шейдер: до 31 инструкции
- Набор команд: 26 операций
- Ветвления: masked execution
- Регистры: 4 временных регистра по 8 бит
Вичит также добавляет параллельный доступ к Z-buffer, отсечение near/far plane и guard band clipping. Он ожидает заметный прирост качества картинки без серьёзного удара по скорости.
Одна из ранних демонстраций TinyGPU v3 использовала хамелеона. Это прямой поклон Nvidia GeForce 3, которая вышла в феврале 2001 года и принесла программируемые шейдеры в потребительские видеокарты.
Готовый ASIC TinyGPU v3.0 разработчик ждёт в декабре 2026 года или январе 2027 года. За проектом можно следить через страницу Понгсагона Вичита, где он публикует демо и технические детали TinyGPU.