Computer Architecture Study Guide
Introduction
This folder contains materials for systematically learning Computer Architecture. You'll understand how computers work, from data representation to CPU architecture, memory systems, and parallel processing.
Target Audience: Developers with basic programming knowledge, those learning CS fundamentals
Learning Roadmap
[Basics] [Intermediate] [Advanced]
│ │ │
▼ ▼ ▼
Computer Overview ───▶ Instruction Set ────▶ Pipelining
│ │ │
▼ ▼ ▼
Data Representation ─▶ Control Unit ───────▶ Cache Memory
│ │ │
▼ ▼ ▼
Logic Gates ─────────▶ CPU Architecture ───▶ Virtual Memory
│ │
▼ ▼
Sequential Logic ───────────────────────────▶ Parallel/Multicore
Prerequisites
- Programming basics (variables, control flow, functions)
- Basic mathematics (binary numbers, logical operations)
- At least one language: C or Python
File List
Basic Concepts (01-05)
| File |
Difficulty |
Key Topics |
| 01_Computer_System_Overview.md |
⭐ |
Computer history, Von Neumann architecture, hardware components |
| 02_Data_Representation_Basics.md |
⭐ |
Binary, octal, hexadecimal, base conversion |
| 03_Integer_Float_Representation.md |
⭐⭐ |
Two's complement, IEEE 754 floating-point |
| 04_Logic_Gates.md |
⭐ |
AND, OR, NOT, Boolean algebra |
| 05_Combinational_Logic.md |
⭐⭐ |
Adders, multiplexers, decoders |
CPU Architecture (06-10)
Memory Systems (14-16)
I/O and Parallel Processing (17-18)
Recommended Study Order
Phase 1: Basic Concepts (1 week)
01_Computer_System_Overview → 02_Data_Representation_Basics → 03_Integer_Float_Representation
Phase 2: Digital Logic (1 week)
04_Logic_Gates → 05_Combinational_Logic → 06_Sequential_Logic
Phase 3: CPU Architecture (2 weeks)
07_CPU_Architecture_Basics → 08_Control_Unit → 09_Instruction_Set_Architecture → 10_Assembly_Language_Basics
11_Pipelining → 12_Branch_Prediction → 13_Superscalar_Out_of_Order
Phase 5: Memory Systems (1-2 weeks)
14_Memory_Hierarchy → 15_Cache_Memory → 16_Virtual_Memory
Phase 6: I/O and Parallel Processing (1 week)
17_IO_Systems → 18_Parallel_Processing_Multicore
Practice Environment
Simulators
# MARS (MIPS Simulator)
# https://courses.missouristate.edu/kenvollmar/mars/
# Logisim (Digital Circuit Simulator)
# https://www.cburch.com/logisim/
# CPU Simulator
# https://cpuvisualsimulator.github.io/
Assembly Practice
# x86 (Linux)
nasm -f elf64 hello.asm -o hello.o
ld hello.o -o hello
# GCC Assembly Output
gcc -S -O0 program.c -o program.s
| Component |
Typical Latency |
| Register access |
~1 cycle |
| L1 cache |
~4 cycles |
| L2 cache |
~10 cycles |
| L3 cache |
~40 cycles |
| Main memory |
~100+ cycles |
| SSD |
~10,000+ cycles |
| HDD |
~10,000,000+ cycles |
Links to Other Folders
| Folder |
Related Content |
| C_Programming/ |
Pointers, memory management |
| Algorithm/ |
Complexity analysis, cache optimization |
| Linux/ |
Processes, memory management |
External Resources
Study Tips
- Use Simulators: Implement digital circuits directly in Logisim
- Assembly Practice: Write simple programs in assembly language
- Cache Analysis: Analyze cache misses using perf or cachegrind
- Step-by-Step Understanding: Always solve practice problems in each lesson
- Visualization: Understand pipelines, cache operations through diagrams