CS-2710 Weekly Outcomes for Exam Review

Final Exam:

  1. Bring your MIPS instruction reference.
  2. You will need a calculator.
  3. You may bring and use a sheet of notes, which you must sign and hand in.
  4. Write down formulas you will likely be required to use (in ppt lecture slides).
  5. Multiple choice on general knowledge of material/reading covered to-date.
  6. Work problems on:
            instruction format,
            binary/decimal/hex conversion (incl signed/unsigned),
            floating-point representation,
            cache contents,
            computer performance (incl Amdahl's Law, Ohms Law, CPU Power Law, CPI, geometric/arithmetic mean, timing, benchmarking, pipelining (incl stalls), caching, disk I/O timing/performance)
  7. MIPS assembly language programming (gen'l instructions, incl branching, looping, procedures, stack, math (integer and floating-point) )
     
bulletWeek 1
  1. List the 5 classical components (Input, Output, Control, Datapath, Memory) of a computer and show their relationships graphically.
  2. Define instruction set architecture.
  3. Define throughput and response time.
  4. Define the relationship between CPU execution time, CPU clock cycles, and Clock rate.
  5. Given the average CPI for instruction classes, determine which implementation will execute faster.
  6. Given an instruction profile, calculate the average CPI for the program.
  7. Explain the relationship between current, voltage, and resistance (Ohms Law).
  8. Calculate the power dissipated in a resistor based on voltage and current.
  9. Explain the relationship between clock rate and dissipated power.
  10. Calculate the power consumed by a CPU based on voltage, capacitive load, and clock frequency.
bulletWeek 2
  1. Explain SPEC benchmarks (interpret graphs).
  2. Given Amdahl's Law, compute the overall performance improvement possible when a given feature is improved.
  3. Define MIPS.
  4. Apply geometric vs. arithmetic mean to determine performance metrics.
  5. Normalize performance metrics.
bulletWeek 3
  1. Explain the difference between Harvard and von Neumann computer architectures.
  2. Define instruction set.
  3. Define the concept of registers.
  4. Compute signal propagation metrics.
  5. Using MIPS instructions, initialize a register to a fixed value.
  6. Using MIPS instructions, demonstrate how to perform basic mathematical operations.
  7. Explain register vs. immediate instructions.
  8. Explain and analyze how instructions are represented in memory.
  9. Explain the memory structure on MIPS.
  10. Define LSB and MSB.
  11. Explain how signed and unsigned integers are represented in memory.
  12. Compute two's complement representations of integer values.
  13. Convert between binary, decimal, and hexadecimal representations of integer values.
bulletWeek 4
  1. Write simple programs using MIPS instructions for
    bulletbranching
    bulletlooping
    bulletcomparison
    bulletbit manipulation
    bulletmemory read and write (load and store)
    bulletinteger math operations
  2. Given a simple Java code fragment, write the equivalent MIPS assembler instructions.
bulletWeek 5/6
  1. Define procedure.
  2. Explain the MIPS calling convention for procedures (incl register save/restore)
  3. Explain the relationship between caller and callee.
  4. Explain the purpose of the stack when invoking procedures.
  5. Explain the behavior of MIPS addition/subtraction and differences in behavior between e.g. add, addu
  6. Explain the limits of MIPS multiplication
  7. Explain the differences between mul and mult/multu
  8. Explain the limits of MIPS division
bulletWeek 7
  1. Define "floating-point".
  2. Define the terms "fraction" and "exponent".
  3. Convert a floating-point value from binary (base-2) to decimal (base-10) format.
  4. Convert a floating-point value from decimal to binary format.
  5. Express a floating-point value using normalized scientific notation.
  6. Encode a binary floating-point value in the IEEE Floating Point Standard representation.
  7. Given an IEEE Floating Point Standard representation, state the equivalent decimal or binary value.
  8. Describe/perform the addition or multiplication of normalized binary values.
  9. Understand how to use the MIPS floating-point instructions and interpret the resulting register values.
  10. Define datapath and explain the various elements of the MIPS datapath.
  11. Compare and contrast combinational vs. state elements of a datapath.
  12. Explain the purpose of the Program Counter and the PC register.
  13. Define "branch target address".
  14. Define "edge-triggered clocking".
  15. Define "pipelining".
  16. Compute the speedup achieved by pipelining a given sequence of operations.
  17. Explain how pipelining improves processor performance.
  18. Define "structural hazard", "data hazard", and "control hazard".
  19. Explain a "stall" and its causes.
  20. Explain the concept of forwarding/bypassing.
bulletWeek 8
  1. Define "branch prediction".
  2. Explain dynamic branch prediction, and the distinction between 1-bit and 2-bit prediction.
  3. Explain static branch prediction.
  4. Explain delayed branching.
  5. Explain how a compiler can improve "control hazard" stalls associated with branch delays.
  6. Define "temporal locality" and "spatial locality"
  7. Define "caching" and explain its purpose.
  8. Define "hit rate" and "miss rate"
  9. Explain how a direct-mapped cache determines the location of a memory element within the cache.
bulletWeek 9/10
  1. Given a memory address and cache size information, perform the calculations to convert an address to a cache index and tag.
  2. Explain the relationship between miss rate and block size in a cache.
  3. Compare and contrast write through and write back caching schemes.
  4. Perform cache related calculations to analyze the impact of having a cache on a computer system.
  5. Define "set associative cache" and "fully associative cache".
  6. Compare and contrast the performance of set associative caches, direct mapped caches, and fully associative caches.
  7. Explain the concept of the LRU replacement scheme.
  8. Explain the three C model for cache.