Ooops! I just went back and read our definition of problem 4
My last email said that the TARGET of a branch could be fetched (no
branch prediction) in the cycle immediately after the ADD is in E3.
I had forgotten that we had specified the PC+offset (E1) to take place
in the cycle following E3. Given our example of the pipeline, the
TARGET can not be fetched until the cycle after the branch is in E1.
We should have specified the branch to execute E1 earlier, in which
case the TARGET could have been fetched in the cycle I stated in my
I hope this is not confusing. If it is, please holler.