MCC sau Matrix Computing Coprocessor, noua componentă a viitorului procesor A13

noua

Bloomberg a deschis interdicția. Suntem la câteva săptămâni distanță de zvonul evenimentului (presupus) din 10 septembrie viitor, prezentarea noii generații de iPhone. Și dacă ascultăm ce au spus recent Mark Gurman și Debby Wu, am vedea și o ușoară renovare a iPad Pro, un nou iPad de 10,2 "pentru educație și noile MacBook Pro de 16". Dacă doriți să aflați mai multe, aveți aici articolul care numără toate zvonurile.

Dar aici ne vom concentra pe ceva (pentru mine) mai important decât 3 camere de pe iPhone sau un iPad de 10'2 ”. Astăzi vorbim despre creiere și despre un nou coprocesor pe care Gurman l-a avansat, care ar include viitorul A13 care ar da inteligență acestei noi generații de dispozitive. Un coprocesor numit AMX, care ar fi specializat în calculul matricii în virgulă mobilă. Un cip conceput pentru a sprijini viziunea pe computer și realitatea augmentată. Așadar, vă vom spune în ce va consta și care vor fi funcțiile sale.

Calcul eterogen

Aceasta este cheia evoluției procesorelor bazate pe arhitectură ARM fabricate astăzi. Contrar a ceea ce ați putea crede, atunci când vedem un punct de referință în care noul A12x al iPad Pro atinge o performanță aproape la fel ca un procesor Intel high-end precum cele ale MacBook Pro din 2018, spunem de fapt jumătate din poveste și această valoare ne „înșeală”.

În același mod în care astăzi gigaherții unui ceas de procesor nu indică viteza acestuia, deoarece depinde de generația, componentele, tranzistoarele și altele ale procesorului în sine, un punct de referință nu este capabil să surprindă problema reală pe care o are astăzi un procesor de arhitectură ARM, conceput pentru a economisi energie: că arhitectura sa este mai lentă prin definiție, chiar dacă măsurăm rezultatele după aceleași criterii.

Vom pune câteva exemple rapide, astfel încât să o înțelegeți. Un procesor x86 ca orice Intel folosit de Mac are mii de instrucțiuni. De la cele mai de bază (cum ar fi o sumă) la altele mai complexe, cum ar fi mișcările de memorie între anumite componente și chiar calcule foarte specifice, cum ar fi codificarea unui set de date video.

Pentru a vă face o idee: un procesor nu este același (ca în urmă cu mulți ani) care ar putea adăuga doar și pentru a multiplica trebuia să facă multe sume una care are o instrucțiune multiplică și într-o singură instrucțiune efectuează toată operația.

Setul de instrucțiuni al unei arhitecturi x86 pe 64 de biți poate avea mai mult de 5.000 de instrucțiuni și la asta trebuie să adăugăm alte instrucțiuni foarte specifice din diferite subseturi de instrucțiuni pentru multimedia, calcul flotant, procesare video ... totuși, ARM pentru a permite o arhitectură mai puțin consumatoare de energie, are operațiuni semnificativ mai puține.

În plus, există dimensiunea instrucțiunilor. Pe x86, fiecare instrucțiune are o dimensiune diferită, cele mai de bază și cele mai frecvent utilizate instrucțiuni care ocupă doar 8 biți, poate 16 biți. cu toate acestea, în ARM toate instrucțiunile ocupă aceiași 32 de biți, chiar dacă sunt scurte la nivel de numerotare. Prin urmare, în timp ce x86 este capabil să proceseze mai multe instrucțiuni pe secundă, deoarece fiecare are o dimensiune diferită (este dinamic), în ARM numărul de instrucțiuni de procesat pe secundă este constant.

Acestea sunt doar câteva dintre diferențele de observat. Din acest motiv, salvarea arhitecturii ARM pentru a-i permite să aibă o eficiență comparabilă (reală) cu o arhitectură x86, este un calcul eterogen. Capacitatea unui procesor de a avea diferite componente specializate în sine. Să presupunem că un x86 joacă mușchi cu un procesor care permite mii de instrucțiuni de dimensiuni dinamice, dar destinate operațiilor mai generice. Cu toate acestea, ceea ce face ARM este că CPU îl lasă pentru cazuri generice și restul activităților sunt trimise către alte componente specializate.

De exemplu: dacă vrem să codificăm un videoclip pe un procesor x86, avem un set de instrucțiuni care să ne ajute (așa-numita tehnologie Quick Sync de la Intel). Dar sunt instrucțiuni în cadrul aceluiași procesor, așa că încarcă această lucrare în loc să o elibereze. Cu toate acestea, un procesor Apple A12 are un nucleu de codare video HEVC care se află în afara procesorului și a cărui sarcină este de a codifica și decoda video cu acest codec. Deci, dacă înregistrăm videoclipuri 4K pe un iPhone XR (de exemplu) CPU nu trebuie să facă nimic, cu excepția operațiunilor de coordonare, în timp ce sarcina codificării revine unei componente externe. Acest lucru eliberează în mod evident CPU pentru a face alte lucruri, răspândește munca și face sistemul mai rapid în utilizare reală.

Acum, gândiți-vă că un procesor A12 are următoarele componente: GPU (procesor grafic), TPU (unitate de tensori sau motor neural), coordonator de proces (care determină ce tip de nucleu sau componentă se cere fiecare operație care este cerută cipului), ISP ( cip de procesare a imaginii pentru fotografie), DSP (sau procesor de semnal digital pentru sunet), motor de adâncime (pentru a procesa adâncimea elementelor dintr-o imagine), procesor video ... plus GPU are 4 nuclee (7 în cazul unui A12x) și 6 nuclee CPU (8 în cazul A12x).