programmable parallel arithmetic in cellular automata using a … · 2018. 3. 14. · programmable...

13
Complex Systems 8 (1994) 311-323 Prog rammable Parallel Arithmetic in Cellular Automata Using a Particle Model R ichard K. Squier Compu ter Science Department, GeorgetownUniversity, Washington, DC 20057, USA Ken Steiglit z Computer Science Dep artment , Princeton University, Princeton, NJ 08544, USA A bst ract. In this paper we show how to embed practical computa- tion in one-dimensional cellular automa ta using a model of compu- t at ion based on collisions of moving particles. The cellular automata have small neighborhoods, and state spaces t hat are binary occupancy vecto rs. They can be fabricated in VLSI, and perhaps also in bulk media that support appropriate particle propagation and collisions. The model uses injected particles to represent both data and proces- sors. Consequently, realizations are highly programmable and do not have application-specific topology, in contrast to systolic arrays. We describe several practical calculations that can be carried out in a highly parallel way in a single cellular automaton, including addition, subtr act ion, multiplication, arbitrarily nested combinations of these operations, and finite-impulse-response digital filtering of a signal ar- riving in a continuous stream. These are all accomplished in time linear in the number of input bits, and with fixed-point arithmetic of arb itrary precision, independent of the hardware. 1. Introduc tion Our goal in this paper is to achieve practical co mp ut at ion in a uni form , simple, locally connected, highly parallel archi tect ur e- in a way that is also progr ammable, and thereby accommodates the differing requir ement s of a variety of applications. Systolic a rrays [22], of course, satisfy the locally con- nected and p ar allel r equirements, but the to pology and processor fun ct ion- a lity are difficult to m odify once the ma chine is built. In this p ap er we show how to embed practical compu ta tion in one-dimensional cellu lara utomata (CAs) using a model of comp utat ion that is based on collisions of moving p ar ticles [33]. The result ing (fixed) hardware combines the parallelism of systo lic a rrays wit h a hi gh degree of programmability.

Upload: others

Post on 03-Aug-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

Complex Systems 8 (1994) 311-323

Programmable Parallel Arithmetic inCellular Automata Using a Particle Model

R ichard K . SquierComputer Science Departm ent , Georgetown University,

Washington , D C 20057, USA

Ken SteiglitzComputer Science Department , Princet on University,

Princeton, NJ 08544, USA

A bst ract. In thi s paper we show how to embed practical computa­t ion in one-dimensional cellular automata using a model of compu­tation based on collisions of moving part icles. T he cellular automatahave small neighbo rhoods, and state spaces that are bin ary occupancyvecto rs. They can be fabricated in VLSI, and perh aps also in bulkmedia tha t support appropriate part icle propagation and collisions .The model uses injected part icles to repr esent both data and proces­sors. Consequently, realizations are highly programm able and do nothave applicat ion-specific topology, in contras t to systolic arrays . Wedescribe several practical calculations that can be carr ied out in ahighly par allel way in a single cellular automaton, including addit ion,subt raction, multipli cat ion , arbit rarily nested combinat ions of theseopera t ions, and finite-impulse-response digital filtering of a signal ar­riving in a cont inuous st ream. T hese are all accomplished in t imelinear in the number of inpu t bits, and wit h fixed-point arithmet ic ofarbitrary precision , independent of the har dware.

1. Introduction

Our goal in t his paper is to achieve pract ical compu tation in a uniform,simple, locally connecte d , high ly parallel architect ure- in a way t ha t is alsoprogrammable, and t hereby accommodat es t he differ ing requirements of avariety of applica t ions . Syst olic arrays [22], of course , sa t isfy t he loca lly con­nected and parallel requirement s , but t he to pology and processor function­ality are difficult t o modify on ce t he machine is bui lt . In this paper we showhow to embe d practi cal comp utation in on e-dimension a l cellular automata(CA s) using a model of computation t ha t is based on collisions of movingpart icles [33]. T he resultin g (fixed) hardware combin es the parallelism ofsystolic arrays with a high degr ee of progr am mability.

Page 2: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

312 Richard K. Squier and Ken St eiglitz

Fredkin , Toffoli, and Mar golus [19- 21] have explored the idea of the in­elast ic billiar d-ball model for computat ion, which is computation-universal.There is also a large literature in lattice-gas automata (see [18], for exam­ple) , which use particle motion and collisions in CAs to simulate fluids. Wehave shown [17] tha t a general class of la tti ce-gas automata is computation­un iversal.

Several recent papers have dealt wit h particle-like persist ent structuresin binary CAs and their relationship to persist ent structures like solitons innonlinear different ial equa t ions [3, 8- 14] . It is fair to say t hat no one has yetsucceeded in using these "nat urally occur ring" particles to do useful com­pu t at ion . For inst an ce, the line of work in [14] has succeeded in support ingonly the simplest, almost trivial computation- binary ripp le-carry addition ,where the dat a is presented to the CAs wit h the addend bits interleaved. Thereason for the difficulty is that the behavior of the par ticles is very difficultto control and their proper ties only vaguely understood.

This paper describes what we think is a promising method of using a par­ticl e model and illust rat es it s applicat ion to several different computations.Our basic method will be to int roduce the model of comp utation using par­t icles, and then realize this model as a CA. Onc e the particles and theirinteractions have been set in the realization , the computation is st ill highlyprogrammab le: the program is determined by the sequence of particles in­jected . In our examples, we build in enough particles and interactions sotha t many different computations are possible in t he same machine.

CAs for the particle model can be realized in conventional VLSI , or­and this is much more speculative-in a bulk physical medium that supportsmoving persistent st ructures wit h the appropriate characterist ics [1, 2, 4­7]. Without dist inguishing between these two situat ions, we call the CAsor medium a substrate. We call the subst rate, the collect ion of particles itsupports , and their interactions a Particle Machine (PM) .

The machines in t his pap er are one-dimensional, and these PMs aremost clearl y applicable to comput at ions that can be mapp ed well to one­dim ensional systolic arrays . T he computat ions given as examples in thispap er deal wit h basic binary arit hmet ic and applications that use ar it hmet icin regular ways , like digit al filt ering. Our current ongoing work is aimedtoward adding more parallel app lications, especially signa l processing, ot hernumerical computation , and combinatorial applications like st ring match­ing.

Alt hough our main goal is par allelism , it is not hard to show that thereare CAs of our typ e that are computat ion-universal, by the usual stratagemof embedding an arbit rary Turing machine in the medium and simulat ing it .We omit details here.

On e imp or tant adva ntage of par allel comput ing using a PM is the homo­geneity of the implement ation . Once a par ticular set of particles and theirinteractions are decided on , only the subst rate support ing them needs to beimplemented . Since t he cells of the supporting substrate are all identical , agreat economy of scale becomes possible in the implementation . In a sense,

Page 3: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

Programmable Parallel Arithme tic in CAs Using a Particle Mod el 313

we have moved t he particular s of applicat ion-spec ific computer design to therealm of software.

The results in this pap er show that P M-based computations inherit theefficiency of systolic arr ays, but take place in a less specialized machine.Our examples include arbitrarily nest ed multiplication / addition and finite­impulse response (FIR) filtering, all using the same cellular aut omato n re­alization, in time linear in the number of input bit s, and with arbit ra rypr ecision fixed-point operands.

This pap er has three parts. First we describ e the model for parallelcomputation based on t he collisions and int eractions of particles. Second, weshow how this model can be realized by CAs. Finally, we describe linear-timeimplementations for the following computat ions :

• binar y ad dit ion and subtrac t ion;

• binary multiplication;

• arbitrarily nest ed arithme tic expressions that use t he operations of ad­diti on , subt rac t ion, and multiplication of fixed-point numbers; and

• digit al filtering of a semi-infinite st ream of fixed-point numbers with aFIR filter (with arbitrary fixed-point coefficients ) .

2. The particle model

We begin wit h an informal descript ion of the model. Put simply, we want tothink of comp utation as being performed when particles moving in a mediumcollide and interact in ways det ermined only by the particles ' identities. Aswe will see below, this kind of interacti on is easy to incorporate into theframework of a CA .

Figur e 1 shows the general scheme envisioned for a PM. We think of par­t icles as being inj ect ed at different speeds at the left end , colliding along the(arbitraril y long) array where they pr opagate, and finally producing results.We will not be concerne d here with retrieving those results, and for our pur­poses the comp utation is complete when the answers appear somewhere inthe array. Of course the distance of answers from the input port is no worsethan linear in the number of time ste ps that the comp utatio n takes.

In a real implement ation, we can eit her provid e taps along the array orwait for results to come out the ot her end , however far away that may be. Athi rd alte rnat ive is to send in a slowly moving "mirror" particle defined soas to reflect the answer particles back to the input. We can make sure that

particles injected~--~=----~--=O-~---:=---D=---~--=-

to infinity -

Figure 1: The general model envisioned for a particle machine.

Page 4: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

314 Richard K. Squier and Ken Steiglitz

reflecti on from the mirror produces particles that pass unharmed throughany particles earlier in the array.

We next show how such PMs can be embe dded in CAs in a natural way.Note t hat sometimes it is convenient to shift the speed of every particleto change the fram e of reference. For example, in the following we willsometi mes assume that some particles are moving left , and others right ,whereas in an actual implementation all par ticl es might be moving rightat different speeds . The collisions and their results are what matter . Thisshift in the fram e of reference is trivial in the abstrac t picture we have ju stgiven , and will be easy to compensate for in a CA implementation by shift ingthe output window of the CA.

3. Cellular automaton implementation

Informally, a CA is an array of cells, each in a state that evolves with time.The state of cell i at time t + 1 is determined by the st ates of cells in an eighborh ood of cell i at t ime t, the neighborhood being defined as those cellsat a dist an ce r (t he radius) or less of cell i . Thus, the neighb orh ood of a CAwith radius r contains k = 21'+ 1 cells and includes cell i it self. When thestate space of a cell, S , is binary-valued-that is, when S = {a, l} - we callt he CA a bina ry CA.

We will avoid the difficul ti es of using "natur ally occurr ing" particles byexpanding the state space of the CA in a way t hat reflect s our picture of aP M. T hink of each cell of the CA as containing at any par ti cular t ime anycombinat ion of a given set of n particles. T hus , we can think of the st ateas an occupancy vector, and the state space is therefore now S = {O, I} " .Implementing such a CA presents no part icular problems . We spec ify thenext-state t ra nsit ions by a table that shows, for each combinat ion of particlesthat can enter the window, what the next state is for the cell in questi on.Thus, for a CA wit h a neighb orhood of size k that supports n distinct par ti­cles, t here are in t heory 2 n k states of the neighb orhood , and hence 2 n k rowsof the t ransit ion table. Each row contains t he next state, a binary n-vectorthat encodes the part icles that are now present at the site in qu estion. Onl ya small fracti on of this space is usually needed for implementation , since weare only interest ed in row ent ries that correspond to states t hat can actuallyoccur. T his is an imp ortant point whe n we consider the practical implemen­tat ion of such CAs , either in software or har dware.

Figure 2 shows a simp le example of two particles traveling in oppos itedir ecti ons that collide and int eract. In t his case the right- moving particleannihilates the left-moving particle, and is itself transformed into a right ­moving part icle of a different type. It is easy to verify that the t ransit ion ofeach cell from the states rep resented by the particles present can be ensuredby an ap pro priate state-trans it ion table for a neighb orh ood of radius l.

Next , we describe some nu merical operat ions that can be performed effi­ciently in P Ms. We start with two simple ways to perform binary addit ion ,an d then build up to more complicated examples. Our descriptions will be

Page 5: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

Programm able Parallel Ari thm etic in CAs Using a Particle Model 315

Figure 2: An example of a collision between a left- and right-movingparticle. The left-moving part icle is annihilated, and the right-movingpart icle is transformed into a different kind of right-moving particle.The neighborhood radius in this example is 1, as indicat ed in Row 4.

more or less informal , but the more complicated ones have been verified bycompute r simulat ion . Furthermore, t hey can all be implemented in a singlePM wit h ab out 14 part icles and a trans ition table representing about 150rules. The examples all use a neighborhood of rad ius 1.

4 . A dding bin a ry numbers

Figure 3 shows one way to add binary numbers . Each of the two addends arerepresented by a sequence of particles, each particle representing a sing le bit.T hus there are four par ticles used to represent data : left- and right-movingas and I s. We will arrange them wit h leas t- significan t bi t leading, so thatwhen they collide , t he bits meet in order of increasing significance . Thismakes it easy to encode the carry bi t in the st ate of t he processor par ticle.

At the cell where the da ta particles meet we place an instan ce of a fifthkind of particle, a stat ionary "processo r" particle, which we call p. Thisprocessor par t icle is act ually one of two par ticles, say Po and PI, meant torepresent th e fact t hat the current carr y bit is eit her a or 1. The pr ocessor

left addendprocessorparticle

oright addend............ ....

o • 0 • 0 •

Figure 3: Implementation of binary addition by having the two ad­dends collide head-on at a single processor particle. There are fourdifferent dat a particles here, left- and right-moving Os and Is, repre­sented by unfilled and filled circles. Th e processor particle is repre­sented by the diamond , and may actually have several sta tes.

Page 6: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

316 Richard K. Squier and Ken St eiglitz

par ticle starts out as Po , to repr esent a 0 carry. The collision t abl e is definedso that the following things happen at a processor particle when t here is aright-moving data particle in the cell immediately adjacent to it on the left,and a left-m oving dat a particle in the cell immediately adjacent to it on theright:

1. the two dat a particles are annihila ted;

2. a new, left- moving "answer" particle is ejecte d ;

3. the identity of th e processor particle is set t o Po or Pl in the obviousway, to reflect the value of t he carry bit .

Not ice that we can use the same left-moving par ticl es to represent the answerbits, as long as we make sure t hey pass through any right- moving par ticl esthey encounte r .

We can t hink of the two vers ions of the pro cessor particle as two dis­t inct particles, although they are really two "states" of the same part icle- insome sense analogous to the ground and excite d states of atoms . T hus, wecan alte rnat ively think of the different pr ocessor par ticles collective ly as a"processor at om," and t he Po and P: particles as different states of the sameato m . Either way, t he processor ato m occupies two slots of the occupancyvector that stores the state. We call the particular state of a part icle it sexcit ation state or it s particle identity. We use similar terminology for thedata atom, which has four states that represent binary value an d directi on.

It is not hard to see t hat this is not the only way to add , and we nowdescrib e another , to illustrat e some of t he tricks we have found useful indesigning PMs to do par ti cular tasks . One addit ion met ho d may be betterthan another in a given app lication , becau se of the placement of the addendsor the desired placement of the sum. T he second addit ion method ass umesthat the addends are sto red on top of one another, in dat a atoms that aredefined to be stat ionary. That is, t he dat a atoms of one addend are distinctfrom those of the ot her , so they can coexist in the same cell and have speedzero (see Figure 4). We can think of this situation as st oring the two nu mb ersin parallel registe rs.

We now shoot a processor atom at the two addends , from the least­significant -bit directi on. T he pr ocessor atom simply leaves the sum bit be­hind, and t akes the carry bit wit h it self in the form of its excitat ion state .

left addend

• 000 • •o • 0 • 0 •

right addend

processorparticle

Figure 4: A second method for adding binary numbers, using a proces­sor atom that sweeps across two stationary addends stored in paralleland takes the carry bit with it in the form of its excitation state.

Page 7: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

Programmable Parallel Arithmetic in CAs Using a Particle Model 317

left multiplicandprocessorparticles

DDDDDDright multiplicand

Figure 5: Two data streams colliding with a processor st ream to per­form multiplication by bit-level convolut ion.

T his method reflects the hardwar e of a ripple-carry adder , and was used in[14J.

Negation, and hence subt raction, is qui te easy to incorporate int o the CA.Just add a particle that complements data bits as it passes through t hem ,and then add one . (We assume two's-complement arithm et ic.)

5. Mult iply in g binary numbers

T he preceding description should make it clear that new kinds of particlescan always be added to a given CA implement at ion of a PM , and that theproper ties we have used can be easily incorporated in the next-st ate t ab le.

Figur e 5 shows how a bit -level systolic mult iplier [15, 16, 23, 24, 25, 30Jcan be imp lemented by a P M. As in the adders , both data and processorsare represented by par ti cles. The two sequences of bits representing themultiplicands t ravel toward each ot her and collide at a stat ionary row ofprocessor particles. At each three-way collision involving two data bits andone pr ocessor , the pr ocessor particle encodes the product bit in it s excitat ionst ate and adds it to the product bit previously stored by its state . Each right­moving data particle may be accompanied by a carry bit part icle. When thedata bits have passed each other, the bit s of the pr oduct remain enco ded inthe sta tes of the pr ocessor particles, lowest-order bit on the left . Figure 6shows the out put of a simulation program written to verify correct operationof the algorit hm .

6. Nested arithmetic

It is easy enough to "clean up " the operands afte r addit ion or mult ipli cationby sending in particles that annihilat e t he original data bits. This mayrequire sending in slow annihila tion particles first , so one op erand overtakesand hits them after the multiplication . Therefore, we can arr ange addit ionand multiplication so the results are in the same form as th e inputs. Thismakes it possible to imp lement ar bitrarily nested combinations of addit ionan d mul ti plicati on wit h the same degree of parallelism as single addition andmultiplica tion.

Figure 7 illust rates the general idea . The product A x B is added to theprodu ct C x D . The sequences of part icles representing the operations mustbe spaced with some care, so that the collisions pro ducing the product finishbefore the addition begins.

Page 8: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

318 Richard K. Squier and Ken Steiglitz

R. R. p P P P . L .L.R .R P P P P L . L .

R. R. p p p p .L .L.R .R p p p pL. L.

R. R. p p P . L P . L.R .R p p pL . p L.

R. pRo p . L p p . L.R p .R pL. p pL.

R. p . L i n. p . L p.R pL. 1 .R pL . p. L iR . 1 . L i R. p

L . 1 .R iL . 1 . R p. L 1 .L eBR. 1 pRo

L. u , B .Rei p .R. L . L 1 B eBR. p R.

L. L . 1 B B .Rep .R. L . L 1 B B iR . R.

L . L . 1 B B 1 . R .R. L . L 1 B B 1 R. R.

F igure 6: CA implementa tion of PM systolic mult iplication , shownwith most- significant bit on th e right . Row t represents the CA statesat t ime t; that is , t ime goes from top to bo ttom. The symbol "R"represents a right-moving 1, "L" a left -moving 1, and so for th. Thecom putation is 3 x 3 = 9. T he data part icles keep going afte r theyinteract with the pr ocessor particles, and would probab ly be clean edup in a pr acti cal sit uation .

[ A ~ B] .. [C • 0]

~ ~

o 0 •• 00000000 0 0 0 •

v<>

~ -- - - - - . - .._-'4. ~

• 0 • • 00000000 • 0 0 •

Fi gure 7: Illustrati on of nest ed computation. Shown is the particlest ream inj ected as input to a particle machine . Collisions among thegroup on the left will produce the product A x B , wit h the resu lt­ing product movin g right , and symmet rically for the group on theright. T hen t he particles repr esenti ng the two products will collide a ta st ationary particle that repr esent s an adder-processor , and the twoproducts will be added , as in Figure 3. The outlined "+" and " x" rep­resent the particle gro ups that produce add it ion and mult iplication ,resp ectively.

7. Digital filt ering

A multi plier-accumulat or is implemented in a PM by storing each pro duct"in par allel" with the previously accumulated sum, as in the second add it ionmet hod, which was illustra ted in Figure 4. T he new pro du ct and the oldsum are then added by sending through a ripp le-carry act ivation par ticle,which tr avels along with and immediately follows each coefficient (see F ig­ur e 8) . This makes possible the PM implementation of a fixed-point FIRfilter by having a left -moving input signal st ream hit a right-moving coef­ficient stream . The multip lications are bit- level sys to lic, and the filt er ing

Page 9: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

Programmable Parallel Arithmetic in CA s Using a Particle Model 319

+hO ~

outputs :

~ +h 1 * ~,,Yo

{

multiplier-accumulatorparticle group

"' - -~ + h2 ~ Xo ~ ~ * x , ~ ~ * x 2 *, ,, ,

Ys

Figure 8: Particle machine implementation of an FIR filt er. Thecoefficients hi collide with the input data words X t at multiplier­accumulator part icle groups indicated by "*" . Each such group con­sists of a stat ionary multiplier group that sto res its product and theaccumulated sum. The ripp le-carry adder particles, indicated by "+",accompany each coefficient hi and activate the addition of the prod­uct to the accumulated sum after each product is formed. Finally,on the ext reme left is a right-moving "propeller" part icle that t ravelst hrough the results and propels them leftward , where t hey leave themachine.

convolut ion is word-level sys tolic , so t he ent ire ca lculat ion mirrors a two­level systolic arr ay mult iplier [15, 16, 23, 24, 25, 30]. T he det ails are ted ious ,but simple examples of such a filt er have b een simulated and the idea verified .

8 . Feedback

So far we have interpreted the PM subs trate as strict ly one-d im ensional, wit hparticles passing "thro ugh" one another if they do not interact . However , wecan eas ily change our po int of view and interpret the subst rate as havinglimited exte nt in a second dimension , and t hink of parti cles as traveling ondifferent t racks. We can gro up the components of t he CA state vector andint erpret each group as holding part icles that share a common track. Allt racks op erate in par allel, and we can design special particles that causeot her part icles on different t racks to interact . The entire CA itself can t henbe t ho ught of as a fixed-wid th bus, one wire per t rack.

To illust ra t e t he u tili ty of thinking t his way, consider the problem ofimplementing a digit al filt er with a feedback loop . Suppose we have an inputst ream moving to t he left. We can send t he output stream of a computat ionback to t he right alon g a parallel t rack and have it interact wit h t he inputst ream at the processor particles doing t he filter arit hmet ic. T his feedbackt rack requires two bits , one for a "0" and one for a "I" moving to t he right. Inorder to copy t he out put stream to t he feedback track we need an addit ionalparticle, which can be t ho ught of as t raveling on a t hird track. T his "copying"particle can b e gro up ed wit h t he ot her processor par t icles and requires oneaddit ional bit in t he CA state vector. Altoget her we need t hree addit ionalbi t s in the state vector to implement feedback pro cessing .

In this mult i-track scheme, each extra t rack enlarg es the sta te space, butadds programming flexib ility to the mo de l. Ult im ately, it is t he size of t hecollision table in any par ticular implement ati on that determines t he numbe r

Page 10: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

320 Richard K. Squier and Ken Steiglitz

of tr acks t hat are pract ical. We ant icipate that only a few ext ra t racks willmake P Ms more flexibl e an d easier to progra m.

9. C onclusions

We t hink the P M fram ework described here is interesting from both a pr ac­t ical and a theoret ical po int of view. For one thing, it invit es us to thinkabout comp ut at ion in a new way, one t hat has some of the feat ures of sys­to lic arrays , bu t at the same t ime is more flexible and not ti ed closely toa particular hardw are configuration . Onc e a subs trate and its par ticl es aredefined , spe cifying st reams of particles to inj ect for par ti cular comput at ionsis a programming t ask, not a hard ware design task, although it is st ronglycons trained by the one-di mensional geometry and the interaction rul es wehave create d. T he work on map pin g algor it hms to systolic arr ays [31, 32]may help us find a good lan guage and build an effect ive compiler .

From a pract ical po int of view, the approach presented here could leadto new kinds of hardware for highly par allel computat ion, using VLSI imp le­ment ati ons of CAs. Such CAs would be dr iven by convent ional compute rsto generate t he st reams of input particl es. T he CAs t hemselves would bedesigned to support wide classes of computations.

T here are many interesting open research quest ions concern ing t he de­sign of particle sets and interactions for PMs. Of course we are espe ciallyint erest ed in find ing PMs with small or easily implement ed collision tables,which are as computationally rich and efficient as possible.

Ou r current ongoing work [34, 35] is also aimed at developin g more appli­cati ons, includin g iterati ve numerical computat ions and combinato rial pro b­lems such as st ring matching [26-29].

Acknowledgments

T his work was supporte d in par t by NSF gran t MIP -9201484 , and by a grantfrom Georgetown University.

R eferences

[1] S. A. Smit h , R. C. Watt, and S. R. Hameroff, "Cellular Au tomata in Cy­to skelet al La ttices ," Physica D, 10 (1984) 168- 174.

[2] A. J. Heeger , S. Kivelson , J . R. Schr ieffer , and W. -P. Su , "Solitons in Con­duction P olymers ," Reviews of Modern Ph ysics, 60(3) (1988) 781-850.

[3] N. Islam, J. P. Singh, and K. Steiglit z, "Soliton P hase Shifts in a Dissipati veLat t ice ," Journ al of Applied Ph ysics, 6 2(2) (1987) 689-693.

[4] F . L. Carte r , "T he Molecular Device Compute r : Point of Depar ture for LargeScale Cellular Auto mata ," Ph ysica D, 10 (1984) 175- 194.

Page 11: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

Programmable Parallel Arithmetic in CA s Using a Particle Model 321

[5] J. R. Milch , "Compute rs Based on Molecular Im plementations of CellularAutomata," presented at Third International Sympo sium on Molecular Elec­tronic Devices, Arl ington VA, Octo ber 7, 1986.

[6] S. Lloyd , "A Potentially Realiza ble Qua ntum Compute r," Science, 261(17)(1993) 1569-1571.

[7] C . Halvorson , A. Hays, B . Kr aab el, R. Wu , F . Wudl, and A. Heeger , "A160-Femtosecond Optical Im age P rocessor Based on a Conjugated Polym er ,"Science, 265(26) (1994) 1215-1216.

[8] J. K. Park, K. St eiglit z, and W . P. T hurs ton , "Soliton-Like Behavior in Au­tomat a ," Phy sica D, 19 (1986) 423-432.

[9] C. H. Goldb erg, "Parity F ilte r Automata," Complex Systems, 2 (1988) 91­141.

[10] A. S. Fokas , E. Pap ado poulou, and Y. Saridaki s, "Particles in Soliton CellularAutomata ," Complex Systems, 3 (1989) 615-633.

[11] A. S. Fokas , E . Pap ad op oulou , and Y. Saridaki s, "Coherent Structures inCellular Automata ," Phy sics Lett ers A , 147 (1990) 369- 379 .

[12] M. Bruschi , P . M. Santini , and O. Ragnisco, "Integra ble Cellular Automata ,"Phy sics Lett ers A, 169 (1992) 151-160.

[13] M. J . Ab lowit z, J . M. Keiser , and L. A. Takhtajan , "Class of St able Mu ltistateT ime- Reversib le Cellul ar Au tomata with Rich Part icle Content ," Phy sicalR eview A , 44 (1991) 6909- 6912.

.r

[14] K. Steiglit z, I. Kam al, and A. Watson , "Embe dding Computation in One-Dimensional Automata by Phase Coding Solitons," IEEE Transactions onComputers , 37 (1988) 138-145.

[15] P. R. Cappello , "Towards an FIR F ilt er Tissu e," pages 276-279 in Proceedingsof the International Confere nce on Acoust ics, Speech, and Signal Processing,Tampa , FL, Mar ch 1985.

[16] J. V . McCanny, J . G. McWhir ter , J. B . G. Roberts, D . J. Day, and T . L.Thorp, "Bit Level Syst olic Arrays," Proceedings of the Fift eenth A siloma rConference on Circuits, Systems f3 Computers , Novemb er , 1981.

[17] R. Squier and K. St eiglitz, "T wo-Dimensional F HP Latti ce-Gases Ar e Com­putation Uni versal," Compl ex Syst ems, 7 (1993) 297- 307.

[18] U. Frisch , D . cl'Humieres, B . Hasslacher , P. Lallemand, Y. Pomeau , and J. P.Rivet , "Lat t ice Gas Hydrodynamics in Two and Three Dimensions," Compl exSystems, 1 (1987) 649-707.

[19] C . H. Bennett , "Note s on the History of Reversib le Com putation," IBM Jour­nal of Research and Development , 32(1) (1988) 16-23.

Page 12: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

322 Richard K. Squier and Ken Steiglitz

[20] N. Margolus, "P hysics-Like Mode ls of Computations ," Phys ica D, 10 (1984)81-95.

[21] T. Toffoli and N. Margolus, Cellular Automata Machines: A New Environ­ment for Modeling (Cambridge: MIT Press , 1987) .

[22] H. T. Kung , "W hy Systolic Architectures?" IEEE Transactions on Comput­ers, 1 5 (1982) 37-46.

[23] H. T. Kung, L. M. Ruan e, and D. W. L. Yen , "A Two-Level P ipelined SystolicArray for Convolutions," pages 255-264 in CMU Conference on VLSI Systemsand Computations, edite d by H. T. Kung , B. Sproull, and G. St eele (Ro ckville,MD: Comput er Science Press, 1981).

[24] S. Y. Ku ng, VLSI Array Processors (Englewood Cliffs, NJ: Prent ice Ha ll,1988).

[25] P. R. Cappello and K Steiglit z, "Digital Signal Processing Applications ofSystolic Algorithms,." pages 245- 254 in CMU Conference on VLSI Systemsand Computations, edite d by H. T . Kung, B. Sproull, and G. Steele (Roc kville,MD: Comput er Science Press, 1981).

[26] H.-H. Liu and K-S . Fu , "VLSI Arrays for Minimum-Distance Classifications ,"in VLSI for Pattern Recognition and Image Processing, edited by K-S. Fu(Berlin: Sping er-Verlag , 1984) .

[27] R. J . Lipton and D. Lopr esti , "A Systolic Array for Rapi d String Compar­ison ," pages 363-376 in 1985 Chapel Hill Conference on Very Large ScaleIntegration, edited by Henry Fuchs (Ro ckville, MD: Computer Science Press,1985).

[28] R. J . Lipton and D. Loprest i, "Comparing Long Strings on a Short SystolicArray," 1986 International Work shop on Systo lic Arrays, Oxford University,July 2-4, 1986.

[29] G. M. Landau and U. Vishkin , "Int roducing Efficient Para llelism into Ap­proximate String Matching and a New Serial Algorithm," ACM STOC, (1986)220-230.

[30] F. T. Leighton, Introduction to Parallel Algorithms and Archit ectures (SanMateo, CA : Morgan Kaufman, 1992).

[31] P. R. Cappello and K St eiglitz , "Unifying VLSI Array Design wit h LinearTransformations of Space-Time," pages 23-65 in Advances in Computing Re­search: VLSI Th eory, edited by F . P. Preparata (Greenwich, CT: JAI P ress,1984).

[32] D. 1. Moldovon and J . A. B. Fortes, "Part it ioning and Mapping Algorithmsinto Fixed Systolic Arrays," IEEE Transact ions on Computers, C -35(1)(1986) 1- 12.

Page 13: Programmable Parallel Arithmetic in Cellular Automata Using a … · 2018. 3. 14. · Programmable Parallel Arithmetic in CAs Using a Particle Model 315 Figure 2: An example of a

Programmable Parallel Arithmetic in CAs Using a Particl e Mode l 323

[33] R. K. Squ ier and K. St eiglit z, "Subatomic Particle Machines: Parallel Pro­cessing in Bulk Material ," submit te d to Signal Processing Lett ers.

[34] R. K. Squ ier , K. Ste iglit z, and M. H. Jakubowski, "Implementation of Para l­lel Ar ithmet ic in a Cellular Automaton," 1995 International Conference onApplication Specific Array Processors, Strasbourg, France, July 24-26, 1995.

[35] R. K. Squ ier , K. Steiglit z, and M. H. Jakubowski, "General Par allel Compu­tation Wit hout CPUs: VLSI Realization of a Particle Machine," Technic alReport CS-TR-484-9 5, Comput er Science Department , P rinceton University(February 1995). Submitted to IEEE Transactions on Computers.