Computer Organization Test 1
Question 1. (30 points) For the Boolean function F specified in the following truth table (a "d" indicates a "don't care"), use a K-map to write the simplified sum-of-products (SOP) Boolean function.
A
B
C
D
F
0
0
0
0
d
0
0
0
1
d
0
0
1
0
d
0
0
1
1
d
0
1
0
0
d
0
1
0
1
1
0
1
1
0
1
0
1
1
1
d
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
d
1
1
0
0
0
1
1
0
1
d
1
1
1
0
1
1
1
1
1
0
b) Implement your above simplified Boolean function for F using AND, OR, and NOT gates. (Alternatively, if you had problems with part (a), you may implement the unsimplified Boolean function F. Treat the "don't cares" as "0"s).
c) Ignoring NOT gates, how many gate delays are in your above circuit?
Question 2. (30 points)
a) Convert 375_{10} to a binary (base 2) value.
b) Convert 375_{10} to a hexadecimal (base 16) value.
c) Covert -357_{10} to a two's complement value.
d) Perform the following arithmetic operations:
1001010_{2} 1100010_{2} C B 3 1 A_{16} A 1 9 D 1_{16}
+1101110_{2} - 1001011_{2} +7 3 A 1 8_{16} - 4 A 7 3_{16}
Question 3. (15 points) a) If R = 1 and S = 0, then what will be the output on Q and ?
b) Now, if R goes to a 0 value, what happens to the output on Q and ?
c) Complete the following timing diagram for the SR latch. Include gate delays in the diagram.
Question 4. (10 points) A Full-Adder performs one-bit, binary addition. Complete the Full-Adder truth table for the sum (s_{i}) and carry-out (c_{i+1}) functions.
x_{i} |
y_{i} |
carry-in c_{i} |
sum s_{i} |
carry-out c_{i+1} |
0 | 0 | 0 | ||
0 | 0 | 1 | ||
0 | 1 | 0 | ||
0 | 1 | 1 | ||
1 | 0 | 0 | ||
1 | 0 | 1 | ||
1 | 1 | 0 | ||
1 | 1 | 1 |
Question 5. (15 points) (a) Draw the circuit for a 3-to-8 decoder. You may use "..." to avoid drawing all the gates.
(b) Register files use a decoder to select which register is to be written. For example, a register file with 32 register would require a 5-to-32 decoder. Unfortunately, the number of gates need to implement a decoder does not scale well. How many gates would be needed to implement a 20-to-2^{20} decoder?