Transputers The Lost Architecture

Bryan T. Meyers

December 8, 2014

Bryan T. Meyers Transputers December 8, 2014 1 / 27 Table of Contents

1 What is a Transputer? History Architecture

2 Examples and Uses of Transputers High-Performance Compute

3 Universal Compute Element Theory Flynn’s Taxonomy Revisited

4 Legacy

Bryan T. Meyers Transputers December 8, 2014 2 / 27 What is a Transputer? Table of Contents

1 What is a Transputer? History Architecture

2 Examples and Uses of Transputers Virtual Reality High-Performance Compute

3 Universal Compute Element Theory Flynn’s Taxonomy Revisited

4 Legacy

Bryan T. Meyers Transputers December 8, 2014 3 / 27 What is a Transputer? History What is a Transputer?

Definition Transputer stands for ”TRANSmitter and comPUTER”, combines a computer Figure: Multi-Transputer Module processor with high-speed serial links.

Features (T225) 16-bit 30 MHz Clock Four-phase Logic 4KB SRAM 4 serial links (5/10/20 Mb/s)

Bryan T. Meyers Transputers December 8, 2014 4 / 27 What is a Transputer? History History

Figure: T400 Processor Die History 1978 - INMOS created by British Government 1985 - First Transputer is Introduced 1989 - Transputers are the most widely RISC processor 1990 - Over 500,000 Transputers shipped

Bryan T. Meyers Transputers December 8, 2014 5 / 27 What is a Transputer? History Models

Table: Comparison of Popular Transputer Models Model Bits Clock (MHz) SRAM (KB) Link Speed (Mbps) Floating-Point T225 16 30 4 20 — T400 32 20 2 20 — T425 32 25 4 20 — T805 32 25 4 20 Yes (1/8 Speed) T9000 32 20 16 80 Yes (1/10 Speed)

Bryan T. Meyers Transputers December 8, 2014 6 / 27 What is a Transputer? Architecture Architecture Overview

Figure: T425 Architecture

Bryan T. Meyers Transputers December 8, 2014 7 / 27 What is a Transputer? Architecture Four-phase Logic

Figure: Connected 1 to 3 Latch

Figure: Latch Paths

Bryan T. Meyers Transputers December 8, 2014 8 / 27 What is a Transputer? Architecture Occam

Sequential Code

SEQ Features x := x + 1 y := x ∗ x Communicating Serial Processes Primitives: Channels, Processes Explicit Sequential and Parallel Parallel Code Execution PAR p ( ) q ( )

Bryan T. Meyers Transputers December 8, 2014 9 / 27 What is a Transputer? Architecture TRAMs

Figure: IBM TRAM TRAM: Multiple Transputers per card Multiple Cards per Computer High Speed Fabric Shared Power

Bryan T. Meyers Transputers December 8, 2014 10 / 27 Examples and Uses of Transputers Table of Contents

1 What is a Transputer? History Architecture

2 Examples and Uses of Transputers Virtual Reality High-Performance Compute

3 Universal Compute Element Theory Flynn’s Taxonomy Revisited

4 Legacy

Bryan T. Meyers Transputers December 8, 2014 11 / 27 Examples and Uses of Transputers Notable Consumer Transputers

Atari Transputer Figure: AWS Media Ad T800 Transputer up to 12 more Transputers up to 130 MIPS (Very Fast) 4MB of RAM, Upgradeable to 16 HeliOS 1989 release date only 350 made

Bryan T. Meyers Transputers December 8, 2014 12 / 27 Examples and Uses of Transputers Virtual Reality Virtual Reality

INMOS Multiplayer Flight Simulator Figure: Simulator T800 Transputers 22 Frames per Second up to 4 players Joystick controls ring to communicate between displays rendering pipeline per user 1987 SIGGRAPH

Bryan T. Meyers Transputers December 8, 2014 13 / 27 Examples and Uses of Transputers Virtual Reality High Performance Compute

Features Over 10 Nodes SW Defined Network Topology Compute or Graphics Boards Distributed RAM Upgradeable Heterogeneous Pioneered MIMD Design

Figure: Meiko Computing Surface Cabinet

Bryan T. Meyers Transputers December 8, 2014 14 / 27 Universal Compute Element Table of Contents

1 What is a Transputer? History Architecture

2 Examples and Uses of Transputers Virtual Reality High-Performance Compute

3 Universal Compute Element Theory Flynn’s Taxonomy Revisited

4 Legacy

Bryan T. Meyers Transputers December 8, 2014 15 / 27 Requirements: Must perform both Integer and Floating-Point calculation Must have local memory, without direct access to global memory Must be able to communicate with other elements

Hypothesis The Transputer is able to behave as a Universal Compute Element.

Universal Compute Element Theory Universal Compute Element

Idea: There exists a single computational element which, when combined with other identical units, can be used to build or emulate any .

Bryan T. Meyers Transputers December 8, 2014 16 / 27 Hypothesis The Transputer is able to behave as a Universal Compute Element.

Universal Compute Element Theory Universal Compute Element

Idea: There exists a single computational element which, when combined with other identical units, can be used to build or emulate any computer architecture.

Requirements: Must perform both Integer and Floating-Point calculation Must have local memory, without direct access to global memory Must be able to communicate with other elements

Bryan T. Meyers Transputers December 8, 2014 16 / 27 Universal Compute Element Theory Universal Compute Element

Idea: There exists a single computational element which, when combined with other identical units, can be used to build or emulate any computer architecture.

Requirements: Must perform both Integer and Floating-Point calculation Must have local memory, without direct access to global memory Must be able to communicate with other elements

Hypothesis The Transputer is able to behave as a Universal Compute Element.

Bryan T. Meyers Transputers December 8, 2014 16 / 27 MISD Instruction Parallel Multiple Processing Elements One Data Stream Multiple Instruction Streams

SIMD MIMD Data Parallel Completely Parallel Multiple Processing Elements Multiple Processing Elements Multiple Data Streams Multiple Data Streams One Instruction Stream Multiple Instruction Streams

Universal Compute Element Flynn’s Taxonomy Revisited Flynn’s Taxonomy: Overview

SISD Sequential Single Processing element One Data Stream One Instruction stream

Bryan T. Meyers Transputers December 8, 2014 17 / 27 MISD Instruction Parallel Multiple Processing Elements One Data Stream Multiple Instruction Streams

MIMD Completely Parallel Multiple Processing Elements Multiple Data Streams Multiple Instruction Streams

Universal Compute Element Flynn’s Taxonomy Revisited Flynn’s Taxonomy: Overview

SISD Sequential Single Processing element One Data Stream One Instruction stream

SIMD Data Parallel Multiple Processing Elements Multiple Data Streams One Instruction Stream

Bryan T. Meyers Transputers December 8, 2014 17 / 27 MIMD Completely Parallel Multiple Processing Elements Multiple Data Streams Multiple Instruction Streams

Universal Compute Element Flynn’s Taxonomy Revisited Flynn’s Taxonomy: Overview

SISD MISD Sequential Instruction Parallel Single Processing element Multiple Processing Elements One Data Stream One Data Stream One Instruction stream Multiple Instruction Streams

SIMD Data Parallel Multiple Processing Elements Multiple Data Streams One Instruction Stream

Bryan T. Meyers Transputers December 8, 2014 17 / 27 Universal Compute Element Flynn’s Taxonomy Revisited Flynn’s Taxonomy: Overview

SISD MISD Sequential Instruction Parallel Single Processing element Multiple Processing Elements One Data Stream One Data Stream One Instruction stream Multiple Instruction Streams

SIMD MIMD Data Parallel Completely Parallel Multiple Processing Elements Multiple Processing Elements Multiple Data Streams Multiple Data Streams One Instruction Stream Multiple Instruction Streams

Bryan T. Meyers Transputers December 8, 2014 17 / 27 Universal Compute Element Flynn’s Taxonomy Revisited Flynn’s Taxonomy: SISD

SISD Figure: SISD using Universal Compute Elements Sequential Single Processing Element One Data Stream One Instruction Stream

Bryan T. Meyers Transputers December 8, 2014 18 / 27 Universal Compute Element Flynn’s Taxonomy Revisited Flynn’s Taxonomy: SIMD

SIMD Data Parallel Multiple Processing Elements Multiple Data Streams Single Instruction Stream

Bryan T. Meyers Transputers December 8, 2014 19 / 27 Universal Compute Element Flynn’s Taxonomy Revisited Flynn’s Taxonomy: MISD

MISD Instruction Parallel Multiple Processing Elements Single Data Stream Multiple Instruction Streams

Bryan T. Meyers Transputers December 8, 2014 20 / 27 Universal Compute Element Flynn’s Taxonomy Revisited Flynn’s Taxonomy: MIMD

MIMD Completely Parallel Multiple Processing Elements Multiple Data Streams Multiple Instruction Streams

Bryan T. Meyers Transputers December 8, 2014 21 / 27 Legacy Table of Contents

1 What is a Transputer? History Architecture

2 Examples and Uses of Transputers Virtual Reality High-Performance Compute

3 Universal Compute Element Theory Flynn’s Taxonomy Revisited

4 Legacy

Bryan T. Meyers Transputers December 8, 2014 22 / 27 Legacy Transputers Today

IBM Blue Gene: Figure: IBM Blue Gene L Multiple PowerPC Processors per card Multiple Cards per Node Multiple Nodes per Rack Multiple Racks High Speed Fabric Shared Power

Bryan T. Meyers Transputers December 8, 2014 23 / 27 Legacy Transputers Today

HP Project Moonshot: 1-8 Cores per Processor Figure: Hp Moonshot 1-4 Processors per card Up to 45 Cards per Chassis Up to 10 Nodes per Rack Multiple Racks High Speed Fabric Shared Power

Bryan T. Meyers Transputers December 8, 2014 24 / 27 Legacy Transputers Today

Figure: Tile-Gx Tilera Tile Processors: 9-72 Cores up to 1TB of RAM Over 100 Mbps between Cores Up to four 20Gb Network Links

Bryan T. Meyers Transputers December 8, 2014 25 / 27 Legacy Transputer Influence on Modern Design

Processor Design 2 or 4 Phase Pipelined Logic High Speed Serial Links (HyperTransport, QPI) Network on Chip Parallel Programming System on Chip π Calculus Communicating Sequential Processes Hyperscale Message Passing Hundreds of processors Different Configurations by Task Shared Power, Disk, Network Single Box

Bryan T. Meyers Transputers December 8, 2014 26 / 27 Legacy References

Links Transputer (Princeton) Occam (Programming Language) The Transputer FAQ Ram’s Transputer Home Page Atari Museum Meiko Computing Surface Flynn’s Taxonomy

Bryan T. Meyers Transputers December 8, 2014 27 / 27