Effektiv användning av processorcache är avgörande för prestandan hos applikationer. Det har visat sig att cache missar inte är jämnt fördelade genom ett program. I applikationer som körs på processorer i RISC-stil, är ett litet antal instruktioner för den brottsliga belastningen ansvariga för de flesta av cache missar. Identifiering av brottsliga laster är nyckeln till framgång för många cacheoptimering och prefetching tekniker. I detta dokument föreslår vi en metod för att identifiera brottsbelastningar som kan genomföras vid sammanställningstidpunkten. Våra experiment över arton riktmärken från SPEC-sviten visar att vårt föreslagna system är stabilt över riktmärken, indata och cachestrukturer, vilket identifierar ett genomsnitt på 10% av det totala antalet belastningar i de riktmärken vi testade som står för över 90% av alla datacache missar. Så vitt vi vet är detta första gången en teknik för statisk lastidentifiering med en sådan nivå av precision och täckning har rapporterats. Även om jämförbara tekniker också kan identifiera belastningsinstruktioner som täcker 90% av alla datacache missar, de gör det genom att välja över 50% av alla belastningsinstruktioner i koden, vilket resulterar i ett stort antal falska positiva. Om grundläggande blockprofilering används i samband med vår heuristiska, då våra resultat visar att det är möjligt att sätta bara 1,3% av belastningsinstruktionerna som står för 82% av alla data cache missar.
Panait m.fl. REF föreslog en teknik för att statiskt identifiera de belastningsinstruktioner som orsakar många cachefel.
Static identification of delinquent loads
{'venue': 'International Symposium on Code Generation and Optimization, 2004. CGO 2004.', 'journal': 'International Symposium on Code Generation and Optimization, 2004. CGO 2004.', 'mag_field_of_study': ['Computer Science']}