Registerfilen är en kritisk komponent i en modern superskalarprocessor. Den måste vara tillräckligt stor för att uppfylla resultaten av alla instruktioner under flygning. Den måste också ha tillräckligt många portar för att samtidigt kunna utfärda och skriva tillbaka många värden varje cykel. Detta gör det dock till en av de mest energikrävande strukturerna i processorn med en hög access latency. Som teknikskalor kommer det en punkt där registeråtkomsten är flaskhalsen till prestanda och därför måste ledas över flera cykler. Detta ökar rörledningens djup och sänker prestandan. För att lösa dessa utmaningar föreslår vi en ny användning av kompilatoranalys för att stödja registercachelagring. Genom att lägga till en registercache kan vi bevara åtkomsten till en cykelregister, upprätthålla prestanda och minska energiförbrukningen. Vi gör detta genom att skicka information till processorn med hjälp av gratis bitar i en riktig ISA, så att vi bara kan cache de viktigaste registren. Genom att utvärdera registrets cache över en mängd olika storlekar och associativiteter och variera läsportarna i cache, uppnår vårt bästa system en energidämpande produkt (EDD) på 0,81, med en prestandaökning på 11%. En annan konfiguration sparar 13 % av registersystemets energi. Med hjälp av fyra register cache läsportar ger både prestandavinster och energibesparingar, konsekvent överträffa två state-of-the-art hårdvarustrategier.
Tidigare arbete har också förlitat sig på programvara som ger information till hårdvaran för att öka effektiviteten i registret fil cache REF.
Energy-efficient register caching with compiler assistance
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}