Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RISC-Vエコシステムを 構成する技術と立役者たち
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
msyksphinz
October 18, 2018
Technology
4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RISC-Vエコシステムを 構成する技術と立役者たち
msyksphinz
October 18, 2018
More Decks by msyksphinz
See All by msyksphinz
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
400
LiteXとオレオレCPUで作る自作SoC奮闘記
msyksphinz
0
1.9k
ハイパフォーマンスCPUの作り方_アーカイブ用.pdf
msyksphinz
0
67
作って学ぶ コンピュータアーキテクチャ 出版にあたっての経験談
msyksphinz
1
1.8k
次世代を担うオープン命令セットアーキテクチャRISC-Vの最新動向
msyksphinz
3
5.6k
Rustで作るフルスクラッチQEMU型エミュレータ
msyksphinz
8
4.9k
ハードウェア記述言語Chiselを もっと活用するためのDiplomacy概説
msyksphinz
1
1.9k
ますます注目される オープンCPUアーキテクチャ RISC-Vの最新動向
msyksphinz
2
2.9k
オープンソースCPUアーキテクチャ 「RISC-V」を中心に変わる半導体の世界
msyksphinz
1
2.7k
Other Decks in Technology
See All in Technology
AIはどのように 組織のアジリティを変えるのか?
junki
3
900
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
1.1k
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
170
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
200
Snowflakeと仲良くなる第一歩
coco_se
4
480
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
670
攻撃者視点で考えるDetection Engineering
cryptopeg
3
1.8k
【NRUG vol.18】なぜ多くのオブザーバビリティ導入は失敗するのか
nrug_member
0
140
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
140
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
500
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Typedesign – Prime Four
hannesfritz
42
3.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Thoughts on Productivity
jonyablonski
76
5.2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Discover your Explorer Soul
emna__ayadi
2
1.1k
A Soul's Torment
seathinner
6
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Transcript
RISC-Vエコシステムを 構成する技術と立役者たち Introduction of Technologies and People Supporting RISC-V Ecosystem
RISC-V Day Tokyo 2018 Thursday, 18 October 2018 09:40 - 09:55 FPGA開発日記 著者 @msyksphinz_dev http://msyksphinz.hatenablog.com
RISC-Vを支えるオープンソース それを支える技術の紹介 • RISC-Vは、さまざまな人々により支えられている • ソフトウェアエコシステム • ハードウェアエコシステム • RISC-Vを支えているコミュニティ、ツール、エコシステム
について紹介
RISC-Vをはじめとした Open-Hardwareの目指すところ • ハードウェア設計・CPUアーキテクチャをオープンに 議論できる環境を構築する • 例: Meltdown / Spectre
• 例: Memory Consistency Model of RISC-V • RISC-Vのメモリコンシステンシモデルのバグを大学が発見 • 2018年はハードウェアを含め、セキュリティ界隈の話が多い • RISC-Vをベースにオープンなセキュリティプラットフォームの 構築を目指すKeystone 多くの人が開発に参加できるように 多くの人が議論に参加できるように ハードウェア開発の参入障壁が下がる ハードウェア開発に関わる人が増える ハードウェア開発者のすそ野が広がる
RISC-Vのオープンソースハードウェアは 半導体業界にとってチャンス • CPUは強者による2強の時代に(x86, Arm) • しかしライセンス費は馬鹿にならず、最先端プロセスは巨大企業しか追従できない • IP, EDA,
ウェハ製造費, パッケージ費 … • より多くの選択肢が登場することは良いこと。 • 自社の中核になる技術に注力したい。それ以外の部分(SoCや制御CPUなど)にはあまり時間をかけ たくない • 自社独自コアを持っているが、メンテナンスに手が回らない場合 • ソフトウェアエコシステムを含めてRISC-Vを導入することによりコストを削減する • 独自開発したことによる特許の問題が心配な場合 • CPUというSoCの中心部の、実装コストを最小化させる • CPU以外にもチップ内で注力したい部分はたくさんあるはず。 • だったら、CPUはアリモノで早く作って「本当に価値のあるところ」に注力したい
“RISC-V 命令セットアーキテクチャ”を支えるエコシステム RISC-V Foundation Working Group GCC Binutils LLVM Linux
QEMU ISS BOOM Rocket- Chip Freedom SoC HiFive1 HiFive Unleashed ボード・ プラットフォーム SIMD拡張 Privileged Spec セキュリティ メモリモデル ソフトウェア ツールチェイン Board of Directorsを中心に、ISAの各分野でWorking Groupが存在している。 … Linux パッケージメンテナ 有志によるOS 移植 Foundation 加入 メンバによるメンテ Foundation 加入 メンバによる開発 Board of Directors RISC-V ISA Manual
RISC-Vを支えるソフトウェアエコシステム ◼各種ツールチェインはほぼ整備完了 ◼ GCC 7.1でRISC-VがMainstreamに取り込まれた ◼ LLVM/ClangのRISC-Vサポートが lowRISCプロジェクトにより進行中 ◼ LinuxカーネルはVersion
4.15に対応済み ◼ 各種LinuxディストリビューションがRISC-Vのサポート進行中 ◼ RedHat / Debian ◼ FreeBSD : RISC-Vのサポート進行中 ◼ QEMU v2.12 よりRISC-V向けビルドをサポート ◼RISC-Vの仕様に準拠しているかを試す コンプライアンステスト ◼これらのテストがPassしていれば、だいたいOK • riscv-tests (https://github.com/riscv/riscv-tests) • riscv-torture (https://github.com/ucb-bar/riscv-torture)
RISC-Vを支えるエンジニアコミュニティ • RISC-Vコミュニティには誰でも参加できる • Google Groups(Mailing List) • 質問すると結構な頻度で返信が来る。 Announcements
Academic Community Software Developers Hardware Developers ISA Developers Debug • Stack Overflow でもRISC-V Tagが作られている。 • SiFive Forum • SiFiveの製品・仕様についての コミュニティ https://stackoverflow.com/questions/tagged/riscv https://forums.sifive.com https://riscv.org/mailing-lists/
RISC-Vを支えるGitHub Repositories • ソフトウェアツールチェイン・ハードウェアツールチェイン ※ https://riscv.org/software-status, https://riscv.org/risc-v-cores/に詳しくまとめられている riscv-tools riscv-openocd riscv-fesvr
riscv-gnu-toolchain riscv-isa-sim riscv-opcodes riscv-tests riscv-pk RISC-Vデバッグ用のOpenOCD実装 シミュレーション用のフロントエンドサーバ コンパイラやライブラリなど 命令セットシミュレータ RISC-Vテストパタン RISC-Vのプロキシカーネル https://github.com/riscv/riscv-tools https://github.com/esperantotech/boom-template https://github.com/ucb-bar/project-template
ハードウェアエコシステム : Rocket-Chip/BOOM ZC706 ZedBoard Rocket-Chip BOOM Freedom-SoC HiFive1 HiFive
Unleashed ASIC 4+1Core RV64 1GHz Arduino RV32 320MHz FPGA AWS
RISC-V Open Ecosystemの凄さ: LinuxがブートするRISC-Vシミュレータを作る • RISC-VのISAをしっかり理解したい • マニュアルを読むだけでは何が何だか分からないことが多い。 RISC-Vシミュレータを 自作する
目標1. コンプライアンステストをPassさせる 目標2. Linuxをブートさせる 使用したRISC-V Linux : Freedom-U-SDKで公開されているLinuxバイナリ buildrootで1つのバイナリにまとめられている。Kernel v4.15 https://github.com/sifive/freedom-u-sdk で公開されており、ビルドできます。 ※ 上記に限らず、RISC-V向けにビルドしたLinuxディストリビューションは各種公開されている。 RedHat, Debian, … 今回はディスクイメージが1つにまとめられているので上記を使用。
RISC-V Open Ecosystemの凄さ: RISC-Vの命令セットシミュレータを作った pk (proxy kernel) RISC-V Instruction Set
Simulator dtb Device Tree Blob Target Program Elf Log Files x86 Host Linux 参考にしたもの ※ pk(proxy kernel) RISC-Vのプログラムを動かすにあたり、システムコールを代わりに処理してくれる仕組み。 printf()やら、ファイルアクセスなどを代行できる (Linuxの起動には使用しません)。 RISC-V ISA Spec Manual RISC-V Privileged Manual riscv-isa-sim 実装!! マニュアル見て意味が分からなかった ら実装を見るのがおすすめ RISC-Vの仕様を、C++の実装で ほぼ忠実に再現してある。 GitHub公開中 : http://github.com/msyksphinz/swimmer_riscv Rocket-Chipを含め、多くの RISC-V実装は最初に Device Tree を読み込む
Linuxをブートしながら学んだRISC-Vのすごいところ ◼ ツールがすべて公開されているので、デバッグが容易 ◼ https://github.com/riscv/riscv-tools を参照のこと ◼ テストセットもすべて公開されている ◼ ISAのテストパタン
riscv-tests / riscv-torture ◼ ~な高速化技法試してみようかな→ 一旦テストセットで全部リグレッションを動かして確認 ◼ RISC-Vの仕様に準拠しているかを試す コンプライアンステスト ◼ これらのテストがPassしていれば、だいたいOK ◼ riscv-tests (https://github.com/riscv/riscv-tests) ◼ riscv-torture (https://github.com/ucb-bar/riscv-torture)
まとめ: RISC-Vコミュニティは誰でも参加できます • オープンソースのデザインでRISC-Vをトライ • お金が無くてもRISC-Vを試行できる • ハードウェア・ソフトウェアのRISC-V対応は着実に 進んでいる。 •
いろんな手段が用意されている • FPGAボードを使う : カスタムデザインでゴリゴリに最適化 • 評価ボードを買う : 簡単にアプリケーション評価可能 • 誰にでもチャンスがあります • RISC-Vを使ってみたいけど~が無い!と思ったら、自分でやってみてください。 GitHubに公開したら、それでコミュニティの仲間入りです。 少しでも興味があれば、自分で積極的に参加することができます 多くの人が参加すれば、RISC-Vはもっと面白くなります