ARM Cortex-A
Designed by | ARM Holdings |
---|---|
Instruction set | A64, A32, T32 (64-bit cores) |
The ARM Cortex-A is a group of 32-bit and 64-bit RISC ARM processor cores licensed by ARM Holdings. The cores are intended for application use. The group consists of 32-bit cores: ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15, ARM Cortex-A17 MPCore,[1] and ARM Cortex-A32,[2] and 64-bit cores: ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, ARM Cortex-A72, and ARM Cortex-A73.
The 64-bit ARM Cortex-A cores as well as the 32-bit ARM Cortex-A32 implement the ARMv8-A profile of the ARMv8 architecture.
The 32-bit ARM Cortex-A cores implement the ARMv7-A profile of the ARMv7 architecture. The main distinguishing feature of the ARMv7-A profile, compared to the other two profiles, the ARMv7-R profile implemented by the ARM Cortex-R cores and the ARMv7-M profile implemented by most of the ARM Cortex-M cores, is that only the ARMv7-A profile includes a memory management unit (MMU).[3] Many modern operating systems require a MMU to run.
Overview
Announced (32-bit) | |
---|---|
Year | Core |
2005 | Cortex-A8 |
2007 | Cortex-A9 |
2009 | Cortex-A5 |
2010 | Cortex-A15 |
2011 | Cortex-A7 |
2013 | Cortex-A12 |
2014 | Cortex-A17 |
2016 | Cortex-A32 |
Announced (64-bit) | |
---|---|
Year | Core |
2012 | Cortex-A53 |
2012 | Cortex-A57 |
2015 | Cortex-A72 |
2015 | Cortex-A35 |
2016 | Cortex-A73 |
ARM license
ARM Holdings neither manufactures nor sells CPU devices based on its own designs, but rather licenses the processor architecture to interested parties. ARM offers a variety of licensing terms, varying in cost and deliverables. To all licensees, ARM provides an integratable hardware description of the ARM core, as well as complete software development toolset, and the right to sell manufactured silicon containing the ARM CPU.
Silicon customization
Integrated device manufacturers (IDM) receive the ARM Processor IP as synthesizable RTL (written in Verilog). In this form, they have the ability to perform architectural level optimizations and extensions. This allows the manufacturer to achieve custom design goals, such as higher clock speed, very low power consumption, instruction set extensions, optimizations for size, debug support, etc. To determine which components have been included in an ARM IC chip, consult the manufacturer datasheet and related documentation.
Instruction sets
The Cortex-A5 / A7 / A8 / A9 / A12 / A15 / A17 cores implement the ARMv7-A architecture.[1] The Cortex-A32 / A35 / A53 / A57 / A72 / A73 cores implement the ARMv8-A architecture.
Documentation
The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer and documents from CPU core vendor (ARM Holdings).
A typical top-down documentation tree is:
- IC Manufacturer's high-level marketing slides
- IC Manufacturer datasheet for the exact physical chip
- IC Manufacturer Reference Manuals — describes common peripherals and other aspects of physical chips within the same series
- ARM Core Reference Manuals — for the exact ARM core processor within the chip
- ARM Architecture Reference Manuals — includes detailed description of all instruction sets of the core[1]
IC Manufacturers usually have additional documents, including: evaluation board user manuals, application notes, getting started with development software, software library documents, errata, and more.
See also
- ARM architecture
- Comparison of ARMv7-A cores
- Comparison of ARMv8-A cores
- List of ARM microarchitectures
- JTAG, SWD
References
External links
Wikimedia Commons has media related to ARM Cortex-A. |
- Official
- 32-bit
- ARM Cortex-A5
- ARM Cortex-A7
- ARM Cortex-A8
- ARM Cortex-A9
- ARM Cortex-A12
- ARM Cortex-A15
- ARM Cortex-A17
- ARM Cortex-A32
- 64-bit
- Quick Reference Cards
- Instructions: Thumb (1), ARM and Thumb-2 (2), Vector Floating-Point (3), arm.com
- Opcodes: Thumb (1, 2), ARM (3, 4), GNU Assembler Directives (5).