Hva er kraftoptimalisering?
Kraftoptimalisering er forsøket på å redusere strømforbruket fra digitale enheter som integrerte kretsløp ved å balansere parametere som størrelse, ytelse og varmeavledning. Det er et veldig kritisk område innen elektronisk komponentdesign fordi mange bærbare elektroniske enheter krever høy prosessorkapasitet med lavt strømforbruk. Komponentene må utføre komplekse funksjoner, men genererer så lite varme og støy som mulig, alt sammen pakket på et veldig lite overflate. Effektoptimalisering er et intensivt forsket område med digital design, og er avgjørende for kommersiell suksess for mange enheter.
Ideen om å optimalisere kraften i elektronisk design begynte å få oppmerksomhet på slutten av 1980-tallet med den utbredte bruken av bærbare enheter. Batterilevetid, varmeeffekter og kjølebehov ble veldig viktig av både miljømessige og økonomiske årsaker. Montering av stadig mer komplekse komponenter på mindre brikkestørrelser ble viktig for å sikre produksjon av mindre enheter med mer funksjonalitet. Varmen som ble generert ved å inkludere så mange komponenter, ble imidlertid et stort tema. Faktorer som ytelse og pålitelighet på enheten påvirkes også av varmen.
For å skalere brikker, redusere formstørrelse og fortsatt ha topp ytelse ved akseptable temperaturnivåer krever investeringstid i effektoptimaliseringsmetoder. Manuell optimalisering av kraft blir umulig med eksisterende brikker som integrerte kretsløp fordi de inneholder millioner av komponenter. Typisk oppnår designere kraftoptimalisering ved å begrense bortkastet energi, som for det meste er spekulasjon, arkitektonisk og programavfall. Alle disse metodene prøver å redusere energisvinn fra nivået av kretsdesign til utførelse og anvendelse.
Programavfall oppstår når en high-end mikroprosessor utfører kommandoer som ikke er nødvendige. Å utføre disse kommandoene endrer ikke innholdet i minnet og registerene. Å eliminere programavfall betyr å redusere utførelsen av døde instruksjoner og bli kvitt stille butikker. Spekulasjonsavfall skjer når prosessoren henter og utfører instruksjoner utover uavklarte grener. Arkitektonisk avfall skjer når strukturer som cacher, grenprediktorer og instruksjonskøer er for store eller for små.
Arkitektoniske strukturer er vanligvis designet for å inneholde store mengder, og er vanligvis ikke vant til sin fulle kapasitet. Motsatt, noe som gjør dem mindre, øker også strømforbruket på grunn av mer feilutvikling. Vellykket kraftoptimalisering krever bruk av systemnivåtilnærming ved å velge komponenter som bruker veldig lite strøm. Alle mulige kombinasjoner av denne typen komponenter kan utforskes i designfasen. Å redusere mengden koblingsaktivitet som trengs i kretsen sikrer også mindre strømforbruk.
Noen av de andre tilnærmingene som brukes for kraftoptimalisering inkluderer klokkeport, søvnmodus og bedre logikkdesign. Retiming, banebalansering og tilstandskoding er andre logiske metoder som kan begrense strømforbruket. Noen mikroprosessor-designere bruker også spesielle formater for å kode designfiler som setter inn strømsparende kontrollfunksjoner.