Implementation and Evaluation of Branch Predictors on RISC-V
dc.contributor.advisor | Haro-Ruiz, Leonel | |
dc.contributor.author | Martínez-Aceves, Braulio I. | |
dc.date.accessioned | 2025-09-10T23:20:46Z | |
dc.date.available | 2025-09-10T23:20:46Z | |
dc.date.issued | 2025-08 | |
dc.description.abstract | This work studies three branch prediction schemes for a pipelined RV32I core with a Reorder Buffer: an N-bit counter, a Global History Register (GHR) indexed counter array, and Gshare. The design integrates a Branch Target Buffer split into unconditional and conditional structures. Each predictor is modeled in C++ using the CBP 2016 framework to measure MPKI under an 8 KB storage budget. The algorithms are implemented in SystemVerilog, integrated into the RTL, and synthesized on an Intel MAX 10 FPGA. We also document a reproducible bare-metal build and load flow for C code: cross-compilation, linker script setup, memory image generation, and RTL loading. RTL simulation evaluates IPC and total cycles on Dhrystone, Qsort, and CoreMark workloads. C++ results show that Gshare reduces MPKI by 85.25% relative to a No BPU baseline with the same storage and outperforms GHR using the same counter and index settings. RTL results with a 15-bit index for simulation (7-bit index in synthesis due to resources) confirm the trend. Averaged across the three workloads, Gshare improves MPKI by 62.77%, IPC by 17.44%, and total cycles by 14.23% versus No BPU. Synthesis reports show modest hardware cost compared to baseline (about 38–40% more logic elements) and a small reduction in Fmax (about 8–10%). The results indicate that simple global-history predictors, and in particular Gshare, provide large accuracy and performance gains with minimal architectural complexity. | |
dc.identifier.citation | Martínez-Aceves, B. I. (2025). Implementation and evaluation of branch predictors on RISC-V. Trabajo de obtención de grado, Maestría en Diseño Electrónico. Tlaquepaque, Jalisco: ITESO. | |
dc.identifier.uri | https://hdl.handle.net/11117/11845 | |
dc.language.iso | eng | |
dc.publisher | ITESO | |
dc.rights.uri | https://creativecommons.org/licenses/by-nc/4.0/deed.es | |
dc.subject | Branch Prediction | |
dc.subject | CPU | |
dc.subject | FPGA | |
dc.subject | RISC-V | |
dc.subject | System Verilog | |
dc.title | Implementation and Evaluation of Branch Predictors on RISC-V | |
dc.type | info:eu-repo/semantics/masterThesis | |
dc.type.version | info:eu-repo/semantics/publishedVersion |