Rocket Chip
Awesome RISC-V

Rocket Chip

Экосистема RISC-V

Rocket Chip генерирует последовательные ядра RISC-V и полностью интегрированные системы на кристалле из исходного кода Chisel. SiFive основывал свои первые коммерческие ядра на нём, а Chipyard использует его в качестве основы для своих проектов.

Обзор

Rocket Chip — это генератор систем на кристалле RISC-V. Система на кристалле — это одна микросхема, содержащая процессорные ядра вместе с кэшами, контроллерами памяти и соединениями с другими устройствами. Генератор — это программа, которая создаёт проект аппаратного обеспечения на основе набора параметров, поэтому один и тот же код может выдавать как небольшой одноядерный проект, так и крупный многоядерный.

Его основное ядро, Rocket, является ядром с последовательным выполнением, что означает, что оно выполняет инструкции в том порядке, в котором их перечисляет программа. Rocket имеет пятиступенчатый конвейер — организацию, при которой каждая инструкция проходит через пять этапов, и несколько инструкций выполняются одновременно. Оно реализует 64-битный набор инструкций RISC-V с блоком управления памятью — аппаратным обеспечением, лежащим в основе виртуальной памяти, поэтому может загружать Linux. Проект написан на Chisel — языке конструирования аппаратного обеспечения, построенном на языке программирования Scala.

История

Rocket Chip происходит из UC Berkeley, из группы, разработавшей набор инструкций RISC-V. Krste Asanović и коллеги описали его в техническом отчёте 2016 года "The Rocket Chip Generator", и Berkeley построил с его помощью множество исследовательских чипов.

SiFive, компания, основанная создателями RISC-V, построила свои первые коммерческие ядра на Rocket. CHIPS Alliance, открытая аппаратная группа Linux Foundation, теперь размещает проект.

Где используется

Большинство пользователей знакомятся с Rocket через Chipyard — фреймворк, который объединяет Rocket, BOOM и другие блоки в полноценные чипы. Chipyard запускает эти чипы в программной симуляции, на FPGA или с помощью производственных инструментов. FPGA — это чип, который можно переконфигурировать так, чтобы он вёл себя как другая схема, и исследователи используют его для проверки проекта на реальной скорости перед производством.

Источники

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