MPCache: A Novel High-Level Cache Simulation Framework for Design Exploration of Embedded Cache Systems
Abstract
Cache-minne har blitt mye brukt i datamaskiner for å skjule det økende avviket mellom hastigheten til hovedminnet og prosessoren. Designmulighetene for cacheminner er nesten uendelige, noe som kan være et tveegget sverd i den designprosess. Det fører til at en gitt datamaskinarkitektur kan ha mange ulike løsninger for sitt minnesystem, men det kan være vanskelig å få frem hvilken som er den beste av dem. Dette introduserer behovet for høynivåmodeller som kan brukes tidlig i utforskningen av ulike design. I dag er de fleste cache-modeller i dag er integrert i sofistikerte simulatorer som modellerer hele datasystemer ogsom er rettet mot større arkitekturstørrelser.
Denne oppgaven presenterer MPCache, et høynivå cache-simuleringsrammeverk laget for utforskning av cache-minnedesign for innvevde datasystemer. Rammeverket kombinerer en funk-sjonell og en fysisk cache-modell laget for akkurat dette formålet, og legger til rette for estimering av total kjøretid og energiforbrukbruk av applikasjoner ved bruk av et spesifikt cachedesign. Det er verifisert at den funksjonelle modellen gir riktige resultater for ulike valg av de tillatte designalternativene. De kombinerte resultatene er blitt sammenlignet med RTL-simuleringer, som viser at resultatene er rimelige for et utvalg av ulike applikasjoner for dette cachedesignet.
Den fysiske modellen er sammenlignet med den etablerte fysiske cache-modellen CACTI. De to modellene er blitt sammenlignet ved å analysere både de resultatene hver modell produserer, men også ved bruk i en kombinert simulering. Resultatene indikerer at MPCache gir dårlige estimater av cacher med sekvensielt aksessmodus, og at feilene her øker med størrelsen må cacheminnet. For parallelt aksessmodus gir modellen bedre estimater, men også her øker feilen med størrelsen på cacheminnet. Sammenligning av CACTI-resultatene med RTL-simuleringene viste imidlertid at MPCache ga bedre estimater for dette individuelle tilfellet. Dette betyr at MPCache kan gi rimelige estimater for noen strukturer, men på grunn av problemene knyttet til økende størrelse på cacheminnet er rammeverket ikke modent for bruk i designutforskning. Cache memories have been extensively used in computer designs to hide the growing divergencebetween the speed of the main memory and the CPU. The design space for caches is almostinfinitely large, which cuts both ways in a design phase. It presents many candidate cachestructures but can make it hard to decide which one to choose for a particular computer system.This decision introduces the need for high-level models that can be used early in the explorationof different designs. Most cache models today are incorporated in sophisticated full-systemsimulators and are targeted at larger computer systems.
This thesis presents MPCache, a high-level cache simulation framework made for design exploration of cache memories of embedded computer systems. It combines a functional and aphysical cache model explicitly made for this purpose of producing results about total executiontime and energy usage of applications using a specific cache memory. The functional model hasbeen verified to produce correct results under changes to all design options. The combined results have been compared to RTL simulations of a specific cache structure, which show that theresults are reasonable for a selection of benchmarks, but that the features of the physical modelshould be extended to support more cache configurations and that more RTL simulations of avariety of cache structures are needed to make more judgements about the framework.
The usage of the physical model has been compared to the established physical cache modelCACTI. The two models have been compared by analyzing both the plain results and the resultsused in a combined simulation. The results indicate that MPCache produces poor estimates ofcaches with a sequential access mode and with increasing cache sizes. However, comparingthe CACTI results with the RTL simulations revealed that MPCache gave better estimates forthis individual case. This signifies that MPCache can produce reasonable estimates for somestructures. Though, because of the issues related to the results of some cache structures, it isnot mature for usage in design exploration.