本章的主要内容为:
2.3 Thumb技术介绍
2.4 ARM处理器工作状态
2.6 ARM寄存器组成
1
本章的主要内容为:
2.10 ARM协处理器
2.12 ARM的调试结构
2.14 基于ARM核的芯片选择
2
ARM发展的历程
1990年,为广泛推广ARM技术而成立了独立的公司
3
ARM发展的历程
在ARM的发展历程中,从ARM7开始,ARM核被普遍认可和广泛使用
XScale是下一代StrongARM芯片的发展基础ARM11是ARM家族中性能最强的一个系列
4
ARM 简介
ARM32位体系结构目前被公认为是嵌入式应用领域领先的32位嵌入式RISC微处理器结构。从版本1到版本6,ARM体系的指令集功能不断扩大。
5
ARM Partnership Model
6
2.2 ARM体系结构的技术特征
ARM的体系结构采用了若干Berkeley RISC
处理器设计中的特征
?Load/store体系结构
?固定的32位指令
?3地址指令格式
也放弃了其它若干Berkeley RISC特征
?寄存器窗口
?延迟转移
?所有的指令单周期执行
7
SA-110
ARM7TDMI 4T
1
支持Halfword和signed halfword/ byte 和System mode
支持Thumb
指令集
2
4
ARM9TDMI
SA-1110
ARM720T ARM940T 改良的
ARM/Thumb
交互作用
以及CLZ 指
令
5TE
Saturated maths
DSP multiply-accumulate instructions
XScale
ARM1020E ARM9E-S
ARM966E-S
3
早期的ARMs
ARM9EJ-S
5TEJ
ARM7EJ-S
ARM926EJ-S
Jazelle
支持
Java字节码
6
ARM11 SIMD SISIMDMD
SIMD
ARM体系结构发展
8
各ARM体系结构版本——V1
该版本的ARM体系结构,只有26位的寻址空间,没有商业化,其特点为:
§基本的数据处理指令(不包括乘法);
§字节、字和半字加载/存储指令;
§具有分支指令,包括在子程序调用中使用的
分支和链接指令;
§在操作系统调用中使用的软件中断指令。
9
各ARM体系结构版本——V2
同样为26位寻址空间,现在已经废弃不再使用,它相对V1版本有以下改进:
§具有乘法和乘加指令;
§支持协处理器;
§快速中断模式中的两个以上的分组寄存器;
§具有原子性加载/存储指令SWP和SWPB。
10
ARM体系结构的基本版本
V3较以前的版本发生了大的变化
11
ARM体系结构的基本版本
版本4。与版本3相比,版本4增加了下列指令
增加了T变种,处理器可以工作于Thumb状态,在该
状态下的指令集是16位的Thumb指令集。
12
ARM体系结构的基本版本
版本5主要由两个变型版本5T、5TE组成
相比与版本4,版本5的指令集有了如下的变化:高了T变种中ARM/Thumb混合使用的效率。
增加前导零记数(CLZ)指令,该指令可使整数除法和中断优先级排队操作更为有效;
增加了BKPT(软件断点)指令;
为协处理器设计提供了更多的可供选择的指令;
13
ARM体系结构总结
核体系结构ARM1V1 ARM2V2 ARM2aS,ARM3V2a ARM6,ARM600,ARM610V3 ARM7,ARM700,ARM710V3 ARM7TDMI,ARM710T,ARM720T ARM740T V4T Strong ARM,ARM8,ARM810V4 ARM9TDMI,ARM920T,ARM940T V4T ARM9E-S V5TE ARM10TDMI,ARM1020E V5TE ARM11,ARM1156T2-S,ARM1156T2F-S,
V6 ARM1176JZ-S,ARM11JZF-S
14
2.2.2 ARM体系结构的演变
1)Thumb指令集(T变种)
Thumb指令集是把32位的ARM指令集的一个子集重新编码后而形成的一个特殊的16位的指令集
2)长乘指令(M变种)
长乘指令是一种生成64位相乘结果的乘法指令(此指令为ARM指令),M变种增加了两条长乘指令
15
ARM体系结构的演变
3)增强型DSP指令(E变种)
E变种的ARM体系增加了一些增强处理器对典型的DSP 算法处理能力的附加指令
4)Java加速器Jazelle(J变种)
16
2.3 Thumb技术介绍
ARM的RISC体系结构的发展中已经提供了低功耗、小体积、高性能的方案。而为了解决代码长度的问题,ARM体系结构又增加了T变种,开发了一种新的指令体系,这就是Thumb指令集,它是ARM技术的一大特色。
2.3.1Thumb的技术概述
2.3.2Thumb的技术实现
2.3.3Thumb技术的特点
17
2.3.1Thumb的技术概述
Thumb是ARM体系结构的扩展。它有从标准32位ARM指令集抽出来的36条指令格式,可以重新编成16位的操作码。
支持Thumb的ARM体系结构的处理器状态可以方便的切换、运行到Thumb状态,在该状态下指令集是16位的Thumb指令集
18
2.3.2 Thumb技术的特点
在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统,但有比纯粹的16位系统有较高的实现性能,因为实际执行的是32位指令,用Thumb指令编写最小代码量的程序,却取得以ARM代码执行的最好性能
19
Thumb技术的特点
与ARM指令集相比.Thumb指令集具有以下局限
完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要求苛刻的应用场合ARM指令集更为适合;
Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,还是需要使用ARM指令,这种限制决定了Thumb指令需要和ARM指令配合使用。
20