The final exam will be held on Tuesday, Mar. 18 from 4:10 - 7:00 pm
in our regular classroom.
The final examination will cover the course lectures, homework problems,
assigned material
from the course textbook, and material from the laboratory projects.
Note: we have not covered Chapter 4 material.
The final exam is closed book but you may bring one 8 1/2 x 11 sheet of paper
(both sides) with notes in your own handwriting.
No printed material or copied material may
be used except handouts or figures from our textbook.
Calculators may not be used.
In addition, you may be provided the following figures from the textbook as
appropriate:
Figures B.5.10, B.5.12, B.9.3, 5.12, 5.13, 5.24, 5.28, 5.30, 5.39,
7.9, 7.17, 7.21 and the
official MIPS instruction sheet
Important Notes
To do well on the examination, you should be able to:
Why do computers use binary numbers?General Design
Why do we humans use hexadecimal numbers?
What is two's complement? (note: it's a noun, not a verb)
Why do ALUs use two's complement? Explain.
What are some alternatives to two's complement? Explain.
What operations can the MIPS ALU perform? (e.g. A+B, A-B, ...)
Why does the alu perform subtraction?
How does the alu perform subtraction?
What does it mean to say: n-bit machine? What parts of the CPU determine n?
What does it mean to say: n-bit program?
How is the address space of a computer defined? How could it be changed?
What determines the maximum address of a computer?
What determines the maximum memory size of a computer?
Why are CPUs designed in layers (e.g. hardware, microcode, machine code, C++)
Why don't we build CPUs that interpret C++?
What is the purpose of microcode? machine code? assembly language?
Why are some CPUs microprogrammable? Why not all CPUs?
Why are computers constructed with memory hierarchies?
Why are emulators used in a computer system? Why are emulators usually faster than the native CPU?
Why are simulators used to interpret instruction set architectures?
Why are are simulators always slower than the native CPU?
What are the major differences between a RISC and CISC machine?
What are the advantages of a RISC machine?
What are the advantages of a CISC machine?
What are the characteristics of a RISC machine?
What are the characteristics of a CISC machine?
Address Space
What determines the address space of a program?Microprogramming
What parts of the CPU determine its address space? (Think carefully!)
Why do computer designers build CPUs with an address space smaller than physical memory? (e.g. SUN SPARC)
Why do computer designers build CPUs with an address space larger than physical memory? (e.g. MIPS)
Suppose you were asked to determine the address space of a computer; how would you proceed?
Why are CPUs microprogrammed? microprogrammable? hard-wired?Caches
What are the motivations for using caches?
Explain the rationale for each type of cache (direct mapped, set associative, fully associative)
What's the purpose of a translation lookaside buffer?
Under what circumstances should a cache use write-through? write-back?
Explain locality, both temporal and spatial. Use/discuss actual code examples
Virtual Memory
Explain how virtual memory is used to help solve each of the following architecture problems.
In addition to the MMU, what features must be provided by the CPU to implement virtual memory?
- Multiple programs executing in the same CPU
- Accessing memory addresses larger than 2 largest address
- Executing a program with only part of it in memory
- Executing a program larger than memory
- Program sharing
- Protection