Визуальный симулятор архитектуры компьютера RISC-V и редактор ассемблерного кода для изучения выполнения инструкций процессором.
cvut/qtrvsim
Графический симулятор процессора RISC-V на Qt для изучения архитектуры компьютеров; версия WebAssembly работает в браузере.
- Звёзды
- 651
- Форки
- 97
- Открытые issues
- 25
- Последний коммит
- 10 дней назад
Что это?
QtRvSim — графический симулятор процессора RISC-V для курсов по архитектуре компьютеров. Он загружает статически скомпонованные 32- или 64-разрядные ELF-файлы для little-endian и запускает их, определяя XLEN по заголовку ELF. В программу встроен простой ассемблер; для сборки редактируемой программы она также может вызывать внешнюю утилиту make.
Симулятор моделирует набор периферийных устройств с отображением в память: последовательный порт UART, панель со светодиодом и регулятором, буфер кадра LCD в формате RGB565, а также таймер ACLINT и устройство программных прерываний. Кроме того, он реализует часть CSR и обработку прерываний, а также небольшой набор системных вызовов Linux — например, read, write, openat и exit — для запуска простых программ.
Проект разрабатывает группа по обучению архитектуре компьютеров Чешского технического университета. Версию WebAssembly можно попробовать онлайн без установки, однако она помечена как экспериментальная. Доступны бинарные пакеты для нескольких дистрибутивов Linux; проект собирается с Qt 5 или Qt 6 с помощью CMake.
Ключевые возможности
- 01Запускает статически скомпонованные ELF-программы для RISC-V в 32- и 64-разрядном режимах.
- 02Включает простой встроенный ассемблер, поддерживающий часть директив GNU assembler.
- 03Эмулирует UART, панель со светодиодом и регулятором, буфер кадра LCD и периферию таймера ACLINT.
- 04Реализует распространённые CSR и обработку прерываний в режиме machine.
- 05Предоставляет набор системных вызовов Linux для запуска простых программ.
- 06Работает в браузере благодаря сборке WebAssembly.
Сценарии использования
- Преподавание архитектуры компьютеров студентам бакалавриата и магистратуры с помощью наглядной модели процессора.
- Демонстрация взаимодействия последовательного ввода-вывода, прерываний и таймеров с программой для RISC-V.
- Тестирование небольших программ на ассемблере или C для RISC-V, скомпилированных GCC или Clang, до запуска на аппаратуре.
Быстрый старт
- 1
Клонируйте репозиторий вместе с его подмодулями
git clone --recurse-submodules https://github.com/cvut/qtrvsim.git - 2
В Linux выполните make в корневом каталоге проекта, чтобы собрать его с помощью обёрточного Makefile
make - 3
Или попробуйте экспериментальную версию WebAssembly в браузере без установки
Что важно знать
- Распространяется по лицензии GPL-3.0 — лицензии с авторским левом, которая требует публиковать производные работы с открытым исходным кодом на тех же условиях.
- Сжатые инструкции RISC-V пока не поддерживаются.
- Версия WebAssembly является экспериментальной.
Темы
Частые вопросы
- Что такое qtrvsim?
- Графический симулятор процессора RISC-V на Qt для изучения архитектуры компьютеров; версия WebAssembly работает в браузере. QtRvSim — графический симулятор процессора RISC-V для курсов по архитектуре компьютеров. Он загружает статически скомпонованные 32- или 64-разрядные ELF-файлы для little-endian и запускает их, определяя XLEN по заголовку ELF. В программу встроен простой ассемблер; для сборки редактируемой программы она также может вызывать внешнюю утилиту make.
- qtrvsim можно использовать бесплатно? Какая у него лицензия?
- qtrvsim распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- qtrvsim всё ещё поддерживается?
- Активно поддерживается. Последний коммит в qtrvsim — 29 окт. 2026 г..
- Для чего можно использовать qtrvsim?
- Преподавание архитектуры компьютеров студентам бакалавриата и магистратуры с помощью наглядной модели процессора. Демонстрация взаимодействия последовательного ввода-вывода, прерываний и таймеров с программой для RISC-V. Тестирование небольших программ на ассемблере или C для RISC-V, скомпилированных GCC или Clang, до запуска на аппаратуре.
- Как установить qtrvsim?
- Клонируйте репозиторий вместе с его подмодулями: git clone --recurse-submodules https://github.com/cvut/qtrvsim.git В Linux выполните make в корневом каталоге проекта, чтобы собрать его с помощью обёрточного Makefile: make Или попробуйте экспериментальную версию WebAssembly в браузере без установки
- Где скачать qtrvsim?
- Исходный код и инструкции по установке — на GitHub: https://github.com/cvut/qtrvsim
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Эмулятор ESP32 с открытым исходным кодом на Rust: запускает настоящую прошивку на компьютере или в браузере, без платы.
Лёгкий фреймворк для эмуляции CPU на базе QEMU, который выполняет машинный код для разных архитектур через единый API, не зависящий от архитектуры.
Эмулятор x86-ПК, работающий в браузере: он преобразует машинный код в WebAssembly на лету и загружает настоящие операционные системы.
Рабочий стол в стиле Windows, который целиком работает в браузере и включает проводник, окна, терминал, приложения и игры.
Система для создания, распространения и автоматической и ручной проверки заданий в Jupyter Notebook.