Due by 5 PM, Monday Dec. 14, 1998
1. Using the information in the handout, draw a picture of the MIPS R10000 TLB and Primary Data Cache at about the level of detail of Figure 7.25 from the textbook. Be sure to label and specify the widths of all fields. If there's something you can't figure out from the documents, make (and write down) some reasonable assumption.
2. (Chapter 9 reading required.) Parallel systems usually show performance increases as you increase the number of processors, with the ideal being n times speedup for n processors. Please invent a small ``benchmark'' that runs slower if you add more processors. Assume the system is a single-bus, shared-memory MIMD computer, with up to 16 processors. The exection time on 1 processor should be less than the time on 2, which should be less, . . . , which should be less than on all 16.
No cheap tricks allowed, like inserting artificial delays that depend on n, or passing the entire computation from one processor to the next so that only one processor is active at a time. Your benchmark should actually compute something meaningful. Make whatever reasonable assumptions you need about the system. You can write a little C program or write MIPS code, whatever you like. Explain the reason(s) for the slowdown. Hint: one way to do this is to require ``false sharing''.