CSE243 Final exam review questions

Spring 2002

The questions on the final exam will resemble some or all of these. The actual questions you see on the exam will be more specific (some of these are incomplete, and unanswerable), but they may also be slightly different than these. Don't be concerned with memorizing anything: I will give you all the tables or diagrams you need to answer the questions, but you must be able to understand the tables and diagrams and interpret them appropriately.

You will not be able to use any external resources during the exam, which includes but is not limited to books, notes, PDAs, pagers, cell phones, scraps of paper, calculators, roommates, and parents.

  1. (general) Given a block schematic diagram of a CPU, label the indicated parts and briefly discuss the function of each.
  2. (general) Understand the philosophy behind the logical structure of a CPU. E.g.: Why are there a certain number of registers? Why do they have a certain number of bits? Why are there registers at all? What is the von Neumann bottleneck?
  3. (4) Understand the difference between a synchronous bus and an asynchronous bus.
  4. (4) Understand the difference between polling- and interrupt-driven I/O.
  5. (4) Know what a context switch is and what happens during one.
  6. (5) Understand the difference between ROM, PROM, EPROM, EEPROM, and RAM (but you will not need to know the IGCMOSFET-EEPROM).
  7. (5) Understand how a memory address is split into fields which are used by cache memories.
  8. (5) Understand what a replacement algorithm is used for, what the best one is, and if it can actually be implemented.
  9. (5) Understand the benefits of virtual memory, but also know what (qualitatively) the overheads are of using it.
  10. (8) Understand what the four primary instruction stages are as discussed on page 456.
  11. (8) Understand the diagrams on page 457 (pipeline stages).
  12. (8) Understand the difference between executing one or more instructions on a non-pipelined processor compared to executing those instructions on a pipelined processor.
  13. (8) Be able to list and discuss the 3 different types of pipeline hazards mentioned during lecture.
  14. (8) Understand how pipelining and branching affect each other.
  15. (8) Be able to describe what a superscalar processor is.
  16. (11) Understand how a stack processor differs from a conventional CPU.
  17. (VM) Describe a few reasons why a VM is useful.
  18. (VM) Why doesn't the JVM have registers?