1. Cine face munca, de fapt
Deschizi fotografia unei picturi si cresti luminozitatea cu 10 unitati. Programul nu are un buton magic: el trebuie sa ia fiecare punct al imaginii, sa adune 10 la valoarea de rosu, 10 la verde, 10 la albastru, apoi sa verifice daca nu a depasit valoarea maxima. Pentru o fotografie de 12 milioane de puncte inseamna peste 70 de milioane de operatii marunte.
Aceleasi lucruri se intampla si la un efect de reverb pe o inregistrare (calcule pe fiecare esantion de sunet), si la exportul unui film de repetitie (calcule pe fiecare cadru).
Toate celelalte componente il servesc: memoria ii da datele, discul le pastreaza, placa video preia partea de afisare, perifericele aduc si duc informatia.
Partitura scrisa este programul: sirul de instructiuni. Instrumentistul care le citeste si le canta, nota cu nota, este procesorul. Partitura singura nu suna; instrumentistul fara partitura nu stie ce sa cante. Iar viteza cu care se termina piesa depinde de cat de repede si de cat de organizat citeste si executa el.
2. Ciclul unei instructiuni: citire, decodificare, executie
Un dirijor de cor primeste un bilet pe care scrie: vocile de sopran, masura 12, mai incet. El (1) ia biletul, (2) intelege ce cere, (3) da semnul catre soprane. Trei pasi separati, mereu in aceeasi ordine. Nu poate da semnul inainte de a citi biletul.
Procesorul aduce din memorie urmatoarea instructiune a programului. El stie de unde s-o ia pentru ca tine o evidenta a locului la care a ajuns in program, ca un semn de carte care avanseaza singur.
Instructiunea sosita este doar un sir de cifre binare. Procesorul o traduce: ce operatie se cere (adunare? comparatie? mutare de date?) si pe ce valori se aplica.
Se face efectiv operatia, iar rezultatul se scrie inapoi - fie intr-un loc de lucru din interiorul procesorului, fie in memorie.
In interiorul procesorului exista cateva zeci de casute foarte mici si foarte rapide, numite registre. Acolo sunt tinute valorile cu care se lucreaza chiar in clipa aceea - de exemplu cele trei numere ale unui pixel. Sunt mult mai putine si mult mai mici decat cache-ul, dar sunt cele mai apropiate de locul unde se face calculul.
3. Cele doua unitati: cine comanda si cine calculeaza
Intr-un atelier de scenografie sunt doi oameni. Primul citeste schita si spune, pe rand: taie scandura la 80 de centimetri, verifica daca incape in cadru, acum trecem la urmatoarea piesa. Al doilea nu decide nimic, dar taie si masoara impecabil, exact ce i se cere. Primul comanda, al doilea executa operatiile. Procesorul este construit dupa aceeasi impartire.
Adunare, scadere, inmultire, impartire.
La tine in laborator: cresterea luminozitatii unei fotografii este o adunare pe fiecare valoare de culoare; marirea volumului unei inregistrari este o inmultire pe fiecare esantion de sunet.
Comparatii (mai mare, mai mic, egal) si operatiile SI, SAU, NU.
La tine in laborator: dupa ce a adunat 10 la o valoare de culoare, procesorul compara rezultatul cu valoarea maxima admisa si il retine pe cel mai mic - altfel zonele luminoase ale afisului ar deveni pete anapoda.
Unitatea de comanda si control raspunde la intrebarea ce facem acum si ce urmeaza?
Unitatea logico-aritmetica raspunde la intrebarea cat face?
Prima nu calculeaza, a doua nu decide. Impreuna, plus registrele si cache-ul, formeaza un nucleu de procesor.
4. Cache: de ce o memorie minuscula face o diferenta uriasa
Pictezi la sevalet. Cele cinci culori pe care le folosesti in fiecare minut le tii pe paleta, in mana stanga. Restul tuburilor sunt in dulapul din celalalt capat al salii. Daca ai tine toate culorile in dulap, ai face cate un drum pentru fiecare tusa si ai picta de zece ori mai incet - desi mana ta se misca la fel de repede.
Paleta este cache-ul. Dulapul este memoria RAM.
L1 - cel mai mic si cel mai rapid, propriu fiecarui nucleu. Dimensiune tipica: zeci de kilobytes de nucleu.
L2 - mai mare si putin mai lent, de obicei tot al fiecarui nucleu. Tipic: de la sute de kilobytes la cativa megabytes.
L3 - cel mai mare si cel mai lent dintre cele trei, de regula comun tuturor nucleelor. Tipic: de la cativa megabytes la cateva zeci de megabytes.
Regula generala: cu cat un nivel este mai aproape de nucleu, cu atat este mai rapid si mai mic. Valorile exacte difera de la un model de procesor la altul - le vei citi tu, pe calculatorul din laborator, in atomul 7.
Nu inlocuieste RAM-ul: este de sute pana la mii de ori mai mic. Un calculator cu 16 GB de RAM are, de obicei, cateva zeci de MB de cache in total.
Nu pastreaza nimic dupa oprire: ca si RAM-ul, se goleste cand se ia curentul. Fisierul cu afisul tau ramane pe disc, nu in cache.
Nu il administrezi tu: nu exista un buton pentru cache. Procesorul decide singur ce sa tina acolo.
5. Primul parametru de performanta: numarul de nuclee
Aveti de pregatit 200 de programe de spectacol: de indoit, de stampilat, de pus in plicuri. Un singur elev le face pe rand. Patru elevi asezati la patru mese le fac, teoretic, de patru ori mai repede - pentru ca munca se poate imparti.
Dar daca sarcina ar fi cantatul unei piese la pian, patru pianisti nu o canta de patru ori mai repede: e o munca ce trebuie facuta pas cu pas, in ordine. Asa functioneaza si nucleele.
In Windows, la Managerul de activitati, vei vedea doua numere diferite: Nuclee si Procesoare logice. La multe procesoare moderne, al doilea numar este mai mare - fiecare nucleu fizic se prezinta sistemului de operare ca doua unitati de lucru, ca sa fie folosit mai bine atunci cand o parte din el ar sta degeaba.
Retine ideea simpla: procesoarele logice nu sunt nuclee in plus. Sunt tot atatea nuclee, folosite mai eficient. Cand compari doua procesoare, uita-te intai la numarul de nuclee fizice.
Mai multe nuclee te ajuta cand: exporti un film de repetitie, randezi o animatie, aplici acelasi filtru pe un teanc de fotografii ale lucrarilor, exporti un proiect audio cu multe piste.
Mai multe nuclee nu te ajuta cand: scrii textul programului de spectacol, desenezi cu tableta grafica, asculti o inregistrare. Acolo conteaza alti factori.
6. Al doilea parametru: frecventa (si de ce nu spune tot)
Metronomul din sala de pian bate 120 de batai pe minut. Bataia da ritmul, nu si cat de multa muzica intra intr-o bataie: la aceeasi viteza a metronomului, o masura poate contine doua note lungi sau saisprezece note scurte.
Frecventa procesorului este metronomul. Cat lucru intra intr-o bataie depinde de cum este construit procesorul.
Procesoarele moderne isi schimba singure frecventa. Vei intalni doua valori:
frecventa de baza - valoarea garantata in conditii normale (aceasta apare in Windows la Setari > Sistem > Despre);
frecventa maxima - valoarea la care urca pentru scurt timp, cand are nevoie si cand temperatura permite.
Cand procesorul se incalzeste prea tare, isi reduce singur frecventa, ca sa se protejeze. De aceea un laptop cu ventilatorul infundat de praf randeaza mai incet decat unul curat, desi are exact acelasi procesor.
Cand compari doua calculatoare pentru laboratorul de arte, uita-te la toate trei: numarul de nuclee (cate lucruri se pot face simultan), frecventa (cat de repede se desfasoara fiecare) si cache-ul (cat de rar asteapta nucleele dupa date). Un singur numar mare, luat separat, nu spune mare lucru.
7. Citeste parametrii procesorului de la tine din laborator
Inainte sa ceri scolii un calculator mai bun pentru montajul spectacolului, trebuie sa stii ce ai acum. Cei trei parametri din lectie se citesc in mai putin de un minut, fara sa deschizi carcasa si fara sa instalezi nimic.
1. Apasa tastele Windows + I ca sa deschizi Setari.
2. Mergi la Sistem, apoi jos la Despre.
3. La Specificatii dispozitiv citesti, in dreptul campului Procesor, numele modelului si frecventa de baza (de exemplu 2.40 GHz). Tot acolo apare si memoria RAM instalata.
1. Apasa Ctrl + Shift + Esc ca sa deschizi Managerul de activitati (Task Manager).
2. Alege fila Performanta, apoi, in stanga, CPU.
3. In coltul din dreapta jos gasesti, unul sub altul: Viteza de baza, Nuclee, Procesoare logice, precum si Cache L1, Cache L2 si Cache L3.
4. Graficul de sus arata cat din procesor este folosit chiar acum. Porneste un export si uita-te din nou la el.
Pe versiunile mai vechi de Windows, daca fereastra se deschide mica, fara file, exista un buton care extinde vederea (in Windows 10 se numeste Mai multe detalii). In Windows 11 filele sunt afisate direct, in coloana din stanga.
Ubuntu nu are Manager de activitati cu fila Performanta. Aceleasi informatii se obtin din terminal:
1. Apasa Ctrl + Alt + T ca sa deschizi terminalul.
2. Scrie comanda lscpu si apasa Enter.
3. Citesti in lista afisata: Model name (modelul), CPU(s) (numarul total de unitati de executie vazute de sistem), Core(s) per socket (nucleele fizice), Thread(s) per core, CPU max MHz si liniile de cache (L1d, L1i, L2, L3).
Pentru un grafic de utilizare, ca in Windows, Ubuntu are aplicatia Monitor de sistem (System Monitor), fila Resurse.
Windows iti da totul cu mausul, in doua ferestre diferite (Setari pentru nume si frecventa, Managerul de activitati pentru nuclee si cache).
Ubuntu iti da totul dintr-o singura comanda scrisa, lscpu, dar cu etichetele in engleza.
Informatia este aceeasi: procesorul nu se schimba, doar unealta cu care il citesti.