ARM Cortex-A系列处理器

来源:互联网 发布:common.js是什么文件 编辑:程序博客网 时间:2024/04/27 22:02

本文介绍了基于ARM v7-A架构的ARM Cortex-A系列处理器(Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15)的基本特性,基本上都可以支持ARM、Thumb-2、Thumb指令集,支持Java加速扩展的Jazelle技术、ThustZone的安全扩展以及针对浮点FPU的VFP硬件扩展和并行多数据的SIMD的NEON多媒体处理器扩展、支持主流的嵌入式OS(Symbian、Linux、Android、Windows Mobile、Windows Phone)、支持分支预测branch prediction。但各处理器在VFP/NEON的类型、半精度浮点(16-bit half precision floating-point)的支持、多核MPCore、流水线pipeline、单MHz处理性能、L1/L2 cache控制器、乱序执行、指令dual-issue并发等方面有略有不同。

ARM Cortex系列处理器核包括Cortex-A系列(高性能,具备MMU,可以运行如Symbian、Linux、Android,Windows CE等操作系统)、Cortex-R系列(高端嵌入式满足高性能高可靠性的实时需求)、Cortex-M(嵌入式单片机,低功耗,低成本)。

表1.ARM Cortex处理器和架构版本(应用处理器、实时处理器和微控制器)

v7-A (Applications)

v7-R (Real Time)

v6-M/v7-M (Microcontroller)

Cortex-A5 (Single/MP)

Cortex-R4    

Cortex-M0+ (ARMv6-M)

Cortex-A7 (MP)

Cortex-R5    

Cortex-M0 (ARMv6-M)

Cortex-A8 (Single)        

Cortex-R7    

Cortex-M1 (ARMv6-M)

Cortex-A9 (Single/MP)                    

 

Cortex-M3 (ARMv7-M)

Cortex-A15 (MP)

 

Cortex-M4(F) (ARMv7E-M)

 

http://houh-1984.blog.163.com/

Cortex-A处理器共性

  • ARMv7-A体系结构
  • 对所有操作系统的支持
    • Linux完整分配AndroidChromeUbuntu  Debian
    • Linux第三方MontaVistaQNXWind River
    • Symbian
    • Windows CE
    • 需要使用内存管理单元的其他操作系统支持
  • 指令集支持ARMThumb-2(提供最佳代码密度和性能混用)ThumbJazelle?DSP
  • TrustZone? 安全扩展
  • VFP高级单精度和双精度浮点支持
  • NEON? 媒体处理引擎 
  • 支持分支预测branch prediction

    Cortex-A5 ARM核处理器

    图1. ARM Cortex-A5处理器框架图

    Cortex-A5处理器支持ARMv7-A架构的特性,包括TrustZone安全扩展NEON多媒体处理引擎,芯片面积和功耗特性很好,但处理性能性对于其他Cortex-A略差,如只相当于Cortex-A880%性能,Cortex-A15的一半性能。Cortex-A5可以支持多核。Cortex-A5处理器支持双发dual issue以及分支预测branch predictionNEONVFP的硬件可选。Cortex-A5支持ARMThumb指令集,并可以包含

    Jazelle-DBXJazelle-RCTJava加速技术。

    Cortex-A5处理器是尺寸最小、功耗最低(可以低至0.08mw~0.12mw/MHz)的 ARM多核处理器,能够向最广泛的设备提供 Internet访问:包括超低成本手机、特色手机和智能移动终端以及普遍采用的嵌入式、消费类和工业设备。Cortex-A5处理器的应用与 Cortex-A8Cortex-A9 Cortex-A15 处理器完全兼容,能够立即访问已得到认可的开发平台和软件体系,包括 AndroidAdobe FlashJava Platform Standard Edition (Java SE)JavaFXLinuxMicrosoft Windows EmbeddedSymbian UbuntuCortex-A5  Cortex-A8Cortex-A9 Cortex-A15 处理器的完全应用兼容性, 为大量现有 ARM926EJ-S? ARM1176JZ-S?处理器授权使用方提供了高价值的迁移途径。Cortex-A5功耗和面积只有 Cortex-A9 1/3,且具有完全的指令集兼容性。

    特性关键字

    VFP, NEON, Jazelle RCT, Thumb/Thumb-2, 1–4 cores,Variable (L1?+?L2) Cache, MMU?+?TrustZone

    Cortex-A5设备

    http://www.cnx-software.com/2012/06/14/52-99-usd-cx-01-mini-android-4-0-tv-box-powered-by-telechips-tcc8923-cortex-a5/

     

    Cortex-A7 ARM核处理器

    2. ARM Cortex-A7处理器框架图

    Cortex-A7处理器的功耗和面积与超高效 Cortex-A5相似,但性能提升 15~20%Cortex-A7ARM的大小核设计中的小核部分,并且与高端 Cortex-A15 CPU 体系结构完全兼容。Cortex-A7处理器包括了高性能处理器Cortex-A15的一切特性,包括虚拟化(virtualization)、大容量物理内存地址扩展(Large Physical Address Extensions (LPAE),可以寻址到1TB的存储空间)、NEONVFP以及AMBA 4 ACE coherency AMBA4 Cache Coherent Interconnect (CCI))。Cortex-A7支持多核MPCore的设计以及Big+Little的大小核设计。小型高能效的 Cortex-A7 是最新低成本智能手机和平板电脑中独立 CPU的理想之选,并可在 big.LITTLE处理配置中与 Cortex-A15结合。

    特性关键字

    VFPv4 FPU, NEON, Thumb-2, Jazelle RCT/DBX, out-of-order speculative issue superscalar, Large Physical Address Extensions (LPAE), Hardware virtualization, 1–4 SMP cores, 32?KB/32?KB L1, up to 4?MB L2, MMU?+?TrustZone

    Cortex-A8 ARM核处理器

    Cortex-A8处理器是第一个使用ARMv7-A架构的处理器。很多应用处理器以Cortex-A8为核心,如

    S5PC100Samsung),OMAP3530TITexas Instruments),i.MX515Freescale)。下图3Cortex-A8的处理器包括pipeline流水线的框架图。

    图3. ARM Cortex-A8处理器框架图

    Cortex-A8处理器是一个双指令执行的有序超标量处理器,针对高度优化的能效实现可提供 2.0 Dhrystone MIPS(每 MHz),这些实现可提供基于传统单核处理器的设备所需的高级别的性能。Cortex-A8在市场中构建了 ARMv7体系结构,可用于不同应用,包括智能手机、智能本、便携式媒体播放器以及其他消费类和企业平台。分开的L1指令和数据cache大小可以为16KB或者32KB,指令和数据共享L2 cache,容量可以到1MB。L1和L2 cache的cache数据宽度为128比特,L1 cache是虚拟索引,物理上连续,而L2完全使用物理地址。Cortex-A8的L1 cache行宽度为64byte,L2 cache在片内集成。另外和Cortex-A9相比,由于Cortex-A8支持的浮点VFP运算非常有限,其VFP的速度非常慢,往往相同的浮点运算,其速度是Cortex-A9的1/10。Cortex-A8能并发某些NEON指令(如NEON的load/store和其他的NEON指令),而Cortex-A9因为NEON位宽限制不能并发。Cortex-A8的NEON和ARM是分开的,即ARM核和NEON核的执行流水线分开,NEON访问ARM寄存器很快,但是ARM端需要NEON寄存器的数据会非常慢。

    特性关键字

    VFP, NEON, Jazelle RCT, Thumb-2, 13-stage superscalar pipeline,Variable (L1?+?L2) Cache, MMU?+?TrustZone

    使用Cortex-A8的设备

    使用Cortex-A8处理器的设备包括Appleipad1apple A4处理器),BeagleBoard (TI OMAP3530 or TI DM 3730)HTC Desire, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone 3GS, Apple iPod touch (3rd and 4th Generation), Apple iPad (A4), Apple iPhone 4 (A4), Archos 5, BeagleBoard, Motorola Droid, Motorola Droid X, Motorola Droid 2, Motorola Droid R2D2 Edition, Palm Pre, Samsung Omnia HD, Samsung Wave S8500, Samsung i9000 Galaxy S, Sony Ericsson Satio, Touch Book, Nokia N900, Meizu M9, Google Nexus S, Sharp PC-Z1 "Netwalker

    Cortex-A9 ARM核处理器

    Cortex-A9 MPCore或者单核处理器单MHz性能比Cortex-A5或者 Cortex-A8高,支持ARM, Thumb, Thumb-2, TrustZone, Jazelle RCTJazelle DBX技术。L1cache控制器提供了硬件的cache一致性维护支持多核的cache一致性。核外的L2 cache控制器(L2C-310, or PL310) 支持最多8MBcacheCortex-A9的L1 cache行宽度为32byte,L2 cache因为多核的原因在核外集成,即通过SCU来访问多核共享的L2 cache。

    图4. ARM Cortex-A9 单核处理器框架图

    特性关键字

    Application profile, VFPv3 FPU, NEON, Thumb-2, Jazelle RCT/DBX, out-of-order speculative issue superscalar, 1–4 core SMP, 32?KB/32?KB L1, up to 4?MB L2, MMU?+?TrustZone

    使用Cortex-A9的设备

    常见的Cortex-A9处理器包括nVidia's双核Tegra-2,以及TI's OMAP4平台。使用Cortex-A9处理器的设备包括Appleipad2apple A5处理器),LG Optimus 2XnVidia Tegra-2),Samsung Galaxy S IISamsung Exynos 4210),Sony NGP PSP2PandaBoard (TI OMAP4430 or TI OMAP 4460)Motorola Atrix 4G,Motorola DROID BIONIC, Motorola Xoom

    Cortex-A15 ARM核处理器

    Cortex-A15 MPCore处理器是目前Cortex-A系列中性能最高的处理器,一个突出的特性是其硬件的虚拟化技术(Hardware virtualization)以及大物理内存的扩展(Large Physical Address Extension(LPAE), 能寻址到1TB的内存)

    图5. ARM Cortex-A15 单核处理器框架图

    特性关键字

    ? An out-of-order superscalar pipeline.

    ? Tightly-coupled low-latency level-2 cache (up to 4MB in size).

    ? Improved floating-point and NEON media performance.

    ? Full hardware virtualization.

    ? Large Physical Address Extension (LPAE) addressing up to 1TB of memory.

    ? Error correction capability for fault-tolerance and soft-fault recovery.

    ? Multiple coherent multi-core processor clusters through AMBA4 technology.

    ? AMBA4 Cache Coherent Interconnect (CCI) allowing full cache coherency between multiple Cortex-A15 MPCore processors.

    Application profile, VFPv4 FPU, NEON, Thumb-2, Jazelle RCT/DBX, out-of-order speculative issue superscalar, Large Physical Address Extensions (LPAE), Hardware virtualization, 1–4 SMP cores, 32?KB/32?KB L1, up to 4?MB L2, MMU?+?TrustZone

    使用Cortex-A15的设备

    目前集成Cortex-A15的处理器量产的只有Samsung的Exynos 5系列处理器,但TIOMAP5系列处理器也采用Cortex-A15的核。具体的设备有Arndale Board (http://www.arndaleboard.org/wiki/index.php/Main_Page )以及Samsung的Chromebook (http://www.samsung.com/us/computer/chromebook )。

    ARM Cortex-A系列处理器(Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15)的区别

    表2. ARM Cortex-A各处理器(Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15)差别

    类别

    Cortex-A5

    Cortex-A7

    Cortex-A8

    Cortex-A9

    Cortex-A15

    发布时间

    200912

    201110

    20067

    20083

    20114

    时钟频率

    ~1GHz

    ~1GHz on 28nm

    ~1GHz on 65nm

    ~2GHz on 40nm

    ~2.5GHz on 28nm

    Execution order执行顺序

    In-order顺序执行

    In-order

    In-order

    Out of order乱序

    Out of order乱序执行

    多核支持

    1 to 4

    1 to 4

    1 (只单核)

    1 to 4

    1 to 4

    峰值指令处理速度

    1.6DMIPS/MHz

    1.9DMIPS/MHz

    2 DMIPS/MHz

    2.5 DMIPS/MHz

    3.5 DMIPS/MHz

    VFP/NEON支持

    VFPv4/NEON

    VFPv4/NEON

    VFPv3/NEON

    VFPv3/NEON

    VFPv4/NEON

    Half precision半精度扩展(16-bit floating-point)

    ,只有32-bit单精度和64-bit双精度浮点

    FP/NEON 寄存器重命名

    GP寄存器重命名

    硬件的除法器

    LPAE (40-bit physical address)

    No

    Yes

    No

    No

    yes

    硬件虚拟化

    No

    Yes

    No

    No

    Yes

    big.LITTLE

    No

    LITTLE

    No

    No

    Big

    融合的MAC乘累加

    流水线级数 pipeline stages

    8

    8

    13

    9 to 12

    15+

    指令译码 decodes

    1

    Partial dual issue

    2 (dual-issue)

    2 (dual-issue)

    3

    返回堆栈stack条目

    4

    8

    8

    8

    48

    浮点运算单元FPU

    Optional

    Optional

    Yes

    Optional

    Optional

    AMBA总线宽度

    64-bit I/F

    AMBA 3

    128-bit I/F

    AMBA 4

    64 or 128-bit I/F

    AMBA 3

    2×64-bit I/F

    AMBA 3

    128-bit

    L1 Data Cache Size

    4K to 64K

    8KB to 64KB

    16/32KB

    16KB/32KB/64KB

    32KB

    L1 Instruction Cache Size

    4K to 64K

    8KB to 64KB

    16/32KB

    16KB/32KB/64KB

    32KB

    L1 Cache Structure

    2-way set

    associative (Inst)

    4-way set

    associative (Data)

    2-way set

    associative (Inst)

    4-way set

    associative (Data)

    4-way set

    associative

    4-way set

    associative (Inst)

    4-way set

    associative (Data)

    2-way set

    associative (Inst)

    4-way set

    associative (Data)

    L2 Cache type

    External

    Integrated

    Integrated

    External

    Integrated

    L2 Cache size

    -

    128KB to 1MB

    128KB to 1MB

    -

    512KB to 1MB

    L2 Cache Structure

    -

    8-way set

    associative

    8-way set

    associative

    -

    8-way set

    associative

    Cache line (bytes)

    32

    32

    64

    32

    64

                                        

    参考文献

    http://houh-1984.blog.163.com/

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0013a/index.html

    http://www.360doc.com/content/12/0806/14/350555_228637047.shtml

    https://silver.arm.com/download/Software/BX100-DA-98001-r0p0-01rel2/DEN0013C_cortex_a_series_PG.pdf

    本文介绍了基于ARM v7-A架构的ARM Cortex-A系列处理器(Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15)的基本特性,基本上都可以支持ARM、Thumb-2、Thumb指令集,支持Java加速扩展的Jazelle技术、ThustZone的安全扩展以及针对浮点FPU的VFP硬件扩展和并行多数据的SIMD的NEON多媒体处理器扩展、支持主流的嵌入式OS(Symbian、Linux、Android、Windows Mobile、Windows Phone)、支持分支预测branch prediction。但各处理器在VFP/NEON的类型、半精度浮点(16-bit half precision floating-point)的支持、多核MPCore、流水线pipeline、单MHz处理性能、L1/L2 cache控制器、乱序执行、指令dual-issue并发等方面有略有不同。

原创粉丝点击