3 ms·
The compiler doesn't do much of the predicting, it's done by the CPU in runtime.
by fooker 3y ago
The compiler doesn't do much of the predicting, it's done by the CPU in runtime.
- kyboren 3y agoNot prediction, predication: https://en.wikipedia.org/wiki/Predication_(computer_architecture) https://en.wikipedia.org/wiki/Predication_(computer_architec... By avoiding conditional branches and essentially masking out some instructions, you can avoid stalls and mis-predictions and keep the pipeline full. Actually I think @IainIreland mis-remembers what the seasoned architect told him about Itanium. While Itanium did support predicated instructions, the problematic static scheduling was actually because Itanium was a VLIW machine: https://en.wikipedia.org/wiki/VLIW https://en.wikipedia.org/wiki/VLIW . TL;DR: dynamic scheduling on superscalar out-of-order processors with vector units works great and the transistor overhead got increasingly cheap, but static scheduling stayed really hard.