19.08.2013 Views

ARM7TDMI-S(Rev 4)技术参考手册 - Read

ARM7TDMI-S(Rev 4)技术参考手册 - Read

ARM7TDMI-S(Rev 4)技术参考手册 - Read

SHOW MORE
SHOW LESS

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 />

u 当指令中指定了强制译码位时为 0 其它任何时候都为 s<br />

表 7-11 装载寄存器指令周期操作<br />

周期 地址 规格 写 数据 TRANS[1:0] Prot0 Prot1<br />

正常 1 pc+2i w/h 0 (pc+2i) N 周期 0 s<br />

2 pc’ w/h/b 0 (pc’) I 周期 1 u/s<br />

3 pc+3i w/h 0 - S 周期 1 s<br />

pc+3i - - - - - -<br />

dest=pc 1 pc+8 w 0 (pc+8) N 周期 0 s<br />

2 da w/h/b 0 pc’ I 周期 1 u/s<br />

3 pc+12 w 0 - N 周期 1 s<br />

4 pc’ w 0 (pc’) S 周期 0 s<br />

5 pc’+4 w 0 (pc’+4) S 周期 0 s<br />

pc’+8 - - - - - -<br />

基址或目标地址 或两者同时 可以是 PC 当 PC 被指令所影响时 预取指顺序发生改变 如果数据<br />

取指中止 <strong>ARM7TDMI</strong>-S 处理器防止对目标寄存器寄存器进行修改<br />

7.9 保存寄存器<br />

保存寄存器<br />

保存寄存器<br />

保存寄存器需要两个周期<br />

1. 在第 1 个周期中 <strong>ARM7TDMI</strong>-S 内核计算所要保存的地址<br />

2. 在第 2 个周期中 <strong>ARM7TDMI</strong>-S 内核执行基址修改并将数据写入存储器 如果需要<br />

保存寄存器周期时序见表 7-12 其中<br />

s 代表当前值与模式有关<br />

t 当指令 STRT 中指定了 T 位时为 0 其它任何时候都为 c<br />

表 7-12 保存寄存器指令周期操作<br />

周期 地址 规格 写 数据 TRANS[1:0] Prot0 Prot1<br />

1 pc+2i w/h 0 (pc+2i) N 周期 0 s<br />

2 da w/h/b 1 Rd N 周期 1 t<br />

pc+3i - - - - - -<br />

7.10 装载多个寄存器<br />

装载多个寄存器<br />

装载多个寄存器 LDM 占用 4 个周期<br />

1. 在第 1 个周期中 <strong>ARM7TDMI</strong>-S 内核在执行预取指时计算要转移的第 1 个字的地址<br />

2. 在第 2 个周期中 <strong>ARM7TDMI</strong>-S 内核取第 1 个字并执行基址修改<br />

3. 在第 3 个周期中 <strong>ARM7TDMI</strong>-S 内核将第 1 个字移到相应的的目标寄存器并从存储器中取第 2<br />

个字 <strong>ARM7TDMI</strong>-S 内部锁存修改的基址 以备在出现中止时之需 第 3 个周期连续的读取直<br />

到访问完最后一个数据字<br />

4. 在第 4 个和最后 内部 一个周期中 <strong>ARM7TDMI</strong>-S 内核将最后一个字移入目标寄存器 最后<br />

一个周期可以与下一个指令预取指合并构成一个存储器 N 周期<br />

当发生中止时 指令继续执行直到完成 <strong>ARM7TDMI</strong>-S 内核在中止后禁止所有寄存器的写操作<br />

<strong>ARM7TDMI</strong>-S 内核改变最后一个周期以恢复修改的基址寄存器 在中止发生之前的装载可能被覆盖<br />

当 PC 位于要装载的寄存器列表中时 <strong>ARM7TDMI</strong>-S 内核任务当前指令流水线无效 PC 总是最后一个<br />

装载的寄存器 因此在任意点发生的中止不会使 PC 被改写<br />

- 72 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!