From WikiChip
Difference between revisions of "arm holdings/microarchitectures/cortex-a9"
< arm holdings

(Falcon codename added)
 
(3 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
|introduction=October 3, 2007
 
|introduction=October 3, 2007
 
|process=40 nm
 
|process=40 nm
 +
|isa=ARMv7
 
|predecessor=Cortex-A8
 
|predecessor=Cortex-A8
 
|predecessor link=arm_holdings/microarchitectures/cortex-a8
 
|predecessor link=arm_holdings/microarchitectures/cortex-a8
Line 18: Line 19:
 
|successor 4 link=arm_holdings/microarchitectures/cortex-a5
 
|successor 4 link=arm_holdings/microarchitectures/cortex-a5
 
}}
 
}}
'''Cortex-A9''' is the successor to the {{armh|Cortex-A8|l=arch}}, a low-power performance [[ARM]] [[microarchitecture]] designed by [[ARM Holdings]] for the mobile market. This microarchitecture is designed as a synthesizable [[IP core]] and is sold to other semiconductor companies to be implemented in their own chips.
+
'''Cortex-A9''' (codename '''Falcon''') is the successor to the {{armh|Cortex-A8|l=arch}}, a low-power performance [[ARM]] [[microarchitecture]] designed by [[ARM Holdings]] for the mobile market. This microarchitecture is designed as a synthesizable [[IP core]] and is sold to other semiconductor companies to be implemented in their own chips.
  
 
The Cortex-A9 was later succeeded by four independent lines - high-performance ({{\\|Cortex-A15|A15}}), mainstream performance ({{\\|Cortex-A12|A12}}), high efficiency ({{\\|Cortex-A7|A7}}), and ultra-low power ({{\\|Cortex-A5|A5}}).
 
The Cortex-A9 was later succeeded by four independent lines - high-performance ({{\\|Cortex-A15|A15}}), mainstream performance ({{\\|Cortex-A12|A12}}), high efficiency ({{\\|Cortex-A7|A7}}), and ultra-low power ({{\\|Cortex-A5|A5}}).
Line 34: Line 35:
 
|}
 
|}
  
One can specify {{arm|NEON}} support using the <code>-mfpu=neon</code> option. Note that GCC will not generate floating-point operations for auto-vectorization constructs because NEON is not fully [[IEEE 754]]-compliant. It's possible to use <code>-funsafe-math-optimizations</code> to circumvent that behavior.
+
One can specify {{arm|NEON}} support using the <code>-mfpu=neon</code> option. Note that GCC will not generate floating-point operations for auto-vectorization constructs because [[NEON]], under [[ARMv7]], is not fully [[IEEE 754]]-compliant. It's possible to use <code>-funsafe-math-optimizations</code> to circumvent that behavior.
  
 
== Architecture ==
 
== Architecture ==
Line 40: Line 41:
 
* Fully synthesizable RTL (prior designs were hand/automated layout)
 
* Fully synthesizable RTL (prior designs were hand/automated layout)
 
* [[40 nm process]] (from [[65 nm]])
 
* [[40 nm process]] (from [[65 nm]])
* New [[out-of-order]] pipeline (form [[in-order]])
+
* New [[out-of-order]] pipeline (from [[in-order]])
 
** Shorter pipeline (9-12 stages, down from 13)
 
** Shorter pipeline (9-12 stages, down from 13)
 
* 2x frequency (2 GHz, up from 1 GHz)
 
* 2x frequency (2 GHz, up from 1 GHz)

Latest revision as of 11:27, 28 July 2019

Edit Values
Cortex-A9 µarch
General Info
Arch TypeCPU
DesignerARM Holdings
ManufacturerTSMC
IntroductionOctober 3, 2007
Process40 nm
Instructions
ISAARMv7
Succession

Cortex-A9 (codename Falcon) is the successor to the Cortex-A8, a low-power performance ARM microarchitecture designed by ARM Holdings for the mobile market. This microarchitecture is designed as a synthesizable IP core and is sold to other semiconductor companies to be implemented in their own chips.

The Cortex-A9 was later succeeded by four independent lines - high-performance (A15), mainstream performance (A12), high efficiency (A7), and ultra-low power (A5).

Compiler support[edit]

Compiler Arch-Specific Arch-Favorable
Arm Compiler -mcpu=cortex-a9 -mtune=cortex-a9
GCC -mcpu=cortex-a9 -mtune=cortex-a9
LLVM -mcpu=cortex-a9 -mtune=cortex-a9

One can specify NEON support using the -mfpu=neon option. Note that GCC will not generate floating-point operations for auto-vectorization constructs because NEON, under ARMv7, is not fully IEEE 754-compliant. It's possible to use -funsafe-math-optimizations to circumvent that behavior.

Architecture[edit]

Key changes from Cortex-A8[edit]

This list is incomplete; you can help by expanding it.

Licensees[edit]

Arm named the following companies as licensees.

codenameCortex-A9 +
designerARM Holdings +
first launchedOctober 3, 2007 +
full page namearm holdings/microarchitectures/cortex-a9 +
instance ofmicroarchitecture +
instruction set architectureARMv7 +
manufacturerTSMC +
microarchitecture typeCPU +
nameCortex-A9 +
process40 nm (0.04 μm, 4.0e-5 mm) +