Appearance
Web Resources for Processor Architecture and Design
This page keeps source links outside the lessons so the modules remain easy to read.
Use the labels in this order:
- Easy second explanation: learn the idea in another friendly way.
- Official technical reference: verify exact definitions or product behavior.
- Practice resource: watch, run, or solve examples yourself.
Module 1: Introduction to Computing Systems
- Easy second explanation: Neso Lab: Fetch Decode Execute Cycle
- Official technical reference: Vitthal's Notes: Instruction Cycle
- Practice resource: RISC-V Venus simulator — write and run assembly step by step.
Module 2: Digital Electronics
- Easy second explanation: Neso Lab: Combinational vs Sequential Logic
- Official technical reference: MIT 6.004: From Switches to Logic Gates [note: 6.004 reader available via MIT OCW]
- Practice resource: Logisim Evolution — build and simulate sequential circuits.
Module 3: Architecture of a Computer System
- Easy second explanation: Ben Eater: Build a computer (8-bit breadboard CPU)
- Official technical reference: RISC-V Unprivileged ISA spec (PDF)
- Practice resource: nand2tetris: Build a CPU in HDL
Module 4: Memory Systems and Hierarchy
- Easy second explanation: Ben Eater: How RAM works
- Official technical reference: Hennessy & Patterson, Appendix A: Memory
- Practice resource: Cache Simulator (CMU)
Module 5: Performance Optimization Techniques
- Easy second explanation: Neso Lab: Pipeline Hazards
- Official technical reference: Patterson & Hennessy: Computer Organization & Design, Ch. 4
- Practice resource: MIPS Pipeline Simulator (MARS)
Module 6: Instruction Set Architecture
- Easy second explanation: RISC vs CISC — Computerphile
- Official technical reference: RISC-V ISA Manual ; ARM Architecture Reference Manual
- Practice resource: RISC-V Assembly Programmer's Guide
Module 7: Abstractions for Effective System Use
- Easy second explanation: Virtual Machine Basics — VMware
- Official technical reference: ACM Turing Award: Popek & Goldberg, Formal Requirements for Virtualizable Third Generation Architectures
- Practice resource: QEMU documentation
Module 8: Virtual Memory Systems
- Easy second explanation: Virtual Memory — Ben Eater
- Official technical reference: Intel 64 and IA-32 Architectures, Vol. 3A: Paging
- Practice resource: xv6: a simple Unix teaching OS — read its paging implementation.
Module 9: Interrupts and Exception Handling
- Easy second explanation: Neso Lab: Interrupts and Exceptions
- Official technical reference: Linux man page: signal(7)
- Practice resource: OSDev Wiki: Interrupts
Module 10: System Interface and Execution
- Easy second explanation: API vs ABI — Wikipedia
- Official technical reference: Linux system call table (ABI)
- Practice resource: Linux man-pages: syscall(2)
Best way to use these links
- Read the module's simple idea and worked example.
- Try its self-check without looking at the answer.
- Open the easy resource if the idea is still unclear.
- Use the official reference to verify technical details.
- Finish with the practice resource.