Moderna inbyggda mikroprocessorer använder låg ström on-chip-minnen som kallas scratch-pad-minnen för att lagra ofta utförda instruktioner och data. Till skillnad från traditionella cacheminnen saknar scrap-pad-minnen den komplexa taggkontroll- och jämförelselogiken, vilket visar sig vara effektivt i område och makt. I detta arbete fokuserar vi på att utnyttja scrap-pad-minnen för att lagra hot code-segment inom en applikation. Statiska placeringstekniker fokuserar på att placera de oftast utförda delarna av program i rep-pad. Dock är statiska system i sig begränsade genom att inte tillåta innehållet i repa-pad minne att ändras på körtid. I en stor del av applikationerna överskrider instruktionsminnets fotavtryck rep-pad-minnets storlek, vilket begränsar nyttan av rep-paden. Vi föreslår en kompilator hanterad dynamisk placering algoritm, där flera heta kodsekvenser, eller spår, överlappas med varandra i rep-pad minne vid olika tidpunkter under utförandet. Särskilda kopieringsinstruktioner ges för att kopiera spåren i rep-pad-minnet vid körtid. Med hjälp av en effektuppskattning väljer kompilatorn initialt de vanligaste spåren i ett program för förflyttning till rep-pad-minnet. Genom iterativ kod rörelse och redundans eliminering, kopiera instruktioner infogas i sällan utförda regioner av koden. För en 64-bytes kodcache uppnår kompilatorns hanterade dynamiska placering i genomsnitt 64 % energiförbättring över den statiska lösningen i en inbäddad mikrocontroller med låg effekt.
I REF använder författarna kompilatorstyrd algoritm för dynamisk placering för att hålla heta kodsegment i SPM.
Compiler Managed Dynamic Instruction Placement in a Low-Power Code Cache
{'venue': 'International Symposium on Code Generation and Optimization', 'journal': 'International Symposium on Code Generation and Optimization', 'mag_field_of_study': ['Computer Science']}