Twenty Three Hundred Learn Computer Systems by Hacking Hardware

Lectures

Lecture Videos

All lectures for this course are available as a playlist here on YouTube

Lecture Slides

The lecture slides are all available below as web pages.

Welcome!

An outline of the course and how to succeed (link)

Digital Logic

The building blocks of a CPU (link)

ALU Operations

Representing numbers and arithmetic as CPU instructions (link)

Memory operations

Loading and storing variables in memory (link)

Control Flow

Choosing which instructions to compute (link)

Functions

Finally, we have functions! (link)

Toolchains and your microbit

But how does the code get to the CPU? (link)

Data structures

What to do when your data doesn't fit in registers (link)

Interrupts and Asynchronism

Connecting a computer to the world (link)

Networks

Communication from one computer to another (link)

Operating Systems

A safe, comfortable home for your programs (link)

Architecture and Organisation

CPU architectures from 1937 to now (link)

Revision

A tour of the topics (link)

Digital Synthesis

An introduction to making sound with code (link)

Real-Time Musical Devices

Using a real-time OS for music making (link)

  1. Welcome! An outline of the course and how to succeed
  2. Digital Logic The building blocks of a CPU
  3. ALU Operations Representing numbers and arithmetic as CPU instructions
  4. Memory operations Loading and storing variables in memory
  5. Control Flow Choosing which instructions to compute
  6. Functions Finally, we have functions!
  7. Toolchains and your microbit But how does the code get to the CPU?
  8. Data structures What to do when your data doesn't fit in registers
  9. Interrupts and Asynchronism Connecting a computer to the world
  10. Networks Communication from one computer to another
  11. Operating Systems A safe, comfortable home for your programs
  12. Architecture and Organisation CPU architectures from 1937 to now
  13. Revision A tour of the topics
  14. Digital Synthesis An introduction to making sound with code
  15. Real-Time Musical Devices Using a real-time OS for music making