Branch Predictor Competition

http://www.cl.cam.ac.uk/teaching/0809/CompArch/cam-only/cup.jpeg

Rules

Please ensure I am able to run your code so I can generate your final score using the secret program trace. The winner will be presented with a small prize (hopefully a Raspberry Pi computer + some bits and pieces) at the final lecture. Let me know your best scores as you progress and I'll post them here.

Files

gcc.trace.gz gif2tiff.trace.gz gzip.trace.gz

These traces have been generated to help you to develop your predictor. Each contains a list of addresses for each branch encountered and an indication of whether the branch was taken or not. e.g.

8048ff0 1
8048ff0 1
8048ff0 1
8048ff0 0
804e41f 1
804e418 1
8048ff0 1
8048ff0 1 

simple_predictor.c A simple C program that implements a branch predictor based on 2-bit saturating counters.

To run the predictor:

gcc -o simple_predictor simple_predictor.c
gzip -dc gcc.trace.gz | ./simple_predictor
>Branch Predictor Accuracy = 91.82%
>(branch_count=5126353)

You are of course free to use whatever platform and language you like (even Haskell :) )

Good luck!

Past Entries

Previous years entries that have performed well have included perceptron based predictors, gshare predictors and tournament predictors.

Useful Links

Second Championship Branch Prediction Competition (CBP-2)

CompArch/Comp-Arch/Competition (last edited 2012-02-10 11:26:26 by RobertMullins)