SpeedStep
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.
Ajalugu
[muuda | muuda lähteteksti]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.
Tööpõhimõte
[muuda | muuda lähteteksti]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.
Taktsageduse reguleerimine
[muuda | muuda lähteteksti]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.
Pinge reguleerimine
[muuda | muuda lähteteksti]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.
Olekud (P-states ja C-states)[10]
[muuda | muuda lähteteksti]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:
- Arvuti töökoormus tõuseb või kahaneb, mille tagajärjel pärib opsüsteem protsessorilt oleku vahetamist. Päring on mõeldud just taktsageduse vahetamiseks.
- Protsessor võib keelduda päringust või võtta päringu vastu.
- Kui päring võetakse vastu, kirjutatakse see protsessori MSR’i (Model-Specific Register)[12], mis annab käsu taktsageduse muutmiseks. Sageduse genereerib automaatselt Phase Locked Loop (PPL[13]) sagedussüntesaator. Peale seda muudab protsessor sageduse põhjal automaatselt ka kalkuleeritud pinge.
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.
Vaata ka
[muuda | muuda lähteteksti]Viited
[muuda | muuda lähteteksti]- ↑ "SpeedStep (Geyserville)"., ThinkWiki, 15 November 2020
- ↑ "Intel EIST SpeedStep"., Phoronix, Michael Larabel, 16 February 2006
- ↑ "Intel Developer Forum".,Vikipeedia, 5 August 2022
- ↑ "Pentium III"., Vikipeedia, 11. aprill 2022
- ↑ "Pentium M"., Vikipeedia, 28 March 2023
- ↑ "Dynamic voltage scaling"., Vikipeedia, 27 January 2023
- ↑ "Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor" (PDF)., Intel, March 2004
- ↑ "Power Management Unit".,Vikipeedia, 4 January 2022
- ↑ "VID (Voltage identification) Explained"., OverClock, Jan 22, 2017
- ↑ "A Minimum Complete tutorial of CPU Power Management, C-states and P-states".,Metebalci, October 16, 2018
- ↑ "Intel SpeedStep, Windows XP, and confusing Power Profiles"., Orthogonal Thought, Michael Chu, 29 September 2007
- ↑ "Model-specific register"., Vikipeedia, 29 April 2023
- ↑ "The Fundamentals of Phase Locked Loop Frequency Synthesizers"., Digi-Key, Digi-Key's North American Editors, Art Pini, 3 February 2021