Problem Set Number 4
Computer Science 471

Due by 5 PM, Monday Oct. 16, 2000

1. Exercise 5.15 from the text. You can use photocopies of the text figures if the Web download is inconvenient or broken.

2. Exercise 5.17 from the text.

3. Now that you're getting good at this, consider an instruction that is not in the MIPS architecture (but was in EDSAC, you'll recall): add memory to register. Let's call the instruction ``add memory'' with opcode addm and this meaning:

addm $rt,disp($rs) means $rt = $rt + Memory[$rs + disp]

That is, addm has exactly the same format as lw, but it adds the memory location to the register instead of merely loading it. For this problem, answer exercise 5.15 using the addm instruction.

4. Compare the addm instruction to the alternative lw and add in the context of the multi-cycle datapath. Consider performance (number of cycles for each), use of registers, and anything else you think important. Write down a list of things you think are significant in the comparison, and show how the two alternatives differ for each one. Is either choice clearly superior?