home About Projects Culti7 Blog Courses Papers

Computer Organisation and Design

Third semester core course · 50 sessions · 6 arcs · 11 decks live

A computer contains no numbers. Only voltages, and circuits built to read those voltages as numbers.

A processor contains no instructions. Only circuits, and an instruction is a number that selects one of them.

Fifty hours on one question: what is actually happening underneath a line of code? Each class below is a slide deck I use in the room. The decks go up as the course moves; the questions further down are where we are headed.

Start here

Course overview

What the course is, the six arcs, and how it is marked

00Course overviewopen deck

Classes 1 to 12

Representation

Four failures that turn out to be one failure

01What went wrong?open deck 02How did we learn to write numbers down?open deck 03Does it need a human?open deck 04Do we have to choose?open deck 05Where do we put the minus sign?open deck 06What is a float?open deck 07What did the reserved patterns buy?open deck 08Why does the order matter?open deck 09What if the point cannot move?open deck 10What happens at the boundary?open deck 11What else can a pattern mean?open deck 12What have we built ?open deck

Classes 13 to 18

Logic

You can store 5, so how does a machine add 1 to it?

13Can a switch do mathematics?open deck 14What is a gate, physically?open deck 15Can anything be built from gates?open deck 16What is secretly a truth table?open deck 17How small can it go?open deck 18What does a gate cost, and what can it not do?open deck

Classes 19 to 26

Arithmetic

Put representation and gates together

19How does a machine add?open deck 20How can you add multiple columns ?open deck 21Why is it so slow?open deck 22Can the carry be computed in parallel?open deck
23What if you stop propagating the carry?coming
24How does a machine multiply?coming
25Can you halve the work before starting?coming
26Why is division different?coming

Classes 27 to 31

The ALU

Seven separate circuits, one set of inputs and outputs

27How does a circuit choose?coming
28Can the machine move bits sideways?coming
29How does a machine add two floats?coming
30What have we built?coming
31What does it need?coming

Classes 32 to 36

Storage

Where does int x = 5 physically live?

32What does it mean to remember?coming
33How do you control what it remembers?coming
34How do you make it safe and precise?coming
35How do you build a register file?coming
36Can a circuit generate its own next state?coming

Classes 37 to 49

The Processor

Somebody has been setting the controls by hand for six classes

37What is an instruction?coming
38Where do instructions come from?coming
39How does the machine reach memory?coming
40How does the machine decide?coming
41How does the machine call a function?coming
42How does C become circuit selections?coming
43What must the control unit produce?coming
44Can you run one instruction?coming
45Can it handle constants and memory?coming
46Can it run a program?coming
47What did you build?coming
48How does the processor reach outside itself?coming
49How does the world interrupt the processor?coming

Class 50

Closing

What actually happens when you press run?

50What actually happens when you press run?coming

Evaluation

Software we use

Worth bookmarking