+ All Categories
Home > Documents > 1Pipelining Toan

1Pipelining Toan

Date post: 03-Jun-2018
Category:
Upload: shitalp
View: 236 times
Download: 0 times
Share this document with a friend

of 21

Transcript
  • 8/12/2019 1Pipelining Toan

    1/21

    Pipelining

  • 8/12/2019 1Pipelining Toan

    2/21

    CharacterizePipelines

    1) Hardware or software implementation

    pipelining can be implemented in eithersoftware or hardware.

    2) Synchronous or asynchronous flow Asynchronous pipeline operates like anassembly line: at a given time, each station isprocessing some amount of information. Aasynchronous pipeline, allow a station toforward information at any time.

    3) Buffered or unbuffered flow

    One stage ofpipeline sends data directly to another one or abuffer is place between each pairs of stages.

  • 8/12/2019 1Pipelining Toan

    3/21

    What is Pipelining

    A technique used in advanced microprocessors wherethe microprocessor begins executing a second instructionbefore the first has been completed.

    - A Pipeline is a series of stages, where some work is doneat each stage. The work is not finished until it haspassed through all stages.

    With pipelining, the computer architecture allows thenext instructions to be fetched while the processor is

    performing arithmetic operations, holding them in abuffer close to the processor until each instructionoperation can performed.

  • 8/12/2019 1Pipelining Toan

    4/21

    How Pipelines Works

    The pipeline is divided into segments andeach segment can execute it operationconcurrently with the other segments.

    Once a segment completes an operations,it passes the result to the next segment inthe pipeline and fetches the next

    operations from the preceding segment.

  • 8/12/2019 1Pipelining Toan

    5/21

    Example

    Instruction 1 Instruction 2

    Instruction 3Instruction 4

    X X

    XX

    Four sample instructions, executed linearly

  • 8/12/2019 1Pipelining Toan

    6/21

    Four Pipelined Instructions

    IF

    IF

    IF

    IF

    ID

    ID

    ID

    ID

    EX

    EX

    EX

    EX M

    M

    M

    M

    W

    W

    W

    W

    5

    1

    1

    1

  • 8/12/2019 1Pipelining Toan

    7/21

    Instructions Fetch

    The instruction Fetch (IF) stage is responsible forobtaining the requested instruction from memory. Theinstruction and the program counter (which is

    incremented to the next instruction) are stored in theIF/ID pipeline register as temporary storage so that maybe used in the next stage at the start of the next clockcycle.

  • 8/12/2019 1Pipelining Toan

    8/21

    Instruction Decode

    The Instruction Decode (ID) stage is responsible fordecoding the instruction and sending out the variouscontrol lines to the other parts of the processor. The

    instruction is sent to the control unit where it is decodedand the registers are fetched from the register file.

  • 8/12/2019 1Pipelining Toan

    9/21

    Execution

    The Execution (EX) stage is where any calculations areperformed. The main component in this stage is theALU. The ALU is made up of arithmetic, logic and

    capabilities.

  • 8/12/2019 1Pipelining Toan

    10/21

    Memory and IO

    The Memory and IO (MEM) stage is responsible forstoring and loading values to and from memory. It alsoresponsible for input or output from the processor. If thecurrent instruction is not of Memory or IO type than theresult from the ALU is passed through to the write backstage.

  • 8/12/2019 1Pipelining Toan

    11/21

    Write Back

    The Write Back (WB) stage is responsiblefor writing the result of a calculation,

    memory access or input into the registerfile.

  • 8/12/2019 1Pipelining Toan

    12/21

    Operation Timings

    Estimated timings for each ofthe stages:

    InstructionFetch

    2ns

    InstructionDecode

    1ns

    Execution 2ns

    Memoryand IO

    2ns

    Write Back 1ns

  • 8/12/2019 1Pipelining Toan

    13/21

    Advantages/Disadvantages

    Advantages: More efficient use of processor Quicker time of execution of large number of

    instructions

    Disadvantages: Pipelining involves adding hardware to the chip Inability to continuously run the pipeline

    at full speed because of pipeline hazardswhich disrupt the smooth execution of thepipeline.

  • 8/12/2019 1Pipelining Toan

    14/21

    Pipeline Hazards

    Data Hazards

    an instruction uses the result of theprevious instruction. A hazard occurs exactly when aninstruction tries to read a register in its ID stage that anearlier instruction intends to write in its WB stage.

    Control Hazards the location of an instruction dependson previous instruction

    Structural Hazards two instructions need to access thesame resource

  • 8/12/2019 1Pipelining Toan

    15/21

    Data Hazards

    IF

    IF

    ID

    ID EX

    EX M

    M

    WB

    WB

    ADD R1, R2, R3

    SUB R4, R1, R5

    Select R2 and R3 forALU Operations

    ADD R2 and R3 STORE SUM INR1

    Select R1 and R5 for

    ALU Operations

  • 8/12/2019 1Pipelining Toan

    16/21

    Stalling

    Stalling involves halting the flow of instructions untilthe required result is ready to be used. Howeverstalling wastes processor time by doing nothing whilewaiting for the result.

  • 8/12/2019 1Pipelining Toan

    17/21

    IF

    IF

    ID

    ID EX

    EX M

    M

    WB

    WB

    ADD R1, R2, R3

    SUB R4, R1, R5

    IF ID EX M WBSTALL

    IF ID EX M WBSTALL

    IF ID EX M WBSTALL

  • 8/12/2019 1Pipelining Toan

    18/21

    Type of Pipelining

    Software Pipelining

    1) Can Handle Complex Instructions

    2) Allows programs to be reused

    Hardware Pipelining

    1) Help designer manage complexity

    acomplex task can be divided into smaller,

    more manageable pieces.

    2) Hardware pipelining offers higher

    performance

  • 8/12/2019 1Pipelining Toan

    19/21

    Type of Hardware Pipelines

    Instruction Pipeline - An instruction pipeline is verysimilar to a manufacturing assembly line.

    1st stage receives some parts, performs its assembly task,and passes the results to the second stage;

    2nd stage takes the partially assembled product from thefirst stage, performs its task, and passes its work to thethird stage;

    3rd stage does its work, passing the results to the laststage, which completes the task and outputs its results.

    Data Pipeline data pipeline is designed to pass datafrom stage to stage.

  • 8/12/2019 1Pipelining Toan

    20/21

    Instruction Pipelines Conflict

    It divided into two categories.

    Data Conflicts

    Branch Conflicts

    When the current instruction changes a register that thenext one needed, data conflicts happens.

    When the current instruction make a jump, branch

    conflicts happens.

  • 8/12/2019 1Pipelining Toan

    21/21

    References

    http://www.cs.sjsu.edu/~lee/cs147/fall2003/23147L25Pipelining.ppt

    http://murray.newcastle.edu.au/users/students/1999/c9311421/pipe.html#s5

    http://www.cs.sjsu.edu/~lee/cs147/fall2003/23147L25Pipelining.ppthttp://www.cs.sjsu.edu/~lee/cs147/fall2003/23147L25Pipelining.ppthttp://murray.newcastle.edu.au/users/students/1999/c9311421/pipe.htmlhttp://murray.newcastle.edu.au/users/students/1999/c9311421/pipe.htmlhttp://murray.newcastle.edu.au/users/students/1999/c9311421/pipe.htmlhttp://murray.newcastle.edu.au/users/students/1999/c9311421/pipe.htmlhttp://murray.newcastle.edu.au/users/students/1999/c9311421/pipe.htmlhttp://www.cs.sjsu.edu/~lee/cs147/fall2003/23147L25Pipelining.ppthttp://www.cs.sjsu.edu/~lee/cs147/fall2003/23147L25Pipelining.ppthttp://www.cs.sjsu.edu/~lee/cs147/fall2003/23147L25Pipelining.ppt

Recommended