CS203

Computer Architecture

From logic gates to a working processor: boolean hardware, the datapath, and the instruction set that software targets.

9 modules · 36 lessons · Practice after every lesson

Syllabus

  1. Module 1

    Digital Design Foundations

    • Boolean Functions and Gate-Level Design
    • Combinational Logic Minimization
    • Arithmetic Circuits
    • Sequential Elements and Timing
  2. Module 2

    Finite-State Machines and Datapaths

    • Finite-State Controllers
    • Registers and Register Transfers
    • Multiplexed Datapaths
    • Control Signals and Micro-Operations
  3. Module 3

    Instruction Set Architecture

    • The ISA as a Hardware–Software Contract
    • Instruction Formats and Encoding
    • Addressing Modes
    • Arithmetic, Memory, and Control Instructions
  4. Module 4

    Assembly and Calling Conventions

    • Assembly Programming Model
    • Procedure Calls and Stack Frames
    • Register Conventions
    • Data Layout and Alignment
  5. Module 5

    Single-Cycle and Multi-Cycle Processors

    • Building a Single-Cycle Datapath
    • Control-Unit Design
    • Critical Paths and Clock Period
    • Multi-Cycle Execution and Microcode
  6. Module 6

    Pipelining

    • Pipeline Stages and Throughput
    • Structural and Data Hazards
    • Forwarding and Stalling
    • Control Hazards and Branch Prediction
  7. Module 7

    Memory Hierarchy

    • Locality and Cache Organization
    • Direct-Mapped and Associative Caches
    • Cache Replacement and Write Policies
    • Average Memory Access Time
  8. Module 8

    Virtual Memory and I/O Hardware

    • Address Translation and Page Tables
    • Translation Lookaside Buffers
    • Protection and Memory-Mapped I/O
    • Interrupts, Exceptions, and Devices
  9. Module 9

    Parallel and Modern Architectures

    • Instruction-Level Parallelism
    • Multicore and Shared Memory
    • SIMD and Vector Processing
    • GPUs, Accelerators, and Energy Efficiency

Start Computer Architecture.

No setup, nothing to install. Try the first lessons before you sign up.