Undersystemet för minne står för en betydande del av den sammanlagda energibudgeten för moderna inbyggda system. Dessutom finns det en stor potential för att optimera energiförbrukningen i minnesdelsystemet. Följaktligen utformas såväl nya minnen som nya algoritmer för deras effektiva användning. Skrappads är kända för att prestera bättre än cache när det gäller kraft, prestanda, område och förutsägbarhet. Till skillnad från caches de är beroende av programvara allokering tekniker för deras utnyttjande. I det här dokumentet presenterar vi en allokeringsteknik som analyserar applikationen och infogar instruktioner för att dynamiskt kopiera både kodsegment och variabler på repasatsen vid körning. Vi visar att problemet med dynamiskt overlaying scrappad är en förlängning av problemet Global Register Allocation. Problemet med överlägg löses optimalt med hjälp av ILP-formuleringstekniker. Vår strategi förbättrar den enda tidigare kända allokeringstekniken för att statiskt fördela både variabler och kodsegment på repet. Experimenten visar en genomsnittlig minskning med 34 % respektive 18 % av energiförbrukningen respektive drifttiden för tillämpningarna. En minimal ökning av kodstorleken rapporteras också. Flera forskare [10, 14] har identifierat minnesdelsystemet som energiflaskan i hela systemet. Minneshierarkier byggs för att minska minnesundersystemets energiavledning. Caches och scrappad minnen representerar två kontrasterande minnesarkitekturer. Caches förbättrar prestandan genom att utnyttja den tidsmässiga och rumsliga lokalitet som finns i programmet. Men för inbyggda system, overheads i samband med caches ofta förneka sina fördelar. Dessutom är kackerlackor ökända för sitt oförutsägbara beteende [9]. Å andra sidan består ett scratchpad-minne (SPM) av bara ett minnessystem och en adressavkodningskrets. På grund av frånvaron av taggminnet och jämförelsen, crappad minnen kräver mycket mindre energi per tillgång än en cache. Dessutom kräver de mindre onchip område och tillåter strängare gränser på WCET förutsägelse av systemet. De kräver dock komplexa programanalyser och explicit stöd från kompilatorn. Tidigare arbete med SPM-användning har främst fokuserat på statisk fördelning av SPM. Till skillnad från en cache som anpassar sitt innehåll efter programmets beteende ändrar inte en statiskt tilldelad SPM sitt innehåll under programmets gångtid. Den statiska tilldelningstekniken kan leda till underutnyttjande av SPM. Följaktligen presenterar vi ett profilbaserat tillvägagångssätt som på grundval av live-intervall för både variabler och kodsegment fyller på SPM:s innehåll. Tekniken identifierar punkterna i programmet för att infoga instruktioner för att kopiera innehållet på och utanför SPM. Poängen väljs optimalt för att orsaka de minsta overhead. Tekniken beräknar också adresser inom SPM-adressområdet där variabler och kodsegment ska kopieras. Dessa adresser är beräknade så att ett stort antal variabler och kodsegment delar samma SPM-utrymme. Resten av pappret är uppbyggt på följande sätt: Efter presentationen av relaterat arbete beskrivs algoritmen för att lösa problemet med scrappad overlay i avsnitt 3. Detta följs av en presentation av det experimentella arbetsflödet. En diskussion om de experimentella resultaten presenteras i avsnitt 5. Dokumentet avslutas med en avslutning och ett framtida arbete.
Verma m.fl. REF presenterar en tilldelningsteknik för att infoga instruktioner som dynamiskt kopierar kodsegment och variabler på SPM.
Dynamic overlay of scratchpad memory for energy minimization
{'venue': "CODES+ISSS '04", 'journal': None, 'mag_field_of_study': ['Computer Science']}