How are Computers Possible?

Abstraction • Interpretation

Instructions

  • Build a house
  • Bake a cake
  • Assemble a bike
  • Add numbers
  • Sort a list
  • Flip bits

How to Add

  • Abacus
  • Pen & paper
  • Calculator
  • Gears / valves / transistors

Addition is multiply realizable.

Instruction Output

House / cake:

something physical

Addition:

abstract, non-physical numbers

The “essence” of addition is informational, not physical.

Two kinds of instructions

Type Relationship to outcome Example
Constitutive The physical stuff is the outcome Bricks make the house
Implementational The physical stuff represents the outcome Beads / voltages represent numbers

Computation depends on representation.

Computation

  • Implementation-independent
  • Multiply realizable
  • Still needs physics to be implemented

Interpretation Idea

Machine states don’t mean anything intrinsically.

Meaning is assigned by us (interpretation).

So we can choose to interpret states as data

or as instructions.

Stored Program

  • No deep boundary between code and data
  • Instructions can live in memory alongside data

Where is this Interpretation?

In the decoder: hardwired.

0001 can mean “PRINT”

or it can mean the number 1.

Depends on how the interpreter works.

Example


encoded program  separator  input data

5-bit rule format

[state]
1 bit
+
[read]
1 bit
+
[write]
1 bit
+
[move]
0=L, 1=R
+
[next]
1 bit
Example: 00110 = “in state 0, reading 0 → write 1, move R, next 0”

This is a tiny “instruction set”: symbols become actions via interpretation.

The Rule Table

Meaning Bits
state 0, read 0 → write 1, move R, next 0 0 0 1 1 0 = 00110
state 0, read 1 → write 0, move R, next 0 0 1 0 1 0 = 01010

Decoder = hardwired interpretation

The machine has fixed circuitry for: “treat 5 bits as \([state,read,write,move,next]\)”.

Given current state and tape read, it scans the rule area for a matching prefix.

When it finds one, it performs the encoded action (write/move/next).

The same symbols can be “data” somewhere else; the decoder makes them “instruction” here.

Bit Flipping

00110 00 01010 000 01101
rules sep rules program/data sep data

Goal: flip every data bit by stepping right.

Step 1

00110000101000001101
state = 0, read = 0
match rule: 0 0 1 1 0 → write 1, move R, next 0

Decoder turns the matched 5-bit pattern into a concrete action.

Step 2

0011000010100001101
state = 0, read = 1
match rule: 0 1 0 1 0 → write 0, move R, next 0

Result

INPUT
0 1 1 0 1
OUTPUT
1 0 0 1 0

Vulnerabilities

  • Buffer Overflow
  • SQL Injection

Close

  • Computation is abstract.
  • Computation is possible because of our interpretations of physical states (decoders)
  • Vulnerability is the cost of Universality