ARM体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM体系结构
ARM Ltd公司介绍 编程模式 指令集 系统设计 开发工具
Agenda
成立于 1990 前身为 Acorn Computers
设计ARM 系列的RISC处理器核 授权半导体合作伙伴生产和销售CPU给消费者
ARM公司本身不制造CPU
同时也开发相关的技术用来辅助内置ARM体系结 构的CPU的开发 软件工具,开发板,调试硬件,应用软件,总线 架构,外设等
r13 (sp) r14 (lr)
cpsr spsr
spsr
spsr
Βιβλιοθήκη Baidu
spsr
spsr
spsr
Register 组织结构
User
FIQ
IRQ
SVC
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc)
User mode r0-r7, r15, and cpsr
byte address
Big Endian and Little Endian
字节顺序
大端模式 最高位字节保存在最低位地址 字由最低位字节的字节地址寻址
高地址 低地址
31
8
4
0
24 23
9
5
1
16 15
87
10
6
2
0
11
7
3
字地址
8 4 0
小端模式 最低位字节保存在最低位地址 字由最低位字节的字节地址寻址
ARM Ltd
ARM 合作伙伴
内置ARM技术的产品
知识产权
ARM的授权分为软件和硬件两种 RTL(Register-Transfer-Level) and synthesis flows(综合流程图) GDSII layout(芯片版图文件)
获得授权的厂家有权使用ARM公司的硬件和软件IP 软件IP包括门级网络表 硬件IP是DSMs(深亚微米技术)
1 12 1234
Jazelle核也可以执行Java字节码
ARM 存储器组织结构
bit 31
23
22
bit 0
21
20
19
18
17
16
word16
15
14
13
12
half-word14 half-word12
11
10
9
8
word8
7
6
5
4
byte6 half-word4
3
2
1
0
byte3 byte2 byte1 byte0
ARM有37个32位寄存器. 1 个作为程序计数器 1 个作为当前程序状态寄存器 5 个作为保存程序状态寄存器 30 个座位通用寄存器
当前处理器模式用来支配那些组可见. 每种模式可见 特定的 r0-r12 寄存器 特定的 r13 (堆栈指针, sp) 和 r14 (链接寄存器, lr) 程序计数器, r15 (pc) 当前程序状态寄存器, cpsr
r8 r9 r10 r11 r12 r13 (sp) r14 (lr)
User mode r0-r12, r15, and cpsr
r13 (sp) r14 (lr)
User mode r0-r12, r15, and cpsr
r13 (sp) r14 (lr)
cpsr
spsr
spsr
spsr
Note: 系统模式使用用户模式下的寄存器组
高地址 低地址
31
24 23
16 15
11
10
9
7
6
5
3
2
1
87
8
4
0
0 字地址
8 4
0
处理器模式
ARM有7种基本的处理器模式 has seven basic operating modes: User (用户模式) : 大部分任务运行时的非特权模式 FIQ (快中断模式) : 高优先级中断(fast)发生时进入快中断模式 IRQ (中断模式) : 低优先级中断(normal)发生时进入中断模式 Supervisor (管理模式) : 复位和软件中断指令执行时竟如管理模式 Abort (终止模式) : 用来支持内存和/或存储器管理 Undef (未定义模式) : 用来处理为定义指令 System (fast) : 特权模式与用户模式使用相同的寄存器
Banked out Registers
User
FIQ
IRQ
SVC Undef Abort
r8 r9 r10 r11 r12 r13 (sp) r14 (lr)
r8 r9 r10 r11 r12 r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
OEM必须使用硬件IP 为了保护 ARM IP
ARM Ltd公司介绍 编程模式
指令集 系统设计 开发工具
Agenda
数据类型和指令集
ARM是32位的处理器架构.
当采用ARM架构CPU时: 字节 意味着8位 半字 意味着16位 (两个字节) 字 意味着32位 (四个字节)
很多ARM CPU 执行两种指令集 32位ARM 指令集 16位Thumb指令集
特权模式 (除掉系统模式System) 也可见 特定的 spsr (保存程序状态寄存器)
程序状态寄存器
31
28 27
24 23
16 15
87654
0
NZCVQ
J Undefined
I F T mode
f
s
x
c
条件码标志位 N = Negative result from ALU(负数) Z = Zero result from ALU(零) C = ALU operation Carried out(进位) V = ALU operation oVerflowed(溢出)
The ARM Register Set
Current Visible Registers
IFUSARIVnsbQQedCoreMrMMtfMooMoodddodeeedee
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc)
Undef
User mode r0-r12, r15, and cpsr
r13 (sp) r14 (lr)
spsr
Abort
User mode r0-r12, r15, and cpsr
r13 (sp) r14 (lr)
spsr
Thumb 状态 低位寄存器
Thumb状态 高位寄存器
The Registers
DSP指令溢出 - Q 标志位 仅针对ARM5TE/J 表明是否产生饱和
ARM Ltd公司介绍 编程模式 指令集 系统设计 开发工具
Agenda
成立于 1990 前身为 Acorn Computers
设计ARM 系列的RISC处理器核 授权半导体合作伙伴生产和销售CPU给消费者
ARM公司本身不制造CPU
同时也开发相关的技术用来辅助内置ARM体系结 构的CPU的开发 软件工具,开发板,调试硬件,应用软件,总线 架构,外设等
r13 (sp) r14 (lr)
cpsr spsr
spsr
spsr
Βιβλιοθήκη Baidu
spsr
spsr
spsr
Register 组织结构
User
FIQ
IRQ
SVC
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc)
User mode r0-r7, r15, and cpsr
byte address
Big Endian and Little Endian
字节顺序
大端模式 最高位字节保存在最低位地址 字由最低位字节的字节地址寻址
高地址 低地址
31
8
4
0
24 23
9
5
1
16 15
87
10
6
2
0
11
7
3
字地址
8 4 0
小端模式 最低位字节保存在最低位地址 字由最低位字节的字节地址寻址
ARM Ltd
ARM 合作伙伴
内置ARM技术的产品
知识产权
ARM的授权分为软件和硬件两种 RTL(Register-Transfer-Level) and synthesis flows(综合流程图) GDSII layout(芯片版图文件)
获得授权的厂家有权使用ARM公司的硬件和软件IP 软件IP包括门级网络表 硬件IP是DSMs(深亚微米技术)
1 12 1234
Jazelle核也可以执行Java字节码
ARM 存储器组织结构
bit 31
23
22
bit 0
21
20
19
18
17
16
word16
15
14
13
12
half-word14 half-word12
11
10
9
8
word8
7
6
5
4
byte6 half-word4
3
2
1
0
byte3 byte2 byte1 byte0
ARM有37个32位寄存器. 1 个作为程序计数器 1 个作为当前程序状态寄存器 5 个作为保存程序状态寄存器 30 个座位通用寄存器
当前处理器模式用来支配那些组可见. 每种模式可见 特定的 r0-r12 寄存器 特定的 r13 (堆栈指针, sp) 和 r14 (链接寄存器, lr) 程序计数器, r15 (pc) 当前程序状态寄存器, cpsr
r8 r9 r10 r11 r12 r13 (sp) r14 (lr)
User mode r0-r12, r15, and cpsr
r13 (sp) r14 (lr)
User mode r0-r12, r15, and cpsr
r13 (sp) r14 (lr)
cpsr
spsr
spsr
spsr
Note: 系统模式使用用户模式下的寄存器组
高地址 低地址
31
24 23
16 15
11
10
9
7
6
5
3
2
1
87
8
4
0
0 字地址
8 4
0
处理器模式
ARM有7种基本的处理器模式 has seven basic operating modes: User (用户模式) : 大部分任务运行时的非特权模式 FIQ (快中断模式) : 高优先级中断(fast)发生时进入快中断模式 IRQ (中断模式) : 低优先级中断(normal)发生时进入中断模式 Supervisor (管理模式) : 复位和软件中断指令执行时竟如管理模式 Abort (终止模式) : 用来支持内存和/或存储器管理 Undef (未定义模式) : 用来处理为定义指令 System (fast) : 特权模式与用户模式使用相同的寄存器
Banked out Registers
User
FIQ
IRQ
SVC Undef Abort
r8 r9 r10 r11 r12 r13 (sp) r14 (lr)
r8 r9 r10 r11 r12 r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
OEM必须使用硬件IP 为了保护 ARM IP
ARM Ltd公司介绍 编程模式
指令集 系统设计 开发工具
Agenda
数据类型和指令集
ARM是32位的处理器架构.
当采用ARM架构CPU时: 字节 意味着8位 半字 意味着16位 (两个字节) 字 意味着32位 (四个字节)
很多ARM CPU 执行两种指令集 32位ARM 指令集 16位Thumb指令集
特权模式 (除掉系统模式System) 也可见 特定的 spsr (保存程序状态寄存器)
程序状态寄存器
31
28 27
24 23
16 15
87654
0
NZCVQ
J Undefined
I F T mode
f
s
x
c
条件码标志位 N = Negative result from ALU(负数) Z = Zero result from ALU(零) C = ALU operation Carried out(进位) V = ALU operation oVerflowed(溢出)
The ARM Register Set
Current Visible Registers
IFUSARIVnsbQQedCoreMrMMtfMooMoodddodeeedee
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc)
Undef
User mode r0-r12, r15, and cpsr
r13 (sp) r14 (lr)
spsr
Abort
User mode r0-r12, r15, and cpsr
r13 (sp) r14 (lr)
spsr
Thumb 状态 低位寄存器
Thumb状态 高位寄存器
The Registers
DSP指令溢出 - Q 标志位 仅针对ARM5TE/J 表明是否产生饱和