Cortex-A

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

ARM Cortex-A sind von ARM konstruierte Prozessorkerne, wie sie zusammen mit dem Vorläufer ARM11 und einigen unabhängigen Implementierungen der ARM-Architektur in nahezu jedem Smartphone und Tablet verbaut sind.

ARM bezeichnet die Prozessorlinien folgendermaßen[1]:

ARM Cortex Embedded Processors
Cortex-M Series – Cost-sensitive solutions for deterministic microcontroller applications
ARM Cortex Real-time Embedded Processors
Cortex-R Series – Exceptional performance for real-time applications
ARM Cortex Application Processors
Cortex-A Series – High performance processors for open Operating Systems

Die Cortex-A-Prozessoren sind deutlich leistungsstärker als ARM Cortex M Mikroprozessoren, daher werden sie eher im Application-Bereich, sprich mit Betriebssystemen, wie Linux (z.B. Debian, Arch Linux ARM, Android), Windows Mobile etc. eingesetzt.


Offizielle Beschreibungen aller Cortex-A Prozessoren von ARM
ARM Core Key Benefits
Cortex-A5
  • ARM’s smallest application processor with Uniprocessor (UP) and Multiprocessor (MP) licensing options
  • Extremely configurable processor with optional NEON, optional FPU and L1 caches configurable from 4K-64KB
  • Full feature set of Cortex-A9 processor at one third the area and power
Cortex-A7
  • ARMv7-A architectural extensions (40-bit physical addressing, hardware virtualization support)
  • More than 20% improvement in single thread integer performance compared to Cortex-A5
  • Integrated L2 cache subsystem provides improved area efficiency and up to 43% improvements in memory streaming performance
  • Proven successful design, now well matched to the needs of wearable mobile devices and other UI-based consumer products
Cortex-A8
  • Large increase in single thread performance over it’s predecessor, the ARM11
  • ARMv7-A support including NEON and TrustZone
  • Widely deployed in mobile and embedded, with numerous low-cost 3rd party development platforms. A great processor on which to learn the ARM architecture.
Cortex-A9
  • Scalable performance and power efficiency for a broad range of 32-bit consumer, networking, enterprise and mobile applications
  • Support the wide ARMv7-A 32-bit software eco-system
  • Mature and silicon proven in multiple process technologies
Cortex-A15
  • Established ARMv7-A processor with NEON-VFP configurability
  • Reliable 32-bit infrastructure computing with 1TB addressing
  • Support for multi-tenant software virtualization
Cortex-A17
  • Highest performance for ARMv7-A software ecosystem
  • Cost efficiency with premium 32-bit performance for mass-market devices
  • Mature and shipped in a wide range of consumer and embedded markets
Cortex-A32
  • ARMv8-A architectural enhancements, full backwards compatibility with ARMv7-A software
  • Higher efficiency and performance compared to Cortex-A7 processor
  • New idle power management features
  • Highly scalable 32-bit processor with new configuration options
Cortex-A35
  • Most efficient 64-bit ARMv8-A processor with full ARMv7-A compatibility
  • Efficiency improvements compared to the Cortex-A7: Less active power, improved performance
  • Highly scalable ARMv8-A processor with new configuration options
Cortex-A53
  • High efficiency CPU for wide range of applications in mobile, DTV, automotive, networking, and more
  • ARMv8-A architecture at low cost for standalone entry level designs
  • Versatile enough to pair with any ARMv8 core in a big.LITTLE pairing, including Cortex-A57, Cortex-A72, or even other Cortex-A53 or Cortex-A35 CPU clusters
  • Mature product with high volume shipment
Cortex-A55
  • Extreme scalability
  • Delivering great performance and efficiency for immersive experiences
  • Over 3000 unique design configurations
  • new DynamIQ big.LITTLE Concept
Cortex-A57
  • Established ARMv8-A 64-bit processor
  • Reliable 64-bit infrastructure computing with 16TB addressing
  • Proven functional safety documentation package
Cortex-A72
  • ARM’s state-of-the-art high-performance processor for infrastructure, mobile, and automotive
  • Market-leading compute density across all application form factors
  • Improved performance and efficiency, with full ARMv8-A 64b support.
Cortex-A73
  • Highest performance in mobile power envelope. Up to 30% higher performance than previous generation.
  • Up to 2.8GHz frequency for highest peak performance
  • New levels of sustained usage for the best user experience. Up to 30% increased power efficiency
  • Smallest premium ARMv8-A processor ever. Premium CPU under 0.65mm2 per core.
Cortex-A75
  • New levels of performance
  • 20% more integer core performance
  • Latest architecture (ARMv8-A)
  • new DynamIQ big.LITTLE Concept

Unterschiede zum Cortex-M

Die Unterschiede zu den Cortex-M Mikrocontrollern sind unter anderem folgende:

  • Teilweise 64 bit Prozessoren, mit vergrößertem Adressraum (44 bit oder mehr statt 32 bit)
  • Kein On-Chip Speicher (meist ein geringes RAM vorhanden, aber ein externes ist so gut wie immer trotzdem nötig) macht externes Speicherinterface nötig, was viele Pins nutzt. Auch braucht man natürlich extra Speicher- und (DDR)-SDRAM-ICs.
  • Mehrere Levels von Data und Instruction Caches
  • Gehäuse mit wesentlich mehr Pins, meist im BGA
  • Höhere Taktfrequenz (mehr als 500 MHz sind keine Seltenheit, aktuell maximal 2.8 GHz)
  • ARM big.LITTLE Konzept: mehrere "kleine" Cortex-A-Cores werden zusammen mit mehreren "großen" Cores verschalten, um Enegie zu sparen: wenn wenig Leistung nötig ist werden die Energie-effizienteren Cores benutzt, bei hohen Leistungsanforderungen übernehmen die anderen Cores
  • DynamIQ: neuere Erweiterung des big.LITTLE-Konzepts für mehr Flexibilität
  • ARM Jazelle für die beschleunigte Ausführung von Java-Code
  • Sicherheitsmechanismen, wie eine MMU oder die ARM TrustZone Technologie
  • Optional eine NEON™ Media Processing Engine
  • Schnellere und präzisere FPU
  • Kryptographie, wie AES- und SHA-Algorithmen, True-Random-Generators
  • Digitale Interfaces, die man eher aus dem PC-Bereich kennt, wie HS-USB-Hosts, schnelles Ethernet, SD/MMC Interface, Kamera- oder Video-Dekoder, I²S, ...
  • Dazu kommen aber auch klassische Mikrocontroller-Interfaces, wie UART, I²C, SPIs, interne ADCs und DACs, sowie Timer

(für alle oben genannten Fälle gibt es natürlich auch Ausnahmen)

Einige der oben genannten Punkte finden sich neuerdings auch in Cortex-M7-Controllern, die damit die Brücke zwischen Mikrocontrollern und Anwendungsprozessoren schlagen.

Größter Nachteil für diese Leistungsfähigen Controller wird das fehlen von On-Chip Flash und RAM sein, weil man so extra ICs braucht, was wiederum das Layouten erschwert, da ein DDR3-RAM-Design nicht mehr sonderlich einfach ist.

Links