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
|
||||
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)
- "ARMATO per il soggiorno".
- "Intervista a Steve Furber"
- Samsung Nexus 10 - Browser Geekbench
- MacBook Air - Browser Geekbench
- Benchmark Apache per il server Web da 5 Watt di Calxeda - Server ARM, ora!
- http://www.apm.com/global/x-gene/docs/2012_03_OPP%20Cloudy%20with%20a%20Chance%20of%20ARM.pdf
- "ARM810 - Dancing to the Beat of a Different Drum" Presentazione di ARM Holdings a Hot Chips 1996-08-07.
- Registro 13, registro PID FCSE ARM920T Manuale di riferimento tecnico
- Neo1973: confronto tra GTA01Bv4 e GTA02. Archiviato dall'originale il 13 marzo 2012. URL consultato il 15 novembre 2007.
- S3C2410. Archiviato dall'originale il 13 marzo 2012. URL consultato il 13 gennaio 2010.
- Rockbox Samsung serie SA58xxx. Archiviato
- Porta Rockbox Meizu M6 - Informazioni sull'hardware. Archiviato dall'originale il 13 marzo 2012. URL consultato il 22 febbraio 2008.
- Schede tecniche - Wiki del firmware della Lanterna Magica
- Microcontrollore STR9 - STR912 - STR912FW44 - pagina download documenti e file. Mcu.st.com. (collegamento non disponibile - storia) Estratto il 18 aprile 2009.
- stellina.
- Benchmark - Albatros. Albatross-uav.org (18 giugno 2005). (collegamento non disponibile - storia) Estratto il 18 aprile 2009.
- ARM1136J (F) -S - Processore ARM. Arm.com. Archiviato
- Chip Qualcomm kernel ARM - dai telefoni ai laptop. xi0.info. Archiviato
- Chipset Qualcomm MSM7227 RISC. pdadb.net. Archiviato dall'originale il 13 marzo 2012. URL consultato l'8 maggio 2010.
- GoForce 6100. Nvidia.com. Archiviato dall'originale il 13 marzo 2012. URL consultato il 18 aprile 2009.
- Mediatek MT6573. http://www.mediatek.com. ; Archiviato dall'originale il 6 giugno 2012. URL consultato il 18 aprile 2009.
- 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
- 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.
- 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.
- 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).
- http://pc.watch.impress.co.jp/video/pcw/docs/423/409/p1.pdf
- Processore Cortex-A15 - ARM
- Processore Cortex-A7 - ARM
- Benz, Benjamin Cortex Nachwuchs presso ARM. Heise.de.2 febbraio 2010. Archiviato dall'originale il 13 marzo 2012. URL consultato il 3 maggio 2010.
- 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.
- 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.
- VCA alimentati da ARM "Triad Semiconductor
- Cortex-M0 utilizzato in controller touch a bassa potenza - 06/10/2009 - Electronics Weekly
- Chungbuk Technopark sceglie il processore ARM Cortex-M0
- Google Traduttore
- Austriamicrosystems sceglie il processore ARM Cortex-M0 per applicazioni a segnale misto
- "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 ...