1 / 18

The Optimum Pipeline Depth for a Microprocessor

The Optimum Pipeline Depth for a Microprocessor. Fang Pang Oct/01/02. The choice of the structure of the pipeline is fundamental in the design of a microprocessor. Is there an optimum pipeline depth for a microprocessor that gives the best performance?. There is a tradeoff between the greater

olaf
Download Presentation

The Optimum Pipeline Depth for a Microprocessor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Optimum Pipeline Depth for a Microprocessor Fang Pang Oct/01/02

  2. The choice of the structure of the pipeline is fundamental in the design of a microprocessor. Is there an optimum pipeline depth for a microprocessor that gives the best performance?

  3. There is a tradeoff between the greater throughput of a deeper pipeline and the larger penalty for hazards in the deeper pipeline.This tradeoff leads to an optimum design point.

  4. Two intuitive ways to see that performance will be optimal for a specific pipeline depth : • CPI (Cycles / Instruction) • Cycle time of a processor

  5. The true measure of performance in the processor is theaverage time it takes to execute an instruction. This is the time / Instruction (TPI) , the inverse of the MIPs ( Million Instructions per second ) number.The TPI is just the product of the cycle time and the CPI.

  6. How a Processor spend its time? T = TBZ + TNBZ (TBZ : the time that the execution unit is doing useful work; TNBZ: the time that the execution is stalled by any of pipeline hazards.)

  7. Processor’s busy time (TBZ) TBZ = NI* ts (NI: the number of instructions; ts: the time for an instruction to pass each stage of the pipeline ) ts =to + tp /p (to:the latch overhead for the technology used;tp: the total logic delay of the processor; p:the number of pipeline stages in the design) TBZ = NI* ( to +tp /p)

  8. For a superscalar processor, multiple instructions may be executed at the same time. TBZ = ( NI /a ) * ( to +tp /p) (a: measure of the average degree of superscalar processing whenever the e-unit is busy)

  9. Processor’s not-busy time (TNBZ) Considering each pipeline hazard causes a full pipeline stall TNBZ = NH*tpipe (NH:the number of pipeline hazards; tpipe: the total pipeline delay) tpipe= ts* p = ( to +tp /p)* p = to *p+tp The total pipeline delay is just the product of each pipeline stage delay, ts, and the number of pipeline stages in the processor. TNBZ= NH*( to *p+tp)

  10. Considering each pipeline hazard has its own not-busy time (thazard : each hazard’s not-busy time; h:the fraction of the total pipeline delay encountered by each particular hazard, between 0 and 1) (γ: the fraction of the total pipeline delay averaged over all hazards) TNBZ=NH * (to * p+tp )*γ

  11. Processor time T = TBZ + TNBZ = (NI /a)*( to + tp / p)+ NH*(to * p + tp)* γ NH / NI: depend on the workload being executed and microarchitecture (EX: branch prediction accuracy) a , γ : depend on microarchitecture and the workload to: depends ontechnology tp : depends on technology and microarchitecture

  12. Optimum pipeline depth Popt2= ( NI tp )/ (a NHγto) • When we can have deeper pipeline? • NHdecreases, workloads have fewer hazards. • todecreases, technology reduces the latch overhead, relative to the total logic path, tp. • γdecreases, the fraction of the pipeline that hazards stall decreases.

  13. Simulator result

  14. Optimum pipeline depth’s various dependencies

  15. Dependence on the degree of superscalar processing (a)

  16. Dependence on the degree of pipeline hazard (NH,γ)

  17. Summary A theory has been presented of the optimum pipeline depth for a microprocessor. The theory has been tested by simulating a variable depth pipeline model, and the two are found to be in excellent agreement. It is found that the competition between "storing" instructions in a deeper pipeline to increase throughput and limiting the number of pipeline stalls from various pipeline hazards, results in an optimum pipeline depth.

  18. Discussion

More Related