4 ms·
Except that synchronizing two or more cores is, as a rule of thumb, too expensive to do per-instruction?
by ReactiveJelly 5y ago
Except that synchronizing two or more cores is, as a rule of thumb, too expensive to do per-instruction?
- josefx 5y agoIt would have to be done on the same hidden low level register manipulation as current speculation already does. Instead of rolling back to the wrong branch and starting over you would just drop it and continue with the correct computation. The issue would be if you have a slow (value load from memory) and a fast (cached value) branch, currently only the most often used one gets predicted, so if you always hit the fast branch the predictor will never touch the slow branch. I think if you evaluate both in parallel you end up having no way to avoid the penalties introduced by the slow path. Imagine having your CPU cache constantly invalidated by code that never "runs".