Hodinový takt procesoru a strojový cyklus
Jednotka mimo soustavu · veličina: interval souběhu a míra výpočetní práce
Na podzim roku 2004 zrušila Intel vývoj procesoru, který měl běžet na deseti gigahertzích, a nebyl to technický nezdar, nýbrž přiznání fyzikální stěny: čip hnaný dvojnásobnou rychlostí vyžadoval čtyřnásobný výkon a prostě se tavil. Závod frekvencí, který trval třicet let, skončil během jediného dne, a s ním i zvyk posuzovat stroj podle čísla na krabici.
Sám takt je interval mezi dvěma hranami hodinového signálu, právě onen krok, jímž všechny souběžné části čipu přepínají naráz. Jeho převrácenou hodnotou je frekvence, a proto takt při pěti gigahertzech trvá dvě desetiny nanosekundy, za něž světlo stihne šest centimetrů a signál po měděném spoji ještě méně — méně, než je čip široký.
01 · Definice
Takt je perioda hodinového signálu, tedy interval mezi dvěma stejnými hranami, při nichž souběžné prvky čipu mění stav společně. Strojový cyklus je celý počet taktů, za který procesor vykoná dokončený úkon; ve zřetězeném stroji jej nahrazuje obrácená míra — počet taktů na instrukci, jejíž vlastní převrácená hodnota říká, kolik instrukcí opustí zřetězení za jeden takt.
Délku taktu nezadává příroda, nýbrž rozvedení spojů na čipu: nesmí být kratší než nejpomalejší cesta mezi dvěma klopnými obvody, včetně zpoždění samotného obvodu a rezervy na rozptyl parametrů. Odtud obvyklý hmat návrháře — rozetnout dlouhou logickou cestu na dva stupně zřetězení: takt se zkrátí na polovinu, frekvence se zdvojnásobí a instrukce nyní projde celé schodiště.
Frekvenci však neomezuje logika, nýbrž výkon: dynamická spotřeba roste s frekvencí a se čtvercem napětí, a napětí je nutno zvýšit, aby obvod na zvýšené frekvenci stačil. Teplo jde proto zhruba jako třetí mocnina frekvence, a na této třetí mocnině se závod gigahertzů zastavil kolem čtyř.
Konečně takt je jednotka, jejíž délka není stálá. Řízení napájení mění frekvenci stokrát za sekundu podle zátěže a teploty, a proto z počtu taktů nelze soudit na uplynulý čas, zato lze soudit na vykonanou práci: čítač taktů nepočítá sekundy, nýbrž kroky výpočtu, a v tom je jeho pravá cena.
Veďte frekvenci posuvníkem a sledujte dvě křivky, které se rozbíhají na opačné strany. Zelená je vzdálenost, kterou signál za jeden takt stihne: čím vyšší frekvence, tím kratší ta dráha, a při pěti gigahertzech se ukáže menší než čip sám. Karmínová je to, co stojí v taktech přístup do paměti: jeho zpoždění v nanosekundách se sotva mění, a v taktech proto jen roste.
Rozetnutím práce na stupně návrhář zkracuje takt, ale jediná instrukce nyní prochází celé to schodiště a její vlastní zpoždění se nezmenšuje, nýbrž roste. Zisk se objeví teprve tehdy, když jsou stupně naplněny různými instrukcemi, a při špatně předpověděném skoku je nutno zřetězení vyprázdnit celé — čím je hlubší, tím to přijde dráž.
02 · Převod
Frekvence, perioda, práce
Zadejte frekvenci nebo délku taktu a list ukáže převrácenou hodnotu, dráhu signálu za jeden takt a cenu přístupů do paměti v taktech. První rodina je přesná z definice, druhá se opírá o průměrné hodnoty jádra, třetí o typická zpoždění dnešní paměťové hierarchie.
Rychlost signálu po spoji je vzata jako šest desetin rychlosti světla; v jemnějším nastavení listu ji lze změnit na polovinu.
Podle frekvence lze srovnávat jen stejná jádra, neboť počet taktů na instrukci se mezi architekturami liší několikanásobně: jeden stroj vezme za takt čtyři instrukce, druhý sotva jednu. Právě proto číslo v gigahertzích zmizelo z reklamy a na jeho místo přišly sady testů, které už neměří takty, nýbrž vykonanou práci.
| Hodnota | Poznámka | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · Řády veličin
logaritmická stupnice: od taktu po časové okno plánovače04 · Měřicí přístroje
Čím se takt zadává a čím se počítá
Zdrojem taktu je destička křemene, kmitající obvykle na několika desítkách megahertzů s přesností asi deseti miliontin. Gigahertze na čipu nepocházejí z ní, nýbrž z násobení této vztažné frekvence, takže stálost celého stroje se dědí po kousku nerostu velikosti rýžového zrnka.
Fázový závěs porovnává dělenou frekvenci oscilátoru se vztažnou a dolaďuje jej, dokud se fáze neshodnou; změnou dělitele se frekvence mění za chodu. Právě on dovoluje řízení napájení snížit takt v klidu na několik set megahertzů a zvednout jej do turba na pár sekund, dokud je tepelná rezerva.
Uvnitř jádra sedí registry, které počítají takty, dokončené instrukce, výpadky vyrovnávací paměti a špatně předpověděné skoky, a číst je lze přímo z běžícího programu. Z těchto čísel se získává počet taktů na instrukci — jediná poctivá míra toho, jak dobře kód na daný čip dosedl.
Aby bylo možno spatřit sám takt, je třeba přístroj, který zachytí hrany s rozlišením několika pikosekund, a týž ukazuje i věci, kvůli nimž frekvenci nelze zvednout výš: chvění fáze, rozdílný příchod signálu do různých rohů čipu a sesuv hrany na dlouhém vedení.
05 · Pravidla zápisu
Takty a hertze nejsou totéž
Frekvence se píše v hertzích s předponou velkým písmenem u mega a giga, kdežto počet taktů se píše jako celé číslo bez jakékoli jednotky, protože takt jednotkou SI není. Ukazatele výkonu se píší velkými písmeny bez teček a s uvedením, kterého jádra se týkají; míchat frekvenci a výkon do jedné veličiny není dovoleno.
První zápis mísí dvě různé veličiny: počet taktů je bezrozměrný, kdežto hertz měří frekvenci. Druhý porušuje velikost písmene u předpony, povinnou u mega a giga. Třetí srovnává podle frekvence architektury, jejichž takty na instrukci se liší několikanásobně, a z takového srovnání nic neplyne. Čtvrtý bere proměnnou veličinu za stálou.
06 · Sousední jednotky
Vedle stojí jednotky, které měří touž práci z jiných stran: hertz jako frekvence samotného signálu, počet operací v pohyblivé řádové čárce za sekundu a počet instrukcí připadajících na jeden takt. Všechny plynou jedna z druhé, jakmile je známa frekvence a chování zřetězení.
frekvence, jednotka SI
bezrozměrná míra
míra výpočetní práce
Z listů Simetria vedle stojí hertz, který udává frekvenci, sekunda a jeho dílčí předpony, unix time, kde mez určuje rovněž strojové slovo, a bit s bajt, jimiž se měří to, co takt nese.
07 · Historický oddíl
Třicet let závodu a jeden den zrušení
První procesor na jediném čipu běžel na frekvenci, kterou dnešní čip projde ve zlomku mikrosekundy, a jedna instrukce mu zabrala osm taktů. Strojový cyklus byl tehdy pojmem doslovným: přečíst instrukci, rozluštit ji, vzít data, spočítat a zapsat — každý stupeň zabral svůj takt a všechny šly přísně po řadě.
Jakmile se stupně naučily pracovat současně na různých instrukcích, obvyklá míra se zlomila: instrukce stále trvala pět taktů, ale ze zřetězení vycházela každý takt. Počítání bylo nutno obrátit a mluvit o taktech na instrukci, které u dobrého stroje klesly pod jednotku — to jest, za jediný takt se dokončí více než jedna instrukce.
Architektura se zřetězením o jedenatřiceti stupních byla postavena kvůli frekvenci a narazila na teplo: slíbených deset gigahertzů žádalo chlazení nemyslitelné ve stolní skříni. Projekt byl uzavřen a obor se obrátil k mnoha jádrům — ne proto, že by to bylo lepší, nýbrž proto, že třetí mocnina růstu spotřeby jinou cestu nenechala.
Dnešní jádro nemá jedinou frekvenci: v klidu klesá na několik set megahertzů, pod zátěží stoupá k pěti gigahertzům a drží je, dokud vydrží tepelná rezerva. Číslo z listu se stalo slibem za příznivých podmínek a srovnávat podle něj stroje přestali výrobci i recenzenti.
Jednotka, jejíž délka se během měření mění
Takt je pro metrologa nepohodlně zařízen: jeho délku nezadává etalon, nýbrž rozvedení spojů na čipu, a mění se u téhož procesoru stokrát za sekundu, neboť řízení napájení přizpůsobuje frekvenci zátěži a teplotě. Proto se čítač taktů k měření času nehodí, ačkoli zvenčí vypadá jako hodiny, a program, který mu důvěřuje, se zmýlí o tolik, oč se frekvence pohnula.
Zato pro úkol, kvůli němuž takt vznikl, se hodí lépe než kterákoli jednotka času. Počítáním taktů neměříme trvání, nýbrž objem výpočetní práce, a proto počet taktů na instrukci zůstává srovnatelný při každé změně frekvence — mluví o tom, jak dobře kód na čip dosedl, ne o tom, kolik sekund uplynulo.
Katalog · měřicí jednotky
List pro každou veličinu
Sedm základních jednotek SI, dvaadvacet odvozených s vlastními jmény a veličiny mimo soustavu, bez nichž by nefungovala ani technika, ani kalendář.