Tokyo Course Grained

カナダ西海岸ソフトウェアエンジニアのブログです

RISCVとその周辺

RISC-VというISA(命令セットアーキテクチャ)について紹介します。 RISCVはV(ファイブ)はバークレーで作られた5番目のRISCでいう意味で、去年仕様公開、今年フィックスという比較的新しいISAです。 特徴についてはmsyksphinzさんのブログにまとまってます。MIPSなどから遅延スロットなど複雑な仕様を取り除きシンプルにしています。

もうひとつおもしろい特徴として、2014年の夏にKrste先生とパターソン先生(パタヘネの人)が発表した「Instruction Sets Should Be Free The Case For RISC V」という論文があります。タイトルの通りFreeという点に主眼がおいてあり、BSD licence、ソースコード・ハードウェア記述・開発ツールgithub(!)で公開され、またgithub上で開発されています。アクティビティ https://github.com/ucb-bar をみると最新の更新が3日とか数時間とかですごいアクティビティで、なんちゃってでgithub公開と違います。とはいっても今は研究室メンバーが大半なようですが。

ISAを公開しただけではもちろん誰も使ってくれないので、ISAシミュレータ、アセンブラコンパイラ、ハードウェア記述等すべて公開してます。

特徴としてハードウェア記述をverilogではなくて、これもこの研究室で作っているchiselというScala DSLをつかったハードウェア記述言語を使っています。chiselについては日本語でもいくつか資料があります(いおりんさんのもの https://docs.google.com/presentation/d/18ugtNcuxcFfP3ODYbVZdJh-2we6bTyaG8aAmpw1KRV4 会津大の中里先生のもの http://galaxy.u-aizu.ac.jp/memo/2014/11/04/using-chisel/ )。chiselについては開発が活発で研究室以外からも頻繁にプルリクエストが飛んでるようです https://github.com/ucb-bar/chisel/pullsOSS

教育用なのでカリフォルニア大学の授業で使われていて、講義資料 http://www-inst.eecs.berkeley.edu/~cs250/fa14/ とか Stanford でもやったものがMOOCでオンラインで公開されています https://mvideos.stanford.edu/graduate#/SeminarDetail/Autumn/2014/EE/380/3273

自分のように資料を漁るよりはKrste先生の講演(これもスタンフォード)がわかりやすいので、とりあえずこれを見てもらえばいいかと。

Stanford Seminar - Krste Asanović of UC Berkeley - YouTube

こういうのアメリカ版エクサ?でも使おうとしてるっぽいですが不明。

OpenSoC Fabric - Home

The Hwacha Project