User Tools

Site Tools


buzzword

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
buzzword [2014/02/03 19:20]
rachata
buzzword [2014/02/05 19:20]
rachata
Line 387: Line 387:
  
  
 +===== Lecture 10 (2/5 Wed.) =====
 +
 +  * Branch prediction accuracy
 +    * Why are they very important?
 +      * Differences between 99% accuracy and 98% accuracy
 +      * Cost of a misprediction when the pipeline is veryd eep
 +  * Value prediction
 +  * Global branch correlation
 +    * Some branches are correlated
 +  * Local branch correlation
 +    * Some branches can depend on the result of past branches
 +  * Pattern history table
 +    * Record global taken/not taken results. ​
 +    * Cost vs. accuracy (What to record, do you record PC? Just taken/not taken info.?)
 +  * One-level branch predictor
 +    * What information are used
 +  * Two-level branch prediction
 +    * What entries do you keep in the glocal history?
 +    * What entries do you keep in the local history?
 +    * How many table?
 +    * Cost when training a table
 +    * What are the purposes of each table?
 +    * Potential problems of a two-level history
 +  * GShare predictor
 +    * Global history predictor is hashed with the PC
 +    * Store both GHP and PC in one combined information
 +    * How do you use the information?​ Why does the XOR result still usable?
 +  * Slides (page 16-18) for a good overview of one- and two-level predictors
 +  * Warmup cost of the branch predictor
 +    * Hybrid solution? Fast warmup is used first, then switch to the slower one.
 +  * Tournament predictor (Alpha 21264)
 +  * Other types of branch predictor
 +    * Using machine learning?
 +    * Geometric history length
 +      * Look at branches far behind (but using geometric step)
 +  * Predicated execution - eliminate branches
 +    * What are the tradeoffs
 +    * What is the block is big (can lead to execution a lot of useless work)
 +    * Allows easier code optimization
 +      * From the compiler PoV, predicated execution combine multiple basic blocks into one bigger basic block
 +      * Reduce control dependences
 +    * Need ISA support
 +  * Wish branches
 +    * Compiler generate both predicated and non-predicated codes
 +    * HW design which one to use
 +      * Use branch prediction on an easy to predict code
 +      * Use predicated execution on a hard to predict code
 +      * Compiler can be more aggressive in optimimzing the code
 +    * What are the tradeoffs (slide# 47)
 +  * Multi-path execution
 +    * Execute both paths
 +    * Can lead to wasted work
buzzword.txt ยท Last modified: 2015/04/27 18:20 by rachata