Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • OS
  • Ce este arhitectura procesorului și cum se definește? Cum diferă arhitectura ARM de x86. Controler RAM

Ce este arhitectura procesorului și cum se definește? Cum diferă arhitectura ARM de x86. Controler RAM

Procesorul ARM este un procesor mobil pentru smartphone-uri și tablete.

Acest tabel listează toate procesoarele ARM cunoscute în prezent. Tabelul de procesoare ARM va fi actualizat și actualizat pe măsură ce noi modele devin disponibile. Acest tabel folosește sistem conditionat Evaluări ale performanței CPU și GPU. Datele de performanță ale procesorului ARM au fost preluate din cele mai multe surse diferite, în principal pe baza rezultatelor unor teste precum: Nota de trecere, Antutu, GFXBench.

Nu pretindem acuratețe absolută. Absolut precis la clasare și evaluează performanța procesoarelor ARM imposibil, din simplul motiv că fiecare dintre ele, într-un fel, are avantaje și într-un fel rămâne în urmă față de alte procesoare ARM. Tabelul procesorului ARM vă permite să vedeți, să evaluați și, cel mai important, comparați diferite SoC-uri (System-On-Chip) solutii. Folosind masa noastră, poți compara procesoarele mobileși află exact cum este poziționată inima ARM a viitorului (sau prezent) smartphone-ului sau tabletei tale.

Iată o comparație a procesoarelor ARM. Am analizat și am comparat performanța procesorului și a GPU-ului în diferite SoC-uri (Sistem pe cip). Dar cititorul poate avea mai multe întrebări: Unde sunt folosite procesoarele ARM? Ce este un procesor ARM? Prin ce diferă arhitectura ARM de procesoarele x86? Să încercăm să înțelegem totul fără a intra prea adânc în detalii.

Mai întâi, să definim terminologia. ARM este numele arhitecturii și în același timp numele companiei care o dezvoltă. Abrevierea ARM înseamnă (Advanced RISC Machine sau Acorn RISC Machine), care poate fi tradusă ca: advanced RISC machine. Arhitectura ARM reunește o familie de nuclee de microprocesoare pe 32 și 64 de biți dezvoltate și licențiate de ARM Limited. Aș dori să remarc imediat că ARM Limited este angajată exclusiv în dezvoltarea de nuclee și instrumente pentru acestea (instrumente de depanare, compilatoare etc.), dar nu și în producția procesoarelor în sine. Companie ARM Limited vinde licențe pentru fabricarea procesoarelor ARM către terți. Nu este lista plina companii autorizate să producă procesoare ARM astăzi: AMD, Atmel, Altera, Cirrus Logic, Intel, Marvell, NXP, Samsung, LG, MediaTek, Qualcomm, Sony Ericsson, Texas Instruments, nVidia, Freescale ... și multe altele.

Mai multe companii autorizate să producă procesoare ARM își creează propriile versiuni ale nucleelor ​​bazate pe arhitectura ARM. Exemplele includ: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, LG H13, Apple A4 / A5 / A6 și HiSilicon K3.

Procesoare bazate pe ARM rulează în prezent aproape orice electronică: PDA, telefoane mobileși smartphone-uri, playere digitale, console de jocuri portabile, calculatoare, externe hard disk-uriși routere. Toate conțin un nucleu ARM, așa că putem spune asta ARM - procesoare mobile pentru smartphone-uri si tablete.

procesor ARM reprezintă a SoC, sau „sistem pe un cip”. Sistemul SoC, sau „sistem pe un cip”, poate conține într-un singur cristal, în plus față de procesorul însuși și alte părți un computer cu drepturi depline... Acesta este un controler de memorie și un controler pentru porturile I/O și un nucleu grafic și un sistem de localizare geografică (GPS). Poate conține un modul 3G, precum și multe alte lucruri.

Dacă luăm în considerare o familie separată de procesoare ARM, să zicem Cortex-A9 (sau oricare alta), nu putem spune că toate procesoarele din aceeași familie au aceleași performanțe sau toate sunt echipate cu un modul GPS. Toți acești parametri depind în mare măsură de producătorul de cip și de ce și cum a decis să implementeze în produsul său.

Cum diferă ARM de procesoarele X86? Arhitectura RISC (Reduced Instruction Set Computer) în sine implică un set de instrucțiuni redus. Ceea ce duce, în consecință, la un consum de energie foarte moderat. Într-adevăr, în interiorul oricărui cip ARM există mult mai puține tranzistoare decât omologul său din linia x86. Nu uitați că în sistemul SoC totul periferice este situat in interiorul unui singur microcircuit, ceea ce permite procesorului ARM sa fie si mai economic din punct de vedere al consumului de energie. Arhitectura ARM a fost concepută inițial pentru a calcula numai operațiuni cu numere întregi, spre deosebire de x86, care poate funcționa cu calcule în virgulă mobilă sau FPU. Este imposibil să comparăm fără ambiguitate aceste două arhitecturi. În anumite privințe, ARM va avea un avantaj. Și în altă parte, și invers. Dacă încercăm să răspundem într-o singură frază la întrebarea: care este diferența dintre procesoarele ARM și X86, atunci răspunsul va fi: procesorul ARM nu cunoaște numărul de instrucțiuni pe care le cunoaște un procesor x86. Și cei care știu par mult mai scurti. Acesta este atât avantajele cât și dezavantajele sale. Oricum, în În ultima vreme totul sugerează că procesoarele ARM încep să ajungă lent, dar sigur din urmă și, în anumite privințe, chiar depășesc x86 obișnuit. Mulți susțin deschis că procesoarele ARM vor înlocui în curând platforma x86 în segmentul PC-urilor de acasă. După cum am făcut deja, în 2013, mai multe companii de renume mondial au abandonat complet lansarea ulterioară a netbook-urilor în favoarea tabletelor. Ei bine, ce se va întâmpla de fapt, timpul va spune.

Vom ține evidența procesoarelor ARM deja pe piață.

Bună ziua iubiții noștri cititori. Astăzi vă vom vorbi despre arhitectura procesorului Cortex a53.

Nici măcar nu știi câte dintre gadgeturile tale sunt alimentate de acest procesor. Puțini oameni știu despre caracteristicile nucleelor ​​tehnologice și despre ce le deosebește unul de celălalt. În acest articol, veți afla despre caracteristicile unui anumit Cortex a53 popular.

Specificații

Aceste procesoare pot avea de la 1 la 8 nuclee, sistem de memorie L1 și cache L2 partajat. Pentru a înțelege ce diferențiază componenta principală a aproape tuturor echipamentelor acestui model de altele, trebuie să cunoașteți avantajele acesteia:

  • Performanță ridicată (suport pentru o gamă largă de aplicații mobile, DTV, aerospațial, stocare și alte echipamente de tip similar);
  • Arhitectură Army8-A de înaltă calitate pentru modele independente nivel de intrare;
  • Versatilitate (poate fi interfațat cu orice procesor precum Cortex-A72, Cortex-A57 și altele);
  • Un produs de calitate cu un volum mare de descărcare.

Acestea sunt principalele puncte forte ale acestui produs, dar nu toate avantajele sale. Nucleul acestui brand îndeplinește multe funcții:

  • Suportă până la 64 de biți și cele mai noi arhitecturi;
  • tehnologia de securitate TrustZone;
  • extensii DSP și SIMD;
  • Transportor în 8 trepte cu două ieșiri și număr întreg îmbunătățit;
  • Poate funcționa la o frecvență de 1,5 GHz;
  • Suport de virtualizare hardware.

Acesta este un set standard de funcții pentru această componentă tehnică, dar acestea sunt departe de toate funcțiile pe care le îndeplinește acest mecanism complex.

Unde este cel mai des folosit

Procesoarele de acest tip se găsesc nu numai în smartphone-urile de gamă medie (Xiaomi redmi 4, Redmi 3s, Meizu m3 / m5 Note etc.), ci și în următoarele tehnologii:

  • Tehnologia aerospațială;
  • Net;
  • Stocarea datelor (cum ar fi HDD, SDD);
  • Sistem de infotainment auto;

Caracteristici suplimentare

  • Conducta care este responsabilă pentru consum redus de putere;
  • Lățime de bandă mare care permite executarea simultană a mai multor comenzi;
  • Funcții avansate de economisire a energiei.

Procesorul este asociat cu IP-uri diferite

Această tehnică este utilizată în SoC-uri, precum și în tehnologii precum Arm, IP grafic, IP sistem și IP fizic. Vă oferim o listă completă de instrumente care pot fi utilizate cu nucleul acestui brand. :

  • Mali-T860 / Mali-T880;
  • Mali-DP550;
  • Mali-V550;
  • CoreLink;
  • Controler de memorie;
  • Controler de întrerupere;
  • Studio de dezvoltare DS-5;
  • compilator ARM;
  • Placi de dezvoltare;
  • Modele rapide.

Există 2 tipuri de procesoare Cortex a53:

  • AArch64 - face posibilă instalarea și utilizarea aplicațiilor pe 64 de biți;
  • AArch32 - face posibilă utilizarea numai a aplicațiilor Armv7-A existente.

De ce aveți nevoie de toate aceste informații tehnice

Dacă nu înțelegeți nimic în tehnologie și caracteristici, atunci, în cuvinte mai simple, Cortex a53 oferă performanțe mult mai bune decât predecesorii săi cu mai multe nivel inalt eficienta energetica. Performanța de bază este chiar mai bună decât marca Cortex-A7 găsită pe multe smartphone-uri populare.

Arhitectura Armv8-A este cea care definește funcționalitatea tehnologiilor. Această marcă de nucleu are procesare de date pe 64 de biți, adresare virtuală extinsă și registre de uz general pe 64 de biți. Toate aceste caracteristici au făcut ca acest procesor să fie primul proiectat special pentru a oferi procesare eficientă din punct de vedere energetic pe 64 de biți.

Deci ți-ai dat seama că Procesor Cortex a53 este o componentă tehnică nominală care nu trebuie sărită atunci când alegeți o tehnică. Dacă smartphone-ul dvs. are un astfel de procesor care utilizează această arhitectură, nu trebuie să vă faceți griji că rămâneți fără memorie sau să vă descărcați rapid telefonul. Toate aceste probleme sunt în trecut.

Sperăm că acest articol v-a fost de ajutor. Dacă da, abonați-vă la grupurile noastre în în rețelele socialeși rămâneți pe fază pentru articole noi care vă pot fi utile și pentru dvs. Nu uita de canalul nostru de pe Youtube.

A fost un site cu tine


Există două dintre cele mai populare arhitecturi de procesoare din timpul nostru. Acesta este x86, care a fost dezvoltat în anii 80 și este folosit în computerele personale și ARM - mai modern, ceea ce vă permite să faceți procesoare mai mici și mai economice. Este folosit de majoritatea dispozitivelor mobile sau tabletelor.

Ambele arhitecturi au avantajele și dezavantajele lor, precum și domenii de aplicare, dar există asemănări. Mulți experți spun că pentru Viitorul ARM, dar are încă unele 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ă luăm în considerare diferențele fundamentale dintre ARM și x86 și, de asemenea, să încercăm să stabilim care este mai bun.

Un procesor 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, arhitectura unui procesor este un set de instrucțiuni care pot fi folosite pentru a scrie programe și sunt implementate în hardware folosind combinații specifice de tranzistori de procesor. Ei sunt cei care permit programelor să interacționeze cu hardware-ul și să determină 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ă instrucțiunile pentru toate ocaziile vor fi implementate în procesor, al doilea, RISC, stabilește în fața dezvoltatorilor sarcina de a crea un procesor cu un set de instrucțiuni minime necesare funcționării. 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, de asemenea, uneori procesoare x86 sunt folosite în tablete, aceasta este o practică destul de comună.

Primul procesor Intel 8086 a fost pe 16 biți, apoi a apărut un procesor pe 32 de biți în 2000 și chiar mai târziu a apărut arhitectura pe 64 de biți. Am discutat î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, este complexitatea echipelor, confuzia lor, care a apărut datorită istoriei lungi de dezvoltare. În al doilea rând, astfel de procesoare consumă prea multă putere și, din această cauză, generează multă căldură. Inginerii X86 au luat inițial calea obținerii performanței maxime, iar viteza necesită resurse. Înainte de a analiza diferențele dintre arm x86, să vorbim despre arhitectura ARM.

Arhitectura ARM

Această arhitectură a fost introdusă puțin mai târziu pentru 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ă a Advanted RISC Machine, care acum este cunoscută sub numele de ARM.

În 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 slabe î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ă costurile minime de resurse, au mai puține instrucțiuni de procesor, mai puține tranzistoare, dar, în consecință, mai puține funcții suplimentare. Dar pentru anul trecut Performanța procesorului ARM s-a îmbunătățit. Având în vedere acest lucru și consumul redus de energie, acestea au început să fie utilizate pe scară largă în dispozitive mobile precum tablete și smartphone-uri.

Diferențele dintre ARM și x86

Și acum că am luat în considerare istoria dezvoltării acestor arhitecturi și diferențele lor fundamentale, să facem o comparație detaliată a ARM și x86, în funcție de diferitele lor caracteristici, pentru a determina ce este mai bine și pentru a înțelege mai precis care este diferența lor. .

Productie

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

ARM funcționează foarte diferit. Compania din spatele ARM nu lansează nimic. Ei pur și simplu acordă permisiunea de a dezvolta procesoare cu această arhitectură, iar producătorii pot face orice au nevoie, de exemplu, eliberează 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 au evoluat rapid ca mai puternice și mai productive. Dezvoltatorii au adăugat un număr mare de instrucțiuni pentru procesor și aici nu există doar un set de bază, ci o mulțime de instrucțiuni de care ar putea fi renunțate. Inițial, acest lucru a fost făcut pentru a reduce cantitatea de memorie ocupată de programele de pe disc. De asemenea, au fost dezvoltate multe opțiuni de protecție și virtualizare, optimizări ș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 acelea care sunt necesare sistemului de operare și sunt utilizate efectiv. Dacă comparăm x86, atunci doar 30% din toate sunt folosite acolo. instructiuni posibile... Sunt mai ușor de învățat dacă alegeți să scrieți programe manual și, de asemenea, necesită mai puțini tranzistori pentru a fi implementați.

Consumul de energie

Din paragraful anterior mai apare o concluzie. Cu cât sunt mai mulți tranzistori pe o placă, cu atât suprafața și consumul de energie sunt mai mari, iar contrariul este adevărat.

Procesoarele X86 consumă mult mai multă putere decât procesoarele ARM. Dar consumul de energie este afectat și de dimensiunea tranzistorului în sine. De exemplu, un procesor Intel i7 consumă 47 de wați, în timp ce orice procesor ARM pentru smartphone-uri nu consumă mai mult de 3 wați. Anterior, plăcile erau produse cu o dimensiune a 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 sacrifica performanța.

Consumul de energie al procesoarelor x86 a scăzut dramatic în ultimii ani, de exemplu, noile procesoare Intel Haswell pot dura mai mult pe durata de viață a bateriei. Acum, diferența dintre arm vs x86 dispare treptat.

Disiparea căldurii

Numărul de tranzistoare afectează un alt parametru - generarea de căldură. Dispozitivele moderne nu pot transforma 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 mai puțini tranzistori și cu cât dimensiunea lor este mai mică, cu atât procesorul va genera mai puțină căldură. Nu se mai pune problema ARM sau x86 va genera mai puțină căldură.

Performanța procesorului

ARM nu a fost construit inițial pentru performanță maximă, aceasta este zona în care x86 excelează. 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 pe laptopuri sau pe servere.

concluzii

În acest articol, ne-am uitat la modul în care ARM diferă de x86. Diferentele sunt destul de serioase. Dar recent, linia dintre ambele arhitecturi a fost estompată. Procesoarele ARM devin din ce în ce mai rapide, în timp ce procesoarele x86 devin din ce în ce mai mici element structural plăcile folosesc mai puțină energie și generează mai puțină căldură. Puteți găsi deja procesor ARM pe servere și laptopuri și x86 pe tablete și smartphone-uri.

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

Pentru a finaliza videoclipul despre dezvoltarea arhitecturii ARM:

Ei s-au gândit că, din moment ce un grup de studenți a reușit să creeze un procesor complet competitiv, atunci nu va fi dificil pentru inginerii lor. O excursie la Western Design Center din Phoenix le-a arătat inginerilor Steve Ferber și Sophie Wilson că nu vor avea nevoie de resurse incredibile pentru a implementa acest plan.

Wilson a început să dezvolte setul de instrucțiuni prin simularea noului procesor pe un computer BBC Micro. Acest lucru i-a convins pe inginerii Acorn că erau pe drumul cel bun. Dar totuși, aveau nevoie de mai multe resurse înainte de a merge mai departe. Era timpul ca Wilson să se apropie de regizorul Acorn, Herman Hauser, și să-i explice care este problema. După ce a dat aprobarea, o echipă mică s-a reunit pentru a implementa modelul lui Wilson în hardware.

Acorn RISC Machine: ARM2

Proiectul oficial Acorn RISC Machine a început în octombrie 1983. Tehnologia VLSI ( Engleză) a fost selectat ca furnizor de siliciu deoarece furniza deja Acorn cu ROM-uri și câteva circuite integrate personalizate. Dezvoltarea a fost condusă de Wilson și Ferber. Scopul lor principal a fost să obțină o latență scăzută de întrerupere, cum ar fi MOS Technology 6502. Arhitectura de acces la memorie, preluată de la 6502, a permis dezvoltatorilor să obțină performanțe bune fără DMA costisitoare de implementat. Primul procesor a fost fabricat de VLSI pe 26 aprilie 1985 - apoi a funcționat mai întâi și a fost numit ARM1. Primele procesoare de producție numite ARM2 au devenit disponibile în anul următor.

Prima sa aplicație a fost ca un al doilea procesor la BBC Micro, unde a fost folosit în dezvoltarea software pentru simulare, care a finalizat lucrările la microcircuitele auxiliare ale computerului, precum și a accelerat software-ul CAD utilizat în dezvoltarea ARM2. Wilson a optimizat setul de instrucțiuni ARM pentru execuția BBC BASIC. Scopul inițial al unui computer complet bazat pe ARM a fost atins în 1987, odată cu lansarea lui Acorn Archimedes.

Atmosfera din jurul proiectului ARM a fost atât de secretă, încât, atunci când Olivetti negocia pentru achiziția unui pachet majoritar de acțiuni la Acorn, în 1985, nu au vorbit despre dezvoltarea proiectului până la sfârșitul negocierilor. În 1992, Acorn a câștigat din nou Premiul Queen pentru ARM.

ARM2 avea o magistrală de date pe 32 de biți, spațiu de adrese de 26 de biți și 16 registre de 32 de biți. Codul programului trebuia să se afle în primii 64 de megaocteți de memorie, iar contorul de program a fost limitat la 26 de biți, deoarece cei 4 biți superiori și cei 2 inferioare ai registrului de 32 de biți serveau drept stegulețe. ARM2 a devenit probabil cel mai simplu procesor popular pe 32 de biți din lume, cu doar 30.000 de tranzistori (în comparație, procesorul Motorola 68000, fabricat cu 6 ani mai devreme, avea aproximativ 70.000 de tranzistori). O mare parte din această simplitate provine din lipsa microcodului (care ocupă între un sfert și o treime din suprafața matriței în 68000) și din lipsa cache-ului, așa cum era cazul multor procesoare ale vremii. Această simplitate a dus la costuri reduse de energie, în timp ce ARM era mult mai puternic decât Intel 80286. Succesorul său, procesorul ARM3, avea deja un cache 4K, ceea ce a sporit și mai mult performanța.

Apple, DEC, Intel: ARM6, StrongARM, XScale

Smartphone-urile moderne, PDA-urile și alte dispozitive portabile folosesc în principal versiunea de nucleu ARMv5. Procesoarele XScale și ARM926 (ARMv5TE) sunt acum mai numeroase în dispozitivele de înaltă tehnologie decât, de exemplu, procesoarele StrongARM și procesoarele ARMv4 bazate pe ARM9TDMI și ARM7TDMI, dar mai puțin instrumente sofisticate pot folosi versiuni mai vechi cu un cost de licență mai mic. procesoare ARM v6 este o reducere peste standardul ARMv5 în ceea ce privește performanța. Cortex-A este conceput special pentru smartphone-urile care au folosit anterior ARM9 și ARM11. Cortex-R este construit pentru aplicații în timp real, în timp ce Cortex-M este pentru microcontrolere.

Impactul tehnologiei ARM pe piață

Până la sfârșitul anului 2012, noile modele de procesoare ARM de la Apple și Samsung atinseseră performanța procesoarelor pentru notebook-uri de buget de la Intel. În special, tableta Samsung Nexus 10 a obținut un rating de performanță de 2348 de puncte, în timp ce procesorul Intel Core Duo de buget Laptop Apple MacAir arată doar o evaluare de 1982 de puncte.

Companiile selectate anunță dezvoltarea servere eficiente bazat pe clustere de procesoare ARM. Cu toate acestea, începând cu 2012, vânzările de servere ARM sunt în mod dispărut de mici (< 1% рынка серверов) .

procesoare ARM

Familia de sâmburi Varianta de arhitectura Miez Funcții Cache (I / D) / MMU MIPS tipic @ MHz Utilizare
ARM1 ARMv1 (învechit) ARM1 Nu Procesor ARM Evaluation System BBC Micro
ARM2 ARMv2 (învechit) ARM2 S-a adăugat comanda MUL (multiplicare) Nu 4 MIPS la 8 MHz
0,33 DMIPS / MHz
Ghinda Arhimede, Mașină de șah
ARMv2a (învechit) ARM250 MEMC (MMU), GPU, adăugate comenzi SWP și SWPB (swap). Nu, MEMC1a 7 MIPS la 12 MHz Ghinda arhimede
ARM3 ARMv2a (învechit) ARM2a Cache folosit pentru prima dată 4 KB partajat 12 MIPS la 25 MHz
0,50 DMIPS / MHz
Ghinda arhimede
ARM6 ARMv3 (învechit) ARM60 Mai întâi a fost introdus spațiul de adresă de memorie pe 32 de biți (nu pe 26 de biți). Nu 10 MIPS la 12 MHz Multiplayer interactiv 3DO, receptor GPS Zarlink
ARM600 La fel ca ARM60, coprocesorul matematic în virgulă mobilă FPA10 4 KB partajat 28 MIPS la 33 MHz
ARM610 Ca ARM60, cache, fără magistrală de coprocesor 4 KB partajat 17 MIPS la 20 MHz
0,65 DMIPS / MHz
Acorn Risc PC 600, seria Apple Newton 100
ARM7 ARMv3 (învechit) ARM700 8 KB partajat 40 MHz
ARM710 Ca ARM700 8 KB partajat 40 MHz Acorn Risc PC 700
ARM710a Ca ARM700 8 KB partajat 40 MHz
0,68 DMIPS / MHz
Acorn Risc PC 700, Apple eMate 300
ARM7100 La fel ca ARM710a, un SoC integrat 8 KB partajat 18 MHz Seria Psion 5
ARM7500 La fel ca ARM710a, un SoC integrat. 4 KB partajat 40 MHz Acorn A7000
ARM7500FE Controlere de memorie FPA și EDO adăugate ca ARM7500, „FE” 4 KB partajat 56 MHz
0,73 DMIPS / MHz
Acorn A7000 + computer de rețea
ARM7TDMI ARMv4T ARM7TDMI (-S) Transportor în 3 trepte, modul Thumb Nu 15 MIPS la 16,8 MHz
63 DMIPS la 70 MHz
Game Boy Advance, Nintendo DS, Apple iPod, Lego NXT, Atmel AT91SAM7, Juice Box, NXP Semiconductors LPC2000 și LH754xx, Actel CoreMP7
ARM710T Ca ARM7TDMI, cache 8 KB partajat, MMU 36 MIPS la 40 MHz Seria Psion 5mx, Psion Revo / Revo Plus / Diamond Mako
ARM720T Ca ARM7TDMI, cache MMU partajat de 8KB cu extensie de comutare rapidă a contextului (ing. Extensie de comutare rapidă a contextului) 60 MIPS la 59,8 MHz Zipit Wireless Messenger, NXP Semiconductors LH7952x
ARM740T Ca ARM7TDMI, cache MPU
ARMv5TEJ ARM7EJ-S Pipeline în 5 etape, Thumb, Jazelle DBX, comenzi DSP avansate nici unul
Braț puternic ARMv4 SA-110 16 KB / 16 KB, MMU 203 MHz
1.0 DMIPS / MHz
Apple Newton seria 2x00, Acorn Risc PC, Rebel / Corel Netwinder, Chalice CATS
SA-1100 16 KB / 8 KB, MMU 203 MHz Psion netBook
SA-1110 La fel ca SA-110, SoC integrat 16 KB / 8 KB, MMU 206 MHz LART (computer), Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, seria Jornada 560, Palm Zire 31
ARM8 ARMv4 ARM810 Conductă în 5 etape, predicție de ramificație statică, memorie cu lățime de bandă dublă 8 KB unificat, MMU 84 MIPS la 72 MHz
1,16 DMIPS / MHz
Acorn Risc PC CPU Card Prototip
ARM9TDMI ARMv4T ARM9TDMI Transportor în 5 trepte, Thumb nici unul
ARM920T Ca ARM9TDMI, cache 16 KB / 16 KB, MMU cu FCSE (Extensie de comutare rapidă a contextului) 200 MIPS la 180 MHz Armadillo, Atmel AT91SAM9, GP32, GP2X (primul nucleu), Tapwave Zodiac (Motorola i. MX1), Calculatoare Hewlett Packard HP-49/50, Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3CTN4, Samsung S3CTN4 FIC Neo FreeRunner), Samsung S3C2410 (dispozitive de navigare TomTom)
ARM922T Ca ARM9TDMI, cache 8 KB / 8 KB, MMU NXP Semiconductors LH7A40x
ARM940T Ca ARM9TDMI, cache 4 KB / 4 KB, MPU GP2X (al doilea nucleu), Meizu M6 Mini Player
ARM9E ARMv5TE ARM946E-S Thumb, instrucțiuni DSP îmbunătățite, cache memorii variabile, strâns cuplate, MPU Nintendo DS, Nokia N-Gage, Canon PowerShot A470, Canon EOS 5D Mark II, cipuri Conexant 802.11, Samsung S5L2010
ARM966E-S Thumb, instrucțiuni DSP îmbunătățite fără cache, TCM-uri STM STR91xF, include Ethernet
ARM968E-S Ca ARM966E-S fără cache, TCM-uri NXP Semiconductors LPC2900
ARMv5TEJ ARM926EJ-S Thumb, Jazelle DBX, instrucțiuni DSP îmbunătățite variabilă, TCM, MMU 220 MIPS la 200 MHz, Telefoane mobile: Sony Ericsson (seria K, W); Siemens și Benq (seria x65 și mai nou); LG Arena, LG Cookie Fresh; TI OMAP1710 ... OMAP1612, OMAP-L137, OMAP-L138; Qualcomm MSM6100 ... MSM6800; Freescale i.MX21, i.MX27, Atmel AT91SAM9, NXP Semiconductors LPC3000, GPH Wiz, NEC C10046F5-211-PN2-A SoC - nucleu nedocumentat în cipul grafic ATi Hollywood utilizat în Wii, Samsung S3C2412 Duet folosit în Squeze Controler. Squeezebox Radio; NeoMagic MiMagic Family MM6, MM6 +, MM8, MTV; Buffalo TeraStation Live (NAS); Telechips TCC7801, TCC7901; ZiiLABS „ZMS-05 system on a chip; Western Digital MyBook I World Edition
ARMv5TE ARM996HS Procesor fără ceas precum ARM966E-S fără cache, TCM, MPU
ARM10E ARMv5TE ARM1020E Pipeline în 6 etape, Thumb, instrucțiuni DSP îmbunătățite, (VFP) 32 KB / 32 KB, MMU
ARM1022E Ca ARM1020E 16 KB / 16 KB, MMU
ARMv5TEJ ARM1026EJ-S Thumb, Jazelle DBX, instrucțiuni DSP îmbunătățite, (VFP) variabilă, MMU sau MPU Western Digital MyBook II World Edition; SoC ADSL Conexant so4610 și so4615
XScale ARMv5TE 80200 / IOP310 / IOP315 Procesor I/O, Thumb, instrucțiuni DSP îmbunătățite
80219 400/600 MHz Thecus N2100
  • Procesorul Intel 80219 include nucleu XScale pe 32 de biți de mare viteză de 400 sau 600 MHz cu interfață PCI-X pe 64 de biți
  • Busul PCI / PCI-X permite conectarea controlerelor Gigabit Ethernet
IOP321 600 BogoMips la 600 MHz Iyonix
IOP33x
IOP34x 1-2 nuclee, accelerare RAID 32K / 32K L1, 512K L2, MMU
PXA210 / PXA250 Procesor de aplicații, conductă în 7 etape PXA210: 133 și 200 MHz, PXA250: 200, 300 și 400 MHz Zaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90
PXA255 32KB / 32KB, MMU 400 BogoMips @ 400 MHz; 371-533 MIPS la 400 MHz Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad
PXA263 200, 300 și 400 MHz Sony CLIÉ NX73V, NX80V
PXA26x implicit 400 MHz, până la 624 MHz Palm Tungsten T3
PXA27x Procesor de aplicații 32 KB / 32 KB, MMU 800 MIPS la 624 MHz Gumstix verdex, „Trizeps-Modules” PXA270 COM, HTC Universal, hx4700, Zaurus SL-C1000, 3000, 3100, 3200, Dell Axim x30, x50, and x51 series, Motorola Q, Balloon3, Trolltech, Motorola Greenphone, Ezx Platformă A728, A780, A910, A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6, Fujitsu Siemens LOOX N560, Toshiba Portégé G500, Toshiba Portégé G900, T6pr0ē52, T6pr-7pit Navigator
PXA800 (E) F
PXA3XX (nume de cod „Monahans”) PXA31x are un hardware accelerator grafic 32KB / 32KB L1, TCM, MMU 800 MIPS la 624 MHz Highscreen Alex
PXA900 Blackberry 8700, Blackberry Pearl (8100)
IXC1100 Procesor plan de control
IXP2400 / IXP2800
IXP2850
IXP2325 / IXP2350
IXP42x NSLU2 IXP460 / IXP465
ARM11 ARMv6 ARM1136J (F) -S Pipeline în 8 etape, SIMD, Thumb, Jazelle DBX, (VFP), Instrucțiuni îmbunătățite DSP variabilă, MMU 740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHz TI OMAP2420 (Nokia E90, Nokia N93, Nokia N95, Nokia N82), Zune, BUGbase, Nokia N800, Nokia N810, Qualcomm MSM7200 (cu ARM926EJ-S integrat [email protected] MHz, utilizat în Eten Glofiish, HTC TyTN II, HTC Nike), Freescale i.MX31 (folosit în Zune 30gb original și Toshiba Gigabeat S), Freescale MXC300-30 (Nokia E63, Nokia E71, Nokia E72, Nokia 5800, Nokia E51, Nokia 6700 Classic, Nokia 6120 Classic, Nokia 6210 Navigator, Nokia 6220 Classic, Nokia 6290, Nokia 6710 Navigator, Nokia 6720 Classic, Nokia E75, Nokia N97, Nokia N81), Qualcomm MSM7201A așa cum se vede în HTC Dream, HTC Magic , Motorola ZN5, Motorola E8, Motorola VE66, Motorola Z6, HTC Hero și Samsung SGH-i627 (Propel Pro), Qualcomm MSM7227 utilizate în ZTE Link, HTC Legend, HTC Wildfire S, LG P500, LG GT540,
ARMv6T2 ARM1156T2 (F) -S Conductă în 9 etape, SIMD, Thumb-2, (VFP), Instrucțiuni îmbunătățite DSP variabilă, MPU
ARMv6KZ ARM1176JZ (F) -S Ca ARM1136EJ (F) -S variabilă, MMU + TrustZone Apple iPhone (original și 3G), Apple iPod touch (prima și a doua generație), Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100; Mediatek MT6573; Telecipuri TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410 (de exemplu, Samsung Moment), S3C6430
ARMv6K ARM11 MPCore Ca ARM1136EJ (F) -S, 1-4 nuclee SMP variabilă, MMU Nvidia APX 2500
Familia de sâmburi Varianta de arhitectura Miez Funcții Cache (I / D) / MMU MIPS tipic @ MHz Aplicații
Cortexul ARMv7-A Cortex-A5 VFP, NEON, Jazelle RCT și DBX, Thumb-2, transportor în 8 trepte, în comandă, SMP cu 1-4 nuclee variabilă (L1), MMU + TrustZone până la 1500 (1,5 DMIPS / MHz) „Sparrow” (nume de cod ARM)
Cortex-A8 VFP, NEON, Jazelle RCT, Thumb-2; Conductă în 13 trepte, în comandă, 2 decodoare variabilă (L1 + L2), MMU + TrustZone până la 2000 (2,0 DMIPS / MHz cu viteză de la 600 MHz la mai mult de 1 GHz) Seria TI OMAP3xxx, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone 3GS, Apple iPod touch (a treia generație), Apple iPad (procesor Apple A4), Apple iPhone 4 (procesor Apple A4), Archos 5, Archos 101, FreeScale i.MX51-SOC, BeagleBoard, Motorola Droid, Motorola Droid X, Palm Pre, Samsung Omnia HD, Samsung Wave S8500, Nexus S, Sony Ericsson Satio, Touch Book, Nokia N900, Meizu M9, sistem ZiiLABS ZMS-08 pe un cip, Boxchip A13
Cortex-A9 Profil de aplicație, (VFP), (NEON), Jazelle RCT și DBX, Thumb-2, Problemă speculativă în afara ordinii superscalar (2 decodoare); 9-12 trepte ale transportorului MMU + TrustZone 2,5 DMIPS / MHz Apple iPhone 4S, Apple iPad 2 (Apple A5), MediaTek MT6575 / 6515M
Cortex-A9 MPCore Ca Cortex-A9, 1-4 nuclee SMP MMU + TrustZone 10.000 DMIPS la 2 GHz pe TSMC 40G cu performanță optimizată (quad core?) (2,5 DMIPS / MHz per nucleu) PlayStation® Vita, TI OMAP4430 / 4440, ST-Ericsson U8500, Nvidia Tegra2, Samsung Exynos 4210, MediaTek MT6577 / 6517
Cortex-A15 MPCore 1-32 nuclee SMP; Superscalar necomandat (3 decodoare); 15+ trepte transportoare; VFPv4, NEON MMU, LPAE 3,5 DMIPS / MHz / Core; 1,0 GHz - 2,5 GHz (@ 28 nm)
Cortex-A7 MPCore FPU, NEON; În ordine (1 decodor); 8 trepte ale transportorului. MMU, LPAE 1.9 DMIPS / MHz / CPU; 0,8-1,5 GHz (@ 28nm) (Broadcom, Freescale, HiSilicon, LG, Samsung, STEricsson, Texas Instruments, MediaTek)
ARMv7-R Cortex-R4 (F) Profil încorporat, Thumb-2, (FPU) cache variabilă, MPU opțional 600 DMIPS la 475 MHz Broadcom este un utilizator, TI TMS570
ARMv7-ME Cortex-M4 (nume de cod „Merlin”) Profil de microcontroler, atât Thumb cât și Thumb-2, FPU. Hardware MAC, SIMD și instrucțiuni de divizare MPU optional 1,25 DMIPS / MHz NXP Semiconductors
ARMv7-M Cortex-M3 Profil de microcontroler, numai Thumb-2. Instrucțiuni de împărțire hardware fără cache, MPU opțional 125 DMIPS la 100 MHz Stellaris, STM STM32, NXP LPC1700, Toshiba TMPM330FDFG, Ember "s EM3xx Series, Atmel AT91SAM3, Europe Technologies EasyBCU, Energy Micro" s EFM32, Actel "s SmartFusion, Milandr 1986BE91T
ARMv6-M Cortex-M0 (nume de cod „Swift”) Profil de microcontroler, subset Thumb-2 (instrucțiuni Thumb pe 16 biți și BL, MRS, MSR, ISB, DSB și DMB) Fără cache 0,9 DMIPS / MHz NXP Semiconductors NXP LPC1100, Triad Semiconductor, Melfas, Chungbuk Technopark, Nuvoton, austriamicrosystems, Milandr K1986BE2T
Cortex-M1 FPGA vizat, profil microcontroler, subset Thumb-2 (instrucțiuni Thumb pe 16 biți și BL, MRS, MSR, ISB, DSB și DMB) Niciuna, memorie strâns cuplată opțională Până la 136 DMIPS la 170 MHz (0,8 DMIPS / MHz, MHz realizabil în funcție de FPGA) Dispozitivele Actel ProASIC3, ProASIC3L, IGLOO și Fusion PSC, Altera Cyclone III, alte produse FPGA sunt, de asemenea, acceptate, de ex. Sinplicitate
Familia de sâmburi Varianta de arhitectura Miez Funcții Cache (I / D) / MMU MIPS tipic @ MHz Aplicații

Arhitectură

Există de mult timp un manual de referință pentru arhitectura ARM care delimitează toate tipurile de interfețe pe care le suportă ARM, deoarece detaliile de implementare pentru fiecare tip de procesor pot diferi. Arhitectura a evoluat de-a lungul timpului, iar de la ARMv7 au fost definite 3 profiluri: ‘A’ (aplicație) pentru aplicații, ‘R’ (timp real) pentru timp real, ’M’ (microcontroller) pentru un microcontroler.

Profilurile pot suporta mai puține comenzi (comenzi de un anumit tip).

Moduri

Procesorul poate fi în unul dintre următoarele moduri de operare:

  • Modul utilizator- modul normal de executare a programului. Majoritatea programelor sunt executate în acest mod.
  • Fast Interrupt (FIQ) - modul de întrerupere rapidă (timp de răspuns mai scurt)
  • Întreruperea (IRQ) este modul principal de întrerupere.
  • Modul sistem este un mod protejat pentru utilizare de către sistemul de operare.
  • Abort mode - modul la care comută procesorul atunci când apare o eroare la accesarea memoriei (accesarea datelor sau a instrucțiunilor în etapa prefetch a conductei).
  • Mod supervizor - modul utilizator privilegiat.
  • Mod nedefinit - modul în care intră procesorul când încearcă să execute o instrucțiune necunoscută.

Comutarea modului procesorului are loc atunci când apare o excepție corespunzătoare sau prin modificarea registrului de stare.

Set de comenzi

Pentru a menține designul curat, simplu și rapid, fabricarea originală ARM a fost realizată fără microcod, la fel ca procesorul mai simplu 6502 pe 8 biți utilizat în microcalculatoarele anterioare de la Acorn Computers.

Set de instrucțiuni ARM

Modul în care este executat setul de instrucțiuni pe 32 de biți.

Set de comenzi pentru degetul mare

Pentru a îmbunătăți densitatea codului, procesoarele care încep de la ARM7TDMI sunt echipate cu un mod „degetul mare”. În acest mod, procesorul execută un set alternativ de instrucțiuni pe 16 biți. Majoritatea acestor instrucțiuni pe 16 biți se traduc în instrucțiuni ARM normale. Reducerea lungimii instrucțiunii se realizează prin ascunderea unor operanzi și prin limitarea capacităților de adresare în comparație cu modul complet de set de instrucțiuni ARM.

În modul Thumb, codurile operaționale mai mici au mai puține funcționalități. De exemplu, numai ramurile pot fi condiționate, iar multe coduri de operare sunt limitate la accesarea doar la jumătate din registrele procesorului principal. Codurile operaționale mai scurte au ca rezultat, în general, o densitate mai mare a codului, deși unele operațiuni necesită instrucțiuni suplimentare. În situațiile în care portul de memorie sau lățimea magistralei este limitată la 16 biți, codurile operaționale Thumb mai scurte devin mult mai eficiente decât codul ARM obișnuit pe 32 de biți, deoarece codul programului va trebui să se încarce în procesor cu lățime de bandă de memorie limitată.

Hardware-ul de tip Game Boy Advance tinde să fie mic memorie cu acces aleator disponibil cu un canal de date complet pe 32 de biți. Dar majoritatea operațiunilor se fac pe un canal de date de 16 biți sau mai îngust. În acest caz, este logic să utilizați codul degetului mare și să optimizați manual unele secțiuni grele ale codului trecând la instrucțiuni complete ARM pe 32 de biți.

Primul procesor cu un decodor comutator a fost ARM7TDMI. Toate procesoarele din familia ARM9, precum și XScale, aveau un decodor de comandă cu degetul mare încorporat.

Set de comenzi Thumb-2

Thumb-2 este o tehnologie care a început cu nucleul ARM1156, anunțat în 2003. Acesta extinde setul de instrucțiuni Thumb limitat de 16 biți cu instrucțiuni suplimentare de 32 de biți pentru a oferi setului de instrucțiuni o lățime suplimentară. Scopul Thumb-2 este de a atinge densitatea codului de tip Thumb și performanța setului de instrucțiuni ARM pe 32 de biți. Putem spune că în ARMv7 acest obiectiv a fost atins.

Thumb-2 extinde atât instrucțiunile ARM, cât și Thumb cu și mai multe instrucțiuni, inclusiv controlul câmpului de biți, ramificarea tabelară, execuția condiționată. Limba noua; limbaj nou Unified Assembly Language (UAL) acceptă generarea de instrucțiuni atât pentru ARM, cât și pentru Thumb, din același cod sursă. Versiunile ARMv7 ale Thumb arată ca codul ARM. Acest lucru necesită prudență și utilizare. echipa noua dacă-atunci, care acceptă executarea a până la 4 comenzi consecutive ale stării testate. În timpul compilării la codul ARM, acesta este ignorat, dar la momentul compilarii la cod, Thumb-2 generează comenzi. De exemplu:

; dacă (r0 == r1) CMP r0, r1 ITE EQ ; ARM: fără cod... Thumb: instrucțiuni IT; atunci r0 = r2; MOVEQ r0, r2 ; ARM: condiționat; Degetul mare: starea prin ITE „T” (atunci); altfel r0 = r3; MOVNE r0, r3 ; ARM: condiționat; Degetul mare: stare prin ITE „E” (altfel) ; reamintim că instrucțiunea Thumb MOV nu are biți pentru a codifica „EQ” sau „NE”

Toate cipurile ARMv7 acceptă setul de instrucțiuni Thumb-2, iar unele cipuri, cum ar fi Cortex-m3, acceptă doar Thumb-2. Restul cipurilor Cortex și ARM11 acceptă atât seturile de instrucțiuni Thumb-2, cât și ARM.

Set de comandă Jazelle

Extensii de securitate

Extensiile de securitate comercializate ca TrustZone Technology se găsesc în ARMv6KZ și în alte arhitecturi mai recente cu profil de aplicație. Oferă o alternativă ieftină la adăugarea unui motor de securitate dedicat, oferind 2 procesoare virtuale susținute de controlul accesului hardware. Acest lucru permite nucleului aplicației să comute între două stări numite „lumi” (pentru a evita confuzia cu numele posibilelor domenii) pentru a preveni scurgerea informațiilor dintr-o lume mai importantă într-una mai puțin importantă. Acest comutator mondial este de obicei ortogonal cu toate celelalte capabilități ale procesorului. Astfel, fiecare lume poate funcționa independent de alte lumi folosind același nucleu. Memoria și perifericele sunt create în mod corespunzător, având în vedere lumea kernel-ului și pot folosi acest lucru pentru a obține controlul asupra accesului la secretele și codurile nucleului. Aplicațiile tipice TrustZone Technology ar trebui să ruleze un sistem de operare complet într-o lume mai puțin importantă și un cod mai slab, specific securității într-o lume mai importantă, permițând gestionării drepturilor digitale un control mult mai precis asupra utilizării media pe dispozitive bazate pe ARM și prevenind accesul neautorizat. acces la dispozitiv....

În practică, deoarece detaliile specifice ale implementării TrustZone rămân proprietatea companiei și nu sunt dezvăluite, rămâne neclar ce nivel de securitate este garantat pentru acest model de amenințare.

Depanare

Tot procesoare moderne ARM include depanarea hardware, deoarece fără ele, depanatorii de software nu ar fi capabili să efectueze cele mai de bază operațiuni, cum ar fi oprirea, indentarea, setarea punctelor de întrerupere după repornire.

Arhitectura ARMv7 definește instrumentele de depanare subiacente la nivel arhitectural. Acestea includ puncte de întrerupere, puncte de vedere și executarea comenzilor în modul de depanare. Astfel de instrumente au fost disponibile și cu modulul de depanare EmbeddedICE. Ambele moduri sunt acceptate - opriți și navigați. Mecanismul de transport real care este utilizat pentru a accesa instrumentele de depanare nu este specificat arhitectural, dar implementarea include de obicei suport JTAG.

Există o arhitectură separată de depanare „vizualizare kernel” care nu este cerută din punct de vedere arhitectural de procesoarele ARMv7.

Registrele

ARM oferă 31 de registre de uz general pe 32 de biți. În funcție de modul și starea procesorului, utilizatorul are acces doar la un set de registre strict definit. În starea ARM, 17 registre sunt disponibile în mod constant dezvoltatorului:

  • 13 registre generale (r0..r12).
  • Stack Pointer (r13) - conține indicatorul de stivă al programului care se execută.
  • Registrul de legături (r14) - conține adresa de retur în instrucțiunile de filială.
  • Program Counter (r15) - biții conțin adresa instrucțiunii care se execută.
  • Registrul de stare a programului curent (CPSR) - conține steaguri care descriu starea curentă a procesorului. Modificat când sunt executate multe instrucțiuni: logice, aritmetice etc.

În toate modurile, cu excepția modului Utilizator și a modului Sistem, este disponibil și Registrul de stare program salvat (SPSR). După ce apare o excepție, registrul CPSR este stocat în SPSR. Astfel, starea procesorului (mod, stare; steaguri de aritmetică, operații logice, activare întrerupere) este fixată în momentul imediat înainte de întrerupere.

usr sys svc cca und irq fiq
R0
R1
R2
R3
R4
R5
R6
R7
R8 R8_fiq
R9 R9_fiq
R10 R10_fiq
R11 R11_fiq
R12 R12_fiq
R13 R13_svc R13_abt R13_und R13_irq R13_fiq
R14 R14_svc R14_abt R14_und R14_irq R14_fiq
R15
CPSR
SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq

Lucrul cu memoria

Sisteme I/O acceptate

Majoritatea modelelor de microprocesoare existente implementează magistrala PCI și capacitatea de a lucra cu memoria dinamică externă cu acces aleatoriu (DRAM). Procesoarele concepute pentru dispozitivele de consum mai integrează de obicei: controlere de magistrală USB, IIC, dispozitiv audio compatibil AC'97, dispozitiv pentru lucrul cu medii flash SD și MMC, controler de port serial.

Toate procesoarele au linii I/O de uz general (GPIO). În dispozitivele de consum, acestea pot fi conectate la butoane „pornire rapidă”, LED-uri de semnal, rotiță de defilare (JogDial), tastatură.

Procesul de pornire a sistemului de operare pe mașinile ARM

Suport sisteme de tip Unix

Arhitectura ARM este suportată de sistemele de operare Unix și asemănătoare Unix GNU / Linux, BSD, QNX, Plan 9, Inferno, Solaris, Mac OS X, iOS, WebOS și Android.

Linux

Următoarele distribuții acceptă procesoare ARM:

BSD

Următoarele derivate BSD acceptă procesoare ARM:

Solaris

Suport pentru alte sisteme de operare

Sisteme de operare care rulează pe ARM: ReactOS, FreeRTOS, Nucleus, Symbian OS, Windows CE, RISC OS, Windows RT.

Licențiații ARM și costul estimat al licenței

ARM nu produce sau vinde procesoare personalizate, ci în schimb licențiază procesoarele partenerilor interesați. ARM oferă o mare varietate de termeni de licență care variază ca cost și detalii. Pentru toți deținătorii de licență, ARM furnizează o descriere a părții hardware a nucleului, precum și un set complet de instrumente de dezvoltare software (compilator, depanator), precum și dreptul de a vinde procesoare ARM fabricate. Unii clienți sunt angajați în fabricarea de procesoare pentru companii terțe.

Raportul anual 2006 al ARM raportează că acordarea de licențe a 2,5 miliarde de unități (procesoare) a generat 161 milioane USD. Acest lucru este echivalent cu 0,067 USD pe unitate. Cu toate acestea, aceasta este o cifră foarte medie - include licențe pentru cele mai scumpe procesoare noi și procesoare vechi ieftine.

Note (editare)

  1. „ÎRMAT pentru sufragerie”.
  2. „Un interviu cu Steve Furber”
  3. Samsung Nexus 10 - Browser Geekbench
  4. MacBook Air - Browser Geekbench
  5. Criterii de referință Apache pentru serverul web de 5 wați de la Calxeda - Servere ARM, acum!
  6. http://www.apm.com/global/x-gene/docs/2012_03_OPP%20Cloudy%20with%20a%20Chance%20of%20ARM.pdf
  7. „ARM810 - Dancing to the Beat of a Different Drum” Prezentare ARM Holdings la Hot Chips 1996-08-07.
  8. Registrul 13, registrul FCSE PID ARM920T Manual de referință tehnică
  9. Neo1973: comparație GTA01Bv4 versus GTA02. Arhivat din original pe 13 martie 2012. Consultat la 15 noiembrie 2007.
  10. S3C2410. Arhivat din original pe 13 martie 2012. Consultat la 13 ianuarie 2010.
  11. Seria Rockbox Samsung SA58xxx. Arhivat
  12. Port Rockbox Meizu M6 - Informații hardware. Arhivat din original pe 13 martie 2012. Consultat la 22 februarie 2008.
  13. Fișe tehnice - Magic Lantern Firmware Wiki
  14. Microcontroller STR9 - STR912 - STR912FW44 - pagina de descărcare documente și fișiere. Mcu.st.com. (link indisponibil - poveste) Preluat la 18 aprilie 2009.
  15. Starleta.
  16. Benchmarks - Albatros. Albatross-uav.org (18 iunie 2005). (link indisponibil - poveste) Preluat la 18 aprilie 2009.
  17. ARM1136J (F) -S - Procesor ARM. Arm.com. Arhivat
  18. Chips Qualcomm kernel ARM - de la telefoane la laptopuri. xi0.info. Arhivat
  19. Chipset Qualcomm MSM7227 RISC. pdadb.net. Arhivat din original pe 13 martie 2012. Consultat la 8 mai 2010.
  20. GoForce 6100. Nvidia.com. Arhivat din original pe 13 martie 2012. Consultat la 18 aprilie 2009.
  21. Mediatek MT6573. http://www.mediatek.com. ; Arhivat din original pe 6 iunie 2012. Consultat la 18 aprilie 2009.
  22. Procesoare Samsung S3C6410 și S3C6430 ARM. Samsung. Preluat la 8 octombrie 2009., si Qualcomm MSM7627 așa cum se vede în Palm Pixi și Motorola Calgary / Devour
  23. Merit, Rick„ARM se întinde cu nucleu A5, grafică, FPGA”. EE Times (21 octombrie 2009). Arhivat din original pe 13 martie 2012. Consultat la 28 octombrie 2009.
  24. Clarke, Peter Planuri de sfaturi ARM pentru nucleele procesoarelor Swift și Sparrow. EE Times (3 februarie 2009). Arhivat din original pe 13 martie 2012. Consultat la 18 aprilie 2009.
  25. Segan, Sascha ARM "s Multicore Chips Aim for Netbooks. PC Magazine (9 aprilie 2009). Arhivat din originalul 13 martie 2012. Recuperat la 18 aprilie 2009.
  26. http://pc.watch.impress.co.jp/video/pcw/docs/423/409/p1.pdf
  27. Procesor Cortex-A15 - ARM
  28. Procesor Cortex-A7 - ARM
  29. Benz, Benjamin Cortex Nachwuchs bei ARM. Heise.de.2 februarie 2010. Arhivat din original pe 13 martie 2012. Consultat la 3 mai 2010.
  30. Clarke, Peter ARM pregătește un miez mic pentru microcontrolere cu putere redusă. EE Times (23 februarie 2009). Arhivat din original pe 13 martie 2012. Consultat la 30 noiembrie 2009.
  31. Walko, John NXP primul care a demonstrat siliciul ARM Cortex-M0. EE Times (23 martie 2009). Arhivat din original pe 13 martie 2012. Consultat la 29 iunie 2009.
  32. VCA-uri alimentate cu ARM „Triad Semiconductor
  33. Cortex-M0 folosit în controlerul tactil de putere redusă - 06.10.2009 - Electronics Weekly
  34. Chungbuk Technopark alege procesorul ARM Cortex-M0
  35. Traducere Google
  36. Austriamicrosystems alege procesorul ARM Cortex-M0 pentru aplicații cu semnal mixt
  37. „ARM Extends Cortex Family with First Processor Optimized for FPGA”, comunicat de presă ARM, 19 martie 2007. Recuperat la 11 aprilie 2007.

Procesoare ARM - ce sunt și cu ce se mănâncă. Apariția pe piață a procesoarelor mobile de înaltă performanță a fost în multe privințe o adevărată descoperire revoluționară. Putem spune că pentru prima dată a apărut un concurent semnificativ în arhitectura x86, care dacă în primele etape a ocupat doar o nișă vecină, astăzi începe deja să apese serios poziția unui ficat lung în industria computerelor.

Dar care este diferența? Ce este arhitectura ARM și cum este diferită de x86? În acesta din urmă folosit în procesoare Intelși AMD, se utilizează setul de instrucțiuni CISC. Procesarea bazată pe acestea este foarte funcțională, deschide spațiu pentru programatori și dezvoltatori hardware, dar necesită o cantitate considerabilă de resurse energetice. Esența CISC, aproximativ vorbind, este că fiecare comandă primită este decodificată în cel mai simplu element și abia apoi procesată.

Nu este cazul cu ARM. Funcționează pe baza comenzilor RISC, care conțin deja un set gata făcut de elemente simple. Acest lucru reduce flexibilitatea procesorului, dar viteza de procesare a datelor crește semnificativ și, în consecință, reduce consumul de energie al unui astfel de procesor.

Prin urmare, se dovedește că x86 este o arhitectură universală potrivită pentru rezolvarea multor probleme, în timp ce ARM necesită o ascuțire mai fină a hardware-ului și posibilitățile unei astfel de arhitecturi sunt ceva mai limitate. Cu toate acestea, capacitățile ARM devin din ce în ce mai ambițioase. Deja, astfel de procesoare sunt potrivite pentru standard munca de birou, redarea conținutului media, lucrul pe Internet.

ARM se dezvoltă rapid, ceea ce este facilitat și de faptul că zeci de mărci competitive lucrează la această tehnologie pentru franciză, în timp ce doar două corporații lucrează la arhitectura x86, ai căror reprezentanți spun aproape direct că segmentul este stagnant... și nu poți spune asta despre ARM.

Vorbind despre ce sunt cipurile ARM, ar trebui să remarcăm un moment precum complexitatea sistemelor mobile moderne propuse. ARM nu este doar un procesor. De regulă, acesta include: un controler RAM, un accelerator grafic, un decodor video, un codec audio și module opționale fără fir... Un astfel de sistem se numește single-chip. Cu alte cuvinte, ARM este un cip pe un cip.

ARM are în prezent mai multe generații de procesoare:

ARM9... Cipsele ARM9 pot ajunge frecvența ceasului 400 MHz. Aceste cipuri sunt învechite, dar sunt încă la cerere. De exemplu, în routere wireless și terminale de plată. Setul de comenzi simple ale unui astfel de cip facilitează rularea multor aplicații Java.

ARM11... Procesoarele ARM11 se laudă cu un set mai complet de instrucțiuni simple care le extind funcționalitatea și o viteză mare de ceas (până la 1 GHz). Datorită consumului redus de energie și a costurilor reduse, cipurile ARM11 sunt încă folosite în smartphone-urile entry-level.

ARMv7. Cipurile moderne ale arhitecturii ARM aparțin familiei ARMv7, ai cărei reprezentanți emblematic au atins deja nota de opt nuclee și o viteză de ceas de peste 2 GHz. Miezurile de procesor dezvoltate direct de ARM Limited aparțin liniei Cortex și sunt utilizate de majoritatea SoC-urilor fără modificări semnificative.

ARM Cortex-A8. Din punct de vedere istoric, primul nucleu de procesor al familiei ARMv7 a fost Cortex-A8, care a stat la baza unor astfel de renumite SoC-uri ale vremurilor sale precum Apple A4 (iPhone 4 și iPad) și Samsung Hummingbird (Samsung Galaxy S și Galaxy Tab). Demonstrează cam de două ori mai mult productivitate ridicată comparativ cu precedentul ARM11 și, din păcate, un consum mai mare de energie, ceea ce face ca acest cip să fie extrem de nepopular astăzi.

ARM Cortex-A9. După Cortex-A8, ARM Limited a introdus o nouă generație de cipuri - Cortex-A9, care este acum cea mai răspândită și ocupă nișa de preț mediu. Performanța nucleelor ​​Cortex-A9 a crescut de aproximativ trei ori față de Cortex-A8 și chiar există posibilitatea de a le combina cu două sau chiar patru pe un cip.

ARM Cortex-A5 și Cortex-A7. La proiectarea nucleelor ​​procesoarelor Cortex-A5 și Cortex-A7, ARM Limited a urmărit același obiectiv - de a obține un compromis între consumul minim de energie al ARM11 și performanța acceptabilă a lui Cortex-A8. Nu au uitat de posibilitatea de a combina două sau patru nuclee - cipurile multi-core Cortex-A5 și Cortex-A7 apar treptat la vânzare (Qualcomm MSM8625 și MTK 6589).

ARM Cortex-A15. Miezuri de procesor Cortex-A15 a devenit o continuare logică a lui Cortex-A9 - ca urmare, cipurile de arhitectură ARM au reușit pentru prima dată în istorie să se compare în viteză cu Intel Atom, iar acesta este deja un mare succes. Nu degeaba al lui Canonical Cerințe de sistem la versiunea Ubuntu Touch OS cu multitasking complet indica un procesor dual-core ARM Cortex-A15 sau Intel Atom similar.

Chipsuri BRAŢ așteaptă un viitor mare. Numărul de comenzi, frecvența de funcționare, numărul de nuclee cresc activ, iar consumul de energie rămâne la un nivel scăzut. În viitor, cipurile ARM vor deveni potrivite pentru multitasking în format complet, care acum este specific doar sistemelor x86. Cu toate acestea, chiar și în condițiile actualului vector de dezvoltare, este prea devreme să spunem că segmentul de electronice de larg consum va trece complet la cipurile ARM. Iar punctul aici este, în primul rând, în preț. Costul cipurilor mobile crește exponențial, în timp ce prețul x86 continuă să scadă. Este factorul preț, împreună cu diferența de funcționalitate, care va fi oarecum depășit și există o prognoză destul de înțeleasă că sistemele ARM dezvoltate nu vor câștiga în curând o victorie necondiționată în cursa pentru consumatorul lor ...

Top articole similare