Advanced Computer Architecture

(3-0-0-3)

CMPE Degree: This course is Selected Elective for the CMPE degree.

EE Degree: This course is Selected Elective for the EE degree.

Lab Hours: 0 supervised lab hours and 0 unsupervised lab hours.

Technical Interest Groups / Course Categories: Threads / ECE Electives

Course Coordinator:

Prerequisites: ECE 3056 [min D] or ECE 3057 [min D] or ECE 3058 [min D]

Catalog Description

Comprehensive coverage of the architecture and system issues that confront the design of high-performance workstation/PC computer architectures with emphasis on quantitative evaluation. Credit is not allowed for both ECE 4100 and any of the following courses: ECE 6100, CS 4290, CS 6290.

Course Outcomes

Perform quantiative evalution of in-order and out-of-order processors. 

Analyze modern memory systems.

Perform power and energy trade-offs in modern computer systems.

Strategic Performance Indicators (SPIs)

N/A

Topic List

  1. Performance Evaluation
    1. Metrics for performance (MIPS, IPC, Execution time)
    2. Different means and when it is right to use them
    3. Benchmarks
    4. Amdahl's law
  2. Pipelines
    1. Review basic principles, hazards, dependencies
    2. Data hazards, scoreboards, Tomasulo algorithm
    3. Control hazards, advanced branch prediction techniques
  3. Multiple instruction issue
    1. Precise exception and in-order-retirement
    2. Reorder buffer
  4. Memory systems
    1. Review of caches principles
    2. Techniques to reduce miss rate, hit time, miss time (multi-level caches)
    3. DRAM memory: basic organization and operation (row hit/miss)
    4. Prefetching and simple prefetch algorithms (stream/stride)
    5. Virtual memory
  5. Parallel Computers
    1. Taxonomy of parallel architectures, parallel applications
    2. Shared memory and message passing computers
    3. Multi-core processors: shared cache and private cache
    4. Multi-threading: Coarse-grained, fine-grained, and SMT
    5. Vectors and SIMD
    6. GPU basic organization and operation
    7. Coherence protocols: bus based and directory based
    8. Memory consistency models, relaxed consistency models
    9. Synchronization, locks and barriers
    10. Interconnection networks, bi-section bandwidth, topologies
  6. Power and Energy Issues
    1. Basics of energy dissipation: dynamic and static
    2. Clock gating and power gating
    3. Dynamic voltage and frequency scaling
    4. Turbo-boost
    5. Microarchitecture power models
  7. Storage Systems
    1. Reliability: RAID, RAID-1 to RAID-5
    2. Parity and error-correction code