**********************************************************************
セッションS4a 講演・チュートリアル
テーマ :RISC-V (リスク・ファイブ) について語り合おう
講師:山崎 進(北九州市立大学 国際環境工学部)、竹内 陽児、塩谷 亮太、しばっちさん
日時:2019/9/6(金) 12:40~13:50
参加人数:30名(開始時)
**********************************************************************

セッションの流れ
○各講師のポジショントーク
○議論・質問

始めにRISC-Vの紹介として講師の山崎さんにRISC-Vの特徴をポジショントークとして
語っていただいた。


RISC-Vは大きく分けて5つの特徴をもつ。

1.なぜ、このように設計したのか、理由や意図が示唆されている。
RISC-Vの原典を読んでいくと,設計の概要から詳細まで1つ1つ丁寧に、
「なぜこのように設計したのか」という理由や意図が明快に説明されている。

2.ISAがシンプル
高速化も可能でドキュメントも非常に簡潔化できる。またISAを自由にいじりそれを
公開することもできる。

3.フリーである。
RISC-VのISAは無償で利用できる。商用ライセンスにすることもできれば、オープン
ライセンスにすることもできる。
改変して実装、公開しても問題ないという特徴がある。

4.ツールが充実している
gccなど代表的なツールチェーンも利用可能である。

5.多くのメーカーが参入を表明している。
多くの企業がRISC-Vの採用を表明している。


ここから各講師のポジショントークにうつる。


<竹内さん(イーソル)>
経歴:新卒で複写機の会社に入社。GNU-HurdでGRUBを扱った経験もある。
モバイルゲーム会社に勤務していたことがあり、その会社では、JSX、H2O、ExGame、
A2Oなどを積極的にオープンソースにしてきた。

竹内さんの感じるRISC-Vのメリット:オープンでフリーなアーキテクチャを提供する点
(フリーであること、オープンソースであること)

オープンソースのメリット:
・みんなで自由に使ったり、貢献することができる。
・定期的にメンテナンスされる。


竹内さんが語るRISC-Vのフリーとは、
・自由に実装できる
・ISAを自由に使える、拡張できる
・教育に自由に使える
・研究にも自由に使える

RISC-Vの自由がもたらす多様性とは、
・複数の実装から選択できる
・LINUXのディストリビューションのような多様な進化


RISC-Vは成功するか。
・自由だから?
・無償だから?
・優れたアーキテクチャだから?
・開発環境、ミドルウェアなど豊富だから?

語り合いたいこと:
・自由であることの利点
・成功の鍵とは


RISC-Vについて語り合う。
オープンでフリーなアーキテクチャを提供する。



<塩谷さん>
東京大学 情報理工学系研究科 創造情報学専攻:准教授
専門:コンピュータアーキテクチャの中でも汎用のCPUなどを主に扱う。
SoCの研究・開発なども行う。


RISC-Vへの取り組み
・CPUシミュレータ:動かしたときの挙動などをシミュレーションしている。
・プロセッサ:RISC-Vのプロセッサのシミュレータを作ったりなど、プロセッサの
 設計なども行う。

塩谷さんから見るRISC-Vとは、
・世界的に盛り上がっている
・使用に向けて動いている企業が多い印象


CPUの研究をやっている立場から見たRISC-Vとは。

・RISC-Vは研究をやっていく上でいい

プロセッサ事情について
・PCとかスマホにのっているものなど汎用CPUを早く、もしくは消費電力を減らすという
 ことを目指している。早さというのは、並列化の時ではなく、シングルスレッドで
 動かした時の性能に注目している。
シングルスレッドの性能の変化を図で紹介。
クロック周波数や、性能は近年うなぎのぼりとなってきている。
その中で、特に2006年からは、サーバ、デスクトップ向けのCPUはインテルがほぼ独占
している。今年に入り独占してきたインテルを抜かすぐらい性能を伸ばしてきている
プロセッサも出てきている。




塩谷さんから見るRISC-Vのメリット

・RISC-Vは命令セットのライセンスがフリー
実装したハードの設計が自由に公開されている
めいめいが勝手にCPUを作れる。
いろんな構成のハードに触れることが出来る。

・オープン実装が公開されており、利用できる
実際に使用可能なものも公開されている。
特定のクローズなIPにしばれられない。

・ツールチェーンがすぐに使える状態で一通りある。
gcc、clang、QEMU、Linuxなど。
図を用いて、パッケージのビルド済みパッケージ数の割合などの紹介があった。

・実装の簡単さ
独自機能拡張も可能。命令セットもシンプル。実際に試せるボードもでてきている。



ボードの話がでてきたため、
竹内さんからRISC-Vの搭載ボードの現況の紹介と実際のボードのSiFiveの紹介が
されていた。他にはPerf-Vが紹介されていた。

<山崎さん>
北九州市立大学 国際環境工学部
ナッジ社会実装センター センター長

RISC-VをElixirから見たとき
・超並列化機構
Elixir:並列プログラミングが得意
コア数が多ければ多いほどElixir有利となる。
RISC-VはISAがシンプルなため他のアーキテクチャに加えてコアサイズは小さくなる
コアサイズを小さくできるので、Elixirを生かせると考えている。

コアが多いプロセッサの紹介
・1000コア、Kilocoreの紹介
・40万コア、the cerebras Wafer-Scale Enjine

これらのプロセッサも登場してきている。
こういったプロでもRISC-Vを利用すれば、Elixirを生かせるかもしれない。
コアサイズを節約してコアを増やすみたいなことをすれば性能を上げられるのではないか
と考える。





<しばっちさん>
ASIC,FPGAの設計検証などを行っている。


RISC-Vのモジュール一覧の紹介
・機構命令や基本命令の紹介がされた。ISAはシンプルになっている。
基本命令一覧、疑似命令の紹介などもあった。

RISC-Vを触り始めたきっかけ
・割と早い時期からRISC-Vに対応していたMicrosemi FPGAを趣味で使っていた。

RISC-Vの実装例などの紹介
・FPGAの紹介があった。日本語訳がgithubに上がっている。



各講師のポジショントーク終了後、RISC-Vの疑問点などを受け付けた。
また、今回の講師4人をスタートメンバーとしてRISC-Vの情報交換ができるslackを開始。
SWESTのツイッターやメーリングリストで通知が来るとのこと。



<質問>
小さいコアで命令を同時に動かすようなイメージがわかない。
なぜ、RISC-Vなのかということを聞きたい。
また絶対RISC-Vでないといけないという明確なアドバンテージみたいなものがあれば
教えてほしい。

<解答:塩谷さん>
プロセッサに対する明確なアドバンテージとして、
メニーコアのようなものを動かす際、RISC-Vを使うことで技術的に有利なことが
あるかだが、それに関してはあまりない。
ただ、独自のメニーコアとかで動かす場合などは、独自の命令セットを使ったりするが、
コンパイラのメンテナンスとかでコストがかかってしまうことが多い。
それに対し、RISC-Vを使うと、基本的なことは簡単に利用できるし、コストなどを
抑えられる。

<質問>
RISC-Vはどこを目指しているのか。
ハイエンドコンピュータを目指すのか、組込み向けのマイコンを目指すのか。
マイコンやハイエンドコンピュータに使えるようになるビジョンがあるのか?


<解答:塩谷さん>
まずはマイコンを目指す方向で考えている。
互換性が重要じゃないところ、小さいところから目指していく。
ハイエンドまでの道のりは、まだなかなか難しい。

<解答:しばっちさん>
RISC-Vはツールチェーンが使いやすい、gccとか使えるものがある。
gitに色々あがっており、例えばコントローラ(32ビット用)があったりする。
どれもコンパクトで、小さいFPGAにも入ったりもする。
こうした実際に使えるものも出てきており、こうした小さいところからの普及を目指す。


スパコン、アクセラレータとかにRISC-Vを使うことでコストを抑える
ハイエンドとかも使えればよいと思っている。
互換性がないところから、RISC-Vで補っていく。


RISC-Vで必要なところをコンパクトに。
RISC-Vが目指しているのは、ソフトウェアとかすべて含めて、全体的な標準化を目指す。


<解答:山崎さん>
RISC-Vが目指しているのは、オープンなエコシステムを作り標準化を行い、みんなが
取り組みやすくすること。


標準的なエコシステムに乗っかったプロセッサの上で、1000コア以上のマルチコアを
実現しようと考えた時にアーキテクチャとしてRISC-Vがいいと思う。
アクセラレートする機能を乗っけたりなど、プロセッサの実験がやりやすそうなのが
RISC-Vであると考えている。


<質問>
中国がプロセッサのライセンスを支払うのではなく独自で作ってエコシステムを発展させて
いるみたいな記事を見た。
中国に限らず、世界でRISC-Vが勢いが増し盛り上がっているのか。


<解答:竹内さん>
プロセッサのライセンスについては、ライセンスの使用許諾を外されるということに
関して、企業は危機感をもっており、プロセッサを独自で作っている国は多くなって
きている。


<解答:塩谷さん>
独自で作るという点では、やはりフリーなRISC-Vが注目されるだろうし、よりRISC-Vは
盛り上がる。

<解答:しばっちさん>
インドとかもRISC-Vが盛り上がってきている。
プロセッサのライセンスを払うのは、どうしてもやりにくい点がある。
そうした中でRISC-Vが注目されるという流れはやはりあると思う。



<質問>
仕様書に関して、例えばARMのアーキテクチャのマニュアルはページ数が多い。。
一方RISC-Vの使用書はページ数がそれらと比べて少ないように見えるが、
理由としてまだ決まってないことが多いからなのかのか、それとも構造がコンパクト
だからなのか?


<解答:塩谷さん>
コア中心になる部分、特権命令とかメモリモデルとかはコンパクトになると思っている。
全体として、委員会で策定中の部分がまだ多いが、ARMなどと比べるとコンパクトになる。


<質問>
32ビット対応と64ビット対応で、すみわけとかあれば教えてほしい。


<解答:塩谷さん>
すみわけに関しては、64ビットは基本的にハイパフォーマンスでやりたい人向けとなって
おり、すみわけのベースリンクとしてはそれぞれの定義がある。それらを実際にものに
していくかどうかは別途進んでいくと思う。