BOOM
Ekosystem RISC-VBOOM to pozakolejkowy rdzeń RISC-V napisany w Chisel. Potrafi wykonywać instrukcje w innej kolejności niż wymienia je program, dzięki czemu więcej jednostek wykonawczych pozostaje zajętych. SonicBOOM, jego trzecia wersja, ukazał się w 2020 roku.
Przegląd
BOOM, czyli Berkeley Out-of-Order Machine, to 64-bitowy rdzeń RISC-V napisany w Chisel, języku konstruowania sprzętu zbudowanym na Scali. Rdzeń to część układu, która wykonuje instrukcje. Rdzeń z wykonywaniem poza kolejnością może wykonywać instrukcje w innej kolejności niż wymienia je program. Gdy jedna instrukcja czeka na dane z pamięci, późniejsze instrukcje, które od niej nie zależą, są wykonywane dalej, a więcej jednostek wykonawczych rdzenia pozostaje zajętych.
BOOM implementuje RV64GC, ogólnego przeznaczenia 64-bitowy zestaw instrukcji z instrukcjami skompresowanymi, obsługuje pamięć wirtualną i uruchamia Linuksa. Jego trzecia wersja, SonicBOOM, osiąga 6.2 CoreMark na MHz. CoreMark to standardowy program testowy, a podzielenie jego wyniku przez częstotliwość zegara mierzy, ile pracy rdzeń wykonuje na cykl zegara.
Historia
Christopher Celio rozpoczął projekt BOOM w grupie Berkeley Architecture Research na UC Berkeley i opisał jego projekt w raporcie technicznym z 2015 roku. W 2017 roku ukazała się druga wersja. Jerry Zhao, Ben Korpan, Abraham Gonzalez i Krste Asanović zaprezentowali SonicBOOM, trzecią wersję, w 2020 roku.
Gdzie jest używane
BOOM to rdzeń badawczy. Jego parametry określają szerokość potoku, liczbę jednostek wykonawczych i rozmiar wewnętrznych kolejek, co pozwala badaczom mierzyć, jak każdy wybór wpływa na wydajność. Użytkownicy budują systemy BOOM za pośrednictwem Chipyard, ponieważ repozytorium zawiera tylko rdzeń.
