Abstract-High instruktion cache träffhastigheter är nyckeln till hög prestanda. En känd teknik för att förbättra träffhastigheten av caches är att minimera cacheinterferens genom att förbättra layouten av de grundläggande blocken i koden. Prestandaeffekten av denna teknik har dock rapporterats endast för tillämpningskod, även om det finns belägg för att operativsystemet ofta använder cache kraftigt och med mindre enhetliga mönster än applikationer. Det är okänt hur väl befintliga optimeringar fungerar för systemkod och om bättre optimeringar kan hittas. Vi tar upp detta problem i detta dokument. Detta dokument kännetecknar i detalj de lokala mönstren i operativsystemets kod och visar att det finns en betydande lokalitet. Tyvärr, caches inte kan extrahera mycket av det: sällan utförda specialfall kod stör rumslig lokalitet, loopar med få iterationer som kallar rutiner gör loop locality svår att utnyttja, och massor av loop-mindre kod hindrar temporal lokalitet. Baserat på våra observationer, föreslår vi en algoritm för att exponera dessa platser och minska störningar i cache. För en rad cache storlekar, föreningar, linjer storlekar, och organisationer, visar vi att vi minskar totala undervisning missar hastigheter med 31-86 procent, eller upp till 2,9 absoluta poäng. Med hjälp av en enkel modell motsvarar detta en tidsminskning på 10-25 procent av ordern. Dessutom kombinerar vårt optimerade operativsystem väl med optimerade och ooptimerade applikationer.
Torrellas m.fl. REF utformade en grundläggande blockomordningsalgoritm för operativsystemets kod.
Optimizing Instruction Cache Performance for Operating System Intensive Workloads
{'venue': 'IEEE Transactions on Computers', 'journal': None, 'mag_field_of_study': ['Computer Science']}