Lista microarhitecturilor ARM - List of ARM microarchitectures
Aceasta este o listă de microarchitectures bazate pe ARM familia de seturi de instrucțiuni concepute de ARM Holdings și părțile 3, clasificate în funcție de versiunea de instrucțiuni ARM set, eliberarea și numele. În 2005, ARM a furnizat un rezumat al numeroșilor furnizori care implementează nuclee ARM în proiectarea lor. Keil oferă, de asemenea, un rezumat ceva mai nou al furnizorilor de procesoare bazate pe ARM. ARM oferă în plus o diagramă care prezintă o prezentare generală a gamei de procesoare ARM cu performanță și funcționalitate față de capabilități pentru familiile de bază ARM mai recente.
Miezuri ARM
Proiectat de ARM
Familia ARM | Arhitectura ARM | Miezul ARM | Caracteristică | Cache (I / D), MMU | MIPS tipic @ MHz | Referinţă |
---|---|---|---|---|---|---|
ARM1 | ARMv1 | ARM1 | Prima implementare | Nici unul | ||
ARM2 | ARMv2 | ARM2 | ARMv2 a adăugat instrucțiunea MUL (multiplicare) | Nici unul | 4 MIPS @ 8 MHz 0,33 DMIPS / MHz |
|
ARMv2a | ARM250 | MEMC (MMU) integrat , grafică și procesor I / O. ARMv2a a adăugat instrucțiunile SWP și SWPB (swap) | Niciuna, MEMC1a | 7 MIPS @ 12 MHz | ||
ARM3 | ARMv2a | ARM3 | Prima memorie cache integrată | 4 KB unificat | 12 MIPS @ 25 MHz 0,50 DMIPS / MHz |
|
ARM6 | ARMv3 | ARM60 | ARMv3 mai întâi acceptă spațiul de adresă de memorie pe 32 de biți (anterior 26 de biți). ARMv3M a adăugat mai întâi instrucțiuni de multiplicare lungă (32x32 = 64). |
Nici unul | 10 MIPS @ 12 MHz | |
ARM600 | Ca ARM60, cache și autobuz coprocesor (pentru unitatea cu virgulă mobilă FPA10) | 4 KB unificat | 28 MIPS @ 33 MHz | |||
ARM610 | Ca ARM60, cache, fără autobuz coprocesor | 4 KB unificat | 17 MIPS @ 20 MHz 0,65 DMIPS / MHz |
|||
ARM7 | ARMv3 | ARM700 | 8 KB unificat | 40 MHz | ||
ARM710 | Ca ARM700, nu există nici o magistrală de coprocesor | 8 KB unificat | 40 MHz | |||
ARM710a | Ca ARM710 | 8 KB unificat | 40 MHz 0,68 DMIPS / MHz |
|||
ARM7T | ARMv4T | ARM7TDMI (-S) | Conductă în 3 etape, Thumb, ARMv4 primul care renunță la vechea adresare ARM pe 26 de biți | Nici unul | 15 MIPS @ 16,8 MHz 63 DMIPS @ 70 MHz |
|
ARM710T | Ca ARM7TDMI, cache | 8 KB unificat, MMU | 36 MIPS @ 40 MHz | |||
ARM720T | Ca ARM7TDMI, cache | 8 KB unificat, MMU cu FCSE (Fast Context Switch Extension) | 60 MIPS @ 59,8 MHz | |||
ARM740T | Ca ARM7TDMI, cache | MPU | ||||
ARM7EJ | ARMv5TEJ | ARM7EJ-S | Conductă în 5 etape, Thumb, Jazelle DBX, instrucțiuni DSP îmbunătățite | Nici unul | ||
ARM8 | ARMv4 | ARM810 | Conductă în 5 etape, predicție statică a ramurilor, memorie cu lățime de bandă dublă | 8 KB unificat, MMU | 84 MIPS @ 72 MHz 1,16 DMIPS / MHz |
|
ARM9T | ARMv4T | ARM9TDMI | Conductă în 5 etape, Thumb | Nici unul | ||
ARM920T | Ca ARM9TDMI, cache | 16 KB / 16 KB, MMU cu FCSE (Extensie rapidă a comutatorului de context) | 200 MIPS @ 180 MHz | |||
ARM922T | Ca ARM9TDMI, cache | 8 KB / 8 KB, MMU | ||||
ARM940T | Ca ARM9TDMI, cache | 4 KB / 4 KB, MPU | ||||
ARM9E | ARMv5TE | ARM946E-S | Thumb, instrucțiuni DSP îmbunătățite, cache-uri | Amintiri variabile, bine cuplate, MPU | ||
ARM966E-S | Thumb, instrucțiuni DSP îmbunătățite | Fără cache, TCM-uri | ||||
ARM968E-S | Ca ARM966E-S | Fără cache, TCM-uri | ||||
ARMv5TEJ | ARM926EJ-S | Thumb, Jazelle DBX, instrucțiuni DSP îmbunătățite | Variabilă, TCM-uri, MMU | 220 MIPS @ 200 MHz | ||
ARMv5TE | ARM996HS | Procesor fără ceas, ca ARM966E-S | Fără cache, TCM-uri, MPU | |||
ARM10E | ARMv5TE | ARM1020E | Conductă în 6 etape, Thumb, instrucțiuni DSP îmbunătățite, (VFP) | 32 KB / 32 KB, MMU | ||
ARM1022E | Ca ARM1020E | 16 KB / 16 KB, MMU | ||||
ARMv5TEJ | ARM1026EJ-S | Thumb, Jazelle DBX, instrucțiuni DSP îmbunătățite, (VFP) | Variabilă, MMU sau MPU | |||
ARM11 | ARMv6 | ARM1136J (F) -S | Conductă în 8 etape, SIMD , Thumb, Jazelle DBX, (VFP), instrucțiuni DSP îmbunătățite, acces la memorie nealiniat | Variabilă, MMU | 740 @ 532–665 MHz (i.MX31 SoC), 400–528 MHz | |
ARMv6T2 | ARM1156T2 (F) -S | Conductă în 9 etape, SIMD , Thumb-2, (VFP), instrucțiuni DSP îmbunătățite | Variabilă, MPU | |||
ARMv6Z | ARM1176JZ (F) -S | Ca ARM1136EJ (F) -S | Variabilă, MMU + TrustZone | 965 DMIPS @ 772 MHz, până la 2.600 DMIPS cu patru procesoare | ||
ARMv6K | ARM11MPCore | Ca ARM1136EJ (F) -S, SMP de 1-4 nuclee | Variabilă, MMU | |||
SecurCore | ARMv6-M | SC000 | Ca Cortex-M0 | 0,9 DMIPS / MHz | ||
ARMv4T | SC100 | Ca ARM7TDMI | ||||
ARMv7-M | SC300 | Ca Cortex-M3 | 1,25 DMIPS / MHz | |||
Cortex-M | ARMv6-M | Cortex-M0 | Profilul microcontrolerului, majoritatea Thumb + unele Thumb-2, instrucțiuni de multiplicare hardware (opțional mic), temporizator de sistem opțional, memorie opțională de bandă de biți | Cache opțional, fără TCM, fără MPU | 0,84 DMIPS / MHz | |
Cortex-M0 + | Profilul microcontrolerului, majoritatea Thumb + unele Thumb-2, instrucțiuni de multiplicare hardware (opțional mic), temporizator de sistem opțional, memorie opțională de bandă de biți | Cache opțional, fără TCM, MPU opțional cu 8 regiuni | 0,93 DMIPS / MHz | |||
Cortex-M1 | Profilul microcontrolerului, majoritatea Thumb + unele Thumb-2, instrucțiuni de multiplicare hardware (opțional mic), opțiunea de sistem de operare adaugă un indicator SVC / stivă bancară, temporizator de sistem opțional, fără memorie cu bandă de biți | Cache opțional, 0-1024 KB I-TCM, 0-1024 KB D-TCM, fără MPU | 136 DMIPS @ 170 MHz, (0,8 DMIPS / MHz dependent de FPGA) | |||
ARMv7-M | Cortex-M3 | Profilul microcontrolerului, Thumb / Thumb-2, instrucțiuni de multiplicare și divizare hardware, memorie opțională de bandă de biți | Cache opțional, fără TCM, MPU opțional cu 8 regiuni | 1,25 DMIPS / MHz | ||
ARMv7E-M | Cortex-M4 | Profil microcontroler, Thumb / Thumb-2 / DSP / opțional VFPv4-SP FPU cu precizie simplă , instrucțiuni de multiplicare și divizare hardware, memorie opțională de bandă de biți | Cache opțional, fără TCM, MPU opțional cu 8 regiuni | 1,25 DMIPS / MHz (1,27 w / FPU) | ||
Cortex-M7 | Profil microcontroler, Thumb / Thumb-2 / DSP / opțional VFPv5 FPU de precizie simplă și dublă , instrucțiuni hardware de multiplicare și divizare | 0−64 KB I-cache, 0−64 KB D-cache, 0-16 MB I-TCM, 0-16 MB D-TCM (toate acestea cu ECC opțional), MPU opțional cu 8 sau 16 regiuni | 2,14 DMIPS / MHz | |||
Linia de bază ARMv8-M | Cortex-M23 | Profilul microcontrolerului, Thumb-1 (majoritatea), Thumb-2 (unele), Divide, TrustZone | Cache opțional, fără TCM, MPU opțional cu 16 regiuni | 0,99 DMIPS / MHz | ||
Linia principală ARMv8-M | Cortex-M33 | Profil microcontroler, Thumb-1, Thumb-2, Saturated, DSP, Divide, FPU (SP), TrustZone, Co-procesor | Cache opțional, fără TCM, MPU opțional cu 16 regiuni | 1,50 DMIPS / MHz | ||
Cortex-M35P | Profil microcontroler, Thumb-1, Thumb-2, Saturated, DSP, Divide, FPU (SP), TrustZone, Co-procesor | Cache încorporat (cu opțiunea 2–16 KB), I-cache, fără TCM, MPU opțional cu 16 regiuni | 1,50 DMIPS / MHz | |||
Linia principală ARMv8.1-M | Cortex-M55 | |||||
Cortex-R | ARMv7-R | Cortex-R4 | Profil în timp real, Thumb / Thumb-2 / DSP / opțional VFPv3 FPU , instrucțiuni de multiplicare hardware și opțională de divizare, paritate și ECC opționale pentru magistrale interne / cache / TCM, conductă în 8 etape dual-core care rulează blocare cu logică de eroare | 0–64 KB / 0–64 KB, 0–2 din 0–8 MB TCM, opt. MPU cu 8/12 regiuni | 1,67 DMIPS / MHz | |
Cortex-R5 | Profil în timp real, Thumb / Thumb-2 / DSP / opțional VFPv3 FPU și precizie, multiplicare hardware și instrucțiuni opționale de divizare, paritate opțională și ECC pentru autobuze interne / cache / TCM, conductă în 8 etape dual-core care rulează pas cu blocare cu logică de eroare / opțional ca 2 nuclee independente, port periferic cu latență scăzută (LLPP), port de coerență a acceleratorului (ACP) | 0–64 KB / 0–64 KB, 0–2 din 0–8 MB TCM, opt. MPU cu 12/16 regiuni | 1,67 DMIPS / MHz | |||
Cortex-R7 | Profil în timp real, Thumb / Thumb-2 / DSP / opțional VFPv3 FPU și precizie, multiplicare hardware și instrucțiuni opționale de divizare, paritate opțională și ECC pentru autobuze interne / cache / TCM, conductă cu 11 etape dual-core care rulează blocare pas cu logica defectelor / executarea în afara comenzii / redenumirea registrului dinamic / opțional ca 2 nuclee independente, port periferic cu latență scăzută (LLPP), ACP | 0–64 KB / 0–64 KB,? de 0–128 KB TCM, opt. MPU cu 16 regiuni | 2,50 DMIPS / MHz | |||
Cortex-R8 | TBD | 0–64 KB / 0–64 KB L1, 0-1 / 0–1 MB TCM, optează MPU cu 24 de regiuni | 2,50 DMIPS / MHz | |||
ARMv8-R | Cortex-R52 | TBD | 0-32 KB / 0-32 KB L1, 0-1 / 0-1 MB TCM, optează MPU cu 24 + 24 de regiuni | 2,16 DMIPS / MHz | ||
Cortex-R82 | TBD | 16–128 KB / 16–64 KB L1, 64K – 1MB L2, 0,16–1 / 0,16–1 MB TCM,
alege MPU cu 32 + 32 de regiuni |
3,41 DMIPS / MHz | |||
Cortex-A (32 de biți) |
ARMv7-A | Cortex-A5 | Profil aplicație, ARM / Thumb / Thumb-2 / DSP / SIMD / Optional VFPv4-D16 FPU / Optional NEON / Jazelle RCT și DBX, 1-4 nuclee / MPCore opțional, unitate de control snoop (SCU), controler de întrerupere generic (GIC) , portul de coerență al acceleratorului (ACP) | 4−64 KB / 4−64 KB L1, MMU + TrustZone | 1,57 DMIPS / MHz per nucleu | |
Cortex-A7 | Profil aplicație, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / Jazelle RCT și virtualizare DBX / Hardware, execuție în ordine, suprascalare , 1-4 nuclee SMP, MPCore, Extensii adrese fizice mari (LPAE), snoop unitatea de control (SCU), controlerul de întrerupere generic (GIC), arhitectura și setul de caracteristici sunt identice cu conductele A15, 8-10 etape, proiectare cu putere redusă | 8−64 KB / 8−64 KB L1, 0-1 MB L2, MMU + TrustZone | 1,9 DMIPS / MHz per nucleu | |||
Cortex-A8 | Profil de aplicație, ARM / Thumb / Thumb-2 / VFPv3 FPU / NEON / Jazelle RCT și DAC, conductă superscalară în 13 etape | 16-32 KB / 16-32 KB L1, 0-1 MB L2 opt. ECC, MMU + TrustZone | Până la 2000 (2.0 DMIPS / MHz în viteză de la 600 MHz la mai mare de 1 GHz ) | |||
Cortex-A9 | Profilul de aplicare, ARM / Thumb / Thumb-2 / DSP / Opțional VFPv3 FPU / Opțional NEON / Jazelle RCT și DBX, out-of-order problemă speculativ superscalar , 1-4 nuclee SMP, MPCore, unitatea de control snoop (SCU), generic controler de întrerupere (GIC), port de coerență a acceleratorului (ACP) | 16–64 KB / 16–64 KB L1, 0–8 MB L2 opt. paritate, MMU + TrustZone | 2,5 DMIPS / MHz per nucleu, 10 000 DMIPS @ 2 GHz pe performanță optimizată TSMC 40G (dual-core) | |||
Cortex-A12 | Profil de aplicare, ARM / Thumb-2 / DSP / VFPv4 FPU / NEON / hardware de virtualizare, out-of-order problema speculativă superscalara , 1-4 miezuri SMP, extensii de mari dimensiuni fizice Adresa (LPAE), unitatea de control spiona (SCU), generic controler de întrerupere (GIC), port de coerență a acceleratorului (ACP) | 32−64 KB | 3,0 DMIPS / MHz per nucleu | |||
Cortex-A15 | Profilul de aplicare, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / întreg divide / fuzionată MAC / Jazelle RCT / virtualizare hardware, out-of-order problemă speculativ superscalar , 1-4 nuclee SMP, MPCore, Large Adresa fizică Extensii (LPAE), unitate de control snoop (SCU), controler de întrerupere generic (GIC), ACP, conductă de 15-24 etape | 32 KB cu paritate / 32 KB cu ECC L1, 0-4 MB L2, L2 are ECC, MMU + TrustZone | Cel puțin 3,5 DMIPS / MHz pe nucleu (până la 4,01 DMIPS / MHz în funcție de implementare) | |||
Cortex-A17 | Profilul de aplicare, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / întreg divide / fuzionată MAC / Jazelle RCT / virtualizare hardware, out-of-order problemă speculativ superscalar , 1-4 nuclee SMP, MPCore, Large Adresa fizică Extensii (LPAE), unitate de control snoop (SCU), controler generic de întrerupere (GIC), ACP | 32 KB L1, 256 KB – 8 MB L2 cu ECC opțional | 2,8 DMIPS / MHz | |||
ARMv8-A | Cortex-A32 | Profil de aplicație, AArch32, 1–4 nuclee SMP, TrustZone, NEON advanced SIMD, VFPv4, virtualizare hardware, dublă problemă, conductă în ordine | 8–64 KB cu paritate opțională / 8−64 KB cu ECC L1 opțional per nucleu, 128 KB – 1 MB L2 cu ECC opțional partajat | |||
Cortex-A (64 de biți) |
ARMv8-A | Cortex-A34 | Profil de aplicație, AArch64, 1–4 nuclee SMP, TrustZone, SIMON avansat NEON, VFPv4, virtualizare hardware, decodare cu 2 lățimi, conductă în ordine | 8−64 KB cu paritate / 8−64 KB cu ECC L1 pe nucleu, 128 KB – 1 MB L2 partajat, adrese fizice de 40 de biți | ||
Cortex-A35 | Profil de aplicație, AArch32 și AArch64, 1–4 nuclee SMP, TrustZone, NEON SIMD avansat, VFPv4, virtualizare hardware, decodare cu 2 lățimi, conducte în ordine | 8−64 KB cu paritate / 8−64 KB cu ECC L1 pe nucleu, 128 KB – 1 MB L2 partajat, adrese fizice de 40 de biți | 1,78 DMIPS / MHz | |||
Cortex-A53 | Profil de aplicație, AArch32 și AArch64, 1–4 nuclee SMP, TrustZone, NEON SIMD avansat, VFPv4, virtualizare hardware, decodare cu 2 lățimi, conducte în ordine | 8−64 KB cu paritate / 8−64 KB cu ECC L1 pe nucleu, 128 KB – 2 MB L2 partajat, adrese fizice de 40 de biți | 2,3 DMIPS / MHz | |||
Cortex-A57 | Profil de aplicație, AArch32 și AArch64, 1–4 nuclee SMP, TrustZone, NEON avansat SIMD, VFPv4, virtualizare hardware, superscalare de decodare cu 3 lățimi, conductă profund scoasă din funcțiune | 48 KB cu paritate DED / 32 KB cu ECC L1 per nucleu; 512 KB – 2 MB L2 partajat cu ECC; Adrese fizice pe 44 de biți | 4.1–4.5 DMIPS / MHz | |||
Cortex-A72 | Profil de aplicație, AArch32 și AArch64, 1–4 nuclee SMP, TrustZone, NEON SIMD avansat, VFPv4, virtualizare hardware, superscalare cu 3 lățimi, conductă profund scoasă din funcțiune | 48 KB cu paritate DED / 32 KB cu ECC L1 per nucleu; 512 KB – 2 MB L2 partajat cu ECC; Adrese fizice pe 44 de biți | 4,7 DMIPS / MHz | |||
Cortex-A73 | Profil de aplicație, AArch32 și AArch64, 1–4 nuclee SMP, TrustZone, NEON avansat SIMD, VFPv4, virtualizare hardware, superscalare cu 2 lățimi, conductă profund scoasă din funcțiune | 64 KB / 32−64 KB L1 pe nucleu, 256 KB – 8 MB L2 partajat cu ECC opțional, adrese fizice de 44 de biți | 4,8 DMIPS / MHz | |||
ARMv8.2-A | Cortex-A55 | Profil de aplicație, AArch32 și AArch64, 1–8 nuclee SMP, TrustZone, NEON advanced SIMD, VFPv4, virtualizare hardware, decodare pe 2 lățimi, conductă în ordine | 16−64 KB / 16−64 KB L1, 256 KB L2 per nucleu, 4 MB L3 partajat | |||
Cortex-A65 | Profil de aplicație, AArch64, 1–8 nuclee SMP, TrustZone, NEON advanced SIMD, VFPv4, virtualizare hardware, superscalar de decodare pe 2 lățimi, problemă cu 3 lățimi, conductă ieșită din uz, SMT | |||||
Cortex-A65AE | Ca ARM Cortex-A65, adaugă blocare dual core pentru aplicații de siguranță | 64/64 KB L1, 256 KB L2 per nucleu, 4 MB L3 partajat | ||||
Cortex-A75 | Profil de aplicație, AArch32 și AArch64, 1–8 nuclee SMP, TrustZone, NEON advanced SIMD, VFPv4, virtualizare hardware, superscalare de decodare pe 3 lățimi, conductă profund dezordonată | 64/64 KB L1, 512 KB L2 per nucleu, 4 MB L3 partajat | ||||
Cortex-A76 | Profil de aplicație, AArch32 (nivel fără privilegii sau doar EL0) și AArch64, 1-4 nuclee SMP, TrustZone, NEON avansat SIMD, VFPv4, virtualizare hardware, decodare cu 4 lățimi suprascalare, problemă cu 8 căi, conductă de 13 etape, profund afară -de conductă de comandă | 64/64 KB L1, 256−512 KB L2 per nucleu, 512 KB − 4 MB L3 partajat | ||||
Cortex-A76AE | Ca ARM Cortex-A76, adaugă blocare dual core pentru aplicații de siguranță | |||||
Cortex-A77 | Profil de aplicație, AArch32 (nivel fără privilegii sau numai EL0) și AArch64, 1–4 nuclee SMP, TrustZone, SIMON avansat NEON, VFPv4, virtualizare hardware, decodare superscalară cu 4 lățimi, preluare instrucțiuni cu 6 lățimi, problemă cu 12 căi, Conductă cu 13 trepte, conductă profund defectată | Cache MOP 1.5K L0, 64/64 KB L1, 256−512 KB L2 per nucleu, 512 KB − 4 MB L3 partajat | ||||
Cortex-A78 | ||||||
Cortex-A78AE | Ca ARM Cortex-A78, adaugă blocare dual core pentru aplicații de siguranță | |||||
Cortex-X1 | Varianta optimizată pentru performanță a Cortex-A78 | |||||
Cortex-A78C | ||||||
ARMv9-A | Cortex-A710 | Primul procesor „mare” din generația Armv9 | ||||
Neoverse | Neoverse N1 | Profil de aplicație, AArch32 (nivel fără privilegii sau numai EL0) și AArch64, 1–4 nuclee SMP, TrustZone, NEON avansat SIMD, VFPv4, virtualizare hardware, decodare cu 4 lățimi suprascalare, expediere / emisiune în 8 căi, conductă de 13 etape, conductă profund defectată | 64/64 KB L1, 512−1024 KB L2 per nucleu, 2−128 MB L3 partajat, 128 MB cache la nivel de sistem | |||
Neoverse E1 | Profil de aplicație, AArch64, 1–8 nuclee SMP, TrustZone, SIMON avansat NEON, VFPv4, virtualizare hardware, superscalare de decodare pe 2 lățimi, problemă cu 3 lățimi, conductă în 10 etape, conductă în afara comenzii, SMT | 32−64 KB / 32−64 KB L1, 256 KB L2 per nucleu, 4 MB L3 partajat | ||||
Familia ARM | Arhitectura ARM | Miezul ARM | Caracteristică | Cache (I / D), MMU | MIPS tipic @ MHz | Referinţă |
Proiectat de terți
Aceste nuclee implementează setul de instrucțiuni ARM și au fost dezvoltate independent de companii cu licență arhitecturală de la ARM.
Familia de bază | Set de instructiuni | Microarhitectura | Caracteristică | Cache (I / D), MMU | MIPS tipic @ MHz |
---|---|---|---|---|---|
StrongARM ( digital ) |
ARMv4 | SA-110 | Conductă în 5 etape | 16 KB / 16 KB, MMU | 100–233 MHz 1,0 DMIPS / MHz |
SA-1100 | derivat al SA-110 | 16 KB / 8 KB, MMU | |||
Faraday ( Tehnologia Faraday ) |
ARMv4 | FA510 | Conductă în 6 etape | Până la 32 KB / 32 KB cache, MPU | 1,26 DMIPS / MHz 100–200 MHz |
FA526 | Până la 32 KB / 32 KB cache, MMU | 1,26 MIPS / MHz 166-300 MHz |
|||
FA626 | Conductă în 8 etape | 32 KB / 32 KB cache, MMU | 1,35 DMIPS / MHz 500 MHz |
||
ARMv5TE | FA606TE | Conductă în 5 etape | Fără cache, fără MMU | 1,22 DMIPS / MHz 200 MHz |
|
FA626TE | Conductă în 8 etape | 32 KB / 32 KB cache, MMU | 1,43 MIPS / MHz 800 MHz |
||
FMP626TE | Conductă în 8 etape, SMP | 1,43 MIPS / MHz 500 MHz |
|||
FA726TE | Conductă cu 13 etape, problemă dublă | 2,4 DMIPS / MHz 1000 MHz |
|||
XScale ( Intel / Marvell ) |
ARMv5TE | XScale | Conductă în 7 etape, Thumb, instrucțiuni DSP îmbunătățite | 32 KB / 32 KB, MMU | 133–400 MHz |
Bulverde | Wireless MMX , fără fir SpeedStep adăugat | 32 KB / 32 KB, MMU | 312–624 MHz | ||
Monahans | S-a adăugat wireless MMX2 | 32 KB / 32 KB L1, cache L2 opțional până la 512 KB, MMU | Până la 1,25 GHz | ||
Sheeva (Marvell) |
ARMv5 | Feroceon | Conductă de 5–8 etape, cu un singur număr | 16 KB / 16 KB, MMU | 600-2000 MHz |
Jolteon | Conductă de 5–8 etape, cu două probleme | 32 KB / 32 KB, MMU | |||
PJ1 (Mohawk) | Conductă de 5–8 etape, cu un singur număr, fără fir MMX2 | 32 KB / 32 KB, MMU | 1,46 DMIPS / MHz 1,06 GHz |
||
ARMv6 / ARMv7-A | PJ4 | Conductă de 6–9 etape, cu două probleme, fără fir MMX2, SMP | 32 KB / 32 KB, MMU | 2,41 DMIPS / MHz 1,6 GHz |
|
Snapdragon ( Qualcomm ) |
ARMv7-A | Scorpion | 1 sau 2 nuclee. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv3 FPU / NEON (128-bit wide) | 256 KB L2 per nucleu | 2,1 DMIPS / MHz per nucleu |
Krait | 1, 2 sau 4 nuclee. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON (128-bit wide) | 4 KB / 4 KB L0, 16 KB / 16 KB L1, 512 KB L2 per nucleu | 3,3 DMIPS / MHz per nucleu | ||
ARMv8-A | Kryo | 4 nuclee. | ? | Până la 2,2 GHz
(6,3 DMIPS / MHz) |
|
Topor ( Apple ) |
ARMv7-A | Rapid | 2 nuclee. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON | L1: 32 KB / 32 KB, L2: 1 MB partajat | 3,5 DMIPS / MHz per nucleu |
ARMv8-A | Ciclon | 2 nuclee. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 . În afara ordinii, suprascalar. | L1: 64 KB / 64 KB, L2: 1 MB SLC partajat : 4 MB |
1,3 sau 1,4 GHz | |
ARMv8-A | Taifun | 2 sau 3 nuclee. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 | L1: 64 KB / 64 KB, L2: 1 MB sau 2 MB SLC partajat : 4 MB |
1,4 sau 1,5 GHz | |
ARMv8-A | Twister | 2 nuclee. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 | L1: 64 KB / 64 KB, L2: 2 MB SLC partajat : 4 MB sau 0 MB |
1,85 sau 2,26 GHz | |
ARMv8-A | Uragan și Zephyr | Uragan: 2 sau 3 nuclee. AArch64, out-of-order, superscalar, 6-decode, 6-issue, 9-wide Zephyr: 2 sau 3 nuclee. AArch64, ieșit din uz, suprascalar. |
L1: 64 KB / 64 KB, L2: 3 MB sau 8 MB partajate L1: 32 KB / 32 KB. L2: nici unul SLC: 4 MB sau 0 MB |
2,34 sau 2,38 GHz 1,05 GHz |
|
ARMv8.2-A | Musonul și Mistral | Muson: 2 nuclee. AArch64, out-of-order, superscalar, 7-decode,? -Emission, 11-wide Mistral: 4 nuclee. AArch64, ieșit din uz, suprascalar. Bazat pe Swift. |
L1I: 128 KB, L1D: 64 KB, L2: 8 MB partajat L1: 32 KB / 32 KB, L2: 1 MB partajat SLC: 4 MB |
2,39 GHz 1,70 GHz |
|
ARMv8.3-A | Vortex și Tempest | Vortex: 2 sau 4 nuclee. AArch64, ieșit din ordine, suprascalar, 7-decodare,? -Emisie, 11-lățime Tempest: 4 nuclee. AArch64, out-of-order, superscalar, 3-decode. Bazat pe Swift. |
L1: 128 KB / 128 KB, L2: 8 MB partajat L1: 32 KB / 32 KB, L2: 2 MB partajat SLC: 8 MB |
2,49 GHz 1,59 GHz |
|
ARMv8.4-A | Fulger și Tunet | Fulger: 2 nuclee. AArch64, out-of-order, superscalar, 7-decode,? -Emisia, 11-wide Thunder: 4 nuclee. AArch64, ieșit din uz, suprascalar. |
L1: 128 KB / 128 KB, L2: 8 MB partajat L1: 32 KB / 48 KB, L2: 4 MB partajat SLC: 16 MB |
2,66 GHz 1,73 GHz |
|
ARMv8.4-A | Firestorm și Icestorm | Furtună: 2 nuclee. AArch64, out-of-order, superscalar, 8-decode,? -Emission, 14-wide Icestorm: 4 nuclee. AArch64, out-of-order, superscalar, 4-decode,? -Emisie, 7-wide. |
L1: 192 KB / 128 KB, L2: 8 MB partajat L1: 128 KB / 64 KB, L2: 4 MB partajat SLC: 16 MB |
2,99 GHz 1,82 GHz |
|
X-Gene ( Micro aplicat ) |
ARMv8-A | X-Gene | 64-bit, problemă quad, SMP, 64 nuclee | Cache, MMU, virtualizare | 3 GHz (4,2 DMIPS / MHz per nucleu) |
Denver ( Nvidia ) |
ARMv8-A | Denver | 2 nuclee. AArch64 , superscalar cu 7 lățimi , în ordine, optimizare dinamică a codului, cache de optimizare 128 MB, Denver1: 28nm, Denver2: 16nm |
128 KB I-cache / 64 KB D-cache | Până la 2,5 GHz |
Carmel ( Nvidia ) |
ARMv8.2-A | Carmel | 2 nuclee. AArch64 , superscalar pe 10 lățimi , în ordine, optimizare dinamică a codului,? Cache de optimizare MB, siguranță funcțională, execuție dublă, paritate și ECC |
? KB I-cache /? KB D-cache | Pâna la ? GHz |
ThunderX ( Cavium ) |
ARMv8-A | ThunderX | 64 de biți, cu două modele cu 8-16 sau 24-48 nuclee (× 2 w / două cipuri) | ? | Până la 2,2 GHz |
K12 ( AMD ) |
ARMv8-A | K12 | ? | ? | ? |
Exynos ( Samsung ) |
ARMv8-A | M1 / M2 („Mangosta”) | 4 nuclee. AArch64, 4-wide, quad-issue, superscalar, out-of-order | 64 KB I-cache / 32 KB D-cache, L2: 16-way partajat 2 MB | 5.1 DMIPS / MHz
(2,6 GHz) |
ARMv8-A | M3 („Meerkat”) | 4 nuclee, AArch64, 6-decode, 6-issue, 6-wide. suprascalar, ieșit din funcțiune | 64 KB I-cache / 32 KB D-cache, L2: 8-way private 512 KB, L3: 16-way shared 4 MB | ? | |
ARMv8.2-A | M4 („Ghepard”) | 2 nuclee, AArch64, 6-decode, 6-issue, 6-wide. suprascalar, ieșit din funcțiune | 64 KB I-cache / 32 KB D-cache, L2: 8-way privat 512 KB, L3: 16-way shared 4 MB | ? |
Cronologia nucleului ARM
Următorul tabel listează fiecare nucleu până în anul în care a fost anunțat.
An | Miezuri clasice | Miezuri de cortex | Miezuri neoverse | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ARM1-6 | ARM7 | ARM8 | ARM9 | ARM10 | ARM11 | Microcontroler | Timp real |
Aplicație (32 de biți) |
Aplicație (64 de biți) |
Aplicație (64 de biți) |
|
1985 | ARM1 | ||||||||||
1986 | ARM2 | ||||||||||
1989 | ARM3 | ||||||||||
1992 | ARM250 | ||||||||||
1993 | ARM60 ARM610 |
ARM700 | |||||||||
1994 | ARM710 ARM7DI ARM7TDMI |
||||||||||
1995 | ARM710a | ||||||||||
1996 | ARM810 | ||||||||||
1997 | ARM710T ARM720T ARM740T |
||||||||||
1998 | ARM9TDMI ARM940T |
||||||||||
1999 | ARM9E-S ARM966E-S |
||||||||||
2000 | ARM920T ARM922T ARM946E-S |
ARM1020T | |||||||||
2001 | ARM7TDMI-S ARM7EJ-S |
ARM9EJ-S ARM926EJ-S |
ARM1020E ARM1022E |
||||||||
2002 | ARM1026EJ-S | ARM1136J (F) -S | |||||||||
2003 | ARM968E-S | ARM1156T2 (F) -S ARM1176JZ (F) -S |
|||||||||
2004 | Cortex-M3 | ||||||||||
2005 | ARM11MPCore | Cortex-A8 | |||||||||
2006 | ARM996HS | ||||||||||
2007 | Cortex-M1 | Cortex-A9 | |||||||||
2008 | |||||||||||
2009 | Cortex-M0 | Cortex-A5 | |||||||||
2010 | Cortex-M4 (F) | Cortex-A15 | |||||||||
2011 | Cortex-R4 Cortex-R5 Cortex-R7 |
Cortex-A7 | |||||||||
2012 | Cortex-M0 + | Cortex-A53 Cortex-A57 |
|||||||||
2013 | Cortex-A12 | ||||||||||
2014 | Cortex-M7 (F) | Cortex-A17 | |||||||||
2015 | Cortex-A35 Cortex-A72 |
||||||||||
2016 | Cortex-M23 Cortex-M33 (F) |
Cortex-R8 Cortex-R52 |
Cortex-A32 | Cortex-A73 | |||||||
2017 | Cortex-A55 Cortex-A75 |
||||||||||
2018 | Cortex-M35P (F) | Cortex-A65AE Cortex-A76 Cortex-A76AE |
|||||||||
2019 | Cortex-A77 | Neoverse E1 Neoverse N1 |
|||||||||
2020 | Cortex-M55 (F) | Cortex-R82 | Cortex-A78 Cortex-X1 |
Neoverse V1 | |||||||
2021 | Cortex-A510 Cortex-A710 Cortex-X2 |
Neoverse N2 |
Vezi si
- Compararea nucleelor ARMv7-A
- Compararea nucleelor ARMv8-A
- Lista aplicațiilor nucleelor ARM
- Arhitectura ARM