COSC 5351 Advanced Computer Architecture
Slides modified from Hennessy CS252 course slides
COSC 5351 Advanced Computer Architecture Slides modified from - - PowerPoint PPT Presentation
COSC 5351 Advanced Computer Architecture Slides modified from Hennessy CS252 course slides ILP Compiler techniques to increase ILP Loop Unrolling Static Branch Prediction Dynamic Branch Prediction Overcoming Data Hazards
Slides modified from Hennessy CS252 course slides
2/9/2012 2 COSC5351 Advanced Computer Architecture
2/9/2012 3 COSC5351 Advanced Computer Architecture
2/9/2012 4 COSC5351 Advanced Computer Architecture
2/9/2012 5
COSC5351 Advanced Computer Architecture
2/9/2012 6 COSC5351 Advanced Computer Architecture
2/9/2012 7
COSC5351 Advanced Computer Architecture
2/9/2012 8 COSC5351 Advanced Computer Architecture
2/9/2012 9
COSC5351 Advanced Computer Architecture
2/9/2012 10
COSC5351 Advanced Computer Architecture
2/9/2012 11 COSC5351 Advanced Computer Architecture
2/9/2012 12 COSC5351 Advanced Computer Architecture
2/9/2012 13 COSC5351 Advanced Computer Architecture
2/9/2012 14 COSC5351 Advanced Computer Architecture
2/9/2012 15 COSC5351 Advanced Computer Architecture
2/9/2012 CS252 S06 Lec7 ILP 16
2/9/2012 CS252 S06 Lec7 ILP 17
2/9/2012 18
COSC5351 Advanced Computer Architecture
2/9/2012 19
COSC5351 Advanced Computer Architecture
9 clock cycles: Rewrite code to minimize stalls?
2/9/2012 20
COSC5351 Advanced Computer Architecture
2/9/2012 21
COSC5351 Advanced Computer Architecture
2/9/2012 22
COSC5351 Advanced Computer Architecture
2/9/2012 23 COSC5351 Advanced Computer Architecture
2/9/2012 24
COSC5351 Advanced Computer Architecture
1.
2.
3.
4.
5.
2/9/2012 25 COSC5351 Advanced Computer Architecture
2/9/2012 26 COSC5351 Advanced Computer Architecture
To reorder code around branches, need to predict
Simplest scheme is to predict a branch as taken
2/9/2012 27
2/9/2012 28 COSC5351 Advanced Computer Architecture
2/9/2012 29 COSC5351 Advanced Computer Architecture
2/9/2012 30
COSC5351 Advanced Computer Architecture
2/9/2012 31
2/9/2012 32 COSC5351 Advanced Computer Architecture
2/9/2012 COSC5351 Advanced Computer Architecture 33
2/9/2012 34
0% 1% 5% 6% 6% 11% 4% 6% 5% 1% 2% 4% 6% 8% 10% 12% 14% 16% 18% 20%
4,096 entries: 2-bits per entry Unlimited entries: 2-bits/entry 1,024 entries (2,2)
nasa7 matrix300 doducd spice fpppp gcc expresso eqntott li tomcatv
COSC5351 Advanced Computer Architecture
34
Multilevel branch predictor Use n-bit saturating counter to choose between predictors Usual choice between global and local predictors
2/9/2012 35 COSC5351 Advanced Computer Architecture
2/9/2012 36 COSC5351 Advanced Computer Architecture
Advantage of tournament predictor is ability to select the
2/9/2012 37 COSC5351 Advanced Computer Architecture
2/9/2012 38
11 13 7 12 9 1 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 164.gzip 175.vpr 176.gcc 181.mcf 186.crafty 168.wupwise 171.swim 172.mgrid 173.applu 177.mesa
Branch mispredictions per 1000 Instructions
COSC5351 Advanced Computer Architecture
2/9/2012 39 COSC5351 Advanced Computer Architecture
2/9/2012 CS252 S06 Lec7 ILP 40
2/9/2012 41 COSC5351 Advanced Computer Architecture
2/9/2012 42 COSC5351 Advanced Computer Architecture
2/9/2012 43 COSC5351 Advanced Computer Architecture
2/9/2012 44 COSC5351 Advanced Computer Architecture
2/9/2012 45 COSC5351 Advanced Computer Architecture
2/9/2012 46
COSC5351 Advanced Computer Architecture
2/9/2012 47
COSC5351 Advanced Computer Architecture
2/9/2012 48
COSC5351 Advanced Computer Architecture
2/9/2012 49
COSC5351 Advanced Computer Architecture
2/9/2012 50
COSC5351 Advanced Computer Architecture
2/9/2012 51
COSC5351 Advanced Computer Architecture
2/9/2012 52
COSC5351 Advanced Computer Architecture
2/9/2012 53 COSC5351 Advanced Computer Architecture
Normal data bus: data + destination (“go to” bus) Common data bus: data + source (“come from” bus)
Example speed:
2/9/2012 54 COSC5351 Advanced Computer Architecture
2/9/2012 55
COSC5351 Advanced Computer Architecture
2/9/2012 56
COSC5351 Advanced Computer Architecture
2/9/2012 57
COSC5351 Advanced Computer Architecture
2/9/2012 58
COSC5351 Advanced Computer Architecture
2/9/2012 59
COSC5351 Advanced Computer Architecture
2/9/2012 60
COSC5351 Advanced Computer Architecture
2/9/2012 61
COSC5351 Advanced Computer Architecture
2/9/2012 62
COSC5351 Advanced Computer Architecture
2/9/2012 63
COSC5351 Advanced Computer Architecture
2/9/2012 64
COSC5351 Advanced Computer Architecture
2/9/2012 65
COSC5351 Advanced Computer Architecture
2/9/2012 66
COSC5351 Advanced Computer Architecture
2/9/2012 67
COSC5351 Advanced Computer Architecture
2/9/2012 68
COSC5351 Advanced Computer Architecture
2/9/2012 69
COSC5351 Advanced Computer Architecture
2/9/2012 70
COSC5351 Advanced Computer Architecture
2/9/2012 71
COSC5351 Advanced Computer Architecture
2/9/2012 72 COSC5351 Advanced Computer Architecture
2/9/2012 73
COSC5351 Advanced Computer Architecture
2/9/2012 74
COSC5351 Advanced Computer Architecture
2/9/2012 75
COSC5351 Advanced Computer Architecture
2/9/2012 76 COSC5351 Advanced Computer Architecture
2/9/2012 77 COSC5351 Advanced Computer Architecture
2/9/2012 78 COSC5351 Advanced Computer Architecture
2/9/2012 79 COSC5351 Advanced Computer Architecture
2/9/2012 80 COSC5351 Advanced Computer Architecture
2/9/2012 81 COSC5351 Advanced Computer Architecture
2/9/2012 82 COSC5351 Advanced Computer Architecture
2/9/2012 83 COSC5351 Advanced Computer Architecture
2/9/2012 84
COSC5351 Advanced Computer Architecture
2/9/2012 85 COSC5351 Advanced Computer Architecture
2/9/2012 86
COSC5351 Advanced Computer Architecture
2/9/2012 87
COSC5351 Advanced Computer Architecture
2/9/2012 88
COSC5351 Advanced Computer Architecture
2/9/2012 89
COSC5351 Advanced Computer Architecture
2/9/2012 90
COSC5351 Advanced Computer Architecture
2/9/2012 91
COSC5351 Advanced Computer Architecture
2/9/2012 92
COSC5351 Advanced Computer Architecture
2/9/2012 93
COSC5351 Advanced Computer Architecture
2/9/2012 94 COSC5351 Advanced Computer Architecture
2/9/2012 95 COSC5351 Advanced Computer Architecture
2/9/2012 96 COSC5351 Advanced Computer Architecture
2/9/2012 97 COSC5351 Advanced Computer Architecture
2/9/2012 98
COSC5351 Advanced Computer Architecture
2/9/2012 99 COSC5351 Advanced Computer Architecture
2/9/2012 10 COSC5351 Advanced Computer Architecture
2/9/2012 10 1 COSC5351 Advanced Computer Architecture
2/9/2012 10 2
COSC5351 Advanced Computer Architecture
2/9/2012 10 3 COSC5351 Advanced Computer Architecture
2/9/2012 10 4 COSC5351 Advanced Computer Architecture
2/9/2012 10 5 COSC5351 Advanced Computer Architecture
39% 43% 24% 45% 24% 3% 1% 1% 0% 20% 0% 5% 10% 15% 20% 25% 30% 35% 40% 45% gzip vpr gcc mcf crafty 168. wupw ise 171.s wim 172. mgrid 173.a pplu 177. mesa Misspeculation Fraction
2/9/2012 10 6
COSC5351 Advanced Computer Architecture
2/9/2012 COSC5351 Advanced Computer Architecture 10 7
2/9/2012 10 8 COSC5351 Advanced Computer Architecture