Comprehensive curriculum covering digital logic, CPU design, instruction sets, memory hierarchy, pipelining, and SIMD. Learn how modern processors work at the hardware level and write performance-critical code.
Start this track
Implement All Logic Gates Using Only NAND
CPU architecture tutorial hands-on
CPU Architecture turns "the processor" from a black box into a set of mechanisms you can model. Digital logic grounds you in gates, adders, and registers. Instruction set work compares calling conventions and encodings across architectures. Memory hierarchy tasks make cache misses, associativity, and TLB behavior concrete. Pipelining and SIMD show how throughput is won and lost.
This track is aimed at systems engineers who need to reason about performance and correctness at the hardware/software boundary. You will not design a tape-out ready core, but you will implement enough of fetch-decode-execute, caches, predictors, and vector loops to stop guessing when a microbenchmark surprises you.
Pair this with Language Foundations if assembly is new, and with Optimization when you want to apply the same ideas to real C workloads. The payoff is vocabulary that matches how hardware actually works: latency vs throughput, locality, hazards, and why a "simple" loop is not simple on a modern core.
Everything is built from NAND gates — prove it. Master the fundamentals of digital logic design, from basic gates to arithmetic logic units.
Understand what happens inside your processor. Build a complete CPU from simple fetch-decode-execute to advanced pipelining with hazard detection.
Learn x86, ARM, and RISC-V at the spec level. Understand instruction encoding, calling conventions, and architectural trade-offs between CISC and RISC designs.
Understand cache memory, TLB, page tables, and NUMA architectures. Learn how to write cache-friendly code and optimize memory access patterns.
Learn how modern CPUs achieve high performance through pipelining, branch prediction, instruction-level parallelism, and out-of-order execution. Understand the trade-offs and security implications of speculative execution.
Learn SIMD (Single Instruction, Multiple Data) programming with SSE2, AVX2, and auto-vectorization. Understand when to use SIMD for performance gains in image processing, string operations, and mathematical computations.
Difficulty Progression