ARM Cortex-A

ARM Cortex-A
Designed by ARM Holdings
Instruction set

ARM, Thumb-2 (32-bit cores); ARMv7-A and ARMv8-A

A64, A32, T32 (64-bit cores); ARMv8-A, ARMv8.1-A,
ARMv8.2-A, ARM8.3-A

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-A55, ARM Cortex-A57, ARM Cortex-A72, ARM Cortex-A73, ARM Cortex-A75, and ARM Cortex-A76.

The 32-bit ARM Cortex-A cores, except for the Cortex-A32, 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.

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.

Overview

Announced
(32-bit)
YearCore
2005Cortex-A8
2007Cortex-A9
2009Cortex-A5
2010Cortex-A15
2011Cortex-A7
2013Cortex-A12
2014Cortex-A17
2016Cortex-A32
Announced
(64-bit)
YearCore
2012Cortex-A53
2012Cortex-A57
2015Cortex-A72
2015Cortex-A35
2016Cortex-A73
2017Cortex-A55
2017Cortex-A75
2018Cortex-A76

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:

  1. IC Manufacturer's high-level marketing slides
  2. IC Manufacturer datasheet for the exact physical chip
  3. IC Manufacturer Reference Manuals — describes common peripherals and other aspects of physical chips within the same series
  4. ARM Core Reference Manuals — for the exact ARM core processor within the chip
  5. 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

References

ARM Cortex-A official documents
ARM
Core
Bit
Width
ARM
Website
ARM Technical
Reference Manual
ARM Architecture
Reference Manual
Cortex-A5
32
Link
Link
ARMv7-A
Cortex-A7
32
Link
Link
ARMv7-A
Cortex-A8
32
Link
Link
ARMv7-A
Cortex-A9
32
Link
Link
ARMv7-A
Cortex-A12
32
data-sort-value="" style="vertical-align:middle; text-align:center" class="table-na" | —
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | merged into A17
ARMv7-A
Cortex-A15
32
Link
Link
ARMv7-A
Cortex-A17
32
Link
Link
ARMv7-A
Cortex-A32
32
Link
data-sort-value="" style="vertical-align:middle; text-align:center" class="table-na" | —
ARMv8-A
Cortex-A35
32/64
Link
data-sort-value="" style="vertical-align:middle; text-align:center" class="table-na" | —
ARMv8-A
Cortex-A53
32/64
Link
Link
ARMv8-A
Cortex-A55
32/64
Link
data-sort-value="" style="vertical-align:middle; text-align:center" class="table-na" | —
ARMv8.2-A
Cortex-A57
32/64
Link
Link
ARMv8-A
Cortex-A72
32/64
Link
Link
ARMv8-A
Cortex-A73
32/64
Link
Link
ARMv8-A
Cortex-A75
32/64
Link
data-sort-value="" style="vertical-align:middle; text-align:center" class="table-na" | —
ARMv8.2-A
Cortex-A76
64
Link
data-sort-value="" style="vertical-align:middle; text-align:center" class="table-na" | —
ARMv8.3-A
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).
Migrating
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.