BOOM
Awesome RISC-V

BOOM

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

BOOM — це позачергове ядро RISC-V, написане на Chisel. Воно може виконувати інструкції в іншому порядку, ніж їх перелічує програма, що дозволяє тримати більше виконавчих блоків зайнятими. SonicBOOM, його третя версія, вийшов у 2020 році.

Огляд

BOOM, Berkeley Out-of-Order Machine, — це 64-бітне ядро RISC-V, написане на Chisel, мові конструювання апаратного забезпечення, побудованій на Scala. Ядро — це частина чипа, яка виконує інструкції. Ядро з позачерговим виконанням може виконувати інструкції в іншому порядку, ніж вони перелічені в програмі. Коли одна інструкція очікує дані з пам'яті, наступні інструкції, які від неї не залежать, продовжують виконуватися, і більше виконавчих блоків ядра залишаються зайнятими.

BOOM реалізує RV64GC — набір інструкцій загального призначення для 64-бітних систем зі стисненими інструкціями, підтримує віртуальну пам'ять і завантажує Linux. Його третя версія, SonicBOOM, набирає 6.2 CoreMark на МГц. CoreMark — це стандартна тестова програма, і ділення її результату на тактову частоту вимірює, скільки роботи ядро виконує за такт.

Історія

Крістофер Селіо започаткував BOOM у групі Berkeley Architecture Research в Каліфорнійському університеті в Берклі та описав його архітектуру в технічному звіті 2015 року. Друга версія з'явилася в 2017 році. Джеррі Чжао, Бен Корпан, Абрахам Гонсалес і Крсте Асанович представили SonicBOOM, третю версію, у 2020 році.

Де використовується

BOOM — це дослідницьке ядро. Його параметри задають ширину конвеєра, кількість виконавчих блоків і розмір внутрішніх черг, що дозволяє дослідникам вимірювати, як кожен вибір впливає на продуктивність. Користувачі будують системи BOOM через Chipyard, оскільки репозиторій містить лише ядро.

Джерела

  1. riscv-boom README
  2. The Berkeley Out-of-Order Machine, UCB/EECS-2015-167
  3. BOOM v2, UCB/EECS-2017-157
  4. SonicBOOM, CARRV 2020