  The Global Cellular Automata (GCA) Model is a generalization of the Cellular
Automata (CA) Model. The GCA model consists of a collection of cells which
change their states depending on the states of their neighbors, like in the
classical CA model. In generalization of the CA model, the neighbors are no
longer fixed and local, they are variable and global. In the basic GCA model, a
cell is structured into a data part and a pointer part. The pointer part
consists of several pointers that hold addresses to global neighbors. The data
rule defines the new data state, and the pointer rule define the new pointer
states. The cell's state is synchronously or asynchronously updated using the
new data and new pointer states. Thereby the global neighbors can be changed
from generation to generation. Similar to the CA model, only the own cell's
state is modified. Thereby write conflicts cannot occur, all cells can work in
parallel which makes it a massively parallel model. The GCA model is related to
the CROW (concurrent read owners write) model, a specific PRAM (parallel random
access machine) model. Therefore many of the well-studied PRAM algorithms can
be transformed into GCA algorithms. Moreover, the GCA model allows to describe
a large number of data parallel applications in a suitable way. The GCA model
can easily be implemented in software, efficiently interpreted on standard
parallel architectures, and synthesized / configured into special hardware
target architectures. This article reviews the model, applications, and
hardware architectures.
