Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
广州周立功单片机发展有限公司 Tel (020)38730976 38730916 Fax 38730925 http //www.zlgmcu.com<br />
表 7-4 所示为完整操作的周期时序<br />
表 7-4 Thumb 带链接的长分支<br />
周期 地址 规格 写 数据 TRANS[1:0] Prot0<br />
1 pc+4 h 0 (pc+4) S 周期 0<br />
2 pc+6 h 0 (pc+6) N 周期 0<br />
3 pc’ h 0 (pc’) S 周期 0<br />
4 pc’+2 h 0 (pc’+2) S 周期 0<br />
pc’+4 - - - - -<br />
注<br />
PC 是操作的第一条指令的地址<br />
Thumb BL 指令在 ARM 体系结构参考手册中详细讲述<br />
7.5 分支和交换<br />
分支和交换<br />
一个分支和交换 BX 操作占用 3 个周期 它与分支相似<br />
1. 在第 1 个周期中 <strong>ARM7TDMI</strong>-S 内核在当前 PC 执行预取指时提取分支目标地址并从寄存器源提<br />
取新的内核状态 预取指在任何情况下都会完成 因为在到达决定执行分支的时间时 已经无法<br />
2.<br />
阻止预取指的执行<br />
在第 2 个周期中<br />
指<br />
<strong>ARM7TDMI</strong>-S 内核根据所选择的状态 使用新的指令宽度对分支目标执行取<br />
3. 在第 3 个周期中<br />
填充流水线<br />
<strong>ARM7TDMI</strong>-S 内核根据新的指定状态 对目标地址+2 或+4 进行取指 以重新<br />
表 7-5 分支和交换指令周期操作<br />
周期 地址 规格 写 数据 TRANS[1:0] Prot0<br />
1 pc+2i w/h 0 (pc+2i) N 周期 t<br />
2 pc’ w’/h’ 0 (pc’) S 周期 t’<br />
3 pc’+i w’/h’ 0 (pc’+i) S 周期 t’<br />
pc’+2i - - - - -<br />
注<br />
i 和 i'分别代表 BX 之前和之后的指令宽度<br />
在 ARM 状态下<br />
i'等于 2<br />
规格为 2 而在 Thumb 状态下规格为 1 当从 Thumb 状态变为 ARM 状态时 i 等于 1<br />
t 和 t’分别代表 BX 之前和之后的 T 位状态 在 ARM 状态下 T 位为 0 而在 Thumb 状态下 T 位为 1<br />
当从 ARM 状态变为 Thumb 状态时 t 等于 0 t’等于 1<br />
7.6 数据操作<br />
数据操作<br />
数据操作在单个数据路径周期内执行 但当移位由寄存器的内容决定时例外 <strong>ARM7TDMI</strong>-S 内核将第<br />
1 个寄存器读取到 A 总线 并将第 2 个寄存器或立即地址读取到 B 总线<br />
ALU 根据指令所指定的操作将 A 总线和移位的 B 总线资源结合 <strong>ARM7TDMI</strong>-S 内核将结果写入目标<br />
寄存器 比较和测试不产生结果 只影响 ALU 状态标志<br />
指令预取指与数据操作同时发生 并且 PC 增加<br />
- 69 -