ELCE 2350 – Introduction of Computer Organization and Design
ALL work must be submitted through CANVAS. No Late submissions will be accepted.
1. Given the combination logic circuit below, use the basic laws of Boolean Algebra, and realize the circuit by using the OR gate in the first stage and the AND gate in the second stage. Show all your steps for partial credits. Redraw the logic circuit. [15 points]
2. Given the Boolean expression, output = C + AB, use a maximum of 3 logic gates to build this logic circuits. Students can ONLY use inverters, 2 input OR, NOR, AND, and NAND gates. [Hint: you may use DeMorgans’s rule to rearrange the expression.] [10 points]
3. Translate the following MIPS instructions into machine code. Your answer should include the following items, instruction format, value for each functional field in binary format (i.e. op, rs, rt, etc.), and machine code in hexadecimal format. No credit will be given if your answer is in a different format. [10 points]
a. beq $t1,$v1, 0xFFF4
b. addi $v1, $s1, - 16
c. add $s0, $t1, $t4
d. sll $s1, $t6, 3
e. j 0x1234
4. Convert the following hexadecimal number using IEEE 754 single precision floating point standards into decimal numbers. Show all your calculation steps for full credit and an answer to 2 decimal points is required. [10 points]
a. 0xC201199A
b. 0xBFD0 0000
c. 0x410A28F6
d. 0x42AA8000
e. 0x C0233333
5. Convert the following decimal numbers using IEEE 754 single precision floating point standards into a hexadecimal number. Show all your calculations for full credit. [10 points]
a. 11.25
b. -5.75
c. 25.6
d. - 100.8
6. The MIPS assembly program shown below is to be executed in a processor, how many times is the memory being accessed? Use a SIMPLE diagram and 2 short sentences to explain your answer. [10 points]
Instruction # Instructions
1. lui $v1, 0xFFFE
2. addi $s0, $v1, 0xFFEE
3. lw $t2, 32($t0)
4. sub $s4, $t1, $t2
5. sll $s3, $s4,2
6. sw $s3, 8($t0)
7. Consider the following MIP assembly program: [20 points]
Instruction # LABEL Instructions
1. lui $t0, 0x8000
2. lui $s0, 0xA003
3. addi $t1, $zero,0x0012
4. add $t0, $t0, $zero
5. addi $s0, $s0, 0x008
6. and $t2, $t2, $zero
7. LOOP: sw $s0, 4($t0)
8. addi $t0, $t0, 4
9. addi $s0, $s0, 0x000C
10. addi $t2, $t2, 3
11. slt $at, $t2, $t1
12. bne $at, $zero, LOOP
13. EXIT:
a. After the program is executed what are data stored in the data memory? Please specify
the memory address location.
b. What is the value of register $t2”
c. How many times is the sw instruction being executed?
8.. The instruction bne $t1, $t2. Target is stored in memory address 0x4000 1234, answer the following questions? [15 points]
a. What is the instruction format of the bne instruction?
b. Which functional field controls the limit of the branch location?
c. What are the maximum and minimum values of the functional field in part b? State your answer in hexadecimal format. No point will be given in a different number format.
d. Compute the maximum and minimum memory address that the label “Target” can represent. State your answer in hexadecimal format. No point will be given if the answer is in a different number format.