SlideShare a Scribd company logo
Information Classification: General
December 8-10 | Virtual Event
Information Classification: General
December 8-10 | Virtual Event
Ripes
Teaching Computer Architecture Through
Visual and Interactive Simulators
#RISCVSUMMIT Morten Borup Petersen
Information Classification: General
About me
● 2015 - 2019 : B.Sc. EE @ DTU - Technical University of Denmark
● Spring 2019 : Intern embedded software engineer @ ARM Cambridge
● 2019 - now : M.Sc. CS @ EPFL - École polytechnique fédérale de Lausanne
Agenda
● Educational simulators and motivation for Ripes
● Demo 1: Ripes overview, usage & processor models
● Ripes - What’s inside? VSRTL
● Demo 2: C Integration & cache simulation
Information Classification: General
Undergraduate course coverage:
1. ISAs & assembly level programming
2. Microarchitecture
● Single-cycle, pipelined
● Hazards, forwarding
● Memory system
Teaching computer architecture
Why not have a single application
to experiment with all of the core
concepts while unifying simulator
capabilities?
Simulator capabilities*:
● Online (Venus, Vulcan, ...) ⇨ Zero setup
● Functional (Spike, QEMU, ...) ⇨ Efficiently execute binaries
● Visual (WebRISC-V, ...) ⇨ Investigate datapath during execution
Information Classification: General
In books...
Information Classification: General
What makes a good educational simulator?
1. Little/no setup
2. Eliminate sources of frustration
3. Make it visual
4. Make it capable
The simulator should make you want to explore RISC-V!
Simulator requirements
First point of contact - make it enjoyable!
Information Classification: General
Ripes
“A visual processor simulator and assembly editor for the RISC-V ISA”
ISA & Implementations
● Simulates various in-order architectures
● Implements the RV32(I/M) instruction set
Editor & Interaction
● Integrated assembly editor
● Interactive memory viewer
● Animated datapath
High(er) level concepts
● Cache simulation
● C toolchain integration
Information Classification: General
Ripes has been used at ...
And others...
Information Classification: General
Ripes - Timeline
2017
2018
2019
2020
Initial commit
(ISA simulator)
5-stage pipeline
visualization, built-in
assembler & editor
VSRTL initial commit
(circuit visualization
framework)
Simulator & visualization
overhaul (VSRTL) ⇨ multiple
processor models
Cache simulation, C
toolchain integration
2021
Information Classification: General
Ripes - Editor
Simulator controls
Stage contents
Source code Disassembled
executable
Information Classification: General
Ripes - Processor Animated datapath
Register view
Instruction view
Information Classification: General
Ripes - Processor
Information Classification: General
Ripes - Memory
Scrollable memory
view
Cache geometry
configuration
Cache policy
configuration
Cache access
statistics
Cache animation
Information Classification: General
Demo 1: Ripes overview, usage & processor models
Information Classification: General
Ripes v1.0: Some lessons learned
1. Circuit description: Need a correct and versatile simulation framework
● Allows for design modification
● Multiple processor designs
2. Graphics: Circuit visualization should be generated from circuit description
● Allows for interaction with circuit (highlighting wires, show/hide components etc.)
3. Simulation: Need ability to step back and forward in time
● Allows for investigating interesting pipeline situations
What’s Inside?
Conclusion:
1. Needed a framework to provide all of the above
2. Notably, these requirements may be fully decoupled from the notion
of “simulating a processor”
Information Classification: General
Visual Simulation of Register Transfer Logic
A framework for describing cycle-accurate simulators which provides an automatically generated visualization of
the simulated circuit
What’s Inside? - VSRTL
Information Classification: General
VSRTL
Graphics
VSRTL
Components
VSRTL
Core
What’s inside? - VSRTL
VSRTL Architecture
Circuit description
● (Simple) HDL embedded in C++
● Simulator, circuit primitives (ports, entities, wires, …)
● VSRTL Standard library: logic gates, registers, multiplexers, …
● Component widgets
● Reflect simulator state changes
● Visualization “place and route”
Ripes processor models
Information Classification: General
VSRTL
Graphics
VSRTL
Components
VSRTL
Core
What’s inside? - VSRTL
VSRTL Architecture
…
*: VSRTL Core was/is an interesting exercise but we should be able
to visualize circuits generated through commonly used HDLs
Future:
● Add FIRRTL parser/simulator backend
⇨ Chisel will have a simulator with visualization
VSRTL Graphics decoupled from VSRTL Core
● Why? No one needs another HDL*
● VSRTL Graphics expects some simulator
backend adhering to its interface
Information Classification: General
● Ships with 4 processor models
- Single cycle
- 5 stage
- 5 stage w/o hazard detection
- 5 stage w/o forwarding or hazard
detection
● Different views for each processor model
● Interactive
● Reversible simulation
Ripes v2
VSRTL Integration
Information Classification: General
● Ships with 4 processor models
● Different views for each processor model
- Standard
- Extended
+ control, forwarding, hazard units
+ port widths
● Interactive
● Reversible simulation
Ripes v2
VSRTL Integration
Information Classification: General
● Ships with 4 processor models
● Different views for each processor model
● Interactive
- Port values (w/ radix selection)
- Wire highlighting
● Reversible simulation
Ripes v2
VSRTL Integration
Information Classification: General
Demo 2: C Integration & cache simulation
Information Classification: General
Going further...
Low-hanging fruit Beyond the basics VSRTL
Branch prediction
I/O Out-of-order
Processors
ALU
ALU FPU LSU
IM
Sched
RF
?
Information Classification: General
December 8-10 | Virtual Event
Ripes on GitHub:
github.com/mortbopet/Ripes
morten_bp@live.dk
linkedin.com/in/mortbopet/
Information Classification: General
December 8-10 | Virtual Event
Thank you for joining us.
Contribute to the RISC-V conversation on social!
#RISCVSUMMIT @risc_v

More Related Content

What's hot (20)

【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
dena_genom
 
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
 
人工知能とゲーム(後篇)
人工知能とゲーム(後篇)人工知能とゲーム(後篇)
人工知能とゲーム(後篇)
Youichiro Miyake
 
50分でわかるブループリントについて
50分でわかるブループリントについて50分でわかるブループリントについて
50分でわかるブループリントについて
Masahiko Nakamura
 
Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Lighting and Post Processing on PLAYSTATION®3Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Lighting and Post Processing on PLAYSTATION®3
Slide_N
 
Microprocessor ppt
Microprocessor pptMicroprocessor ppt
Microprocessor ppt
swaminath kanhere
 
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
Mio Ku-tani
 
AI基礎
AI基礎AI基礎
AI基礎
com044
 
5分でわかる Sensor SDK
5分でわかる Sensor SDK5分でわかる Sensor SDK
5分でわかる Sensor SDK
UnityTechnologiesJapan002
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
Hiroki Nakahara
 
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow) UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
Kouji Ohno
 
MRTK3を調べてみた
MRTK3を調べてみたMRTK3を調べてみた
MRTK3を調べてみた
Takahiro Miyaura
 
UniRxことはじめ
UniRxことはじめUniRxことはじめ
UniRxことはじめ
Shoichi Yasui
 
Level Design Challenges & Solutions - Mirror's Edge
Level Design Challenges & Solutions - Mirror's EdgeLevel Design Challenges & Solutions - Mirror's Edge
Level Design Challenges & Solutions - Mirror's Edge
Electronic Arts / DICE
 
게임개발자 직업체험의날 배포용
게임개발자 직업체험의날 배포용게임개발자 직업체험의날 배포용
게임개발자 직업체험의날 배포용
영욱 오
 
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方
Kouji Ohno
 
Autobahn primer
Autobahn primerAutobahn primer
Autobahn primer
Robbie Byrd
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術
Youichiro Miyake
 
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
dena_genom
 
人工知能とゲーム(後篇)
人工知能とゲーム(後篇)人工知能とゲーム(後篇)
人工知能とゲーム(後篇)
Youichiro Miyake
 
50分でわかるブループリントについて
50分でわかるブループリントについて50分でわかるブループリントについて
50分でわかるブループリントについて
Masahiko Nakamura
 
Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Lighting and Post Processing on PLAYSTATION®3Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Lighting and Post Processing on PLAYSTATION®3
Slide_N
 
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
Mio Ku-tani
 
AI基礎
AI基礎AI基礎
AI基礎
com044
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
Hiroki Nakahara
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
Kouji Ohno
 
UniRxことはじめ
UniRxことはじめUniRxことはじめ
UniRxことはじめ
Shoichi Yasui
 
Level Design Challenges & Solutions - Mirror's Edge
Level Design Challenges & Solutions - Mirror's EdgeLevel Design Challenges & Solutions - Mirror's Edge
Level Design Challenges & Solutions - Mirror's Edge
Electronic Arts / DICE
 
게임개발자 직업체험의날 배포용
게임개발자 직업체험의날 배포용게임개발자 직업체험의날 배포용
게임개발자 직업체험의날 배포용
영욱 오
 
「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方
Kouji Ohno
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術
Youichiro Miyake
 

Similar to Ripes tracking computer architecture throught visual and interactive simulators (20)

RISC-V Online Tutor
RISC-V Online TutorRISC-V Online Tutor
RISC-V Online Tutor
RISC-V International
 
RISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor FamilyRISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V International
 
WebRISC-V A web-based educational simulator for visualising RISC-V pipeline c...
WebRISC-V A web-based educational simulator for visualising RISC-V pipeline c...WebRISC-V A web-based educational simulator for visualising RISC-V pipeline c...
WebRISC-V A web-based educational simulator for visualising RISC-V pipeline c...
giorgi902732
 
Literature Summary.pptx
Literature Summary.pptxLiterature Summary.pptx
Literature Summary.pptx
Hazoor Ahmad
 
The Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-VThe Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-V
C4Media
 
RISC-V software state of the union
RISC-V software state of the unionRISC-V software state of the union
RISC-V software state of the union
RISC-V International
 
RISC-V and open source chip design
RISC-V and open source chip designRISC-V and open source chip design
RISC-V and open source chip design
Drew Fustini
 
Linux on RISC-V
Linux on RISC-VLinux on RISC-V
Linux on RISC-V
Drew Fustini
 
12.10-16.40-RISC-V_Stefan_Wallentowitz.pdf
12.10-16.40-RISC-V_Stefan_Wallentowitz.pdf12.10-16.40-RISC-V_Stefan_Wallentowitz.pdf
12.10-16.40-RISC-V_Stefan_Wallentowitz.pdf
MeryemSERTTAOLU
 
Berlin Embedded Linux meetup: How to Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-VBerlin Embedded Linux meetup: How to Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-V
Drew Fustini
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
Drew Fustini
 
Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)
Drew Fustini
 
Educating the computer architects of tomorrow's critical systems with RISC-V
Educating the computer architects of tomorrow's critical systems with RISC-VEducating the computer architects of tomorrow's critical systems with RISC-V
Educating the computer architects of tomorrow's critical systems with RISC-V
RISC-V International
 
Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)
Drew Fustini
 
RISC-V Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
Yi-Hsiu Hsu
 
Linux on RISC-V
Linux on RISC-VLinux on RISC-V
Linux on RISC-V
Drew Fustini
 
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Drew Fustini
 
How to run Linux on RISC-V
How to run Linux on RISC-VHow to run Linux on RISC-V
How to run Linux on RISC-V
Drew Fustini
 
Bsdtw17: arun thomas: risc v berkeley hardware for your berkeley software dis...
Bsdtw17: arun thomas: risc v berkeley hardware for your berkeley software dis...Bsdtw17: arun thomas: risc v berkeley hardware for your berkeley software dis...
Bsdtw17: arun thomas: risc v berkeley hardware for your berkeley software dis...
Scott Tsai
 
RISC-V Summit 2020: The Next Ten Years
RISC-V Summit 2020: The Next Ten YearsRISC-V Summit 2020: The Next Ten Years
RISC-V Summit 2020: The Next Ten Years
RISC-V International
 
RISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor FamilyRISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V NOEL-V - A new high performance RISC-V Processor Family
RISC-V International
 
WebRISC-V A web-based educational simulator for visualising RISC-V pipeline c...
WebRISC-V A web-based educational simulator for visualising RISC-V pipeline c...WebRISC-V A web-based educational simulator for visualising RISC-V pipeline c...
WebRISC-V A web-based educational simulator for visualising RISC-V pipeline c...
giorgi902732
 
Literature Summary.pptx
Literature Summary.pptxLiterature Summary.pptx
Literature Summary.pptx
Hazoor Ahmad
 
The Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-VThe Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-V
C4Media
 
RISC-V software state of the union
RISC-V software state of the unionRISC-V software state of the union
RISC-V software state of the union
RISC-V International
 
RISC-V and open source chip design
RISC-V and open source chip designRISC-V and open source chip design
RISC-V and open source chip design
Drew Fustini
 
12.10-16.40-RISC-V_Stefan_Wallentowitz.pdf
12.10-16.40-RISC-V_Stefan_Wallentowitz.pdf12.10-16.40-RISC-V_Stefan_Wallentowitz.pdf
12.10-16.40-RISC-V_Stefan_Wallentowitz.pdf
MeryemSERTTAOLU
 
Berlin Embedded Linux meetup: How to Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-VBerlin Embedded Linux meetup: How to Linux on RISC-V
Berlin Embedded Linux meetup: How to Linux on RISC-V
Drew Fustini
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
Drew Fustini
 
Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)Linux on RISC-V (ELC 2020)
Linux on RISC-V (ELC 2020)
Drew Fustini
 
Educating the computer architects of tomorrow's critical systems with RISC-V
Educating the computer architects of tomorrow's critical systems with RISC-VEducating the computer architects of tomorrow's critical systems with RISC-V
Educating the computer architects of tomorrow's critical systems with RISC-V
RISC-V International
 
Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)
Drew Fustini
 
RISC-V Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
Yi-Hsiu Hsu
 
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Drew Fustini
 
How to run Linux on RISC-V
How to run Linux on RISC-VHow to run Linux on RISC-V
How to run Linux on RISC-V
Drew Fustini
 
Bsdtw17: arun thomas: risc v berkeley hardware for your berkeley software dis...
Bsdtw17: arun thomas: risc v berkeley hardware for your berkeley software dis...Bsdtw17: arun thomas: risc v berkeley hardware for your berkeley software dis...
Bsdtw17: arun thomas: risc v berkeley hardware for your berkeley software dis...
Scott Tsai
 
RISC-V Summit 2020: The Next Ten Years
RISC-V Summit 2020: The Next Ten YearsRISC-V Summit 2020: The Next Ten Years
RISC-V Summit 2020: The Next Ten Years
RISC-V International
 
Ad

More from RISC-V International (20)

WD RISC-V inliner work effort
WD RISC-V inliner work effortWD RISC-V inliner work effort
WD RISC-V inliner work effort
RISC-V International
 
RISC-V Zce Extension
RISC-V Zce ExtensionRISC-V Zce Extension
RISC-V Zce Extension
RISC-V International
 
London Open Source Meetup for RISC-V
London Open Source Meetup for RISC-VLondon Open Source Meetup for RISC-V
London Open Source Meetup for RISC-V
RISC-V International
 
RISC-V Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
RISC-V International
 
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...
Ziptillion   boosting RISC-V with an efficient and os transparent memory comp...Ziptillion   boosting RISC-V with an efficient and os transparent memory comp...
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...
RISC-V International
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
RISC-V International
 
Standardizing the tee with global platform and RISC-V
Standardizing the tee with global platform and RISC-VStandardizing the tee with global platform and RISC-V
Standardizing the tee with global platform and RISC-V
RISC-V International
 
Semi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V coresSemi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V cores
RISC-V International
 
Security and functional safety
Security and functional safetySecurity and functional safety
Security and functional safety
RISC-V International
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket Chip
RISC-V International
 
RISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_genRISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V International
 
RISC-V 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
RISC-V International
 
RISC-V 30907 summit 2020 joint picocom_mentor
RISC-V 30907 summit 2020 joint picocom_mentorRISC-V 30907 summit 2020 joint picocom_mentor
RISC-V 30907 summit 2020 joint picocom_mentor
RISC-V International
 
RISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmwareRISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmware
RISC-V International
 
RISC-V 30946 manuel_offenberg_v3_notes
RISC-V 30946 manuel_offenberg_v3_notesRISC-V 30946 manuel_offenberg_v3_notes
RISC-V 30946 manuel_offenberg_v3_notes
RISC-V International
 
Porting tock to open titan
Porting tock to open titanPorting tock to open titan
Porting tock to open titan
RISC-V International
 
Open j9 jdk on RISC-V
Open j9 jdk on RISC-VOpen j9 jdk on RISC-V
Open j9 jdk on RISC-V
RISC-V International
 
Open source manufacturable pdk for sky water 130nm process node
Open source manufacturable pdk for sky water 130nm process nodeOpen source manufacturable pdk for sky water 130nm process node
Open source manufacturable pdk for sky water 130nm process node
RISC-V International
 
Online test program generator for RISC-V processors
Online test program generator for RISC-V processorsOnline test program generator for RISC-V processors
Online test program generator for RISC-V processors
RISC-V International
 
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
RISC-V International
 
London Open Source Meetup for RISC-V
London Open Source Meetup for RISC-VLondon Open Source Meetup for RISC-V
London Open Source Meetup for RISC-V
RISC-V International
 
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...
Ziptillion   boosting RISC-V with an efficient and os transparent memory comp...Ziptillion   boosting RISC-V with an efficient and os transparent memory comp...
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...
RISC-V International
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
RISC-V International
 
Standardizing the tee with global platform and RISC-V
Standardizing the tee with global platform and RISC-VStandardizing the tee with global platform and RISC-V
Standardizing the tee with global platform and RISC-V
RISC-V International
 
Semi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V coresSemi dynamics high bandwidth vector capable RISC-V cores
Semi dynamics high bandwidth vector capable RISC-V cores
RISC-V International
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket Chip
RISC-V International
 
RISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_genRISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V 30910 kassem_ summit 2020 - so_c_gen
RISC-V International
 
RISC-V 30907 summit 2020 joint picocom_mentor
RISC-V 30907 summit 2020 joint picocom_mentorRISC-V 30907 summit 2020 joint picocom_mentor
RISC-V 30907 summit 2020 joint picocom_mentor
RISC-V International
 
RISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmwareRISC-V 30906 hex five multi_zone iot firmware
RISC-V 30906 hex five multi_zone iot firmware
RISC-V International
 
RISC-V 30946 manuel_offenberg_v3_notes
RISC-V 30946 manuel_offenberg_v3_notesRISC-V 30946 manuel_offenberg_v3_notes
RISC-V 30946 manuel_offenberg_v3_notes
RISC-V International
 
Open source manufacturable pdk for sky water 130nm process node
Open source manufacturable pdk for sky water 130nm process nodeOpen source manufacturable pdk for sky water 130nm process node
Open source manufacturable pdk for sky water 130nm process node
RISC-V International
 
Online test program generator for RISC-V processors
Online test program generator for RISC-V processorsOnline test program generator for RISC-V processors
Online test program generator for RISC-V processors
RISC-V International
 
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
RISC-V International
 
Ad

Recently uploaded (20)

“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
Edge AI and Vision Alliance
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Infrassist Technologies Pvt. Ltd.
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Ben Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding WorldBen Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry ReportThe State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdfArtificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
Edge AI and Vision Alliance
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Infrassist Technologies Pvt. Ltd.
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Ben Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding WorldBen Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry ReportThe State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdfArtificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 

Ripes tracking computer architecture throught visual and interactive simulators

  • 2. Information Classification: General December 8-10 | Virtual Event Ripes Teaching Computer Architecture Through Visual and Interactive Simulators #RISCVSUMMIT Morten Borup Petersen
  • 3. Information Classification: General About me ● 2015 - 2019 : B.Sc. EE @ DTU - Technical University of Denmark ● Spring 2019 : Intern embedded software engineer @ ARM Cambridge ● 2019 - now : M.Sc. CS @ EPFL - École polytechnique fédérale de Lausanne Agenda ● Educational simulators and motivation for Ripes ● Demo 1: Ripes overview, usage & processor models ● Ripes - What’s inside? VSRTL ● Demo 2: C Integration & cache simulation
  • 4. Information Classification: General Undergraduate course coverage: 1. ISAs & assembly level programming 2. Microarchitecture ● Single-cycle, pipelined ● Hazards, forwarding ● Memory system Teaching computer architecture Why not have a single application to experiment with all of the core concepts while unifying simulator capabilities? Simulator capabilities*: ● Online (Venus, Vulcan, ...) ⇨ Zero setup ● Functional (Spike, QEMU, ...) ⇨ Efficiently execute binaries ● Visual (WebRISC-V, ...) ⇨ Investigate datapath during execution
  • 6. Information Classification: General What makes a good educational simulator? 1. Little/no setup 2. Eliminate sources of frustration 3. Make it visual 4. Make it capable The simulator should make you want to explore RISC-V! Simulator requirements First point of contact - make it enjoyable!
  • 7. Information Classification: General Ripes “A visual processor simulator and assembly editor for the RISC-V ISA” ISA & Implementations ● Simulates various in-order architectures ● Implements the RV32(I/M) instruction set Editor & Interaction ● Integrated assembly editor ● Interactive memory viewer ● Animated datapath High(er) level concepts ● Cache simulation ● C toolchain integration
  • 8. Information Classification: General Ripes has been used at ... And others...
  • 9. Information Classification: General Ripes - Timeline 2017 2018 2019 2020 Initial commit (ISA simulator) 5-stage pipeline visualization, built-in assembler & editor VSRTL initial commit (circuit visualization framework) Simulator & visualization overhaul (VSRTL) ⇨ multiple processor models Cache simulation, C toolchain integration 2021
  • 10. Information Classification: General Ripes - Editor Simulator controls Stage contents Source code Disassembled executable
  • 11. Information Classification: General Ripes - Processor Animated datapath Register view Instruction view
  • 13. Information Classification: General Ripes - Memory Scrollable memory view Cache geometry configuration Cache policy configuration Cache access statistics Cache animation
  • 14. Information Classification: General Demo 1: Ripes overview, usage & processor models
  • 15. Information Classification: General Ripes v1.0: Some lessons learned 1. Circuit description: Need a correct and versatile simulation framework ● Allows for design modification ● Multiple processor designs 2. Graphics: Circuit visualization should be generated from circuit description ● Allows for interaction with circuit (highlighting wires, show/hide components etc.) 3. Simulation: Need ability to step back and forward in time ● Allows for investigating interesting pipeline situations What’s Inside? Conclusion: 1. Needed a framework to provide all of the above 2. Notably, these requirements may be fully decoupled from the notion of “simulating a processor”
  • 16. Information Classification: General Visual Simulation of Register Transfer Logic A framework for describing cycle-accurate simulators which provides an automatically generated visualization of the simulated circuit What’s Inside? - VSRTL
  • 17. Information Classification: General VSRTL Graphics VSRTL Components VSRTL Core What’s inside? - VSRTL VSRTL Architecture Circuit description ● (Simple) HDL embedded in C++ ● Simulator, circuit primitives (ports, entities, wires, …) ● VSRTL Standard library: logic gates, registers, multiplexers, … ● Component widgets ● Reflect simulator state changes ● Visualization “place and route” Ripes processor models
  • 18. Information Classification: General VSRTL Graphics VSRTL Components VSRTL Core What’s inside? - VSRTL VSRTL Architecture … *: VSRTL Core was/is an interesting exercise but we should be able to visualize circuits generated through commonly used HDLs Future: ● Add FIRRTL parser/simulator backend ⇨ Chisel will have a simulator with visualization VSRTL Graphics decoupled from VSRTL Core ● Why? No one needs another HDL* ● VSRTL Graphics expects some simulator backend adhering to its interface
  • 19. Information Classification: General ● Ships with 4 processor models - Single cycle - 5 stage - 5 stage w/o hazard detection - 5 stage w/o forwarding or hazard detection ● Different views for each processor model ● Interactive ● Reversible simulation Ripes v2 VSRTL Integration
  • 20. Information Classification: General ● Ships with 4 processor models ● Different views for each processor model - Standard - Extended + control, forwarding, hazard units + port widths ● Interactive ● Reversible simulation Ripes v2 VSRTL Integration
  • 21. Information Classification: General ● Ships with 4 processor models ● Different views for each processor model ● Interactive - Port values (w/ radix selection) - Wire highlighting ● Reversible simulation Ripes v2 VSRTL Integration
  • 22. Information Classification: General Demo 2: C Integration & cache simulation
  • 23. Information Classification: General Going further... Low-hanging fruit Beyond the basics VSRTL Branch prediction I/O Out-of-order Processors ALU ALU FPU LSU IM Sched RF ?
  • 24. Information Classification: General December 8-10 | Virtual Event Ripes on GitHub: github.com/mortbopet/Ripes [email protected] linkedin.com/in/mortbopet/
  • 25. Information Classification: General December 8-10 | Virtual Event Thank you for joining us. Contribute to the RISC-V conversation on social! #RISCVSUMMIT @risc_v