ARM Cortex-A
{{More citations needed|date=June 2025}}
{{Short description|Family of microprocessor cores with ARM microarchitecture}}
{{Infobox CPU
|name = ARM Cortex-A
|designfirm = ARM Holdings
|arch = 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, ARMv9-A, ARMv9.2-A
}}
The ARM Cortex-A is a family of ARM architecture processor cores developed by Arm Holdings. Designed for application-level computing, Cortex-A cores are widely used in devices such as smartphones, tablets, laptops, and embedded systems.
Cortex-A processors include both 32-bit and 64-bit designs. Most 32-bit cores implement the ARMv7-A architecture profile. All 64-bit Cortex-A cores implement the ARMv8-A profile, which supports both 64-bit and, in some cases, 32-bit execution.
The Cortex-A series is distinct from Arm's Cortex-R and Cortex-M families, which are optimized for real-time and low-power applications, respectively. Unlike the other two families, the Cortex-A series supports a memory management unit (MMU) required by many modern operating systems.
Overview
class="wikitable" border="1" style="float:right; margin-left:9px;" | |
colspan=2 | 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 |
class="wikitable" border="1" style="float:right; margin-left:9px;" | |
colspan=2 | 32/64-bit | |
---|---|
Year | Core |
rowspan=2 | 2012 | Cortex-A53 |
Cortex-A57 | |
rowspan=2 | 2015 | Cortex-A35 |
Cortex-A72 | |
2016 | Cortex-A73 |
rowspan=2 | 2017 | Cortex-A55 |
Cortex-A75 | |
2018 | Cortex-A76 |
2019 | Cortex-A77 |
2020 | Cortex-A78 |
2021 | Cortex-A710 |
2022 | Cortex-A510 (refresh) |
class="wikitable" border="1" style="float:right; margin-left:9px;" | |
colspan=2 | 64-bit | |
---|---|
Year | Core |
2016 | Cortex-A34 |
2018 | Cortex-A65 |
2021 | Cortex-A510 |
2022 | Cortex-A715 |
rowspan=2 | 2023 | Cortex-A520 |
Cortex-A720 | |
2024 | Cortex-A725 |
rowspan=3 | 2025 | Cortex-A320 |
Cortex-A530 | |
Cortex-A730 |
{{See also|ARM architecture family|List of ARM processors}}
= Licensing and customization =
Arm Holdings does not produce or sell physical processors. Instead, it licenses its processor designs to other companies, which integrate them into custom chips. Licensees receive a synthesizable hardware description of the core—typically written in Verilog—along with a software development toolkit and the rights to produce and sell chips containing the ARM architecture.
This licensing model allows chip designers to customize the processor core to meet specific performance, power efficiency, or size requirements. Manufacturers can add proprietary features, optimize for higher clock speeds or lower power consumption, and configure the core to suit a wide range of applications. The exact configuration of an ARM-based chip varies by manufacturer and can be determined by consulting datasheets and reference manuals.
= Instruction sets =
Cortex-A cores implement several versions of the ARM architecture, reflecting their generation and feature set. Older models such as the Cortex-A5, A7, A8, A9, A12, A15, and A17 are based on the ARMv7-A architecture. Newer 32-bit and 64-bit cores—including the Cortex-A32, A34, A35, A53, A57, A72, and A73—use the ARMv8-A architecture, which introduced support for exclusive load and store instructions used in synchronization.{{Cite web |url=https://documentation-service.arm.com/static/5efa1989dbdee951c1ccdea1 |title=ARMv8-A Synchronization primitives |page=6 |accessdate=2023-12-14}} Later cores such as the Cortex-A55, A65, A75, A76, A77, and A78 implement ARMv8.2-A. The most recent designs, including the Cortex-A510, A710, A715, A520, and A720, are based on the ARMv9-A and ARMv9.2-A architectures.
= Technical documentation =
Documentation for ARM-based processors is typically organized in several layers. At the top level are high-level marketing materials and datasheets provided by the chip manufacturer, which describe the specific system-on-chip (SoC) and its capabilities. More detailed reference manuals outline the chip’s peripherals and system integration features.
At the core level, Arm publishes reference manuals for each Cortex-A processor, covering implementation details and supported features.[https://silver.arm.com/download/download.tm?pv=1299246 ARMv7-A Architecture Reference Manual; ARM Holdings.] For a deeper understanding of the underlying instruction sets and architecture, Arm’s architecture reference manuals provide a comprehensive technical specification. Additional documentation, such as evaluation board guides, application notes, and errata, is often provided by manufacturers to support development and deployment.
See also
{{Portal|Electronics}}
References
{{Reflist}}
External links
{{Commons category}}
;ARM Cortex-A official documents
- {{Official website|http://www.arm.com/products/processors/cortex-a/index.php/|ARM Cortex-A official website}}
:
class="wikitable" style="text-align:center;" | ||||
ARM Core | Bit Width | ARM Website | ARM Technical Reference Manual | ARM Architecture Reference Manual |
---|---|---|---|---|
style="background: LightCyan" | Cortex-A5 | 32 | [https://developer.arm.com/products/processors/cortex-a/cortex-a5 Link] | [https://developer.arm.com/documentation/ddi0434/latest/ Link] | rowspan=7 | [https://developer.arm.com/documentation/ddi0406/latest/ ARMv7-A] |
style="background: LightCyan" | Cortex-A7 | 32 | [https://developer.arm.com/products/processors/cortex-a/cortex-a7 Link] | [https://developer.arm.com/documentation/ddi0464/latest/ Link] | |
style="background: LightCyan" | Cortex-A8 | 32 | [https://developer.arm.com/products/processors/cortex-a/cortex-a8 Link] | [https://developer.arm.com/documentation/ddi0344/latest/ Link] | |
style="background: LightCyan" | Cortex-A9 | 32 | [https://developer.arm.com/products/processors/cortex-a/cortex-a9 Link] | [https://developer.arm.com/documentation/ddi0407/latest/ Link] | |
style="background: LightCyan" | Cortex-A12 | 32 | colspan=2 {{n/a|merged into A17}} | ||
style="background: LightCyan" | Cortex-A15 | 32 | [https://developer.arm.com/products/processors/cortex-a/cortex-a15 Link] | [https://developer.arm.com/documentation/ddi0438/latest/ Link] | |
style="background: LightCyan" | Cortex-A17 | 32 | [https://developer.arm.com/products/processors/cortex-a/cortex-a17 Link] | [https://developer.arm.com/documentation/ddi0535/latest/ Link] | |
style="background: LightCyan" | Cortex-A32 | 32 | [https://developer.arm.com/products/processors/cortex-a/cortex-a32 Link] | [https://developer.arm.com/documentation/100241/latest/ Link] | rowspan=4 | [https://developer.arm.com/documentation/ddi0487/latest/ ARMv8-A] |
style="background: LightCyan" | Cortex-A34 | 64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a34 Link] | [https://developer.arm.com/documentation/100246/latest/ Link] | |
style="background: LightCyan" | Cortex-A35 | 32/64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a35 Link] | [https://developer.arm.com/documentation/100236/latest/ Link] | |
style="background: LightCyan" | Cortex-A53 | 32/64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Link] | [https://developer.arm.com/documentation/ddi0500/latest/ Link] | |
style="background: LightCyan" | Cortex-A55 | 32/64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a55 Link] | [https://developer.arm.com/documentation/100442/latest/ Link] | [https://developer.arm.com/documentation/ddi0487/latest/ ARMv8.2-A] |
style="background: LightCyan" | Cortex-A57 | 32/64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a57 Link] | [https://developer.arm.com/documentation/ddi0488/latest/ Link] | [https://developer.arm.com/documentation/ddi0487/latest/ ARMv8-A] |
style="background: LightCyan" | Cortex-A510 | 64 (2021) 32/64 (2022) | [https://developer.arm.com/ip-products/processors/cortex-a/cortex-a510 Link] | [https://developer.arm.com/documentation/101604/latest/ Link] | [https://developer.arm.com/documentation/ddi0608/latest/ ARMv9-A] |
style="background: LightCyan" | Cortex-A520 | 64 | [https://developer.arm.com/Processors/Cortex-A520 Link] | [https://developer.arm.com/documentation/102517/latest/ Link] | [https://developer.arm.com/documentation/ddi0487/latest/ ARMv9.2-A] |
style="background: LightCyan" | Cortex-A65 | 64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a65 Link] | [https://developer.arm.com/documentation/100439/latest/ Link] | [https://developer.arm.com/documentation/ddi0487/latest/ ARMv8.2-A] |
style="background: LightCyan" | Cortex-A72 | 32/64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Link] | [https://developer.arm.com/documentation/100095/latest/ Link] | rowspan=2 | [https://developer.arm.com/documentation/ddi0487/latest/ ARMv8-A] |
style="background: LightCyan" | Cortex-A73 | 32/64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a73 Link] | [https://developer.arm.com/documentation/100048/latest/ Link] | |
style="background: LightCyan" | Cortex-A75 | 32/64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a75 Link] | [https://developer.arm.com/documentation/100403/latest/ Link] | rowspan=4 | [https://developer.arm.com/documentation/ddi0487/latest/ ARMv8.2-A] |
style="background: LightCyan" | Cortex-A76 | 32/64 | [https://developer.arm.com/products/processors/cortex-a/cortex-a76 Link] | [https://developer.arm.com/documentation/100798/latest/ Link] | |
style="background: LightCyan" | Cortex-A77 | 32/64 | [https://developer.arm.com/ip-products/processors/cortex-a/cortex-a77 Link] | [https://developer.arm.com/documentation/101111/latest/ Link] | |
style="background: LightCyan" | Cortex-A78 | 32/64 | [https://developer.arm.com/ip-products/processors/cortex-a/cortex-a78 Link] | [https://developer.arm.com/documentation/101430/latest/ Link] | |
style="background: LightCyan" | Cortex-A710 | 32/64 | [https://developer.arm.com/ip-products/processors/cortex-a/cortex-a710 Link] | [https://developer.arm.com/documentation/101800/latest/ Link] | rowspan=2 | [https://developer.arm.com/documentation/ddi0608/latest/ ARMv9-A] |
style="background: LightCyan" | Cortex-A715 | 64 | [https://developer.arm.com/Processors/Cortex-A715 Link] | [https://developer.arm.com/documentation/101590/latest/ Link] | |
style="background: LightCyan" | Cortex-A720 | 64 | [https://developer.arm.com/Processors/Cortex-A720 Link] | [https://developer.arm.com/documentation/102530/latest/ Link] | [https://developer.arm.com/documentation/ddi0487/latest/ ARMv9.2-A] |
;Quick Reference Cards
- Instructions: Thumb ([http://infocenter.arm.com/help/topic/com.arm.doc.qrc0006e/QRC0006_UAL16.pdf 1]), ARM and Thumb-2 ([http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001m/QRC0001_UAL.pdf 2]), Vector Floating-Point ([http://infocenter.arm.com/help/topic/com.arm.doc.qrc0007e/QRC0007_VFP.pdf 3]) – arm.com
- Opcodes: Thumb ([http://re-eject.gbadev.org/files/ThumbRefV2-beta.pdf 1], [http://www.mechcore.net/files/docs/ThumbRefV2-beta.pdf 2]), ARM ([http://re-eject.gbadev.org/files/armref.pdf 3], [http://www.mechcore.net/files/docs/armref.pdf 4]), GNU Assembler Directives ([http://re-eject.gbadev.org/files/GasARMRef.pdf 5]).
;Migrating
- [http://infocenter.arm.com/help/topic/com.arm.doc.dai0235c/DAI0235C_migrating_from_mips_to_arm.pdf Migrating from MIPS to ARM] – arm.com
- [http://infocenter.arm.com/help/topic/com.arm.doc.dai0245b/DAI0245B_migrating_from_ppc_to_arm.pdf Migrating from PPC to ARM] – arm.com
- [http://infocenter.arm.com/help/topic/com.arm.doc.dai0314a/DAI0314A_migrating_from_SH_4_to_Cortex_A.pdf Migrating from SH-4 to Cortex-A] – arm.com
- [http://infocenter.arm.com/help/topic/com.arm.doc.dai0274b/DAI0274B_migrating_from_ia32_to_arm.pdf Migrating from IA-32 (x86-32) to ARM] – arm.com
{{Clear}}
{{Application ARM-based chips|state=expanded}}
{{Clear}}