Computer Architecture
"Architecture is the soul of the machine. We're not just learning parts; we're learning how to build a brain. From Von Neumann to multicore processors, let's engineer the future."
1. The Von Neumann Legacy 🏛️
Virtually every computer today is built on the Von Neumann Architecture (1945). Its defining characteristic? The Stored-Program Concept. Both instructions (code) and data reside in the SAME memory space, addressable by location.
The Bottleneck
Because code and data share a bus, the CPU is much faster than the memory. The CPU spends a lot of time waiting for data. This is the Von Neumann Bottleneck.
2. Instruction Set Architecture (ISA) 📜
The interface between hardware and software. The "vocabulary" of the processor.
RISC (Reduced Instruction Set Computer)
- Philosophy: Keep hardware simple, let software (compiler) do the work.
- Instructions: Simple, fixed length, 1 cycle execution.
- Registers: Heavy use of registers (Load/Store architecture).
- Examples: ARM (your phone), MIPS, RISC-V.
CISC (Complex Instruction Set Computer)
- Philosophy: Hardware should support complex operations to reduce code size.
- Instructions: Complex, variable length, multi-cycle.
- Memory: Instructions can operate directly on memory.
- Examples: x86 (Intel/AMD desktops).
3. Pipelining: The Assembly Line 🚀
Why execute one instruction at a time when you can overlap them? Pipelining divides execution into stages (Fetch, Decode, Execute, Memory, Writeback).
Speedup = (Time without pipeline) / (Time with pipeline)
Ideal CPI (Cycles Per Instruction) = 1. But Hazards ruin the party:
- Structural: Hardware resource conflict.
- Data: Instruction depends on result of previous one (RAW).
- Control: Branching makes us fetch wrong instructions.
4. Memory Hierarchy: Need for Speed 🏎️
We want memory to be fast, large, and cheap. We can't have all three. So we build a hierarchy.
- Registers: Top speed, tiny capacity. Inside CPU.
- L1 Cache: SRAM. Integrated. Split (Instruction/Data).
- L2/L3: SRAM. Shared. Bridges CPU and RAM.
- Main RAM: DRAM. Large capacity. Volatile.
- Disk/SSD: Storage. Massive. Non-volatile. Slow.
Test Your Knowledge! 🧠
Ready ka na ba? Take the practice quiz for Computer Architecture to reinforce what you just learned.
Start Practice Quiz 📝