Debian

Differenza tra ARM64, ARMel e ARMhf

Differenza tra ARM64, ARMel e ARMhf

La maggior parte di noi, mentre cerca di acquistare un nuovo smartphone, tablet o qualsiasi gadget elettronico, vede il termine processore "ARM vXXX" nell'elenco delle specifiche. Ma difficilmente ci preoccupiamo di sapere cos'è un processore ARM. Quindi in questa guida esploreremo in breve i processori ARM.

Che cos'è ARM comunque??

ARM o Advanced RISC Machines o Acorn RISC Machine (nome precedente) è uno dei core del processore più utilizzati al mondo. Il processore ARM è diventato il primo processore RISC commerciale nel 1985. La prima versione era una macchina RISC a 26 bit. Con la sua seconda versione nel 1987, la versione 2 di ARM ha introdotto la funzione di coprocessore. Nel tempo i processori del braccio si sono evoluti molto. La società ARM fornisce licenze a pagamento a chiunque desideri produrre CPU o prodotti SOC in base alla propria architettura. ARM Holdings, con sede a Cambridge, Regno Unito, è responsabile di questa attività in entrata e in uscita. Apple, Qualcomm, Texas Instruments, Nvidia, Samsung, eccetera., sono alcuni dei consumatori importanti della famiglia ARM.

I processori ARM sono utilizzati principalmente nei dispositivi mobili e nei sistemi embedded. Sono di piccole dimensioni e hanno un basso consumo energetico, ma allo stesso tempo offrono prestazioni elevate. Il punto di considerazione è il problema del design, poiché il software progettato per ARM non può essere eseguito su dispositivi non ARM. È proprio come due persone con lingue diverse non riescono a capire cosa sta parlando l'altro.

Caratteristiche del processore ARM

  1. Basato su RISC o calcolo del set di istruzioni ridotto.
  2. Dimensioni fisse e set di istruzioni uniformi.
  3. Supporto di pipeline a più fasi per l'istruzione.
  4. Supporta un'ampia gamma di frequenze.
  5. Esecuzione di byte-code Java.
  6. Ottimizzato per l'utilizzo della batteria nei dispositivi mobili.

In senso lato, l'architettura ARM ha tre tipi di profili:

UN-profilo o profilo dell'applicazione

R-profilo o profilo in tempo reale

M-profilo o profilo del microcontrollore

Perché ARM è utilizzato da Tech Giants?

Per molto tempo, ARM è stato considerato il processore per i dispositivi mobili, con  x86/x64 come processore di destinazione per desktop e server. Ma con l'evoluzione delle tecnologie, i processori ARM vengono utilizzati per i tablet. Prua, testa.g., Windows 10 precedente può essere eseguito solo su  processori basati su x86 e x64, ma il desktop Windows 10 recente può essere eseguito su processori basati su architettura ARM64. Microsoft ha assicurato la compatibilità delle applicazioni per le applicazioni basate su x86 e x64 per funzionare senza problemi sui PC basati su ARM64. Sebbene le applicazioni basate su ARM32 e ARM64 verranno eseguite direttamente, l'applicazione basata su x86 richiederà l'emulazione per essere eseguita.

Alcune versioni di Windows come Windows 8 richiedono un processore x86 o x64, mentre Windows RT richiede un processore ARM. Sebbene x86/x64 siano molto veloci rispetto al processore ARM, consumano molta energia. Pertanto sono più adatti per server e computer desktop. Allo stesso tempo, il processore ARM è relativamente lento ma richiede poca energia per funzionare. Questo li rende più adatti per i dispositivi mobili con Android, IOS, ecc.

Apple ha annunciato di spostare la sua serie MAC da Intel a  SoC e processori SiP, basati su architettura ARM. Secondo Apple, con i processori ARM, offriranno prestazioni combinate con una lunga durata della batteria. I chip Apple Silicon sono i primi chip basati su Arm progettati da Apple ad essere utilizzati nei recenti MacBook Air, MacBook Pro e Mac mini.

I tre port Debian ARM: Debian/armel, Debian/armhf e Debian/arm64

Debian/armhf è l'acronimo di “braccio galleggiante duro,” che rappresenta un port su Debian.  Il port Debian armhf è stato avviato a beneficio dell'unità in virgola mobile (FPU) sulle moderne schede ARM a 32 bit.

Per i requisiti di precisione critici nelle applicazioni basate sull'elaborazione e l'elaborazione di segnali digitali (DSP), la virgola mobile è particolarmente adatta. Una CPU ARMv7  con la versione 3 della specifica a virgola mobile vettoriale ARM (VFPv3) è il requisito minimo per la porta Debian armhf.

Viene utilizzato principalmente per dispositivi mobili (smartphone, tablet) e dispositivi embedded.

È noto che diverse piattaforme sono supportate da Debian/armhf:

  1. Scheda di avvio rapido Freescale MX53: la i.La scheda di avvio rapido MX53 ha un processore Arm Cortex-A8 da 1 GHz. È una piattaforma open source per lo sviluppo.
  2. NVIDIA Jetson TK1: è una scheda per sviluppatori con CPU ARM Cortex-A15 a 32 bit.
  3. SolidRun Cubox-i4Pro: la serie Cubox-i è una piccola piattaforma di calcolo. Cubox-i4Pro dispone di un processore ARM Cortex A9.

Altre piattaforme supportate includono Wandboard, Seagate Personal Cloud e Seagate NAS, SolidRun Cubox-i2eX tec. La piattaforma EfikaMX era precedentemente supportata fino a Debian 7, ma da Debian 8 il supporto è abbandonato.

Debian/armel o BRACCIO EABI o Porta ABI integrata su Debian era rivolto ai vecchi processori ARM a 32 bit. Non ha un supporto hardware per unità a virgola mobile (FPU). ARM EABI o armel dovrebbe funzionare con le versioni dell'architettura ARM 4T, 5T e successive, ma con il rilascio di Debian 10 (buster), il supporto ARM4T viene rimosso.

Secondo Oracle, l'armel to armhf è in corso, quindi potrebbero esserci delle incompatibilità tra di loro. Per verificare se il tuo sistema esegue armhf o armel, esegui il comando seguente sul tuo terminale Linux:

$ readelf -A /proc/self/exe | grep Tag_ABI_VFP_args

Se il comando precedente restituisce un tag Tag_ABI_VFP_args, allora è un sistema armhf, mentre un output vuoto mostra che si tratta di un sistema armel. Prua, testa.g., una distribuzione raspberry restituirà un tag_ABI_VFP_args: VFP registers tag in quanto è una distribuzione armhf. D'altra parte, una distribuzione Debian Wheezy soft-float darà un output vuoto, indicando che è una distribuzione armel.

Il seguente elenco contiene le varie piattaforme supportate da Debian/armel:

  1. SoC Kirkwood e Orion5x di Marvell con una CPU ARM.
  2. Piattaforma versatile con emulatore QEMU.

Debian/arm64 prende di mira  i processori ARM a 64 bit, che richiedono un'architettura ARMv8 minima. L'elaborazione a 64 bit fornisce una capacità di elaborazione avanzata. Questo miglioramento dell'elaborazione si ottiene con un aumento della capacità di indirizzamento della memoria nell'architettura a 64 bit.  L'hardware Arm64 è stato lanciato per la prima volta per iPhone 5 nell'anno 2013. Il nome gnu per ARM64 è aarch64-linux-gnu. La cosa buona di ARM64 è che è compatibile con il suo predecessore a 32 bit. Questo aiuta a eseguire i binari o il software ARMv7 senza alcuna modifica sull'architettura ARMv8.

Debian ha rilasciato la porta ARM64 per la prima volta nel suo sistema operativo Debian 8 (Jessie). L'elenco delle varie piattaforme supportate da Debian/ARM è riportato di seguito:

  1. Applied Micro (APM) Mustang/X-Gene: è la prima piattaforma conosciuta con architettura ARMv8 con CPU a 8 core.
  2. ARM Juno Development Platform: secondo ARM, Juno Arm Development Platform è uno sviluppo Armv8 aperto e indipendente dal fornitore con una CPU ARMv8-A a 6 core.

Esempi di dispositivi che utilizzano l'architettura ARM64 includono Raspberry Pi 2,  Raspberry Pi 3, Microsoft HoloLens 2, DragonBoard, diversi dispositivi IoT, laptop e desktop moderni, smartphone e così via

Controllo del tipo di processore della tua scheda.

Per controllare il tipo di processore su una macchina Ubuntu, usa semplicemente il seguente comando:

$ dpkg -architettura di stampa

Per un elenco dettagliato delle varie funzionalità della CPU, utilizzare il seguente comando:

$ cat /proc/cpuinfo[//c]
Un altro comando che puoi usare per vedere l'architettura del processore del tuo sistema è dato di seguito:
[cc lang = "bash" larghezza = "100%" altezza = "100%" escape = "vero" tema = "lavagna"]
$ uname -a
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...
Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...