2 arm体系结构

合集下载

第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体系结构与编程
规则: | ARMv | n | variants | x(variants) | 分成四个组成部分: ·ARMv -- 固定字符,即ARM Version ·n -- 指令集版本号。迄今为之,ARM架构版本发布了7个系列, 所以n=[1:7]。其中最新的版本是第7版 ·variants -- 变种。 ·x(variants) -- 排除x后指定的变种 常见的变种有: ·T -- Thumb指令集 ·M -- 长乘法指令 ·E -- 增强型DSP指令 ·J -- Java加速器Jazelle ·SIMD -- ARM媒体功能扩展
和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小 ,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的 主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制 器。
嵌入式微控制器
嵌入式微控制器目前的品种和数量最多,比较有代表性的通用 系列包括8051、P51XA、MCS-251、MCS-96/196/296、 C166/167、MC68HC05/11/12/16、68300等。另外还有许多半通 用系列如:支持USB接口的MCU 8XC930/931、C540、C541; 支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前
2021/2/5
ARM分类
基于指令集体系结构(构架ISA)的分类 ARM V1 体系是最初版本,只有26位的寻址空间,没有乘法指 令,最终没有商业化 ARM V2 体系与V1体系同为26位寻址空间,具有乘法和加法指 令,支持协处理器 ARM V3 体系的寻址范围扩展到32位,具有乘法和加法指令, 支持协处理器 ARM V4 体系增加了半字存储操作,对调试的支持以及支持嵌 入的ICE ARM V5 体系增加了DSP指令支持和对Java指令的支持 ARM V6 体系增加了媒体指令,ARMv6指令集合中加入了超过 60条SIMD单指令多数据指令 ARM V7 体系定义了三种独立的内核型--A(应用领域), R( 实时领域),M(控制领域)

单片机课件第二章 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指令集发展史

arm指令集发展史

ARM指令集是一种用于处理器架构的指令集体系结构。

它最初由英国公司ARM Holdings开发,并广泛应用于各种嵌入式系统、移动设备和低功耗应用中。

以下是ARM指令集的发展史:1. ARM1:ARM指令集最早出现在1985年的ARM1处理器上。

ARM1是一款32位处理器,采用精简指令集(RISC)设计理念,具有较低的能耗和成本。

2. ARM2:ARM2处理器于1987年发布,增加了对乘法指令的支持,并引入了缓存技术来提高性能。

3. ARMv3:ARMv3指令集体系结构于1992年推出,支持更多的指令和功能,如虚拟内存管理单元(VMMU)和协处理器。

4. ARMv4:ARMv4指令集体系结构于1995年发布,引入了Thumb指令集,可以以压缩的形式执行16位指令,提高了代码密度和节能效果。

5. ARMv5:ARMv5指令集体系结构于1997年推出,引入了Jazelle技术,使处理器能够直接执行Java字节码。

6. ARMv6:ARMv6指令集体系结构于2002年发布,引入了Thumb-2技术,将16位Thumb指令和32位ARM指令混合使用,提高了代码密度和性能。

7. ARMv7:ARMv7指令集体系结构于2004年发布,引入了NEON SIMD(单指令多数据)扩展指令集,提供更高的并行计算能力。

8. ARMv8:ARMv8指令集体系结构于2011年推出,是一个重要的里程碑,引入了64位处理器架构(AArch64),并保持了与之前32位指令集的向后兼容性。

9. ARMv9:目前(2024年)尚未发布,但ARM Holdings已经透露正在研发ARMv9指令集体系结构。

ARMv9预计将进一步提升性能、安全性和AI加速能力。

上述是ARM指令集的主要发展历程,每个版本都带来了新的功能和改进,使ARM成为全球最受欢迎的处理器架构之一,并广泛应用于各个领域。

02-ARM技术概述

02-ARM技术概述

2.1 ARM体系结构的发展历史和技术特征
1. ARM发展的历程 2. ARM体系结构的技术特征
1、ARM发展的历程
最近10多年来ARM技术的突出成果表现在:
使用“Thumb”的新型压缩指令格式,使得应用系统开 发可降低系统成本和功耗; ARM9、ARM10、Strong-ARM 和 ARM11 等 系 列 处 理 器的开发,显著地提高了ARM的性能,使得ARM技术 在面向高端数字音、视频处理等多媒体产品的应用中更 加广泛; 更好的软件开发和调试环境,加快用户产品开发; 更为广泛的产业联盟使得基于ARM的嵌入式应用领域 更加广阔; 嵌入在复杂SoC中、基于ARM核的调试系统代表着当 今片上调试技术的前沿。
V4T
V4 V4T V5TE V5TE V6 V7
ARM9E-S
ARM10TDMI,ARM1020E ARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S, ARM11JZF-S Cortex A7,Cortex A8,Cortex A9
2、ARM体系结构的演变
1)Thumb指令集(T变种) Thumb指令集是把32位的ARM指令集的一个子集重 新编码后而形成的一个特殊的16位的指令集 2)长乘指令(M变种) 长乘指令是一种生成64位相乘结果的乘法指令(此 指令为ARM指令),M变种增加了两条长乘指令
2.6 ARM寄存器组成
1. 2. 3. ARM寄存器组成概述 ARM状态下的寄存器组织 Thumb状态下的寄存器组织
1、ARM寄存器组成概述
ARM处理器总共有37个寄存器,可以分为以下两类 寄存器 :31个通用寄存器 R0~R15 R13_svc、R14_svc R13_abt、R14_abt R13_und、R14_und R13_irq、R14_irq R8_fiq ~ R14_fiq 6个状态寄存器 CPSR、SPSR_svc、SPSR_abt、SPSR_und、 SPSR_irq和SPSR_fiq

ARM体系结构详解精

ARM体系结构详解精

ARM嵌入式系统第2章ARM体系结构ARM微处理器的编程模型♦ARM徴处理器的工作状态♦ARM体系结构的存储器格式♦ARM体系结构的指令长度及数据宽度♦ARM微处理器的处理器模式♦ARM体系结构的寄存器组织♦ARM微处理器的异常状态字、半字、字节字(Word)在ARM体系结构中,字的长度为32位半字(Half-Word)在ARM体系结构中,半字的长度为16位字节(Byg)在ARM体系结构中,字节的长度为8位。

ARM微处理器的工作状态(1)字对齐:四字节对齐半字对齐:两字节对齐两种状态:♦ARM状态:处理器执行32位的字对齐的令♦Thumb状态:处理器执行16位的、半字对齐的Thumb指令处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。

I ARM微处理器的工作状态(2 )状态切换:BX {<cond>} <Rm><cond>指令的条件码。

忽略时无条件执行。

<Rm>子存器中为跳转的目标地址,当<Rm><存器的bit[O]为0时, 目标地址处的指令为ARM指令;当<Rm>^存器的bit[O]为1时,目标地址处的指令为Thumb 指令。

伪代码:if ConditionPassed(cond) thenT Flag=Rm[O]PC=Rm AND OxFFFFFFFEARM微处理器在复位或上电时处于ARM状态,发生异常时处于ARM状态。

右ARM体系结构的存储器格式(1)ARM体系结构所支持的最大寻址空间为4GB (2^字节)♦大端格式(Big Endian)字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

♦小端格式(Little Endian)低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。

字地址字地址右ARM 体系结构的存储器格式(2)(0H)=0123H (4H)=4567H (8H)=89ABHBig Endian(0H)=3210H (4H)=7654H (8H)=BA98HLittle Endian右ARM 体系结构的存储器格式(3)8 9 AB4 5 6 7 0123一 “A ・■ • rO= 0x11223344 I 11 I 22 33 : 44 ILittle endian Big endianR2 =异FI*右 ARM 体系结构的指令长度及数据宽度♦指令长度:32位(在ARM 状态下) 16位(在Thumb 状态下)♦数据宽度: 字节(8位) 半字(16位) 字(32位)三种数据宽度对存储器及外部设备的访问。

arm体系结构的特点

arm体系结构的特点

arm体系结构的特点ARM体系结构是一种基于RISC(精简指令集电脑)的微型计算机体系结构,它以其高效性和低功耗的特点,成为现代移动设备、智能家居、嵌入式系统等领域的首选芯片。

ARM体系结构的特点如下:1. RISC(精简指令集电脑)体系结构:ARM体系结构以RISC体系结构为基础,相对于CISC(复杂指令集电脑)体系结构而言,指令集更加精简,每个指令执行时间更短。

这种短指令集的优点是更易于实现,并且需要更少的晶体管,从而降低了芯片成本和能源消耗。

2.可扩展型:ARM芯片的内存和外设都可以进行扩展,这使得ARM芯片非常灵活。

用户可以根据实际需求自由添加外围设备和扩展内存,以满足具体的应用要求。

3.处理速度快:ARM芯片通常是多核心的,每个核心都可以执行多个指令,具有各自的缓存,这使得ARM芯片的速度非常快。

在一些高效的应用场合,ARM芯片的速度甚至可以与桌面计算机的处理器相媲美。

4.低功耗:ARM体系结构的低功耗性质也是其的一大特点。

ARM芯片处理器消耗的能量非常少,由于嵌入式系统、移动设备等对能源的限制,ARM低功率处理器在这些设备中应用广泛。

5.易于编程:ARM处理器可以执行任何基本的计算机操作,比如移位、逻辑操作等,这使得编写程序变得简单易行。

在一些专门为ARM芯片设计的编程平台上,开发者很容易编写出高效率的代码。

6.架构标准一致:ARM芯片的设计标准化非常高,这使得基于ARM芯片设计的设备之间的兼容性极高。

如果您在设计设备时使用ARM芯片,您可以放心,您的设备可以与大多数其他ARM芯片的设备以及开发板互通。

7.多种寄存器存储器模式:不同于其他流行的体系结构,ARM体系结构支持多种寄存器存储器模式,从而可以有效地存储更多数据。

这是ARM芯片与其他芯片最显著的不同之处之一。

总之,ARM体系结构作为一种低功耗、高效、易于编程的微型计算机体系结构,成为多种领域的首选芯片。

随着技术的不断发展,ARM芯片的性能和价格都在不断提升,这将进一步拓展ARM芯片的应用范围。

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体系架构解析
T: Thumb support

标志
含义
说明
支持Thumb指令集 Thumb指令集版本1:ARMv4T
Thumb指令集版本2:ARMv5T
Thumb-2:ARMv6T
D
片上调试
使处理器能够停止,以响应调试请求
M
支持长乘法
32位乘32位得到64位,32位的乘加得到64位
T
I
E
J
S
Embedded ICE 提供片上断点和调试点

流水线:是把一个重复的过程分解为若干个子过
程,每个子过程可以与其他子过程同时进行。

于这种工作方式与工厂中的生产流水线十分相似,
因此,把它称为流水线工作方式。
处理器按照一系列步骤来执行每一条指令。典
型的步骤为:
1 从存储器读取指令 fetch
2 译码以鉴别它是哪一类指令 dec
3 从寄存器组取得所需的操作数 reg
Reg
Read
Shift
ALU
Reg
Write
Reg Select
DECODE
EXECUTE
ARM9TDMI
Instruction
Fetch
FETCH
ARM or Thumb
Inst Decode
Reg
Decode
Shift + ALU
Reg
Read
DECODE
EXECUTE
Memory
Access
2 指令译码 Instruction Decode :TD
3 执行指令 Instruction Execute :TE
4 存储 Storage :TS

第2 章 ARM体系结构及编程模型(OBE)汇总

第2 章 ARM体系结构及编程模型(OBE)汇总

ARM9TDMI的五级流水线
2020/6/24
ARM7TDMI与ARM9TDMI流水线比较
3.ARM9TDMI的五级流水线
ARM7TDMI与ARM9TDMI流水线比较
2020/6/24
ARM7和ARM9流水线比较
• 5级流水线的ARM9内核是哈佛架构,拥有独立的 指令和数据总线;指令和数据的读取可以在同一周 期进行;
ARM1020E XScale ARM9E-S ARM966E-S
SIMD Instructions
6
Multi-processing
V6 Memory architecture (VMSA)
Unaligned data
support
ARM1136EJ-S
ARM系列产品命名规则
ARM 926EJ-S
ARM体系结构的特点
• 1) RISC型处理器结构
– (LOAD/STORD, I-cache, D-cache)
• 2)Thumb指令集 (32/16) • 3)多处理器状态模式 (7) • 4)两种处理器工作状态(2) • 5)嵌入式在线仿真调试(ICE-RT ,JTAG) • 6)灵活方便的协处理器接口 (16个) • 7)低电压功耗的设计
ARM体系结构的发展
Halfword
4
1
and signed halfword /
byte support
System
2
mode
SA-110 SA-1110
3
Early ARM architectures
Thumb instruction set
ARM7TDMI
4T
ARM9TDMI
ARM720T

第三节ARM体系结构

第三节ARM体系结构
SPSR_fiq
一般的通用寄存器
寄存器类别 寄存器在汇编中的名称
用户
系统
R0(a1)
R1(a2)
R2(a3)其中R0~R7为
R3(a4)
未R分4(v1) 组的寄存器,也
通用寄存器 和程序计数

就R是5(v2) 说对于任何处理 R6(v3)
器R模7(v4) 式,这些寄存器 都对应于相同的32位 R8(v5)
管理 (svc) 操作系下统保访护问代码用户模系统式复位的和寄软件存中器断响就应比时进较入方此模式
中止 (abt) 未定义 (und)
用或于存支储便 可持器虚 保,以拟护而使内存且用和操这/ 作个在A系模RM统式7TD的访MI一问没有些一大用特 些处权 受任 控务 的 支软持件硬仿资件真协源处。理器的 未定义指令异常响应时进入此模式
各模式下实际访问的寄存器
用户
系统
管理
中止
未定义
RR00
在汇编语言中寄存
R1
器R0~R13为保存数据
R2
或地址值的通用寄存器。
R3
它们是完全通用的寄存器, R4
不会被体系结构作为特殊
R5
用途,并且可用于任何使
R6
用通用寄存器的指令。
R7
R8
R9
R10
R11
R12
R13
RR1133__ssvc
R13_abt
SSPPSSRR__fifqiq
ARM状态各模式下可以访问的寄存器
寄存器类别 寄存器在汇编中的名称
通用寄存器和 程序计数器
状态寄存器
R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13(SP) R14(LR) R15(PC) CPSR SPSR

数字设计和计算机体系结构(原书第2版·arm版)

数字设计和计算机体系结构(原书第2版·arm版)

数字设计和计算机体系结构是计算机科学与技术中的重要领域,它涵盖了计算机硬件和软件的方方面面。

本文将从ARM版数字设计和计算机体系结构第二版的角度出发,对数字设计和计算机体系结构进行深入分析和阐述。

一、数字设计的基本概念数字设计是指利用数字电路设计技术对数字信息进行处理和传输的过程。

数字设计的基本概念包括数字系统、数字逻辑、数字信号处理等,其中数字系统是数字设计的基础,它包括数字计算机、数字信号处理器、数字通信系统等。

数字逻辑是数字设计的核心内容,它涉及数字逻辑门、组合逻辑电路、时序逻辑电路等。

数字信号处理是数字设计的重要应用领域,它包括数字滤波器、数字变换器、数字控制器等。

数字设计的基本概念对于理解计算机体系结构和进行数字系统设计具有重要意义。

二、计算机体系结构的基本原理计算机体系结构是计算机硬件系统的设计和实现原则,它包括计算机的组成和工作原理、指令系统和指令执行、存储器系统和输入输出系统等。

计算机的组成和工作原理是计算机体系结构的基础,它涉及计算机的各个部件及其功能和相互关系。

指令系统和指令执行是计算机体系结构的核心内容,它包括指令的格式和编码、指令的执行和中断处理、指令的流水线和并行处理等。

存储器系统和输入输出系统是计算机体系结构的重要组成部分,它包括主存储器、辅助存储器、输入输出接口等。

计算机体系结构的基本原理对于理解计算机工作原理和进行计算机系统设计具有重要意义。

三、ARM版数字设计和计算机体系结构的特点ARM(Advanced RISC Machine)是一种精简指令集(RISC)的微处理器架构,它具有低功耗、高性能和灵活性等特点,广泛应用于移动通信、嵌入式系统和消费类电子产品等领域。

ARM版数字设计和计算机体系结构具有以下特点:(一)RISC架构ARM处理器采用精简指令集(RISC)的架构,它具有指令精简、执行效率高、硬件复杂度低的特点。

RISC架构的特点使得ARM处理器具有较高的性能和较低的功耗,适合于嵌入式系统和移动通信设备等领域的应用。

ARM体系结构

ARM体系结构

ARM体系结构
ARM作为一种微处理器体系结构,具有广泛应用范围、高性价比、低功耗等优势,在晶体管规模以及架构方面有着很大的节省,因而受到了越来越多应用者的青睐。

ARM体系结构包括处理器(Processor)、片外存储器(External Memory)、I/O接口(Input/Output Interface)、外围器件(Peripheral Devices)、软件支持(Software Support)等内容。

从处理器来说,ARM体系结构提供了一系列非常细分的机型,它们有不同的特性和操作速度,可以满足不同的性能需求,而且这些机型一般都有较高的可缩放性,所以在产品设计的过程中可以根据实际要求选择合适的特性和速度。

从片外存储器来说,ARM体系结构支持使用不同类型的存储器,比如SRAM、DRAM、Flash等,可以根据应用性能和耗电量的需求,来选择合适的存储器以满足不同应用场景的需求,而且存储器容量也比较可观,一般可以满足大部分应用场景的要求。

从I/O接口来说,ARM体系结构支持多种接口,如USB、I2C、SPI、UART等,通过这些接口可以与周边的外设进行连接,而这些接口的功耗和速度也比较低。

arm体系结构特点

arm体系结构特点

arm体系结构特点
ARM 体系结构是一种广泛使用的 32 位微处理器体系结构,具有以下特点:
1. 简单的指令集:ARM 指令集是一种 RISC(精简指令集计算机)指令集,它具有固定长度的指令和简单的指令格式。

这种简单的指令集可以提高指令的执行速度和效率,同时也可以减少指令的解码时间。

2. 高效的流水线:ARM 体系结构采用了高效的流水线技术,可以在一个时钟周期内执行多条指令。

这种流水线技术可以提高指令的执行速度和效率,从而提高处理器的性能。

3. 低功耗设计:ARM 体系结构采用了低功耗设计,可以在不影响性能的情况下降低处理器的功耗。

这种低功耗设计对于移动设备和嵌入式系统非常重要,可以延长设备的电池寿命。

4. 可扩展性:ARM 体系结构具有很好的可扩展性,可以通过增加更多的寄存器和指令来扩展处理器的功能。

这种可扩展性可以满足不同应用的需求,例如多媒体处理、网络通信等。

5. 支持Thumb 指令集:ARM 体系结构还支持 Thumb 指令集,这是一种 16 位的指令集。

Thumb 指令集可以在不损失性能的情况下减少代码的大小,从而节省存储空间。

6. 强大的异常处理机制:ARM 体系结构具有强大的异常处理机制,可以处理各种硬件和软件异常。

这种异常处理机制可以提高系统的可靠性和稳定性。

总之,ARM 体系结构具有简单的指令集、高效的流水线、低功耗设计、可扩展性、支持Thumb 指令集和强大的异常处理机制等特点,这些特点使得 ARM 体系结构成为了移动设备和嵌入式系统领域的主流处理器体系结构。

第2章 ARM技术概述

第2章 ARM技术概述

21
2.4 ARM 微处理器的应用选型

2.4.2选择一款适合学习的ARM芯片





(9)LCD控制器 有些ARM芯片内置LCD控制器,有的甚至内置64KB彩色TFT LCD控制器。 (10)PWM输出 有些ARM芯片有2~8路PWM输出,可以用于电机控制或语音输出等场合。 (11)ADC和DAC 有些ARM芯片内置2~8通道8~12位通用ADC,可以用于电池检测、触摸 屏和温度监测等 (12)扩展总线 大部分ARM芯片具有外部SDRAM和SRAM扩展接口 (13)时钟计数器和看门狗 一般ARM芯片都具有2~4个16位或32位时钟计数器和一个看门狗计数器。
150+ MIPS Uni-Proc
600+ MIPS Uni-Proc
ARM7TDMI
H L ARM7TDMI
100+ MIPS Uni-Proc
Microcontroller Market
Cortex-M
2.2 ARM微处理器简介

ARM处理器的产品系列非常广,包括ARM7、ARM9、 ARM9E、ARM10E、ARM11和SecurCore、Cortex等
ARM营销模式
将技术授权给 其它芯片厂商
形成各具特色 的ARM芯片
ARM 合作伙伴
ARM占据了32位RISC微处理器80%以上的市场份额
2.1 ARM体系结构的技术特征及发展

2.1.2 ARM技术特征

ARM处理器有如下特点: • 体积小、低功耗、低成本、高性能 • 支持Thumb(16位)/ARM(32位)双指令集,能 很好的兼容8位/16位器件 • 大量使用寄存器,指令执行速度更快 • 大多数数据操作都在寄存器中完成 • 寻址方式灵活简单,执行效率高 • 指令长度固定
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

33
Thumb指令集
Thumb指令可以看作是ARM指令压缩形式的子集, 是针对代码密度的问题而提出的,它具有16位的代码 密度。 Thumb不是一个完整的体系结构,不能指望处理 只执行Thumb指令而不支持ARM指令集。因此,Thumb 指令只需要支持通用功能,必要时可以借助于完善的 ARM指令集。


ARM状态 Thumb状态。
17
ARM与Thumb状态转换
在程序的执行过程中,微处理器可以随时在 两种工作状态之间切换,并且该转变不影响处理 器的工作模式和相应寄存器中的内容。


进入Thumb状态:当操作数寄存器的状态位(位[0])为 1时,执行BX指令。 进入ARM状态:当操作数寄存器的状态位(位[0])为0 时,执行BX指令。
11
(4) V4版架构
V4版架构在V3版上作了进一步扩充,V4版架构是目 前 应 用 最 广 的 ARM 体 系 结 构 , ARM7、ARM8、 ARM9和StrongARM都采用该架构。指令集中增加了 以下功能: 符号化和非符号化半字及符号化字节的存/取指令; 增加了16位Thumb指令集; 完善了软件中断SWI指令的功能; 处理器系统模式引进特权方式时使用用户寄存器操作; 把一些未使用的指令空间捕获为未定义指令。
24
ARM7的3级流水线
25
ARM9的5级流水线 ARM9和StrongARM架构都采用了5级流 水线.



增加了I-Cache和D-Cache,把存储器的取指与数据存 取分开(解决数据相关及指令、数据同一通道问题); 增加了数据写回的专门通路和寄存器; 把指令的执行过程分割为5部分: 取指->指令译码->执行->数据缓存->写回
8
ARM指令集体系结构版本
(1)V1版架构

该版架构只在原型机ARM1出现过,没有用于商业产品。 其基本性能有: 基本的数据处理指令(无乘法); 基于字节、半字和字的Load/Store指令; 转移指令,包括子程序调用及链接指令; 供操作系统使用的软件中断指令SWI; 寻址空间:64MB(226); 软件中断 26 bit 地址总线。
第二部分 ARM9处理器硬件平台
主要内容:

ARM处理器概述 ARM9处理器S3C2410A硬件介绍

1
ARM处理器概述

ARM简介

ARM指令集体系结构版本与处理器系列
ARM处理器结构

2
ARM简介
ARM(Advanced RISC Machines),既 可以认为 是一个公司的名字,也可以认为 是对一类微处理器的通称,还可以认为是 一种技术的名字。 ARM公司(1991年ARM公司成立于英国剑 桥)本身不生产芯片,转让设计许可,由合 作公司生产各具特色的芯片。
15
ARM处理器结构

处理器的工作状态 RISC技术 流水线技术 超标量执行 数据存储 ARM指令与Thumb指令
16
ARM状态和Thumb状态
V4版以后有:

32位ARM指令集 16位Thumb指令集,功能是ARM指令集的 功能子集。
ARM7TDMI核以后,T变种的ARM微处理器 有两种工作状态:
30





变址寻址-将基址寄存器的内容与指令中给出的位移量相 加,形成操作数有效地址。 多寄存器寻址-一次可以传送几个寄存器的值。允许一条 指令传送16个寄存器的任何子集。 堆栈寻址-堆栈是特定顺序进行存取的存储区,操作顺序 分为“后进先出”和“先进后出”,堆栈寻址是隐含的, 它使用一个专门的寄存器(堆栈指针)指向一块存储区域 (堆栈),指针所指向的存储单元就是堆栈的栈顶。 块拷贝寻址-多寄存器传送指令用于一块数据从存储器的 某一位置拷贝到另一位置。 相对寻址-相对寻址是变址寻址的一种变通,由程序计数 器PC提供基地址。指令中的地址码字段作为位移量。
7
网络应用: 随着宽带技术的推广,采用ARM技术的ADSL芯片正逐 步获得竞争优势。此外,ARM在语音及视频处理上行了优 化,并获得广泛支持,也对DSP的应用领域提出了挑战。 消费类电子产品: ARM技术在目前流行的数字音频播放器、数字机顶盒 和游戏机中得到广泛采用。 成像和安全产品: 现在流行的数码相机和打印机中绝大部分采用ARM技 术。手机中的32位SIM智能卡也采用了ARM技术。
9
(2)V2版架构
该版架构对V1版进行了扩展,例如ARM2和ARM3 (V2a)架构,版本2a是版本2的变种,ARM3芯片采用 了版本2a。V2版架构与版本V1相比,增加了以下功能: 乘法和乘加指令(Multiply & Multiply-accumulate); 支持协处理器操作指令; 支持线程同步 快速中断模式; SWP/SWPB的最基本存储器与寄存器交换指令; 寻址空间:64MB; 26 bit 地址总线。
26
超标量执行
通过重复设置多套指令执行部件,同时处理并完成多条 指令,实现并行操作,来达到提高处理速度的目的。所有 ARM内核,包括流行的ARM7、ARM9和ARM11等,都是单周期 指令机。ARM公司下一代处理器将是每周期能处理多重指令 的超标量机。但是: 超标量处理器在执行的过程中必须动态地检查指令相关性 如果代码中有分支指令; 我们必须将分支被执行和分支不被执行这两种情况分开考 虑计算执行时间几乎是不可能的; 计算执行时间几乎是不可能的; 超标量CPU采用多条流水线结构形式
3
目前,采用ARM技术知识产权(IP)核的微处 理器,即我们通常所说的ARM微处理器已遍及工 业控制、消费类电子产品、通信系统、网络系统、 无线系统等各类产品市场,基于ARM技术的微处 理器应用约占据了32位RISC微处理器75%以上的 市场份额,ARM技术正在逐步渗入到我们生活的 各个方面。
4
世界各大半导体生产商从ARM公司购买其设计 的ARM微处理器核,根据各自不同的应用领域,加 入适当的外围电路,从而形成自己的ARM微处理器 芯片进入市场。 目前,全世界有几十家大的半导体公司都使用 ARM公司的授权,因此既使得ARM技术获得更多的 第三方工具、制造、软件的支持,又使整个系统 成本降低,使产品更容易进入市场被消费者所接 受,更具有竞争力。
12

(5)V5版架构
V5版架构是在V4版基础上增加了一些新的指令, ARM10和Xscale都采用该版架构。这些新增命令有: 带有链接和交换的转移BLX指令; 计数前导零CLZ指令; BRK中断指令; 增加了数字信号处理指令(V5TE版); 为协处理器增加更多可选择的指令。

27



ARM存储数据类型
ARM处理器支持以下六种数据类型:


8位有符号和无符号字节。 16位有符号和无符号半字,以2字节的边界对齐。 32位有符号和无符号字,以4字节的边界对齐
ARM 采用的是32位架构 ARM 约定: Byte : 8 bit Halfword :16 bits (2 byte) Word : 32 bits (4 byte)
28
ARM处理器寻址方式
寻址方式:
是根据指令中给出的地址码字段来实现寻找 真实操作数地址的方式,ARM处理器有9种基本 寻址方式。
29




寄存器寻址-操作数的值在寄存器中,指令执行时直 接取出寄存器值操作。 立即寻址-指令中在操作码字段后面的地址码部分不 是通常意义上的操作数地址,而是操作数本身。 寄存器移位寻址-这种寻址方式是ARM指令集特有的。 第2个寄存器操作数在与第1个操作数结合之前,选择 进行移位操作。 寄存器间接寻址-指令中的地址码给出某一通用寄存 器的编号。在被指定的寄存器中存放操作数的有效地 址,而操作数则存放在存储单元中,即寄存器为地址 指针。
V3版架构




V3版架构对ARM体系结构作了较大的改动: 寻址空间增至32位(4GB); 当前程序状态信息从原来的R15寄存器移到当前程序 状 态 寄 存 器 CPSR 中 ( Current Program Status Register); 增加了程序状态保存寄存器SPSR(Saved Program Status Register); 增加了中止(Abort)和未定义2种处理器模式; 增加了MRS/MSR指令,以访问新增的CPSR/SPSR 寄存器; 增加了从异常处理返回的指令功能。
13
(6)V6版架构
V6版架构是2001年发布的,首先在2002年春季发 布的ARM11处理器中使用。此架构在V5版基础上增 加了以下功能: THUMBTM:35%代码压缩; DSP扩充:高性能定点DSP功能; JazelleTM:Jova性能优化,可提高8倍; Media扩充:音/视频性能优化,可提高4倍。
34
Thumb指令集与ARM指令集的区别
Thumb指令集没有: 协处理器指令;信号量指令;访问CPSR或SPSR 的指令;乘加指令及64位乘法指令等 Thumb指令的第二操作数受到限制; 除了跳转指令B有条件执行功能外,其它指令 均为无条件执行; 大多数Thumb数据处理指令采用2地址格式

19
RISC技术Ⅱ
ARM体系结构还采用了一些特别的技术:


所有的指令都可根据前面的执行结果决定是否被执行,提 高了指令的执行效率。 可用Load/Store指令批量传输数据,以提高数据的传输 效率。 可在一条数据处理指令中同时完成逻辑处理和移位处理。
20
流水线技术
计算机中的1条指令的执行分若干个阶段: (1)取指,从存储器中取出指令(fetch); (2)译码,指令译码(dec): (3)取操作数,从寄存器组中取(reg); (4)执行运算(ALU); (5)存储器访问,操作数与存储器有关(mem); (6)结果写回寄存器(res)。
相关文档
最新文档