Prin ce diferă arhitectura ARM de x86? Procesor ARM Cortex A7: caracteristici și recenzii

Acest articol va discuta despre arhitectura procesorului.. Produsele semiconductoare bazate pe acesta pot fi găsite în smartphone-uri, routere, tablete PC-uri și alte dispozitive mobile, unde până de curând ocupa o poziție de lider în acest segment de piață. Acum este înlocuit treptat de soluții de procesoare mai noi și mai proaspete.

Informații scurte despre compania ARM

Istoria ARM datează din 1990, când a fost fondată de Robin Saxby. Baza pentru crearea sa a fost o nouă arhitectură de microprocesor. Dacă înainte de aceasta poziția dominantă pe piața CPU era ocupată de x86 sau CISC, atunci după formarea acestei companii a apărut o alternativă demnă sub forma RISC. În primul caz, execuția codului programului a fost redusă la 4 etape:

    Primirea instrucțiunilor mașinii.

    Efectuați conversia microcodului.

    Primirea microinstrucțiunilor.

    Execuția pas cu pas a microinstrucțiunilor.

DESPRE ideea de bază a arhitecturiiRISC a fost că procesarea codului programului poate fi redusă la 2 etape:

    Chitanță RISC- instrucțiuni.

    Tratament RISC- instrucțiuni.

LA Atât în ​​primul cât și în al doilea caz există atât avantaje, cât și dezavantaje semnificative. x86 a cucerit cu succes piața computerelor șiRISC ( inclusiv, introdus în 2011) - piața dispozitivelor mobile.

Istoria arhitecturii Cortex A7. Caracteristici cheie

Baza pentru „Cortex A7” a fost „Cortex A8”. Ideea principală a dezvoltatorilor în acest caz a fost de a crește performanța și de a îmbunătăți semnificativ eficiența energetică a soluției procesorului. Acesta este exact ceea ce inginerii ARM au realizat în cele din urmă. O altă caracteristică importantă în acest caz a fost că a devenit posibil să se creeze procesoare cu tehnologie big.LITTLE. Adică, cristalul semiconductor ar putea include 2 module de calcul. Unul dintre ele avea ca scop rezolvarea celor mai simple probleme cu un consum minim de energie și, de regulă, nucleele Cortex A7 au jucat acest rol. Al doilea era destinat să ruleze cel mai complex software și se baza pe unitățile de calcul Cortex A15 sau Cortex A17. Oficial, „Cortex A7” a fost prezentat, după cum sa menționat mai devreme, în 2011. Ei bine, primul procesor ARM Cortex A7 a fost lansat un an mai târziu, adică în 2012.

Tehnologia de producție

Inițial, produsele semiconductoare bazate pe A7 au fost produse conform standardelor de tehnologie de 65 nm. Acum această tehnologie este iremediabil depășită. Ulterior, încă două generații de procesoare A7 au fost lansate conform standardelor de toleranță de 40 nm și 32 nm. Dar acum au devenit irelevante. Cele mai recente modele de procesoare bazate pe această arhitectură sunt deja fabricate după standardele de 28 nm, iar acestea sunt cele care se mai găsesc la vânzare. Este puțin probabil să se aștepte o tranziție ulterioară la altele mai noi, cu noi standarde de toleranță și arhitectură învechită. Cipurile bazate pe A7 ocupă acum cel mai bugetar segment al pieței de dispozitive mobile și sunt înlocuite treptat de gadgeturi bazate pe A53, care, cu aproape aceiași parametri de eficiență energetică, are un nivel de performanță mai ridicat.

Arhitectura de bază a microprocesorului

1, 2, 4 sau 8 nuclee pot fi incluse în procesoarele bazate pe ARM Cortex A7. Caracteristici procesoarele din ultimul caz indică faptul că cipul constă în esență din 2 clustere de 4 nuclee.Timp de 2-3 ani, produsele cu procesoare entry-level au fost bazate pe cipuri cu 1 sau 2 module de calcul. Nivelul mediu a fost ocupat de soluții cu 4 nuclee. Ei bine, segmentul premium era pentru cipuri cu 8 nuclee. Fiecare nucleu de microprocesor bazat pe această arhitectură a inclus următoarele module:

    B unitate de procesare în virgulă mobilă (FPU).

    Cache de nivel 1.

    bloc NEONpentru a optimiza performanța procesorului.

    Modul de calculARMv7.

Au existat, de asemenea, următoarele componente comune pentru toate nucleele din CPU:

    Bani gheata L2.

    Unitatea de control de bază CoreSight.

    Controler de magistrală de control de date AMBA cu capacitate de 128 de biți.

Frecvențe posibile

Frecvența maximă de ceas pentru o anumită arhitectură de microprocesor poate varia de la 600 MHz la 3 GHz. De asemenea, trebuie remarcat faptul că acest parametru, care indică impactul maxim asupra performanței sistemului de calcul, se modifică. În plus, frecvența este influențată de trei factori simultan:

    Nivelul de complexitate al problemei care se rezolvă.

    Gradul de optimizare software pentru multithreading.

    Valoarea curentă a temperaturii cristalului semiconductor.

    Ca exemplu, luați în considerare algoritmul de operare al cipului MT6582, care se bazează pe A7 și include 4 unități de calcul, a căror frecvență variază de la 600 MHz la 1,3 GHz. În modul inactiv, acest procesor poate avea o singură unitate de calcul și funcționează la cea mai mică frecvență posibilă de 600 MHz. O situație similară va apărea atunci când o aplicație simplă este lansată pe un gadget mobil. Dar atunci când pe lista de sarcini apare o jucărie intensivă în resurse optimizată pentru multi-threading, toate cele 4 blocuri de procesare a codului de program la o frecvență de 1,3 GHz vor începe automat să funcționeze. Pe măsură ce procesorul se încălzește, cele mai fierbinți nuclee își vor reduce viteza de ceas sau chiar se vor opri. Pe de o parte, această abordare asigură eficiența energetică și, pe de altă parte, un nivel acceptabil de performanță a cipului.

    Memorie cache

    Doar 2 niveluri de cache sunt furnizate în ARM Cortex A7. Caracteristici cristalul semiconductor, la rândul său, indică faptul că primul nivel este în mod necesar împărțit în 2 jumătăți egale. Unul din eiar trebui să stocheze date, iar celălalt - instrucțiuni. Marimea totala cache la nivelul 1conform specificaţiilor poate fi egală 64 KB. Ca rezultat, obținem 32 KB pentru date și 32 KB pentru cod.Cache-ul de al 2-lea nivel se va bloca în acest caz e în funcție de modelul de CPU specific. Cel mai mic volum al său poate fi de 0 MB (adică, absent), iar cel mai mare poate fi de 4 MB.

    Controler RAM. Caracteristicile sale

    Orice procesor ARM Cortex A7 vine cu un controler RAM încorporat. Caracteristicile planului tehnic indică faptul că este proiectat să funcționeze împreună cu RAM standard LPDDR3. Frecvențele de memorie de operare recomandate în acest caz sunt 1066 MHz sau 1333 MHz. Dimensiunea maximă a RAM care poate fi găsită în practică pentru acest model de cip este de 2 GB.

    Grafică integrată

    După cum era de așteptat, aceste dispozitive cu microprocesor au un subsistem grafic integrat. Producătorul ARM recomandă utilizarea unei plăci grafice brevetate Mali-400MP2 în combinație cu acest procesor. Dar performanța sa de cele mai multe ori nu este suficientă pentru a debloca potențialul unui dispozitiv cu microprocesor. Prin urmare, dezvoltatorii de cipuri folosesc adaptoare mai puternice în combinație cu acest cip, de exemplu, Power VR6200.

    Caracteristici software

    Trei tipuri de sisteme de operare sunt vizate de procesoarele ARM:

      Android de la gigantul de căutare Google.

      iOS de la APPLE.

      Windows Mobile de la Microsoft.

    Toate celelalte programe de sistem nu au primit încă o distribuție largă. După cum ați putea ghici, cea mai mare cotă de piață pentru un astfel de software este ocupată de Android. Acest sistem are o interfață simplă și intuitivă, iar dispozitivele entry-level bazate pe acesta sunt foarte, foarte accesibile. Până la versiunea 4.4 inclusiv, era pe 32 de biți, iar cu 5.0 a început să accepte calculul pe 64 de biți. Acest sistem de operare rulează cu succes pe orice familie de procesoare cu arhitectură RISC, inclusiv ARM Cortex A7. Meniul de inginerie este o altă caracteristică importantă a acestui software de sistem. Cu ajutorul acestuia, puteți reconfigura în mod semnificativ capacitățile sistemului de operare. Acest meniu poate fi accesat folosind un cod care este individual pentru fiecare model de CPU.

    O altă caracteristică importantă a acestui sistem de operare este că toate actualizările posibile sunt instalate automat. Prin urmare, chiar și noi funcții pot apărea pe cipurile din familia ARM Cortex A7. Firmware-ul le poate adăuga. Al doilea sistem este destinat gadgeturilor mobile de la APPLE. Astfel de dispozitive ocupă în principal segmentul premium și au niveluri corespunzătoare de performanță și cost. Cel mai recent sistem de operare, Windows Mobile, nu a devenit încă răspândit. Există dispozitive bazate pe acesta în orice segment de gadgeturi mobile, dar cantitatea mică de aplicații software în acest caz este un factor limitativ pentru răspândirea acestuia.

    Modele de procesoare

    Cele mai accesibile și mai puțin productive în acest caz sunt cipurile single-core. Cel mai utilizat dintre ele este MT6571 de la MediaTek. Cu un pas mai sus sunt procesoarele dual-core ARM Cortex A7 Dual Core. Un exemplu este MT6572 de la același producător. Un nivel și mai mare de performanță a fost oferit de Quad Core ARM Cortex A7. Cel mai popular cip din această familie este MT6582, care poate fi găsit acum chiar și în gadgeturile mobile entry-level. Ei bine, cel mai înalt nivel de performanță a fost asigurat de procesoarele centrale cu 8 nuclee, cărora le aparținea MT6595.

    Perspective de dezvoltare ulterioară

    Puteți găsi în continuare dispozitive mobile pe rafturile magazinelor care se bazează pe un dispozitiv cu procesor semiconductor bazat pe 4X ARM Cortex A7. Acestea sunt MT6580, MT6582 și Snapdragon 200. Toate aceste cipuri includ 4 unități de calcul și au un nivel excelent de eficiență energetică. De asemenea, costul în acest caz este foarte, foarte modest. Dar totuși, cele mai bune perioade ale acestei arhitecturi cu microprocesor sunt deja în urmă. Vârful vânzărilor de produse bazate pe acesta a scăzut în 2013-2014, când practic nu exista nicio alternativă la acesta pe piața gadgeturilor mobile. Mai mult, în acest caz vorbim atât de dispozitive de buget cu 1 sau 2 module de calcul, cât și de gadget-uri emblematice cu un procesor cu 8 nuclee. În prezent, este înlocuit treptat de pe piață cu Cortex A53, care este în esență o versiune modificată pe 64 de biți a lui A7. În același timp, a păstrat în totalitate principalele avantaje ale predecesorului său, iar viitorul îi aparține cu siguranță.

    Opinia experților și a utilizatorilor. Recenzii reale ale cipurilor bazate pe această arhitectură. Avantaje și dezavantaje

    Desigur, un eveniment semnificativ pentru lumea dispozitivelor mobile a fost apariția arhitecturii dispozitivelor cu microprocesor ARM Cortex A7. Cea mai bună dovadă a acestui lucru este că dispozitivele bazate pe acesta au fost deja vândute cu succes de mai bine de 5 ani. Desigur, acum capacitățile unui procesor bazat pe A7 nu mai sunt suficiente nici măcar pentru a rezolva probleme de nivel mediu, dar cel mai simplu cod de program de pe astfel de cipuri încă funcționează cu succes până în prezent. Lista unui astfel de software include redarea videoclipurilor, ascultarea înregistrărilor audio, citirea cărților, navigarea pe web și chiar și cele mai simple jucării se vor lansa în acest caz fără probleme. Tocmai pe asta se concentrează atât specialiștii de top de acest gen, cât și utilizatorii obișnuiți, pe portalurile tematice de top dedicate gadgeturilor și dispozitivelor mobile. Dezavantajul cheie al lui A7 este lipsa suportului pentru calcularea pe 64 de biți. Ei bine, principalele sale avantaje includ combinația ideală de eficiență energetică și performanță.

    Rezultate

    Desigur, Cortex A7 - Aceasta este o întreagă eră în lumea dispozitivelor mobile. Odată cu apariția sa, dispozitivele mobile au devenit accesibile și destul de productive. Și faptul că a fost vândut cu succes de mai bine de 5 ani este o confirmare suplimentară a acestui lucru. Dar dacă la început gadgeturile bazate pe acesta ocupau segmentele de mijloc și premium ale pieței, acum doar clasa de buget rămâne în urma lor. Această arhitectură este depășită și devine treptat un lucru din trecut.

În zilele noastre, există două arhitecturi de procesoare cele mai populare. Acesta este x86, care a fost dezvoltat în anii 80 și este folosit în computerele personale și ARM - unul mai modern, care face procesoarele mai mici și mai economice. Este folosit pe majoritatea dispozitivelor mobile sau tabletelor.

Ambele arhitecturi au avantajele și dezavantajele lor, precum și domenii de aplicare, dar există și caracteristici comune. Mulți experți spun că ARM este viitorul, dar are încă câteva dezavantaje pe care x86 nu le are. În articolul nostru de astăzi ne vom uita la modul în care arhitectura brațului diferă de x86. Să ne uităm la diferențele fundamentale dintre ARM și x86 și, de asemenea, să încercăm să stabilim care este mai bun.

Procesorul este componenta principală a oricărui dispozitiv de calcul, fie că este un smartphone sau un computer. Performanța sa determină cât de repede va funcționa dispozitivul și cât de mult poate funcționa pe baterie. Mai simplu spus, o arhitectură de procesor este un set de instrucțiuni care pot fi folosite pentru a compune programe și sunt implementate în hardware folosind anumite combinații de tranzistori de procesor. Acestea sunt cele care permit programelor să interacționeze cu hardware-ul și să determine modul în care datele vor fi transferate și citite din memorie.

În prezent, există două tipuri de arhitecturi: CISC (Complex Instruction Set Computing) și RISC (Reduced Instruction Set Computing). Primul presupune că procesorul va implementa instrucțiuni pentru toate ocaziile, al doilea, RISC, stabilește dezvoltatorilor sarcina de a crea un procesor cu un set de instrucțiuni minime necesare pentru funcționare. Instrucțiunile RISC sunt mai mici și mai simple.

arhitectura x86

Arhitectura procesorului x86 a fost dezvoltată în 1978 și a apărut pentru prima dată în procesoarele Intel și este de tip CISC. Numele său este preluat de la modelul primului procesor cu această arhitectură - Intel 8086. De-a lungul timpului, în lipsa unei alternative mai bune, alți producători de procesoare, de exemplu, AMD, au început să susțină această arhitectură. Acum este standardul pentru computere desktop, laptopuri, netbook-uri, servere și alte dispozitive similare. Dar uneori procesoarele x86 sunt folosite în tablete, aceasta este o practică destul de comună.

Primul procesor Intel 8086 a avut o capacitate de 16 biți, apoi în 2000 a fost lansat un procesor cu arhitectură de 32 de biți și chiar mai târziu a apărut o arhitectură de 64 de biți. Am discutat acest lucru în detaliu într-un articol separat. În acest timp, arhitectura s-a dezvoltat foarte mult; au fost adăugate noi seturi de instrucțiuni și extensii, care pot crește foarte mult performanța procesorului.

x86 are mai multe dezavantaje semnificative. În primul rând, aceasta este complexitatea comenzilor, confuzia lor, care a apărut din cauza istoriei lungi de dezvoltare. În al doilea rând, astfel de procesoare consumă prea multă energie și generează multă căldură din această cauză. Inginerii x86 au luat inițial calea obținerii de performanțe maxime, iar viteza necesită resurse. Înainte de a ne uita la diferențele dintre brațul x86, să vorbim despre arhitectura ARM.

Arhitectura ARM

Această arhitectură a fost introdusă puțin mai târziu în spatele x86 - în 1985. A fost dezvoltat de celebra companie britanică Acorn, apoi această arhitectură a fost numită Arcon Risk Machine și a aparținut tipului RISC, dar apoi a fost lansată versiunea sa îmbunătățită Advanted RISC Machine, care acum este cunoscută sub numele de ARM.

La dezvoltarea acestei arhitecturi, inginerii și-au stabilit obiectivul de a elimina toate deficiențele x86 și de a crea o arhitectură complet nouă și cea mai eficientă. Cipurile ARM au primit un consum minim de energie și un preț scăzut, dar au avut performanțe scăzute în comparație cu x86, așa că inițial nu au câștigat prea multă popularitate pe computerele personale.

Spre deosebire de x86, dezvoltatorii au încercat inițial să obțină costuri minime de resurse au mai puține instrucțiuni de procesor, mai puține tranzistoare, dar și, în consecință, mai puține funcții suplimentare; Dar în ultimii ani, performanța procesoarelor ARM s-a îmbunătățit. Având în vedere acest lucru și consumul redus de energie, acestea au devenit foarte utilizate pe scară largă în dispozitivele mobile precum tablete și smartphone-uri.

Diferențele dintre ARM și x86

Și acum că ne-am uitat la istoria dezvoltării acestor arhitecturi și la diferențele lor fundamentale, să facem o comparație detaliată a ARM și x86 pe baza diferitelor caracteristici ale acestora, pentru a determina care este mai bine și să înțelegem mai precis care sunt diferențele lor.

Productie

Producția x86 vs arm este diferită. Doar două companii produc procesoare x86: Intel și AMD. Inițial, aceasta a fost o singură companie, dar aceasta este o cu totul altă poveste. Doar aceste companii au dreptul să producă astfel de procesoare, ceea ce înseamnă că numai ele vor controla direcția dezvoltării infrastructurii.

ARM funcționează foarte diferit. Compania care dezvoltă ARM nu lansează nimic. Ei pur și simplu eliberează permisiunea de a dezvolta procesoare cu această arhitectură, iar producătorii pot face orice au nevoie, de exemplu, să producă cipuri specifice cu modulele de care au nevoie.

Numărul de instrucțiuni

Acestea sunt principalele diferențe dintre arhitectura arm și x86. Procesoarele x86 s-au dezvoltat rapid ca mai puternice și mai productive. Dezvoltatorii au adăugat un număr mare de instrucțiuni pentru procesor și nu există doar un set de bază, ci destul de multe comenzi de care ar putea fi făcute fără. Inițial, acest lucru a fost făcut pentru a reduce cantitatea de memorie ocupată de programele de pe disc. Au fost dezvoltate și multe opțiuni pentru protecție și virtualizare, optimizare și multe altele. Toate acestea necesită tranzistori și energie suplimentare.

ARM este mai simplu. Există mult mai puține instrucțiuni de procesor aici, doar cele de care sistemul de operare are nevoie și sunt efectiv folosite. Dacă comparăm x86, atunci doar 30% din toate instrucțiunile posibile sunt folosite acolo. Sunt mai ușor de învățat dacă decideți să scrieți programe manual și, de asemenea, necesită mai puțini tranzistori pentru a fi implementați.

Consumul de energie

O altă concluzie reiese din paragraful anterior. Cu cât sunt mai mulți tranzistori pe placă, cu atât suprafața și consumul de energie sunt mai mari, iar inversul este, de asemenea, adevărat.

Procesoarele x86 consumă mult mai multă energie decât ARM. Dar consumul de energie este afectat și de dimensiunea tranzistorului în sine. De exemplu, un procesor Intel i7 consumă 47 de wați, iar orice procesor pentru smartphone ARM nu consumă mai mult de 3 wați. Anterior, au fost produse plăci cu dimensiunea unui singur element de 80 nm, apoi Intel a realizat o reducere la 22 nm, iar anul acesta oamenii de știință au reușit să creeze o placă cu dimensiunea elementului de 1 nanometru. Acest lucru va reduce foarte mult consumul de energie fără a pierde performanța.

În ultimii ani, consumul de energie al procesoarelor x86 a scăzut foarte mult, de exemplu, noile procesoare Intel Haswell pot rezista mai mult la alimentarea bateriei. Acum, diferența dintre arm vs x86 dispare treptat.

Disiparea căldurii

Numărul de tranzistori afectează un alt parametru - generarea de căldură. Dispozitivele moderne nu pot converti toată energia în acțiune eficientă; o parte din ea este disipată sub formă de căldură. Eficiența plăcilor este aceeași, ceea ce înseamnă că cu cât sunt mai puține tranzistoare și cu cât dimensiunea lor este mai mică, cu atât procesorul va genera mai puțină căldură. Aici nu se mai pune întrebarea dacă ARM sau x86 vor genera mai puțină căldură.

Performanța procesorului

ARM nu a fost conceput inițial pentru performanță maximă, aici excelează x86. Acest lucru se datorează parțial numărului mai mic de tranzistori. Dar recent, performanța procesoarelor ARM a crescut și pot fi deja utilizate pe deplin în laptopuri sau servere.

concluzii

În acest articol, ne-am uitat la modul în care ARM diferă de x86. Diferentele sunt destul de serioase. Dar în ultima vreme linia dintre ambele arhitecturi a fost estompată. Procesoarele ARM devin din ce în ce mai productive și mai rapide, iar procesoarele x86, datorită reducerii dimensiunii elementului structural al plăcii, încep să consume mai puțină energie și să genereze mai puțină căldură. Puteți găsi deja procesoare ARM pe servere și laptopuri și x86 pe tablete și smartphone-uri.

Ce părere aveți despre aceste x86 și ARM? Ce tehnologie este viitorul în opinia dumneavoastră? Scrieți în comentarii! Apropo, .

Pentru a încheia videoclipul despre dezvoltarea arhitecturii ARM:

Recent (cu doar 10 ani) au existat trei arhitecturi pe piața procesoarelor de consum și toate erau mai mult sau mai puțin bine separate: procesoarele ARM erau instalate în dispozitivele mobile, unde durata de viață a bateriei era importantă, procesoarele x86 erau instalate în dispozitivele care rulau Windows. , și sfidând Intel, Apple a folosit procesoare bazate pe arhitectura PowerPC în dispozitivele sale (deși știm că, totuși, s-a „strecurat” la x86). Dar în momentul de față au mai rămas pe piață doar două arhitecturi pentru procesoare personalizate - PowerPC a renunțat la cursă și destul de recent: ultimul dispozitiv de pe această arhitectură, PlayStation 3, a încetat să fie produs în urmă cu doar câteva săptămâni. Mai mult, există din ce în ce mai multe scurgeri că va fi posibil să rulați Windows cu drepturi depline pe procesoare ARM și, pe de altă parte, Android funcționează excelent cu procesoarele x86 începând de la versiunea 4.0. Adică, după cum vedem, diferența dintre aceste arhitecturi este din ce în ce mai neclară în ochii utilizatorilor, iar în acest articol vom afla de ce se întâmplă acest lucru.

arhitectura x86

Mai întâi, să definim ce este arhitectura. În termeni simpli, din punctul de vedere al unui programator, arhitectura unui procesor este compatibilitatea acestuia cu un set specific de instrucțiuni care pot fi folosite la scrierea programelor și sunt implementate în hardware folosind diverse combinații de tranzistori de procesor.


Procesoarele x86 sunt construite pe arhitectura CISC (Complex Instruction Set Computing, procesoare cu un set complet de instrucțiuni) - asta înseamnă că numărul maxim de instrucțiuni este implementat în procesor, ceea ce, pe de o parte, simplifică scrierea programelor și le reduce greutatea, iar pe de altă parte, procesorul este practic imposibil de încărcat 100%.

Primul procesor x86 a fost Intel 8086, primul procesor pe 16 biți de la Intel care operează la până la 10 MHz și a fost lansat în 1978. Procesorul s-a dovedit a fi extrem de popular și a fost produs până în 1990, iar toate procesoarele ulterioare au început să fie compatibile cu acesta. La început, această compatibilitate a fost arătată ca sfârșitul numelui procesorului cu 86, dar mai târziu, odată cu lansarea Pentium, au decis să numească arhitectura x86.

În 1985, a fost lansat procesorul i386, care a devenit primul procesor pe 32 de biți de la Intel, iar până în 1989, Intel a lansat primul procesor scalar, i486 - acest procesor putea efectua o operație pe ciclu de ceas. Mai târziu, odată cu lansarea Pentium în 1993, procesoarele Intel au devenit superscalare, adică au învățat să efectueze mai multe operații într-un singur ciclu de ceas și superpipeline, adică aveau două conducte de calcul. Dar asta nu a fost totul - de fapt, toate procesoarele Intel, începând cu i486DX, sunt procesoare CISC cu un nucleu RISC (Reduced Instruction Set Computer, procesoare cu un set de instrucțiuni redus): un translator hardware este încorporat în microprocesor, care este convertite în CISC imediat înainte de execuție - instrucțiuni ale procesoarelor x86 într-un set mai simplu de instrucțiuni RISC interne, în timp ce o instrucțiune x86 poate genera mai multe instrucțiuni RISC.

De atunci, nimic nu s-a schimbat mare - da, numărul de conducte a crescut, numărul de operațiuni pe ceas a crescut, procesoarele au devenit multi-core și pe 64 de biți, dar până acum toate soluțiile de la Intel și AMD sunt microprocesoare superscalare superpipeline construite pe arhitectura CISC cu un nucleu RISC.

Arhitectura ARM

Arhitectura ARM a apărut mai târziu de x86, în 1986, odată cu lansarea procesorului ARM2. Scopul dezvoltării sale a fost de a maximiza optimizarea și de a reduce numărul de tranzistori - de exemplu, sub sarcină, procesorul x86 a folosit apoi abia 30% din toți tranzistorii, toți ceilalți erau pur și simplu inactiv. Prin urmare, ARM și-a dezvoltat propriul cip pe arhitectura RISC, pe care l-au numit ARM2 - avea doar 30.000 de tranzistori (comparativ cu 275 de mii de tranzistori în actualul i386 de atunci) și nu avea cache (care, în general, era norma). pentru procesoare atunci - un cache este posibil trebuia achiziționat și livrat separat), dar și microprogramul ca atare - microcodul a fost executat ca orice alt cod de mașină, transformându-l în instrucțiuni simple:


Drept urmare, datorită faptului că numărul de tranzistori în procesoarele ARM este semnificativ mai mic decât în ​​x86, obținem că disiparea căldurii lor este, de asemenea, semnificativ mai mică. Dar, pe de altă parte, datorită arhitecturii simplificate, performanța ARM este, de asemenea, semnificativ mai mică decât cea a x86.

Mai târziu, la ARM a fost adăugat și suport atât pentru superscalaritate, cât și pentru superpipelining, procesoarele au devenit multi-core și acum câțiva ani au devenit pe 64 de biți. Ca urmare, soluțiile moderne de la ARM sunt microprocesoare superscalare superpipeline construite pe arhitectura RISC.

Rezultate

Ca urmare, vedem două extreme: x86 sunt soluții puternice, încărcate cu instrucțiuni, care pot îndeplini absolut orice sarcină cu viteză bună. Dar trebuie să plătiți pentru asta cu o generare crescută de căldură. ARM, pe de altă parte, sunt procesoare simple, cu un set de instrucțiuni semnificativ mai mic, așa că efectuarea multor sarcini serioase asupra lor nu are prea mult sens din cauza lenții procesului. Dar, în același timp, generarea de căldură este scăzută. Totuși, cel mai important lucru este că ambele arhitecturi acceptă instrucțiuni RISC, ceea ce înseamnă că același sistem de operare poate fi rulat pe ambele arhitecturi, ceea ce vedem în cazul Android, Linux și Windows și asta înseamnă că în viitor, diferența dintre x86 și ARM va deveni din ce în ce mai neclară.

Răspunsul este pentru aplicații cu siguranță funcțională sporită. Cel puțin nucleele ARM Cortex-R sunt folosite pentru aceasta în microcontrolerele „în timp real” de înaltă performanță de la Texas Instruments.


Deși procesoarele Cortex-R sunt aproape complet compatibile cu procesoarele Cortex-A și Cortex-M în ceea ce privește setul de instrucțiuni, există încă diferențe semnificative între ele. În special, nucleul Cortex-R oferă performanțe mai mari decât Cortex-M, fiind în același timp capabil să efectueze operațiuni deterministe greu de realizat pe procesoarele de aplicații Cortex-A. Deci, în ceea ce privește performanța, Cortex-R se încadrează între Cortex-M și Cortex-A, dar în același timp poate fi folosit atât în ​​microcontrolere, cât și în procesoare.


Nucleul Cortex-R este construit pe arhitectura Harvard și oferă viteze mari de ceas datorită unei conducte în 8 etape și execuției instrucțiunilor superscalare. Instrucțiunile hardware SIMD permit procesarea semnalului digital de înaltă performanță și procesarea media. Cortex-M oferă, de asemenea, funcții de îmbunătățire a performanței, cum ar fi un prefetcher de instrucțiuni, un predictor de ramuri și un divizor hardware. Aceste componente arhitecturale ajută procesoarele Cortex-R4 și Cortex-R5 să atingă performanțe DMIPS/MHz ridicate. O altă caracteristică interesantă a nucleului Cortex-R este că conducta în virgulă mobilă compatibilă cu IEEE-754 acceptă atât formatele cu precizie simplă (32 de biți) cât și cu precizie dublă (64 de biți) și rulează în paralel cu virgulă mobilă. numere în punct fix.



Cu memoria cu latență scăzută cuplată strâns la procesor, răspunsurile la evenimentele în timp real apar cât mai repede posibil, iar gestionarea întreruperilor este realizată cât mai repede posibil. Aceste capabilități, împreună cu performanța ridicată și determinismul nucleului Cortex-R, ajută la îndeplinirea cerințelor aplicațiilor în timp real care necesită și siguranță funcțională.


Dacă lucrați în industria siguranței și fiabilității dispozitivelor, probabil ați auzit despre siguranța funcțională a componentelor electronice programabile, iar primul care vă poate veni în minte este IEC 61508. Acesta este un standard internațional major de siguranță care există de aproximativ 20 de ani și este respectat în multe industrii. Siguranța funcțională este asigurată în transporturi (industria aerospațială, feroviară și auto), industrie, medicină, energie regenerabilă și alte domenii. Aceste industrii fie și-au dezvoltat propriile standarde de siguranță, fie au adaptat standarde internaționale, cum ar fi IEC 61508. De remarcat, industria auto și-a adoptat propriul standard de siguranță funcțională, ISO 26262, în 2012.


Deci, ce este bun la Cortex-R în ceea ce privește siguranța funcțională? În primul rând, caracteristici unice de configurare care permit corectarea erorilor. Aceste caracteristici sunt opțiuni pe care ARM le-a integrat chiar în nucleu, care includ funcții de detectare și corectare a erorilor, protecție a memoriei L1 și a magistralei, moduri software privilegiate cu unitatea de protecție a memoriei (MPU) și suport de configurare dual-core (DCLS).


Ce este DCLS și de ce este necesar? Dacă sunteți inginer software care lucrează la un proiect care necesită un dispozitiv pentru a funcționa în mod fiabil și în siguranță, DCLS vă va face viața mult mai ușoară. Acest lucru este util mai ales dacă utilizați două microcontrolere sau două nuclee independente pentru a diagnostica erorile într-un singur nucleu.


Există câteva probleme specifice atunci când lucrați cu un nucleu independent. În primul rând, trebuie să scrieți cod „extra” pentru fiecare microcontroler care va monitoriza un alt microcontroler. În al doilea rând, acum trebuie să faceți din acest cod partea principală a modulului de securitate a sistemului, ceea ce înseamnă că trebuie să furnizați în fiecare linie a acestui cod fiabilitatea și siguranța operațiunilor ulterioare. Cu DCLS, acest cod „extra” și nevoia de a-l securiza devin un lucru din trecut. Desigur, dezvoltatorul trebuie să scrie o mulțime de rânduri de cod legate de securitate, dar acest mecanism încă îi face viața mai ușoară.


Pentru ușurință de înțelegere, mecanismul DCLS poate fi gândit ca o combinație între un procesor principal și un modul de verificare. Din punctul de vedere al unui programator, programarea unui astfel de sistem nu va diferi de programarea unui microcontroler convențional single-core. Al doilea nucleu, adică modulul de verificare, împreună cu logica de comparație, realizează munca codului „extra” descris mai sus, precum și multe altele. Logica de comparație poate detecta o eroare în câteva cicluri de procesor, în timp ce un nucleu discret poate dura sute sau chiar mii de cicluri pentru a face acest lucru. Prin urmare, DCLS este mult mai rapid la detectarea erorilor și poate economisi timp prețios în dezvoltarea codului de încredere.

Toți cei care sunt interesați de tehnologia mobilă au auzit cu siguranță numele ARM. Mulți înțeleg această abreviere ca un tip de procesor pentru smartphone-uri și tablete, alții clarifică că acesta nu este deloc un procesor, ci arhitectura lui. Și cu siguranță puțini oameni au pătruns în istoria apariției ARM. În acest articol vom încerca să înțelegem toate aceste nuanțe și să vă spunem de ce gadgeturile moderne au nevoie de procesoare ARM.

O scurtă excursie în istorie

Când căutați „ARM”, Wikipedia oferă două semnificații pentru această abreviere: Acorn RISC Machine și Advanced RISC Machines. Să începem în ordine. În anii 1980, în Marea Britanie a fost fondată Acorn Computers, care și-a început activitățile prin crearea de computere personale. La acea vreme, Acorn era numit și „British Apple”. O perioadă decisivă pentru companie a venit la sfârșitul anilor 1980, când inginerul șef a profitat de decizia a doi absolvenți de universități locale de a veni cu un nou tip de arhitectură de procesor RISC (reduced instruction set). Așa a apărut primul computer bazat pe procesorul Acorn Risc Machine. Succesul nu a întârziat să apară. În 1990, britanicii au încheiat un acord cu Apple și în curând au început să lucreze la o nouă versiune a chipset-ului. Echipa de dezvoltare a format în cele din urmă o companie numită Advanced RISC Machines, inspirată de procesor. Cipurile cu noua arhitectură au devenit cunoscute și ca Advanced Risc Machine sau ARM, pe scurt.

Din 1998, Advanced Risc Machine a devenit cunoscută ca ARM Limited. În prezent, compania nu este angajată în producția și vânzarea propriilor procesoare. Principala și singura activitate a ARM Limited este dezvoltarea de tehnologii și vânzarea de licențe către diverse companii pentru utilizarea arhitecturii ARM. Unii producători cumpără o licență pentru nuclee gata făcute, alții cumpără așa-numita „licență arhitecturală” pentru a produce procesoare cu propriile nuclee. Printre astfel de companii se numără Apple, Samsung, Qualcomm, nVidia, HiSilicon și altele. Potrivit unor rapoarte, ARM Limited câștigă 0,067 USD pentru fiecare astfel de procesor. Această cifră este medie și, de asemenea, depășită. În fiecare an există tot mai multe nuclee în chipset-uri, iar noile procesoare multi-core depășesc modelele învechite în ceea ce privește costul.

Caracteristicile tehnice ale cipurilor ARM

Există două tipuri de arhitecturi moderne de procesoare: CISC(Calcul de set de instrucțiuni complexe) și RISC(Setul de instrucțiuni redus de calcul). Arhitectura CISC include familia de procesoare x86 (Intel și AMD), iar arhitectura RISC include familia ARM. Principala diferență formală dintre RISC și CISC și, în consecință, x86 de la ARM este setul de instrucțiuni redus utilizat în procesoarele RISC. De exemplu, fiecare instrucțiune dintr-o arhitectură CISC este transformată în mai multe instrucțiuni RISC. În plus, procesoarele RISC folosesc mai puțini tranzistori și astfel consumă mai puțină energie.


Principala prioritate a procesoarelor ARM este raportul dintre performanță și consumul de energie. ARM are un raport de performanță pe watt mai mare decât x86. Puteți obține puterea de care aveți nevoie de la 24 de nuclee x86 sau de la sute de nuclee ARM mici, cu putere redusă. Desigur, chiar și cel mai puternic procesor bazat pe arhitectura ARM nu va fi niciodată comparabil ca putere cu un Intel Core i7. Dar același Intel Core i7 are nevoie de un sistem de răcire activ și nu se va potrivi niciodată într-o carcasă de telefon. Aici ARM nu are concurență. Pe de o parte, aceasta pare o opțiune atractivă pentru construirea unui supercomputer folosind un milion de procesoare ARM în loc de o mie de procesoare x86. Pe de altă parte, cele două arhitecturi nu pot fi comparate fără ambiguitate. În unele privințe, ARM va avea un avantaj, iar în altele, x86 va avea un avantaj.

Cu toate acestea, apelarea procesoarelor cu cipuri cu arhitectură ARM nu este în întregime corectă. Pe lângă mai multe nuclee de procesor, acestea includ și alte componente. Termenul cel mai potrivit ar fi „single chip” sau „system on a chip” (SoC). Sistemele moderne cu un singur cip pentru dispozitive mobile includ un controler RAM, un accelerator grafic, un decodor video, un codec audio și module de comunicație fără fir. După cum am menționat mai devreme, componentele de chipset individuale pot fi dezvoltate de către producători terți. Cel mai frapant exemplu în acest sens sunt nucleele grafice, care, pe lângă ARM Limited (grafică Mali), sunt dezvoltate de Qualcomm (Adreno), NVIDIA (GeForce ULP) și Imagination Technologies (PowerVR).


În practică arată așa. Majoritatea dispozitivelor mobile Android de buget vin cu chipset-uri fabricate de companie MediaTek, care urmează aproape invariabil instrucțiunile ARM Limited și le completează cu nuclee Cortex-A și grafică Mali (mai rar PowerVR).


A-brandurile folosesc adesea chipset-uri fabricate pentru dispozitivele lor emblematice Qualcomm. Apropo, cele mai recente cipuri Qualcomm Snapdragon (,) sunt echipate cu nuclee Kryo complet personalizate pentru procesorul central și Adreno pentru acceleratorul grafic.


Cu privire la Măr, apoi pentru iPhone și iPad compania folosește propriile cipuri din seria A cu acceleratorul grafic PowerVR, care sunt produse de companii terțe. Astfel, are un procesor quad-core A10 Fusion pe 64 de biți și un procesor grafic PowerVR GT7600.


Arhitectura familiei de procesoare este considerată relevantă la momentul scrierii ARMv8. A fost primul care a folosit un set de instrucțiuni pe 64 de biți și suport pentru mai mult de 4 GB de RAM. Arhitectura ARMv8 este compatibilă cu aplicațiile pe 32 de biți. Cel mai eficient și mai puternic nucleu de procesor dezvoltat de ARM Limited este în prezent Cortex-A73, iar majoritatea producătorilor de SoC îl folosesc neschimbat.


Cortex-A73 oferă performanțe cu 30% mai mari decât Cortex-A72 și acceptă întreaga gamă de arhitectură ARMv8. Frecvența maximă a nucleului procesorului este de 2,8 GHz.

Domeniul de utilizare a ARM

Cea mai mare faimă a ARM a venit din dezvoltarea dispozitivelor mobile. În ajunul producției în masă a smartphone-urilor și a altor echipamente portabile, procesoarele eficiente din punct de vedere energetic au venit la îndemână. Dezvoltarea ARM Limited a culminat în 2007, când compania britanică și-a reînnoit parteneriatul cu Apple, iar ceva timp mai târziu echipa Cupertino a prezentat primul său iPhone cu procesor bazat pe arhitectura ARM. Ulterior, un sistem cu un singur cip bazat pe arhitectura ARM a devenit o componentă neschimbată a aproape tuturor smartphone-urilor de pe piață.


Portofoliul ARM Limited nu se limitează doar la nucleele familiei Cortex-A. De fapt, există trei serii de nuclee de procesor sub marca Cortex, care sunt desemnate prin literele A, R, M. Familia Core Cortex-A, după cum știm deja, este cel mai puternic. Sunt utilizate în principal în telefoane inteligente, tablete, set-top box-uri TV, receptoare de satelit, sisteme auto și robotică. Miezuri de procesor Cortex-R optimizat pentru a îndeplini sarcini de înaltă performanță în timp real, astfel încât astfel de cipuri se găsesc în echipamente medicale, sisteme de securitate autonome și medii de stocare. Sarcina principală a familiei Cortex-M este simplitate și cost redus. Din punct de vedere tehnic, acestea sunt cele mai slabe nuclee de procesor cu cel mai mic consum de energie. Procesoarele bazate pe astfel de nuclee sunt folosite aproape peste tot acolo unde este nevoie de energie minimă și costuri reduse de la un dispozitiv: senzori, controlere, alarme, afișaje, ceasuri inteligente și alte echipamente.

În general, majoritatea dispozitivelor moderne de la mici la mari care necesită un procesor folosesc cipuri ARM. Un avantaj uriaș este faptul că arhitectura ARM este suportată de multe sisteme de operare pe platforma Linux (inclusiv Android și Chrome OS), iOS și Windows (Windows Phone).

Concurența pe piață și perspectivele de viitor

Merită să recunoaștem că în acest moment ARM nu are concurenți serioși. Și, în general, acest lucru se datorează faptului că ARM Limited a făcut alegerea corectă la un anumit moment. Dar chiar la începutul călătoriei sale, compania a produs procesoare pentru PC-uri și chiar a încercat să concureze cu Intel. După ce ARM Limited și-a schimbat direcția activităților, a avut și o perioadă dificilă. Apoi, monopolistul de software reprezentat de Microsoft, după ce a încheiat un acord de parteneriat cu Intel, nu a lăsat nicio șansă altor producători, inclusiv ARM Limited - sistemul de operare Windows pur și simplu nu a funcționat pe sistemele cu procesoare ARM. Oricât de paradoxal ar suna, dar acum situația se poate schimba dramatic, iar sistemul de operare Windows este gata să accepte procesoare pe această arhitectură.


În urma succesului cipurilor ARM, Intel a încercat să creeze un procesor competitiv și a intrat pe piață cu un cip Intel Atom. I-a luat mult mai mult să facă asta decât ARM Limited. Chipsetul a intrat în producție în 2011, dar, după cum se spune, trenul a plecat deja. Intel Atom este un procesor CISC cu arhitectură x86. Inginerii companiei au atins un consum mai mic de energie decât în ​​ARM, dar în prezent o varietate de software mobil are o adaptare slabă la arhitectura x86.


Anul trecut, Intel a abandonat mai multe decizii cheie în dezvoltarea în continuare a sistemelor mobile. În esență, o companie pentru dispozitive mobile, deoarece acestea au devenit neprofitabile. Singurul producător important care și-a echipat smartphone-urile cu chipset-uri Intel Atom a fost ASUS. Cu toate acestea, Intel Atom a primit încă o utilizare pe scară largă în netbook-uri, nettop-uri și alte dispozitive portabile.


Poziția ARM Limited pe piață este unică. În prezent, aproape toți producătorii folosesc evoluțiile sale. Cu toate acestea, compania nu are fabrici proprii. Acest lucru nu îl împiedică să fie la egalitate cu Intel și AMD. Istoria ARM include un alt fapt interesant. Este posibil ca tehnologia ARM să aparțină acum Apple, care a fost în centrul formării ARM Limited. În mod ironic, în 1998, locuitorii din Cupertino, aflati în vremuri de criză, și-au vândut partea. Acum Apple este forțat, împreună cu alte companii, să cumpere o licență pentru procesoarele ARM utilizate în iPhone și iPad.

În zilele noastre, procesoarele ARM sunt capabile să îndeplinească sarcini serioase. În viitorul apropiat, acestea vor fi folosite în servere în special, centrele de date ale Facebook și PayPal au deja astfel de soluții. În epoca dezvoltării Internetului lucrurilor (IoT) și a dispozitivelor inteligente pentru casă, cipurile ARM au devenit și mai solicitate. Deci cele mai interesante lucruri urmează să vină pentru ARM.