ABSTRACT Detta dokument presenterar det första minnesallokeringsschemat för inbäddade system med skrapminne vars storlek är okänd vid kompileringstidpunkten. Ett repminne (SPM) är en snabbkompilatorstyrd SRAM som ersätter den hårdvaruhanterade cachen. Dess användning motiveras av dess bättre realtidsgarantier jämfört med cache och av dess betydligt lägre omkostnader i energiförbrukning, område och åtkomsttid. Befintliga dataallokeringssystem för SPM kräver att SPM-storleken är känd vid kompileringstidpunkten. Tyvärr är det körbara resultatet kopplat till den storleken på SPM och är inte portabelt till processorimplementeringar med en annan SPM-storlek. Sådan portabilitet skulle vara värdefull i situationer där program för ett inbäddat system inte bränns in i systemet vid tidpunkten för tillverkningen, utan snarare laddas ner på det under distributionen, antingen med hjälp av ett nätverk eller bärbara medier såsom minnespinnar. Sådana uppdateringar av postdeploymentkod är vanliga i distribuerade nätverk och i personliga handhållna enheter. Förekomsten av olika SPM-storlekar i olika enheter är vanlig på grund av utvecklingen inom VLSI-tekniken genom åren. Resultatet är att SPM inte kan användas i sådana situationer med nedladdad kod. För att övervinna denna begränsning presenterar detta arbete en kompilatormetod vars resulterande körbar är bärbar över SPM av alla storlekar. Det körbara på run-time-platser används ofta objekt i SPM; det tar hänsyn till kod, globala variabler och stackvariabler för placering i SPM. Tilldelningen bestäms av modifierad lastarprogramvara innan programmet körs och när SPM-storleken kan upptäckas. Laddaren ändrar sedan programmet binärt baserat på den beslutade tilldelningen. För att hålla overheaden låg görs en stor del av förbehandlingen för tilldelningen vid kompileringstidpunkten. Resultaten visar att våra riktmärken har en genomsnittlig hastighetsökning på 36 % jämfört med en all-DRAM-tilldelning, medan det optimala statiska tilldelningssystemet, som känner till SPM-storleken vid kompileringstidpunkten och därmed är en ouppnåelig övre gräns, bara är något snabbare (41 % snabbare än all-DRAM). Resultaten visar också att overhead från vår inbyggda lastare genomsnitt cirka 1% i både kodstorlek och körtid av våra riktmärken. Tillstånd att göra digitala eller papperskopior av hela eller delar av detta arbete för personligt bruk eller klassrum beviljas utan avgift, förutsatt att kopiorna inte görs eller distribueras för vinst eller kommersiella fördelar och att kopiorna är försedda med detta meddelande och den fullständiga hänvisningen på första sidan. För att kopiera på annat sätt, för att återpublicera, för att posta på servrar eller för att omfördela till listor, krävs tidigare specifik behörighet och/eller avgift.
Med undantag för Nguyens arbete REF kräver alla dessa tekniker kunskap om SPM-storleken vid kompileringstidpunkten.
Memory allocation for embedded systems with a compile-time-unknown scratch-pad size
{'venue': "CASES '05", 'journal': None, 'mag_field_of_study': ['Computer Science']}