Tehon optimointi on yritys vähentää digitaalisten laitteiden, kuten integroitujen piirien, kuluttamaa tehoa tasapainottamalla parametreja, kuten koko, suorituskyky ja lämmöntuotto. Se on erittäin kriittinen osa elektronisten komponenttien suunnittelua, koska monet kannettavat elektroniset laitteet vaativat suuren prosessointikapasiteetin ja pienen virrankulutuksen. Komponenttien on suoritettava monimutkaisia toimintoja, mutta ne tuottavat mahdollisimman vähän lämpöä ja melua, kaikki pakattuna hyvin pienelle pinta -alalle. Tehokkaasti tutkittu digitaalisen suunnittelun alue, tehon optimointi on elintärkeää monien laitteiden kaupallisen menestyksen kannalta.
Ajatus tehon optimoimisesta elektronisessa suunnittelussa alkoi herättää huomiota 1980 -luvun lopulla, kun kannettavia laitteita käytettiin laajalti. Akun kestosta, lämmitystehokkuudesta ja jäähdytysvaatimuksista tuli erittäin tärkeitä sekä ympäristöön liittyvistä että taloudellisista syistä. Yhä monimutkaisempien komponenttien asentaminen pienempiin sirukokoihin tuli välttämättömäksi, jotta voidaan varmistaa pienempien laitteiden tuotanto, joissa on enemmän toimintoja. Kuitenkin lämmöstä, joka syntyi sisällyttämällä niin monia komponentteja, tuli suuri ongelma. Lämpö vaikuttaa myös tekijöihin, kuten laitteen suorituskykyyn ja luotettavuuteen.
Sirujen skaalaaminen, muotin koon pienentäminen ja huipputehokkuuden säilyttäminen hyväksyttävissä lämpötiloissa edellyttää investointiaikaa tehon optimointimenetelmiin. Tehon manuaalinen optimointi tulee mahdottomaksi olemassa olevilla siruilla, kuten integroiduilla piireillä, koska ne sisältävät miljoonia komponentteja. Tyypillisesti suunnittelijat suorittavat tehon optimoinnin rajoittamalla hukkaan menevää energiaa, joka on enimmäkseen spekulaatiota, arkkitehtonista ja ohjelmahukkaa. Kaikki nämä menetelmät pyrkivät vähentämään energiahukkaa piirin suunnittelutasosta toteutukseen ja sovellukseen.
Ohjelman tuhlausta tapahtuu, kun huippuluokan mikroprosessori suorittaa tarpeettomia komentoja. Näiden komentojen suorittaminen ei muuta muistin ja rekisterien sisältöä. Ohjelmajätteen poistaminen tarkoittaa kuolleiden ohjeiden suorittamisen vähentämistä ja hiljaisten tallennusten poistamista. Spekulaatiohävikkiä tapahtuu, kun prosessori hakee ja suorittaa ohjeita ratkaisemattomien haarojen ulkopuolella. Arkkitehtijätettä tapahtuu, kun välimuistit, haaraennusteet ja käskyjonot, kuten liian suuret tai pienet, ovat rakenteita.
Suunniteltu enimmäkseen suuria määriä varten, arkkitehtonisia rakenteita ei yleensä käytetä täysimääräisesti. Sitä vastoin niiden pienentäminen lisää myös virrankulutusta väärinkäytösten vuoksi. Onnistunut virran optimointi edellyttää järjestelmätason lähestymistapaa valitsemalla komponentit, jotka kuluttavat hyvin vähän virtaa. Kaikki tämän tyyppisten komponenttien mahdolliset yhdistelmät voidaan tutkia suunnitteluvaiheessa. Piirin tarvitseman kytkentäaktiivisuuden vähentäminen varmistaa myös pienemmän virrankulutuksen.
Jotkut muut tehon optimointiin käytetyt lähestymistavat sisältävät kellon portaan, lepotilat ja paremman logiikan suunnittelun. Uudelleensäätö, polun tasapainotus ja tilakoodaus ovat muita loogisia menetelmiä, jotka voivat rajoittaa virrankulutusta. Jotkut mikroprosessorisuunnittelijat käyttävät myös erityisiä formaatteja koodatakseen suunnittelutiedostoja, jotka lisäävät virransäästötoimintoja.