Vis enkel innførsel

dc.contributor.advisorSjälander, Magnus
dc.contributor.authorAkhunov, Khakim
dc.date.accessioned2021-09-15T16:08:49Z
dc.date.available2021-09-15T16:08:49Z
dc.date.issued2020
dc.identifierno.ntnu:inspera:57320302:47141586
dc.identifier.urihttps://hdl.handle.net/11250/2777693
dc.description.abstractYtelsen til sentrale prosesseringsenheter er begrenset i energiforbruk i disse dager. Mer effektive prosessorer er nødvendige for å muliggjøre forbedret ytelse. Moderne datasystemer utnytter komplekse prosessorer som kommuniserer med hovedminnet på tvers av flere cache nivåer. For å minimere gapet mellom prosessor- og minnehastigheter bruker ytelsesorienterte utviklere mye strøm og chip-plass for å implementere et hurtigminners hierarki. Dermed er cachen en av de viktigste energiforbrukerne i systemet. I moderne prosessorer brukes set-assosiativitet for å forbedre trefffrekvensen. Konvensjonelle set-assosiative nivå én instruksjons hurtigminner oppnår lave glippfrekvenser for vanlige applikasjoner, men bruker fremdeles betydelig energi. I sett-assosiative hurtigminne reduseres tilgangstiden ved å få tilgang til alle data-feltene parallelt med tag søket, mens utdataene fra bare den matchende måten forbrukes. Energien som blir brukt for å få tilgang til de andre måtene blir bortkastet. Det finnes et stort antall hurtigminne arkitekturer med mål om å redusere energiforbruket deres, for eksempel faset hurtigbuffer, måte å stoppe og blokkere buffering. Imidlertid øker de fleste foreslåtte teknikker latens og kompleksitet, noe som gjør dem ikke kvalifiserte for høyytelses nivå én hurtigminne. Denne masteroppgaven omfatter implementering og evaluering av en virtuell adressematching (VAM) mekanisme på en RISC-V instruksjonssett-arkitektur prosessor, som gir tilgang til bare måten dataene har stor sannsynlighet for å oppholde seg på. Hovedformålet er å opprettholde en så enkel implementering som mulig med lavt arealkostnad og ytelsesforringelse som er en viktig fordel for produsentene. For å teste effektiviteten til VAM, og for å definere overheads som denne teknikken kan forårsake, brukes Rocket Chip-generatoren og dens emulator for å implementere og evaluere implementeringen ved å kjøre eksisterende benchmarks. Evalueringen vår er basert på kriterier som energiforbruk, okkupert område, kompleksitet og forsinkelse av kritisk vei. VAM har lav ytelse og gir ubetydelig kompleksitet til en konvensjonell cache-design. Resultatene viser at denne teknikken i gjennomsnitt gir en energireduksjon på 45%, mens økningen av den kritiske banen-forsinkelsen er 5,3%. Overheadevalueringen er basert på bruk av tre komponenter: Lookup tables (LUT), Flip-Flops (FF) og Block Random Access Memory (BRAM). Denne implementeringen bruker henholdsvis rundt 2% og 1% flere LUTer og FFer, men BRAM-bruken forblir den samme sammenlignet med den konvensjonelle hurtigminne.
dc.description.abstractThe performance of central processing units (CPU) is restricted in energy consumption these days. More efficient CPUs are needed to enable improved performance. Modern computing systems exploit complex CPUs that communicate with the main memory across several levels of cache. In order to minimize the gap between CPU and memory speeds, performance-oriented developers utilize lots of power and chip area to implement a cache hierarchy. Thus, the cache is one of the main energy consumers in the system. In modern processors, set-associativity is used to improve hit rate. Conventional set-associative Level One (L1) instruction caches (i-cache) achieve low miss rates for common applications but still consume significant energy. In set-associative caches, access time is decreased by accessing all the data ways in parallel with the tag search, while the output of only the matching way is consumed. The energy which is spent to access the other ways is wasted. There exist a large number of cache architectures with the goal of reducing their energy usage, such as phased cache, way-halting, and block buffering. However, most proposed techniques increase latency and complexity, which makes them ineligible for high-performance L1 caches. This master thesis encompasses the implementation and evaluation of a virtual-address-matching (VAM) mechanism on a RISC-V instruction set architecture (ISA) processor, that enables access to only the way where the data has a high likelihood to reside. The main purpose is to maintain as simple implementation as possible with low area overhead and performance degradation that is an important advantage for manufacturers. In order to test the efficiency of the VAM, and to define overheads that this technique may cause, the Rocket Chip generator and its emulator are used to implement and evaluate the implementation by running existing benchmarks. Our evaluation is based on such criteria as energy consumption, occupied area, complexity, and critical-path delay. The VAM has low performance penalty and adds insignificant complexity to a conventional cache design. The results show that on average, this technique gives an energy reduction of 45%, while the increase of the critical-path delay is 5.3%. The area overhead evaluation is based on the utilization of three components: Look-Up Tables (LUT), Flip-Flops (FF), and Block Random Access Memory (BRAM). This implementation uses around 2% and 1% more LUTs and FFs respectively, but BRAM utilization remains the same compared to the conventional i-cache.
dc.language
dc.publisherNTNU
dc.titleWay-predictive instruction cache access in Rocket Chip processor with RISC-V ISA
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

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

Vis enkel innførsel