CS 207
Final Exam
Ondich
Due 5:00 PM Monday, June 5, 2000
For this exam, you may not consult with people other than
Jeff Ondich. Otherwise, you may use any sources of
information, including books and the Internet.
Most of the questions on this exam can be answered correctly
in very few sentences. Brevity and clarity are desirable, so
feel free pursue them both.
Have fun.
I: Stalling
(15 points) Now that you're familiar with the detailed operation of the pipelined datapath
of figure 6.30 on page 470 of Patterson and Hennessy, it's time to make
some changes to it.
Consider the beq instruction. By the time the datapath determines whether
to branch or just move on, several of the instructions immediately following
the beq instruction have been fetched. If the branch is taken, then
those instructions need to be ignored, and fetching needs to take place
starting at the branch destination.
Modify the datapath of figure 6.30 so that whenever a beq instruction
actually branches, the incorrectly fetched instructions don't do any damage
as they pass through the pipeline. Please draw your additions on a copy
of figure 6.30, and give me a few sentences explaining what you've done and why.
II: Carry Look-Ahead Adders
(12 points)
- Suppose you have a 32-bit ripple-carry adder, and that each gate in
the adder (AND, OR, XOR, NOT, etc.) has a propagation delay of 5 ns. What
is the propagation delay of the whole adder? Explain your answer clearly.
- Read about carry look-ahead addition in
Chapter 4 of Patterson and Hennessy.
- What is the propagation delay of an 8-bit carry look-ahead adder?
(You may assume "infinite hardware" as on page 242, and also that
a many-input AND gate has the same propagation delay (5ns) as a 2-input
AND gate.)
- If you build a 32-bit adder by stringing four 8-bit carry look-ahead adders
together (wiring the carry-out bit of one 8-bit module to the carry-in bit of
the next), what is the propagation delay of the adder as a whole?
- How many gates are in your 32-bit ripple-carry adder?
- How many gates are in your 32-bit adder built out of four 8-bit carry
look-ahead adder?
III: The Obligatory Foolish Question
(3 points) Please tell me a joke.
IV: Overclocking
(12 points) There's an interesting Web site called Tom's Hardware Guide,
where Tom provides spectacularly detailed information about computer
hardware. One of Tom's favorite topics is "overclocking," which
you can learn about at
http://www.tomshardware.com/overclock.html and
http://www.tomshardware.com/overclocknews.html.
- In terms of performance as measured in Patterson and Hennessy,
pages 62-63, how does overclocking improve performance? If viewed
through the lens of Amdahl's law, is overclocking a productive
way to improve performance, or not?
- According to Tom, there's one big danger in overclocking your
computer. What is it? How does he recommend you deal with that danger?
- Evidently, many people believe overclocking to be unethical.
Based on Tom's rebuttal, briefly reconstruct their arguments.
Do you agree with Tom, his critics, or neither?
- What has Intel done to prevent overclocking? Under what conditions
does Tom say that Intel has chosen not to prevent overclocking, and why?
- In Tom's review of some Intel Celeron chips
(
http://www6.tomshardware.com/cpu/99q1/990114/),
he describes steps Intel has taken to
prevent the Celeron from running too fast. What are those steps, and why
did Intel take them?
V. That's all, folks
Thanks for a great term. Have a pleasant summer.