Flow Computation

It is called flow computing because information spontaneously flows, interacts and computes through a  network of  linked oscillations: a behaving structure in contrast to a controlled structure. It is not sequential, not synchronous. There is no clock, no flip flops, no global anything and no central anything, no encompassing state. Showing how it all works and why it is worthy of consideration is the purpose of this site.

A model of  computation entirely in terms of logical relationships.

in contrast to logical relationships, critical delay relationships and explicit timing

A directed network of   linked oscillations, enlivened by each oscillation individually striving to oscillate.

in contrast to a passive sequence of instructions enlivened by a single oscillating clock

Through which wavefronts of  data flow spontaneously from oscillation to oscillation.

in contrast to passive data manipulated by sequenced instructions

Each oscillation applies a  combinational function to each wavefront that flows through it and passes the result to successor oscillations,

similar to Boolean logic combinational circuits bounded by clocked registers

The flowing wavefronts accumulate to a computation.

in contrast to a mathematician with pencil and paper flowing data values through an algebraic equation or a clock driven state machine flowing data values through registers or a sequenced program flowing data values through static memory.

 Computational Efficiency

Perform only necessary logical activity with local logical signal transitions.

No global clock banging. No global state maintenance.

Intrinsic quiescence

No extra logic attempting to avoid unneeded computation (setting zero, clock gating).

 Perform with actual delays delivering optimal throughput per effort.

in contrast to always waiting on worst case delays.

Adapts continuously to voltage variation, temperature variation and performance demands.

in contrast to a limited set of predefined voltage/clock rate options.

Ockham’s razor

Seek the fewest and simplest assumptions to accomplish the abstract mission.

An addressable memory can be implemented with a network of pipeline rings. While it is very inefficient and not practically feasible it is a perfectly feasible abstraction in the same sense that a paper tape is a feasible abstraction but infeasible practically.

A Turing machine assumes a state machine somehow sequencing its states and a paper tape with a read/write mechanism. While practical implementation is left unspecified, a modern computer is a serviceable facsimile.

The modern computer assumes Boolean logic which requires an assumed time referent to filter glitches and determine completeness. An oscillation determines its own logical completeness and does not need an assumed time referent.

The abstract mission of characterizing computation can be accomplished with the assumption of a single coherent logic. While the Turing machine and Booean logic have served well the single assumption of a sufficient logic is simpler.