Computer Architecture 22200/32200 Homework #2
Due April 20
- (32200 only, 20 points) Readings In Computer Architecture
- Compilers and Computer Architecture by W. Wulf
- The Case for the Reduced Instruction Set Computer by D.A. Patterson and D. R. Ditzel
Which design principles espoused by Wulf are consistent
with the RISC design philosophy of Patterson and Ditzel and which are not?
Justify your answer.
- (32200 only, 20 points) Readings In Computer Architecture (32200 only)
- A chacterization of Processor Performance in the VAX-11/780 by J.S. Emer and D.W. Clark
- Instructions sets and beyond: Computers, Complexity, and Controversy by Colwell et al.
Explain how register windows on the SPARC work. How
many registers are available for passing parameters and what evidence
suggests that this is a reasonable design choice? (10 points)
Explain Colwell et al.'s claim that the performance reports
for machines with register windows "shed little light on the
RISC-related performance of the machine." (10 points)
- (22200/32200, 100 points) Questions from H&P book
2.4b,c,d (50 points), 2.5 (50 points)
- (22200/32200, 20 points) Use sim-profile from the
Simplescalar tool set to report the instruction mix for the programs
in our test suite.
- (22200/32200, 30 points) The simplescalar PISA ISA
supports an index addressing mode (register plus register). How many
instructions (both static and dynamic) does the addition of this mode
save for each program in our test suite?
- (22200/32200, 50 points) Question from H&P book
(22200/32200)
Do 2.20 from H&P, but modify sim-profile and use
programs from the test suite to collect the requested data.
- (22200/32200, 60 points) Modify sim-profile to allow
four additional compare and branch instructions (blt, ble, bgt, bge).
Each instruction should take two register operands and a target and
branch to the target if the condition is true. Modify the
programs loopwithoutif, loopwithif, array1, array2,
and search in ts.tar.gz to use the new instructions. For each program, turn
in the modified assembly file and report the number of (dynamic)
instructions saved by this change. (Hint: use the annote scheme
provided by simple scalar to synthesize the new instructions from
BEQ.) See
ss.html
for a stripped-down version of the Simplescalar distribution for
use in this assignment.
amr@cs.unchicago.edu April 2004