SpeedStep (Algupäraselt koodnimega Geyserville[1], hiljem ka Enhanced Intel SpeedStep Technology, lühidalt EIST[2]) on Inteli arendatud toitehaldustehnoloogia. Tehnoloogia on sisse ehitatud Inteli protsessoritele alates aastast 2000, ning võimaldab tarkvara abil muuta dünaamiliselt protsessori taktsagedust ning voolutarvet. Taktsageduse muutmine korreleerub protsessori töökiirusega ja võimaldab seega protsessori efektiivsema kasutamise. Tänu SpeedStep tehnoloogiale on Inteli protsessorid omanud märgatavalt paremat energiasäästlikust võrreldes konkurentide protsessoritega.
Esimest korda demonstreeris Intel enda uut Geyserville tehnoloogiat 18. jaanuaril aastal 2000 korraldatud Inteli arendajate foorumil (Intel Developer Foorum[3]). Päris esimese Geyserville abil muutis protsessor oma olekut automaatselt, olenevalt protsessori hetke koormusest. Peale demonstratsiooni ei läinud kaua, kui ilmus Inteli esimene Geyserville tehnoloogiaga varustatud protsessor. Lisatud oli seekord ka võimalus tarkvaraliselt muuta protsessori taktsagedust. Pentium III[4] sai au olla esimene Inteli protsessor, mis võimaldas energiasäästlikuma arvuti kasutuse. Kuigi kasutatav Geyserville (SpeedStep) võimaldas protsessoril vahetada vaid kahe režiimi vahel – suuremate ja raskemate protsesside arvutamiseks mõeldud režiim (Highest Frequency Mode, ehk HFM) ning väiksemate ja vähem arvutusvõimsust vajavate protsesside jaoks mõeldud režiim (Lowest Frequency Mode, ehk LFM) - oli see siiski märkimisväärne edusamm ja eelis Inteli kasuks. Koos Pentium III protsessoriga nimetati ka siiani Geyserville nime kandud tehnoloogia ümber SpeedStep’iks.
Peale Pentium III hakati SpeedStep’i järjest paremaks arendama ja juba aastal 2003 ilmus Inteli Pentium M[5] protsessor, mis tõi kaasa ka SpeedStep’i arenenuma versiooni. SpeedStep’i uuem versioon lisas juurde erinevaid režiime ning analoogiliselt ka nende režiimide vahetusvõimaluse. Lisandunud režiimid tõid juurde paindlikust ning veelgi tõhusama energiakulutuse haldamisvõimaluse. See tehnoloogia sai aga alles nüüd hoo sisse ja arenes järgnevatel aastatel veelgi kiiremal sammul edasi.
Aastal 2004 tutvustaski Intel taas uuenenud SpeedStep’i tehnoloogiat. Areng tõi kaasa ka uue ning teemakohasema nime, Enhanced Intel SpeedStep Technology või lühidalt EIST. EIST kujutas endast edasiarengut eelnevast versioonist ning võimaldas täpsema ning tõhusama dünaamilise pinge ja taktsageduse skaleerimise (Dynamic Voltage and Frequency Scaling ehk DVFS)[6], millel oli ka parandatud taktsageduse automaatkontrolli vastavalt protsesside koormusele. Samal aastal jõudis Inteli SpeedStep tehnoloogia ka serverites kasutatavate protsessoriteni. Intelile tähendas see väga suurt edusammu. Serverite massiivset energiakulutust oli nüüdsest võimalik oluliselt paremini kontrollida ja sellega energiatõhusust oluliselt parandada. Kuna energiasääst oli reaalselt arvestatav kasutajate kuludes, lõi see pikaajalise turueelise ja julgustas Intelit SpeedStep’i järjest tõhusamaks arendama.
Järgmine Inteli suurem edusamm leidis aset aastal 2005, kui Inteli Pentium M protsessor viidi kokku EIST’iga[7]. Pentium M oli juba aastal 2003 Inteli poolt välja arendatud protsessor, mis oli energiatõhusamaid, kui mitte kõige tõhusam protsessor sellel ajal. Väga hea energiaefektiivsus ning sellega automaatselt kaasnev võrdlemisi väike soojusväljund tegid Pentium M-ist väga levinud ja kasutatud protsessori, mis oli eriti hinnatud mobiilsetes arvutusseadmetes, näiteks sülearvutites.
Peale EIST’i on Intel jätkanud samal tehnoloogial põhineva tarkvara arendamist, lisades uusi funktsionaalsusi iga uue versiooniga. EIST’i järglane ilmus aastal 2008 ja kandis nime Turbo Boost Technology, aastal 2015 arenes see edasi Speed Shift tehnoloogiaks ning kõige hilisem väljalase on Adaptive Voltage/Frequency Scaling (AVFS), mis ilmus aastal 2019.
SpeedStep’i missioon seisneb protsessori taktsageduse ja tööpinge dünaamilises muutmises, mis võimaldab protsessoril töötada väiksema võimsusega, kulutades nii vähem elektrit ja pikendades vastavalt ka protsessori enda eluiga. Väiksema koormusega protsesside jaoks pole vaja kasutada protsessori täis võimsust, samas saab suuremate koormuste jaoks võimsust kasvatada vastavalt vajadusele.
SpeedStep’i üks kahest tähtsaimast tehnikast on Dynamic Frequency Scaling (DFS), mis on protsessori taktsageduse kontrollimisele mõeldud toitehaldustehnika. DFS’i tööpõhimõte on kohandada protsessori taktsagedust vastavalt CPU hetke töökoormusele. Protsessori töökoormust reguleerib Power Management Unit (PMU)[8] mikrokontroller, mis jälgib muuhulgas ka näiteks CPU temperatuuri ning integreeritud kiipide konfiguratsiooni.
Taktsageduse muutmise protsessi võib kõige üldisemalt kirjeldada kui valikut erinevate fikseeritud olekute vahel. Speedstep’i võimalike olekute täpsustatud määratlemine on pidevalt paranenud, aga nendest ajas kõige esimesed ja kõige tähtsamad on HFM (Highest Frequency Mode) ja LFM (Lowest Frequency Mode). Nende kahe äärmuse vahel on defineeritud rida teisi spetsiifilisi olekuid.
DFS’ile lisaks kasutab SpeedStep ka tehnikat nimega Dynamic Voltage Scaling (DVS), mis on sarnaselt DFS’ile, protsessori pinge kontrollimiseks ja reguleerimiseks mõeldud toitehaldustehnika. DVS kasutab PMU tagasisidet, kuid lisaks sellele on ka teisi informatsiooni allikaid.
Protsessor saab vajaliku pinge VID (Voltage Identification[9]) pinnide abil. VID pinnid suhtlevad emaplaadiga ning edastavad omavahel teavet protsessori hetke pingest ning soovitud pingest. Töökoormuse muutus kajastub pinnide ja emaplaadi suhtluses ja loob sealtkaudu sisendi protsessori pingemuutuse arvestamiseks DVS ja ka DFS tehnoloogiale, mille tulemus ongi dünaamilise pinge ning sageduse reguleerimise.
Taktsagedus | Pinge |
---|---|
1.6 GHz (HFM) | 1.484 V |
1.4 GHz | 1.420 V |
1.2 GHz | 1.276 V |
1.0 GHz | 1.164 V |
800 MHz | 1.036 V |
600 MHz (LFM) | 0.956 V |
SpeedStep’i tööpõhimõte seisneb erinevate olekute vahetamises. Neid olekuid nimetatakse Performance State’ideks (P-states[11]). Igal P-state’il on oma teatud taktsagedus millele vastab teatud pinge. P-state’id pole muidugi juhuslikult valitud, vaid on ACPI (Advanced Configuration and Power Interface) standardiseeritud olekud. Performance state’ide vaheline liikumine on kirjeldatav järgmiselt:
Performance State’ide vahetamine toimub väga kiiresti, kuna olekute vahel on madal ülemineku latentsusaeg, mis tähendab, et protsessor võib vahetada oma olekute mitmeid kordi sekundis.
Taktsagedust saab loomulikult muuta ainult riistvara tehnilistele omadusele vastavates piirides ja igal protsessoril on vastavalt oma baassagedusele ainult teatul määral P-state’e.
SpeedStep tehnoloogia toetab ka C-state’e (CPU state), mis võimaldab protsessoril lülitada välja teatuid funktsionaalsusi. Tavaliselt kasutab süsteem C-state’e ainult siis, kui arvuti on näiteks unerežiimil või puhkerežiimil, ehk siis, kui tehtavaid protsesse on vähe või neid polegi.