Enabling Virtual Memory Research on RISC-V with a Configurable TLB Hierarchy for the Rocket Chip Generator
Nikolaos Charalampos Papadopoulos, Vasileios Karakostas, Konstantinos, Nikas, Nectarios Koziris, Dionisios N. Pnevmatikatos

TL;DR
This paper enhances the Rocket Chip Generator's memory management by introducing configurable, set-associative TLB hierarchies, enabling flexible performance-resource trade-offs for RISC-V SoCs, and evaluates their impact on benchmarks.
Contribution
It introduces a configurable TLB hierarchy for Rocket Chip, allowing customizable organization from direct-mapped to fully-associative structures.
Findings
Configurable TLBs improve performance-resource balance.
Performance varies with TLB configuration on FPGA.
Design achieves flexible TLB architectures for RISC-V chips.
Abstract
The Rocket Chip Generator uses a collection of parameterized processor components to produce RISC-V-based SoCs. It is a powerful tool that can produce a wide variety of processor designs ranging from tiny embedded processors to complex multi-core systems. In this paper we extend the features of the Memory Management Unit of the Rocket Chip Generator and specifically the TLB hierarchy. TLBs are essential in terms of performance because they mitigate the overhead of frequent Page Table Walks, but may harm the critical path of the processor due to their size and/or associativity. In the original Rocket Chip implementation the L1 Instruction/Data TLB is fully-associative and the shared L2 TLB is direct-mapped. We lift these restrictions and design and implement configurable, set-associative L1 and L2 TLB templates that can create any organization from direct-mapped to fully-associative to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Interconnection Networks and Systems · Embedded Systems Design Techniques
