Learn How Computers Work Between Silicon and Assembly: Build a CPU with Python
summary
A hands‑on project builds a configurable CPU implemented in Python that runs a custom assembler, exposes registers and an ALU, and hooks memory and IO to callbacks and widgets; it uses 8-bit words, 256 memory addresses and a Von Neumann bus, implements microprogramming for per‑opcode step sequences, and even adds DMA with numpy based buffer. The system reaches Turing completeness with a branch‑not‑zero and running programs show register transfers, program counter jumps, and interactive I/O.
AI-written summary · about
chapters (8)
- 0:00Start
- 3:15The Ben Eater SAP-1
- 10:26Machine Code Execution
- 14:48SAPy Buses & Registers
- 16:31Program Counter
- 17:39Accumulator (Register A)
- 17:58Arithmetic Logic Unit
- 20:48Output (Register 0)
related talks
41mHow to write a JIT compiler in 30 minutes
49mYou Used Python for What?!
19mTales of C, the 6502 and the BBC (with added python)
01h 27mBuilding a Video Game Emulator
40mPython on bare metal Beginners tutorial with MicroPython
02h 26mPointers in Python
30mDemystifying Python’s Internals: Diving into CPython by implementing...
27mPython: From Source to Execution
