ARM a prezentat noul său design de procesor - Cortex-A77. La fel ca și procesorul Cortex-A76 de anul trecut, acest nucleu este destinat sarcinilor de înaltă clasă din smartphone-uri și diverse dispozitive. În el, dezvoltatorul își propune să crească numărul de instrucțiuni executate pe ciclu (IPC). Frecvențele de ceas și consumul de energie au rămas aproximativ la nivelul Cortex-A76.

În prezent, ARM își propune să crească rapid performanța nucleelor sale. Conform planurilor sale, începând cu Cortex-A73 din 2016 și până la designul Hercules din 2020, compania intenționează să crească puterea CPU cu 2,5 ori. Trecerea de la 16 nm la 10 nm și apoi la 7 nm a permis deja creșterea frecvenței de ceas, iar împreună cu arhitectura Cortex-A75 și ulterior Cortex-A76, estimările ARM indică o creștere de 1,8 ori a performanței. Acum, nucleul Cortex-A77 va permite, datorită creșterii IPC, să îmbunătățească performanța cu încă 20% la aceeași frecvență de ceas. Așadar, o creștere de 2,5 ori în 2020 devine foarte realizabilă.

În ciuda creșterii IPC cu 20%, estimările ARM sugerează că consumul de energie al A77 nu a crescut. Compromisul în acest caz constă în faptul că suprafața cristalului A77 este cu aproximativ 17% mai mare decât la A76, având aceleași standarde tehnologice. Ca urmare, costul unui nucleu individual va crește ușor. Comparând realizările ARM cu liderii din industrie, trebuie menționat că AMD în Zen 2 a realizat o creștere a IPC de 15% față de Zen+, iar valoarea IPC a nucleelor Intel a rămas aproape constantă de mulți ani.

Fereastra de execuție cu modificarea secvenței instrucțiunilor (out-of-order window size) a fost mărită cu 25%, până la 160 de unități, ceea ce permite nucleului să crească paralelismul calculului. Chiar și în Cortex-A76 a existat un buffer mare pentru adresele de salt (Branch Target Buffer), iar în Cortex-A77 acesta a fost extins cu încă 33%, până la 8 KB, ceea ce permite blocului de predicție a salturilor să facă față eficient creșterii numărului de instrucțiuni paralele.

O inovație și mai interesantă este noul cache de 1,5 Kbyte, în care sunt stocate macrooperațiile (MOP) returnate din modulul de decodare. Arhitectura procesorului ARM decodează instrucțiunile din aplicația utilizatorului în macrooperații mai mici, iar apoi le fragmentează în microoperații care sunt transmise deja nucleului de execuție. Cache-ul MOP este utilizat pentru a reduce impactul ramurilor pierdute și al resetărilor, deoarece acum macrooperațiile sunt stocate într-un bloc separat și nu necesită decodificare repetată — crescând astfel lățimea de bandă generală a nucleului. În anumite sarcini, noul bloc este o completare extrem de utilă a cache-ului standard de instrucțiuni.


În nucleul de execuție a fost adăugat al patrulea bloc ALU și al doilea bloc de ramificări. Al patrulea ALU crește lățimea de bandă generală a procesorului de 1,5 ori prin capacitatea de a executa instrucțiuni pe un singur ciclu (cum ar fi ADD și SUB) și operații întregi pe două cicluri, cum ar fi înmulțirea. Celelalte două ALU pot gestiona doar instrucțiuni de bază pe un singur ciclu, în timp ce ultimul bloc este încărcat cu operații matematice mai complexe, cum ar fi împărțirea, înmulțirea cu acumulare etc. Al doilea bloc de ramificări din cadrul nucleului de execuție dublează numărul de tranziții de ramificare simultane cu care nucleul poate lucra, ceea ce este util în cazurile în care două din cele șase comenzi trimise se referă la tranzițiile de ramificare. Testele interne la ARM au arătat un câștig în performanță datorită utilizării acestui al doilea bloc de tranziții.


Printre altele, schimbările nucleului includ adăugarea unui al doilea pipeline de criptare AES, creșterea lățimii de bandă a memoriei, un mecanism de preluare a datelor de nouă generație, care permite îmbunătățirea eficienței consumului de energie și, în același timp, creșterea lățimii de bandă a sistemului DRAM, optimizări ale funcționării cache-ului și așa mai departe.


Cea mai mare creștere este observată în Cortex-A77 pentru operațiuni aritmetice și calcule cu virgulă mobilă. Acest lucru este susținut de testele interne ale ARM în SPEC, care au arătat o creștere a performanței de 20% și 35% pentru operațiunile întregi și calculele cu virgulă mobilă, respectiv. Îmbunătățirile lățimii de bandă a memoriei sunt în intervalul de 15–20%. În general, optimizările și modificările în A77 oferă, în medie, o creștere a performanței de 20% în comparație cu generația anterioară. Datorită noilor dimensiuni tehnologice de 7 nm ULV, putem obține beneficii suplimentare în cipurile finale.


ARM a dezvoltat Cortex-A77 pentru a funcționa împreună în configurația 4+4 big.LITTLE (4 nuclee puternice și 4 nuclee simple, eficiente energetic). Dar, având în vedere suprafața crescută a noii arhitecturi, mulți producători s-ar putea să prezinte configurații 1+3+4 sau 2+2+4 pentru a economisi, care sunt deja practic utilizate, unde doar un nucleu sau două vor fi A77 complete, fără restricții.

Sursa: 3dnews.ru
