I denna forskning föreslår vi en mycket förutsägbar, låg overhead, och ändå dynamisk, memoryallocation strategi för inbyggda system med repa pad minne. En repa är ett snabbt kompilerat SRAM-minne som ersätter den hårdvaruhanterade cachen. Det motiveras av dess bättre realtidsgarantier kontra cache och av dess betydligt lägre omkostnader i energiförbrukning, område och total drifttid, även med ett enkelt tilldelningssystem. I första hand är fördelningsmetoder för repblock av två slag. Först, program-caching system emulerar funktionen av en hårdvara cache i programvara. Instruktioner sätts in före varje last/lager för att kontrollera de programvaruunderhållna cachetaggarna. Sådana metoder medför stora overheads i körtid, kodstorlek, energiförbrukning, och SRAM utrymme för taggar och leverera dåliga realtidsgarantier precis som hårdvara caches. En andra kategori av algoritmer partitionerar variabler vid kompileringstid till de två bankerna. En nackdel med sådana statiska fördelningssystem är dock att de inte tar hänsyn till dynamiska programbeteenden. Det är lätt att förstå varför en dataallokering som aldrig förändras på runtime inte kan uppnå alla lokala fördelar med en cache. Vi föreslår en dynamisk tilldelningsmetod för globala och stack data och programkod som; (i) konton för att ändra programkrav vid körtid, (ii) har inga program-cachetaggar, (iii) kräver ingaruntime kontroller, (iv) har extremt låga overheads, och (v) ger 100% förutsägbara minnesåtkomsttider. I denna metod, data som är på väg att nås ofta kopieras till repa pad med kompilator-insatt kod vid fasta och ovanliga punkter i programmet. Tidigare data vräks vid behov. Jämfört med en påtagligt optimal statisk fördelning visar resultaten att vårt system minskar drifttiden med upp till 39,8 % och energin med upp till i genomsnitt 31,3 % för våra riktmärken, beroende på den SRAM-storlek som används. Den faktiska vinsten beror på SRAM-storleken, men våra resultat visar att nära den maximala nyttan i körtid och energi uppnås för ett stort antal små SRAM-storlekar som ofta finns i inbyggda system. Vår jämförelse med en direkt kartlagd cache visar att vår metod fungerar ungefär lika bra som en cachad arkitektur.
Det har visats att ett dynamiskt tilldelningssystem ofta kan överträffa ett optimalt system för statisk tilldelning REF ].
Dynamic allocation for scratch-pad memory using compile-time decisions
{'venue': 'TECS', 'journal': None, 'mag_field_of_study': ['Computer Science']}