Computer Science Comprehensive Exam

Architecture

May 19, 1997

This is a closed-book exam. Answer all of the questions. Be concise in your answers, You will receive partial credit for partially correct answers, but extraneous remarks may count against you.

1. Caches

(a) Explain what it means for a cache to be virtually or physically tagged, and to be virtually or physically indexed. Do all four combinations make sense?

(b) Show with an example cache lookup the difference between the various combinations that make sense.

(c) What are the advantages and disadvantages of the various combinations?

(d) What combinations occur in current processors? Can you give a couple of examples?

2. I/O Systems

(a) Define the terms seek time, rotational latency, and transfer time of a disk, and give typical values for current devices.

(b) Give and explain three software techniques that file system software typically uses to get around the slow speed and idiosyncratic access times of disks.

(c) Many file servers use a small amount (a few tens of kilobytes) of nonvolatile memory to speed up their operation. How does that work?

3. Superscalar processors

(a) What is a superscalar processor?

(b) What memory system support is desirable for a superscalar processor and why? (Limit to one page at the most.)

(c) Give an order-of-magnitude value for the execution time improvement of unmodified code running on a superscalar processor compared to a scalar one with the same clock speed. Pick a value from the following set: 2, 4, 8, 16, 32, 64. What is the limiting factor in practice?