:The second method is likely to be faster because it avoids conditional branches, which are talk ) 20 : 40, 17 October 2013 ( UTC)
32.
Conditional branches are based on the arithmetic sign ( negative, zero, or positive ) of the last piece of data written into the register file.
33.
Normally, whether a conditional branch will be taken isn't known until late in the pipeline as conditional branches depend on results coming from a register.
34.
The Ebox therefore has four 64-bit adders, four logic units, two barrel shifters, byte-manipulation logic, two sets of conditional branch logic equally divided between U1 and U0.
35.
The new address is computed by longword aligning and sign extending the 21-bit displacement and adding it to the address of the instruction following the conditional branch.
36.
I would have expected the second approach to cause a lot of pipeline stalls because of all the conditional branches, but so far I haven't run benchmarks.
37.
Multiple interaction fragments are combined to create a variety of " combined fragments ", which are then used to model interactions that include parallelism, conditional branches, optional interactions.
38.
Afterwards, only 20 % of the jumps and conditional branches need to be taken, and represents, over many iterations, a potentially significant decrease in the loop administration overhead.
39.
This reuses the most significant bit of the signed relative address as a " hint bit " to tell whether the conditional branch will be taken or not.
40.
Eager execution is a form of speculative execution where both sides of the conditional branch are executed; however, the results are committed only if the predicate is true.