370L21 - EECS/CS 370 Advanced Issues in Pipelining Lecture...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
EECS/CS 370 Advanced Issues in Pipelining Lecture 21
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Four lectures on pipelining Data hazards Control hazards Other issues Advanced topics Super pipelined execution Superscalar execution Out-of-order execution Wave pipelining
Background image of page 2
Super pipelining Processor implementations with pipelines greater than 5 stages are superpiplined Superpiplining enables the clock frequency to be increased (i.e., the cycle time goes down) Superpiplining exacerbates the problems caused by hazards. Where you add the extra stages is important: Frontend (before register reads) Middle (during execution before result known) Backend (after results calculated, before completion)
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Superscalar Machines A processor implementation with multiple pipelines (dependent pipelines) is said to be executing superscalar (more than scalar) Superscalar implementations improve CPI by enabling more than one instruction to be in each pipeline stage Superscalar implementations must still manage pipeline hazards. This increases the complexity of the processor It is also more difficult to avoid hazards for much the same reasons that superpiplining does
Background image of page 4
Scheduling Issues In order to execute 2 instructions at the same time we must still avoid hazards. Detection: Must compare source operands with all previous destinations in flight on either pipeline Must also compare source of one instruction in decode with the other. Management: More forwarding locations (why?) More stalls (why?)
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Out-of-order (OoO) execution Some instructions take a long time to complete (e.g., a load instruction). OoO execution allows the following instructions to execute as long as they don’t need the result of the slow instruction. OoO execution reduces stalls in the pipeline by filling them with future instructions as long as that doesn’t violate the program semantics.
Background image of page 6
Out-of-order execution creates additional problems in pipeline scheduling. When is reordering possible?
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 04/13/2010 for the course CSE 245 taught by Professor Dawan during the Spring '10 term at Punjab Engineering College.

Page1 / 26

370L21 - EECS/CS 370 Advanced Issues in Pipelining Lecture...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online