CS452 - Real-Time Programming - Spring 2009

Lecture 29 - History : Controllers

Hardware for Real-Time

First Generation

  1. Big mainframe computers
  2. Finite state machine controllers

Second Generation

  1. Big mainframe computers
  2. Mini-computers
  3. Other tools, such as state charts

The Transputer: a Second Generation Offshoot

Use many co-operating, medium capability microCPUs to do a big job.

Problem is communication

Comminication requires either

The transputer was an early, now vanished, example of the latter

Occam 2

Basic idea

  1. processes (tasks)
  2. channels
  3. time

Combining processes

  1. sequential
  2. conditional
  3. looping
  4. parallel
  5. alternation


  1. input
    channel ? variable
  2. output
    channel ! value // the value of a variable or the result of an procedure
  3. input & output provide synchronization


The Result

You can write a type-safe server, BUT

Program structure is more static than is allowed in your system.

This might be a good thing.

Third Generation

  1. Multi-CPU servers
  2. Micro-computers
  3. Micro-controllers

Fourth Generation

  1. Multi-(multi-core CPUs) called servers
  2. Multi-core microprocessors
  3. Stream processors

Return to: