Sun Microelectronics
13
2. Processor Pipeline
2.2.1 Stage 1: Fetch (F) Stage
Prior to their execution, instructions are fetched from the Instruction Cache
(I-Cache) and placed in the Instruction Buffer, where eventually they will be se-
lected to be executed. Accessing the I-Cache is done during the F Stage. Up to
four instructions are fetched along with branch prediction information, the pre-
dicted target address of a branch, and the predicted set of the target. The high
bandwidth provided by the I-Cache (4 instructions/cycle) allows UltraSPARC to
prefetch instructions ahead of time based on the current instruction flow and on
branch prediction. Providing a fetch bandwidth greater than or equal to the max-
imum execution bandwidth assures that, for well behaved code, the processor
does not starve for instructions. Exceptions to this rule occur when branches are
hard to predict, when branches are very close to each other, or when the I-Cache
miss rate is high.
2.2.2 Stage 2: Decode (D) Stage
After being fetched, instructions are pre-decoded and then sent to the Instruction
Buffer. The pre-decoded bits generated during this stage accompany the instruc-
tions during their stay in the Instruction Buffer. Upon reaching the next stage
(where the grouping logic lives) these bits speed up the parallel decoding of up
to 4 instructions.
While it is being filled, the Instruction Buffer also presents up to 4 instructions to
the next stage. A pair of pointers manage the Instruction Buffer, ensuring that as
many instructions as possible are presented in order to the next stage.
2.2.3 Stage 3: Grouping (G) Stage
The G Stage logic’s main task is to group and dispatch a maximum of four valid
instructions in one cycle. It receives a maximum of four valid instructions from
the Prefetch and Dispatch Unit (PDU), it controls the Integer Core Register File
(ICRF), and it routes valid data to each integer functional unit. The G Stage sends
up to two floating-point or graphics instructions out of the four candidates to the
Floating-Point and Graphics Unit (FGU). The G Stage logic is responsible for
comparing register addresses for integer data bypassing and for handling pipe-
line stalls due to interlocks.
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com