Nya forskningsresultat visar att konventionella maskinvarubaserade cachelösningar resulterar i otillfredsställande cacheutnyttjande för både vanliga och oregelbundna applikationer. För att lösa detta problem, ett antal arkitekturer introducerar instruktioner tips för att hjälpa cacheersättning. Till exempel, Intel Itanium arkitektur ökar minnesåtkomst instruktioner med cache tips för att skilja data som kommer att refereras inom en snar framtid från resten. Med tillgång till sådana metoder beror prestandan hos den underliggande cachearkitekturen på kompilatorns förmåga att generera kod med lämpliga cachetips. I det här dokumentet formulerar vi detta problem -som ger cachetips till minnesinstruktioner så att cache miss-frekvensen minimeras - som ett 0/1 knapsack-problem, som effektivt kan lösas med hjälp av en dynamisk programmeringsalgoritm. Den föreslagna metoden har implementerats i vår kompilator testbädd och utvärderats på en uppsättning vetenskapliga data riktmärken. De första resultaten visar att vår strategi är effektiv när det gäller att minska felfrekvensen i cache och förbättra programmets prestanda.
Yang REF m.fl. har en detaljerad studie av kompilatoralgoritmer för att generera cachetips.
Compiler-assisted cache replacement: Problem formulation and performance evaluation
{'venue': 'University of Western', 'journal': None, 'mag_field_of_study': ['Computer Science']}