In-Class Exercise 4/5/2010 Suppose the data-path is 4 bits rather than 32 bits. For each of the instructions below, what are the following? You can write your answer on the handout Ainvert Binvert Operation CarryIn to ALU0 a0 b0 Output of the adder of ALU0 CarryOut of ALU0 Result0 a1 b1 Output of the adder of ALU1 CarryOut of ALU1 Result1 a2 b2 Output of the adder of ALU2 CarryOut of ALU2 Result2 a3 b3 Output of the adder of ALU3 CarryOut of ALU3 Result3 Set add $t0,$t1,$t2, where $t1 = 0b0011 and $t2 = 0b0001. sub $t0,$t1,$t2, where $t1 = 0b0011 and $t2 = 0b0100. slt $t0,$t1,$t2, where $t1 = 0b0011 and $t2 = 0b0101. == Question 4 When we looked at SLT in our construction of the ALU, the destination register ($t0 in the example above) was set depending only on whether the result of the subtraction is negative (i.e., the Set output of ALU31). But this isn't, in general, sufficient. Suppose our datapath is 4 bits, and we execute: slt $t0,$t1,$t2 where $t1 = -7dec = 0b1001 $t2 = 6dec = 0b0110 What value would $t0 be set to? Be sure to review the notes from Friday about modifications needed to the ALU to handle SLT properly in these cases.