雑多な趣味の記録帳

tom01h.exblog.jp

2018年 02月 21日 ( 1 )

PULP プロジェクトが大規模進化していた

PULP プロジェクト が凄くたくさん更新されていました。
本家 UCB と違って、こっちは SystemVerilog 記述なのがとっても嬉しいところです。
ただ、高度すぎる SystemVerilog 記述を使っているようで、Verilator や Yosys ではサポートされていないところもあるようですが…

CPUコアは、従来の RI5CY,zero-riscy に加えて Ariane が追加されました。
名前は、欧州で共同開発しているロケットからきているのかな?
Arianeは、64ビットのRISC-V命令セットを実装する6段パイプラインの単一命令発行のインオーダーCPUです。
って書いてあるけど、どう見てもアウトオブオーダなんですがそれは…
演算パイプが1段しかないのが気になりますが、ここは必要に応じて伸びていくのかな?
今のところ FPU は載っていないみたいですが、これはこれで 開発中 の模様。
[追記 このFPUはRI5CY用かも。単精度専用だしね。]

サブシステムは、従来の PULPino に加えて(代えて?) PULPissimo が追加されています。
PULPissimoは、メモリをRI5CYコアと共有し、メモリマップ上にプログラムされたハードウェアアクセラレータ(ハードウェア処理エンジン)の統合もサポートしています。
アクセラレータのサンプルは、どいつもこいつも感がありますが、Hardware MAC Engine のサンプルがあるようです。
ここ にあるドキュメントが参考になるのかな? こっち にも依存している模様。
正直なところ、Rocket のアクセラレータインタフェースのような疎結合アクセラレータなら、命令追加の Rocket 方式よりも、メモリマップしたこっちの実装のほうが好きです。

[PR]
by tom01h | 2018-02-21 20:10 | Trackback | Comments(0)