프로세서가 코드를 실행하는 방식을 학습할 수 있는 시각적 RISC-V 컴퓨터 구조 시뮬레이터이자 어셈블리 편집기입니다.
cvut/qtrvsim
컴퓨터 구조 교육을 위한 Qt 기반 RISC-V CPU 시뮬레이터로, 브라우저에서 실행되는 WebAssembly 빌드도 제공합니다.
- 스타
- 651
- 포크
- 97
- 열린 이슈
- 25
- 마지막 커밋
- 9일 전
어떤 프로젝트인가요?
QtRvSim은 컴퓨터 구조 강의를 위해 제작된 그래픽 RISC-V CPU 시뮬레이터입니다. 정적으로 링크된 32비트 또는 64비트 리틀엔디안 ELF 실행 파일을 불러와 실행하며, ELF 헤더를 바탕으로 XLEN을 선택합니다. 기본 통합 어셈블러가 포함되어 있고, 외부 make 유틸리티를 호출해 편집 중인 프로그램을 빌드할 수도 있습니다.
이 시뮬레이터는 UART 시리얼 포트, LED 및 노브 패널, RGB565 LCD 프레임버퍼, ACLINT 타이머 및 소프트웨어 인터럽트 장치 등 메모리 맵 방식의 주변 장치를 모델링합니다. 일부 CSR과 인터럽트 처리도 구현하며, 간단한 프로그램을 실행할 수 있도록 read, write, openat, exit 같은 Linux 시스템 호출도 일부 지원합니다.
이 프로젝트는 Czech Technical University의 Computer Architectures Education 그룹이 개발합니다. WebAssembly 버전은 설치 없이 온라인에서 사용해 볼 수 있지만, 실험용으로 표시되어 있습니다. 여러 Linux 배포판용 바이너리 패키지가 제공되며, Qt 5 또는 Qt 6과 CMake로 빌드할 수 있습니다.
핵심 기능
- 01정적으로 링크된 RISC-V ELF 실행 파일을 32비트 및 64비트 모드로 실행합니다.
- 02GNU assembler 지시어 일부를 지원하는 기본 통합 어셈블러가 포함되어 있습니다.
- 03UART, LED/노브 패널, LCD 프레임버퍼, ACLINT 타이머 주변 장치를 에뮬레이션합니다.
- 04머신 모드에서 일반적인 CSR과 인터럽트 처리를 구현합니다.
- 05간단한 프로그램 실행을 위한 Linux 시스템 호출을 지원합니다.
- 06WebAssembly 빌드를 통해 브라우저에서 실행할 수 있습니다.
활용 사례
- 시각적인 CPU 모델을 활용해 학부 또는 대학원 컴퓨터 구조 강의를 진행합니다.
- RISC-V 프로그램에서 시리얼 I/O, 인터럽트, 타이머가 어떻게 연동되는지 시연합니다.
- GCC 또는 Clang으로 컴파일한 작은 RISC-V 어셈블리나 C 프로그램을 하드웨어에서 실행하기 전에 테스트합니다.
빠른 시작
- 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은(는) 무엇인가요?
- 컴퓨터 구조 교육을 위한 Qt 기반 RISC-V CPU 시뮬레이터로, 브라우저에서 실행되는 WebAssembly 빌드도 제공합니다. QtRvSim은 컴퓨터 구조 강의를 위해 제작된 그래픽 RISC-V CPU 시뮬레이터입니다. 정적으로 링크된 32비트 또는 64비트 리틀엔디안 ELF 실행 파일을 불러와 실행하며, ELF 헤더를 바탕으로 XLEN을 선택합니다. 기본 통합 어셈블러가 포함되어 있고, 외부 make 유틸리티를 호출해 편집 중인 프로그램을 빌드할 수도 있습니다.
- qtrvsim은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- qtrvsim은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- qtrvsim은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. qtrvsim의 마지막 커밋은 2026년 10월 29일입니다.
- qtrvsim은(는) 어디에 사용할 수 있나요?
- 시각적인 CPU 모델을 활용해 학부 또는 대학원 컴퓨터 구조 강의를 진행합니다. RISC-V 프로그램에서 시리얼 I/O, 인터럽트, 타이머가 어떻게 연동되는지 시연합니다. GCC 또는 Clang으로 컴파일한 작은 RISC-V 어셈블리나 C 프로그램을 하드웨어에서 실행하기 전에 테스트합니다.
- qtrvsim는 어떻게 설치하나요?
- 서브모듈을 포함해 저장소를 클론합니다: git clone --recurse-submodules https://github.com/cvut/qtrvsim.git Linux에서 프로젝트 루트 디렉터리의 make를 실행해 래퍼 Makefile로 빌드합니다: make 또는 설치 없이 브라우저에서 실험용 WebAssembly 버전을 사용해 보세요
- qtrvsim은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/cvut/qtrvsim
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
QEMU 기반의 경량 CPU 에뮬레이터 프레임워크로, 아키텍처에 구애받지 않는 깔끔한 API를 통해 여러 아키텍처의 기계어를 실행합니다.
실제 운영체제를 부팅할 수 있도록 런타임에 기계어를 WebAssembly로 변환해 브라우저에서 실행하는 x86 PC 에뮬레이터입니다.
File Explorer, 창, 터미널, 여러 앱과 게임을 갖춘 Windows 스타일 데스크톱 환경으로, 웹 브라우저에서만 실행됩니다.
Jupyter 노트북 과제를 만들고 배포하며 자동 및 수동으로 채점하는 시스템입니다.