Suppose that we have implemented a (0,3) GPR machine, using a Superscalar Speculative Tomasulo (SST) architecture that executes the MIPS ISA. For each of the questions in this section, write the letter T next to the statements below that are True, and briefly explain why the others are false.
False: uses dynamic scheduling
False: stays in reorder buffer until at the top and committed, or if speculated incorrectly, will be flushed.
True: superscalar goal is CPI< 1
False: branch delay slot is static handling of control hazards; speculative requires dynamic prediction.
False: superscalar permits several instructions to be issued in a single clock cycle. Speculative execution means that you predicted (prior to confirmation) the direction to be taken by a branch, and executed some instructions based on that speculation. At best, if you predicted correctly, you have no (or minimal) stalls because you kept executing along a correct path while the branch was being decided.
At worst, you have to flush all the incorrectly executed instructions, called ``speculated instructions'', and then execute the correct ones. however, the experienced branch penalty should still be no more than the time needed to evaluate the branch condition and start the correct next instruction (in the absence of memory delays, of course, but that's another issue)