GN⁺: 샹산 – 오픈소스 고성능 RISC-V 프로세서
(github.com/OpenXiangShan)-
XiangShan 프로젝트 소개
- XiangShan은 고성능 RISC-V 프로세서를 개발하기 위한 오픈 소스 프로젝트로, 중국과학원 컴퓨팅 기술 연구소와 펑청 연구소에서 진행 중임.
- 이 프로젝트는 애자일 개발 방법론을 활용하여 칩 개발 과정을 가속화하는 다양한 도구를 개발하고 사용함.
-
문서 및 슬라이드
- XiangShan-doc은 공식 문서 저장소로, 설계 사양, 기술 슬라이드, 튜토리얼 등을 포함함.
- 마이크로 아키텍처 문서가 공개되어 있으며, 자세한 내용은 XiangShan-doc에서 확인 가능함.
-
출판물
- 2022년 MICRO에서 발표된 논문은 XiangShan과 애자일 개발 방법론을 활용한 고성능 RISC-V 프로세서 개발을 소개함.
- 이 논문은 가용성, 기능성, 재현성에 대한 모든 배지를 수상함.
-
아키텍처
- XiangShan의 첫 번째 안정적인 마이크로 아키텍처는 Yanqihu이며, 두 번째는 Nanhu임.
- 현재 개발 중인 버전은 Kunminghu로, 마스터 브랜치에서 진행 중임.
-
서브 디렉토리 개요
- 주요 디렉토리에는 설계 파일, 가상 장치, SoC 래퍼, 상위 모듈, 유틸리티 코드, 메인 설계 코드 등이 포함됨.
- 스크립트, 부동 소수점 유닛, L2/L3 캐시, 코시뮬레이션 프레임워크, 사전 빌드된 시뮬레이션 이미지도 포함됨.
-
IDE 지원
-
make bsp
명령어로 BSP 지원. -
make idea
명령어로 IDEA 지원.
-
-
Verilog 생성
-
make verilog
명령어로 Verilog 코드를 생성할 수 있으며, 출력 파일은build/XSTop.v
임.
-
-
프로그램 실행 및 시뮬레이션
- 환경 변수를 설정하고,
mill
을 설치한 후 프로젝트를 클론하여make init
으로 서브모듈 초기화. - Verilator를 설치하고
make emu
명령어로 C++ 시뮬레이터를 빌드하여 실행 가능.
- 환경 변수를 설정하고,
-
문제 해결 가이드
- XiangShan 문서에 여러 주요 논문이 영감을 주었으며, 향후 더 많은 학문적 혁신이 이루어지기를 기대함.
Hacker News 의견
-
Dockerfile을 사용하여 시뮬레이션을 실행할 수 있음. 64GB의 RAM이 필요하며, 16GB RAM에 48GB 스왑을 추가하여 해결했음
- 몇 가지 불필요한 단계가 있을 수 있지만, 이 방법이 작동했음
-
이 프로젝트는 최근 관심사를 잘 결합하여 흥미로움을 줌
- 비영어권 사용자에 대한 공감을 느꼈으며, 영어 사용자가 문화적 근육을 필요로 하지 않는다는 것을 깨달음
- "DefinitelyTyped 스타일"의 정의 레지스트리가 유용할 것 같음
-
융합 명령어 목록이 예상치 못한 부분이 있음
- Sifive 스타일의 짧은 점프 예측이 언급되지 않음
-
이 프로젝트는 학문적 프로젝트로 흥미로움
- 2주마다 블로그가 있으며, 일부는 영어로 제공됨
-
Chisel을 사용하는 또 다른 프로젝트를 보는 것이 흥미로움
- Verilog와 VHDL이 변화의 시점에 있는 것 같음
-
XiangShan의 'Nanhu' 아키텍처를 사용하는 상업 제품이 있음
- 아직 출시되지 않았지만 흥미로움
-
'고성능'의 의미가 궁금함
- RISC-V의 성능이 ARM이나 Loongarch에 비해 실망스러움
-
오픈 소싱의 전략이 궁금함
-
훌륭한 작업에 대한 찬사
-
중국이 AI, 로봇공학, 프로세서에서 상당한 진전을 이루고 있으며, 많은 것을 오픈 소싱하고 있는 점이 인상적임