Computer Architecture
Curriculum
CSE 203 · Computer Architecture & Organization

Computer Architecture Tutorial

A complete CSE 203 path - Computer Architecture and Organization from abstraction and ISA through ALU, single-cycle and pipelined datapaths, hazards, caches, virtual memory, DMA, and multicore coherence.

65 lessonsBeginner → ProCS Foundations
Start from the beginning

Curriculum

Work through each section in order. Every lesson ends with practice and key points so the idea sticks.

Beginner

Course Orientation

2 lessons · ~23 min
  1. 1
    Welcome to Computer Architecture

    Meet CSE 203 - why hardware DNA matters for every software engineer, and how this InTelleX path is organized.

  2. 2
    Course Map, Labs & Tools

    Set up your mental map of CSE 203 activities: Assembly Duel, Bottleneck Audit, Hardware Visualization, and Clock-Cycle Stress Test.

Beginner

Architecture of Abstraction

5 lessons · ~64 min
  1. 3
    Von Neumann vs Harvard Architecture

    Compare the classic stored-program model with Harvard separation of instruction and data memory.

  2. 4
    Levels of Program Abstraction

    Walk the stack from problem statement through HLL, assembly, machine code, microarchitecture, and digital logic.

  3. 5
    The Iron Law of Performance

    Master CPU time = Instruction Count × CPI × Clock Period - and what each term really means.

  4. 6
    CPI, Clock Cycles & Execution Time

    Calculate total cycles, effective CPI for mixed instruction mixes, and wall-clock execution time.

  5. 7
    Project: The Architectural Profiler

    Design a lightweight profiler concept that tracks instruction mixes and graphs CPI for software blocks.

Beginner

Instruction Set Architecture

8 lessons · ~107 min
  1. 8
    What Is an Instruction Set Architecture?

    Define the ISA as the hardware/software interface: operations, registers, memory model, and encodings.

  2. 9
    RISC vs CISC Philosophies

    Contrast Reduced vs Complex Instruction Set designs and why modern machines borrow from both.

  3. 10
    Registers, Operands & Calling Conventions

    Learn register files, operand types, and the RISC-V / MIPS calling convention essentials.

  4. 11
    RISC-V Instruction Formats

    Decode R-Type, I-Type, S-Type (and friends): fields, opcodes, and why formats stay regular.

  5. 12
    Memory Addressing Modes

    Understand base+offset addressing, alignment, and how addressing modes affect hardware complexity.

  6. 13
    Translating C into RISC-V Assembly

    Compile nested loops and conditionals by hand into clean assembly with minimal redundant instructions.

  7. 14
    Lab: The Assembly Duel

    Manually trace register state and memory contents step-by-step - no emulator crutches.

  8. 15
    Project: The Native Translator

    Design a lightweight disassembler that maps binary machine words to human-readable assembly.

Beginner

ALU & Binary Logic

6 lessons · ~84 min
  1. 16
    Fixed-Point & Signed Number Systems

    Represent unsigned and signed integers, two's complement, and overflow conditions.

  2. 17
    Binary Addition, Subtraction & Logic Ops

    Build intuition for full adders, subtract-via-negate, AND/OR/XOR, and shifts as ALU building blocks.

  3. 18
    Carry-Lookahead Adders

    Design faster addition with generate/propagate signals - escape the ripple-carry bottleneck.

  4. 19
    Multipliers & Wallace Trees

    See how array multipliers and Wallace trees compress partial products for high-speed multiply.

  5. 20
    IEEE 754 Floating-Point Arithmetic

    Decode sign, exponent, mantissa; normalize; and handle corner cases that break naive intuition.

  6. 21
    Project: The Custom ALU

    Specify a simulated ALU supporting arithmetic, logic, and shifts with clear control encodings.

Beginner

Single-Cycle Datapath

4 lessons · ~56 min
  1. 22
    Datapath Elements

    Identify PC, instruction memory, register file, ALU, data memory, and the muxes that steer them.

  2. 23
    The Instruction Execution Cycle

    Trace Fetch → Decode → Execute → Memory → Writeback for ALU, load, store, and branch instructions.

  3. 24
    Control Units: Hardwired vs Microprogrammed

    Compare hardwired combinational control with microprogrammed control stores and when each shines.

  4. 25
    Project: The Blueprint Simulator

    Model a single-cycle datapath that routes data correctly from opcode-driven control signals.

Intermediate

Pipeline Paradigm

5 lessons · ~68 min
  1. 26
    Why Pipelining? Instruction-Level Parallelism

    See how overlapping instruction stages multiplies throughput without magically shortening individual instruction latency.

  2. 27
    The Classic 5-Stage Pipeline

    Map IF, ID, EX, MEM, WB onto hardware resources and pipeline registers between stages.

  3. 28
    Pipeline Performance & Throughput

    Compute pipelined speedup, pipeline CPI with stalls, and the cost of unbalanced stages.

  4. 29
    Lab: The Pipeline Factory

    Manually plot multi-cycle execution charts and calculate speedup versus non-pipelined execution.

  5. 30
    Project: The Stage Monitor

    Specify a visualization that shows instructions propagating through a 5-stage pipeline in real time.

Intermediate

Mid-Term Checkpoint

3 lessons · ~41 min
  1. 31
    Mid-Term Review: Digital Logic & ALU

    Consolidate adders, number systems, FP basics, and ALU control before the mid-term checkpoint.

  2. 32
    Mid-Term Review: ISA & Assembly

    Rehearse formats, addressing, and hand translation under timed conditions.

  3. 33
    Mid-Term Review: Datapath & Control

    Trace control signals and mux settings for core instructions on a single-cycle blueprint.

Intermediate

Pipeline Hazards

8 lessons · ~107 min
  1. 34
    Structural Hazards

    Recognize resource conflicts when two stages need the same hardware in one cycle.

  2. 35
    Data Hazards: RAW, WAR, WAW

    Classify read-after-write, write-after-read, and write-after-write dependencies in pipelines.

  3. 36
    Control Hazards

    See why branches disrupt the pipeline and how delay slots or prediction respond.

  4. 37
    Forwarding & Bypassing

    Wire EX/MEM and MEM/WB results back to ALU inputs to slash many RAW stalls.

  5. 38
    Pipeline Stalls & Bubbles

    Insert NOPs / freeze pipeline registers safely when forwarding is not enough.

  6. 39
    Branch Prediction Basics

    Compare predict-not-taken, static predictors, and 1-bit/2-bit dynamic predictors.

  7. 40
    Lab: The Bottleneck Audit

    Analyze assembly for stalls and reschedule instructions to improve throughput.

  8. 41
    Project: The Hazard Detector

    Design a module that scans assembly, flags dependencies, and proposes forwarding paths.

Intermediate

Memory Hierarchy

7 lessons · ~96 min
  1. 42
    Principle of Locality

    Explain temporal and spatial locality - the reason caches and hierarchies work.

  2. 43
    Direct-Mapped Caches

    Map addresses to a single set: tag, index, offset - and compute hits/misses.

  3. 44
    Set-Associative & Fully Associative Caches

    Compare associativity levels, replacement policies, and the hit-rate vs hardware cost trade-off.

  4. 45
    Write-Through vs Write-Back

    Choose write policies and write-allocate vs no-write-allocate strategies with clear trade-offs.

  5. 46
    AMAT & Miss Rate Analysis

    Compute Average Memory Access Time from hit time, miss rate, and miss penalty - including multilevel caches.

  6. 47
    Lab: Hit or Miss

    Walk address streams through a small cache, counting hits/misses and tracking line updates.

  7. 48
    Project: The Cache Configurator

    Build an algorithmic cache simulator to sweep line size and associativity against AMAT.

Advanced

Virtual Memory & I/O

6 lessons · ~81 min
  1. 49
    Virtual Memory & Page Tables

    Separate virtual from physical addresses and walk the role of page tables in translation.

  2. 50
    TLBs & Fast Address Translation

    Use Translation Lookaside Buffers to avoid walking page tables on every access.

  3. 51
    Memory-Mapped I/O

    Control devices by reading/writing reserved addresses - unify CPU access paths.

  4. 52
    Interrupts vs Polling

    Compare busy-wait device service with interrupt-driven I/O and when each is appropriate.

  5. 53
    Direct Memory Access (DMA)

    Let devices transfer bulk data to memory without per-word CPU babysitting.

  6. 54
    Project: DMA Controller Simulator

    Build an automated transfer module that models DMA setup, bus grant, and completion interrupt.

Advanced

Multicore & Parallelism

5 lessons · ~70 min
  1. 55
    Amdahl's Law

    Quantify the speedup ceiling when only part of a workload can be parallelized.

  2. 56
    Flynn's Taxonomy

    Classify SISD, SIMD, MISD, and MIMD - and map them to CPUs, GPUs, and clusters.

  3. 57
    SIMD, MIMD & Multicore Processors

    Differentiate data-level parallelism from thread-level parallelism in practical terms.

  4. 58
    Cache Coherence: MSI & MESI

    Track shared line states across cores so every reader sees a consistent memory story.

  5. 59
    Project: The Coherence Arbiter

    Simulate a multi-core environment tracking shared line state changes across processing cores.

Advanced

Capstone & Exam Prep

6 lessons · ~88 min
  1. 60
    Hardware-Software Co-Design

    Think jointly about ISA, compiler scheduling, and microarchitecture when chasing performance per watt.

  2. 61
    Time-Space-Power Trade-offs

    Practice SIU engineering discipline: every design choice balances latency, area, and energy.

  3. 62
    Grand Challenges in Multicore Scaling

    Tackle memory bus contention, synchronization overhead, and diminishing returns at scale.

  4. 63
    Final Review: Assembly & Datapath

    Comprehensive drill on ISA encodings, hand translation, and single-cycle control before the final.

  5. 64
    Final Review: Pipelines, Hazards & Caches

    Drill hazard charts, forwarding, AMAT, and associativity questions for the comprehensive final.

  6. 65
    Capstone: Architecture Synthesis

    Integrate ISA, datapath, pipeline, cache, and I/O into one coherent system narrative and portfolio packet.