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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
450
LiteXとオレオレCPUで作る自作SoC奮闘記
msyksphinz
0
2.1k
ハイパフォーマンスCPUの作り方_アーカイブ用.pdf
msyksphinz
0
87
作って学ぶ コンピュータアーキテクチャ 出版にあたっての経験談
msyksphinz
1
1.8k
次世代を担うオープン命令セットアーキテクチャRISC-Vの最新動向
msyksphinz
3
5.7k
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.8k
Other Decks in Technology
See All in Technology
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
180
dbt in Microsoft Fabric
ryomaru0825
0
300
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
270
AI時代のデータ基盤を考える問い
pacocat
0
740
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
0
130
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
380
Introduction to Bill One Development Engineer
sansan33
PRO
0
480
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
アクセスキーが漏れた日にやるべきこと- 無効化の先にある本当の対応
kazzpapa3
0
360
OpenID for Verifiable Credentials 実装から見えた相互運用性確保までの道のり(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
850
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Designing for Performance
lara
611
70k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Docker and Python
trallard
47
4.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
650
Technical Leadership for Architectural Decision Making
baasie
3
540
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
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はもっと面白くなります