CSCI 232 Exam 2
Spring 2003
Instructions: The usual…this is a closed book, closed
notes, closed neighbor, open mind exam.
If necessary you may use your calculator, although you shouldn’t need
to. Not counting the bonus, there are
100 points on this test. Read through
the entire test before beginning work on any problem in order to best plan how
to use your time to maximize your score.
Each problem is worth 10 points, but some are very easy and require
short answers, and some are harder or require more writing. Do the
easy ones first!! You have 50
minutes to complete this test.
1.
(10
points) Name the three types of shift operations and describe the operation of
each.
2.
(10
points) What are the reasons for having hardware support for a stack in our
processor?
3.
(10
points) Give examples of zero, one, two, and three address instructions to add
two numbers stored in variables A and B and store the result
in the variable C.
4.
(10
points) Give three examples of status registers, and describe what they
indicate and how they are computed.
5.
(10
points) Show how RISC processors can effectively do one instruction per clock
cycle when it takes a cycle to fetch the instruction, a cycle to decode it, and
a cycle to execute it.
6.
(10
points) Describe the way a RISC processor uses registers and execution
reordering to speed up the execution of jumps and subroutine calls.
7.
(10
points) Why would a computer designer use RAM for storing microcode for a
processor?
8. (10 points) Describe
a way of implementing subroutine calls if your processor does not have a
hardware stack.
9.
(10
points) Give the RTL for our simple processor that we talked about in class to
do an instruction fetch.
10.
(10
points) Sketch a method of generating the timing signals in the control unit
for each state in the instruction fetch/execute process.
Bonus: (10 points…do this one ONLY after you have
finished the other problems on the test)
If a hen and a half can lay an egg and a half in a day and a half, how
many eggs can three hens lay in six days?