In the table of the output function of the DLX control (slide 12 in recitation 14 or table 22.3 in the book) the active control outputs for the CopyGPR2MDR state are S1sel[1], S2sel[1], DINTsel, MDRce. If the DINTsel is active, is there a reason we need to have S2sel[1] active?
S2sel1[1] is active as an “insurance”. There shouldn’t be a difference if its on or off, as DINTsel is active, so the value from the ALU isn’t going anywhere. The reason it is active, is so that if by chance DINTmux won’t work properly, the correct value will continue on in the datapath (addition with 0 = shift by 0).
You shouldn’t worry about insurance bits, you are not expected to use them in your solutions.