BOOM
Ecossistema RISC-VBOOM é um núcleo RISC-V fora de ordem escrito em Chisel. Ele pode executar instruções em uma ordem diferente daquela em que o programa as lista, o que mantém mais unidades de execução ocupadas. O SonicBOOM, sua terceira versão, foi lançado em 2020.
Visão geral
BOOM, a Berkeley Out-of-Order Machine, é um núcleo RISC-V de 64 bits escrito em Chisel, uma linguagem de construção de hardware baseada em Scala. Um núcleo é a parte de um chip que executa instruções. Um núcleo out-of-order pode executar instruções em uma ordem diferente daquela em que o programa as lista. Quando uma instrução aguarda dados da memória, as instruções posteriores que não dependem dela prosseguem, e mais unidades de execução do núcleo permanecem ocupadas.
BOOM implementa RV64GC, o conjunto de instruções de 64 bits de uso geral com instruções comprimidas, oferece suporte a memória virtual e inicializa o Linux. Sua terceira versão, SonicBOOM, obtém 6,2 CoreMark por MHz. CoreMark é um programa de benchmark padrão, e dividir sua pontuação pela frequência de clock mede quanto trabalho o núcleo realiza por ciclo de clock.
Histórico
Christopher Celio iniciou o BOOM no Berkeley Architecture Research group da UC Berkeley e descreveu seu design em um relatório técnico de 2015. Uma segunda versão veio em 2017. Jerry Zhao, Ben Korpan, Abraham Gonzalez e Krste Asanović apresentaram o SonicBOOM, a terceira versão, em 2020.
Onde é usado
BOOM é um núcleo de pesquisa. Seus parâmetros definem a largura do pipeline, o número de unidades de execução e o tamanho das filas internas, o que permite aos pesquisadores medir como cada escolha afeta o desempenho. Os usuários constroem sistemas BOOM por meio do Chipyard porque o repositório contém apenas o núcleo.
