ANSWER 2: 2] Limitations on Delayed branch scheduling come from two things. What are they? - restrictions on the instructions that are scheduled into delay slots. - ability to predict at compile time whether branch is likely to be taken or not. 3] Does it matter to the instruction in the branch delay slot whether or not the branch is taken? -No. Whether the branch is taken or not, if the instruction is chosen to go along with the requirements set forth, it will execute independent of the branch. It should be chosen to be valid and useful. 4] Whose job is it to make successor instructions valid and useful? - It is the compiler's job. 5] List the three types of instructions that would best fill the branch delay slot and explain how they improve pipeline performance. - Instruction from before the branch always improves performance. - Instruction from branch target improves performance when branch taken. - Instruction from fall through improves performance when branch not taken.