Hodinový takt procesora a strojový cyklus
Jednotka mimo sústavu · veličina: interval súbehu a miera výpočtovej práce
Na jeseň roku 2004 zrušil Intel vývoj procesora, ktorý mal bežať na desiatich gigahertzoch, a nebol to technický neúspech, ale priznanie fyzikálnej steny: čip hnaný dvojnásobnou rýchlosťou žiadal štvornásobný výkon a jednoducho sa tavil. Preteky frekvencií, ktoré trvali tridsať rokov, sa skončili za jediný deň, a s nimi aj zvyk posudzovať stroj podľa čísla na škatuli.
Sám takt je interval medzi dvoma hranami hodinového signálu, práve ten krok, ktorým všetky súbežné časti čipu prepínajú naraz. Jeho prevrátenou hodnotou je frekvencia, a preto takt pri piatich gigahertzoch trvá dve desatiny nanosekundy, za ktoré svetlo stihne šesť centimetrov a signál po medenom spoji ešte menej — menej, než je čip široký.
01 · Definícia
Takt je perióda hodinového signálu, teda interval medzi dvoma rovnakými hranami, pri ktorých súbežné prvky čipu menia stav spoločne. Strojový cyklus je celý počet taktov, za ktorý procesor vykoná dokončený úkon; v zreťazenom stroji ho nahrádza obrátená miera — počet taktov na inštrukciu, ktorej vlastná prevrátená hodnota hovorí, koľko inštrukcií opustí zreťazenie za jeden takt.
Dĺžku taktu nezadáva príroda, ale rozvedenie spojov na čipe: nesmie byť kratšia než najpomalšia cesta medzi dvoma preklápacími obvodmi, vrátane oneskorenia samotného obvodu a zásobníka na rozptyl parametrov. Odtiaľ obvyklý hmat návrhára — preťať dlhú logickú cestu na dva stupne zreťazenia: takt sa skráti na polovicu, frekvencia sa zdvojnásobí a inštrukcia teraz prejde celé schodisko.
Frekvenciu však neobmedzuje logika, ale výkon: dynamická spotreba rastie s frekvenciou a so štvorcom napätia, a napätie treba zvýšiť, aby obvod na zvýšenej frekvencii stačil. Teplo ide preto zhruba ako tretia mocnina frekvencie, a na tejto tretej mocnine sa preteky gigahertzov zastavili okolo štyroch.
Napokon takt je jednotka, ktorej dĺžka nie je stála. Riadenie napájania mení frekvenciu stokrát za sekundu podľa záťaže a teploty, a preto z počtu taktov nemožno súdiť na uplynulý čas, zato možno súdiť na vykonanú prácu: čítač taktov neráta sekundy, ale kroky výpočtu, a v tom je jeho pravá cena.
Veďte frekvenciu posuvníkom a sledujte dve krivky, ktoré sa rozbiehajú na opačné strany. Zelená je vzdialenosť, ktorú signál za jeden takt stihne: čím vyššia frekvencia, tým kratšia tá dráha, a pri piatich gigahertzoch sa ukáže menšia než čip sám. Karmínová je to, čo stojí v taktoch prístup do pamäte: jeho oneskorenie v nanosekundách sa sotva mení, a v taktoch preto len rastie.
Pretnutím práce na stupne návrhár skracuje takt, ale jediná inštrukcia teraz prechádza celé to schodisko a jej vlastné oneskorenie sa nezmenšuje, ale rastie. Zisk sa objaví až vtedy, keď sú stupne naplnené rôznymi inštrukciami, a pri zle predpovedanom skoku treba zreťazenie vyprázdniť celé — čím je hlbšie, tým to príde drahšie.
02 · Prevod
Frekvencia, perióda, práca
Zadajte frekvenciu alebo dĺžku taktu a list ukáže prevrátenú hodnotu, dráhu signálu za jeden takt a cenu prístupov do pamäte v taktoch. Prvá rodina je presná z definície, druhá sa opiera o priemerné hodnoty jadra, tretia o typické oneskorenia dnešnej pamäťovej hierarchie.
Rýchlosť signálu po spoji je vzatá ako šesť desatín rýchlosti svetla; v jemnejšom nastavení listu ju možno zmeniť na polovicu.
Podľa frekvencie možno porovnávať len rovnaké jadrá, lebo počet taktov na inštrukciu sa medzi architektúrami líši niekoľkonásobne: jeden stroj vezme za takt štyri inštrukcie, druhý sotva jednu. Práve preto číslo v gigahertzoch zmizlo z reklamy a na jeho miesto prišli súbory testov, ktoré už nemerajú takty, ale vykonanú prácu.
| Hodnota | Poznámka | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · Rády veličín
logaritmická stupnica: od taktu po časové okno plánovača04 · Meracie prístroje
Čím sa takt zadáva a čím sa ráta
Zdrojom taktu je doštička kremeňa, kmitajúca obyčajne na niekoľkých desiatkach megahertzov s presnosťou asi desiatich milióntin. Gigahertze na čipe nepochádzajú z nej, ale z násobenia tejto vzťažnej frekvencie, takže stálosť celého stroja sa dedí po kúsku nerastu veľkosti ryžového zrnka.
Fázový záves porovnáva delenú frekvenciu oscilátora so vzťažnou a doladí ho, kým sa fázy nezhodnú; zmenou deliteľa sa frekvencia mení za chodu. Práve on dovoľuje riadeniu napájania znížiť takt v pokoji na niekoľko sto megahertzov a zdvihnúť ho do turba na pár sekúnd, kým je tepelná zásoba.
Vnútri jadra sedia registre, ktoré rátajú takty, dokončené inštrukcie, zlyhania vyrovnávacej pamäte a zle predpovedané skoky, a čítať ich možno priamo z bežiaceho programu. Z týchto čísel sa získava počet taktov na inštrukciu — jediná poctivá miera toho, ako dobre kód na daný čip dosadol.
Aby bolo možné uzrieť sám takt, treba prístroj, ktorý zachytí hrany s rozlíšením niekoľkých pikosekúnd, a ten istý ukazuje aj veci, pre ktoré frekvenciu nemožno zdvihnúť vyššie: chvenie fázy, rozdielny príchod signálu do rôznych rohov čipu a zosun hrany na dlhom vedení.
05 · Pravidlá zápisu
Takty a hertze nie sú to isté
Frekvencia sa píše v hertzoch s predponou veľkým písmenom pri mega a giga, kým počet taktov sa píše ako celé číslo bez akejkoľvek jednotky, lebo takt jednotkou SI nie je. Ukazovatele výkonu sa píšu veľkými písmenami bez bodiek a s uvedením, ktorého jadra sa týkajú; miešať frekvenciu a výkon do jednej veličiny nie je dovolené.
Prvý zápis mieša dve rôzne veličiny: počet taktov je bezrozmerný, kým hertz meria frekvenciu. Druhý porušuje veľkosť písmena pri predpone, povinnú pri mega a giga. Tretí porovnáva podľa frekvencie architektúry, ktorých takty na inštrukciu sa líšia niekoľkonásobne, a z takého porovnania nič nevyplýva. Štvrtý berie premenlivú veličinu za stálu.
06 · Susedné jednotky
Vedľa stoja jednotky, ktoré merajú tú istú prácu z iných strán: hertz ako frekvencia samotného signálu, počet operácií v pohyblivej rádovej čiarke za sekundu a počet inštrukcií pripadajúcich na jeden takt. Všetky vyplývajú jedna z druhej, len čo je známa frekvencia a správanie zreťazenia.
frekvencia, jednotka SI
bezrozmerná miera
miera výpočtovej práce
Z listov Simetria vedľa stoja hertz, ktorý udáva frekvenciu, sekunda a jeho dielčie predpony, unix time, kde hranicu určuje takisto strojové slovo, a bit s bajt, ktorými sa meria to, čo takt nesie.
07 · Historický oddiel
Tridsať rokov pretekov a jeden deň zrušenia
Prvý procesor na jedinom čipe bežal na frekvencii, ktorú dnešný čip prejde v zlomku mikrosekundy, a jedna inštrukcia mu zabrala osem taktov. Strojový cyklus bol vtedy pojmom doslovným: prečítať inštrukciu, rozlúštiť ju, vziať údaje, spočítať a zapísať — každý stupeň zabral svoj takt a všetky išli prísne po rade.
Len čo sa stupne naučili pracovať súčasne na rôznych inštrukciách, obvyklá miera sa zlomila: inštrukcia stále trvala päť taktov, ale zo zreťazenia vychádzala každý takt. Rátanie bolo treba obrátiť a hovoriť o taktoch na inštrukciu, ktoré pri dobrom stroji klesli pod jednotku — to jest, za jediný takt sa dokončí viac než jedna inštrukcia.
Architektúra so zreťazením o tridsiatich jednej stupňoch bola postavená pre frekvenciu a narazila na teplo: sľúbených desať gigahertzov žiadalo chladenie nemysliteľné v stolnej skrini. Projekt bol uzavretý a odbor sa obrátil k mnohým jadrám — nie preto, že by to bolo lepšie, ale preto, že tretia mocnina rastu spotreby inú cestu nenechala.
Dnešné jadro nemá jedinú frekvenciu: v pokoji klesá na niekoľko sto megahertzov, pod záťažou stúpa k piatim gigahertzom a drží ich, kým vydrží tepelná zásoba. Číslo z listu sa stalo sľubom za priaznivých podmienok a porovnávať podľa neho stroje prestali výrobcovia aj recenzenti.
Jednotka, ktorej dĺžka sa počas merania mení
Takt je pre metrológa nepohodlne zariadený: jeho dĺžku nezadáva etalón, ale rozvedenie spojov na čipe, a mení sa pri tom istom procesore stokrát za sekundu, keďže riadenie napájania prispôsobuje frekvenciu záťaži a teplote. Preto sa čítač taktov na meranie času nehodí, hoci zvonka vyzerá ako hodiny, a program, ktorý mu dôveruje, sa zmýli o toľko, o koľko sa frekvencia pohla.
Zato pre úlohu, pre ktorú takt vznikol, sa hodí lepšie než ktorákoľvek jednotka času. Rátaním taktov nemeriame trvanie, ale objem výpočtovej práce, a preto počet taktov na inštrukciu zostáva porovnateľný pri každej zmene frekvencie — hovorí o tom, ako dobre kód na čip dosadol, nie o tom, koľko sekúnd uplynulo.
Katalóg · meracie jednotky
List pre každú veličinu
Sedem základných jednotiek SI, dvadsaťdva odvodených s vlastnými menami a veličiny mimo sústavy, bez ktorých by nefungovala ani technika, ani kalendár.