Eager Evaluation

  • Problem: Branch prediction penalties from discarded speculative executions

  • Solution: Eager evaluation of instructions inside “if blocks” (i.e., don’t predict branches)

  • Method: Place conditional instructions in “dataflow box” under “speculative hold”. Release or nullify according to “if” test result

  • Result: No penalty (if execution resources are available)

    ?

    “if” statement
    test

    conditional
    instructions

Previous slide Back to first slide View graphic version