Spike
Awesome RISC-V

Spike

RISC-V 생태계

Spike는 RISC-V 명령어 집합의 참조 시뮬레이터이며, RISC-V International에서 유지 관리합니다.

개요

Spike는 RISC-V 명령어 집합의 참조 시뮬레이터입니다. 시뮬레이터는 프로세서를 모방하는 프로그램입니다. 다른 구현들은 자신의 동작을 참조 시뮬레이터와 비교하므로, 새로운 RISC-V 칩을 만드는 팀은 동일한 프로그램을 자사의 설계와 Spike에서 실행하고 둘 다 동일한 레지스터와 메모리로 종료되는지 확인합니다.

Spike는 하트(hart, 하드웨어 스레드의 줄임말)를 모델링합니다. 하트는 프로세서 내부에서 자체적인 명령어 스트림을 실행하는 단위입니다. Spike는 32비트 및 64비트 기본 명령어 집합과 벡터를 포함한 표준 확장을 다룹니다. 또한 운영 체제가 의존하는 머신, 슈퍼바이저, 사용자 권한 모드도 다룹니다.

기록

Spike는 2010년부터 RISC-V 명령어 집합이 설계된 UC 버클리에서 작성되었으며, 공개 저장소는 2011년으로 거슬러 올라갑니다. 이름은 1869년 미국을 가로지르는 최초의 철도 완공을 기념하기 위해 박힌 골든 스파이크에서 유래했습니다.

현재 RISC-V International은 GitHub의 소프트웨어 조직에서 Spike를 유지 관리합니다. 새로운 확장은 보통 일찍 Spike에 도달하며, 종종 명세가 아직 초안인 단계에서 도달하기 때문에 하드웨어 및 컴파일러 개발자는 테스트할 모델을 갖게 됩니다.

사용되는 곳

Spike는 엔지니어를 위한 명령줄 도구입니다. 하드웨어 팀은 설계를 검증하는 데 사용하고, 컴파일러 개발자는 생성된 코드를 테스트하는 데 사용합니다. RISC-V용으로 컴파일된 일반 C 프로그램을, 시뮬레이션된 프로그램의 시스템 호출을 호스트 컴퓨터로 전달하는 작은 프로그램인 프록시 커널의 도움을 받아 실행합니다.

소스

  1. riscv-isa-sim README