Ciclul de ceas al procesorului și ciclul mașină
Unitate din afara sistemului · mărime: un interval de sincronizare și o măsură a lucrului de calcul
În toamna anului 2004 Intel a anulat dezvoltarea unui procesor care trebuia să meargă la zece gigahertzi, și n-a fost un eșec tehnic, ci recunoașterea unui zid fizic: un cip împins de două ori mai repede cerea de patru ori puterea și pur și simplu se topea. Cursa frecvențelor, care ținuse treizeci de ani, s-a sfârșit într-o singură zi, iar odată cu ea și obiceiul de a judeca o mașină după cifra de pe cutie.
Ciclul însuși este intervalul dintre două fronturi ale semnalului de ceas, tocmai acel pas cu care toate părțile sincrone ale cipului comută deodată. Inversul lui este frecvența, și de aceea un ciclu la cinci gigahertzi ține două zecimi de nanosecundă, în care lumina apucă șase centimetri, iar un semnal pe un traseu de cupru și mai puțin — mai puțin decât lățimea cipului.
01 · Definiție
Ciclul este perioada semnalului de ceas, adică intervalul dintre două fronturi de același fel la care elementele sincrone ale cipului își schimbă starea împreună. Ciclul mașină este un număr întreg de cicluri de ceas în care procesorul face o acțiune încheiată; într-o mașină cu bandă el e înlocuit de măsura inversă — numărul de cicluri pe instrucțiune, al cărui propriu invers spune câte instrucțiuni părăsesc banda într-un ciclu.
Lungimea unui ciclu n-o dă natura, ci trasarea legăturilor pe cip: nu poate fi mai scurtă decât cel mai lent drum dintre două bistabile, cu tot cu întârzierea bistabilului însuși și o rezervă pentru împrăștierea parametrilor. De aici gestul obișnuit al proiectantului — a tăia un drum logic lung în două trepte de bandă: ciclul se înjumătățește, frecvența se dublează, iar instrucțiunea urcă acum toată scara.
Ce mărginește frecvența nu e însă logica, ci puterea: consumul dinamic crește odată cu frecvența și cu pătratul tensiunii, iar tensiunea trebuie ridicată pentru ca circuitul să prindă la frecvența sporită. Căldura merge de aceea cam ca frecvența la a treia, și pe această dependență cubică cursa gigahertzilor s-a oprit pe la patru.
În sfârșit, ciclul este o unitate a cărei lungime nu e statornică. Gestionarea alimentării schimbă frecvența de sute de ori pe secundă, potrivind-o cu sarcina și temperatura, și de aceea din numărul de cicluri nu se poate judeca timpul scurs, dar se poate judeca lucrul făcut: numărătorul de cicluri nu numără secunde, ci pași de calcul, și în asta stă valoarea lui adevărată.
Purtați frecvența cu cursorul și urmăriți două curbe care se depărtează în sensuri opuse. Cea verde e distanța pe care semnalul apucă s-o parcurgă într-un ciclu: cu cât frecvența e mai mare, cu atât drumul e mai scurt, iar la cinci gigahertzi se dovedește mai mic decât cipul însuși. Cea purpurie e cât costă în cicluri un acces la memorie: întârzierea ei în nanosecunde aproape că nu se schimbă, așa că în cicluri nu face decât să crească.
Tăind lucrul în trepte, proiectantul scurtează ciclul, dar o singură instrucțiune urcă acum toată scara aceea, iar întârzierea ei proprie nu scade, ci crește. Câștigul apare abia atunci când treptele sunt pline cu instrucțiuni diferite, iar la un salt prost prezis banda trebuie golită în întregime — cu cât e mai adâncă, cu atât iese mai scump.
02 · Conversie
Frecvență, perioadă, lucru
Introduceți o frecvență sau o lungime de ciclu, iar fișa va arăta inversul, drumul semnalului într-un ciclu și costul acceselor la memorie în cicluri. Prima familie e exactă prin definiție, a doua se sprijină pe valorile medii ale unui nucleu, a treia pe întârzierile obișnuite ale ierarhiei de memorie de azi.
Viteza semnalului pe un traseu e luată ca șase zecimi din viteza luminii; în reglajele fine ale fișei poate fi schimbată la jumătate.
După frecvență se pot compara doar nuclee la fel, fiindcă numărul de cicluri pe instrucțiune diferă între arhitecturi de câteva ori: o mașină ia patru instrucțiuni într-un ciclu, alta abia una. Tocmai de aceea cifra în gigahertzi a plecat din reclame, iar în locul ei au venit seturi de teste care nu mai măsoară cicluri, ci lucru făcut.
| Valoare | Notă | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · Ordine de mărime
scară logaritmică: de la ciclu la fereastra de timp a planificatorului04 · Instrumente de măsură
Cu ce se dă ciclul și cu ce se numără
Izvorul ciclului e o plăcuță de cuarț, care oscilează de obicei la câteva zeci de megahertzi cu o exactitate de vreo zece milionimi. Gigahertzii de pe cip nu vin de la ea, ci din înmulțirea acestei frecvențe de referință, așa încât statornicia întregii mașini se moștenește de la o bucată de mineral cât un bob de orez.
Bucla de fază compară frecvența împărțită a oscilatorului cu cea de referință și îl potrivește până când fazele coincid; schimbând divizorul, frecvența se schimbă din mers. Tocmai ea îngăduie gestionării alimentării să coboare ciclul în repaus la câteva sute de megahertzi și să-l ridice în turbo pentru câteva secunde, cât timp mai e rezervă termică.
În nucleu stau registre care numără cicluri, instrucțiuni încheiate, ratări ale memoriei ascunse și salturi prost prezise, și pot fi citite chiar din programul care rulează. Din aceste numere se obține numărul de cicluri pe instrucțiune — singura măsură cinstită a felului în care codul s-a așezat pe un anume cip.
Ca să vezi ciclul însuși e nevoie de un aparat care prinde fronturile cu o rezoluție de câteva picosecunde, și tot el arată lucrurile din pricina cărora frecvența nu poate urca mai sus: tremurul de fază, sosirea inegală a semnalului în colțuri diferite ale cipului și lăsarea frontului pe o linie lungă.
05 · Reguli de scriere
Ciclurile și herții nu sunt același lucru
Frecvența se scrie în hertzi, cu prefixul cu majusculă la mega și giga, în timp ce un număr de cicluri se scrie ca număr întreg, fără nicio unitate, de vreme ce ciclul nu e unitate SI. Indicii de performanță se scriu cu majuscule fără puncte și cu arătarea nucleului la care se referă; a amesteca frecvența și performanța într-o singură mărime nu e îngăduit.
Prima scriere amestecă două mărimi diferite: un număr de cicluri e adimensional, pe când hertzul măsoară frecvență. A doua încalcă majuscula prefixului, obligatorie la mega și giga. A treia compară după frecvență arhitecturi ale căror cicluri pe instrucțiune diferă de câteva ori, iar dintr-o asemenea comparație nu urmează nimic. A patra ia o mărime variabilă drept una statornică.
06 · Unități vecine
Alături stau unitățile care măsoară același lucru din alte părți: hertzul ca frecvență a semnalului însuși, numărul de operații în virgulă mobilă pe secundă și numărul de instrucțiuni care cad pe un ciclu. Toate decurg una din alta de îndată ce se cunosc frecvența și purtarea benzii.
frecvență, unitate SI
o măsură adimensională
o măsură a lucrului de calcul
Dintre fișele Simetrium alături stau hertz, care dă frecvența, secundă și prefixele lui submultiple, unix time, unde limita e dată tot de cuvântul mașină, și bitul s octetul, cu care se măsoară ceea ce duce un ciclu.
07 · Secțiune istorică
Treizeci de ani de cursă și o zi de anulare
Primul procesor pe un singur cip mergea la o frecvență pe care un cip de azi o trece într-o frântură de microsecundă, iar o instrucțiune îi lua opt cicluri. Ciclul mașină era atunci o noțiune literală: citirea instrucțiunii, desfacerea ei, aducerea datelor, calculul și scrierea — fiecare treaptă lua ciclul ei, și toate mergeau strict pe rând.
De îndată ce treptele au învățat să lucreze deodată la instrucțiuni diferite, măsura obișnuită s-a rupt: o instrucțiune mergea tot cinci cicluri, dar ieșea din bandă în fiecare ciclu. A trebuit întoarsă numărarea și s-a vorbit de cicluri pe instrucțiune, care la o mașină bună a coborât sub unu — adică într-un singur ciclu se încheie mai mult de o instrucțiune.
O arhitectură cu o bandă de treizeci și una de trepte a fost făcută de dragul frecvenței și s-a izbit de căldură: cei zece gigahertzi făgăduiți cereau o răcire de neînchipuit într-o carcasă de birou. Proiectul a fost închis, iar ramura s-a întors spre mai multe nuclee — nu fiindcă e mai bine, ci fiindcă creșterea cubică a consumului n-a lăsat altă cale.
Un nucleu de azi n-are o singură frecvență: în repaus coboară la câteva sute de megahertzi, sub sarcină urcă spre cinci gigahertzi și îi ține cât ține rezerva termică. Cifra din fișă a devenit o făgăduință în condiții prielnice, iar a compara mașinile după ea au încetat și producătorii, și cronicarii.
O unitate a cărei lungime se schimbă în timpul măsurării
Ciclul e rânduit incomod pentru metrolog: lungimea lui n-o dă un etalon, ci trasarea legăturilor pe cip, și se schimbă la unul și același procesor de sute de ori pe secundă, de vreme ce gestionarea alimentării potrivește frecvența cu sarcina și temperatura. De aceea numărătorul de cicluri nu e bun la măsurarea timpului, deși pe dinafară pare un ceas, iar un program care se încrede în el greșește cu atât cu cât s-a mișcat frecvența.
În schimb pentru sarcina de dragul căreia ciclul a apărut, el se potrivește mai bine decât orice unitate de timp. Numărând cicluri, măsurăm nu o durată, ci volumul lucrului de calcul, și de aceea numărul de cicluri pe instrucțiune rămâne comparabil la orice schimbare de frecvență — vorbește despre cât de bine s-a așezat codul pe cip, nu despre câte secunde au trecut.
Catalog · unități de măsură
O fișă pentru fiecare mărime
Șapte unități fundamentale SI, douăzeci și două derivate cu nume propriu și mărimi din afara sistemului, fără de care n-ar funcționa nici tehnica, nici calendarul.