How many branches can your CPU predict?
28 points by juliethefoxcoon
28 points by juliethefoxcoon
I’m not sure how useful or relevant this is as a benchmark all the depths seem absurd, but keeping that much state means you’re not spending surface area on other caches or state tracking.
I’m not sure of what the trade value offs are, but once you’re talking about correctly predicting identical sequences of branches that are thousands of branches long it seems like trade offs are going to become relevant
I'm curious how much state it actually is. Is the core tracking taken / not-taken for the branches (which means it can't resolve the branch for fetch until after decode). A lot of these things now use simple neural networks, but a neural network can approximate any function, so it's possible that (assuming this is a PRNG) that it's learning an approximation of the function.
I was wondering about that too? The idea that it's tracking a full N-branch like trace seems bizarre to me.
But I was also thinking about the size of the loop code. E.g imagine each chip puts aside the same amount of actual storage for the insanity-predictor, you can imagine storing different amounts/kinds of information that result in better behavior for large loop bodies/execution paths. The single test doesn't seem like enough to warrant being "disappointed".
The comments are however hilarious :D