arm小结

更新时间:2023-11-21 23:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、ARM架构

ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。

ARM体系架构:

1、指令体系

ARM采用RISC(Reduced Instruction Set Computer,精简指令集计算机)结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等 RISC具有以下特点:

1)、采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。 2)、使用单周期指令,便于流水线操作执行。 3)、大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。

除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:

4)、所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。 5)、可用加载/存储指令批量传输数据,以提高数据的传输效率。 6)、可在一条数据处理指令中同时完成逻辑处理和移位处理。 7)、在循环处理中使用地址的自动增减来提高运行效率。

2、寄存器结构

ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括: 1)、31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。 2)、6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,只使用了其中的一部分。

3、指令结构

ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。 其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。

4、体系结构扩充

当前ARM体系结构的扩充包括:

·Thumb 16位指令集,为了改善代码密度; ·DSP DSP应用的算术运算指令集;

·Jazelle DBX (Direct Bytecode eXecution)允许在某些架构的硬件上加速执行Java bytecode;

·Thumb-2扩充了受限的 16-bit Thumb 指令集,以额外的 32-bit 指令让指令集的使用更广泛;

·ThumbEE,即Jazelle RCT技术,在所处的执行环境(Execution Environment)下,使得指令集能特别适用于执行阶段(Runtime)的编码产生(例如即时编译);

·SIMD技术支持; ·NEON进阶 SIMD 延伸集,业界称为NEON技术,它是一个结合 64 和 128 bit 的 SIMD(Single Instruction Multiple Data 单指令多重数据)指令集,其针对多媒体和讯号处理程式具备标准化加速的能力;

·TrustZone提供基于硬件的安全性保证,并允许 SoC 设计人员从大量可在安全环境中实现特定功能的组件中进行选择的基础结构;

·VFP提供低成本的单精度和倍精度浮点运算能力,并完全相容于ANSI/IEEE Std 754-1985 二进制浮点算数标准

ARM 处理器架构

二、AMR最新架构

ARMv8架构是ARM架构体系中的最新架构,这是ARM公司的首款支持64位指令集的处理器架构,将被首先用于对扩展虚拟地址和64位数据处理技术有更高要求的产品领域,如企业应用、高档消费电子产品。

ARMv8架构特点:

ARMv8在提供与ARMv7相同的架构支持基础上还具有以下特点:

1、提供64位架构支持

ARMv8-A将64位架构支持引入 ARM 架构中其中包括:

64 位通用寄存器、SP(堆栈指针)和 PC(程序计数器) 64 位数据处理和扩展的虚拟寻址 两种主要执行状态:

AArch64 - 64位执行状态,包括该状态的异常模型、内存模型、程序员模型和指令集支持

AArch32- 32位执行状态,包括该状态的异常模型、内存模型、程序员模型和指令集支持

这些执行状态支持三个主要指令集:

A32(或 ARM):32 位固定长度指令集,通过不同架构变体增强部分 32 位架构执行环境现在称为 AArch32。

T32 (Thumb):是以 16 位固定长度指令集的形式引入的,随后在引入 Thumb-2 技术时增强为 16 位和 32 位混合长度指令集。部分 32 位架构执行环境现在称为 AArch32。

A64:提供与 ARM 和 Thumb 指令集类似功能的 32 位固定长度指令集。随 ARMv8-A 一起引入,它是一种 AArch64 指令集。

A64 是一种支持 AArch64 执行状态的全新 32 位固定长度指令集。下面摘要说明了A64 ISA 的特性。

? ? ? ? ? ?

基于 5 位寄存器说明符的简洁解码表 指令语义与 AArch32 中大致相同

31 个随时可供访问的通用 64 位寄存器 无模式 GP 寄存器组 - 改进的性能和能耗

程序计数器 (PC) 和堆栈指针 (SP) 非通用寄存器 可用于大多数指令的专用零寄存器

与 A32 的主要差异有:

支持 64 位操作数的新指令,大多数指令可具有 32 位或 64 位参数 ? 地址假定为 64 位大小,P64 和 LLP64 是主要目标数据模型 ? 条件指令远少于 AArch32,条件 {跳转、比较、选择}

? 无任意长度的加载/存储多重指令,增加了用于处理寄存器对的 LD/ST

?

'P'

2、Exception level

与之前不同的是ARMv8已经淡化处理器模式,取而代之的是4个固定的Exception level,简称EL0-EL3。同时,也淡化了privilege level的概念。Exception level本身就已经包好了privilege的信息,即ELn的privilege随着n的增大而增大。类似地,可以将EL0归属于non-privilege level,EL1/2/3属于privilege level。

ARMv异常模式

异常模式命名

说明:

1)首先需要注意的是,AArch64中,已经没有User、SVC、ABT等处理器模式的概念,但ARMv8需要向前兼容,在AArch32中,就把这些处理器模式map到了4个Exception level。

2)Application位于特权等级最低的EL0,Guest OS(Linux kernel、window等)位于EL1,提供虚拟化支持的Hypervisor位于EL2(可以不实现),提供Security支持的Seurity Monitor位于EL3(可以不实现)。

3)只有在异常发生时(或者异常处理返回时),才能切换Exception level

(这也是Exception level的命名原因,为了处理异常)。当异常发生时,有两种选择,停留在当前的EL,或者跳转到更高的EL,EL不能降级。同样,异常处理返回时,也有两种选择,停留在当前EL,或者调到更低的EL。

3、内存管理支持

内存管理

说明:

1、在ARMv8的64架构下,允许更大的寻址空间(0~2^64 Byte) 2、对每个TTBR支持最高达48位的空间管理;

3、在同一基础上的IPA 支持高达48位的PA空间管理。 4、AArch64支持两种不同的分页,即:4K字节或64K字节

此外,ARMv8架构的硬件虚拟化包括指令集虚拟化、异常处理虚拟化、MMU虚拟化、IO虚拟化。

4、寄存器分配

寄存器关系

说明:

ARMv8架构为了满足对上兼容,提供了AArch32和AArch64两种不同的运行环境,相应的寄存器也在满足AArch32的需求下(ARMv7架构下的分组),根据AArch64的异常模式需要提出新的分组。

5. security model

ARMv8-a的security模型基本沿用了ARMv7 security extension的思路,主要目的保护一些安全应用的数据,例如支付等。它不同于privilege level等软件逻辑上的保护,而是一种物理上的区隔,即不同security状态下,可以访问的物理内存是不同的。

ARMv8-a架构有两个security state(参考上面图片),Security和non-Security。主要的功效是物理地址的区隔,以及一些system control寄存器的访问控制:

在Security状态下,处理器可以访问所有的Secure physical address space以及Non-secure physical address space;

在Non-security状态下,只能访问Non-secure physical address space,且不能访问Secure system control resources。

三、ARM最新产品

Cortex-A72 处理器 1、概述

Cortex-A72 是 ARM 性能最出色、最先进的处理器。于 2015 年年初正式发布的Cortex-A72是基于 ARMv8-A 架构、并构建于 Cortex-A57 处理器在移动和企业设备领域成功的基础之上。在相同的移动设备电池寿命限制下,Cortex-A72 能相较基于 Cortex-A15 的设备提供3.5倍的性能表现,展现优异的整体功耗效率。

Cortex-A72 的强化性能和功耗水平重新定义了 2016 年高端设备为消费者带来的丰富连接和情境感知(context-aware)的体验,这些高端设备涵盖高阶的智能手机、中型平板电脑、大型平板电脑、翻盖式笔记本、一直到外形规格可变化的移动设备。未来的企业基站和服务器芯片也能受惠于Cortex-A72的性能,并在其优异的能效基础上,在有限的功耗范围内增加内核数量,提升工作负载量。

Cortex-A72 可在芯片上单独实现,也可以搭配 Cortex-A53 处理器与ARM CoreLinkTM CCI高速缓存一致性互连(Cache Coherent Interconnect)构成 ARM big.LITTLETM 配置,进一步提升能效。

2、效能:

在相同的智能手机电池寿命限制下,Cortex-A72 处理器相较于2014年发布基于Cortex-A15处理器、28纳米工艺节点的设备,性能可提升3.5倍;并且具备多项基于ARMv8-A架构的微架构改善,在浮点、整数和内存性能等方面提升后,可改进每一项主要工作负载的执行效率。

Cortex-A72已为16纳米FinFET工艺节点优化,在移动设备的电耗范围内可以运行达2.5GHz频率,甚至更高的效能表现。

除了效能的提高,Cortex-A72处理器在功耗上也展现了优异的成果。在代表性的高端移动工作负载条件下,结合Cortex-A72在16nm FinFET+ 工艺技术下,能够使能耗显著下降 75%。

3、Cortex-A72处理器基本信息

Cortex-A72 处理器:基本信息 架构 ARMv8-A 多核 单个处理器群集中可配置 1 至 4 个 SMP核心;通过 AMBA 5 CHI 或 AMBA 4 ACE 技术,可实现多个一致的 SMP 处理器群集 ?? ? ISA 支持 AArch32 可完全向下兼容 ARMv7 AArch64 提供 64 位支持和全新架构功能 TrustZone? 安全技术 NEON? 高级 SIMD DSP 和 SIMD 扩展 VFPv4 浮点 ? ? ? ? Cortex-A72 处理器:基本信息 ? 硬件虚拟化支持 调试和跟踪 CoreSight? DK-A57 4、应用

Cortex-A72 是ARM性能最出色的处理器,专为在ARM低功耗架构下要求高效能的各种设备所设计。

其目标应用市场包括: ? 高端智能手机 ? 大屏幕的移动设备 ? 企业网路设备 ? 服务器 ? 无线基台 ? 数字电视

? Automotive ADAS/IVAI

四、目前arm在手机领域的应用

目前,ARM 技术已在 95% 的智能手机、80% 的数码相机以及 35% 的所有电子设备中得到应用。

1、ARM Cortex-A8在手机领域的应用:

1、高通Scorpion架构

Scorpion(天蝎座)是高通自家设计的基于Cortex-A8架构的处理器架构,并使用ARM v7的指令集,具备了13阶load/store管线,还有两个整数处理管线,目标时脉是设定在1GHz。至于Scorpion中的SIMD资料路径,不用时可关掉一半,效能会好一些。目前已有HTC Desire、HTC HD2、Sony Ericsson X10、Acer Liquid加入Snapdragon阵营。Dell的平板电脑Stream采用第一代Snapdragon。第二代Snapdragon芯片制程从65纳米进入45纳米,时脉也从1GHz提升至1.3GHz。

2、三星Hummingbird架构

三星蜂鸟hummingbird架构同样是在cortex-A8基础上,进行修改增强的一款核心,采用这款核心的代表产品便是三星S5PC110/S5PV210苹果A4核心。而hummingbird核心也正是三星和苹果合作研发而来。在实测性能上,较其它普通A8核心的CPU 相比,拥有了成倍的增长。三星蜂鸟hummingbird处理器S5PC110/S5PV210可以说是世界上最强的cortex-A8架构方案芯片,它在原cortex-A8的基础上,进行了大幅度的优化,在性能上也获得了大幅度的增长,基本上,能够达到同等架构的CPU效能的1倍以上。

3,苹果A4处理器

苹果iPhone 4和苹果iPad以及iTouch 4都采用了这个和三星S5PC110处理器相近的A4处理器,不过苹果作了更多的优化,尤其是苹果A4将负责视频硬解的VXD370改成了 VXD375,GPU和内存的直连也令PowerVR 535的实际表现要超越三星S5PC110的PowerVR 540处理器。但归根结底,苹果A4处理器还是一个基于ARM Cortex-A8核心的高性能处理器。

2、ARMCortex-A9在手机领域的应用:

在Cortex-A9双核处理器初见端倪之后,ARM再次给大家带来惊喜,那就是ARM可能会推出一款四核芯片,最快处理速度能够达到2.5GHz,初步得知,这款处理器型号为Cortex-A15。在还未上市的智能手机芯片当中,Cortex-A15可能是目前听说的主频最高的双核芯片了,这款芯片除了将手机CPU运行速度提升至2.5GHz以外,还可以支持超过4GB的内存,能力惊人,不过该处理器只在顶级配置中使用,毕竟如此强劲的芯片的只有在更加强悍的硬件、软件的支持下,才能够正常的发挥作用。

总而言之,我认为ARM的产品不仅仅是满足现在的需求,更能满足未来的很长一段时间内的客户需求。ARM没有因为成功而止步不前,而是不断创新,不断追求更好的。正是这种超前的意识和创造理念才使得ARM公司在短暂的十几年内几乎占领了整个市场。

参考:

http://www.arm.com/zh/products/processors/cortex-a/cortex-a72-processor.php

http://www.arm.com/zh/products/processors/instruction-set-architectures/armv8-architecture.php

http://wenku.http://m.wodefanwen.com//link?url=EUacy6jVa5HN-s5yj4bUlGMN4P8iTK2IU_3lpmwvprlj0ABs8QLqYgHK8Ou2IMb3LW7LmrDs1SSC5NWXUkOAEj9KUSvw8Qz23bKhw0z19dm

百度百科

本文来源:https://www.bwwdw.com/article/oerv.html

Top