32位嵌入式微处理器ARM1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时进入
模
FIQ
一个高优先级的快速中断产生时进入
常
IRQ
异
一个低优先级的普通中断产生时进入
Abort
用来处理内存访问异常
特权模式
Undef
用来处理未定义的指令
System User
特权模式,与用户模式使用相同寄存器
大多数应用程序/操作系统任务执行时 的模式
非特权模 式
ARM寄存器集(ARM State)
高速缓存内核术语
? MPU – 内存保护单元
– 控制内存访问权限 – 控制内存区域的属性
(cacheable, bufferable ) ? MMU – 内存管理单元
– 具有MPU的所有特性
– 另外提供虚拟地址到物理地址的 转换
? Cache(高速缓存) – 快速的本地内存 – 存放最近被访问过的内存的副本
主要内容
? 体系结构 ? 编程模型 ? 指令集介绍 ? ARM处理器内核 ? 内存及IO
8
数据宽度和指令集
? ARM属于RISC体系 – 许多指令能够在单周期内执行
? ARM是32位读取/存储架构 ? 数据类型
– 字节型数据(Byte ):数据宽度为8bits – 半字数据类型( HalfWord ): 数据宽度为 16bits ,
存取式必须以2字节对齐的方式 – 字数据类型( Word ): 数据宽度为 32bits ,存取式
必须以4字节对齐的方式
数据宽度和指令集
? 大部分的ARM处理器都实现了两种指令集 – 32位ARM 指令集 – 16位 Thumb 指令集
? 最新的ARM核引入了新的指令集 Thumb-2 – 提供了32位和16位的混合指令 – 在增强了灵活性的同时保持了代码高密度
? 注意:相同体系可能有完全不同的实现
只支持Thumb-2
– ARM7TDMI - arch v4T. 冯诺依曼结构,3级流水线
– ARM920T - arch v4T. 哈佛结构,5级流水线,具有MMU
各种体系的ARM内核列表
处理器核心
体系结构
? ARM7TDMI系列
v4T
– ARM720T, ARM740T
? 包含一个中断控制器
– 内核只支持两种中断 ? 包含Primecel外l 设
– 需要从ARM公司取得授权 ? 用AMBA相连的器件
(AdvancedMicrocontrollerBus Architecture)
Clocks and Reset Controller
ARM
Processor
core
r8 r9 r10 r11 r12 r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
r13 (sp) r14 (lr)
cpsr
当前模式
spsr
spsr
spsr
Banked out registers
spsr
spsr
ARM寄存器集( Thumb State )
CLZ指令 饱和运算 DSP乘加指令
SIMD指令 多处理技术 V6内存体系 支持非对齐数据
CoreSight
7A (Applications) NEON
扩展: Jazelle (5TEJ)
扩展:
7R (Real-time) 支持硬件除法
Thumb-2 (6T2)
TrustZone (6Z)
7M (Microcontroller)
? ARM9TDMI系列
v4T
– ARM920T,ARM922T,ARM940T ? ARM9E 系列
v5TE, v5TEJ
– ARM946E-S, ARM966E-S, ARM926EJ-S
? ARM10E 系列
v5TE, v5TEJ
– ARM1020E, ARM1022E, ARM1026EJ-S
? ARM11系列
v6
– ARM1136J(F)-S
– ARM1156T2(F)-S
v6T2
– ARM1176JZ(F)-S
v6Z
? Cortex 系列
– ARM Baidu Nhomakorabeaortex-A8
v7A
– ARM Cortex-R4
v7R
– ARM Cortex-M3
v7M
? 附录里有关于ARM处理器内核的命名习惯和特性的说明
Control Coprocessor
US B
Fast core clock domain
Slower bus clock domain
Memory System
ARM体系结构的发展
4T
5TE
6
7
Thumb-2
半字以及有符号 半字/字节支持
系统模式
Thumb指令集
增强的ARM/Thumb 指令交互
B
DEBUG
AH
A
nIRQ
B
nFIQ
M
A
Interrupt
Controller
ARM Primecell
B AP
Peripherals
A B
M
A
GPIO
DMA Port
External Memory Interface
On chip RAM
APB Bridge
ARM based SoC
FLASH SDRAM
User mode
IRQ
FIQ
Undef Abort
SVC
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc)
ARM有37个寄存器,都是32位宽 这些寄存器的子集只能在相应模 式被访问
r13 (sp) r14 (lr)
嵌入式系统及应用
32位嵌入式微处理器ARM(1)
ARM体系结构及 处理器内核
主要内容
? 体系结构 ? 编程模型 ? 指令集介绍 ? ARM处理器内核 ? 内存及IO
3
基于ARM的系统举例
? ARM核深度嵌入于SoC中
– 通过JTAG 口进行外部调 试
? 设计既有外部内存又有内部 内存
– 支持不同的内存宽度、速 度和大小
? TCM – 紧耦合内存 – 快速的本地内存 – 特定的地址范围
? Write buffe(r 写缓存区) – 减少了写数据到外部内存的次数
System on Chip
ARM926EJ-S core
ARM9E Integer Core
TCM
Write buffer
Interface
Cache
MMU or MPU
? Jazelle核可以执行 Java字节码(Java bytecode)
处理器模式
? ARM处理器有七种基本的操作模式: – 每一种模式只能访问: ? 自己的栈空间和不同的寄存器子集 – 有一些操作只能在特权模式下执行
模式
描述
Supervisor 当复位或者软中断(SWI)指令被执行
式
(SVC)