1.1. What is etherealware?

Computation takes place in dedicated hardware or on general-purpose hardware by dedicated software. Different functionality requires either changing the hardware (think ASIC, FPGA) or changing the software running on it. Firmware is an intermediate concept, where the hardware is modified by microprogramming a CPU or personalizing an FPGA.

on patterns of n bits. They verified this claim for n up to 8, while in [14] this is extended to

Hard, firm, soft … Etherealware: Computing by Temporal Order of Clocking

http://dx.doi.org/10.5772/intechopen.80432

187

Dennunzio et al. [15, 16], 2012–2013, consider ACAs, every turing machine can be simulated by an ACA, with quadratic slowdown. Introducing a certain fairness measure, they show that injectivity and surjectivity are equivalent (μ-a.a.), and the existence of a diamond is equivalent

Salo [17], 2014, shows that nonuniform CA generates all SFTs (subshifts of finite type) and

Here, continuing the work in [10, 14], we again employ CAs as computing devices, whose work comes to an end, when the pattern transformation or function evaluation has been obtained. Also, the clocking, the temporal update rule, is completely deterministic and replaces the usual ways of representing an algorithm, either in software (initial data) or in hardware (choice of ECA and connecting graph). Thus, the algorithm resides exclusively in the clocking scheme. We therefore call functions computable in this way as "clocking-computable functions." The main additional contribution of this paper is the introduction of unfair clocking

We consider cellular automata (CA) on a torus or ring of n cells, that is index set Z=nZ, over the binary alphabet 0f g ; 1 . Cell index wraparound, that is, ci ¼ cj for i � jmodn, and the canonical cell names are cn�<sup>1</sup>, cn�<sup>2</sup>, …, c1, c0. We deal with elementary CAs (ECA) with three input cells,

pk ∈ f g 0;…; 255 .

0/1 and the chiral symmetry left/right (ciþ<sup>1</sup> \$ ci�1); see ([14], Appendix A). It is sufficient to

We considered quad CAs (QCAs) with four inputs and nonstandard neighborhoods in ([10],

Local bijectivity requires that ECA ð Þ¼ a; 0; c 1� ECA ð Þ a; 1; c . This is equivalent to requiring

111 ↦ 0, 110 ↦ 0, 101 ↦ 1, 100 ↦ 1, 011 ↦ 1, 010 ↦ 0, 001 ↦ 0, 000 ↦ 1, in other words

<sup>i</sup> ¼ ci.

¼ 256 ECAs can be arranged into 88 equivalence classes under the symbolic symmetry

<sup>2</sup>. Let k ≔ 4�

<sup>i</sup> ≔ pk ∈ f g 0; 1 , where p0,…, p<sup>7</sup> are

The neighborhood (ci+1, ci, ci�1) can have eight different values from <sup>∈</sup> <sup>F</sup><sup>3</sup>

Example: The behavior of the ECA with Wolfram rule 57 ¼ 00111001<sup>2</sup> ¼ 3916:

<sup>i</sup> ¼ ci, for all other contexts we have 0ci0, 1ci0, 1ci1 ↦ c<sup>þ</sup>

<sup>k</sup>¼<sup>0</sup> <sup>2</sup><sup>k</sup>

n ≤ 10 and in this paper up to n ≤ 28.

2. Notations: ECA and update rules

where the middle one is also the output cell.

defined via Wolfram's rule [1] P<sup>7</sup>

consider one member per class.

2.1. Cellular automata: Neighborhoods and local update rules

ciþ<sup>1</sup> þ 2 � ci þ ci�<sup>1</sup> ∈ f g 0;…; 7 . Then ci is replaced by c<sup>þ</sup>

that the hexadecimal digits of the rule be from 3, 6, 9, C.

to not μ-a.a. injectivity.

schemes.

The 2<sup>23</sup>

Section 1.2).

0ci1 ↦ c<sup>þ</sup>

several non-SFT sofic shifts.

Etherealware is the first way to use fixed hardware (certain cellular automata (CA) in this case), run fixed software (the same update rule for all cells, for all time, for all purposes), and still deliver diversity in the resulting function: by changing only the clocking scheme, the order in which the CA's cells are updated.
