Computer Organization and Structure


Homework #3

Due: 2004/11/9


1.      Convert 4096ten, -2,047ten, and -2,000,000ten into 32-bit twofs complement binary numbers, respectively, and convert the following twofs complement binary numbers to be decimal numbers:


a.         1111 1111 1111 1111 1111 1111 0000 0110two;

b.        1111 1111 1111 1111 1111 1111 1110 1111two;

c.         0111 1111 1111 1111 1111 1111 1110 1111two.


2.      Suppose that all of the conditional branch instructions except beq and bne were removed from the MIPS instruction set along with slt and all of its variants (slti, sltu, sltui). Show how to perform


slt   $t0, $s0, $s1


using the modified instruction set in which slt is not available. (Hint: It requires more than two instructions.)


3.      The ALU supported set on less than (slt) using just the sign bit of the adder. Letfs try a set on less than operation using the values -7ten and 6ten. To make it simpler to follow the example, letfs limit the binary representations to 4 bits: 1001two and 0110two.


1001two – 0110two = 1001two + 1010two = 0011two


This result would suggest that -7ten > 6ten, which is clearly wrong. Hence we must factor in overflow in the decision. Modify the 1-bit ALU in the following figures to handle slt correctly.


Figure 1: A 1-bit ALU that performs AND, OR, and addition on a and b or bf.


Figure 2: A 1-bit ALU for the most significant bit.


4.      Add 2.85ten x 103 to 9.84ten x 104 and add 3.63ten x 104 to 6.87ten x 103, respectively, assuming that you have only three significant digits, first with guard and round digits and then without them.


5.      Show the IEEE 754 binary representation for the floating-point numbers 20ten, 20.5ten, 0.1ten, and -5/6, respectively.