cum reducem consumul de energie al pisiului

duminică, 17 iun. 2012, 17:35

Articolul de față nu își propune să dea apă la moară ecologiștilor și altor specii formate din indivizi mai mult sau mai puțin ciudați care populează grădina vastă a Domnului. Cu toate astea o să merg până la a afirma că consumul de energie e o problemă importantă pentru viața de zi cu zi a individului mediu; în primul rând pentru dispozitivele gen laptop, pentru care optimizarea consumului de energie prelungește viața bateriei și asigură funcționarea în timpul călătoriilor lungi cu trenul sau cu avionul; în al doilea rând pentru dispozitivele desktop sau server, a căror funcționare se regăsește într-o oarecare măsură pe factura de energie electrică.

Acestea fiind spuse, să presupunem că rulăm o distribuție GNU/Linux oarecare cu un nucleu aflat la 3.0 sau mai nou. Hardware-ul trebuie și el să fie Intel, pentru că AMD au susținut sus și tare că nu prea sunt interesați de problema sus-numită. Procesorul ar fi de preferință să fie minim Core i3, având în vedere că Core-urile în general și i-urile în particular au facilități de power management destul de bine puse la punct. Pașii necesari (dar nu musai și suficienți) sunt următorii: (mai mult…)

breviar istoric intel (ii)

luni, 30 apr. 2012, 18:28

În cadrul articolului anterior rămăsesem pe undeva la Pentium, care spuneam că are pipeline superscalar, cache-uri de date și de instrucțiuni și așa mai departe. Să facem o pauză și să explicăm câteva din conceptele astea, pentru că sunt foarte importante pentru ceea ce a urmat după.

Pipeline-ul, adică pe românește banda de asamblare, e pe scurt transpunerea în calculatoare a ideii lui Henry Ford: luăm o problemă, o spargem în probleme seriale mai mici și punem entități separate să lucreze la fiecare (sub)problemă. Astfel soluția subproblemei 0 e transmisă către entitatea care se ocupă de subproblema 1, ieșirea lui 1 către 2 și tot așa. Avantajul acestei soluții e că dacă procesorul are două instrucțiuni consecutive de executat, pipeline-ul va putea executa – în cazul ideal – porțiuni din ele (de exemplu preluarea unei variabile din memorie și o adunare) în paralel.

Abordarea asta aduce cu ea și multe complicații în care nu vom intra aici, însă e interesant aspectul că dacă două instrucțiuni (consecutive sau nu) nu depind între ele, acestea pot ajunge să fie executate într-o ordine aleatoare. Drept urmare dacă există două benzi de asamblare distincte, procesorul va putea planifica instrucțiuni după o politică prestabilită. Ca fapt divers execuția out-of-order n-a fost inventată de Intel, ci de o (fostă) companie care avea în componență și un român, dar în fine, astea-s deja detalii. (mai mult…)