Arhitectura ARM
Arhitectura ARM (Advanced RISC Machine) inițial cunoscută sub numele de Acorn RISC Machine, este o arhitectură de microprocesoare de tip RISC (Reduced Instruction Set Computer) 32-bit și 64-bit introduse în 1983 de Acorn Computers și dezvoltate de ARM Holdings începând cu 1990.
Arhitectura ARM a devenit una dintre cele mai utilizate arhitecturi de calculatoare datorită consumului redus de energie, performanței sale ridicate în rezolvarea sarcinilor mici și multiple simultan, a costurilor și a dimensiunilor reduse. Este utilizată în mare măsură în smartphone-uri, sisteme înglobate, servere, supercomputere etc.[1]
Istoric ARM
- 1978 - este înființată în Cambridge, Marea Britanie compania Acorn Computers Ltd.
- 1981 - Acorn produce BBC Micro, un calculator educațional foarte popular. Acorn BBC Micro a folosit microprocesorul MOS 6502 pe 8-bit, 2 MHz.
- 1983 - Acorn a format Advanced Research and Development Group, și proiectul Acorn RISC Machine.
- 1985 - ARMv1 prima versiune a arhitecturii ARM apare cu procesor ul ARM1 RISC, care permite unui sistem computerizat să utilizeze comenzi mai simple pentru a funcționa mai rapid. ARM1 a fost dezvoltat pe tehnologia VLSI Technology de 3 μm folosind doar 24.800 tranzistori și avea doar 808 de linii de cod.
- 1987 - Acorn a introdus ARMv2 cu ARM2, un procesor pe 32-bit și 8 MHz, cu doar 30.000 de tranzistoare, performanțe superioare unui Intel 80286 și un consum mai redus de energie. ARM2 a fost primul microprocesor ce a devenit un succes comercial. A fost folosit în computerele Acorn Archimedes.
- 1989 - Apare ARM3 (ARMv2) de asemenea un procesor RISC pe 32-bit cu îmbunătățiri ale performanței (cache 4 KB, frecvență de ceas de 25 MHz, și 12 MIPS). A fost utilizat în modelele Archimedes A540, A5000 și A4.
- 1990 - Este fondată Advanced RISC Machines Ltd într-un parteneriat cu Apple, VLSI Technology și Acorn Computers. Noua companie a fost înființată cu scopul principal de a dezvolta în continuare microprocesoarele ARM ca parte a dezvoltării noului sistem informatic Apple Newton.
- 1991 - Versiunea ARMv3 cu microprocesorul ARM6 RISC pe 32-bit, frecvența de 12-33 MHz și 17.96 MIPS dezvoltat de noua companie ARM (Advanced RISC Machine). S-au introdus modurile Abort și Undefined, variantele T (extensia Thumb) și M. A fost folosit în calculatoarele Apple Newton și Acorn Risc.
- 1993 - Versiunea ARMv4 cu modul privilegiat System și ARM7TDMI, model low-end al familiei ARM, unul din cele mai populare procesoare ARM. A fost utilizat în principal ca o componentă în SoC-urile pentru telefoane mobile (iPod) și alte dispozitive portabile sau dispozitive multimedia, inclusiv Game Boy Advance, Nintendo DS și Nintendo 3DS. StrongARM care implementa tot ARMv4 și îmbunătățiri substanțiale de vitezăși consum de energie (1W la 233MHz) dezvoltat împreună cu DEC, a fost primul spin-off al arhitecturii ARM. Alte procesoare în acestă versiune au fost ARM8, ARM9.
- 1997 - Versiunea arhitecturală ARMv5TE introduce extensiile DSP și Jazelle DBX (pentru accelerarea execuției codului Java), a fost implementată de ARM în modelele procesoarelor ARM7EJ, ARM9E și ARM10E. ARM9 este o dezvoltare ulterioară a procesoarelor StrongARM și ARM8. Principala diferență dintre ARM9 și ARM7 este o magistrală separată de instrucțiuni și date (arhitectură Harvard).
- 2002 - Arhitectura ARMv6 aduce câteva noutăți cum ar fi: îmbunătățirea sistemului de gestiune a memoriei, reducerea timpului de încărcare pentru instrucțiuni și date, creșterea performanțelor cu până la 30%, suport pentru sisteme multiprocesor, posibilitatea unor sisteme mai complexe de sincronizare pentru memoria partajată. Include familiile ARM11, ARM Cortex-M0, ARM Cortex-M0 + și ARM Cortex-M1.
- 2004 - ARMv7 cu introducerea unei unități SIMD avansate de 128 de biți, în principal pentru procesare multimedia și implementarea mai eficientă a aplicațiilor audio, video, grafică 3D, extensia NEON, MPE (Media Processing Engine). Arhitectura ARMv7 este în principal împărțită în trei profiluri care acoperă diferite domenii de aplicare în domeniul sistemelor înglobate: ARM Cortex-A, ARM Cortex-R, ARM Cortex-M.
- 2011 - ARMv8 a fost primul ARM care a implementat o arhitectură pe 64-bit pentru prelucrarea datelor și adresarea memoriei. ARMv8 este compatibil cu ARMv5. Există două moduri de execuție independente: AArch32 pentru procesarea software-ului pe 32-bit șiAArch64 pentru procesarea software-ului pe 64-bit. Modul AArch64 folosește un set de instrucțiuni nou numit A64, în timp ce modul AArch32 acceptă setul standard de instrucțiuni ARM.
- 2012 - ARM a introdus modelele Cortex-A53 și Cortex-A57, Cortex-A72 primele modele de procesoare care implementează ARMv8 ce livreză performanță superioară la aceeași putere și viteză de ceas, comparativ cu procesoarele bazate pe ARMv7. Primul dispozitiv mobil cu SoC bazat pe ARMv8 este iPhone 5 lansat în septembrie 2013. SoC-ul încorporat integrează două nuclee de procesor Apple A7 numite Cyclone.
- 2014 - Allwinner Technology, MediaTek, Samsung Electronics au lansat procesoare licențiate folosind arhitectura ARM.
- 2015 - Rockchip anunță primele sale modele de procesoare ARMv8. Phytium Technology dezvoltă Phytium Mars, procesor cu 64 de nuclee pentru supercomputere.
- 2016 - ARM anunță lansarea Cortex-A73 pentru realitate virtuală, ce prezintă o creștere de 30% a puterii de calcul și a performanței energetice comparativ cu Cortex-A72.[2][3][4]
- 2017 - ARM a lansat două procesoare noi pentru smartphone Cortex-A75 și Cortex-A55. [5]
- 2018 - ARM anunță Cortex-A76, un procesor cu 40% mai eficient în privința consumului de energie și 35% mai rapid. Conceput pentru următoarele generații smartphone high-end, Cortex-A76 este proiectat pentru a folosi procesul de fabricație pe 7nm dezvoltat de TSMC și ar putea atinge frecvențe de până la 3GHz. [6]
Caracteristici
Set de instrucțiuni
Procesoarele moderne ARM au mai multe seturi de instrucțiuni:
- ARM pe 32-bit
- Thumb: set de instrucțiuni mai restricționat pe 16-bit care oferă o submulțime a instrucțiunilor clasice ARM pe 32-bit și permite obținerea unui câștig semnificativ de memorie. Primul procesor cu un decodor de instrucțiuni Thumb a fost ARM7TDMI.
- DSP: au fost adăugate instrucțiunile DSP. Acestea sunt semnificate de un "E" în denumirea arhitecturilor (ARMv5TE, ARMv5TEJ) sau a procesorului (ARM9E). Variante implică de asemenea T, D, M și I. Aplicații includ procesarea semnalelor digitale și multimedia, echipamente de rețea, telefoane mobile și tablete, sisteme de control pentru automobile.
- Jazelle DBX (Direct Bytecode eXecution): pentru codurile Java, în paralel cu modul ARM și Thumb. Este indicat prin litera "J" (ARMv5TEJ, ARM7EJ-S, ARM9EJ-S). Setul Jazelle adaugă suport pentru diferite mașini virtuale Java, sisteme de operare (WindowsCE, Linux, PalmOS), sisteme de operare în timp real.
- Thumb-2 (16/32-bit): Performanța este îmbunătățită cu până la 38%, dimensiunea memoriei este redusă cu 30%. Începe cu nucleul ARM1156 anunțat în 2003. Toate cipurile ARMv7, seria Cortex și ARM11 acceptă setul de instrucțiuni Thumb-2.
- ThumbEE: Thumb-2EE sau Jazelle RCT (Runtime Compilation Target), apare pentru prima dată în procesorul Cortex-A8 în 2005 și adaugă mici modificări setului de instrucțiuni Thumb-2. ThumbEE este orientat spre limbaje de programare cum ar fi Limbo, Java, C#, Perl, Python sau Ruby și permite compilatoarelor să genereze mai puține coduri fără a afecta performanța.
- Vector Floating Point (VFP): set de instrucțiuni în virgulă mobilă. VFP oferă calcule în virgulă mobilă pentru un spectru larg de aplicații și cerințe pentru dispozitive mobile (smartphone, PDA, tablete), compresie și decompresie voce, grafică tridimensională, audio digitală, imprimante, multimedia și aplicații pentru automobile. Setul VFP a fost înlocuit cu modul NEON Advanced SIMD.
- Advanced SIMD: (NEON), este un SIMD (Single Instruction, Multiple Data) ce combină seturi de instrucțiuni 64/128-bit și oferă accelerații computerizate standardizate pentru medii, aplicații 2D/3D și procesare de semnal. Suport pentru diferite standarde: MPEG-4, H.264, RealAudio, AVS, se poate utiliza pentru prelucrare vectorială. Performanță crescută cu 60..150% pentru codec-uri video și de 4..8 ori pentru algoritmi DSP simpli. NEON este inclus în toate nucleele Cortex-A8, opțional în Cortex-A910. [7]
Moduri de operare
Arhitectura ARM are șapte moduri de operare:
- User: singurul mod neprivilegiat, cele mai multe task-uri rulează aici
- FIQ: declanșat la producerea unei întreruperi de prioritate mare (fast interrupt)
- IRQ: declanșat la producerea unei întreruperi de prioritate normală (low interrupt)
- Supervisor: pornit la RESET și la întreruperi software
- Abort: este introdus la acces nepermis la memorie (excepție automată de suprascriere sau suprascriere de date)
- Undefined: pentru instrucțiuni nedefinite
- System: singurul mod privilegiat care nu este introdus de o excepție; folosește aceleași registre ca User Mode.[8]
Procesoare ARM
Procesoarele ARM sunt produse de ARM Holdings și de companiile care dețin licențe ARM. Cele mai cunoscute serii de procesoare ARM dezvoltate de ARM Holdings sunt ARM7, ARM9, ARM11 și Cortex.
Dimensiunea redusă, complexitatea și consumul redus de energie, face ca procesoarele ARM să fie utilizate în majoritatea dispozitivelor portabile și sisteme înglobate. Aproape toate telefoanele mobile moderne conțin procesoare ARM, fiind cea mai utilizată familie de microprocesoare pe 32-bit. [9][10]
Architectură | Familie de procesoare |
---|---|
ARMv1 | ARM1 |
ARMv2 | ARM2, ARM3 |
ARMv3 | ARM6, ARM7 |
ARMv4 | StrongARM, ARM7TDMI, ARM8, ARM9TDMI |
ARMv5 | ARM7EJ, ARM9E, ARM10E, XScale, FA626TE, Feroceon, PJ1/Mohawk |
ARMv6 | ARM11 |
ARMv6-M | ARM Cortex-M (ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1) |
ARMv7-A | ARM Cortex-A (Gen1 : ARM Cortex-A8, Gen2 : ARM Cortex-A9 MPCore, ARM Cortex-A5 MPCore, Gen3 : ARM Cortex-A7 MPCore, ARM Cortex-A12 MPCore, ARM Cortex-A15 MPCore, Scorpion, Krait, PJ4/Sheeva, Swift |
ARMv7-M | ARM Cortex-M (ARM Cortex-M3, ARM Cortex-M4, ARM Cortex-M7) |
ARMv7-R | ARM Cortex-R (ARM Cortex-R4, ARM Cortex-R5, ARM Cortex-R7) |
ARMv8-A | ARM Cortex-A35, ARM Cortex-A50 (ARM Cortex-A53, ARM Cortex-A57), ARM Cortex-A72, ARM Cortex-A73, X-Gene, Denver, Cyclone, Exynos M1/M2 |
ARMv8.2-A | ARM Cortex-A55, ARM Cortex-A75, ARM Cortex-A76 |
ARMv8-M | ARM Cortex-M23, ARM Cortex-M33 |
ARMv8-R | ARM Cortex-R53 |
Sisteme de operare
Numeroase sisteme de operare din sistemele înglobate și RTOS sunt compatibile cu arhitectura ARM:
- Symbian OS, pe Nokia N97 sau Samsung Player HD
- iOS, pe iPhone și iPad
- Android
- Linux, cu cele mai multe distribuții
- BlackBerry OS, pe telefoanele BlackBerry
- Windows CE, Windows Phone, Windows RT și Windows 10 [11]
- PlayStation Vita OS
- ReactOS
- Risc OS
- BSD
- Horizon OS, pe Nintendo Switch
Licențe ARM
Tehnologia ARM poate fi folosită sub licență și de alți producători hardware de la compania deținătoare, ARM Holdings. Compania furnizează părților interesate compilatoare, instrumente de depanare și kituri de dezvoltare software, împreună cu o descriere completă a hardware-ului nucleului ARM.
Printre companiile care au folosit sau folosesc această arhitectură se numărăr Alcatel-Lucent, AMD, Apple Inc., Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel (prin DEC), LG, Marvell Technology Group, Microsoft, NEC, Nuvoton, Nvidia, NXP (fost Philips), Oki, Qualcomm, Samsung, Sharp, STMicroelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamaha, ZiiLABS etc.
Multe companii licențiate își construiesc propriile versiuni ale kernel-urilor ARM: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Krait și Kryo, Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, LG H13, Huawei K3V2, Apple A6, HiSilicon K3.
Vezi și
- Arhitectură Harvard
- Raspberry Pi
- System on a chip
Note
- ^ Advanced RISC Machine (ARM) techopedia.com
- ^ ARM dezvoltă o nouă arhitectură de CPU și GPU, special pentru aplicații VR go4it.ro, Aurelian Mihai, 30 May 2016
- ^ History - ARM en.wikichip.org
- ^ A Brief History of Arm community.arm.com
- ^ ARM a lansat două procesoare noi și un chipset grafic: A75 și A55 și Mali G72 arenait.ro, 30.05.2017
- ^ ARM dezvăluie Cortex-A76, un procesor cu 35% mai rapid decât cel conținut în chipsetul Snapdragon 845 go4it.ro, Aurelian Mihai, 1 Jun 2018
- ^ Instruction Sets developer.arm.com
- ^ Processor operating modes infocenter.arm.com
- ^ ARM processor whatis.techtarget.com
- ^ ARM Chips list cs.umd.edu
- ^ Primele laptopuri cu Windows 10 și procesoare ARM ajung în curând pe piață playtech.ro, Alexandru Puiu, 25.04.2017
Legături Externe
- Pagina web
- Procesoare ARM pe 64 biți de la Qualcomm, Nvidia și Broadcom
- Procesoarele ARM Cortex A73 ar putea revoluționa iPhone și iPad
- ARM intenționează să bată Intel Core i5 pe desktop
Bibliografie
|