Name:_£€,_\i_
Test 1: Computer Systems (CS 3443)
fall 2014
Dr. Cline
26 questions, 75 pts. possible
Closed book. One page of handwritten notes allowed.
Questions:
1. [2 pts]@/ F) It is possible to create any Boolean function using only NOR gates.
2. [2 p

CS 3443  Computer Systems : 8/31/2015

MULTIPLY UNIT
A multiply can be made of a bunch of shifts, masks, and adds.
A * B is equal to the sum of a number of shifted copies of A, where the
copies are controlled by the bits of B. If a bit in B

CS 3443  Computer Systems : 9/14/2015

Translation:
C program
COMPILER
Assembly language
ASSEMBLER
Object modules and library routines
LINKER
Executable program
LOADER
Program in memory
Compiler
Converts C code to assembly language c

CS 3443  Computer Systems : 8/26/2015

Binary numbers
powers of 2
Convert from decimal to binary
Convert from binary to decimal
Hex
Two's complement
Sign extension
Subtraction in two's complement
Typical Computer Architecture
CPU has

CS 3443  Computer Systems : 8/24/2015

Combinatorial Circuits (lecture 7.23)
Multiple inputs, Multiple outputs
Outputs depend entirely on inputs  no internal state
Only a few signals compared to # of gates
10M transistors on chip, but only a

Computer Systems (CS 3443)
HW 2: Number Systems
KEY

1. How many bits does a standard MIPS instruction have?
32 bits
2. Describe what a register is, compared to main memory.
A register is a fast bit of memory, usually located on the CPU
chip itself.

Computer Systems (CS 3443)
Combinatorial Circuits Review
KEY

1. Use a truth table to show that X is equivalent to (X  Y) & (X  ~Y)
X Y XY X~Y (XY)&(X~Y)
0 0 0 1 0
0 1 1 0 0
1 0 1 1 1
1 1 1 1 1
Since the X column and (XY)&(X~Y) are identi

Computer Systems (CS 3443)
HW 3: MIPS Instructions
KEY

For the problems below, suppose that the variables a, b, c and d are 32 bit integers assigned to registers $t0, $t1, $t2 and $t3, respectively.
1. Write MIPS code for the following C statements:

Computer Systems (CS 3443)
HW 4: Procedure Calls
KEY

1. According to section 2.8 of the book, what are the 6 steps needed to execute a procedure?
1. Put parameters in a place where the procedure can access them.
2. Transfer control to the procedure.

CS 3443  Computer Systems : 9/15/2014

Program 2
Starter File: main inputs and outputs
96 inputs, 32 outputs
32 inputs for the instruction, including:
op5.op0  the high order bits, indicating the instruction
rs4.rs0  the s register bits (