Rocket Chip
Awesome RISC-V

Rocket Chip

Ekosystem RISC-V

Rocket Chip generuje rdzenie RISC-V w kolejności i kompletny system na układzie scalonym z kodu źródłowego Chisel. SiFive opierał swoje pierwsze komercyjne rdzenie na nim, a Chipyard używa go jako bazy dla swoich projektów.

Przegląd

Rocket Chip to generator systemów na chipie RISC-V. System na chipie to pojedynczy chip, który zawiera rdzenie procesora wraz z pamięciami podręcznymi, kontrolerami pamięci i połączeniami z innymi urządzeniami. Generator to program, który tworzy projekt sprzętu na podstawie zestawu parametrów, dzięki czemu ten sam kod może wygenerować mały projekt jednordzeniowy lub duży wielordzeniowy.

Jego główny rdzeń, Rocket, jest uporządkowany, co oznacza, że wykonuje instrukcje w kolejności, w jakiej wymienia je program. Rocket ma pięciostopniowy potok, układ, w którym każda instrukcja przechodzi przez pięć kroków, a kilka instrukcji jest wykonywanych jednocześnie. Implementuje 64-bitowy zestaw instrukcji RISC-V z jednostką zarządzania pamięcią, sprzętem stojącym za pamięcią wirtualną, dzięki czemu może uruchomić Linuksa. Projekt jest napisany w Chisel, języku konstruowania sprzętu zbudowanym na języku programowania Scala.

Historia

Rocket Chip pochodzi z UC Berkeley, z grupy, która zaprojektowała zestaw instrukcji RISC-V. Krste Asanović i współpracownicy opisali go w raporcie technicznym z 2016 roku "The Rocket Chip Generator", a Berkeley zbudowało z nim wiele chipów badawczych.

SiFive, firma założona przez twórców RISC-V, oparła swoje pierwsze komercyjne rdzenie na Rocket. CHIPS Alliance, otwarta grupa sprzętowa Fundacji Linux, obecnie hostuje ten projekt.

Gdzie jest używane

Większość użytkowników dociera do Rocket przez Chipyard, framework, który łączy Rocket, BOOM i inne bloki w kompletne chipy. Chipyard uruchamia te chipy w symulacji programowej, na FPGA lub za pomocą narzędzi produkcyjnych. FPGA to chip, który można przekonfigurować tak, aby zachowywał się jak inny układ, a badacze używają go do testowania projektu z rzeczywistą prędkością przed produkcją.

Źródła

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