Energimodeller kan konstrueras genom att karakterisera den energi som förbrukas när varje instruktion utförs i en processors instruktionsuppsättning. Detta kan användas för att bestämma hur mycket energi som krävs för att utföra en sekvens av monteringsinstruktioner, utan att behöva instrument eller mäta hårdvara. Det är dock svårt att statiskt analysera lågnivåprogramstrukturer, och gapet mellan högnivåprogramstrukturen och lågnivåenergimodellerna måste överbryggas. Vi har utvecklat tekniker för att utföra en statisk analys på de mellanliggande kompilator representationer av ett program. Speciellt riktar vi oss till LLVM IR, en representation som används av moderna kompilatorer, inklusive Clang. Med hjälp av dessa tekniker kan vi automatiskt dra en uppskattning av den energi som förbrukas när man kör en funktion under olika plattformar och kompilatorer. En av utmaningarna i att göra detta är att bestämma energikostnaden för att utföra LLVM IR-programsegment, för vilka vi har utvecklat två olika strategier. När denna information används i samband med vår analys kan vi härleda energiformler som kännetecknar energiförbrukningen för ett visst program. Detta tillvägagångssätt kan tillämpas på alla språk som riktar sig till LLVM-verktygskedjan, inklusive C och XC eller arkitekturer som ARM Cortex-M eller XMOS xCORE, med fokus på inbyggda plattformar. Våra tekniker valideras på dessa plattformar genom att jämföra de statiska analysresultaten med de fysiska mätningarna från hårdvaran. Statisk energiförbrukning estimering möjliggör energi-medveten programvara utveckling genom att ge omedelbar feedback till utvecklaren, utan att kräva simuleringar eller hårdvarukunskap.
Ett sådant tillvägagångssätt är den statiska analysen av energiförbrukningen hänförlig till specifika instruktioner REF, i detta fall riktad till mellanliggande kompilator representationer av ett program i LLVM verktygskedjan.
Static analysis of energy consumption for LLVM IR programs
{'venue': "SCOPES '15", 'journal': None, 'mag_field_of_study': ['Computer Science']}