
ARM Instruction Set - CDP
ARM7TDMI Data Sheet
ARM DDI 0029E
4-51
O
4.14 Coprocessor Data Operations (CDP)
The instruction is only executed if the condition is true. The various conditions are
defined in
·
Table 4-2: Condition code summary
on page 4-5. The instruction encoding
is shown in
·
Figure 4-25: Coprocessor data operation instruction
.
This class of instruction is used to tell a coprocessor to perform some internal
operation. No result is communicated back to ARM7TDMI, and it will not wait for the
operation to complete. The coprocessor could contain a queue of such instructions
awaiting execution, and their execution can overlap other activity, allowing the
coprocessor and ARM7TDMI to perform independent tasks in parallel.
Figure 4-25: Coprocessor data operation instruction
4.14.1 The coprocessor fields
Only bit 4 and bits 24 to 31 are significant to ARM7TDMI. The remaining bits are used
by coprocessors. The above field names are used by convention, and particular
coprocessors may redefine the use of all fields except CP# as appropriate. The CP#
field is used to contain an identifying number (in the range 0 to 15) for each
coprocessor, and a coprocessor will ignore any instruction which does not contain its
number in the CP# field.
The conventional interpretation of the instruction is that the coprocessor should
perform an operation specified in the CP Opc field (and possibly in the CP field) on the
contents of CRn and CRm, and place the result in CRd.
4.14.2 Instruction cycle times
Coprocessor data operations take 1S + bI incremental cycles to execute, where
b
is
the number of cycles spent in the coprocessor busy-wait loop.
S and I are as defined in
·
6.2 Cycle Types
on page 6-2.
Cond
0
11
12
15
16
19
20
24
27
28
31
23
CRd
CP#
7
8
1110
CP Opc
CRn
CP
0
CRm
5
4
3
Coprocessor number
Coprocessor destination register
Coprocessor operand register
Coprocessor operation code
Condition field
Coprocessor information
Coprocessor operand register