4 ms·
I mean, not really. All branches will need to hit the backend in order to verify that they were correctly predicted. RISC-V conditional branches, for example, r
by sweetjuly 4y ago
I mean, not really. All branches will need to hit the backend in order to verify that they were correctly predicted. RISC-V conditional branches, for example, require doing register register comparisons for verification which means they must be entered into the ROB and issued like any other instruction. This consumes real backend resources and is significantly more than a nop (which can be eliminated by the front end).
- mhh__ 4y agoThe "in a sense" was doing a lot of heavy lifting. They still hit the backend but the idea is that a nop also hits the backend but does no work. Programmers, I think, sometimes still think of a very backend heavy idea of branch prediction (e.g. old static predictors)
- titzer 4y agoBy "hitting the backend" do you mean generating μ-ops? Because nops don't generate μ-ops yet branches definitely do.