ProtoCPU: Modelling an In-Order RISC-V Core in gem5
summary
ProtoCPU is a 5-stage in-order RISC-V CPU model implemented in C++ inside gem5 that targets cycle-accurate C-class processors and runs bare-metal full-system simulations. It includes a primitive UART, a Python-based ProtoViewer pipeline viewer that visualizes traces (example: cycles 232–234 show mixed compressed and uncompressed decode), and an operand-forward unit that resolves RAW hazards by stalling until writeback. Integration uses gem5’s base CPU class and exec context; limitation: gem5’s RISC-V ISA implementation lacks official guarantees.
AI-written summary · about
chapters (11)
- 0:00Introduction to ProtoCPU
- 0:15Understanding Gem5
- 1:04Developing the CPU Model
- 2:05Simulation Workflow
- 3:31Pipeline Implementation
- 4:52UART and Pipeline Viewer
- 5:24Handling Instructions
- 6:46Hazard Management
- 7:35Gem5 Integration
- 8:43Merits and Limitations
- 9:43Conclusion
related talks
10mRISC5: Improving Support For RISC-V In Gem5
22mRISC-V Perf-Model: An Open Source Cycle Accurate Performance Mo...
01h 01mThe Genius of the RISC-V Microprocessor
18mGPU Program Support on RISC-V GPU
11mDriving SoC Innovation with Synopsys RISC-V Solutions
17mDemo: RISC-V Models for Verification, Software Development and Architectural Explor...
16mState of the Union for Olympia: A RISC-V OoO Processor Model for Community-Use
11mUsing Pyrope To Create Transformable RISC V Architectures
