
Chapter 6. Instruction Pipeline and Timing
For More Information On This Product,
Go to: www.freescale.com
6-7
Operand Execution Pipeline (OEP)
module
input
(OagComputeEngine)
(baseRegister
indexRegister)
(addressResult);
module
input
(ExComputeEngine)
(operand1,
operand2)
(executeResult);
output
output
Thus, each instruction has these six resources (four input operands and two results)
associated with its execution:
Instruction Resources = f(baseRegister,indexRegister, addressResult,
operand1, operand2, executeResult);
Although OagComputeEngine is most often used to calculate operand addresses for
memory-referencing instructions, its use is not limited to address generation. The entire
ColdFire ISA can be grouped into several broad categories:
Memory-referencing instructions that use the OagComputeEngine to generate the
operand address and execute in the ExComputeEngine
Register-to-register instructions execute in the ExComputeEngine
Register-to-register opcodes that execute in the OagComputeEngine
NOTE:
To support precise exceptions, results are not committed to
program-visible registers until an instruction completes the EX
stage even if it executes in the OagComputeEngine.
Register renaming makes executing instructions in OagComputeEngine advantageous
because results are available to subsequent instructions immediately. Instructions executed
in the OagComputeEngine include the following:
lea<ea>y,Ax
mov.l #<data>,Rx
moveq #<data>,Dx
Register renaming resources are the cascaded pipeline registers with the _oc1, _oc2, and
_ex labels in Figure 6-2. Note that the contents of these resources can be dynamically
forwarded to an operation in the DS stage with no pipeline stalls.
F
Freescale Semiconductor, Inc.
n
.