Execution Timing
PowerPC e500 Core Family Reference Manual, Rev. 1
Freescale Semiconductor
4-15
4.3.3.1
GPR and CR Rename Register Operation
To avoid contention for a given register file location during out-of-order execution, the e500
provides 14 rename registers for holding instruction results before the completion commits them
to the architecture-defined registers. In addition to the 14 GPR renames, the e500 provides
fourteen 4-bit CR field renames. Because there are 14 rename pairs and 14 CQ entries, the e500
cannot run out of renames as long as CQ entries are available.
Results from rename registers are transferred to the architecture-defined registers in the write-back
stage, at which point renames are deallocated.
If branch prediction is incorrect, instructions after the branch are flushed from the CQ. Any results
of those instructions are flushed from the rename registers.
4.3.3.2
LR and CTR Shadow (Speculative) Registers
The decode stage manages one speculative copy each of the LR and of the CTR. This allows
one-level-deep speculation for branch-to-LR and branch-to-CTR instructions.
4.3.3.3
Instruction Serialization
Although the e500 core can dispatch and complete two instructions
per cycle, some serializing
instructions limit dispatch and completion to one per cycle. There are six basic types of instruction
serialization:
•
Presync serialization—Presync-serialized instructions are held in the instruction queue
until all prior instructions have completed. They are then decoded and execute. For
example, instructions such as mfspr that read a non-renamed status register are marked as
presync-serialized.
•
Postsync serialization—Postsync-serialized instructions, such as mtspr[XER], prevent
other instructions from decoding until the serialized instruction completes. For example,
instructions that modify processor state in a way that affects the handling of future
instruction execution are marked with postsync-serialization. These instructions are
identified in the latency tables in
Section 4.6, “Instruction Latency Summary
.”
•
Move-from serialization—Move-from serialization is a weaker synchronization than
presync serialization. A move-from serialized instruction can decode, but stalls in an
execution unit’s reservation station until all prior instructions have completed. If the
instruction is currently in the reservation station and is the oldest instruction, it can begin
execution in the next cycle. Note that subsequent instructions can decode and execute while
a move-from serialized instruction is pending. Only mfcr and mfspr[XER] are move-from
serialized, so that they do not examine architectural state until all older instructions that
could affect the architectural state have completed.
Содержание PowerPC e500 Core
Страница 1: ...PowerPC e500 Core Family Reference Manual Supports e500v1 e500v2 E500CORERM Rev 1 4 2005...
Страница 36: ...PowerPC e500 Core Family Reference Manual Rev 1 xxxvi Freescale Semiconductor...
Страница 38: ...PowerPC e500 Core Family Reference Manual Rev 1 Part I 2 Freescale Semiconductor...
Страница 316: ...PowerPC e500 Core Family Reference Manual Rev 1 7 18 Freescale Semiconductor Performance Monitor...
Страница 332: ...PowerPC e500 Core Family Reference Manual Rev 1 Part II 2 Freescale Semiconductor...
Страница 362: ...PowerPC e500 Core Family Reference Manual Rev 1 10 26 Freescale Semiconductor Auxiliary Processing Units APUs...
Страница 440: ...PowerPC e500 Core Family Reference Manual Rev 1 A 8 Freescale Semiconductor Programming Examples...
Страница 444: ...PowerPC e500 Core Family Reference Manual Rev 1 B 4 Freescale Semiconductor Guidelines for 32 Bit Book E...
Страница 530: ...Opcode Listings PowerPC e500 Core Family Reference Manual Rev 1 D 50 Freescale Semiconductor...
Страница 534: ...PowerPC e500 Core Family Reference Manual Rev 1 E 4 Freescale Semiconductor Revision History...