Song Cover Image

Emulation vs

+ Show full styles
V6-MINI

Here's the Physical Hardware Simulation, Virtualization & Emulation breakdown I promised. [Section 1: Emulated Physical Hardware] Suppose you have an ARM computer but want to run software written for an old x86 computer. An emulator essentially says: x86 instruction → translate → ARM instruction(s) → execute The underlying processor isn't actually x86. Software creates an environment that behaves sufficiently like x86 hardware. A classic example is emulating an old game console: Original game ↓ expects Nintendo/PlayStation CPU + GPU + memory ↓ EMULATOR ↓ translates/recreates those hardware behaviors ↓ Your modern CPU/GPU The important idea is functional equivalence. The physical implementation can be completely different as long as the observable behavior is reproduced. [Section 2: Simulated Physical Hardware] Simulation is different because you're primarily interested in predicting what hardware would do, rather than necessarily using it like the real machine. Imagine designing a processor that doesn't exist yet. You could create: Virtual CPU design ↓ simulate transistors simulate registers simulate memory simulate timing simulate electrical behavior ↓ "What would happen if this chip existed?" There are different levels of simulation. At a high level you might simulate: ADD R1, R2 At a much deeper level: transistor ↓ logic gate ↓ circuit ↓ register ↓ processor Chip companies use simulation extensively before physically manufacturing silicon because producing a chip just to discover that the architecture doesn't work would be extraordinarily expensive. [Section 3: Virtualized Physical Hardware] Virtualization is the easiest one to confuse with emulation. Here, you're generally not pretending that a completely different CPU exists. Instead, you're dividing real hardware. Physical Server │ ┌────────┴────────┐ │ Hypervisor │ └─────────────────┘ ↓ ↓ ↓ VM #1 VM #2 VM #3 Linux Windows Linux Each virtual machine might believe: “I have 8 GB RAM, 4 CPU cores, a network adapter and a hard drive.” But those resources ultimately map onto the server's real CPU, memory, storage and network hardware. So a useful shorthand is: Emulation = imitate hardware Simulation = model hardware Virtualization = partition/share hardware