csabaandrasmoritz内容摘要:

ogram branch % static = 90% press 14% 236 13 eqntott 25% 494 5 gcc 15% 9531 2020 mpeg 10% 5598 532 real gcc 13% 17361 3214  Real programs + OS more like gcc  Small benefits of correlation beyond benchmarks?  Mispredict because either:  Wrong guess for that branch  Got branch history of wrong branch when indexing the table  For SPEC92, 4096 about as good as infinite table  Misprediction mostly due to wrong prediction  Can we improve using global history? Copyright 2020 UCB amp。 Man Kaufmann ECE668 .13 Adapted from Patterson, Katz and Culler 169。 UCB Gselect and Gshare predictors  Keep a global register (GR) with oute of k branches  Use that in conjunction with PC to index into a table containing 2bit predictor  Gselect – concatenate  Gshare – XOR (better) Copyright 2020 CAM / P HTg l o b a l b r a n c h h i s t o r yr e g i s t e r ( G B H R )/d e c o d e2p r e d i c t :t a k e n /n o t t a k e nshiftb r a n c h r e s u l t :t a k e n /n o t t a k e n Copyright 2020 UCB amp。 Man Kaufmann ECE668 .14 Adapted from Patterson, Katz and Culler 169。 UCB Tournament Predictors Motivation for correlating branch predictors: 2bit local predictor failed on important branches。 by adding global information, performance improved Tournament predictors: use two predictors, 1 based on global information and 1 based on local information, and bine with a selector Hopes to select right predictor for right branch (or right context of branch) Copyright 2020 UCB amp。 Man Kaufmann ECE668 .15 Adapted from Patterson, Katz and Culler 169。 UCB Tournament Predictor in Alpha 21264  4K 2bit counters to choose from among a global predictor and a local predictor  Global predictor also has 4K entries and is indexed by the history of the last 12 branches。 each entry in the global predictor is a standard 2bit predictor  12bit pattern: ith bit is 0 = ith prior branch not taken。 ith bit is 1 = ith prior branch taken。 00,10,11 00,11 10 Use 1 Use 2 Use 2 Use 1 00,01,11 00,11 10 10 01 01 01 4K  2 bits 1 3 2 12 . . . Copyright 2020 UCB amp。 Man Kaufmann ECE668 .16 Adapted from Patterson, Katz and Culler 169。 UCB Tournament Predictor in Alpha 21264  Local predictor consists of a 2level predictor:  Top level a local history table consisting of 1024 10bit entries。 each 10bit entry corresponds to the most recent 10 branch outes for the entry. 10bit history allows patterns 10 branches to be discovered and predicted  Next level Selected entry from the local history table is used to index a table of 1K entries consisting a 3bit saturating counters, which provide the local prediction  Total size: 4K*2 + 4K*2 + 1K*10 + 1K*3 = 29K bits! (~180K transistors) 1K  10 bits 1K  3 bits Copyright 2020 UCB amp。 Man Kau。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。