CS61C, Spring 2006: Important Topics for Midterm 3

Topics from Final 1/3 of Semester (~25 points)

Processor Pipelining

  • Concept and pros/cons of pipelining
  • Application to single-cycle MIPS CPU
  • Types of hazards
  • Techniques for coping with hazards
    • Branch delay slots, forwarding, load delay / interlocking
  • Running programs on a pipelined processor

Caches

  • Concept and principles of memory hierarchy
  • Purpose of caches
  • Cache organizations
    • Direct Map, Set-Associative, and Fully Associative
  • Pros/cons of each cache organization
  • Relationship between memory address fields and cache organization
  • Cache replacement- & write-back-policies
  • Average memory-access-time calculation

Virtual Memory (VM)

  • Concept of VM as part of memory hierarchy
  • Purposes of VM
  • Implementation and operation of VM (page tables, TLBs)
  • Page fault

Basic Input/Output

  • Principle of memory/mapped I/O and Polling
  • Need for and operation of I/O interrupts

Networks

  • Basics of LANs
    • packetization, headers
    • host computer connection to LAN
  • Basic operation of switches and routers
  • Principle of protocol stacks
  • Objectives and high-level operation of TCP/IP
  • Computer worms - how they spread and infect machines

Disks

  • Mechanical structure and organization
  • Data access latency calculations
  • Trends in disk drives
  • State-of-the-art disk specifications

CPU Performance

  • Definitions of performance
  • Use of benchmarks
  • Application and interpretation of CPU performance formula
  • RISC versus CISC, pros and cons and each

x86 Instruction Set

  • Design decisions
  • Features versus MIPS ISA

Reconfigurable Computing

  • Basic concept of temporal vs spatial computing
    • Speed vs Flexibility
  • Basic operation of a FPGA
    • LUT, FF, Logic Block

"Greatest Hits" topics (~20 points)

C-Programming

  • Basic language syntax and program constructs
  • Programming with pointers, arrays, strings, and structs

MIPS assembly language programming

  • MIPS instruction set architecture
  • Branching and looping
  • Procedure call/return
  • Branch delay slots
  • Relationship between MIPS assembly language and MIPS machine language instruction formats

Introduction to Synchronous Digital Systems (SDS)

  • Representation of digital signals as waveforms
  • Concept of propagation delay through circuit elements
  • Operation of flip-flops/registers
    • basics of edge-triggering, setup time, clock-to-q delay
  • Combining registers with CL and register transfer operations
  • Pipelining of CL
  • FSMs as SDSs

Single-cycle CPU Design

  • Step by step design procedure
  • Structure of datapath and relationship to instruction execution
  • Concept and analysis of critical path
  • Controller design
    • Determination of controller table of operations, equations and circuits.