Arm Cortex-M
Arm Cortex-M (in älterer SchreibweiseARM Cortex-M) ist eine Familie vonIP-Cores primär für32-Bit-Mikrocontroller, die vom UnternehmenARM entwickelt wird und an verschiedene Hersteller lizenziert wird. Der Kern stellt eineReduced Instruction Set Computer (RISC) dar, ist ein Teil derARMv6- bzw. Armv7-Architektur[1] und unterteilt sich in aufsteigender Komplexität in die Einheiten Cortex-M0,[2] Cortex-M0+,[3] Cortex-M1,[4] Cortex-M3,[5] Cortex-M4[6], Cortex-M7 und die auf derArmv8-Architektur basierenden Cortex-M23,[7] und Cortex-M33.[8]

Allgemeines
[Bearbeiten |Quelltext bearbeiten]ARM Limited stellt selbst keine Mikroprozessoren bzw. Microcontroller her, sondern lizenziert den Kern an Hersteller und Chipproduzenten, sogenannteintegrated device manufacturers (IDM), welche den eigentlichen ARM-Kern um eigene und herstellerspezifische Peripherie wie z. B.Controller Area Network (CAN),Local Interconnect Network (LIN),Universal Serial Bus (USB),I²C-Bus,Serial Peripheral Interface (SPI),Serielle Schnittstellen,Ethernet-Schnittstellen,Pulsweitenmodulation-Ausgänge,Analog-Digital-Wandler,Universal Asynchronous Receiver Transmitter (UART) und viele weitere erweitern. Diese Einheiten werden über denAdvanced Microcontroller Bus Architecture (AMBA) an den ARM-Kern angeschlossen. ARM Limited bietet für den Kern verschiedene Lizenzmodelle an, welche sich in den Kosten und Umfang der zur Verfügung gestellten Daten unterscheiden. In allen Fällen wird das Recht gewährt, eigene Hardware mit ARM-Prozessoren frei vertreiben zu dürfen.
Die „Arm Cortex-M“-Prozessoren sind für den Lizenznehmer alsIP-Core in derHardwarebeschreibungsspracheVerilog verfügbar und können mittelsLogiksynthese als digitale Hardwareschaltung abgebildet werden, um dann entweder inField Programmable Gate Arrays (FPGAs) oderAnwendungsspezifische integrierte Schaltungen (ASICs) eingesetzt zu werden. Je nach Lizenzmodell ist entweder die Verwendung des IP-Core gestattet (IP-Core Lizenz) oder aber es kann eine vollkommen neue, eigene Mikroarchitektur entwickelt werden, die die ISA von ARM implementiert (Architektur-Lizenz). Bei Besitz beider Lizenzen ist auch das Erweitern und Verändern der IP-Cores möglich. Vorteile der Architekturlizenz sind, dass für Hersteller neben der Integration eigener Peripherie auch andere Erweiterungen wie eigeneMaschinenbefehle, Integration speziellerDebugschnittstellen oder aufgrund einer eigenen Architektur eine Optimierung für einen bestimmten Einsatzzweck (wie beispielsweise Mobilgeräte) möglich werden.
Befehlssatz
[Bearbeiten |Quelltext bearbeiten]Die Prozessoren Cortex-M0 und M1 basieren auf einerARMv6-M Architektur,[9] die Cortex-M3 auf einerArmv7-M Architektur,[10] und die Cortex-M4 sowie Cortex-M7 auf einerArmv7E-M Architektur.[10] Die Unterschiede betreffen primär den Befehlssatz und die zur Verfügung stehenden Maschinenbefehle. Die Linien sind so festgelegt, dass die binären Maschinenbefehle aufwärts kompatibel sind, das heißt, ein Maschinenprogramm von einem Cortex-M0 oder M1 ist ohne Veränderung auch auf einem Cortex-M3, M4 oder M7 lauffähig. Umgekehrt können nicht alle Befehle des Cortex-M3, M4 oder M7 auf der Cortex-M0 oder M1 ausgeführt werden.[9][10]
Alle Prozessoren aus der Cortex-M-Familie unterstützen die Basisbefehle aus dem so genanntenThumb-Befehlssatz, dem Thumb-2-Befehlssatz, und bieten zusätzlich eineMultipliziereinheit in Hardware. M0 und M1 fehlen allerdings im Thumb-Befehlssatz neuere Erweiterungen wie die BefehleCBZ,CBNZ undIT, welche erst in der später entwickeltenArmv7-M-Architektur verfügbar sind. Und der Thumb-2-Befehlssatz ist auf einige wenige Befehle wieBL,DMB,DSB,ISB,MRS undMSR limitiert.[9][10] Die Einschränkungen bei M0 und M1 sind Folge der Vorgabe, die Chipfläche möglichst klein zu halten.
Cortex-M3, mit größerer Chipfläche, umfasst den vollständigen Thumb- und Thumb-2-Befehlssatz, bietet darüber hinaus einige spezielle Instruktionen, eine eigene Divisionseinheit in Hardware und kann mathematische Befehle wie Addition statt mit Überlauf auch mitSättigung behandeln, was insbesondere im Bereich derSignalverarbeitung von Bedeutung ist. Cortex-M4 erweitert diese Möglichkeiten um einige spezielle Befehle, wie sie beidigitalen Signalprozessoren (DSP) üblich sind, und bietet optional eineGleitkommaeinheit für die Bearbeitung vonGleitkommazahlen nach der NormIEEE 754 füreinfache Genauigkeit.[9][10] Der Cortex-M7 erweitert die Gleitkommaeinheit für die Bearbeitung von Gleitkommazahlen fürdoppelte Genauigkeit.[11]
ARM Cortex-M | Thumb | Thumb-2 | Zyklen Hardware- Multiplizierer | Hardware- Dividierer | DSP- Erweite- rung | Sättigungs- arithmetik | Gleit- komma- einheit | Trust Zone | ARM- Architektur |
---|---|---|---|---|---|---|---|---|---|
Cortex-M0 | größten- teils | Subset | 1 oder 32 | nein | nein | nein | nein | nein | ARMv6-M[9] |
Cortex-M1 | 3 oder 33 | nein | nein | nein | nein | nein | ARMv6-M[9] | ||
Cortex-M3 | komplett | komplett | 1 | ja | nein | teil- weise | nein | nein | Armv7-M[10] |
Cortex-M4 | 1 | ja | ja | ja | optional | nein | Armv7E-M[10] | ||
Cortex-M7 | 1 | ja | ja | ja | optional | nein | Armv7E-M[10] | ||
Cortex-M23 | 1 oder 32 | ja | nein | nein | nein | ja | Armv8-M Baseline[12] | ||
Cortex-M33 | 1 | ja | ja | ja | optional | ja | Armv8-M[12] |
Typ | SysTick- Timer | Bit- Banding | Speicher- schutz (MPU) |
---|---|---|---|
Cortex-M0 | optional | nein | nein |
Cortex-M1 | optional | nein | nein |
Cortex-M3 | ja | optional | optional |
Cortex-M4 | ja | optional | optional |
Cortex-M7 | ja | optional | optional |
Die meisten Cortex-M3 und -M4-Chips bietenBit-Banding. Dies bedeutet, dass bestimmte Bits im Speicher auf eine eigene Word-Adresse gemappt und dadurch einfacher angesprochen werden können. Es ist nicht zu verwechseln mitBit-Banging. Ob die Funktion aber auf einer konkreten Cortex-M-Implementierung tatsächlich vorhanden ist, sollte im Einzelfall geprüft werden.[13]
Typen
[Bearbeiten |Quelltext bearbeiten]Cortex-M0
[Bearbeiten |Quelltext bearbeiten]Besonderheiten
[Bearbeiten |Quelltext bearbeiten]Besonderheiten des Cortex-M0 sind:
- ARMv6-M-Architektur[9]
- Von-Neumann-Architektur (anders als M3 und M4)[14]
- Wake-Up-Interrupt-Controller[14]
- Befehlssatz
- Thumb – fast vollständig bis auf CBZ, CBNZ, IT.
- Thumb-2 – Teilmenge bestehend aus BL, DMB, DSB, ISB, MRS, MSR.
- 32-bit-Multipliziereinheit, zur Synthese wählbar mit einem Zyklus, was eine größere Chipfläche bedingt, oder mit 32 Zyklen und weniger Chipfläche.
- 3-stufigePipeline
Implementierungen
[Bearbeiten |Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller Cortex-M0 basierende Mikrocontroller an:
- Infineon: XMC1000 Familie
- nuvoTon: NuMicro-Familie
- NXP: LPC11xx- und LPC12xx-Familien
- STMicroelectronics: STM32-F0-Familie
- Toshiba: TX00-Familie
Cortex-M0+
[Bearbeiten |Quelltext bearbeiten]Besonderheiten
[Bearbeiten |Quelltext bearbeiten]Besonderheiten des Cortex-M0+ sind:
- ARMv6-M-Architektur[9]
- Von-Neumann-Architektur (anders als M3 und M4)[15]
- Wake-Up-Interrupt-Controller[15]
- Interrupt-Vektor-Tabellen-Verschiebung ins RAM[15]
- Befehlssatz
- Thumb – fast vollständig bis auf CBZ, CBNZ, IT.
- Thumb-2 – Teilmenge bestehend aus BL, DMB, DSB, ISB, MRS, MSR.
- 32-bit-Multipliziereinheit, zur Synthese wählbar mit einem Zyklus, was eine höhere Chipfläche bedingt, oder mit 32 Zyklen und weniger Chipfläche.
- 2-stufigePipeline
Implementierungen
[Bearbeiten |Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller Cortex-M0+ basierende Mikrocontroller an:
- Freescale: Kinetis-KL-Familie
- Microchip/Atmel: SAM-D20/21- und SAM-D10/11-Familie
- NXP: LPC800-Familie
- Renesas: Synergy-Familie (S1)
- Raspberry Pi Foundation:RP2040
- Silicon Laboratories: Zero-Gecko-Familie (EFM32ZG)
- Spansion/Cypress: FM0+-Familie
- STMicroelectronics: STM32L0-, STM32C0- und STM32G0-Familien
- Texas Instruments: MSPM0L-Familie
Cortex-M1
[Bearbeiten |Quelltext bearbeiten]Besonderheiten
[Bearbeiten |Quelltext bearbeiten]Besonderheiten des Cortex-M1 sind:
- ARMv6-M-Architektur[9]
- Befehlssatz
- Thumb – fast vollständig bis auf CBZ, CBNZ, IT.
- Thumb-2 – Teilmenge bestehend aus BL, DMB, DSB, ISB, MRS, MSR.
- 32-bit-Multipliziereinheit, zur Synthese wählbar mit einem Zyklus, was eine höhere Chipfläche bedingt, oder mit 32 Zyklen und weniger Chipfläche.
Implementierungen
[Bearbeiten |Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller vonField Programmable Gate Array (FPGA) sogenannte Soft-Cores für ihre Logikbausteine an:
Cortex-M3
[Bearbeiten |Quelltext bearbeiten]
Besonderheiten
[Bearbeiten |Quelltext bearbeiten]Besonderheiten des Cortex-M3 sind:[5]
- Armv7-M-Architektur[10]
- Befehlssatz
- vollständiger Thumb-Befehlssatz
- vollständiger Thumb-2-Befehlssatz
- 32-bit-Multipliziereinheit mit einem Zyklus, 2 bis 12 Zyklen langer Divisionsbefehl, Mathematische Funktionseinheit mit Überlauf- oder Sättigungseigenschaft.
- 3-stufige Pipeline mitSprungvorhersage
- 1 bis 240 physikalischeHardwareinterrupt, eine spezielle Form vonInterrupts mit 12 Zyklen Latenz.
- VerschiedenartigerBereitschaftsbetrieb (Sleep Modes)
- Speicherschutzeinheit (MPU) mit 8 Regionen als Option
- 1,25 DMIPS pro MHz Taktfrequenz
- herstellbar mit 90 nm-Halbleitertechnologie.[16]
- Fläche am Chip für den Kern: 0,12 mm²
Implementierungen
[Bearbeiten |Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller Cortex-M3 basierende Mikrocontroller an:
- Actel: SmartFusion-Familie
- Microchip/Atmel: SAM3-Familie
- Cypress Semiconductor: PSoC 5
- NXP: LPC13xx, LPC15xx, LPC17xx, LPC18xx Familien
- Silicon Laboratories: Tiny Gecko (EFM32TG), Gecko (EFM32G), Leopard Gecko (EFM32LG) und Giant-Gecko Familien (EFM32GG)
- Spansion/Cypress: FM3 Familie
- STMicroelectronics: STM32 F2, F1, L1, W Familien
- Texas Instruments: Stellaris, TMS470, und einige Prozessoren aus der OMAP4-Familie
- Toshiba: TX03 Familie
Cortex-M4
[Bearbeiten |Quelltext bearbeiten]Besonderheiten
[Bearbeiten |Quelltext bearbeiten]Im Aufbau entspricht der Cortex-M4 einem M3, welcher um spezielle DSP-Befehle und optional eineGleitkommaeinheit erweitert ist. Cortex-M4 mit Gleitkommaeinheit wird als Cortex-M4F bezeichnet. Besonderheiten des Cortex-M4 sind:[6]
- Armv7E-M Architektur[10]
- Befehlssatz
- vollständiger Thumb-Befehlssatz
- vollständiger Thumb-2-Befehlssatz
- 32-bit-Multipliziereinheit mit einem Zyklus, 2 bis 12 Zyklen langer Divisionsbefehl, mathematische Funktionseinheit mit Überlauf- oder Sättigungseigenschaft.
- DSP-Erweiterungen: 16/32-bitMAC-Befehl mit einem Zyklus, 8/16-BitSIMD-Arithmetik.
- optionale Gleitkommaeinheit mit der BezeichnungFPv4-SP, IEEE-754 kompatibel.
- 3-stufige Pipeline mitSprungvorhersage
- 1 bis 240 physikalischeHardwareinterrupt, eine spezielle Form vonInterrupts mit 12 Zyklen Latenz.
- verschiedenartigerBereitschaftsbetrieb (Sleep Modes)
- Speicherschutzeinheit (MPU) mit 8 Regionen als Option
- 1,25 DMIPS pro MHz Taktfrequenz (1,27 DMIPS / MHz mitFPU)
Implementierungen
[Bearbeiten |Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller Cortex-M4 basierende Mikrocontroller an:
- Microchip/Atmel: SAM4-Familie (Cortex-M4)
- Infineon:XMC4000-Familie (Cortex-M4F)
- NXP:Kinetis-Familie (Cortex-M4 und Cortex-M4F), LPC40xx- und LPC43xx-Familien (Cortex-M4)
- Renesas: Synergy-Familie (S3, S5 und S7), RA-Familie (RA4 und RA6)
- Silicon Laboratories: Pearl-Gecko-Familie (EFM32PG, Cortex-M4) und Wonder Gecko Familie (EFM32WG, Cortex-M4F)
- Spansion/Cypress: FM4-Familie (Cortex-M4F)
- STMicroelectronics: STM32-F4, L4-, F3-, G4-Familien (Cortex-M4F)
- Texas Instruments: Stellaris-LM4F- und Tiva-TM4C-Familie (Cortex-M4F)
- Toshiba: TX04-Familie (Cortex-M4F)
Cortex-M7
[Bearbeiten |Quelltext bearbeiten]Besonderheiten
[Bearbeiten |Quelltext bearbeiten]Im Vergleich zum Cortex-M4 wurde der M7 mit einer längeren Dual-Issue-Pipeline für höhere Taktfrequenzen, einem neu konzipierten Speichersystem u. a. mit L1-Caches und TCMs, einer Verdoppelung der DSP-Performance gegenüber dem M4 und einem optionalenLockstep ausgestattet. Besonderheiten des Cortex-M7 sind:[11]
- Armv7E-M Architektur[10]
- Befehlssatz
- vollständiger Thumb-Befehlssatz
- vollständiger Thumb-2-Befehlssatz
- L1-Caches für Befehle und Daten von jeweils 4–64 kB
- TCM für Befehle und Daten jeweils 0–16 MB
- insgesamt 6 Speicherschnittstellen, davon 2 × 64 bit und 4 × 32 bit
- 32-bit-Multipliziereinheit mit einem Zyklus, 2 bis 12 Zyklen langer Divisionsbefehl, mathematische Funktionseinheit mit Überlauf- oder Sättigungseigenschaft.
- DSP-Erweiterungen: 16/32-bitMAC-Befehl mit einem Zyklus, 8/16-BitSIMD-Arithmetik.
- Gleitkommaeinheit mit der BezeichnungFPv5, IEEE-754 kompatibel, mit Instruktionen für einfache Genauigkeit (32 Register à 32 bit) oder optional, je nach Implementierung, auch doppelte Genauigkeit (16 Register à 64 bit).[17]
- 6-stufige Dual-Issue-Pipeline mitSprungvorhersage
- 1 bis 240 physikalischeHardwareinterrupt, eine spezielle Form vonInterrupts mit 11–12 Zyklen Latenz.
- verschiedenartigerBereitschaftsbetrieb (Sleep Modes)
- Speicherschutzeinheit (MPU) mit 8 oder 16 Regionen als Option[18]
- optional Lockstep mit zwei unabhängig arbeitenden Cores
- maximale Taktfrequenz 1 GHz
- 2,14 DMIPS pro MHz Taktfrequenz
Implementierungen
[Bearbeiten |Quelltext bearbeiten]Bislang bieten nur wenige Hersteller Cortex-M7 basierende Mikrocontroller an:
- Microchip/Atmel: SAM S-, E- und V-Serie[19]
- STMicroelectronics: STM32-F7 und H7 Familien[20]
- NXP: Kinetis V Series[21], i.MX RT Series
- PJRC: Teensy 4/4.1
- Cypress: Traveo II[22]
Entwicklungswerkzeuge
[Bearbeiten |Quelltext bearbeiten]
Alsintegrierte Entwicklungsumgebungen steht unter anderen dieGNU Toolchain mitEclipse zur Verfügung. Daneben gibt es noch verschiedene kommerzielle Angebote beispielsweise vonIAR oder Keil. Als Betriebssysteme können unter anderemEchtzeitbetriebssysteme wie embOS,[23]FreeRTOS, OpenRTOS, SafeRTOS oder SCIOPTA[24] verwendet werden. Auf Prozessoren mit externem Speicherinterface ist es auch möglich,µClinux auszuführen. Als Debugger für dieJTAG-Schnittstelle sind unter anderem derGNU Debugger in Verbindung mit OpenOCD für die Hardwareanbindung verfügbar.
Die Dokumentation ist sehr umfangreich. Insbesondere sind die Kernfunktionen der Cortex-M-Familie in den Unterlagen von ARM beschrieben und für alle Implementierungen identisch. Die diversen konkreten Hardwareimplementierungen und herstellerspezifische Erweiterungen sind hingegen in den jeweiligen Herstellerunterlagen beschrieben.
Literatur
[Bearbeiten |Quelltext bearbeiten]- Joseph Yiu:The Definitive Guide to the ARM Cortex-M0. 2. Auflage. Newnes, 2011,ISBN 978-0-12-385477-3,S. 552.
- Joseph Yiu:The Definitive Guide to the ARM Cortex-M3. 2. Auflage. Newnes, 2009,ISBN 978-1-85617-963-8,S. 479.
Siehe auch
[Bearbeiten |Quelltext bearbeiten]Weblinks
[Bearbeiten |Quelltext bearbeiten]- ARM Cortex-M Website
- Quick Reference Cards für die Befehlssätze:Thumb (PDF; 127 kB),ARM and Thumb-2 (PDF; 226 kB),Vector Floating Point (PDF; 99 kB)
Cortex-M-Serie | ARM-Website | ARM-Core | Arm-Architektur |
---|---|---|---|
M0 | M0 | Cortex™-M0 Revision: r0p0 - Technical Reference Manual (PDF; 472 kB) | ARMv6-M |
M0+ | M0+ | Cortex-M0+ Revision: r0p1 Technical Reference Manual (PDF; 427 kB) | ARMv6-M |
M1 | M1 | Cortex™-M1 Revision: r1p0 - Technical Reference Manual (PDF; 943 kB) | ARMv6-M |
M3 | M3 | Cortex™-M3 Revision: r2p1 - Technical Reference Manual (PDF; 889 kB) Cortex™-M3 Revision: r1p1 - Technical Reference Manual (PDF; 2,1 MB) | Armv7-M |
M4 | M4 | Cortex®-M4 Revision: r0p1 - Technical Reference Manual (PDF; 813 kB) Cortex™-M4 Technical Reference Manual ARM DDI 0439B Errata 01 (PDF; 121 kB) | Armv7E-M |
M7 | M7 |
Einzelnachweise
[Bearbeiten |Quelltext bearbeiten]- ↑Cortex-M0, -M0+ und -M1 zählen zur ARMv6-Architektur und Cortex-M3 und -M4 zur Armv7-Architektur.
- ↑Cortex-M0 m0 r0p0 Technical Reference Manual; ARM Holdings. (PDF; 461 kB)
- ↑Cortex-M0+ m0p r0p0 Technical Reference Manual; ARM Holdings. (PDF; 417 kB)
- ↑Cortex-M1 m1 r1p0 Technical Reference Manual; ARM Holdings. (PDF; 943 kB)
- ↑abCortex-M3 m3 r2p0 Technical Reference Manual; ARM Holdings. (PDF; 2,4 MB)
- ↑abCortex-M4 m4 r0p1 Technical Reference Manual; ARM Holdings. (PDF; 914 kB)
- ↑Cortex-M23. Abgerufen am 2. März 2018.
- ↑Cortex-M33. Abgerufen am 2. März 2018.
- ↑abcdefghijARMv6-M Architecture Reference Manual; ARM Holdings.
- ↑abcdefghijklARMv7-M Architecture Reference Manual; ARM Holdings.
- ↑abARMs Cortex-M7 - der Schlüssel zu sicherheitskritischen Anwendungen? Frank Riemenschneider, elektroniknet.de, abgerufen am 24. September 2014.
- ↑abARMv8-M Architecture Reference Manual, Ausgabe A.d. Abgerufen am 3. März 2018.
- ↑Cortex-M3 Embedded Software Development; App Note 179; ARM Holdings. (PDF; 179 kB)
- ↑abARMs Mini-Core soll MCU-Markt neu definieren. Frank Riemenschneider, elektroniknet.de, archiviert vom Original am 25. Juni 2020; abgerufen am 27. Mai 2010. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäßAnleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.elektroniknet.de
- ↑abcARM stellt kleinsten 32-bit-Core aller Zeiten vor. Frank Riemenschneider, elektroniknet.de, archiviert vom Original am 8. Januar 2017; abgerufen am 13. März 2013. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäßAnleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.elektroniknet.de
- ↑Arm Cortex-M3 Specifications, ARM Holdings, engl.
- ↑ARM Information Center. Abgerufen am 24. Februar 2017.
- ↑Arm Cortex-M7 Devices Generic User Guide: 4.6.1. MPU Type Register. In: infocenter.arm.com. Abgerufen am 30. September 2016.
- ↑atmel.com
- ↑st.com
- ↑Kinetis® V Series: Real-time Motor Control & Power Conversion MCUs based on Arm® Cortex®-M0+/M4/M7|NXP. Abgerufen am 25. Januar 2018.
- ↑Cypress Traveo™ II 32-bit Arm Automotive Microcontrollers (MCUs). Abgerufen am 13. Juni 2021.
- ↑segger.com RTOS.
- ↑sciopta.com RTOS; IEC61508.
ARM1-Familie | ARMv1 (ARM1) |
ARM2-Familie | ARMv2 (ARM2) |ARMv2a (ARM250) |
ARM3-Familie | ARMv2a (ARM2a) |
ARM6-Familie | ARMv3 (ARM60, ARM600, ARM610) |
ARM7-Familie | ARMv3 (ARM700, ARM710, ARM710a, ARM7100, ARM7500, ARM7500FE) |
ARM7TDMI-Familie | ARMv4T (ARM7TDMI, ARM7TDMI-S, ARM710T, ARM720T, ARM740T) |ARMv5TEJ (ARM7EJ-S) |
StrongARM-Familie | ARMv4 (SA-110, SA-1110) |
ARM8-Familie | ARMv4 (ARM810) |
ARM9TDMI-Familie | ARMv4T (ARM9TDMI, ARM920T, ARM922T, ARM940T) |
ARM9E-Familie | ARMv5TE (ARM946E-S, ARM966E-S, ARM968E-S, ARM996HS) |ARMv5TEJ (ARM926EJ-S) |
ARM10E-Familie | ARMv5TE (ARM1020E, ARM1022E) |ARMv5TEJ (ARM1026EJ-S) |
ARM11-Familie | ARMv6 (ARM1136J-S, ARM1136JF-S) |ARMv6T2 (ARM1156T2-S, ARM1156T2F-S) |ARMv6KZ (ARM1176JZ-S, ARM1176JZF-S) |ARMv6K (ARM11 MPCore) |
Cortex-A-Familie | ARMv7-A (Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A12, Cortex-A15, Cortex-A17) |ARMv8-A (Cortex-A35, Cortex-A53, Cortex-A57, Cortex-A72, Cortex-A73) |
Cortex-M-Familie | ARMv6-M (Cortex-M0, Cortex-M0+, Cortex-M1) |ARMv7-M (Cortex-M3,Cortex-M4) |ARMv8-M (Cortex-M23, Cortex-M33, Cortex-M35P) |ARMv8.1-M (Cortex-M55) |
Cortex-R-Familie | ARMv7-R (Cortex-R4, Cortex-R4F) |
Konzepte | ASIC •SoC •FPGA (CLB) •CPLD •EPLD •PLA •PAL •GAL •PSoC •Reconfigurable Computing (Xputer) •Soft microprocessor •Circuit underutilization •High-level synthesis •Hardwarebeschleunigung | ||||||||||
Programmiertechnik | |||||||||||
Programmiersprachen | Verilog(A,AMS) •VHDL(AMS,VITAL) •SystemVerilog(DPI) •SystemC •AHDL •Handel-C •PSL •UPF •PALASM •ABEL •CUPL •OpenVera •C to HDL •Flow to HDL •MyHDL •JHDL •ELLA | ||||||||||
Hersteller | Accellera •Achronix •Altera (Intel) •AMD (Xilinx) •Aldec •Bitmain •Cadence •Duolog •Forte •Infineon (Cypress) •Lattice •Mentor Graphics •Microchip Technology •Signetics •Synopsys (Magma,Virage Logic) •Texas Instruments •Tabula • | ||||||||||
Produkte |
|