Computerphile - How Computers Work

Lecturer: Matt Godbolt
Platform: YouTube
Channel: Computerphile
About: I chose this series because I just can't help myself when it comes to low-level computing; I need to learn it. I enjoy Matt's presentation style and I trust Computerphile, so I knew I was in good hands.

Lab and blog series

Inspired by the first video, I began building a CPU emulator in Python with its own pseudo-assembly language. A hand's on way to learn CPUs from the inside out.

  • Explore the code and weekly labs releases on GitHub.
  • Read the full write-ups in my blog-series.

Video: CPU Pipeline

Video Release Date: April 18, 2024

Entry Date: September 11, 2025

Takeaways

Instead of having just one 🤖 doing the fetching, decoding, and executing, we can build a conveyor belt and have three 🤖🤖🤖, each responsible for one task. This way, with each tick of the 🕰️, the executing robot (aka the ALU), has a piece of work to do.

Questions

  • I want to know more about the decoding 🤖. It seems like it has a lot to do.

← Back to Study Notes


Video: Machine Code Explained

Video Release Date: January 3, 2024

Entry Date: September 4, 2025

Takeaways

In Matt's simplified CPU, there is a 🤖 who does three things:

  • 🐶 fetches Matt's pseudo-assembly language instructions
  • 🕵️ converts the instructions into machine code
  • 💪 executes the machine code.

Reflections

  • 👁️ Matt's explaination helps me see how the CPU uses a translation table to convert assembly language to the bytes of machine language.
  • 🪷 It feels bare and elegant. The simplicity is striking.
  • 🐍 Learning this will help me understand Python's Bytecode and use dis to write better code.

← Back to Study Notes