SlideShare a Scribd company logo
1 of 26
RISC-Vの基礎・オーバービュー、
そして時事ネタをいくつか
【オンライン】RISC-Vギークナイト!高度でちょっと
ヲタクな技術談義を楽しもう! #ALGYAN
2020年12月17日(木)
柴田貴康 @shibatchii
発表を聞くにあたっての注意点
 あまり真剣に見ないでください。
 ボロが丸わかりです。
 あまり深く考えないでください。
 え~それって〇〇じゃん、こじつけだーってとこ多いです。
 笑って、和やかな心で見てください。
 その方が幸せになれます。
 メモ取って真剣に聞くような内容は出てきません。
 会社に帰って報告書書けなくっても知りません。
 @shibatchii個人の趣味のお話です。(会社ほぼ関係ナシ)
@shibatchii
自己紹介
@shibatchii
名前: 柴田貴康 @shibatchii
仕事:ASIC、FPGAの設計検証
某ゲーム機のDDR I/Fとか
本拠地は山口県宇部市 今は大阪市
趣味:オートバイでツーリング
FPGA,マイコン いじり IF誌連載
 ブログ:http://shibatchii.cocolog-nifty.com/blog/
 ホームページ:http://shibatchii.cool.coocan.jp/
 SlideShare:https://www.slideshare.net/TakayasuShibata/edit_my
_uploads
 Twitter:@shibatchii フォロー歓迎
さてさて、RISC-Vとは
@shibatchii
RISC-Vって知ってる?
1. よく知っている。ばっちり
2. なんか聞いたことある。興味ある
3. よく知らない
これから話すのは2.3.の方対象。
1.な方はまったりしておいてね。
@shibatchii
RISC-Vとは
もともとカリフォルニア大学バークレイで教育用として作ら
れていた。今はRISC-V財団→インターナショナルが管理
CPUの命令セット・アーキテクチャ (ISA)
グーグル、オラクル、ヒューレット・パッカード・エンター
プライズ(HPE)などが開発に参加
完全にオープンで自由に使える命令セットアーキテクチャ
アドレッシングは32/64/128bitサポート
注:無料のCPUコア IPでは無い
上記、Wikipedia参照しました。https://ja.wikipedia.org/wiki/RISC-V
詳細は FPGAマガジンNo.18とかRISC-VのWebページを参考にしてください。
@shibatchii
特徴
自由度が高い
必要なバス幅、命令セットを選んで構成できる
バスも自由:AMBA,Sonic,VME,オレオレバス,etc
メモリマップも自由:スタートベクタが途中にあっ
てもOK
独自命令を追加できる領域あり
命令セット構成例
RV32I MAFDQC
■ RV32I:基本命令 ■ M:乗徐算命令 ■ A:アトミック命令 ■ C:圧縮
■ F:単精度小数点 ■ D:倍精度小数点 ■ Q:4倍精度小数点 ■他にも L,B,J,T,P,V,Nなど有
ここまで必要ないなら、例えばRV32IMACだけでもOK @shibatchii
この並べ方にも規則があるよ
モジュール一覧
凍結(Freeze)となっているところは今後仕様が変わらない。
そうでないところはまだ検討中だったり、影も形もない。
@shibatchii
注:RV32G とか”G"の場合がある。GはGeneral purpose (汎用、一般的用途)
これは G=(IMAFD) と読み替える。つまりRV32G = RV32IMAFD
ベース バージョン 状態 内容
RVWMO 2.0 批准 弱いメモリの順序付けメモリモデル
RV32I 2.1 批准 32bitバス 32レジスタ
RV64I 2.1 批准 64bitバス 32レジスタ
RV32E 1.9 草案 32bitバス 16レジスタ
RV128I 1.7 草案 128bitバス 32レジスタ
拡張 バージョン 状態 内容
M 2.0 批准 乗除算
A 2.1 批准 アトミック
F 2.2 批准 浮動小数
D 2.2 批准 倍精度浮動小数
Q 2.2 批准 4倍精度浮動小数
C 2.0 批准 圧縮命令
Counters 2.0 草案 カウンター
L 0.0 草案 10進浮動小数
B 0.0 草案 ビット操作
J 0.0 草案 動的翻訳言語
T 0.0 草案 トランザクション的メモリ
P 0.2 草案 パックドSIMD命令
V 0.7 草案 ベクトル演算
Zicsr 2.0 批准 状態と制御レジスタ
Zifencei 2.0 批准 命令フェッチフェンス
Zam 0.1 草案 ミスアラインドアトミック
Ztso 0.1 凍結 トータルストアオーダー
G
I 基本命令一覧
@shibatchii
全47命令、ただし簡易な実装では黄、桃、赤色の泥臭い命令所
はSYSTEM命令1個、NOPに置き換えられるので38命令でOK
CSRはコントロール・ステータス・レジスタ
疑似命令
@shibatchii
 みんな大好きNOP命令が無い? nop
 大丈夫 addi x0,x0,0 で置き換え
 単純JUMPしたいんだけど? jmp offset
 jal x0,offset でいける
 戻ってくる命令ないじゃん? ret
 jalr x0,x1,0 を使うのさ
 2の補数を作りたいんだけど? neg rd,rs
 sub rd,x0,rs でやってちょ
これらはアセンブラが置き換えてくれる。他にも疑似命令いろいろ有。
★ x0レジスタは0固定になっているレジスタ
レジスタ一覧
@shibatchii
Microchip FPGA 実装例 32bitコア
@shibatchii
JTAG
割り込
み入力
周辺デバイス用AXI4
キャッシュ無し
メモリ用AXI4
キャッシュ有り
CLK
RESET
Catalogから
SmartDesignに持っ
てくるとこんな感じ
中身はSiFive's E31
Coreplex
Platform-Level Interrupt Controller
プラットフォームレベル割込制御
E31 Core
TileLink To AXI Brdge
タイルリンク-AXIブリッジ
Integer Multiplier/Divider
整数 乗算/除算
RV32IM コア
レジスタ 32本
JTAG TAP Controller
JTAGコントローラ
Clock-Domain Crossing
クロック載せ替え
Debug Transport Module
8KB Instruction Cache
8KB命令キャッシュ
8KB IData Cache
8KBデータキャッシュ
TileLink To AXI Brdge
タイルリンク-AXIブリッジ
Uncached TileLink Interconnect
CoreRISCV_AXI4
JTAG I/f
External
Interrupts
AXI4 MMIO I/F AXI4 Memory I/F
Clock
Reset
MicroChip PolaFire SoC FPGA 64bit
• DDR3/4、LPDDR3/4 コントローラおよびPHY を内蔵
• 物理的複製防止機能 (PUF)、物理的なメモリ保護(PMP)装備
• Linux SDK は Yoctoおよび Buildroot 環境で利用可
• RTOSはfreeRTOS,Zephyr,uC/OS,VXWORKS,THREADX,NUCLEUS など移植済
@shibatchii
細かいことはいいんだよ
ともかく、使ってみたい!
@shibatchii
シミュレータで動かす
@shibatchii
 Cコンパイラ、ライブラリなど、ダウンロードしてがんばって環境作る
 https://riscv.org/software-status/#c-compilers-and-libraries
 シミュレータをダウンロードして、がんばって 略)
 https://riscv.org/software-status/#simulators
 QEMUで動かす。↓このページは結構親切に書いてある
 https://risc-v-getting-started-guide.readthedocs.io/en/latest/
ボードで動かす
@shibatchii
 SiFive の HiFive1 RevB Freedomボード
 秋月電子で 6600円で購入可
 開発環境は Freedom E SDK
FPGAで動かす
@shibatchii
 Future Electronics の IGLOO2 Creativeボード
 Future Electronicsから16000円位で購入可
 開発環境は Microchip LiberoSoc,CoreConsole
 高度に政治的な理由により基板色が青→黄→赤と変わって
いる。
 Interface誌の連載で使用したボード
その他いろいろあるよ
@shibatchii
 SiFive HiFive Unmatched
80000円位
 M5Stack-V
3900円位
 BBC Doctor Who HiFive
Inventorキット
9000円位
 Sipeed Longan nano
800円位
 Microchip PolarFire SoC
Icicleキット
60000円位
 SeeedStudio GD32
RISC-V 開発ボード
1200円位
オススメの書籍、Web• FPGAマガジン No.18 Googleも推すオープンソースCPU RISC-Vづくり CQ出版社
• http://cc.cqpub.co.jp/lib/system/doclib_item/1149/
• https://shop.cqpub.co.jp/hanbai/books/46/46281.html
• RISC-V原典 オープンアーキテクチャのススメ 日経BP社
• https://www.nikkeibp.co.jp/atclpubmkt/book/18/269170/
コンピュータアーキテクチャ[第6版]定量的アプローチ
• https://books.rakuten.co.jp/rb/16074772/
• プログラマのためのFPGAによるRISC-Vマイコンの作り方 Kindle
堀江 徹也さん @tetsuya_horie
• https://www.amazon.co.jp/gp/product/B07G2CHSK3/ref=oh_aui_d_detail
page_o00_?ie=UTF8&psc=1
• FPGA開発日記 msyksphinzさん @dev_msyksphinz
• http://msyksphinz.hatenablog.com/
@shibatchii
RISC-V仕様書
RISC-Vの仕様書はここ。英語だよ。
https://riscv.org/technical/specifications/
@shibatchii
ISA仕様そのもの
割り込みとか
コントロール
レジスタとか
デバッグ仕様
トレース仕様
日本語訳の場所 @shibatchii翻訳
• GitHub
• https://github.com/shibatchii/RISC-V
• RISC-V_spec_manual_v2.2_jp.pdf (ちょっと古い)
• riscv-privileged-v1.10_jp.pdf (ちょっと古い)
• MSoffice Word、 LibreOffice Writer 形式も有
@shibatchii
ここからは時間があれば話すよ。
(ざっくばらんなお話)
@shibatchii
RISC-Vよもやま話
 NVIDIAにARMが買収されたけど影響は?
 NVIDIAが連結子会社みたいな形(ARMの名前残す)で
ちょっと距離を置くならあまり影響ないと考える。
 ただRISC-Vへの移行は加速。
 NVIDIAはRISC-Vのメンバなので強引にARMの技
術(有料)をRISC-Vに押し込んでくるのではないか
 仕様はワーキンググループで討議されるのでそれは無
い、場所移してまで中立にした意味がなくなる。
 それよりか、AMBA3兄弟(AXI,AHB,APB)を明日から
有料やで~ってなった方が業界ひっくり返す大騒ぎに
なるはず。 @shibatchii
ここ最近の話題
 Seagateがデータ・モビリティと信頼性を向上す
るRISC-Vコアを設計
 Micro Magicが64ビットRISC-Vコア開発
 5GHzクロック、1.1Vで1万3000のCoreMark
 4.25GHz 0.8V シングルコア 1万1000CoreMark、
消費電力はわずか200mW
@shibatchii
質問タイム
以上ここまで。
なにか質問あればどうそ。
なんでも良いですよ。
後で聞こうとか思わずここで聞こう。
みんなで情報共有できるよ。(^^)/
@shibatchii
ありがとうございました。
@shibatchii

More Related Content

What's hot

Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
Masakazu Asama
 

What's hot (20)

Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
本当にわかる Spectre と Meltdown
本当にわかる Spectre と Meltdown本当にわかる Spectre と Meltdown
本当にわかる Spectre と Meltdown
 
Gpu vs fpga
Gpu vs fpgaGpu vs fpga
Gpu vs fpga
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netReceive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
eBPFは何が嬉しいのか
eBPFは何が嬉しいのかeBPFは何が嬉しいのか
eBPFは何が嬉しいのか
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
RISC-Vの可能性
RISC-Vの可能性RISC-Vの可能性
RISC-Vの可能性
 
Sw技術者に送るfpga入門
Sw技術者に送るfpga入門Sw技術者に送るfpga入門
Sw技術者に送るfpga入門
 
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Microsemi FPGA はいいぞ,FPGAの紹介とおさそいMicrosemi FPGA はいいぞ,FPGAの紹介とおさそい
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
 
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能についてDeep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
 
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
 
ELFの動的リンク
ELFの動的リンクELFの動的リンク
ELFの動的リンク
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 
初めての Spanner 移行
初めての Spanner 移行初めての Spanner 移行
初めての Spanner 移行
 

Similar to RISC-Vの基礎、オバービュー(RISC-V basis-overview)

Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
 

Similar to RISC-Vの基礎、オバービュー(RISC-V basis-overview) (20)

FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器
 
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 
IoTLT 大阪 Vol.6
IoTLT 大阪 Vol.6IoTLT 大阪 Vol.6
IoTLT 大阪 Vol.6
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
 
OSC Tokyo 2013 Spring JRPUG
OSC Tokyo 2013 Spring JRPUGOSC Tokyo 2013 Spring JRPUG
OSC Tokyo 2013 Spring JRPUG
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
 
5月中旬の仮想通貨Re-orgについて
5月中旬の仮想通貨Re-orgについて5月中旬の仮想通貨Re-orgについて
5月中旬の仮想通貨Re-orgについて
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
 
Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT device
 
FPGAスタートアップ資料
FPGAスタートアップ資料FPGAスタートアップ資料
FPGAスタートアップ資料
 
「招待講演:ACRi ルームの小さな FPGA ボードで何がどこまでできるか」
「招待講演:ACRi ルームの小さな FPGA ボードで何がどこまでできるか」「招待講演:ACRi ルームの小さな FPGA ボードで何がどこまでできるか」
「招待講演:ACRi ルームの小さな FPGA ボードで何がどこまでできるか」
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
 
Introduction about microsemi company FPGA and its RISC-V correspondence and s...
Introduction about microsemi company FPGA and its RISC-V correspondence and s...Introduction about microsemi company FPGA and its RISC-V correspondence and s...
Introduction about microsemi company FPGA and its RISC-V correspondence and s...
 
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミングPYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
 
Build secure io t gateway
Build secure io t gatewayBuild secure io t gateway
Build secure io t gateway
 
NetBSD/Zynq
NetBSD/ZynqNetBSD/Zynq
NetBSD/Zynq
 
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
 

Recently uploaded

Recently uploaded (11)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

RISC-Vの基礎、オバービュー(RISC-V basis-overview)