RX610 Group
2. CPU
R01UH0032EJ0120 Rev.1.20
Page 86 of 1006
Feb 20, 2013
(c)
When subsequent instruction writes to the same register before the end of memory load
Even when the subsequent instruction writes to the same register before the end of memory load, the operation
processing is pipelined in, because the WB stage for the memory load is canceled.
IF
D
E
MOV [R1], R2
IF
D
E
WB
M
WB
M
IF
D
E
WB
IF
D
E
WB
×
(mop) load
(Canceled when the register
number matches either of them)
Figure 2.26 When Subsequent Instruction Writes to the Same Register before the End of Memory Load
(d)
When the load data is not used by the subsequent instruction
When the load data is not used by the subsequent instruction, the subsequent operations are in fact executed earlier and
the operation processing ends (out-of-order completion).
IF
D
E
MOV [R1], R2
IF
D
E
M
M
M
WB
WB
IF
D
E
WB
ADD R4, R5
SUB R6, R7
(mop) load
(mop) add
(mop) sub
Figure 2.27 When Load Data is not Used by the Subsequent Instruction
2.8.3
Calculation of the Instruction Processing Time
Though the instruction processing time of the CPU varies according to the pipeline processing, the approximate time can
be calculated in the following methods.
•
Count the number of cycles (see tables 2.13 and 2.14)
When the load data is used by the subsequent instruction, the number of cycles described as " latency" is counted as
the number of cycles for the memory load instruction. For the cycles other than the memory load instruction, the
number of cycles described as "throughput" is counted.
•
If the instruction fetch stall is generated, the number of cycles increments.
•
Depending on the system configuration, multiple cycles are required for the memory access. The number of memory
access cycles in the RX610 Group is on a per-product basis.