Nucleuri mari și mici într-un procesor eterogen: diferențe și performanță

Cores mare și mic într-un procesor eterogen

Până în prezent, atât în ​​cazul procesorelor PC cât și al APU-urilor, a fost un design omogen în procesoare, ceea ce înseamnă utilizarea unui singur tip de nucleu repetat de un anumit număr de ori. Dar utilizarea configurațiilor eterogene cu nuclee de complexitate diferită a început să apară pe PC. Vă explicăm ce diferă nucleele mari și mici în astfel de APU-uri și procesoare pentru PC

Sosirea CPU-urilor și APU-urilor în PC-uri care utilizează nuclee eterogene și, prin urmare, nuclee de complexitate și dimensiune diferite este un fapt. Dar cum diferă aceste nuclee eterogene prin natură și performanță? Aceasta este întrebarea pe care și-o pun mulți când citesc despre diferitele arhitecturi care apar pe piață. De ce, după mai bine de un deceniu, utilizarea unui singur tip de nucleu are saltul către utilizarea nucleelor ​​mari și mici în procesoare.

De ce se folosesc diferite tipuri de nuclee?

ConceptArt MultiCPU

Există mai multe motive pentru acest lucru, cel mai cunoscut este cel care a fost folosit în clasicul mare acum. PICTURI de procesoare pentru smartphone-uri, unde două colecții de nuclee de putere și consum diferite sunt schimbate în funcție de tipul de aplicații în funcție de la volumul de lucru de pe smartphone în orice moment. Acest lucru a fost făcut pentru a crește durata de viață a bateriei unor astfel de dispozitive.

Astăzi acest concept a evoluat și este deja posibil să se utilizeze ambele tipuri de nuclee simultan și nu într-un mod comutat. Așadar, designul combinat nu se mai bazează pe economisirea energiei, ci pe obținerea celor mai înalte performanțe posibile. Aici intrăm în două moduri diferite de a înțelege performanța, în funcție de modul în care sunt utilizate nucleele eterogene.

Cel mai utilizat dintre ele, deoarece este cel mai ușor de implementat, constă în atribuirea celor mai ușoare fire din punct de vedere al sarcinii de lucru nucleelor ​​cu cea mai mică putere, o sarcină pe care sistemul de operare trebuie să o îndeplinească. Care este piesa de software responsabilă de gestionarea utilizării resurselor hardware, inclusiv GPU. Acest mod de lucru este același cu Intel Lakefield și viitoarele sale arhitecturi precum Alder Lake, precum și ARM nuclee cu DynamiQ.

Orice ar fi, organizația se bazează pe utilizarea a două nuclee cu același set de registre și instrucțiuni, dar cu specificații diferite. Care sunt diferențele dintre diferitele nuclee eterogene? Sa vedem.

Miezuri mari vs. miezuri mici astăzi

Lakefield-nuclee nuclee hibride

În primul rând să intrăm în evident, prima diferență dintre cele două tipuri de nuclee este în mărime. Deoarece miezurile mari sunt mai complexe decât miezurile mici, ele au o structură mai complexă și, prin urmare, alcătuite dintr-un număr mai mare de tranzistoare. Ergo sunt mai mari decât nucleele mici, care au o structură mult mai simplă. Aceasta înseamnă că în spațiul cipului putem include mai multe nuclee mici în spațiul cip decât nucleele mari.

La toate acestea, primul lucru pe care îl veți întreba este: care este avantajul de performanță atunci când aplicați cele două tipuri de nuclee? Trebuie să avem în vedere că astăzi pe computer, pe computerele noastre, mai multe aplicații rulează în același timp, fiecare executând mai multe fire de execuție. Ceea ce faptul de a adăuga un număr mai mare de nuclee, chiar dacă se bazează pe realizarea acestuia cu nuclee mai ușoare, se termină prin a adăuga performanței totale.

În realitate, nucleele mai mici sunt doar un mod în plus de a ușura munca nucleelor ​​mai mari și mai complexe, eliminând munca de făcut. Nu numai asta, ci chiar și nuclee suplimentare pot fi folosite pentru a gestiona cele mai frecvente întreruperi ale diferitelor periferice, astfel încât restul nucleelor ​​să nu trebuiască să-și oprească funcționarea în niciun moment pentru a le participa continuu și în orice moment. .

Arhitecturile viitorului trec prin configurații eterogene

Nucleos Big Little

Cealaltă metodă este mai complexă pentru implementarea nucleelor ​​mari și mici diferă de cea anterioară, deoarece constă în împărțirea setului de registre și instrucțiuni ale ISA și repetarea acestuia în două clase de nuclee. Motivul este că nu toate instrucțiunile au același consum de energie, dar cele mai simple vor consuma întotdeauna mai mult în nucleele mai complexe. Deci, ideea nu este de a distribui firele de execuție către nucleul lor corespunzător, ci mai degrabă că execuția unui singur fir de execuție este partajată între două sau mai multe nuclee într-o manieră intercalată.

Prin urmare, implementarea sa este mult mai complexă decât modelul actual, deoarece diferitele nuclee responsabile de același fir de execuție trebuie să aibă hardware-ul necesar pentru a se coordona la executarea codului programelor. Avantajul acestei paradigme este că, în principiu, nu necesită munca sistemului de operare pentru a gestiona diferitele fire pe care Procesor trebuie să execute. Dar, în acest caz, după cum am comentat deja, împărțirea tipurilor de nuclee eterogene depinde de modul în care setul de instrucțiuni este distribuit între ambele nuclee.

Ley Amdahl

Funcționarea acestei metode are legătură cu așa-numita lege a lui Amdahl și cu modul în care programele se amplifică în ceea ce privește performanța. Pe de o parte, avem părți secvențiale care nu pot fi distribuite între mai multe nuclee deoarece nu pot fi executate în paralel și pe de altă parte care pot fi. În primul caz, puterea nu va depinde de numărul de nuclee, ci de puterea fiecărui nucleu, în timp ce în al doilea va depinde de fiecare nucleu.

În mod tradițional, cele mai complexe instrucțiuni dintr-un procesor sunt implementate dintr-o secvență de instrucțiuni mai simple, pentru a profita mult mai bine de hardware. Dar noile noduri de fabricație vor permite instrucțiuni mai complexe să fie conectate direct la nucleele mai complexe, mai degrabă decât să fie un compus din mai multe nuclee. Acest lucru va servi, de asemenea, pentru a crește performanța generală a programelor, deoarece la executarea acestor instrucțiuni, acestea vor dura mult mai puține cicluri de ceas pentru a fi executate.