CS 110 Homework Assignment 3
Due: Friday, April 12, 2002, at 9 PM
Turn in your assignments in the bin outside Geoff's office.
Late homework will be penalized; see the
late policy for more information.
We also will not accept handwritten material or printouts in which
long lines are wrapped in the middle of a word.
We prefer that you use a text processor. You might try troff
or latex in combination with xfig.
- 3 points:
Suppose you were designing a computer with a very deep
pipeline, such that it took two machine cycles after
fetching a branch instruction before the outcome of the branch
was known. In a SPARC-like model, such a design would require
two branch delay slots rather than one. What implications
would a double delay slot have for programs that make
three-way decisions, such as:
if (x < 0)
...
else if (x == 0)
...
else
...
- 3 points:
The SPARC sliding window design requires that one window
always be marked invalid while a user process is running. Why
is it not wasteful to always have one window
unavailable to the user?
- 3 points:
We have discussed in class how the width of the SPARC Current
Window Pointer limits the architecture to having a maximum of
32 register sets. There is another element of the SPARC
design that limits the processor to having 32 register sets.
What is it?
- 6 points:
Which of the following instructions should be privileged?
- Set value of timer
- Read the clock
- Clear (all of) memory
- Turn off interrupts
- Switch from user to monitor mode
- 3 points:
Some early computers protected the operating system by placing it
in a memory partition that could not be modified by either the
user job or the operating system itself.
Describe two difficulties that you think could arise with
such a scheme.
Last modified April 6, 2002 by geoff@cs.hmc.edu