CompOrg Fall 2002 Final Exam Information


The final exam will be given on Thursday, December 12th from 6:30PM to 9:30 PM in Sage 3303. The final will be closed book, no notes or computers are allowed.

An IA32 Instruction reference will be distributed with the test, as will a description of the Y86 instruction set.

Roughly 25% of the test will be on material covered in class since test #2 (Virtual memory and program timing). Below are a list of topics from these last 2 sections.

The comprehensive part of the test will include material described here and from test#1 and test#2. You should expect lots of short questions for this part of the test.


Topics covered since Test #2

Topic What to know What to expect on the test

Virtual Memory
  • Physical vs. Virtual Addresses
  • Motivation:
    • Caching of pages
    • Memory Management (linking,loading,sharing)
    • Protection
  • Address Translation (Page Tables)
  • Translation Lookaside Buffer
  • Multi-level Page Tables
  • Be able to determine page table sizes, address sizes, etc. Look at practice problems 10.1 and 10.2

  • Understand what a page fault is, and how it is resolved.

  • Be able to discuss how temporal and spatial locality are exploted by Virtual Memory

  • Be able to discuss why linking and loading of programs is simplified by Virtual Memory

  • Understand how and why Virtual Memory provides memory protection (so one process can't read the memory used by another).

  • Be able to describe a page table, including where it is physically located, what the indicies are and what is held in the page table.

  • Be able to describe the need for TLB, and talk about the perfomance implications of having a TLB or not.

  • Be able to discuss the general idea of multi-level page tables, and why they are used in some systems.

  • Be able to describe the entire process of accessing a memory location when virtual memory and a cache are involved.

  • Be able to discuss the advantages/disadvantages of caching virtual addresses vs. caching physical addresses.


  • Measuring Execution Time
  • user, system and elapsed time.
  • Timer Interrupts
  • Interval Counting
  • Cycle Counting
  • Caching, system load and measuring time
  • K-best measurement scheme
  • Be able to define user, system and elapsed time.

  • Be able to compare using interval counting vs. cycle counting to measure execution time.

  • Understand how the system load and/or caching can effect execution time measurements. Be able to discuss how to predict execution time even in environments where cache and load effects are not under your control.

  • Be able to describe/simulate the k-best measurement scheme for making execution time measurements

  • Practice Problems


  • 10.1, 10.2, 10.4
  • 9.3, 9.4