Final Project Pipelined Microprocessor Joseph Kim Project Goals

  • Slides: 13
Download presentation
Final Project : Pipelined Microprocessor Joseph Kim

Final Project : Pipelined Microprocessor Joseph Kim

Project Goals • Understand microprocessor design techniques – Branch Target Buffer (BTB) – Pipelining

Project Goals • Understand microprocessor design techniques – Branch Target Buffer (BTB) – Pipelining • Create the fastest microprocessor possible within the design constraints

What is Pipelining? • Divides the work for each instruction into stages • Each

What is Pipelining? • Divides the work for each instruction into stages • Each stage is executing a different instruction • Performance increases because the processor executes many instructions simultaneously

Problems with Pipelining • Branch instructions • Data Hazards – The needed data has

Problems with Pipelining • Branch instructions • Data Hazards – The needed data has not yet been calculated (interlocking) – The needed data is calculated, but not written (register bypass)

Solutions to the Branch Problem • Delayed Branching • Branch Squashing • Branch Target

Solutions to the Branch Problem • Delayed Branching • Branch Squashing • Branch Target Buffer

Project Description • • Five stage pipelined microprocessor Does not implement virtual memory functionality

Project Description • • Five stage pipelined microprocessor Does not implement virtual memory functionality Does not use branch delaying Instead implements a branch target buffer

Five Stage Pipeline • Stages: – Fetch – Decode – Execute – Memory Read/Write

Five Stage Pipeline • Stages: – Fetch – Decode – Execute – Memory Read/Write and BTB Update – Register file write • Why Five?

Critical Path • Longest delay in processor • Our critical path is 16 ns

Critical Path • Longest delay in processor • Our critical path is 16 ns • Clock frequency is 59 MHZ

How the BTB works • Global Register • Cache of 2 -bit counter values

How the BTB works • Global Register • Cache of 2 -bit counter values • Cache of addresses

Data path

Data path

Performance Calculations

Performance Calculations

Overall Performance • Instructions per second = Clock Frequency * CPI • Our processor

Overall Performance • Instructions per second = Clock Frequency * CPI • Our processor executes 59 MIPS

Concluding Remarks • Modern microprocessor design techniques drastically increase performance • A five stage

Concluding Remarks • Modern microprocessor design techniques drastically increase performance • A five stage pipeline with a branch target buffer gives our processor excellent performance at a reasonable cost