Scitech

Cum a venit ARM să domine piața mobilă

Ori de câte ori vă gândiți la hardware-ul de calcul mobil, ARM este probabil prima companie care vine în minte sau ar trebui să fie .

Deși istoric Intel a fost recunoscut ca lider în procesul de fabricare a cipurilor – și până în ziua de azi rămâne adevărat – de ani buni , ARM a sculptat încet într-o nișă care până la urmă a ajuns la un punct de inflexiune, unde dispozitivele de calcul nu mai trebuiau să fie mai rapide, dar trebuiau să fie mai eficienți și mai portabili.

Acesta este motivul pentru care ARM domină piața procesoarelor mobile cu aproape toate versiunile majore construite în topul arhitecturii sale.

Vorbim de miliarde de cipuri utilizate pe aplicații încorporate, sisteme biometrice, televizoare inteligente, iPhone, laptopuri și tablete.

Dar de ce este cazul și de ce alte arhitecturi precum x86 nu au reușit să pună mâna pe el? În acest articol, vă vom explica, vă vom oferi o imagine de ansamblu tehnică despre ARM, de unde a venit și de ce a devenit atât de popular.

Primul lucru de remarcat este faptul că ARM (mai recent stilizat ca „braț”, cu minuscule) nu face de fapt procesoare.

În schimb, proiectează arhitectura procesorului și autorizează aceste proiecte altor companii precum Qualcomm sau Samsung, care îl încorporează în procesoarele lor.

Întrucât toate folosesc un standard comun, codul care rulează pe un procesor Qualcomm Snapdragon va fi, de asemenea, rulat pe un procesor Samsung Exynos.

Ce este un ISA (Arhitectura Set de Instrucțiuni)?
Fiecare cip de computer are nevoie de un ISA pentru a funcționa și asta reprezintă ARM. Pentru o privire detaliată a modului în care procesoarele funcționează în interior, seria noastră de design de procesor este indispensabilă.

Primul pas pentru a explica ARM este de a înțelege exact ce este și nu este un ISA.

Nu este o componentă fizică precum un cache sau un nucleu, ci mai degrabă definește modul în care funcționează toate aspectele unui procesor.

Aceasta include lucruri precum ce tip de instrucțiuni poate prelucra cipul, modul în care datele de intrare și ieșire ar trebui să fie formatate, cum interacționează procesorul cu RAM și multe altele.

Un alt mod de a gândi este faptul că un ISA este un set de specificații, în timp ce un procesor este realizarea sau implementarea acestor specificații. Este un model pentru modul în care toate părțile unui procesor vor funcționa.
De exemplu, ISAs specifică dimensiunea fiecărei bucăți de date cu cele mai moderne cu ajutorul unui model pe 64 de biți.

În timp ce toate procesoarele îndeplinesc cele trei funcții de bază ale instrucțiunilor de citire, execută acele instrucțiuni și actualizează starea lor pe baza rezultatelor, diferite ISA-uri pot descompune în continuare aceste etape.

Un ISA complex ca x86 va împărți în mod obișnuit acest proces în câteva zeci de operații mai mici pentru a îmbunătăți randamentul. Alte sarcini, cum ar fi predicția de ramură pentru instrucțiuni condiționate și preîncărcarea de date viitoare sunt de asemenea specificate de un ISA.

Pe lângă definirea micro-arhitecturii unui procesor, un ISA va specifica și un set de instrucțiuni pe care acesta le poate prelucra. Instrucțiunile sunt ceea ce un CPU execută fiecare ciclu și sunt produse de un compilator.

Există multe tipuri de instrucțiuni, cum ar fi citirea / scrierea memoriei, operațiunile aritmetice, operațiunile de ramură / salt și multe altele.

Un exemplu ar putea fi „adăugați conținutul adresei de memorie 1 la conținutul adresei de memorie 2 și stocați rezultatul pe adresa de memorie 3.”

Fiecare instrucțiune va avea de obicei 32 sau 64 de biți și va avea mai multe câmpuri. Cel mai important este codul opțional care indică procesorul ce tip de instrucțiune este. Odată ce procesorul va ști ce tip de instrucțiune execută, acesta va prelua datele relevante necesare pentru acea operație.

Locația și tipul de date vor fi date într-o altă porțiune a codului de operare. Iată câteva link-uri către porți din listele de coduri de opțiuni ARM și x86 .
RISC vs. CISC
Acum că avem o idee de bază despre ce este și face un ISA, să începem să analizăm ce face special ARM. Cea mai importantă caracteristică este aceea că ARM este o arhitectură RISC (Reducere Instrucțiuni de calcul), în timp ce x86 este o arhitectură CISC (Complex Instruction Set Computing).

Acestea sunt două paradigme majore ale proiectării procesoarelor și ambele au punctele lor forte și punctele slabe.
Cu o arhitectură RISC, fiecare instrucțiune specifică direct o acțiune pe care CPU o poate efectua și acestea sunt relativ de bază.

Pe de altă parte, instrucțiunile dintr-o arhitectură CISC sunt mai complexe și specifică o idee mai largă pentru procesor.

Aceasta înseamnă că un procesor CISC va descompune de obicei fiecare instrucțiune într-o serie de micro-operațiuni.

O arhitectură CISC poate codifica mult mai multe detalii într-o singură instrucțiune care poate îmbunătăți considerabil performanța. De exemplu, o arhitectură RISC ar putea avea doar una sau două instrucțiuni „Adăugare” în timp ce o arhitectură CISC poate avea 20 în funcție de tipul de date și de alți parametri pentru calcul.
Un alt mod de a-l privi este comparând-o cu construirea unei case. Cu un sistem RISC, aveți doar un ciocan și un ferăstrău de bază, în timp ce cu un sistem CISC, aveți zeci de tipuri diferite de ciocane, ferăstrău, burghie și multe altele.

Un constructor care utilizează un sistem asemănător CISC ar putea să facă mai multă muncă, deoarece instrumentele lor sunt mai specializate și mai puternice.

Constructorul RISC ar putea totuși să-și îndeplinească treaba, dar va dura mai mult, deoarece instrumentele lor sunt mult mai de bază și mai puțin puternice.

Acum vă gândiți probabil „de ce ar folosi cineva un sistem RISC dacă un sistem CISC este cu atât mai puternic?” Totuși, performanța este departe de singurul lucru de luat în considerare. Constructorul nostru CISC trebuie să angajeze o mulțime de lucrători suplimentari, deoarece fiecare instrument necesită o competență specializată.

Aceasta înseamnă că locul de muncă este mult mai complex și necesită o mare cantitate de planificare și organizare.

De asemenea, este mult mai costisitor să gestionați toate aceste instrumente, deoarece fiecare poate lucra cu un tip diferit de material.

Prietenul nostru RISC nu trebuie să-și facă griji pentru că instrumentele lor de bază pot funcționa cu orice.

Proiectantul de acasă are de ales cu privire la modul în care își doresc construirea casei. Ele pot crea planuri simple pentru constructorul nostru RISC sau pot crea planuri mai complexe pentru constructorul nostru CISC.

Ideea de pornire și produsul final vor fi aceleași, dar munca din mijloc va fi diferită. În acest exemplu, proiectantul de acasă este echivalent cu un compilator.

Este luat ca cod de intrare (desen de acasă) produs de un programator (proiectant de acasă) și emite un set de instrucțiuni (planuri de construcție) în funcție de stilul preferat.

Acest lucru permite unui programator să compileze același program pentru un procesor ARM și un procesor x86, chiar dacă lista cu instrucțiuni rezultate va fi foarte diferită.

Avem nevoie de mai puțină putere!
Haideți să ne întoarcem din nou la ARM. Dacă ați conectat punctele, probabil puteți ghici ce face ARM-ul atât de atrăgător pentru proiectanții de sisteme mobile.

Cheia aici este eficiența. Într-un scenariu încorporat sau mobil, eficiența energetică este mult mai importantă decât performanța. Aproape de fiecare dată, un proiectant de sistem va avea o mică performanță dacă înseamnă economisire de energie.

Până la îmbunătățirea tehnologiei bateriei, consumul de căldură și energie va rămâne principalii factori limitanți la proiectarea unui produs mobil.

De aceea, nu vedem procesoare mari pe desktop pe telefoanele noastre mobile. Sigur, sunt comenzi de mărime mai rapide decât jetoanele mobile, dar telefonul dvs. s-ar încălzi prea tare și bateria ar dura doar câteva minute.

În timp ce un procesor desktop x86 de înaltă performanță poate atrage 200 W la încărcare, un procesor mobil se va extinde maxim2 până la 3 wați .

Ați putea face cu siguranță un procesor x86 cu putere mai mică, dar paradigma CISC este cea mai potrivită pentru cipuri mai puternice.

De aceea nu vedeți adesea cipuri ARM în desktopuri sau jetoane x86 în telefoane; pur și simplu nu sunt proiectate pentru asta.

De ce ARM este capabil să obțină o eficiență energetică atât de bună? Totul revine la designul său RISC și la complexitatea arhitecturii.

Deoarece nu trebuie să poată prelucra cât mai multe tipuri de instrucțiuni, arhitectura internă poate fi, de asemenea, mult mai simplă. Există, de asemenea, mai puține cheltuieli generale în gestionarea unui procesor RISC.

Toate acestea se traduc direct în economii de energie. Un design mai simplu înseamnă că mai mulți tranzistori pot contribui direct la performanță, în loc să fie folosiți pentru a gestiona alte porțiuni ale arhitecturii.

Un cip ARM dat nu poate prelucra atâtea tipuri de instrucțiuni sau la fel de rapid în comparație cu un cip x86 dat, dar compensează eficiența.

Saluta-l pe micul meu prieten
O altă caracteristică cheie pe care ARM a adus-o pe masă este marea arhitectură de calcul heterogenă. Acest tip de design are două procesoare însoțitoare pe același cip.

Unul va fi un nucleu cu putere foarte mică, în timp ce celălalt este un nucleu mult mai puternic. Cipul va analiza utilizarea sistemului pentru a determina ce nucleu să activeze.

În alte scenarii, compilatorul poate spune cipul să creeze nucleul mai puternic dacă știe că urmează o sarcină intensivă din punct de vedere computerizat.
Dacă dispozitivul este inactiv sau pur și simplu rulează un calcul de bază, nucleul cu putere mai mică (LITTLE) se va porni și nucleul mai puternic (mare) se va opri.

ARM a declarat că acest lucru poate oferi economii de energie de până la 75%. Deși un procesor desktop tradițional scade cu siguranță consumul de energie în perioadele cu o încărcare mai mică, există anumite părți care nu se opresc niciodată. Deoarece ARM are capacitatea de a opri complet un nucleu, depășește în mod clar concurența.

Proiectarea procesorului este întotdeauna o serie de compromisuri la fiecare pas al procesului. ARM s-a integrat pe arhitectura RISC și a plătit frumos.

În 2010, aveau o cotă de piață de 95% la procesoarele de telefonie mobilă. Aceasta a scăzut ușor pe măsură ce alte companii au încercat să intre pe piață, dar încă nu există nimeni aproape.

Licențiere și utilizare pe scară largă
Abordarea ARM în domeniul licențierii pentru afaceri este un alt motiv al dominanței lor pe piață. Construirea cipurilor fizice este extrem de dificilă și scumpă, așa că ARM nu face asta. Acest lucru permite ca ofertele lor să fie mai flexibile și personalizabile.

În funcție de cazul de utilizare, un licențiat poate alege și alege funcțiile pe care le dorește, iar apoi ARM poate selecta cel mai bun tip de cip pentru ele. Clienții își pot proiecta jetoane proprii și pot implementa doar unele seturi de instrucțiuni ARM.

Lista firmelor tech , folosind arhitectura ARM este prea mare pentru a se potrivi aici, dar pentru a numi câteva: Apple, Nvidia, Samsung, AMD, Broadcom, Fujitsu, Amazon, Huawei și Qualcomm toate folosesc tehnologia ARM este o anumită capacitate.
Dincolo de alimentarea smartphone-urilor (computere portabile), Microsoft a împins arhitectura pentru Surface și alte dispozitive ușoare.

Am scris o revizuire completă a pentru Windows 10 pe ARM mai mult de un an în urmă, și în timp ce acest efort nu a luat sistemul de operare la linia de sosire încă, am văzut de când inițiative mai noi și mai bune , cum ar fi Surface Pro X .

De asemenea, Apple s-a zvonit că aduce macOS-uri la ARM , în teorie, astfel încât să putem avea laptopuri care funcționează la fel de eficient ca un telefon.

Chiar și în centrul de date, ani de zile, promisiunea lui Arm a fost în primul rând despre economiile de energie – un factor critic atunci când vorbești despre mii și mii de servere.

Cu toate acestea, recent s-au observat mai multe adopții pentru instalațiile de calcul pe scară largă , care urmăresc să ofere atât îmbunătățiri ale puterii, cât și ale performanței față de soluțiile existente din Intel și AMD.

Sincer, nu este un lucru la care se așteptau mulți oameni atât de curând.
ARM a construit, de asemenea, un mare ecosistem de proprietate intelectuală suplimentară (IP) care poate funcționa pe arhitecturile lor.

Aceasta include lucruri precum acceleratoare, codificatoare / decodificatoare și procesoare media pe care clienții le pot cumpăra cu toții drepturile de licență pentru a le utiliza în produsele lor.

ARM este, de asemenea, arhitectura de alegere pentru marea majoritate a dispozitivelor IoT . Amazon Echo și Google Home Mini rulează ambele procesoare ARM Cortex. Acestea au devenit standardul de facto și aveți nevoie de un motiv foarte bun pentru a nu utiliza un procesor ARM atunci când proiectați electronice mobile.

Îți încadrezi toate într-un singur cip?
Pe lângă unitatea centrală de afaceri ISA, ARM s-a extins și în spațiul sistem-on-a-chip (SoC) . Piața computerelor mobile s-a orientat către o abordare de design mai integrată, deoarece cerințele de spațiu și putere au devenit mai dure. Un procesor și un SoC au multe asemănări, dar un SoC este cu adevărat următoarea generație de computere mobile.

Un sistem pe chip face exact cum sună. Combină multe componente distincte pe un cip pentru a crește eficiența. Imaginați-vă că micsorați o întreagă placă de bază pentru desktop într-un singur cip și asta este un SoC.

De obicei are un procesor, procesor grafic, memorie, controlere periferice, administrare de energie, rețea și unele acceleratoare.

Înainte de adoptarea acestui proiect, sistemele ar avea nevoie de un cip individual pentru fiecare dintre aceste funcții.

Comunicarea între jetoane poate fi cu 10 până la 100x mai lentă și poate utiliza 10 – 100x mai multă putere decât o conexiune internă pe același matriț.

Acesta este motivul pentru care piața de telefonie mobilă a îmbrățișat atât de puternic acest concept.
Evident, SoC-urile nu sunt potrivite pentru orice tip de sistem. Nu vedeți desktopuri sau laptop-uri mainstream cu SoCs, deoarece există o limită la cât de multe lucruri puteți înghesui într-un singur cip. Nu puteți încadra funcționalitatea unui întreg GPU discret, o cantitate adecvată de memorie RAM și toate interconectările necesare pe un singur cip.

La fel ca paradigma RISC, SoC-urile sunt excelente pentru proiectările cu putere redusă, dar nu atât pentru cele cu performanță mai mare.

Până acum, sperăm că ai înțeles de ce ARM a devenit atât de dominantă pe piața procesoarelor mobile. Modelul lor RISC ISA le permite să acorde licențe producătorilor de cipuri.

Mergând cu modelul RISC, acestea maximizează eficiența energetică asupra performanței. Când vine vorba de calculatoare mobile, acesta este numele jocului și sunt maestri.