SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Writing Cadence Ocean scripts
Writing Cadence Ocean scriptsWriting Cadence Ocean scripts
Writing Cadence Ocean scripts
Michael Lee
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
 
Session 8,9 PCI Express
Session 8,9 PCI ExpressSession 8,9 PCI Express
Session 8,9 PCI Express
Subhash Iyer
 

Was ist angesagt? (20)

OODSA - BoW: Basic, Fast, Turbo Die-to Die Open Interface Solutions
OODSA - BoW: Basic, Fast, Turbo Die-to Die Open Interface SolutionsOODSA - BoW: Basic, Fast, Turbo Die-to Die Open Interface Solutions
OODSA - BoW: Basic, Fast, Turbo Die-to Die Open Interface Solutions
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIe
 
Trends and Recent Developments in Video Coding Standardization
Trends and Recent Developments in Video Coding StandardizationTrends and Recent Developments in Video Coding Standardization
Trends and Recent Developments in Video Coding Standardization
 
Making of an Application Specific Integrated Circuit
Making of an Application Specific Integrated CircuitMaking of an Application Specific Integrated Circuit
Making of an Application Specific Integrated Circuit
 
Vlsi
VlsiVlsi
Vlsi
 
Cadence
CadenceCadence
Cadence
 
Computer Aided Design: Global Routing
Computer Aided Design:  Global RoutingComputer Aided Design:  Global Routing
Computer Aided Design: Global Routing
 
Writing Cadence Ocean scripts
Writing Cadence Ocean scriptsWriting Cadence Ocean scripts
Writing Cadence Ocean scripts
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
Chapter1.slides
Chapter1.slidesChapter1.slides
Chapter1.slides
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
Study of vlsi design methodologies and limitations using cad tools for cmos t...
Study of vlsi design methodologies and limitations using cad tools for cmos t...Study of vlsi design methodologies and limitations using cad tools for cmos t...
Study of vlsi design methodologies and limitations using cad tools for cmos t...
 
Complete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSEComplete ASIC design flow - VLSI UNIVERSE
Complete ASIC design flow - VLSI UNIVERSE
 
End of Moore's Law?
End of Moore's Law? End of Moore's Law?
End of Moore's Law?
 
Intellectual property in vlsi
Intellectual property in vlsiIntellectual property in vlsi
Intellectual property in vlsi
 
finfet tsmc.pdf
finfet tsmc.pdffinfet tsmc.pdf
finfet tsmc.pdf
 
ASIC
ASICASIC
ASIC
 
Vlsi overview & career guidance
Vlsi overview & career guidanceVlsi overview & career guidance
Vlsi overview & career guidance
 
Session 8,9 PCI Express
Session 8,9 PCI ExpressSession 8,9 PCI Express
Session 8,9 PCI Express
 
Pd flow i
Pd flow iPd flow i
Pd flow i
 

Ähnlich wie Ripes tracking computer architecture throught visual and interactive simulators

186 devlin p-poster(2)
186 devlin p-poster(2)186 devlin p-poster(2)
186 devlin p-poster(2)
vaidehi87
 
The Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemThe Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging System
Melissa Luster
 
Top 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & AnalysisTop 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & Analysis
NomanSiddiqui41
 
Multi Processor Architecture for image processing
Multi Processor Architecture for image processingMulti Processor Architecture for image processing
Multi Processor Architecture for image processing
ideas2ignite
 

Ähnlich wie Ripes tracking computer architecture throught visual and interactive simulators (20)

Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”
Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”
Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”
 
Implementing AI: High Performance Architectures: Arm SVE and Supercomputer Fu...
Implementing AI: High Performance Architectures: Arm SVE and Supercomputer Fu...Implementing AI: High Performance Architectures: Arm SVE and Supercomputer Fu...
Implementing AI: High Performance Architectures: Arm SVE and Supercomputer Fu...
 
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core ArchitecturesPerformance Optimization of SPH Algorithms for Multi/Many-Core Architectures
Performance Optimization of SPH Algorithms for Multi/Many-Core Architectures
 
186 devlin p-poster(2)
186 devlin p-poster(2)186 devlin p-poster(2)
186 devlin p-poster(2)
 
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML AcceleratorsRISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
 
FUNDAMENTALS OF COMPUTER DESIGN
FUNDAMENTALS OF COMPUTER DESIGNFUNDAMENTALS OF COMPUTER DESIGN
FUNDAMENTALS OF COMPUTER DESIGN
 
SS-CPSIoT 2023_Kevin Mika and Piotr Zierhoffer presentation
SS-CPSIoT 2023_Kevin Mika and Piotr Zierhoffer presentationSS-CPSIoT 2023_Kevin Mika and Piotr Zierhoffer presentation
SS-CPSIoT 2023_Kevin Mika and Piotr Zierhoffer presentation
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
 
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio [Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
 
The Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemThe Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging System
 
Microcontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basicsMicrocontroller pic 16f877 architecture and basics
Microcontroller pic 16f877 architecture and basics
 
HiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentationHiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentation
 
Mirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP LibraryMirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP Library
 
LEGaTO: Software Stack Runtimes
LEGaTO: Software Stack RuntimesLEGaTO: Software Stack Runtimes
LEGaTO: Software Stack Runtimes
 
Top 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & AnalysisTop 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & Analysis
 
System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J Greaves
 
Multi Processor Architecture for image processing
Multi Processor Architecture for image processingMulti Processor Architecture for image processing
Multi Processor Architecture for image processing
 
IJCRT2006062.pdf
IJCRT2006062.pdfIJCRT2006062.pdf
IJCRT2006062.pdf
 
Ch2 embedded processors-i
Ch2 embedded processors-iCh2 embedded processors-i
Ch2 embedded processors-i
 
Villar presentation.pdf
Villar presentation.pdfVillar presentation.pdf
Villar presentation.pdf
 

Mehr von RISC-V International

Mehr von 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 Zce Extension
RISC-V Zce ExtensionRISC-V Zce Extension
RISC-V Zce Extension
 
RISC-V Online Tutor
RISC-V Online TutorRISC-V Online Tutor
RISC-V Online Tutor
 
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 Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
 
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...
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
 
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
 
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
 
Security and functional safety
Security and functional safetySecurity and functional safety
Security and functional safety
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket Chip
 
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 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 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
 
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 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 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 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
 
Porting tock to open titan
Porting tock to open titanPorting tock to open titan
Porting tock to open titan
 
Open j9 jdk on RISC-V
Open j9 jdk on RISC-VOpen j9 jdk on RISC-V
Open j9 jdk on RISC-V
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

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 morten_bp@live.dk 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