ARM微处理器硬件结构

合集下载

LPC2000系列ARM硬件结构与功能简介

LPC2000系列ARM硬件结构与功能简介
件仿真 模式
1.4 处理器状态及模式
用户和系统模式
处理器模式 用户 用户 系统 系统 快中断 中断 管理 中止 未定义 说明 备注 不能直接切换到其它模式 (usr) 正常程序工作模式 (usr) 用于支持操作系统的特 与用户模式类似,但具有可以 (sys) (sys) 权任务等 直接切换到其它模式等特权 而且它们使用完全相同的寄存器组。 (fiq) (irq) (svc) (abt) (und) 支持高速数据传输及通 系统模式是特权模式,不受用 FIQ异常响应时进入此模式 道处理
ARM公司简介
ARM是Advanced RISC Machines的缩写,它是 一家微处理器行业的知名企业,该企业设计了大量 高性能、廉价、耗能低的RISC (精简指令集)处 理器。 公司的特点是只设计芯片,而不生产。 它将技术授权给世界上许多著名的半导体、软件和 OEM厂商,并提供服务。
1.2 ARM体系结构简介
(svc) 操作系统保护代码 (abt) (und) 用于支持虚拟内存和/或 存储器保护 支持硬件协处理器的软 件仿真
1.4 处理器状态及模式
特权模式
处理器模式 用户 系统 系统 说明 用于支持操作系统的特 权任务等 备注 不能直接切换到其它模式 与用户模式类似,但具有可以 直接切换到其它模式等特权 (usr) 正常程序工作模式 (sys) (sys)
处理器模式说明备注用户usr正常程序工作模式不能直接切换到其它模式系统sys用于支持操作系统的特权任务等与用户模式类似但具有可以直接切换到其它模式等特权快中断fiq支持高速数据传输及通道处理fiq异常响应时进入此模式中断irq用于通用中断处理irq异常响应时进入此模式管理svc操作系统保护代码系统复位和软件中断响应时进入此模式中止abt用于支持虚拟内存和或存储器保护在arm7tdmi没有大用处未定义und支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式14处理器状态及模式?处理器模式14处理器状态及模式?特权模式处理器模式说明备注用户usr正常程序工作模式不能直接切换到其它模式系统sys用于支持操作系统的特权任务等与用户模式类似但具有可以直接切换到其它模式等特权快中断fiq支持高速数据传输及通道处理fiq异常响应时进入此模式中断irq用于通用中断处理irq异常响应时进入此模式管理svc操作系统保护代码系统复位和软件中断响应时进入此模式中止abt用于支持虚拟内存和或存储器保护在arm7tdmi没有大用处未定义und支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式除用户模式外其它模式均为特权模式

第2章 ARM体系结构

第2章  ARM体系结构

• 控制位

程序状态寄存器PSR(Program Status Register)的最低8位I、F、T和 M[4:0]用作控制位。当异常出现时改变控制位。处理器在特权模式 下时也可由软件改变。
• 中断禁止位 I:置1,则禁止IRQ中断; F:置1,则禁止FIQ中断。 • T位 T=0 指示ARM执行; T=1 指示Thumb执行。 • 模式控制位 M4、M3、M2、Ml和M0(M[4:0])是模式位,决定处理器 的工作模式,如表2.3.1所列。
6 (最低)
6 5
数据中止
IRQ (外部中断请求) FIQ (快速中断请求)
中止(数据)
IRQ FIQ
中止模式
IRQ FIQ
0x0000,0010
0x0000,0018 0x0000,001C
2
4 3
2.4.2 异常类型的含义
(1)复位
• • 处理器的复位电平有效时,产生复位异常 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常
2.4 ARM微处理器的异常处理
• 异常:在一个正常的程序流程执行过程中,由内 部或外部源产生的一个事件使正常的程序产生暂 时的停止,称之为异常。
2.4.1 ARM体系结构的异常类型
• ARM体系结构支持7种类型的异常
• 异常出现后,强制从异常类型对应的固定存储器地址开始 执行程序。这些固定的地址称为异常向量(Exception Vectors)。
M[4:0]模式控制位
M[4: 0] 10000 10001 10010 10011 10111
处理器工作 模式 用户模式 FIQ模式 IRQ模式 管理模式 中止模式
可访问的寄存器 PC,CPSR,R14~R0 PC,R7~R0,CPSR, SPSR_fiq,R14_fiq~ R8_fiq PC,R12~R0,CPSR, SPSR_irq,R14_irq, R13_irq PC,R12~R0, CPSR, SPSR_svc,R14_svc, R13_svc PC,R12~R0, CPSR, SPSR_abt,R14_abt, R13_abt

单片机课件第二章 ARM体系结构

单片机课件第二章 ARM体系结构

2.5
ARM微处理器指令系统
2.5.1 基本寻址方式
寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地 址的方式,ARM处理器有9 种基本寻址方式。
1.寄存器寻址
操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编 号,指令执行时直接取出寄存器值操作。
例如指令: MOV R1,R2 SUB R0,R1,R2
11111
系统模式
PC,R14~R0,CPSR(ARM v4及以上版本)
并非所有的模式位组合都能定义一种有效的处理器模式。其他组合的 结果不可预知。
2.2 ARM微处理器的寄存器结构
2.2.4 Thumb状态的寄存器集
2.2 ARM微处理器的寄存器结构
2.2.4 Thumb状态的寄存器集
Thumb 状态的寄存器在ARM 状态的寄存器上的映射


在Thumb状态下,程序计数器PC(Program Counter)使用位[1]选 择另一个半字。ARM处理器在两种工作状态之间可以切换。
Thumb状态:当操作数PSR控制位T为1时,执行BX指令进入Thumb 状态。如果处理器在Thumb状态进入异常,则当异常处理(IRQ、 FIQ、Undef、Abort和SWI)返回时,自动转换到Thumb状态。(异 常都是在ARM 状态中执行) ARM状态:当操作数PSR控制位T为0时,执行BX指令进入ARM状态 ;处理器发生异常(IRQ、FIQ、Reset、Undef、Abort和SWI)。在 此情况下,把PC内容复制到异常模式的链接寄存器中,并且异常处 理将从异常向量地址开始。
sys(系统模式):运行具有特权的操作系统任务。

und(未定义指令中止模式):当未定义的指令执行时进入该 模式,可用于支持硬件协处理器的软件仿真。

ARM处理器详解(1)-ARMCortex-A系列处理器

ARM处理器详解(1)-ARMCortex-A系列处理器

ARM处理器详解(1)-ARMCortex-A系列处理器如图所⽰,绿⾊的部分都是v7-A的架构,蓝⾊的是v8-A架构,基本上绿⾊都是可以⽀持到32和64位的,除了A32,只⽀持到32位。

在右边的每个部分,⽐如说需要⾼效能的最上⾯的A15-A73这个部分是最⾼效的,接下来就是⽐较注重整个效率的部分了,中间那个部分是⽐较⾼效率的,最下⾯那栏的是效率最好的,在电池的效能⽅⾯达到了最好的标准。

最新的还有使⽤在麒麟980上的,基于Dynamiq技术的第⼆代优质内核 Cortex A76。

Acore主打的就是⾼性能,消费类的产品⽐如⼿机,平板,机顶盒等需要上系统的基本上都需要使⽤Acore。

Acore的发展曲线基本上和⼯艺曲线重叠,最新的A76是基于7nm的⼯艺,A73基于10nm的⼯艺,更早些的A5,A9基本上使⽤40nm或28nm的⼯艺。

这是ARM 2016年发布的最新A系列处理器,Cortex-A73⽀持全尺⼨ARMv8-A构架,ARMv8-A是ARM公司的⾸款⽀持64位指令集的处理器架构,包括ARM TrustZone技术、NEON、虚拟化和加密技术。

所以⽆论是32位还是64位,Cortex-A73都可以提供适应性最强的移动应⽤⽣态开发环境。

Cortex-A73包括128位 AMBR 4 ACE接⼝和ARM的big.LITTLE系统⼀体化接⼝,采⽤了⽬前最先进的10nm技术制造,可以提供⽐Cortex-A72⾼出30%的持续处理能⼒,⾮常适合移动设备和消费级设备使⽤。

预计今年晚些时候到2017年,Cortex-A73处理器将会逐渐覆盖到我们合作伙伴的⾼端智能⼿机、平板电脑、翻盖式移动设备、数字电视等⼀系列消费电⼦设备。

big.LITTLE架构发展到最新的A76,更新了Dynamiq架构,core的外⾯再包了⼀层L3 cache,减少了对外部DDR的读写,所以性能更优。

Cortex-A72最早发布于2015年年初,也是基于ARMv8-A架构,采⽤台积电16nm FinFET制造⼯艺,Cortex-A72可在芯⽚上单独实现性能,也可以搭配Cortex-A53处理器与ARMCoreLinkTMCCI⾼速缓存⼀致性互连(CacheCoherentInterconnect)构成ARMbig.LITTLETM配置,进⼀步提升能效。

ARM的CPU分类.

ARM的CPU分类.

ZT:arm cpu的架构及分类说明今天在编译mplayer for mx27ads的时候,碰到了armv5te与armv6优化的问题。

默认的交叉编译器支持armv5te也支持armv6,就默认使用了mplayer中mpeg4的armv6解码代码,结果在mx27ads版上,播放mpeg4视频时颜色空间转换出错。

对比x86后总算找到了这个问题,顺手根据ARM官方资料和网上资料整理了一篇arm cpu的架构及分类说明。

ARM微处理器系列ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。

- ARM7 系列- ARM9 系列- ARM9E 系列- ARM10E 系列- ARM11系列- Cortex 系列- SecurCore 系列- OptimoDE Data Engines- Xcale其中,ARM7、ARM9、ARM9E 和 ARM10 为4 个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。

SecurCore 系列专门为安全要求较高的应用而设计。

以下我们来详细了解一下各种处理器的特点及应用领域。

ARM7系列ARM7 系列微处理器为低功耗的 32位 RISC 处理器,最适合用于对价位和功耗要求较高的消费类应用。

ARM7 微处理器系列具有如下特点:-具有嵌入式 ICE-RT 逻辑,调试开发方便。

-极低的功耗,适合对功耗要求较高的应用,如便携式产品。

-能够提供 0.9MIPS/MHz 的三级流水线结构。

-代码密度高并兼容 16 位的 Thumb 指令集。

-对操作系统的支持广泛,包括 Windows CE、Linux、Palm OS 等。

-指令系统与 ARM9 系列、ARM9E 系列和 ARM10E 系列兼容,便于用户的产品升级换代。

-主频最高可达 130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。

第2章 ARM微处理器概述

第2章 ARM微处理器概述


工业控制领域:
作为32位 的RISC 架构,基于ARM 核的微控制器芯片不
但占据了高端微控制器市场的大部分市场份额,同时也 逐渐向低端微控制器应用领域扩展,ARM 微控制器的低 功耗、高性价比,向传统的8 位/16 位微控制器提出了挑 战。

无线通讯领域:
目前已有超过85%的无线通讯设备采用了ARM 技术,
ARM体系结构的变种

(4)J变种(Java加速器Jazelle)
ARM的Jazelle技术将Java的优势和先进的32位RISC芯
片完美地结合在一起。Jazelle技术提供了Java加速功能, 可以得到比普通Java虚拟机高得多的性能。与普通的 Java虚拟机相比,Jazelle使Java代码运行速度提高了8 倍,而功耗降低了80%。 Jazelle技术使得程序员可以在一个独立的处理器上同时 运行Java应用程序、已经建立好的操作系统、中间件以 及其他的应用程序。与使用协处理器和双处理器相比, 使用单独的处理器可以在提供高性能的同时保证低功耗 和低成本。 J变种首先在ARM体系版本4TEJ中使用,用字母J表示。
使用电池供电的高性能的便携式设备。这些 设备一方面需要处理器提供高性能,另一方 面又需要功耗很低。SIMD功能扩展为包括音 频/视频处理在内的应用相同提供了优化功能。 它可以使音频/视频处理性能提高4倍。 Version 6首先在2002年春季发布的ARM11 处理器中使用。
2.2.3 ARM体系结构的变种及版本 命名格式
Version 4(v4)
该版本增加了下列指令:
半字加载和存储指令; 加载带符号的字节和半字数据的指令; 增加mb状态; 增加了处理器的特权模式。 该版本不再强制要求与以前的26位地址空间 兼容。

ARM体系架构

ARM体系架构
Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Fetch
该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1
高速缓存(CACHE)
1、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以提 高内存的平均性能。
2、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内容的
拷贝。
高 数据

CACHE
CPU
缓 存
主存


地址

数据
总线和总线桥
CPU
高速总线
低速设备
低速总线
软硬功能分配 复杂指令增加硬件的复杂度,使指令执行周期大大加长 ,直接访存次数增多,数据重复利用率低。
不利于先进指令级并行技术的采用 流水线技术
RISC基本设计思想
精简指令集:保留最基本的,去掉复杂、使用频度不高的指令 (选取运算指令、加载、存储指令和转移指令作主指令集) ,以减小CPI: CPUtime=Instr_Count * CPI * Clock_cycle
CISC的主要缺点
指令使用频度不均衡。 高频度使用的指令占据了绝大部分的执行时间,扩充的 复杂指令往往是低频度指令。
大量复杂指令的控制逻辑不规整,不适于VLSI工艺 VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑 实现,而不希望用微程序,因为微程序的使用反而制约 了速度提高。(微码的存控速度比CPU慢5-10倍)。
IC—程序中指令数,CPI—每条指令执行所有周期数

关于ARM的内核架构介绍

关于ARM的内核架构介绍

张凌001关于ARM的内核架构很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑,不是很详细,但对此有个大体了解。

咱先来当下最火的ARM吧1.ARMARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品.ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。

- ARM7 系列- ARM9 系列- ARM9E 系列- ARM10E 系列- ARM11系列- Cortex 系列- SecurCore 系列- OptimoDE Data Engines- Intel的Xscale- Intel的StrongARM ARM11系列2. Cortex 系列32位RISCCPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。

Cortex 系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。

由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。

基于v7A的称为“Cortex-A系列。

高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器以及高效的Cortex-A7和Cortex-A5处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。

1Cortex-M系列Cortex-M系列又可分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;2Cortex-R系列Cortex-R系列分为Cortex-R4、Cortex-R5、Cortex-R7;3Cortex-A 系列Cortex-A系列分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等 ,同样也就有了对应内核的Cortex-M0开发板、Cortex-A5开发板、Cortex-A8开发板、Cortex-A9开发板、Cortex-R4开发板等等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

指令
时间
第16页/共60页
16
流水线技术Ⅲ
2.ARM的流水线设计问题
(1)缩短程序执行时间: ➢ 提高时钟频率fclk ➢ 减少每条指令的平均时钟周期数CPI (2)解决流水线相关: ➢ 结构相关 ➢ 数据相关 ➢ 控制相关
ARM32位体系结构目前被公认为是嵌入式应 用领域领先的32位嵌入式RISC微处理器结构。从 版本1到版本6,ARM体系的指令集功能不断扩大。
第2页/共60页
2
ARM版本Ⅰ
1.V1版架构
该版架构只在原型机ARM1出现过,没有用于商业产品。 其基本性能有: ➢ 基本的数据处理指令(无乘法); ➢ 基于字节、半字和字的Load/Store指令; ➢ 转移指令,包括子程序调用及链接指令; ➢ 供操作系统使用的软件中断指令SWI; ➢ 寻址空间:64MB(226)。
➢ 进入Thumb状态:当操作数寄存器的状态位(位[0]) 为1时,执行BX指令。
➢ 进入ARM状态:当操作数寄存器的状态位(位[0])为0 时,执行BX指令。
第12页/共60页
12
RISC技术Ⅰ
RISC体系结构基本特点:
➢ 大多数指令只需要执行简单和基本的功能,其执行过 程在一个机器周期内完成。
第6页/共60页
6
ARM版本Ⅴ
5.V5版架构
V5 版 架 构 是 在 V4 版 基 础 上 增 加 了 一 些 新 的 指 令 , ARM10和Xscale都采用该版架构。这些新增命令有: ➢ 带有链接和交换的转移BLX指令; ➢ 计数前导零CLZ指令; ➢ BRK中断指令; ➢ 增加了数字信号处理指令(V5TE版); ➢ 为协处理器增加更多可选择的指令。
第8页/共60页
8
ARM处理器系列
➢ ARM7系列 ➢ ARM9系列 ➢ ARM9E系列 ➢ ARM10E系列 ➢ SecurCore系列 ➢ Inter的Xscale ➢ Inter的StrongARM
第9页/共60页
9
ARM处理器结构
从一下四个方面介绍:
➢ ARM和Thumb状态 ➢ RISC技术 ➢ 流水线技术 ➢ 超标量执行
第7页/共60页
7
ARM版本Ⅵ
6.V6版架构
V6版架构是2001年发布的,首先在2002年春季发布 的ARM11处理器中使用。此架构在V5版基础上增加了 以下功能: ➢ THUMBTM:35%代码压缩; ➢ DSP扩充:高性能定点DSP功能; ➢ JazelleTM:Jova性能优化,可提高8倍; ➢ Media扩充:音/视频性能优化,可提高4倍。
➢ 可用Load/Store指令批量传输数据,以提高数据的传 输效率。
➢ 可在一条数据处理指令中同时完成逻辑处理和移位处 理。
第14页/共60页
14
流水线技术Ⅰ
1.ARM的3级流水线
1
fetch
decode
excute
2
fetch
decode
excute
3 指令
fetch
decode
excute
时间
第10页/共60页
10
ARM和Thumb状态
V4版以后有:
➢ 32位ARM指令集 ➢ 16位Thumb指令集,功能是ARM指令集的功能
子集。
ARM7TDMI核以后,T变种的ARM微处 理器有两种工作状态:
➢ ARM状态 ➢ Thumb状态。
第11页/共60页
11
ARM与Thumb状态转换
在程序的执行过程中,微处理器可以随时在 两种工作状态之间切换,并且该转变不影响处理 器的工作模式和相应寄存器中的内容。
第3页/共60页
3
ARM版本Ⅱ
2.V2版架构
该版架构对V1版进行了扩展,例如ARM2和ARM3 (V2a)架构,版本2a是版本2的变种,ARM3芯片采 用了版本2a。V2版架构与版本V1相比,增加了以下功 能:
➢ 乘法和乘加指令;
➢ 支持协处理器操作指令;
➢ 快速中断模式;
➢ SWP/SWPB的最基本存储器与寄存器交换指令; ➢ 寻址空间:64MB。
➢ 增加了中止(Abort)和未定义2种处理器模式;
➢ 增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存 器;
➢ 增加了从异常处理返回的指令功能。
第5页/共60页
5
ARM版本Ⅳ
4.V4版架构
V4版架构在V3版上作了进一步扩充,V4版架构是目 前应用最广的ARM体系结构,ARM7、ARM8、ARM9和 StrongARM都采用该架构。指令集中增加了以下功能: ➢ 符号化和非符号化半字及符号化字节的存/取指令; ➢ 增加了16位Thumb指令集; ➢ 完善了软件中断SWI指令的功能; ➢ 处理器系统模式引进特权方式时使用用户寄存器操作; ➢ 把一些未使用的指令空间捕获为未定义指令。
第15页/共60页
15
流水线技术Ⅱ
多周期ARM指令的3级流水线操作
1 fetch ADD decode excute
2
fetch STR decode calc:addr data xfer
3
f
4
fetch ADD
decode excute
5
fetch ADD decode excute
第4页/共60页
4
ARM版本Ⅲ
3.V3版架构
V3版架构对ARM体系结构作了较大的改动:
➢ 寻址空间增至32位(4GB);
➢ 当前程序状态信息从原来的R15寄存器移到当前程序 状 态 寄 存 器 CPSR 中 ( Current Program Status Register);
➢ 增 加 了 程序 状 态 保存 寄 存 器 SPSR(Saved Program Status Register);
计算机体系结构Ⅱ
2. 哈佛体系结构
地址
数据存储器
数据
CPU
地址
程序存储器
数据
PC
第1页/共60页
1
ARM简介
ARM(Advanced RISC Machines)系列微处 理器,采用的ARM技术知识产权(IP)核都是由 ARM公司提供的。
ARM公司本身不生产芯片,转让设计许可, 由合作公司生产各具特色的芯片。
➢ 只保留加载/存储指令。操作数由加载/存储指令从存 储器取出放寄存器内操作。
➢ 芯片逻辑不采用或少采用微码技术,而采用硬布线逻 辑。
➢ 减少指令数和寻址方式。
➢ 指令格式固定,指令译码简化。
➢ 优化编译。
第13页/共60页
13
RISC技术Ⅱ
ARM体系结构还采用了一些特别的技术:
➢ 所有的指令都可根据前面的执行结果决定是否被执行, 提高了指令的执行效率。
相关文档
最新文档