The document discusses the integer and floating-point pipelining stages in the Architecture of Pentium Processor. It describes the 5-stage integer pipeline and 8-stage floating-point pipeline, including the functions of each stage like pre-fetch, decode, execute, and write-back. It also discusses pairing of integer instructions and segments of the floating-point unit.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
100%(1)100% found this document useful (1 vote)
3K views12 pages
5.3 Integer and Floating Point Pipeline Stages
The document discusses the integer and floating-point pipelining stages in the Architecture of Pentium Processor. It describes the 5-stage integer pipeline and 8-stage floating-point pipeline, including the functions of each stage like pre-fetch, decode, execute, and write-back. It also discusses pairing of integer instructions and segments of the floating-point unit.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12
5.
3 Integer and Floating –Point
Pipelining Stages INTEGER PIPELINING STAGES • The Pentium is a superscalar processor and it has two integer pipelines, called U and V. The process of issuing two instructions in parallel is known as pairing. • The U-pipeline is able to handle the full instruction set of the Pentium but the V- pipeline has limited handling capability. • The V-pipeline is able to handle only simple instructions without any microcode support. • The V-pipeline is used to execute ‘simple integer instructions’ such as load/store type instructions and the FPU instruction FXCH, but the U-pipeline executes any legitimate Pentium instructions. • Actually, Architecture of Pentium Processor use a set of pairing rules to select a simple instruction which can go through the V pipeline. • When instructions are paired, initially the instruction is issued to the U-pipe and then the next sequential instruction is issued to the V-pipe. • There are two integer pipelines and a floating-point unit in the Architecture of Pentium Processor. Figure 12.3 shows an integer pipeline. Each integer unit has the basic five- stage pipeline as given below: I. Pre-fetch (PF) II. Decode-1 (D1) III. Decode-2 (D2) IV. Execute (E) V. Write Back (WB) Pre-fetch (PF)- • In the pre-fetch stage of integer pipeline of the Pentium processor, instructions are fetched from the instruction cache as instructions are stored initially in the instruction cache. • After fetching, the CPU aligns the codes properly. As the instructions are of variable lengths, the initial opcode bytes of each instruction must be properly aligned. • After completion of the pre-fetch stage, the decode stages D1 and D2 will be executed. Decode-1 (D1) • In the decode-1 (D1) pipeline stage, the CPU decodes the instruction and generates a control word(Pause, Stop, Start, Move Commands) . The D1 pipeline stage has two parallel instruction decoders. • These implement the pairing rules. Only a single control word may be sufficient to start execution of the data transfer, arithmetic and logical operations . • Basic functions - Checking Pairability of Instruction, Branch Prediction, Instruction Boundary Information to Code Cache. Decode-2 (D2) • The decode-2(D2) pipeline stage is required whenever the control word from D1 stage is decoded to complete the instruction decoding. • In this stage, the CPU generates addresses for data memory. Execute (EX) • The execution stage is used for both ALU operations and data cache access. • The data cache is used for data operands and ALU performs arithmetic logic computations or floating-point operations. • In the execution stage, all U-pipe and V-pipe instructions, except conditional branches, are verified for correct branch prediction. • A micro-code is designed to use both the U and V pipes. Therefore, microcode instructions are executed faster on the Pentium than on the 80486. Write Back (WB) • The final stage of the five-stage pipeline is Write Back (WB). • In the WB stage, the CPU updates the contents of registers and status of the flag register after completion of execution. • In this stage, the V-pipeline conditional branch instructions are verified for correct branch prediction. • The Pentium pipeline structure is similar to 80486 pipeline structure. Usually, the 80486 takes two clock cycles to decode instructions, but the Pentium processor takes only one clock cycle as Pentium processor has an additional integrating hardware in each pipeline stages to speed up the process FLOATING-POINT PIPELINE STAGES • The 80486DX CPU is the first processor in which the 80387 math co-processor has been incorporated on-chip to reduce the communication overhead. • The 80486 CPU contains a floating-point unit, but this floating-point unit is not pipelined. The Architecture of Pentium Processor has been designed for incorporating on the chip numeric data processor. • The Floating-Point Unit (FPU) of Pentium has an eight-stage pipeline I. Pre-fetch (PF) II. Decode-1 (D1) III. Decode-2 (D2) IV. Execute (dispatch) V. Floating Point Execute-1 (X1) VI. Floating Point Execute-2 (X2) VII. Write Float (WF) VIII. Error Reporting (ER) • The first five stages of the pipeline are similar to the U and V integer pipelines. During the operand fetch stage, the FPU fetches the operands either from the floating-point register or from the data cache. • The floating-point unit has eight general-purpose floating point registers. There are two execution stages in Pentium such as the first execution stage (X1 stage) and the second execution stage (X2 stage). • In the X1 and X2 stages, the floating-point unit reads the data from the data cache and executes the floating-point calculation. Pre-fetch (PF) • The pre-fetch stage is same as the integer pipeline of Pentium processor. Decode-1 (D1) • The decode-1 (D1) pipeline stage is also same as the integer pipeline of Pentium processor. Decode-2 (D2) • The decode-2 (D2) pipeline stage is worked as required whenever the control word from D1 stage is decoded to complete the instruction decoding. • In this stage, it is the integer pipeline of Pentium processor. Execution (EX) • During the execution stage (E), the floating-point unit accesses the data cache and the floating-point register to fetch operands. Before writing the floating-point data to the data cache, the floating-point unit converts internal data format into appropriate memory representation format. Floating Point Execute-1 (X1) • In the Floating Point Execute-1 (X1) stage, the floating-point unit executes the first steps of the floating-point calculations. • While reading the floating-point data from the data cache, the floating-point unit writes the data into the floating-point register. Floating Point Execute-2 (X2) • During the Floating Point Execute-2 (X2) stage, the Floating Point unit execute the remaining steps of the floating-point computations. Write Float (WF) • In the Write Float (WF) stage, the floating-point unit completes the execution of the floating-point calculations and then writes the computed result into the floating-point register file. Error Reporting (ER) • In the error reporting(ER) stage, the floating-point unit generates a report about the internal special situations and updates the floating point status. Floating Point Instruction Paring
• The floating-point unit of Pentium consists of a dedicated adder, multiplier and
division units. All independent circuits are used to perform addition, multiplication, division and other mathematical operations within very few clock cycles. • Floating-point Adder Segment (FADD) • Floating-point Multiplier Segment (FMUL) • Floating-point Exponent Segment (FEXP) • Floating-point Rounder Segment (FRD) Floating-point Adder Segment (FADD) • The floating-point adder segment is used for addition of floating- point numbers and execution of floating-point instructions such as addition, subtraction and comparison. Floating-point Multiplier Segment (FMUL) • The floating-point multiplier segment executes floating-point multiplication in single- precision, double-precision and extended precision modes. Floating-point Divider Segment (FDIV) • This segment performs the floating-point division and executes square-root instructions. Floating-point Exponent Segment (FEXP) • The floating-point exponent segment calculates the floating-point exponent. Floating-point Rounder Segment (FRD) • After the floating-point addition or division operations, it is required to round off the computed results before write back to the floating-point registers. • The floating-point rounder segment is used to perform the round-off operation before write-back stage.