RX610 Group
2. CPU
R01UH0032EJ0120 Rev.1.20
Page 79 of 1006
Feb 20, 2013
2.8.2
Instructions and Pipeline Processing
The operands in the table below indicate the following meaning.
#IMM: Immediate
Rs, Rs2, Rd, Rd2, Ri, Rb: General-purpose register, CR: Control register
dsp: dsp5, dsp8, dsp16, dsp24
pcdsp: pcdsp3, pcdsp8, pcdsp16, pcdsp24
2.8.2.1
Instructions Converted into Single Micro-Operation and Pipeline Processing
The table below lists the instructions that are converted into a single micro-operation. The number of cycles in the table
indicates the number of cycles during no-wait memory access.
Table 2.13 Instructions that are Converted into a Single Micro-Operation
Instruction
Mnemonic (indicates the common
operation when the size is omitted)
Reference
Figure
Number of Cycles
Arithmetic/logic instructions
(register-register, immediate-register)
Except EMUL, EMULU, RMPA, DIV, and
DIVU
•
{ABS, ADC (omitted), XOR} “#IMM,
Rd”/“Rd” /“Rs, Rd”/“Rs, Rs2, Rd”
Figure 2.11
1
Arithmetic/logic instructions
(division)
•
DIV “#IMM, Rd”/“Rs, Rd”
Figure 2.11
3 to 20
*
1
•
DIVU “#IMM, Rd”/“Rs, Rd”
Figure 2.11
2 to 18
*
1
Data transfer instructions
(register-register, immediate-register)
•
{MOV, MOVU, REVL, REVW} “#IMM,
Rd”/“Rs, Rd”
•
SCCnd “Rd”
•
{STNZ, STZ} “#IMM, Rd”
Figure 2.11
1
Transfer instructions (load operation)
•
{MOV, MOVU} “[Rs], Rd”/“dsp[Rs], Rd”
/“[Rs+], Rd”/“[-Rs], Rd”/“Rs, [Ri, Rb]”
•
POP “Rd”
Figure 2.12
Throughput: 1
Latency: 2
*
2
Transfer instructions (store operation)
•
MOV “Rs, [Rd]”/“Rs, dsp[Rd]”/“Rs, [Rd+]”
/“Rs, [-Rd]”/“Rs, [Ri, Rb]”
•
PUSH “Rs”
•
PUSHC “CR”
Figure 2.13
1
Bit manipulation instructions (register)
•
{BCLR, BNOT, BSET, BTST} “#IMM,
Rd”/“Rs, Rd”
•
BMCnd “#IMM, Rd”
Figure 2.11
1
Branch instructions
•
BCnd “pcdsp”
•
{BRA, BSR} “pcdsp”/“Rs”
•
{JMP, JSR} “Rs”
Figure 2.22
Branch taken: 3
Branch not taken: 1
Floating-point operation instructions
(register-register, immediate-register)
•
FCMP “#IMM, Rd”/“Rs, Rd”
Figure 2.11
1
System manipulation instructions
•
CLRPSW, SETPSW “#IMM”
•
MVTC “#IMM, CR”/“Rs, CR”
•
MVFC “CR, Rd”
1
Notes: 1. The number of cycles for the dividing instruction varies according to the divisor and dividend.
2. For the number of cycles for throughput and latency, see section 2.8.3, Calculation of the Instruction Processing Time.