NuMesh CFSM Architecture
The CFSM ("Communications Finite State Machine") is a simple, fast
programmable communication processor local to each node. It mediates
the communications between each node and its immediate neighbors,
following a largely pre-compiled systolic pattern which is
"choreographed" by appropriate programming of the CFSMs within
individual nodes. For example, a node in a 2D mesh might drive
data over its East port during the 37th clock cycle of a periodic
schedule, while its neighbor to the east would be programmed to
load data from the west during the same cycle.
Early NuMesh prototypes used straightforward single-thread FSM
controllers capable of enabling various combinations of reads
and writes during each clock cycle. Our experience with these designs
have led to an alternative CFSM architecture, the subject of the
following sequence. Click on each thumbnail for a full-size
view.