Vis enkel innførsel

dc.contributor.advisorSjälander, Magnus
dc.contributor.advisorKvalsvik, Amund Bergland
dc.contributor.authorYoung, Marcus Stensby
dc.date.accessioned2023-09-30T17:19:59Z
dc.date.available2023-09-30T17:19:59Z
dc.date.issued2023
dc.identifierno.ntnu:inspera:143674355:59512244
dc.identifier.urihttps://hdl.handle.net/11250/3093276
dc.description.abstractDette prosjektet har som mål å optimalisere minnesystemet til RISC-V Berkeley Out-of-Order Machine (BOOM) prosessorkjernen ved å forbedre håndteringen av instruksjoner som bommer i L1 cachen i Load-Store enheten (LSU). Før arbeidet på BOOM kjernen var håndteringer av bom i L1 cachen når det var ingen ledige Miss Status Holding Registers (MSHRs) lite effektiv, og har blitt optimalisert ved å implementere wakeup-logikk. Denne logikken fyrer av relevante load instruksjoner kun når en MSHR blir ledig, noe som reduserer unødvendig aktivitet mellom LSU og cache. Wakeup-logikken har redusert antall forespørsler som blir markert som "ikke godkjent" (nack) av cachen med omtrent 30%. Videre har ytelsen til det nye designet blitt testet med SPEC CPU® 2017 på en FPGA, noe som har vist at wakeup-implementasjonen har en sammenlignbar ytelse med basis-implementasjonen. Wakeup-implementasjonen har optimal ytelse når antallet load instruksjoner utgjør 20% til 28% av det totale antall instruksjoner. Implementasjonen er lovende, og fremtidig arbeid burde fokusere på å implementere wakeup-logikk for de resterende fire nack-signalene som er tilgjengelige. Et slikt arbeid kan videre øke effektiviteten og ytelsen til minnesystemet.
dc.description.abstractThis project aims to optimize the memory system of the RISC-V Berkeley Out-of-Order Machine (BOOM) processor core by improving the handling of L1 cache misses in the Load-Store Unit (LSU). Prior to working on the BOOM core, the handling of L1 cache misses when no Miss Status Holding Registers (MSHRs) were available was inefficient, and is optimized through the implementation of wakeup logic. This logic selectively re-issues relevant load instructions only when an MSHR becomes available, reducing unnecessary activity between the LSU and the data cache. The wakeup logic has decreased the number of not acknowledged signals (nacks) issued by the data cache to the LSU. The implemented changes resulted in a significant 30% reduction in targeted nacks compared to the baseline implementation. Furthermore, benchmarking the design on an FPGA using the SPEC CPU® 2017 benchmark suite demonstrated comparable performance to the baseline implementation, with an optimal load instruction count ranging from 20% to 28% of the total instruction count. While the implementation shows promising results, future work should focus on extending the wakeup logic to address the remaining four identified nack types in the data cache. By doing so, further enhancements in the memory system's efficiency and performance can be achieved.
dc.languageeng
dc.publisherNTNU
dc.titleImproving Memory Scheduling of an Out-of-Order Core
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel