当前位置:文档之家› 浙江大学ARM课件

浙江大学ARM课件

nRAS nCAS
ARM state.
典型的 NS 周期
ALE : 地址锁存使能 控制对A[31:0]的透明锁存。 仅用于已有的系统设计,因为它比APE更复杂。
ARM7TDMI Bus InterTfMace
11
11
MCLK ALE APE
流水线地址时序
(推荐设置)
Phase 1
Phase 2
A[31:0]
D[31:0] (in)
ALE 和 APE 均为高
D[31:16] latched
ARM7TDMI Bus InterTfMace
21
21
改变操作状态
MCLK
nMREQ, SEQ A[31:0] nWAIT TBIT
N-Cycle
BX Instr. Destination Address
MAS[1:0]
01 - Half Word
10 - Word
ECLK – 输出 核心逻辑的时钟的输出。 在正常和调试状态下反映内部时钟。
ph1 & ph2 – 内部信号 双相位非覆盖的内部时钟。 处理器内部工作周期。
ARM7TDMI Bus InterTfMace
4
4
时钟控制 - nWAIT 控制
MCLK
nWAIT
ph1 Internal Clock
ph2 Internal Clock
ECLK
Phase 1 Phase 2
Phase 1
Phase 2
ARM7TDMI Bus InterTfMace
5
5
时钟控制 – 扩展 MCLK
MCLK
nWAIT ph1 Internal Clock
ph2 Internal Clock
ECLK
Phase 1 Phase 2
ARM7TDMI Bus InterTfMace
25
25
周期类型
nMREQ SEQ
nMREQ
00 0 00 1 11 0 11 1
Cycle Type
SEQ
Cycle Type
0 Non-sequeNnotnia-lsequential
1 SequentiaSl equential
0 Internal Internal 1 CCoopprroocceessssoorr rreeggiisstteerrttrraannssffeerr
SEQ – 输出 : 连续地址访问 高有效,指示在接下来的周期中地址不变或大一个操作数(字或半字)
nRW – 输出 : 非读/写 区分存储器读写访问
LOCK – 输出 : 锁定操作 指示一条交换指令正在执行,接下来的两个处理器总线周期是不可见的。
MAS[1:0] – 输出 : 存储器访问大小 指示字、半字或字节访问。
连续 (S) 在接下来的周期中的地址与前一个地址一样或大一个操作数(字或半字)。
内部 (I) 处理器正在执行一个内部操作,同时,没有有用的预取执行。
协处理器寄存器传送 (C). 处理器和协处理器之间通讯,不涉及存储器访问,但 D[31:0] 用于传送数据。
合并的内部连续 (IS) I和S周期的特殊组合,容许优化存储器访问。
D[31:0]
T Instr.
ARM Instr.
T位指示ARM核的状态。 高 - Thumb 状态, 低 - ARM 状态
ARM7TDMI Bus InterTfMace
22
22
取指
在ARM状态,指令是字( 32位 )
在THUMB状态,指令是半字(16位) 指令可以从32位数据总线的高或低半段取得。 取决于Endian配置和 A[1]的状态。
取数据
字数据取操作类似于ARM状态的指令取操作。
半字数据的取操作类似于THUMB状态的指令取操作。
字节数据的取操作取决于Endian 配置和A[1:0]的状态。
A[1:0] = 00
Endian Configuration
Little BIGEND = 0
Big BIGEND = 1
D[7:0]
ARM7TDMI 总线接口
THE
ARCHITECTURE
F OR
TTM H E
DIGITAL
W O R1 L D
ARM7TDMI 外部接口
存储器接口 中断 调试接口 协处理器接口
ARM7TDMI Bus InterTfMace
2
2
ARM7TDMI 接口信号
Clocks and Clock Control
D[31:24]
A[1:0] = 01
D[15:8]
D[23:16]
A[1:0] = 10 D[23:16]
D[15:8]
A[1:0] = 11 D[31:24]
D[7:0]
Byte Data Fetches
ARM7TDMI Bus InterTfMace
24
24
周期类型
非连续 (N) 在接下来的周期中的地址与前一个地址无关。
BL[3:0] – 输入 : 数据总线上的字节区段锁存使能 容许数据由小数构成。
ARM7TDMI Bus InterTfMace
16
16
存储器控制
MCLK
nMREQ SEQ
A[31:0]
nRW MAS[1:0]
LOCK nTRANS
nOPC
D[31:0]
Cycle Type Address
Data
MAS[1:0] 指示数据传送大小( 8, 16 或 32 位 )
ARM7TDMI Bus InterTfMace
17
17
字节区段锁存使能
nWAIT MCLK
BL[0]
D[31:0]
31
BL[1]
ARM7TDMI
ECLK
8
G
D [7:0]
8
G
D [15:8]
ARM7TDMI Bus InterTfMace
10
10
地址总线控制
APE 和 ALE – 输入 ARM 建议两个信号都为高,以便有最长的时间进行地址译码。 任何一个信号都可以连接到在数据访问期间需要稳定地址的设备。
APE: 地址流水线使能 APE = 1 – 地址是流水线的 (在后续的相位2提供). APE = 0 – 重新定时地址改变的时序,从MCLK的下降沿开始。 控制对A[31:0]的透明锁存。
ARM7TDMI Bus InterTfMace
14
14
总线三态控制 (2)
ABE DBE TBE A[31:0] D[31:0] (out)
ARM7TDMI Bus InterTfMace
15
15
存储器访问控制
nMREQ – 输出 : 存储器请求. 低有效,指示在接下来的周期中进行存储器访问。
DoutlatEn
DIN[31:0]
D[31:0] DOUT[31:0]
G
ARM7TDMI Bus InterTfMace
8
8
数据总线配置 (2)
MCLK D[31:0] DIN[31:0] DOUT[31:0]
DIN1 DIN1
DOUT
DIN2 DIN2
DOUT
READ
WRITE
READ
ARM7TDMI Bus InterTfMace
32 A[31:0]
ARM7TDMI Macrocell
32
16位存储器接口
x2
Board ASIC
ARM7TDMI Bus InterTfMace
20
20
MCLK APE A[31:0], MAS[1:0 ] nWAIT
ECLK
D[31:0]
BL[3:0]
使用字节区段锁存
0x3
0xC
D[15:0] latched
D[31:0]
nRAS
(DRAM Row Address Strobe)
nCAS
(DRAM Column Address Strobe)
MCLK 可以扩展,通过停止MCLK 或者声明nWAIT。
ARM7TDMI Bus InterTfMace
28
28Βιβλιοθήκη MCLK nMREQSEQ A[31:0] D[31:0]
ARM7TDMI Bus InterTfMace
26
26
非连续周期
在接下来的周期中(nMREQ = 0) 且 (SEQ = 0) 下一个周期将是非连续访问。 指令译码 nMREQ and SEQ 条件提前一个周期建立。 A[31:0] 在接下来的周期的相位2阶段有效。 对于读操作,D[31:0] 必须在相位2结束时有效。
ECLK MCLK nWAIT
ARM7TDMI
A[31:0]
D[31:0]
BUSEN ABE DBE TBE APE, ALE nENIN nENOUT
nMREQ, SEQ BIGEND nRW BL[3:0] MAS[1:0] LOCK
TBIT nTRANS nM[4:0] ABORT
Data and Address
18
18
32 位存储器接口
MCLK
Memory Control
nOE BWE[3:0] nMREQ, SEQ nRW BL[3:0] MAS[1:0] nWAIT
Memory 32-bit
A[31:2] ID[31:0]
32 A[31:0] 32
ARM7TDMI Macrocell
Board ASIC
DBE – 输入 : 数据总线使能 当 DBE 为低时,D[31:0] 处于高阻状态。
相关主题