CS452 - Real-Time Programming - Winter 2015

Lecture 30 - Embedded Systems through the Ages

Public Service Annoucements

  1. Final exam date: 16.00 14 April to 18.30 15 April
  2. Milestone 2 demo: 25 March
  3. Final demo: 6,7 April.
  4. Couurse Evaluations


Many think that tool use is what makes homo sapiens homo sapiens.

Tools should be more easy to use than the stone axe.

To be crass, one might think of a slave as the ultimate multi-tool, with a natural language interface, of course.

Embedded Computation in the Middle Ages: Hardware Programming

Two souurces of power, wind and water, and the problem is how to control them. E.g., the water wheel for grinding grain.

You can shape stone and wood, grind flour, even warm water taking advantage of gear-style programming. (This technology is still widely used: it is essential for the gear train of all wheeled vehicles.)

Still the interface falls short of the interface to a slave.

The First Industrial Revolution

Mechanical Control of Steam

Watt's Governor


One of the technologies recovered at the beginning of the first industrial revolution was the flush toilet, which goes through a sequence of states driven by water pressure.

As metallurgy improved a single piece of metal could be cast (later cut) into a collection of cams that pushed valves open or shut. It was at first driven by clockwork, a wound spring the source of power.

You could make most of the things we have to-day with this technology, which may be the intuition behind steam-punk.

The Second Industrial Revolution

Electricity: Electro-mechanical devices

The main programming element was the relay.

Clockwork-driven cams would switch electrical signals on and off to get a larger variety actions than were previously possible.

Analogue electronics: Switching electrons

Sequencing was done in essence using electrical signals varying in amplitude to drive the tool through a sequence of states

Embedded Digital Electronics

We can now drive a controller through a sequence of states using flip-flops and combinatorial logic, accepting digital input from the environment, and emitting digital signals to turn on actuators.

The most difficult challenge: coping with the working environment

When the technology was new -- less than two decades after its introduction -- the controller was always the least reliable component of the dishwasher, laundry machine, etc.


Inside the trains, turn-outs and sensors.


Inside the train controller.

In 1990 the MC6809 sold the most units of any CPU on the market. They all went into embedded systems, usually running a single program from ROM and using a small amount of RAM as a scratchpad. Ease of writing more complex control programs was the reason for giving up on hardware programming.

Single Chip Systems

This is where we are right now. Where we're going uses the added computation to provide user interfaces the better emulate a human being. Soon, with respect to one or another temporal granularity, we will get back to what Aristotle had.

Return to: