Rocket Chip
Awesome RISC-V

Rocket Chip

RISC-V 생태계

Rocket Chip은 Chisel 소스 코드로부터 인오더 RISC-V 코어와 완전한 시스템 온 칩을 생성합니다. SiFive는 첫 상용 코어를 이것에 기반하여 만들었고, Chipyard는 이를 설계의 기반으로 사용합니다.

개요

Rocket Chip은 시스템 온 칩용 RISC-V 시스템을 위한 생성기입니다. 시스템 온 칩은 프로세서 코어를 캐시, 메모리 컨트롤러, 다른 장치로의 연결과 함께 하나의 칩에 담은 것입니다. 생성기는 매개변수 집합으로부터 하드웨어 설계를 만들어내는 프로그램으로, 동일한 코드로 작은 단일 코어 설계나 큰 멀티 코어 설계를 출력할 수 있습니다.

주요 코어인 Rocket은 인오더 방식으로, 프로그램에 나열된 순서대로 명령을 실행한다는 뜻입니다. Rocket은 5단계 파이프라인을 갖추고 있으며, 이는 각 명령이 다섯 단계를 거치고 여러 명령이 동시에 진행되는 구조입니다. 가상 메모리를 뒷받침하는 하드웨어인 메모리 관리 장치와 함께 64비트 RISC-V 명령어 집합을 구현하므로 Linux를 부팅할 수 있습니다. 설계는 Scala 프로그래밍 언어 위에 구축된 하드웨어 구축 언어인 Chisel로 작성되었습니다.

기록

Rocket Chip은 RISC-V 명령어 집합을 설계한 그룹인 UC 버클리에서 비롯되었습니다. Krste Asanović와 동료들은 2016년 기술 보고서 "The Rocket Chip Generator"에서 이를 설명했으며, 버클리는 이를 사용해 많은 연구용 칩을 제작했습니다.

RISC-V 창시자들이 설립한 회사인 SiFive는 첫 상용 코어를 Rocket에 기반을 두었습니다. Linux Foundation의 오픈 하드웨어 그룹인 CHIPS Alliance가 현재 이 프로젝트를 호스팅하고 있습니다.

사용되는 곳

대부분의 사용자는 Rocket, BOOM 및 기타 블록을 결합하여 완전한 칩으로 만드는 프레임워크인 Chipyard를 통해 Rocket에 도달합니다. Chipyard는 해당 칩을 소프트웨어 시뮬레이션, FPGA 또는 제조 도구를 통해 실행합니다. FPGA는 다른 회로처럼 동작하도록 재구성할 수 있는 칩이며, 연구자들은 제조 전에 실제 속도로 설계를 테스트하는 데 이를 사용합니다.

소스

  1. rocket-chip README
  2. The Rocket Chip Generator, UCB/EECS-2016-17