Come configurare smartphone e PC. Portale informativo
  • casa
  • OS
  • Che cos'è l'architettura del processore e come definirla? In che modo l'architettura ARM differisce da x86. Controller RAM

Che cos'è l'architettura del processore e come definirla? In che modo l'architettura ARM differisce da x86. Controller RAM

Il processore ARM è un processore mobile per smartphone e tablet.

Questa tabella elenca tutti i processori ARM attualmente conosciuti. La tabella del processore ARM verrà aggiornata e aggiornata non appena saranno disponibili nuovi modelli. Questa tabella usa sistema condizionale Valutazioni delle prestazioni di CPU e GPU. I dati sulle prestazioni del processore ARM sono stati presi dal più diverse fonti, principalmente sulla base dei risultati di test quali: Punteggio minimo, Antutu, GFXBench.

Non pretendiamo l'accuratezza assoluta. Assolutamente preciso per classificare e valutare le prestazioni dei processori ARM impossibile, per il semplice motivo che ognuno di essi, in qualche modo, ha dei vantaggi e in qualche modo è in ritardo rispetto ad altri processori ARM. La tabella del processore ARM consente di vedere, valutare e, soprattutto, confrontare diversi SoC (System-On-Chip) soluzioni. Utilizzando la nostra tabella, puoi confronta i processori mobili e scopri esattamente come è posizionato il cuore ARM del tuo futuro (o presente) smartphone o tablet.

Ecco un confronto tra i processori ARM. Abbiamo esaminato e confrontato le prestazioni della CPU e della GPU in vari SoC (Sistema su chip). Ma il lettore potrebbe avere diverse domande: dove vengono utilizzati i processori ARM? Che cos'è un processore ARM? In che modo l'architettura ARM differisce dai processori x86? Cerchiamo di capire tutto senza entrare troppo nei dettagli.

Per prima cosa, definiamo la terminologia. ARM è il nome dell'architettura e allo stesso tempo il nome dell'azienda che la sviluppa. L'abbreviazione ARM sta per (Advanced RISC Machine o Acorn RISC Machine), che può essere tradotta come: advanced RISC machine. architettura ARM riunisce una famiglia di core di microprocessori a 32 e 64 bit sviluppati e concessi in licenza da ARM Limited. Vorrei subito notare che ARM Limited è impegnata esclusivamente nello sviluppo di kernel e strumenti per loro (strumenti di debug, compilatori, ecc.), Ma non nella produzione dei processori stessi. Società BRACCIO limitato vende licenze per la produzione di processori ARM a terzi. Questo non è lista completa società autorizzate a produrre processori ARM oggi: AMD, Atmel, Altera, Cirrus Logic, Intel, Marvell, NXP, Samsung, LG, MediaTek, Qualcomm, Sony Ericsson, Texas Instruments, nVidia, Freescale... e molti altri.

Diverse aziende autorizzate a produrre processori ARM stanno creando le proprie versioni dei core basate sull'architettura ARM. Gli esempi includono: 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 e HiSilicon K3.

I processori basati su ARM sono attualmente in esecuzione praticamente qualsiasi elettronica: PDA, cellulari e smartphone, lettori digitali, console di gioco portatili, calcolatrici, esterni dischi fissi e router. Contengono tutti un core ARM, quindi possiamo dirlo ARM - processori mobili per smartphone e compresse.

Processore ARM rappresenta un SoC, o "sistema su un chip". Il sistema SoC, o "sistema su chip", può contenere in un cristallo, oltre alla CPU stessa, e altre parti un computer a tutti gli effetti... Questo è un controller di memoria e un controller per le porte I/O, un core grafico e un sistema di geolocalizzazione (GPS). Può contenere un modulo 3G, così come molte altre cose.

Se consideriamo una famiglia separata di processori ARM, diciamo Cortex-A9 (o qualsiasi altro), non possiamo dire che tutti i processori della stessa famiglia abbiano le stesse prestazioni o che tutti siano dotati di modulo GPS. Tutti questi parametri dipendono fortemente dal produttore del chip e da cosa e come ha deciso di implementare nel suo prodotto.

In che modo ARM differisce dai processori X86? La stessa architettura RISC (Reduced Instruction Set Computer) implica un set di istruzioni ridotto. Che di conseguenza porta a un consumo energetico molto moderato. In effetti, all'interno di qualsiasi chip ARM ci sono molti meno transistor rispetto alla sua controparte della linea x86. Non dimenticare che nel sistema SoC tutto periferiche si trova all'interno di un unico microcircuito, che consente al processore ARM di essere ancora più economico in termini di consumo energetico. L'architettura ARM è stata originariamente progettata per calcolare solo operazioni intere, a differenza di x86, che può funzionare con calcoli in virgola mobile o FPU. È impossibile confrontare in modo univoco queste due architetture. In un certo senso, ARM avrà un vantaggio. E da qualche altra parte, e viceversa. Se provi a rispondere alla domanda in una frase: qual è la differenza tra i processori ARM e X86, la risposta sarà: Il processore ARM non conosce il numero di istruzioni che conosce un processore x86. E quelli che sanno sembrano molto più bassi. Questo è sia i suoi pro che i suoi contro. Comunque, in Di recente tutto suggerisce che i processori ARM stanno iniziando a recuperare lentamente ma inesorabilmente e in qualche modo addirittura superano il solito x86. Molti affermano apertamente che i processori ARM sostituiranno presto la piattaforma x86 nel segmento dei PC domestici. Come abbiamo già fatto, nel 2013, diverse aziende di fama mondiale hanno completamente abbandonato l'ulteriore rilascio di netbook a favore dei tablet PC. Ebbene, cosa accadrà davvero, lo dirà il tempo.

Terremo traccia dei processori ARM già presenti sul mercato.

Ciao nostri amati lettori. Oggi vi parleremo dell'architettura del processore Cortex a53.

Non sai nemmeno quanti dei tuoi gadget sono alimentati da questo processore. Poche persone conoscono le caratteristiche dei nuclei tecnologici e cosa li distingue l'uno dall'altro. In questo articolo imparerai le caratteristiche di un particolare popolare Cortex a53.

Specifiche

Questi processori possono avere da 1 a 8 core, sistema di memoria L1 e cache L2 condivisa. Per capire cosa distingue il componente principale di quasi tutte le apparecchiature di questo modello dagli altri, è necessario conoscerne i vantaggi:

  • Alte prestazioni (supporto per un'ampia gamma di applicazioni mobili, DTV, aerospaziale, storage e altre apparecchiature di tipo simile);
  • Architettura Army8-A di alta qualità per progetti indipendenti livello base;
  • Versatilità (interfacciabile con qualsiasi processore come Cortex-A72, Cortex-A57 e altri);
  • Un prodotto di qualità con un grande volume di download.

Questi sono i principali punti di forza di questo prodotto, ma non tutti i suoi vantaggi. Il cuore di questo marchio svolge molte funzioni:

  • Supporta fino a 64 bit e architetture più recenti;
  • tecnologia di sicurezza TrustZone;
  • Estensioni DSP e SIMD;
  • Trasportatore a 8 stadi con due uscite e intero migliorato;
  • Può funzionare a una frequenza di 1,5 GHz;
  • Supporto per la virtualizzazione dell'hardware.

Questo è un insieme standard di funzioni per questo componente tecnico, ma queste sono lontane da tutte le funzioni che svolge questo complesso meccanismo.

Dove viene usato più spesso?

Processori di questo tipo si trovano non solo negli smartphone di fascia media (Xiaomi redmi 4, Redmi 3s, Meizu m3/m5 Note, ecc.), ma anche nelle seguenti tecnologie:

  • Tecnologia aerospaziale;
  • Rete;
  • Archiviazione dati (come HDD, SDD);
  • Sistema di infotainment per auto;

Caratteristiche aggiuntive

  • Il gasdotto di cui è responsabile basso consumo energetico;
  • Elevata larghezza di banda che consente l'esecuzione simultanea di più comandi;
  • Funzionalità avanzate di risparmio energetico.

Il processore è associato a diversi IP

Questa tecnica viene utilizzata nei SoC e nelle tecnologie come Arm, Graphics IP, System IP e Physical IP. Ti forniamo un elenco completo di strumenti che possono essere utilizzati con il nucleo di questo marchio. :

  • Mali-T860 / Mali-T880;
  • Mali-DP550;
  • Mali-V550;
  • CoreLink;
  • Controllore di memoria;
  • controller di interruzione;
  • studio di sviluppo DS-5;
  • compilatore ARM;
  • Schede di sviluppo;
  • Modelli veloci.

Esistono 2 tipi di processori Cortex a53:

  • AArch64: consente di installare e utilizzare applicazioni a 64 bit;
  • AArch32: consente di utilizzare solo le applicazioni Armv7-A esistenti.

Perché hai bisogno di tutte queste informazioni tecniche?

Se non capisci nulla di tecnologia e caratteristiche, in parole più semplici Cortex a53 offre prestazioni molto migliori rispetto ai suoi predecessori con più alto livello efficienza energetica. Le prestazioni principali sono persino migliori del marchio Cortex-A7 che si trova su molti smartphone popolari.

L'architettura Armv8-A è ciò che definisce la funzionalità delle tecnologie. Questa marca di kernel ha elaborazione dati a 64 bit, indirizzamento virtuale esteso e registri generici a 64 bit. Tutte queste caratteristiche hanno reso questo processore il primo ad essere progettato specificamente per fornire un'elaborazione a 64 bit efficiente dal punto di vista energetico.

Quindi hai capito che Processore della corteccia a53 è un componente tecnico nominale che non deve essere saltato quando si sceglie una tecnica. Se il tuo smartphone dispone di un tale processore che utilizza questa architettura, non devi preoccuparti di esaurire la memoria o di scaricare rapidamente il telefono. Tutti questi problemi sono nel passato.

Speriamo che questo articolo ti sia stato utile. Se è così, iscriviti ai nostri gruppi in nei social network e resta sintonizzato per nuovi articoli che potrebbero essere utili anche a te. Non dimenticare il nostro canale su Youtube.

C'era un sito con te


Ci sono due delle architetture di processori più popolari del nostro tempo. Questo è x86, che è stato sviluppato negli anni '80 e viene utilizzato nei personal computer e ARM - più moderno, che consente di rendere i processori più piccoli ed economici. È utilizzato dalla maggior parte dei dispositivi mobili o tablet.

Entrambe le architetture hanno i loro pro e contro, così come le aree di applicazione, ma ci sono delle somiglianze. Molti esperti dicono che per ARM futuro, ma presenta ancora alcuni inconvenienti che x86 non ha. Nel nostro articolo di oggi, vedremo come l'architettura del braccio differisce da x86. Consideriamo le differenze fondamentali tra ARM e x86 e proviamo anche a determinare quale è meglio.

Un processore è il componente principale di qualsiasi dispositivo informatico, sia esso uno smartphone o un computer. Le sue prestazioni determinano la velocità di funzionamento del dispositivo e la durata dell'alimentazione a batteria. In poche parole, l'architettura di un processore è un insieme di istruzioni che possono essere utilizzate per scrivere programmi e sono implementate nell'hardware utilizzando combinazioni specifiche di transistor del processore. Sono loro che consentono ai programmi di interagire con l'hardware e determinano come i dati verranno trasferiti e letti dalla memoria.

Attualmente esistono due tipi di architetture: CISC (Complex Instruction Set Computing) e RISC (Reduced Instruction Set Computing). Il primo presuppone che le istruzioni per tutte le occasioni saranno implementate nel processore, il secondo, RISC, pone davanti agli sviluppatori il compito di creare un processore con una serie di istruzioni minime necessarie per il funzionamento. Le istruzioni RISC sono più piccole e semplici.

Architettura X86

L'architettura del processore x86 è stata sviluppata nel 1978 ed è apparsa per la prima volta nei processori Intel ed è di tipo CISC. Il suo nome è preso dal modello del primo processore con questa architettura: Intel 8086. Nel tempo, in mancanza di un'alternativa migliore, altri produttori di processori, ad esempio AMD, hanno iniziato a supportare questa architettura. Ora è lo standard per computer desktop, laptop, netbook, server e altri dispositivi simili. Ma anche a volte i processori x86 vengono utilizzati nei tablet, questa è una pratica abbastanza comune.

Il primo processore Intel 8086 era a 16 bit, poi nel 2000 è uscito un processore a 32 bit e anche più tardi è apparsa l'architettura a 64 bit. Ne abbiamo discusso in dettaglio in un articolo separato. Durante questo periodo, l'architettura si è sviluppata molto, sono stati aggiunti nuovi set di istruzioni ed estensioni, che possono aumentare notevolmente le prestazioni del processore.

X86 ne ha diversi svantaggi significativi... In primo luogo, è la complessità delle squadre, la loro confusione, che è sorta a causa della lunga storia di sviluppo. In secondo luogo, tali processori consumano troppa energia e, per questo motivo, generano molto calore. Gli ingegneri X86 inizialmente hanno preso la strada per ottenere le massime prestazioni e la velocità richiede risorse. Prima di esaminare le differenze tra arm x86, parliamo dell'architettura ARM.

architettura ARM

Questa architettura è stata introdotta un po' più tardi per x86, nel 1985. È stato sviluppato dalla famosa azienda britannica Acorn, quindi questa architettura è stata chiamata Arcon Risk Machine e apparteneva al tipo RISC, ma poi è stata rilasciata la sua versione migliorata della Advanted RISC Machine, che ora è conosciuta come ARM.

Nello sviluppo di questa architettura, gli ingegneri si sono posti l'obiettivo di eliminare tutte le carenze di x86 e creare un'architettura completamente nuova ed efficiente. I chip ARM hanno ricevuto un consumo energetico minimo e un prezzo basso, ma avevano prestazioni scarse rispetto a x86, quindi inizialmente non hanno guadagnato molta popolarità sui personal computer.

A differenza di x86, gli sviluppatori inizialmente hanno cercato di ottenere i costi minimi delle risorse, hanno meno istruzioni del processore, meno transistor e, di conseguenza, meno funzionalità aggiuntive. Ma per l'anno scorso Le prestazioni del processore ARM sono migliorate. Considerando questo e il basso consumo energetico, iniziarono ad essere ampiamente utilizzati in dispositivi mobili come tablet e smartphone.

Differenze tra ARM e x86

E ora che abbiamo considerato la storia dello sviluppo di queste architetture e le loro differenze fondamentali, facciamo un confronto dettagliato di ARM e x86, in base alle loro varie caratteristiche, al fine di determinare cosa è meglio e capire più accuratamente qual è la loro differenza .

Produzione

La produzione x86 vs braccio è diversa. Solo due società, Intel e AMD, producono processori x86. Inizialmente, questa era una società, ma questa è una storia completamente diversa. Solo queste società hanno il diritto di rilasciare tali processori, il che significa che solo loro gestiranno la direzione dello sviluppo dell'infrastruttura.

ARM funziona in modo molto diverso. La società dietro ARM non rilascia nulla. Danno semplicemente il permesso di sviluppare processori di questa architettura e i produttori possono fare tutto ciò di cui hanno bisogno, ad esempio rilasciare chip specifici con i moduli di cui hanno bisogno.

Numero di istruzioni

Queste sono le principali differenze tra l'architettura braccio e x86. I processori X86 si sono evoluti rapidamente diventando più potenti e produttivi. Gli sviluppatori hanno aggiunto un gran numero di istruzioni del processore e qui non c'è solo un set di base, ma molte istruzioni di cui è possibile fare a meno. Inizialmente, questo è stato fatto per ridurre la quantità di memoria occupata dai programmi su disco. Inoltre, sono state sviluppate molte opzioni per la protezione e la virtualizzazione, ottimizzazioni e molto altro. Tutto ciò richiede transistor ed energia aggiuntivi.

ARM è più semplice. Ci sono molte meno istruzioni del processore qui, solo quelle necessarie al sistema operativo e effettivamente utilizzate. Se confrontiamo x86, solo il 30% di tutto viene utilizzato lì. possibili istruzioni... Sono più facili da imparare se si sceglie di scrivere programmi a mano e richiedono anche un minor numero di transistor per l'implementazione.

Consumo di energia

A partire dal paragrafo precedente emerge un'altra conclusione. Maggiore è il numero di transistor su una scheda, maggiore è l'area e il consumo di energia, ed è vero il contrario.

I processori X86 consumano molta più energia rispetto ai processori ARM. Ma il consumo di energia è anche influenzato dalle dimensioni del transistor stesso. Ad esempio, un processore Intel i7 consuma 47 watt, mentre qualsiasi processore ARM per smartphone non consuma più di 3 watt. In precedenza, le schede venivano prodotte con un singolo elemento di 80 nm, poi Intel ha ottenuto una riduzione a 22 nm e quest'anno gli scienziati sono riusciti a creare una scheda con una dimensione dell'elemento di 1 nanometro. Ciò ridurrà notevolmente il consumo di energia senza sacrificare le prestazioni.

Il consumo energetico dei processori x86 è diminuito drasticamente negli ultimi anni, ad esempio, i nuovi processori Intel Haswell possono durare più a lungo con la durata della batteria. Ora la differenza tra braccio e x86 sta gradualmente scomparendo.

Dissipazione di calore

Il numero di transistor influisce su un altro parametro: la generazione di calore. I dispositivi moderni non possono convertire tutta l'energia in un'azione efficace; parte di essa viene dissipata sotto forma di calore. L'efficienza delle schede è la stessa, il che significa che meno transistor e più piccole sono le loro dimensioni, meno calore genererà il processore. Non c'è più la questione di ARM o x86 genererà meno calore.

Prestazioni del processore

ARM non è stato originariamente costruito per le massime prestazioni, questa è l'area in cui x86 eccelle. Ciò è in parte dovuto al minor numero di transistor. Ma di recente, le prestazioni dei processori ARM sono aumentate e possono già essere completamente utilizzate nei laptop o sui server.

conclusioni

In questo articolo, abbiamo esaminato come ARM differisce da x86. Le differenze sono abbastanza serie. Ma di recente, la linea tra le due architetture è stata offuscata. I processori ARM stanno diventando sempre più veloci, mentre i processori x86 stanno diventando più piccoli elemento strutturale le schede consumano meno energia e generano meno calore. Puoi già trovare il processore ARM su server e laptop e x86 su tablet e smartphone.

Cosa ne pensi di questi x86 e ARM? Quale tecnologia pensi sia il futuro? Scrivi nei commenti! A proposito, .

Per completare il video sullo sviluppo dell'architettura ARM:

Pensavano che, poiché un gruppo di studenti era riuscito a creare un processore completamente competitivo, non sarebbe stato difficile per i loro ingegneri. Un viaggio al Western Design Center di Phoenix ha mostrato agli ingegneri Steve Ferber e Sophie Wilson che non avrebbero avuto bisogno di risorse incredibili per implementare questo piano.

Wilson iniziò a sviluppare il set di istruzioni simulando il nuovo processore su un computer BBC Micro. Questo ha convinto gli ingegneri di Acorn che erano sulla strada giusta. Tuttavia, avevano bisogno di più risorse prima di andare avanti. Era ora che Wilson si avvicinasse al regista di Acorn Herman Hauser e spiegasse qual era il problema. Dopo aver dato il via libera, un piccolo team si è riunito per implementare il modello di Wilson nell'hardware.

Macchina RISC ghianda: ARM2

Il progetto ufficiale Acorn RISC Machine è iniziato nell'ottobre 1983. Tecnologia VLSI ( inglese) è stato selezionato come fornitore di silicio perché stava già fornendo all'Acorn ROM e alcuni circuiti integrati personalizzati. Lo sviluppo è stato guidato da Wilson e Ferber. Il loro obiettivo principale era quello di ottenere una bassa latenza di interrupt come la tecnologia MOS 6502. L'architettura di accesso alla memoria, presa dal 6502, ha permesso agli sviluppatori di ottenere buone prestazioni senza dover utilizzare costosi DMA per l'implementazione. Il primo processore è stato prodotto da VLSI il 26 aprile 1985, quindi ha funzionato per la prima volta ed è stato chiamato ARM1. I primi processori di produzione chiamati ARM2 sono diventati disponibili l'anno successivo.

La sua prima applicazione è stata come secondo processore presso BBC Micro, dove è stato utilizzato nello sviluppo di Software per la simulazione, che ha completato il lavoro sui microcircuiti ausiliari del computer, oltre ad accelerare il software CAD utilizzato nello sviluppo di ARM2. Wilson ha ottimizzato il set di istruzioni ARM per l'esecuzione di BBC BASIC. L'obiettivo originale di un computer completamente basato su ARM è stato raggiunto nel 1987 con il rilascio di Acorn Archimedes.

L'atmosfera che circondava il progetto ARM era così riservata che quando Olivetti stava negoziando per acquisire una quota di maggioranza in Acorn nel 1985, non parlarono dello sviluppo del progetto fino alla fine delle trattative. Nel 1992, Acorn ha vinto ancora una volta il Queen's Award per ARM.

ARM2 aveva un bus dati a 32 bit, uno spazio di indirizzi a 26 bit e 16 registri a 32 bit. Il codice del programma doveva trovarsi nei primi 64 megabyte di memoria e il contatore del programma era limitato a 26 bit, poiché i 4 bit superiori e 2 inferiori del registro a 32 bit fungevano da flag. L'ARM2 è diventato probabilmente il processore a 32 bit più semplice e popolare al mondo con solo 30.000 transistor (in confronto, il processore Motorola 68000, realizzato 6 anni prima, aveva circa 70.000 transistor). Gran parte di questa semplicità deriva dalla mancanza di microcodice (che occupa tra un quarto e un terzo dell'area del die nel processore 68000) e dalla mancanza di cache, come nel caso di molti processori dell'epoca. Questa semplicità ha comportato bassi costi energetici, mentre ARM era molto più potente dell'Intel 80286. Il suo successore, il processore ARM3, aveva già una cache di 4 KB, aumentando ulteriormente le prestazioni.

Apple, DEC, Intel: ARM6, StrongARM, XScale

I moderni smartphone, PDA e altri dispositivi portatili utilizzano principalmente la versione del kernel ARMv5. I processori XScale e ARM926 (ARMv5TE) sono ora più numerosi nei dispositivi high-tech rispetto, ad esempio, ai processori StrongARM e ai processori ARMv4 basati su ARM9TDMI e ARM7TDMI, ma meno strumenti sofisticati può utilizzare versioni precedenti con un costo di licenza inferiore. Processori ARM v6 è un taglio sopra lo standard ARMv5 in termini di prestazioni. Cortex-A è progettato specificamente per gli smartphone che in precedenza utilizzavano ARM9 e ARM11. Cortex-R è costruito per applicazioni in tempo reale, mentre Cortex-M è per microcontrollori.

Impatto della tecnologia ARM sul mercato

Entro la fine del 2012, i nuovi modelli di processori ARM di Apple e Samsung avevano raggiunto le prestazioni dei processori per notebook economici di Intel. In particolare, il tablet Samsung Nexus 10 ha ottenuto una valutazione delle prestazioni di 2348 punti, mentre il processore Intel Core Duo economico portatile Apple MacAir mostra solo una valutazione di 1982 punti.

Le aziende selezionate annunciano lo sviluppo server efficienti basato su cluster di processori ARM. Tuttavia, a partire dal 2012, le vendite di server ARM sono incredibilmente piccole (< 1% рынка серверов) .

Processori ARM

Famiglia di kernel Versione architettura Nucleo Funzioni Cache (I / D) / MMU MIPS tipico @ MHz utilizzo
ARM1 ARMv1 (obsoleto) ARM1 Non Processore ARM Evaluation System BBC Micro
ARM2 ARMv2 (obsoleto) ARM2 Aggiunto comando MUL (moltiplicazione) Non 4 MIPS a 8 MHz
0,33 DMIPS / MHz
Ghianda Archimede, Scacchiera
ARMv2a (obsoleto) BRACCIO250 MEMC (MMU) integrato, GPU, comandi SWP e SWPB (swap) aggiunti No, MEMC1a 7 MIPS a 12 MHz ghianda archimede
ARM3 ARMv2a (obsoleto) ARM2a Cache usata per la prima volta 4 KB condivisi 12 MIPS a 25 MHz
0,50 DMIPS / MHz
ghianda archimede
ARM6 ARMv3 (obsoleto) ARM60 Spazio degli indirizzi di memoria a 32 bit (non a 26 bit) introdotto per la prima volta Non 10 MIPS a 12 MHz Multigiocatore interattivo 3DO, ricevitore GPS Zarlink
ARM600 Come ARM60, coprocessore matematico in virgola mobile FPA10 4 KB condivisi 28 MIPS a 33 MHz
ARM610 Come ARM60, cache, nessun bus del coprocessore 4 KB condivisi 17 MIPS a 20 MHz
0,65 DMIPS / MHz
Acorn Risc PC 600, Apple Newton serie 100
ARM7 ARMv3 (obsoleto) ARM700 8 KB condivisi 40 MHz
ARM710 Come ARM700 8 KB condivisi 40 MHz Acorn Risc PC 700
ARM710a Come ARM700 8 KB condivisi 40 MHz
0,68 DMIPS / MHz
Acorn Risc PC 700, Apple eMate 300
ARM7100 Come ARM710a, un SoC integrato 8 KB condivisi 18 MHz Psion Serie 5
ARM7500 Come ARM710a, un SoC integrato. 4 KB condivisi 40 MHz Ghianda A7000
ARM7500FE Controller di memoria FPA ed EDO aggiunti come ARM7500, "FE" 4 KB condivisi 56 MHz
0,73 DMIPS / MHz
Acorn A7000 + computer di rete
ARM7TDMI ARMv4T ARM7TDMI (-S) Trasportatore a 3 stadi, modalità pollice Non 15 MIPS a 16,8 MHz
63 DMIPS @ 70 MHz
Game Boy Advance, Nintendo DS, Apple iPod, Lego NXT, Atmel AT91SAM7, Juice Box, NXP Semiconductors LPC2000 e LH754xx, CoreMP7 di Actel
ARM710T Come ARM7TDMI, cache 8 KB condivisi, MMU 36 MIPS a 40 MHz Psion Series 5mx, Psion Revo / Revo Plus / Diamond Mako
ARM720T Come ARM7TDMI, cache MMU condivisa da 8 KB con estensione per il cambio di contesto rapido (eng. Estensione cambio contesto rapido) 60 MIPS a 59,8 MHz Zipit Wireless Messenger, semiconduttori NXP LH7952x
ARM740T Come ARM7TDMI, cache MPU
ARMv5TEJ ARM7EJ-S Pipeline a 5 fasi, Thumb, Jazelle DBX, comandi DSP avanzati nessuno
Braccio forte ARMv4 SA-110 16 KB / 16 KB, MMU 203 MHz
1.0 DMIPS / MHz
Apple Newton serie 2x00, PC Acorn Risc, Rebel / Corel Netwinder, Chalice CATS
SA-1100 16 KB / 8 KB, MMU 203 MHz NetBook Psion
SA-1110 Come SA-110, SoC integrato 16 KB / 8 KB, MMU 206 MHz LART (computer), Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, serie Jornada 560, Palm Zire 31
ARM8 ARMv4 ARM810 Pipeline a 5 fasi, previsione del ramo statico, memoria a doppia larghezza di banda 8 KB unificato, MMU 84 MIPS a 72 MHz
1.16 DMIPS / MHz
Prototipo di scheda CPU per PC Acorn Risc
ARM9TDMI ARMv4T ARM9TDMI Trasportatore a 5 stadi, Thumb nessuno
ARM920T Come ARM9TDMI, cache 16 KB / 16 KB, MMU con FCSE (Fast Context Switch Extension) 200 MIPS a 180 MHz Armadillo, Atmel AT91SAM9, GP32, GP2X (primo core), Tapwave Zodiac (Motorola i. MX1), calcolatrici Hewlett Packard HP-49/50, Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 (HTC TyTN, FIC Neo FreeRunner), Samsung S3C2410 (dispositivi di navigazione TomTom)
ARM922T Come ARM9TDMI, cache 8 KB / 8 KB, MMU Semiconduttori NXP LH7A40x
ARM940T Come ARM9TDMI, cache 4 KB / 4 KB, MPU GP2X (secondo core), Meizu M6 Mini Player
ARM9E ARMv5TE ARM946E-S Thumb, istruzioni DSP avanzate, cache memorie variabili, strettamente accoppiate, MPU Nintendo DS, Nokia N-Gage, Canon PowerShot A470, Canon EOS 5D Mark II, chip Conexant 802.11, Samsung S5L2010
ARM966E-S Pollice, istruzioni DSP avanzate nessuna cache, TCM STM STR91xF, include Ethernet
ARM968E-S Come ARM966E-S nessuna cache, TCM Semiconduttori NXP LPC2900
ARMv5TEJ ARM926EJ-S Thumb, Jazelle DBX, istruzioni DSP avanzate variabile, MTC, MMU 220 MIPS a 200 MHz, Telefoni cellulari: Sony Ericsson (serie K, W); Siemens e Benq (serie x65 e successive); 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 - core non documentato nel chip grafico ATi Hollywood utilizzato nel Wii, Samsung S3C2412 utilizzato in Squeezebox Duet "s Controller. 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 edizione mondiale
ARMv5TE ARM996HS Processore senza clock come ARM966E-S nessuna cache, TCM, MPU
ARM10E ARMv5TE ARM1020E Pipeline a 6 fasi, Thumb, istruzioni DSP avanzate, (VFP) 32 KB / 32 KB, MMU
ARM1022E Come ARM1020E 16 KB / 16 KB, MMU
ARMv5TEJ ARM1026EJ-S Thumb, Jazelle DBX, istruzioni DSP avanzate, (VFP) variabile, MMU o MPU Western Digital MyBook II World Edition; SoC ADSL Conexant so4610 e so4615
XScale ARMv5TE 80200 / IOP310 / IOP315 Processore I/O, pollice, istruzioni DSP avanzate
80219 400/600 MHz Thecus N2100
  • Il processore Intel 80219 include un core XScale a 32 bit ad alta velocità da 400 o 600 MHz con interfaccia PCI-X a 64 bit
  • Il bus PCI / PCI-X consente la connessione di controller Gigabit Ethernet
IOP321 600 BogoMips a 600 MHz Iyonix
IOP33x
IOP34x 1-2 core, accelerazione RAID 32K / 32K L1, 512K L2, MMU
PXA210 / PXA250 Processore di applicazioni, pipeline a 7 fasi PXA210: 133 e 200 MHz, PXA250: 200, 300 e 400 MHz Zaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90
PXA255 32KB / 32KB, MMU 400 BogoMips a 400 MHz; 371-533 MIPS a 400 MHz Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad
PXA263 200, 300 e 400 MHz Sony CLIÉ NX73V, NX80V
PXA26x predefinito 400 MHz, fino a 624 MHz Palm Tungsteno T3
PXA27x Processore di applicazioni 32 KB / 32 KB, MMU 800 MIPS a 624 MHz Gumstix verdex, "Trizeps-Modules" PXA270 COM, HTC Universal, hx4700, Zaurus SL-C1000, 3000, 3100, 3200, Dell Axim serie x30, x50 e x51, Motorola Q, Balloon3, Trolltech Greenphone, Palm TX, Motorola Ezx Piattaforma 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, Trēo 650-752p, HP Zipit Navigator
PXA800 (MI) FA
PXA3XX (nome in codice "Monahans") Il PXA31x ha un hardware acceleratore grafico 32 KB / 32 KB L1, TCM, MMU 800 MIPS a 624 MHz Alex ad alto schermo
PXA900 Mora 8700, Mora Perla (8100)
IXC1100 Processore del piano di controllo
IXP2400 / IXP2800
IXP2850
IXP2325 / IXP2350
IXP42x NSLU2 IXP460 / IXP465
ARM11 ARMv6 ARM1136J (F) -S Pipeline a 8 fasi, SIMD, Thumb, Jazelle DBX, (VFP), istruzioni avanzate DSP variabile, 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 (con ARM926EJ-S integrato [e-mail protetta] MHz, utilizzato in Eten Glofiish, HTC TyTN II, HTC Nike), Freescale i.MX31 (utilizzato nell'originale Zune 30gb e 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 come si vede nell'HTC Dream, HTC Magic , Motorola ZN5, Motorola E8, Motorola VE66, Motorola Z6, HTC Hero e Samsung SGH-i627 (Propel Pro), Qualcomm MSM7227 utilizzato in ZTE Link, HTC Legend, HTC Wildfire S, LG P500, LG GT540,
ARMv6T2 ARM1156T2 (F) -S Pipeline a 9 fasi, SIMD, Thumb-2, (VFP), istruzioni avanzate DSP variabile, MPU
ARMv6KZ ARM1176JZ (FA) -S Come ARM1136EJ (FA) -S variabile, MMU + TrustZone Apple iPhone (originale e 3G), Apple iPod touch (1a e 2a generazione), Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100; Mediatek MT6573; Telechip TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410 (ad es. Samsung Moment), S3C6430
ARMv6K ARM11 MPCore Come ARM1136EJ (F) -S, 1-4 core SMP variabile, MMU Nvidia APX 2500
Famiglia di kernel Versione architettura Nucleo Funzioni Cache (I / D) / MMU MIPS tipico @ MHz Applicazioni
Corteccia ARMv7-A Cortex-LA5 VFP, NEON, Jazelle RCT e DBX, Thumb-2, trasportatore a 8 stadi, in ordine, 1-4 core SMP variabile (L1), MMU + TrustZone fino a 1500 (1,5 DMIPS/MHz) "Passero" (nome in codice ARM)
Corteccia-A8 VFP, NEON, Jazelle RCT, Thumb-2; Pipeline a 13 stadi, in ordine, 2 decoder variabile (L1 + L2), MMU + TrustZone fino a 2000 (2.0 DMIPS/MHz in velocità da 600 MHz a maggiore di 1 GHz) TI serie OMAP3xxx, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone 3GS, Apple iPod touch (3a generazione), Apple iPad (processore Apple A4), Apple iphone 4 (processore 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, sistema ZiiLABS ZMS-08 su un chip, Boxchip A13
Corteccia-LA9 Profilo dell'applicazione, (VFP), (NEON), Jazelle RCT e DBX, Thumb-2, problema speculativo fuori ordine superscalare (2 decoder); 9-12 fasi del trasportatore MMU + TrustZone 2,5 DMIPS / MHz Apple iPhone 4S, Apple iPad 2 (Apple A5), MediaTek MT6575 / 6515M
Cortex-A9 MPCore Come Cortex-A9, 1-4 core SMP MMU + TrustZone 10.000 DMIPS @ 2 GHz su Performance Optimized TSMC 40G (quad core?) (2,5 DMIPS / MHz per core) PlayStation® Vita, TI OMAP4430 / 4440, ST-Ericsson U8500, Nvidia Tegra2, Samsung Exynos 4210, MediaTek MT6577 / 6517
Cortex-A15 MPCore 1-32 core SMP; Superscalare fuori ordine (3 decoder); 15+ fasi del trasportatore; VFPv4, NEON MMU, LPAE 3.5 DMIPS/MHz/Core; 1,0 GHz - 2,5 GHz (@ 28 nm)
Cortex-A7 MPCore FPU, NEON; In ordine (1 decoder); 8 fasi del trasportatore. MMU, LPAE 1.9 DMIPS/MHz/CPU; 0,8-1,5 GHz (@ 28 nm) (Broadcom, Freescale, HiSilicon, LG, Samsung, STEricsson, Texas Instruments, MediaTek)
ARMv7-R Corteccia-R4 (F) Profilo integrato, Thumb-2, (FPU) cache variabile, MPU opzionale 600 DMIPS a 475 MHz Broadcom è un utente, TI TMS570
ARMv7-ME Cortex-M4 (nome in codice "Merlino") Profilo del microcontrollore, sia Thumb che Thumb-2, FPU. Hardware MAC, SIMD e istruzioni di divisione MPU opzionale 1,25 DMIPS / MHz Semiconduttori NXP
ARMv7-M Cortex-M3 Profilo del microcontrollore, solo Thumb-2. Istruzioni per la divisione hardware nessuna cache, MPU opzionale 125 DMIPS @ 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 (nome in codice "Swift") Profilo del microcontrollore, sottoinsieme Thumb-2 (istruzioni Thumb a 16 bit e BL, MRS, MSR, ISB, DSB e DMB) Nessuna cache 0,9 DMIPS / MHz NXP Semiconductor NXP LPC1100, Triad Semiconductor, Melfas, Chungbuk Technopark, Nuvoton, austriamicrosystems, Milandr K1986BE2T
Cortex-M1 FPGA mirato, profilo microcontrollore, sottoinsieme Thumb-2 (istruzioni Thumb a 16 bit e BL, MRS, MSR, ISB, DSB e DMB) Nessuno, memoria strettamente accoppiata opzionale Fino a 136 DMIPS a 170 MHz (0,8 DMIPS / MHz, MHz realizzabile dipendente da FPGA) Sono supportati anche i dispositivi Actel ProASIC3, ProASIC3L, IGLOO e Fusion PSC, Altera Cyclone III e altri prodotti FPGA, ad es. Sinplicity
Famiglia di kernel Versione architettura Nucleo Funzioni Cache (I / D) / MMU MIPS tipico @ MHz Applicazioni

Architettura

Esiste da tempo un manuale di riferimento per l'architettura ARM che delinea tutti i tipi di interfaccia supportati da ARM, poiché i dettagli di implementazione per ciascun tipo di processore possono differire. L'architettura si è evoluta nel tempo e da quando ARMv7 sono stati definiti 3 profili: "A" (applicazione) per applicazioni, "R" (tempo reale) per tempo reale, "M" (microcontrollore) per microcontrollore.

I profili possono supportare meno comandi (comandi di un certo tipo).

modalità

Il processore può trovarsi in una delle seguenti modalità operative:

  • Modalità utente- modalità di esecuzione normale del programma. La maggior parte dei programmi viene eseguita in questa modalità.
  • Fast Interrupt (FIQ) - modalità di interruzione rapida (tempo di risposta più breve)
  • Interrupt (IRQ) è la modalità di interruzione principale.
  • La modalità di sistema è una modalità protetta per l'utilizzo da parte del sistema operativo.
  • Modalità di interruzione: la modalità a cui il processore passa quando si verifica un errore durante l'accesso alla memoria (accesso ai dati o alle istruzioni nella fase di prelettura della pipeline).
  • Modalità supervisore - modalità utente privilegiato.
  • Modalità non definita: la modalità in cui il processore entra quando tenta di eseguire un'istruzione sconosciuta.

La commutazione della modalità del processore si verifica quando si verifica un'eccezione corrispondente o modificando il registro di stato.

Set di comandi

Per mantenere il design pulito, semplice e veloce, la fabbricazione ARM originale è stata eseguita senza microcodice, così come il più semplice processore 6502 a 8 bit utilizzato nei precedenti microcomputer di Acorn Computers.

Set di istruzioni ARM

La modalità in cui viene eseguito il set di istruzioni a 32 bit.

Set di comandi per il pollice

Per migliorare la densità del codice, i processori a partire da ARM7TDMI sono dotati di una modalità "pollice". In questa modalità, il processore esegue un insieme alternativo di istruzioni a 16 bit. La maggior parte di queste istruzioni a 16 bit si traduce in normali istruzioni ARM. La riduzione della lunghezza dell'istruzione si ottiene nascondendo alcuni operandi e limitando le capacità di indirizzamento rispetto alla modalità set di istruzioni ARM completa.

In modalità Thumb, gli opcode più piccoli hanno meno funzionalità. Ad esempio, solo i rami possono essere condizionali e molti codici operativi sono limitati all'accesso solo alla metà dei registri del processore principale. Codici operativi più brevi generalmente comportano una maggiore densità di codice, sebbene alcune operazioni richiedano istruzioni aggiuntive. In situazioni in cui la porta di memoria o la larghezza del bus è limitata a 16 bit, gli opcode Thumb più brevi diventano molto più efficienti del normale codice ARM a 32 bit, poiché il più piccolo codice programma dovrà caricare nel processore con larghezza di banda di memoria limitata.

L'hardware di tipo Game Boy Advance tende ad essere piccolo memoria ad accesso casuale disponibile con un canale dati completo a 32 bit. Ma la maggior parte delle operazioni viene eseguita su un canale dati a 16 bit o più stretto. In questo caso, ha senso utilizzare il thumb code e ottimizzare manualmente alcune sezioni pesanti del codice passando alle istruzioni ARM complete a 32 bit.

Il primo processore con un decodificatore a levetta è stato l'ARM7TDMI. Tutti i processori della famiglia ARM9, così come XScale, avevano un decodificatore di comandi pollice integrato.

Set di comandi Thumb-2

Thumb-2 è una tecnologia iniziata con il core ARM1156, annunciato nel 2003. Estende il set di istruzioni Thumb a 16 bit limitato con istruzioni aggiuntive a 32 bit per dare al set di istruzioni una larghezza extra. L'obiettivo di Thumb-2 è ottenere una densità di codice simile a Thumb e prestazioni del set di istruzioni ARM a 32 bit. Possiamo dire che in ARMv7 questo obiettivo è stato raggiunto.

Thumb-2 estende sia le istruzioni ARM che Thumb con ancora più istruzioni, incluso il controllo del campo di bit, la ramificazione tabulare, l'esecuzione condizionale. Nuova lingua L'Unified Assembly Language (UAL) supporta la generazione di istruzioni sia per ARM che per Thumb dallo stesso codice sorgente. Le versioni ARMv7 di Thumb assomigliano al codice ARM. Ciò richiede cautela e uso. nuova squadra if-then, che supporta l'esecuzione di un massimo di 4 comandi consecutivi dello stato in prova. Al momento della compilazione del codice ARM, viene ignorato, ma al momento della compilazione del codice Thumb-2 genera i comandi. Ad esempio:

; if (r0 == r1) CMP r0, r1 ITE EQ ; ARM: nessun codice... Thumb: istruzioni IT; allora r0 = r2; MOVEQ r0, r2 ; BRACCIO: condizionale; Pollice: condizione tramite ITE "T" (poi); altrimenti r0 = r3; MOVNE r0, r3 ; BRACCIO: condizionale; Pollice: condizione tramite ITE "E" (else) ; ricorda che l'istruzione Thumb MOV non ha bit per codificare "EQ" o "NE"

Tutti i chip ARMv7 supportano il set di istruzioni Thumb-2 e alcuni chip, come il Cortex-m3, supportano solo Thumb-2. Il resto dei chip Cortex e ARM11 supportano sia i set di istruzioni Thumb-2 che ARM.

Set di comandi Jazelle

Estensioni di sicurezza

Le estensioni di sicurezza commercializzate come TrustZone Technology si trovano in ARMv6KZ e in altre architetture con profili applicativi più recenti. Fornisce un'alternativa a basso costo all'aggiunta di un motore di sicurezza dedicato fornendo 2 processori virtuali supportati dal controllo dell'accesso all'hardware. Ciò consente al kernel dell'applicazione di passare tra due stati chiamati "mondi" (per evitare confusione con i nomi di possibili domini) per evitare che le informazioni trapelano da un mondo più importante a uno meno importante. Questo interruttore del mondo è solitamente ortogonale a tutte le altre capacità del processore. Pertanto, ogni mondo può operare indipendentemente da altri mondi utilizzando lo stesso nucleo. La memoria e le periferiche sono progettate in modo appropriato tenendo presente il mondo del kernel e possono utilizzarlo per ottenere il controllo sull'accesso ai segreti e ai codici del kernel. Le tipiche applicazioni TrustZone Technology dovrebbero eseguire un sistema operativo completo in un mondo meno importante e un codice più snello e specifico per la sicurezza in un mondo più importante, consentendo al Digital Rights Management un controllo molto più preciso sull'utilizzo dei media su dispositivi basati su ARM e prevenendo accesso al dispositivo. ...

In pratica, poiché i dettagli specifici dell'implementazione di TrustZone rimangono di proprietà dell'azienda e non vengono divulgati, non è chiaro quale livello di sicurezza sia garantito per questo modello di minaccia.

Debug

Qualunque cosa processori moderni ARM include il debug hardware, perché senza di essi, i debugger software non sarebbero in grado di eseguire le operazioni di base come l'arresto, il rientro, l'impostazione dei punti di interruzione dopo il riavvio.

L'architettura ARMv7 definisce gli strumenti di debug sottostanti a livello di architettura. Questi includono punti di interruzione, punti di vista ed esecuzione di comandi in modalità debug. Tali strumenti erano disponibili anche con il modulo di debug EmbeddedICE. Sono supportate entrambe le modalità: fermati e naviga. Il meccanismo di trasporto effettivo utilizzato per accedere agli strumenti di debug non è specificato dall'architettura, ma l'implementazione in genere include il supporto JTAG.

Esiste un'architettura di debug "vista kernel" separata che non è richiesta dall'architettura dai processori ARMv7.

Registri

ARM fornisce 31 registri per scopi generici a 32 bit. A seconda della modalità e dello stato del processore, l'utente ha accesso solo a un insieme di registri strettamente definito. Nello stato ARM, 17 registri sono costantemente disponibili per lo sviluppatore:

  • 13 registri generali (r0..r12).
  • Stack Pointer (r13) - contiene il puntatore allo stack del programma in esecuzione.
  • Registro di collegamento (r14) - contiene l'indirizzo di ritorno nelle istruzioni di diramazione.
  • Program Counter (r15) - i bit contengono l'indirizzo dell'istruzione in esecuzione.
  • Current Program Status Register (CPSR): contiene flag che descrivono lo stato corrente del processore. Modificato quando vengono eseguite molte istruzioni: logiche, aritmetiche, ecc.

In tutte le modalità eccetto la modalità Utente e la modalità Sistema, è disponibile anche il registro di stato del programma salvato (SPSR). Dopo che si verifica un'eccezione, il registro CPSR viene archiviato in SPSR. Pertanto, lo stato del processore (modalità, stato; flag di aritmetica, operazioni logiche, abilitazione dell'interruzione) è fissato nel momento immediatamente prima dell'interruzione.

usr sistema svc circa 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

Lavorare con la memoria

Sistemi di I/O supportati

La maggior parte dei modelli di microprocessori esistenti implementa il bus PCI e la capacità di lavorare con la memoria dinamica ad accesso casuale (DRAM) esterna. I processori progettati per i dispositivi consumer di solito integrano anche: controller bus USB, IIC, dispositivo audio compatibile con AC'97, dispositivo per lavorare con supporti flash SD e MMC, controller per porta seriale.

Tutti i processori hanno linee I/O per uso generale (GPIO). Nei dispositivi consumer, possono essere collegati a pulsanti di "avvio rapido", LED di segnalazione, rotella di scorrimento (JogDial), tastiera.

Processo di avvio del sistema operativo su macchine ARM

Supporto per sistemi simili a Unix

L'architettura ARM è supportata dai sistemi operativi Unix e Unix-like GNU/Linux, BSD, QNX, Plan 9, Inferno, Solaris, Mac OS X, iOS, WebOS e Android.

Linux

Le seguenti distribuzioni supportano i processori ARM:

BSD

I seguenti derivati ​​BSD supportano i processori ARM:

Solaris

Supporto per altri sistemi operativi

Sistemi operativi che girano su ARM: ReactOS, FreeRTOS, Nucleus, Symbian OS, Windows CE, RISC OS, Windows RT.

Licenziatari ARM e costo stimato della licenza

ARM non produce o vende processori su misura, ma concede in licenza i processori ai partner interessati. ARM offre un'ampia varietà di termini di licenza che variano in termini di costi e dettagli. Per tutti i titolari di licenza, ARM fornisce una descrizione della parte hardware del kernel, nonché un set completo di strumenti di sviluppo software (compilatore, debugger), nonché il diritto di vendere processori ARM prodotti. Alcuni clienti sono impegnati nella produzione di processori per società terze.

Il rapporto annuale 2006 di ARM riporta che la licenza di 2,5 miliardi di unità (processori) ha generato $ 161 milioni. Ciò equivale a $ 0,067 per unità. Tuttavia, questa è una cifra molto media: include le licenze per i nuovi processori molto costosi e i vecchi processori economici.

Note (modifica)

  1. "ARMATO per il soggiorno".
  2. "Intervista a Steve Furber"
  3. Samsung Nexus 10 - Browser Geekbench
  4. MacBook Air - Browser Geekbench
  5. Benchmark Apache per il server Web da 5 Watt di Calxeda - Server ARM, ora!
  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" Presentazione di ARM Holdings a Hot Chips 1996-08-07.
  8. Registro 13, registro PID FCSE ARM920T Manuale di riferimento tecnico
  9. Neo1973: confronto tra GTA01Bv4 e GTA02. Archiviato dall'originale il 13 marzo 2012. URL consultato il 15 novembre 2007.
  10. S3C2410. Archiviato dall'originale il 13 marzo 2012. URL consultato il 13 gennaio 2010.
  11. Rockbox Samsung serie SA58xxx. Archiviato
  12. Porta Rockbox Meizu M6 - Informazioni sull'hardware. Archiviato dall'originale il 13 marzo 2012. URL consultato il 22 febbraio 2008.
  13. Schede tecniche - Wiki del firmware della Lanterna Magica
  14. Microcontrollore STR9 - STR912 - STR912FW44 - pagina download documenti e file. Mcu.st.com. (collegamento non disponibile - storia) Estratto il 18 aprile 2009.
  15. stellina.
  16. Benchmark - Albatros. Albatross-uav.org (18 giugno 2005). (collegamento non disponibile - storia) Estratto il 18 aprile 2009.
  17. ARM1136J (F) -S - Processore ARM. Arm.com. Archiviato
  18. Chip Qualcomm kernel ARM - dai telefoni ai laptop. xi0.info. Archiviato
  19. Chipset Qualcomm MSM7227 RISC. pdadb.net. Archiviato dall'originale il 13 marzo 2012. URL consultato l'8 maggio 2010.
  20. GoForce 6100. Nvidia.com. Archiviato dall'originale il 13 marzo 2012. URL consultato il 18 aprile 2009.
  21. Mediatek MT6573. http://www.mediatek.com. ; Archiviato dall'originale il 6 giugno 2012. URL consultato il 18 aprile 2009.
  22. Processori ARM Samsung serie S3C6410 e S3C6430. Samsung. Estratto l'8 ottobre 2009., e il Qualcomm MSM7627 come si vede nel Palm Pixi e Motorola Calgary / Devour
  23. Merrit, Rick"ARM si estende con core A5, grafica, FPGA". EE Times (21 ottobre 2009). Archiviato dall'originale il 13 marzo 2012. URL consultato il 28 ottobre 2009.
  24. Clarke, Peter ARM consiglia i piani per i core del processore Swift e Sparrow. EE Times (3 febbraio 2009). Archiviato dall'originale il 13 marzo 2012. URL consultato il 18 aprile 2009.
  25. Segan, Sascha ARM "s Multicore Chips Aim for Netbooks. PC Magazine (9 aprile 2009). URL consultato il 18 aprile 2009 (archiviato dall' url originale il 13 marzo 2012).
  26. http://pc.watch.impress.co.jp/video/pcw/docs/423/409/p1.pdf
  27. Processore Cortex-A15 - ARM
  28. Processore Cortex-A7 - ARM
  29. Benz, Benjamin Cortex Nachwuchs presso ARM. Heise.de.2 febbraio 2010. Archiviato dall'originale il 13 marzo 2012. URL consultato il 3 maggio 2010.
  30. Clarke, Peter ARM prepara un minuscolo core per microcontrollori a bassa potenza. EE Times (23 febbraio 2009). Archiviato dall'originale il 13 marzo 2012. URL consultato il 30 novembre 2009.
  31. Walko, John NXP è il primo a provare il silicio ARM Cortex-M0. EE Times (23 marzo 2009). Archiviato dall'originale il 13 marzo 2012. URL consultato il 29 giugno 2009.
  32. VCA alimentati da ARM "Triad Semiconductor
  33. Cortex-M0 utilizzato in controller touch a bassa potenza - 06/10/2009 - Electronics Weekly
  34. Chungbuk Technopark sceglie il processore ARM Cortex-M0
  35. Google Traduttore
  36. Austriamicrosystems sceglie il processore ARM Cortex-M0 per applicazioni a segnale misto
  37. "ARM Extends Cortex Family with First Processor Optimized for FPGA", comunicato stampa ARM, 19 marzo 2007. URL consultato l'11 aprile 2007.

Processori ARM: cosa sono e con cosa vengono mangiati. La comparsa sul mercato di processori mobili ad alte prestazioni è stata per molti versi una vera svolta rivoluzionaria. Possiamo dire che per la prima volta è apparso un concorrente significativo nell'architettura x86, che se nelle prime fasi occupava solo una nicchia vicina, oggi sta iniziando a premere seriamente la posizione di un longevo dell'industria informatica.

Ma qual è la differenza? Che cos'è l'architettura ARM e in cosa è diversa da x86? In quest'ultimo utilizzato in Processori Intel e AMD, viene utilizzato il set di istruzioni CISC. L'elaborazione basata su di essi è molto funzionale, apre spazio a programmatori e sviluppatori di hardware, ma richiede una notevole quantità di risorse energetiche. L'essenza di CISC, in parole povere, è che ogni comando in arrivo viene decodificato nell'elemento più semplice e solo successivamente elaborato.

Questo non è il caso di ARM. Funziona sulla base dei comandi RISC, che contengono già un insieme già pronto di elementi semplici. Ciò riduce la flessibilità del processore, ma la velocità di elaborazione dei dati aumenta in modo significativo e, di conseguenza, riduce il consumo energetico di tale processore.

Quindi, risulta che x86 è un'architettura universale adatta a risolvere molti problemi, mentre ARM richiede un affinamento più fine dell'hardware e le possibilità di tale architettura sono un po' più limitate. Tuttavia, le capacità di ARM stanno diventando più ambiziose. Già, tali processori sono adatti per lo standard lavoro d'ufficio, riproduzione di contenuti multimediali, lavoro su Internet.

ARM si sta sviluppando rapidamente, il che è facilitato anche dal fatto che decine di marchi competitivi stanno lavorando a questa tecnologia per il franchising, mentre solo due società stanno lavorando all'architettura x86, i cui rappresentanti dicono quasi direttamente che il segmento è stagnante ... e non puoi dire questo di ARM.

Parlando di cosa sono i chip ARM, si dovrebbe notare un momento come la complessità dei moderni sistemi mobili proposti. ARM non è solo un processore. Di norma include: un controller RAM, un acceleratore grafico, un decoder video, un codec audio e moduli opzionali senza fili... Tale sistema è chiamato single-chip. In altre parole, ARM è un chip su un chip.

ARM ha attualmente diverse generazioni di processori:

ARM9... I chip ARM9 possono raggiungere frequenza di clock 400MHz. Questi chip sono obsoleti, ma sono ancora richiesti. Ad esempio, nei router wireless e nei terminali di pagamento. L'insieme di semplici comandi di un tale chip semplifica l'esecuzione di molte applicazioni Java.

ARM11... I processori ARM11 vantano un set più completo di semplici istruzioni che ne estendono le funzionalità e un'elevata velocità di clock (fino a 1 GHz). A causa del loro basso consumo energetico e del basso costo, i chip ARM11 sono ancora utilizzati negli smartphone entry-level.

ARMv7. I moderni chip dell'architettura ARM appartengono alla famiglia ARMv7, i cui rappresentanti di punta hanno già raggiunto il segno di otto core e una velocità di clock di oltre 2 GHz. I core del processore sviluppati direttamente da ARM Limited appartengono alla linea Cortex e vengono utilizzati dalla maggior parte dei SoC senza modifiche significative.

BRACCIO Cortex-A8. Storicamente, il primo core del processore della famiglia ARMv7 era Cortex-A8, che ha costituito la base per SoC famosi del suo tempo come l'Apple A4 (iPhone 4 e iPad) e il Samsung Hummingbird (Samsung Galaxy S e Galaxy Tab). Dimostra circa il doppio alta produttività rispetto al precedente ARM11 e, ahimè, un consumo energetico maggiore, che rende questo chip estremamente impopolare oggi.

BRACCIO Cortex-A9. Dopo Cortex-A8, ARM Limited ha introdotto una nuova generazione di chip: Cortex-A9, che ora è il più diffuso e occupa la nicchia di prezzo medio. Le prestazioni dei core Cortex-A9 sono aumentate di circa tre volte rispetto al Cortex-A8, e c'è anche l'opportunità di combinarli di due o addirittura quattro su un chip.

BRACCIO Cortex-A5 e Cortex-A7. Durante la progettazione dei core del processore Cortex-A5 e Cortex-A7, ARM Limited ha perseguito lo stesso obiettivo: raggiungere un compromesso tra il consumo energetico minimo dell'ARM11 e le prestazioni accettabili del Cortex-A8. Non hanno dimenticato la possibilità di combinare due o quattro core: i chip multi-core Cortex-A5 e Cortex-A7 stanno gradualmente comparendo in vendita (Qualcomm MSM8625 e MTK 6589).

BRACCIO Cortex-A15. Core del processore Cortex-A15 è diventato una logica continuazione di Cortex-A9: di conseguenza, i chip dell'architettura ARM per la prima volta nella storia sono riusciti a confrontare approssimativamente la velocità con Intel Atom, e questo è già un grande successo. Non per niente Canonical's requisiti di sistema alla versione del sistema operativo Ubuntu Touch con multitasking completo indicato un processore ARM Cortex-A15 dual-core o simile Intel Atom.

Patatine fritte BRACCIO ci attende un grande futuro. Il numero di comandi, la frequenza di funzionamento, il numero di core stanno crescendo attivamente e il consumo energetico rimane a un livello basso. In futuro, i chip ARM diventeranno adatti per il multitasking a pieno formato, che ora è peculiare solo dei sistemi x86. Tuttavia, anche con le condizioni dell'attuale vettore di sviluppo, è troppo presto per dire che il segmento dell'elettronica di consumo passerà completamente ai chip ARM. E il punto qui è, prima di tutto, nel prezzo. Il costo dei chip mobili sta crescendo in modo esponenziale, mentre x86 continua a scendere di prezzo. È il fattore prezzo, insieme alla differenza di funzionalità, che sarà in qualche modo superato, e c'è una previsione abbastanza comprensibile che i sistemi ARM sviluppati non vinceranno presto una vittoria incondizionata nella corsa per il loro consumatore ...

Principali articoli correlati