Development of a parametric TAGE branch prediction unit for a RISC-V core
Visualitza/Obre
TFG_alex_torregrosa.pdf (3,416Mb) (Accés restringit)
Sol·licita una còpia a l'autor
Què és aquest botó?
Aquest botó permet demanar una còpia d'un document restringit a l'autor. Es mostra quan:
- Disposem del correu electrònic de l'autor
- El document té una mida inferior a 20 Mb
- Es tracta d'un document d'accés restringit per decisió de l'autor o d'un document d'accés restringit per política de l'editorial
Estadístiques de LA Referencia / Recolecta
Inclou dades d'ús des de 2022
Cita com:
hdl:2117/352565
Correu electrònic de l'autoralextorre98gmail.com
Realitzat a/ambSemidynamics Technology
Tipus de documentTreball Final de Grau
Data2021-07-22
Condicions d'accésAccés restringit per decisió de l'autor
(embargat fins 2028-01-01)
Tots els drets reservats. Aquesta obra està protegida pels drets de propietat intel·lectual i
industrial corresponents. Sense perjudici de les exempcions legals existents, queda prohibida la seva
reproducció, distribució, comunicació pública o transformació sense l'autorització del titular dels drets
Abstract
La predicció de salts és un component essencial de qualsevol processador modern. A mesura
que els pipelines creixen, la penalizació per mispredict es veu incrementada, i evitar-la és
clau per a obtenir un bon rendiment.
En aquest projecte, es desenvoluparà i implementarà una Unitat de Predicció de Salts per
a un processador comercial RISC-V de 64 bits (nom en clau Avispado). La unitat estarà
basada en el predictor de salts TAGE, il·lustrat per Seznec et al. l’any 2006. El predictor serà
completament parametritzable, per a permetre al futur una expansió fàcil.
El disseny estarà implementat íntegrament en SystemVerilog sintetitzable. Es mostraran els
resultats de la síntesi, analitzant l’àrea i el timing de la unitat. Primer, un banc de proves
autònom serà utilitzat, comparant diferents implementacions d’un predictor de salts que
porten cap al predictor TAGE. Després, es realitzaran algunes modificacions al predictor
perquè pugui reemplaçar al predictor existent a Avispado.
Múltiples configuracions del predictor TAGE seran comparades mitjançant l’execució de
benchmarks, estudiant com diferents pressupostos d’emmagatzematge afecten la ràtio de
mispredicts. La predicción de saltos es un componente esencial de cualquier procesador moderno. A
medida que los pipelines crecen, la penalización por mispredict se ve incrementada, y evitarla
es clave para obtener un buen rendimiento.
En este proyecto, se desarrollará e implementará una Unidad de Predicción de Saltos para
un procesador RISC-V de 64 bits comercial (nombre en clave Avispado). La unidad estará
basada en el predictor de saltos TAGE, ilustrado por Seznec et al. en 2006. El predictor será
completamente parametrizable, para permitir en el futuro una expansión fácil.
El diseño estará implementado íntegramente en SystemVerilog sintetizable. Se mostrarán los
resultados de la síntesis, analizando el área y el timing de la unidad. Primero, un banco de
pruebas autónomo será usado, comparando diferentes implementaciones de un predictor de
saltos que llevan hacia el predictor TAGE. Después, se realizarán algunas modificaciones al
predictor para que pueda reemplazar al predictor existente en Avispado.
Múltiples configuraciones del predictor TAGE serán comparadas mediante la ejecución de
benchmarks, estudiando como distintos presupuestos de almacenamiento afectan al ratio de
mispredicts. Branch prediction is a fundamental component of any modern processor. With growing
pipelines, the mispredict penalty gets higher, and avoiding it is key to obtain a good performance.
In this project, a Branch Prediction Unit for a commercial in-order 64-bit RISC-V core (code
named Avispado) will be developed and implemented. This unit will be based on the TAGE
branch predictor, showcased by Seznec et al. in 2006. The predictor will be fully parameterizable, to allow for easy future expansion.
The design will be fully implemented in synthesizable SystemVerilog. Synthesis results will
be provided, analyzing area and timing of the unit. First, a standalone testbench will be
used, comparing various branch predictor implementations that lead to the TAGE predictor.
Afterwards, some modifications will be made to allow the predictor to replace Avispado’s
existing branch predictor.
Multiple configurations will be compared and benchmarked, studying how different storage
budgets affect the misprediction rate.
TitulacióGRAU EN ENGINYERIA EN TECNOLOGIES INDUSTRIALS/GRAU EN ENGINYERIA INFORMÀTICA
Fitxers | Descripció | Mida | Format | Visualitza |
---|---|---|---|---|
TFG_alex_torregrosa.pdf | 3,416Mb | Accés restringit |