RISC-Vの実装についてメモ。
RISC-V:UCBの実装
-
Rocket Chip
・バークレイの元祖RISC-V実装。シングル命令発行、5段パイプライン構成
・コアの実装はChisel
・ChiselからVerilogコードの生成も可能(解読するのは難しそうだが。。。)
・XilinxのFPGA向けに、Zybo, Zedboard, ZC706 向けの実装パッケージが提供されている
実装例 : RISC-V Rocket v.s. ARM Cortex-A5
(https://riscv.org/wp-content/uploads/2015/01/riscv-rocket-chip-generator-workshop-jan2015.pdfから引用)
CPUコア
RISC-V Rocket
ARM Cortex-A5
命令セット
64bit RISC-V v2 RV64G
32bit ARM v7
一命令発行・インオーダ・
5段パイプライン
一命令発行・インオーダ
半導体プロセス
TSMC 40nm PLUS
TSMC 40nm PLUS
性能
1.72DMIPS/MHz
1.57DMIPS/MHz
面積(キャッシュなし)
0.14mm^2
0.27mm^2
面積(16kキャッシュ)
0.39mm^2
0.53mm^2
面積効率
4.41DMIPS/MHz/mm^2
2.96DMIPS/MHz/mm^2
動作周波数
> 1GHz
> 1GHz
消費電力
< 0.034mW/MHz
< 0.08mW/MHz
- BOOM (Berkeley Out-of-Order Machine)
・Rocket Chipのハイエンド版
・OoOの2wide(BOOM-w2)と4wide(BOOM-w4)の実装がある
・コアの実装はChisel
- Z-scala
・パイプライン段数は短く、面積効率を重視したコア
・RTL(VerilogHDL)コードがそのまま公開されている
・最新のRISC-Vの仕様を実装できていない(?)
UCB以外の実装
- PicoRV32 @ MIT
・RV32IM(ISA)をサポート
・小さなコア。RISC-Vの勉強始めには良いかも(?)
- SCR1 @ Syntacore
・Syntacore社のSCRxシリーズの一つ
・RTL(VerilogHDL)コードがそのまま公開されている
・2段から4段のパイプライン構成(設定可能)
・RV32I、RV32Eをサポート
・Interfece 2018年2月号に情報が掲載されているので、RISC-Vの勉強始めには良いかも(?)
[参考サイト]