EE 306, Fall, 2002
Yale Patt, Instructor
TAs: Asad Bawa, Linda Bigelow, Mustafa Erwa, Lester Guillory, Kevin Major,
Tanay Shah, Moinuddin Qureshi, Paroma Sen, Santhosh
Matt Starolis, David Thompson, Vikrant Venkateshwar
Problem Set #4
Due: Monday, October 7, 2002 before class
0. Problem No.9 from PS #3.
1. Problem No. 4.5 ( Page 87) from the textbook.
2. For the opcodes: 0001, 0010, 0000; write what operations occur in each
phase of the instruction cycle.
3. Consider the following machine language program:
a) What are the possible intial values of R1 that cause the final value in
R2 to be 3. ?
b) In less than ten words, what does this program do?
4. Problem No. 4.7 ( Page 88) from the textbook.
5. Problem No. 5.2 ( Page 114) from the textbook.
6. Problem No. 5.3 ( Page 114) from the textbook.
7. Problem No. 5.9 ( Page 115) from the textbook.
Note: This problem is intended to stretch your mind. Do not be disappointed
(or surprised) if each part makes you think.
8. Problem No. 5.10 ( Page 115) from the textbook.
9. For this question, assume that all data memory is initialized to x1000
more than its address. So for example, Address 0x8000 will have have the
Now, execute the following LC-2 machine language program and write the values
stored in all the registers(R0-R7).
Initially, all the registers have the value 0 stored in them. Also PC=0x3000
to start with.
10. Suppose we build a machine in the old style that requires each instruction
to complete (store its result) before the next instruction can start (fetch
the instruction). This was the way things were in the old days before
we came up with a lot of techniques that you will learn about in 360N, if
you take it. Suppose on the average, instructions take 1.2 cycles to
FETCH, 1 cycle to decode, 1 cycle to figure out the addresses of the operands,
1.8 cycle to get the operands, 2 cycles to execute, and 1 cycle to store
the result. How many instructions can a 2.5 GHz computer of this ilk
process in one second.