ARM 7,9,10系列概述

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

ARM7xxT
ARM720TARFra bibliotek710T8K 统一的 cache 完整的内存管理单元(mmu),支持虚 拟地址和存储器保护 写缓冲
52v07 ARM普通处理器内核
TM
同ARM710T,但支持 WinCE
ARM740T
8K 统一的 cache 内存管理单元 写缓冲
17
17
ARM7TDMI-S
ARM7TDMI-S 是ARM7TDMI 的完全可综合版本
nMREQ = 1, SEQ = 1 ARM 内核希望用总线协处理器通信,但不要求存储器系统的任何动作
52v07 ARM普通处理器内核
TM
15
15
T标志位的作用 标志位的作用
Fetch
阶段 1
Decode
阶段 2
Execute
D[31:0]
32-bit data
Mux 0
16 16
Mux 16 Thumb 指令 解码
19
小测验
1) 一条简单的算术操作 如: ADD )要占用几个周期 一条简单的算术操作( 要占用几个周期? 要占用几个周期 2) ARM7TDMI指令流水线有几个阶段 指令流水线有几个阶段? 指令流水线有几个阶段 3) ARM7TDMI 是否使用 ALU 计算地址 计算地址? 4) ARM在存储器里,可寻址几种类型的数据? 在存储器里,可寻址几种类型的数据 在存储器里 5) 试举一非顺序周期的例子 试举一非顺序周期的例子? 6) 数据总线的哪一半可被内核用作 数据总线的哪一半可被内核用作Thumb 指令 指令?
52v07 ARM普通处理器内核
TM
23
23
ARM9TDMI数据通道 (1) 数据通道
数据总线 字节旋转 /符号扩展 符号扩展 .
字节/半字 字节 半字
DINFWD C
双向 缓冲器 字节/半字 字节 半字 复制 数据递 增
DD
指令递增 寄存器 Bank B A IA 指令地址总线 向量
MU 逻辑
结果
011fetchdecodeexecute17tm52v07arm普通处理器内核带cache的arm7tdmi?arm710t?8k统一的cache?完整的内存管理单元mmu支持虚拟地址和存储器保护?写缓冲arm720t同arm710t但支持wincearm740t8k统一的cache内存管理单元写缓冲arm7tdmi内核地址地址数据读amba接口写缓冲mmu数据写数据arm7xxt控制逻辑cacheamba总线接口jtag和非amba信号cp1518tm52v07arm普通处理器内核arm7tdmis?arm7tdmis是arm7tdmi的完全可综合版本?指令集和周期与arm7tdmi固化版本兼容完全可综合的rtl??使用了纲要设计构件的组件?alu?寄存器组?单时钟设计上升沿单一总线接口19tm52v07arm普通处理器内核securcoresc100?第一个适合安全应用的32位risc处理器?可用于smart卡和其他有安全性要求的嵌入式领域?基于arm7内核的专为安全解决方案设计完全可综合的全静态设计提供安全的存储器保护单元thumb指令支持提高代码密度和系统性能特殊的独一无二的防伪造设计小尺寸1mm2典型的0
基于ARM7内核的专为安全解决方案设计
完全可综合的,全静态设计 提供安全的存储器保护单元 Thumb指令支持,提高代码密度和系统性能 特殊的,独一无二的防伪造设计 小尺寸 (1mm2 典型的 0.25 工艺) 低功耗 (< 0.7mW/MHz at 2.5V)
52v07 ARM普通处理器内核
TM
19
ARM 处理器内核
T
H
E
A
R
C
H
I
T
E
C
T
U
R
E
F
O
R
T TM
H
E
D
I
G
I
T
A
L
W
O
R1 L
D
简要定义… 简要定义
可综合内核(软核) 可综合内核(软核)
ARM926EJ-S ARM7TDMI-S ARM1026EJ-S
固化宏单元(硬核) 固化宏单元(硬核)
ARM920T ARM7TDMI ARM720T ARM1022E
52v07 ARM普通处理器内核
TM
14
14
ARM 存储器接口
顺序周期 (S cycle) (nMREQ,SEQ存储器请求信号 存储器请求信号) 存储器请求信号
nMREQ = 0, SEQ = 1 ARM 内核要求如下地址转换:地址可以相同,也可以比前一地址大一字或半字
非顺序周期(N cycle) (nMREQ,SEQ存储器请求信号 存储器请求信号) 存储器请求信号
测试芯片
ARM10200E
52v07 ARM普通处理器内核
TM
2
2
议程
ARM7TDMI 处理器内核系列 ARM9TDMI 处理器内核系列 ARM10E处理器内核系列 其他处理器
52v07 ARM普通处理器内核
TM
3
3
什么是 ARM7TDMI?
ARM7TDMI 是基于 ARM7 内核
3 级流水线---0.9MIPS/MHz 冯.诺依曼架构 CPI(Cycle Per Instruction) 约为1.9 T - Thumb 架构扩展, 提供两个独立的指令集:
nM[4:0] MCLK nMREQ SEQ LOCK A[31:0] D[31:0] DIN[31:0]
时钟
nWAIT
ISYNC
配置
BUSEN BIGEND
存储器接口
ARM7TDMI 内核
nIRQ
DOUT[31:0] nENOUT nRW MAS[1:0] nTRANS
中断
nFIQ nRESET APE
Fetch
Decode Execute Fetch Decode Execute Fetch Decode Fetch
流水线被阻断 注意:内核运行在 注意 内核运行在ARM状态 内核运行在 状态
52v07 ARM普通处理器内核
TM
12
12
中断流水线举例
IRQ 周 期 地址
0x8000 0x8004 0x8008 0x800C 0x0018 0x001C 0x0020 0xAF00 0xAF04 0xAF08
ADD SUB MOV AND ORR EOR CMP RSB Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Fetch
TAP 控制器
Embedded ICE 逻辑
JTAG 接口
52v07 ARM普通处理器内核
TM
6
6
ARM7TDMI 内核
ABE A[31:0]
地址 自增器
Incrementer BIGEND MCLK nWAIT nRW MAS[1:0] ISYNC nIRQ nFIQ nRESET ABORT nTRANS nMREQ SEQ LOCK nM[4:0] nOPC nCPI CPA CPB
1
2
3
4
5
6
该例中用6个时钟周期执行了 条指令 该例中用 个时钟周期执行了6条指令 个时钟周期执行了 所有的操作都在寄存器中(单周期执行) 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1
52v07 ARM普通处理器内核
TM
10
10
LDR 流水线举例
周期
操作
ADD SUB LDR MOV AND ORR Fetch
1
Mux 0 ARM 指令 解码
A[1]
1 T标志
52v07 ARM普通处理器内核
TM
16
16
带Cache的ARM7TDMI 的
JTAG 和非 AMBA 信号
CP15 控制 逻辑 地址 MMU 地址 数据 数据写 Cache 数据读 写 缓冲 AMBA 接口 AMBA 总线 接口
ARM7TDMI 内核
52v07 ARM普通处理器内核
TM
11
11
分支流水线举例
周期
地址
0x8000 0x8004 0x8008 0x8FEC 0x8FF0 0x8FF4
1
操作
BL X XX ADD SUB MOV Fetch Decode Execute Fetch Decode Fetch
2
3
4
5
Linkret
Adjust
ARM 指令,均为 32位 Thumb指令,均为 16位 两种运行状态,用来选择哪个指令集被执行
D - 内核具有Debug扩展结构 M - 增强乘法器 (32x8) 支持64位结果. I - EmbeddedICE-RT逻辑---提供片上断点和调试点支持
52v07 ARM普通处理器内核
TM
4
4
ARM7TDMI 内核信号
PC - 4
PC-2
Decode
解码指令 寄存器读(从寄存器Bank) 移位及ALU操作 寄存器写(到寄存器Bank )
PC - 8
PC - 4
Execute
PC指向正被取指的指令,而非正在执行的指令 指向正被取指的指令, 指向正被取指的指令
52v07 ARM普通处理器内核
TM
9
9
最佳流水线
周期
操作
52v07 ARM普通处理器内核
TM
20
20
议程
ARM7TDMI 处理器内核系列 ARM9TDMI 处理器内核系列 ARM10E处理器内核系列 其他处理器
52v07 ARM普通处理器内核
TM
21
21
ARM9TDMI
Harvard架构
增加了可用的存储器宽度
指令存储器接口 数据存储器接口
可以实现对指令和数据存储器的同时访问
存储器管理
总线控制
ABORT nOPC nCPI CPA CPB
DBE VDD
协处理器接口
电源
VSS
52v07 ARM普通处理器内核
TM
5
5
ARM7TDMI 方框图
控制信号 地址总线
A[31:0]
BUS ARM7TDM 内核 数据总线 Splitter
DOUT[31:0] DIN[31:0] D[31:0]
ALU
DA 地址总线
FETCH
DECODE
EXECUTE
ARM9TDMI
Instruction Fetch ARM or Thumb Inst Decode Reg Reg Decode Read Shift + ALU Memory Access Reg Write
FETCH
DECODE
EXECUTE
MEMORY
WRITE
0x1C
A[31:0]
向量 INC
0x00
自增器
52v07 ARM普通处理器内核
TM
8
8
指令流水线
为增加处理器指令流的速度, 系列使用3级流水线 级流水线. 为增加处理器指令流的速度,ARM7 系列使用 级流水线
允许多个操作同时处理,比逐条指令执行要快.
ARM PC Thumb PC
Fetch
从存储器中读取指令
5 级流水线
实现了以下改进:
改进 CPI 到 ~1.5 提高了最大时钟频率
52v07 ARM普通处理器内核
TM
22
22
ARM9TDMI流水线的变化 流水线的变化
ARM7TDMI
Instruction Fetch Thumb→ARM → decompress ARM decode Reg Select Reg Read Shift ALU Reg Write
地址寄存器
P C
寄存器
A L U B B u s u s A B
PC Update
解码站
指令
指令 解码
乘法器
B u
解码

读数据 寄存器 写数据 寄存器
控制 逻辑
桶形 移位器
s
32 位 ALU
DBE
52v07 ARM普通处理器内核
D[31:0]
7
TM
7
外部地址产生
PC[31:2] ARM State PC[31:1] Thumb State ALU[31:0] 地址 寄存器
字访问 (字对齐 字对齐) 字对齐
0 4 8 c
用'Data Abort' 异常来检测无效的非对齐数据存取
扩展逻辑要求,或使用MMU在 720T, 920T, 926E-S, 1020E 谨防指令读取时出现非对齐
非对齐数据存取能够完成, 但不是用 LDR
使用 LDRB, STRB 传递字节,或使用LDM 加移位/屏蔽
52v07 ARM普通处理器内核
TM
13
13
对齐
存储器访问必须始终适当地保持地址对齐
非对齐地址将产生不可预测的/未定义的结果
字节访问 (字节对齐 字节对齐) 字节对齐
3 7 b f 2 6 a e 1 5 9 d 0 4 8 c
半字访问 (半字对齐 半字对齐) 半字对齐
2 6 a e 0 4 8 c
nMREQ = 0, SEQ = 0 ARM 内核要求如下地址转换: 与前一周期的地址不相关. .
内部周期(I cycle) (nMREQ,SEQ存储器请求信号 存储器请求信号) 存储器请求信号
nMREQ =1, SEQ = 0 ARM 内核不要求地址转换,因为它在完成一个内部功能,不需要取指
协处理寄存器转换周期(C cycle) (nMREQ,SEQ存储器请求信号 存储器请求信号) 存储器请求信号
指令集和周期与ARM7TDMI 固化版本兼容 完全可综合的 RTL
使用了纲要设计构件的组件
ALU 寄存器组
单时钟设计(上升沿)单一总线接口
52v07 ARM普通处理器内核
TM
18
18
SecurCore SC100
第一个适合安全应用的32位 RISC 处理器
可用于smart 卡和其他有安全性要求的嵌入式领域
1
操作 ADD SUB MOV X B (to 0xAF00) XX XXX STMFD MOV LDR F D F E
Decode IRQ
2
3
4
5
6
7
8
Execute IRQ
Linkret Adjust Linkret Adjust
F F
F
D F
E D F F D F E D F
IRQ 中断的反应时间最小 周期 中断的反应时间最小=7周期
1
2
3
4
5
6
Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Fetch Data
Writeback
Execute Decode Fetch
该例中, 周期执行了4条指令 该例中,用6周期执行了 条指令 周期执行了 指令周期数 (CPI) = 1.5
相关文档
最新文档