EasyManua.ls Logo

ARM ARM7TDMI - Load Multiple Registers

Default Icon
286 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Instruction Cycle Timings
ARM DDI 0210C Copyright © 2001, 2004 ARM Limited. All rights reserved. 6-15
6.9 Load multiple registers
The first cycle of the LDM instruction is used to calculate the address of the first word
to be transferred, while performing a prefetch from memory. The second cycle fetches
the first word, and performs the base modification. During the third cycle, the first word
is moved to the appropriate destination register while the second word is fetched from
memory, and the modified base is latched internally in case it is needed to restore
processor state after an abort. The third cycle is repeated for subsequent fetches until the
last data word has been accessed, then the final (internal) cycle moves the last word to
its destination register. The cycle timings are listed in Table 6-12.
The last cycle can be merged with the next instruction prefetch to form a single memory
N-cycle. If an abort occurs, the instruction continues to completion, but all register
modification after the abort is prevented. The final cycle is altered to restore the
modified base register (that could have been overwritten by the load activity before the
abort occurred).
When the PC is in the list of registers to be loaded the current instruction pipeline must
be invalidated.
Note
The PC is always the last register to be loaded, so an abort at any point prevents the PC
from being overwritten.
LDM with PC as a destination register is not available in Thumb state. Use
POP{Rlist,PC}
to perform the same function.
Table 6-12 Load multiple registers instruction cycle operations
Destination registers Cycle Address MAS[1:0] nRW Data nMREQ SEQ nOPC
Single register 1 pc+2L i 0 (pc+2L) 0 0 0
2alu 2 0(alu)1 01
3pc+3Li 0- 0 11
pc+3L
Single register dest=pc 1 pc+2L i 0 (pc+2L) 0 0 0
2alu 2 0pc1 01
3pc+3Li 0- 0 01
4 pc’ i 0 (pc’) 0 1 0

Table of Contents

Other manuals for ARM ARM7TDMI

Related product manuals