12
Concepts for numerical optical computers I. Cindrich A. Tai J. R. Fienup C. C. Aleksoff Environmental Research Institute of Michigan Radar and Optics Division Box 8618 Ann Arbor, Michigan 48107 CONTENTS 1. Background 2. Residue number system 2.1. Encoding 2.2. Decoding 2.3. Scaling 3. Basis for numerical methods 4. Processor design concepts 4.1. Cyclic phase implementation 4.2. Mapping with beam position control 4.3. Multipurpose arithmetic module 5. Extended computing applications 5.1. Polynomial evaluation 5.2. Matrix multiplication and transforms 6. Concluding remarks 7. References Abstract. The approach to the design of an optical computer or processor system has typically been analog in nature in the past. Recently design concepts for a numerical optical processor have evolved in which we see digital tech- niques implemented with optical devices. This paper describes design concepts for a numerical optical processor which is based on the residue number system. Keywords: optical processing; digital computers; integrated optics; numerical optics. Optical Engineering 20(4), 639 -650 (July /August 1981). 1. BACKGROUND Data processor systems based on analog optical devices have been used for several special purpose applications1-3 which include corre- lation and Fourier transform processing. More recently the optical implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to pursue numerical optical concepts arises from at least two points of view. Given the typical need for performance advancements in processor designs, the electronic digital processor designer often seeks greater speed and packing density while the optical processor designer strives for greater accuracy and programmability. Numeri- cal methods implemented with optical or, more accurately, hybrid optical concepts, though in an early state of study, appear to provide a potential for advancement of these system performance factors. Numerical optical design concepts are, of course, based on han- dling data in a quantized and encoded form. A wide range of comput- ing or processing operations is of interest, generally starting with basic arithmetic ( +, -, X, ±) and building into more complex operations. Included in any study of these topics are the choices of number system and system architecture. Our interest here will be the design of optical processors which are based upon the residue number system. In this paper, we review briefly the residue number system and then go on to examples of numerical optical processor design concepts. Invited Paper 5064 received May 27, 1980; revised manuscript received Sept. 29, 1980; accepted for publication Oct. 2, 1980; received by Managing Editor Oct. 10, 1980. This paper is a revision of Paper 185 -01 which was presented at the SPIE seminar on Optical Processing Systems, May 22 -23, 1979, Huntsville, AL. The paper presented there appears (unrefereed) in SPIE Proceedings Vol. 185. © 1981 Society of Photo -Optical Instrumentation Engineers. 2. RESIDUE NUMBER SYSTEM The residue number systems-11 deals with integer numbers only. Its virtue in processor design lies in its cyclic property and the fact that carry operations are not needed when performing arithmetic, thereby allowing a high degree of parallelism in the system architecture. The residue representation for a number X is given by a set of integers as X = (r1, r2, . . ., rn) (1) Each digit ri is the residue or least nonnegative remainder obtained when X is divided by a prescribed set of base numbers or moduli, m1, m2, ..., mn, which are relatively prime integers. Illustrated in Table I is the correspondence between a decimal number X and its residue for moduli 2, 3, and 5. The available range of representation, M, is TABLE I. Residue Number Representations X rt(m=2) r2(m = 3) r3Om=5) o 0 0 o 1 2 0 2 2 3 1 o 3 4 0 4 5 1 2 0 limited to the product of the moduli being used, i.e., M = mi . i=l (2) For moduli 5, 7, and 9, we have a range M = 315 which is equivalent to that of an eight bit binary system. Moduli 31, 32, and 33 on the other hand give M = 32,736 for a range equivalent to fifteen bits. Each residue digit is cyclic as seen in Table I. The residue representa- tion is also cyclic over its range M which means that a number X that is larger than M will be represented modulo M. Addition is accomplished by adding, modulo mi, residue digits of common modulus independently (no carry). For example, numbers X and Y in residue form will be IXIm and IYIm; the sum of these is 1Xlm + IY1m; and this sum reduced to residue is 11XIm + IYIm1m More specifically with X = 7 and Y = 3, we have for modulus 5 the residue numbers 1 715 = 2 and 13 1 5 = 3 giving l 715 +1315 = 5 and the result that 11715 + 13k15 =12 + 315 = 0. This is the residue digit OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4 / 639 Concepts for numerical optical computers I. Cindrich A. Tai J. R. Fienup C. C. Aleksoff Environmental Research Institute of Michigan Radar and Optics Division Box 8618 Ann Arbor, Michigan 48107 Abstract. The approach to the design of an optical computer or processor system has typically been analog in nature in the past. Recently design concepts for a numerical optical processor have evolved in which we see digital tech- niques implemented with optical devices. This paper describes design concepts for a numerical optical processor which is based on the residue number system. Keywords: optical processing; digital computers; integrated optics; numerical optics. Optical Engineering 20(4), 639-650 (July/August 1981). CONTENTS 1. Background 2. Residue number system 2.1. Encoding 2.2. Decoding 2.3. Scaling 3. Basis for numerical methods 4. Processor design concepts 4.1. Cyclic phase implementation 4.2. Mapping with beam position control 4.3. Multipurpose arithmetic module 5. Extended computing applications 5.1. Polynomial evaluation 5.2. Matrix multiplication and transforms 6. Concluding remarks 7. References 1. BACKGROUND Data processor systems based on analog optical devices have been used for several special purpose applications 1 ' 3 which include corre- lation and Fourier transform processing. More recently the optical implementation of numerical (digital) methods in processor system design has been under study by several investigators. 4" 7 Motivation to pursue numerical optical concepts arises from at least two points of view. Given the typical need for performance advancements in processor designs, the electronic digital processor designer often seeks greater speed and packing density while the optical processor designer strives for greater accuracy and programmability. Numeri- cal methods implemented with optical or, more accurately, hybrid optical concepts, though in an early state of study, appear to provide a potential for advancement of these system performance factors. Numerical optical design concepts are, of course, based on han- dling data in a quantized and encoded form. A wide range of comput- ing or processing operations is of interest, generally starting with basic arithmetic (+, , X, -i-) and building into more complex operations. Included in any study of these topics are the choices of number system and system architecture. Our interest here will be the design of optical processors which are based upon the residue number system. In this paper, we review briefly the residue number system and then go on to examples of numerical optical processor design concepts. Invited Paper 5064 received May 27, 1980; revised manuscript received Sept. 29, 1980; accepted for publication Oct. 2, 1980; received by Managing Editor Oct. 10, 1980. This paper is a revision of Paper 185-01 which was presented at the SPIE seminar on Optical Processing Systems, May 22-23, 1979, Huntsville, AL. The paper presented there appears (unrefereed) in SPIE Proceedings Vol. 185. © 1981 Society of Photo-Optical Instrumentation Engineers. 2. RESIDUE NUMBER SYSTEM The residue number system8" 11 deals with integer numbers only. Its virtue in processor design lies in its cyclic property and the fact that carry operations are not needed when performing arithmetic, thereby allowing a high degree of parallelism in the system architecture. The residue representation for a number X is given by a set of integers as = (r 1 ,r 2 ,...,r n ) (1) Each digit q is the residue or least nonnegative remainder obtained when X is divided by a prescribed set of base numbers or moduli, nij, m2 ,..., mn , which are relatively prime integers. Illustrated in Table I is the correspondence between a decimal number X and its residue for moduli 2, 3, and 5. The available range of representation, M, is TABLE I. Residue Number Representations r 9 (m = r3 (m = 5) 0 1 2 3 4 5 0 1 0 1 0 1 0 1 2 0 1 2 0 1 2 3 4 0 limited to the product of the moduli being used, i.e., M = (2) For moduli 5, 7, and 9, we have a range M 315 which is equivalent to that of an eight bit binary system. Moduli 31, 32, and 33 on the other hand give M = 32,736 for a range equivalent to fifteen bits. Each residue digit is cyclic as seen in Table I. The residue representa- tion is also cyclic over its range M which means that a number X that is larger than M will be represented modulo M. Addition is accomplished by adding, modulo m- r residue digits of common modulus independently (no carry). For example, numbers X and Y in residue form will be |X| m and |Y| m ; the sum of these is Wm + Mm' and this sum reduced to residue is ||X| m + |Y|J m . More specifically with X = 7 and Y = 3, we have for modulus 5 the residue numbers|7| 5 = 2 and |3| 5 = 3 giving|7| 5 +|3| 5 = 5 and the result that ||7| 5 + |3| 5 | 5 = |2 + 3| 5 = 0. This is the residue digit OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4 / 639 Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

Concepts for numerical optical computers

I. CindrichA. TaiJ. R. FienupC. C. AleksoffEnvironmental Research Institute of MichiganRadar and Optics DivisionBox 8618Ann Arbor, Michigan 48107

CONTENTS1. Background2. Residue number system

2.1. Encoding2.2. Decoding2.3. Scaling

3. Basis for numerical methods4. Processor design concepts

4.1. Cyclic phase implementation4.2. Mapping with beam position control4.3. Multipurpose arithmetic module

5. Extended computing applications5.1. Polynomial evaluation5.2. Matrix multiplication and transforms

6. Concluding remarks7. References

Abstract. The approach to the design of an optical computer or processorsystem has typically been analog in nature in the past. Recently design conceptsfor a numerical optical processor have evolved in which we see digital tech-niques implemented with optical devices. This paper describes design conceptsfor a numerical optical processor which is based on the residue number system.

Keywords: optical processing; digital computers; integrated optics; numerical optics.

Optical Engineering 20(4), 639 -650 (July /August 1981).

1. BACKGROUNDData processor systems based on analog optical devices have beenused for several special purpose applications1-3 which include corre-lation and Fourier transform processing. More recently the opticalimplementation of numerical (digital) methods in processor systemdesign has been under study by several investigators.4-7 Motivationto pursue numerical optical concepts arises from at least two pointsof view. Given the typical need for performance advancements inprocessor designs, the electronic digital processor designer oftenseeks greater speed and packing density while the optical processordesigner strives for greater accuracy and programmability. Numeri-cal methods implemented with optical or, more accurately, hybridoptical concepts, though in an early state of study, appear to providea potential for advancement of these system performance factors.

Numerical optical design concepts are, of course, based on han-dling data in a quantized and encoded form. A wide range of comput-ing or processing operations is of interest, generally starting withbasic arithmetic ( +, -, X, ±) and building into more complexoperations. Included in any study of these topics are the choices ofnumber system and system architecture. Our interest here will be thedesign of optical processors which are based upon the residuenumber system. In this paper, we review briefly the residue numbersystem and then go on to examples of numerical optical processordesign concepts.

Invited Paper 5064 received May 27, 1980; revised manuscript received Sept. 29, 1980;accepted for publication Oct. 2, 1980; received by Managing Editor Oct. 10, 1980. Thispaper is a revision of Paper 185 -01 which was presented at the SPIE seminar on OpticalProcessing Systems, May 22 -23, 1979, Huntsville, AL. The paper presented thereappears (unrefereed) in SPIE Proceedings Vol. 185.© 1981 Society of Photo -Optical Instrumentation Engineers.

2. RESIDUE NUMBER SYSTEMThe residue number systems-11 deals with integer numbers only. Itsvirtue in processor design lies in its cyclic property and the fact thatcarry operations are not needed when performing arithmetic, therebyallowing a high degree of parallelism in the system architecture. Theresidue representation for a number X is given by a set of integers as

X = (r1, r2, . . ., rn) (1)

Each digit ri is the residue or least nonnegative remainder obtainedwhen X is divided by a prescribed set of base numbers or moduli, m1,m2, ..., mn, which are relatively prime integers. Illustrated in Table I

is the correspondence between a decimal number X and its residuefor moduli 2, 3, and 5. The available range of representation, M, is

TABLE I. Residue Number Representations

X rt(m=2) r2(m = 3) r3Om=5)

o 0 0 o

1

2 0 2 2

3 1 o 3

4 0 4

5 1 2 0

limited to the product of the moduli being used, i.e.,

M = mi .

i=l(2)

For moduli 5, 7, and 9, we have a range M = 315 which is equivalentto that of an eight bit binary system. Moduli 31, 32, and 33 on theother hand give M = 32,736 for a range equivalent to fifteen bits.Each residue digit is cyclic as seen in Table I. The residue representa-tion is also cyclic over its range M which means that a number X thatis larger than M will be represented modulo M.

Addition is accomplished by adding, modulo mi, residue digits ofcommon modulus independently (no carry). For example, numbersX and Y in residue form will be IXIm and IYIm; the sum of these is1Xlm + IY1m; and this sum reduced to residue is 11XIm + IYIm1mMore specifically with X = 7 and Y = 3, we have for modulus 5 theresidue numbers 1 715 = 2 and 13 1 5 = 3 giving l 715 +1315 = 5 and theresult that 11715 + 13k15 =12 + 315 = 0. This is the residue digit

OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4 / 639

Concepts for numerical optical computers

I. Cindrich A. TaiJ. R. Fienup C. C. AleksoffEnvironmental Research Institute of MichiganRadar and Optics DivisionBox 8618Ann Arbor, Michigan 48107

Abstract. The approach to the design of an optical computer or processor system has typically been analog in nature in the past. Recently design concepts for a numerical optical processor have evolved in which we see digital tech­ niques implemented with optical devices. This paper describes design concepts for a numerical optical processor which is based on the residue number system.

Keywords: optical processing; digital computers; integrated optics; numerical optics.

Optical Engineering 20(4), 639-650 (July/August 1981).

CONTENTS1. Background2. Residue number system

2.1. Encoding2.2. Decoding2.3. Scaling

3. Basis for numerical methods4. Processor design concepts

4.1. Cyclic phase implementation4.2. Mapping with beam position control4.3. Multipurpose arithmetic module

5. Extended computing applications5.1. Polynomial evaluation5.2. Matrix multiplication and transforms

6. Concluding remarks7. References

1. BACKGROUNDData processor systems based on analog optical devices have been used for several special purpose applications 1 ' 3 which include corre­ lation and Fourier transform processing. More recently the optical implementation of numerical (digital) methods in processor system design has been under study by several investigators. 4" 7 Motivation to pursue numerical optical concepts arises from at least two points of view. Given the typical need for performance advancements in processor designs, the electronic digital processor designer often seeks greater speed and packing density while the optical processor designer strives for greater accuracy and programmability. Numeri­ cal methods implemented with optical or, more accurately, hybrid optical concepts, though in an early state of study, appear to provide a potential for advancement of these system performance factors.

Numerical optical design concepts are, of course, based on han­ dling data in a quantized and encoded form. A wide range of comput­ ing or processing operations is of interest, generally starting with basic arithmetic (+, , X, -i-) and building into more complex operations. Included in any study of these topics are the choices of number system and system architecture. Our interest here will be the design of optical processors which are based upon the residue number system. In this paper, we review briefly the residue number system and then go on to examples of numerical optical processor design concepts.

Invited Paper 5064 received May 27, 1980; revised manuscript received Sept. 29, 1980; accepted for publication Oct. 2, 1980; received by Managing Editor Oct. 10, 1980. This paper is a revision of Paper 185-01 which was presented at the SPIE seminar on Optical Processing Systems, May 22-23, 1979, Huntsville, AL. The paper presented there appears (unrefereed) in SPIE Proceedings Vol. 185. © 1981 Society of Photo-Optical Instrumentation Engineers.

2. RESIDUE NUMBER SYSTEMThe residue number system8" 11 deals with integer numbers only. Its virtue in processor design lies in its cyclic property and the fact that carry operations are not needed when performing arithmetic, thereby allowing a high degree of parallelism in the system architecture. The residue representation for a number X is given by a set of integers as

= (r 1 ,r2,...,rn) (1)

Each digit q is the residue or least nonnegative remainder obtained when X is divided by a prescribed set of base numbers or moduli, nij, m2,..., mn , which are relatively prime integers. Illustrated in Table I is the correspondence between a decimal number X and its residue for moduli 2, 3, and 5. The available range of representation, M, is

TABLE I. Residue Number Representations

r9 (m = r3 (m = 5)

0

12

3

4

5

0

1

0

1

0

1

0

1

2

0

1

2

0

1

2

3

4

0

limited to the product of the moduli being used, i.e.,

M = (2)

For moduli 5, 7, and 9, we have a range M 315 which is equivalent to that of an eight bit binary system. Moduli 31, 32, and 33 on the other hand give M = 32,736 for a range equivalent to fifteen bits. Each residue digit is cyclic as seen in Table I. The residue representa­ tion is also cyclic over its range M which means that a number X that is larger than M will be represented modulo M.

Addition is accomplished by adding, modulo m-r residue digits of common modulus independently (no carry). For example, numbers X and Y in residue form will be |X| m and |Y| m ; the sum of these is Wm + Mm' and this sum reduced to residue is ||X| m + |Y|J m . More specifically with X = 7 and Y = 3, we have for modulus 5 the residue numbers|7| 5 = 2 and |3| 5 = 3 giving|7| 5 +|3| 5 = 5 and the result that ||7| 5 + |3| 5 | 5 = |2 + 3| 5 = 0. This is the residue digit

OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4 / 639

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 2: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CINDRICH, TAI, FIENUP, ALEKSOFF

modulus 5 for the sum of 7 and 3. Another example is given below formoduli 2, 3, and 5 with X = 21 and Y = 4.

X = (1, 0, 1)+ Y = (0, 1, 4)

X+Y=(l, 1, 0)

(3)

Subtraction is also performed by operating on each modulusindependently. A subtraction operation may be converted into anaddition operation by transforming the subtractor into its additiveinverse. The additive inverse is denoted I -X l and is defined by thefollowing relationship:

IXIm Im = O. (4)

For modulus seven, the additive inverse of the residue digit I X 1 7 _5 will be 1 -XI7 = 2. An example of subtraction using the additiveinverse for the operaton X -Y with X = 8 and Y = 3 is given below formoduli 2, 3, and 5:

8 = (0, 2, 3)+ ( -3) = (1, 0, 3)

8 +(- 3)= (1,2,0)

(5)

Multiplication can be carried out in any one of several ways. Onemethod consists of multiplication of digits having a common modu-lus followed by taking the residue of each product. A secondapproach is to simply perform successive addition of the multipli-cand. The homomorphic method provides a third approach, usableonly for prime moduli. The multiplication modulo m is accom-plished by an addition modulo m - 1, provided that a transforma-tion is appropriately applied before and following the addition step.The transformation is straightforward. A residue number 1 X l m uponbeing transformed will have a value K where K is defined by therelation IXIm = IbKlm with b a prescribed integer. The selection ofthe base or generator integer b is not arbitrary. It is limited to a subsetof integers which works for all residues of the modulus of interest, asdescribed under the topic of index calculus by Szabo and Tanaka.8Generator integers satisfying this requirement are called primitiveroots. The inverse transformation entails finding I bK 1m when givenK. Examples of the transformed pairs for moduli five (b = 2) andseven (b = 3) are shown in Table II. The transform for the numberIXIm = 0 is not defined. However this exception is not troublesomebecause multiplication with zero will always result in zero. Note thatthe transformation table for a modulus m will always have only m -1 entries and the addition step is performed modulo m - 1.

As an example of multiplication using the log -like transformationand modulo m - 1 addition, consider the operation X X Y = Z withX = 4 and Y = 3 using the modulus 5. The forward transform isapplied to X and Y, the result is added modulo 4, and then this sum isinverse transformed as shown below:

14151=>K=2 and 1315 bK=312 + 314 = 1

1i*Z=I21I5=2.(6)

The result 2 is the residue digit of modulus 5 for the expected answer12, i.e., 2 =11215.

General division is not readily accommodated in the residuesystem. However, division by an integer with remainder zero can beperformed with the approach illustrated above for multiplicationexcept that the transformed divisor is subtracted from the trans-formed dividend. Though division with remainder zero is of limitedapplicability, it is useful for the important operation of scaling.Scaling is used to bring a large number into the available range

640 / OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4

TABLE II. Log -like Transformation Examples

1)(15 ---121(15 K Ix17=13K17 K

1 0 0

2 1 2 2

3 3 3 1

4 2 4 4

5 5

6 3

M = Hmi.

The range required of the number system is established by thetype of arithmetic operation to be performed. For addition, if thelargest numbers to be added are N, then the range M should be atleast as large as 2N. For multiplication with largest numbers N, therange needed is N2. Division with largest dividend N requires a rangeno larger than N. In subtraction, what must be recognized is that anegative number does not have a sign symbol designation. Negativenumbers can be handled by assigning the interval 0 to M / 2 - 1 torepresent positive numbers and M/2 + 1 to M - 1 to represent thenegative numbers -M /2 + 1 to -1. Therefore with largest operandN, we require a range M = 2N.

2.1. Encoding

Data made available to a residue arithmetic optical processor may bein analog or digital form. Provisions for encoding the input data intoresidue representation will depend upon the optical devicesemployed in the processor design. With optical devices which arecyclic, the analog input data can be encoded to residue representa-tion in a direct manner, whereas noncyclic devices will require a moreextensive encoding step. When encoding is needed, one approach isto convert the analog input to an intermediate binary form and thenproceed with residue encoding of the binary data. For example,conversion of the binary number 110 for modulus 3 proceeds asfollows:

1103 =111X2213+11X2113+10X2°1313 = 1 . (7)

2.2. Decoding

Conversion of a residue number to a weighted number systemrepresentation, such as the decimal numbers, is a more complexoperation than encoding. Residue to mixed radix conversion is oftenused and has the advantage that familiar residue arithmetic opera-tions are employed. The algorithm for this decoding is described withthe flow diagram of Fig. 1 for a residue number of four digits (r1, r2,r3, r4) corresponding to moduli 2, 3, 5, and 7. The operationsinvolved are a sequence of subtractions and multiplications whichresult in coefficients of the equivalent mixed radix number (a1,a2 ... aN). For this example, the decoded result would be X = al +a2(2) + a3(2 X 3) + a4(2 X 3X 5). Multiplication in this procedure isperformed using the multiplicative inverse denoted

I l/KImi

which is defined by the relation

1KX11/KImi m i = I

Conversion from residue to mixed radix form is useful not onlyfor decoding but also for the important operations of sign detection,magnitude comparison and overflow detection. The conversion frommixed radix back to the residue system is straightforward. Considerstarting with the mixed radix representation X = (a1, a2, a3, a4) for

CINDRICH,TAI, FIENUP, ALEKSOFF

modulus 5 for the sum of 7 and 3. Another example is given below for moduli 2, 3, and 5 with X = 21 and Y = 4.

TABLE II. Log-like Transformation Examples

X = (1, 0, 1)

+ Y = (0, 1, 4)

X + Y = (1, 1, 0)

(3)

Subtraction is also performed by operating on each modulus independently. A subtraction operation may be converted into an addition operation by transforming the subtracter into its additive inverse. The additive inverse is denoted | X| m and is defined by the following relationship:

|x| (4)

For modulus seven, the additive inverse of the residue digit | X1 7 = 5 will be | X| 7 = 2. An example of subtraction using the additive inverse for the operaton X Y with X = 8 and Y = 3 is given below for moduli 2, 3, and 5:

8 = (0, 2, 3)

+ (-3) = (1, 0, 3)

+ (-3) - (1, 2, 0)

(5)

Multiplication can be carried out in any one of several ways. One method consists of multiplication of digits having a common modu­ lus followed by taking the residue of each product. A second approach is to simply perform successive addition of the multipli­ cand. The homomorphic method provides a third approach, usable only for prime moduli. The multiplication modulo m is accom­ plished by an addition modulo m 1, provided that a transforma­ tion is appropriately applied before and following the addition step. The transformation is straightforward. A residue number | X | m upon being transformed will have a value K where K is defined by the relation |X| m = Ib1^^ with b a prescribed integer. The selection of the base or generator integer b is not arbitrary. It is limited to a subset of integers which works for all residues of the modulus of interest, as described under the topic of index calculus by Szabo and Tanaka. 8 Generator integers satisfying this requirement are called primitive roots. The inverse transformation entails finding |bK | m when given K. Examples of the transformed pairs for moduli five (b 2) and seven (b = 3) are shown in Table II. The transform for the number |X| m 0 is not defined. However this exception is not troublesome because multiplication with zero will always result in zero. Note that the transformation table for a modulus m will always have only m 1 entries and the addition step is performed modulo m 1.

As an example of multiplication using the log-like transformation and modulo m 1 addition, consider the operation X X Y = Z with X = 4 and Y = 3 using the modulus 5. The forward transform is applied to X and Y, the result is added modulo 4, and then this sum is inverse transformed as shown below:

|4| 5 ^K = : and |3

3| 4 =l (6)

12

3

4

0

1

3

2

1

2

3

4

5

6

0

2

1

4

5

3

The range required of the number system is established by the type of arithmetic operation to be performed. For addition, if the largest numbers to be added are N, then the range M should be at least as large as 2N. For multiplication with largest numbers N, the range needed is N2 . Division with largest dividend N requires a range no larger than N. In subtraction, what must be recognized is that a negative number does not have a sign symbol designation. Negative numbers can be handled by assigning the interval 0 to M/2 1 to represent positive numbers and M/2 + 1 to M 1 to represent the negative numbers M/2 4- 1 to 1. Therefore with largest operand N, we require a range M = 2N.

2.1. EncodingData made available to a residue arithmetic optical processor may be in analog or digital form. Provisions for encoding the input data into residue representation will depend upon the optical devices employed in the processor design. With optical devices which are cyclic, the analog input data can be encoded to residue representa­ tion in a direct manner, whereas noncyclic devices will require a more extensive encoding step. When encoding is needed, one approach is to convert the analog input to an intermediate binary form and then proceed with residue encoding of the binary data. For example, conversion of the binary number 110 for modulus 3 proceeds as follows:

1103 - ||1X22 | 3 +|1X2 1 | 3 +|OX2°| 3 | 3 - (7)

2.2. DecodingConversion of a residue number to a weighted number system representation, such as the decimal numbers, is a more complex operation than encoding. Residue to mixed radix conversion is often used and has the advantage that familiar residue arithmetic opera­ tions are employed. The algorithm for this decoding is described with the flow diagram of Fig. 1 for a residue number of four digits (rj, r2 , r3 , r4) corresponding to moduli 2, 3, 5, and 7. The operations involved are a sequence of subtractions and multiplications which result in coefficients of the equivalent mixed radix number (a h a2 . . . aN). For this example, the decoded result would be X = a l + a2 (2) + a3 (2 X 3) + a4 (2 X 3X 5). Multiplication in this procedure is performed using the multiplicative inverse denoted

The result 2 is the residue digit of modulus 5 for the expected answer 12, i.e., 2= 12| 5 .

General division is not readily accommodated in the residue system. However, division by an integer with remainder zero can be performed with the approach illustrated above for multiplication except that the transformed divisor is subtracted from the trans­ formed dividend. Though division with remainder zero is of limited applicability, it is useful for the important operation of scaling. Scaling is used to bring a large number into the available range

which is defined by the relation

IKX i/K| m .| m . = i .

Conversion from residue to mixed radix form is useful not only for decoding but also for the important operations of sign detection, magnitude comparison and overflow detection. The conversion from mixed radix back to the residue system is straightforward. Consider starting with the mixed radix representation X = (a p a2 , a3 , a4) for

640 / OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 3: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

MOD MOD2 3

r1(a1) r2

-a1

l x1 213

MOD5

r3

-a1

x I 2 15

MOD7

r4

I

a2 H

x11H5

-a2

al a2 a3 a4

X = al.a2(2).a3(2'3)'a4(2'3' 5)

Fig. 1. Residue to mixed radix conversion.

moduli 2, 3, 5, and 7. The residue digit r for modulus mi is obtainedwith the following expression:

r = lad 11mi i 1

+azl X2m+a31 X2X3m.

+a411 X2X3X51milm

i

(8)

2.3. ScalingOverflow may be a more demanding consideration in residue arith-metic than in conventional arithmetic which utilizes a weightednumber system. Detection of overflow is not as automatic as withweighted number systems and it is desirable to avoid occurrence ofoverflow.12 -14 This would require a periodic down -scaling of theresidue numbers. To do this, division operations would be necessary.As pointed out earlier, general division cannot be carried out easilyand scaling by an arbitrary factor would not be practical. One can,however, scale a residue number by a factor equal to the value of oneof the moduli or a product of two or more moduli. For example, for asystem with moduli 2, 3, 5, and 7, if we are to scale down a number X= 191 = (1, 2, 1, 2) by a factor of 7, we proceed as follows: since thedivisor 7 is also a modulus, the corresponding residue 1 X 17 = 2 wouldbe equal to the remainder when the number X is divided by 7.Therefore, X - IXI7 is always divisible by 7 and the homomorphicapproach can be applied for the division operation. However, formodulus 7, the divisor is equal to 0 and division by 0 is not defined.The general approach is to proceed with the division while ignoringmodulus 7. The residue of the quotient for modulus 7 is thenobtained using the extension of base procedure8 which is essentially aresidue to mixed radix conversion.

With some of the basic properties of residue number systems inhand, we go on in the following sections to describe examples ofoptical implementation concepts.

3. BASIS FOR NUMERICAL METHODSFundamental to the optical implementation of a numerical processor isthe use of devices which provide numerical control of a light beam orwave. Phase, polarization, position, and intensity of a light beam arethe physical properties which may be considered for implementation.

Consider the control of light wave phase as a light beam passesthrough an electro -optic modulator depicted functionally in Fig. 2.

ewt Input

Beam

Electro -Optic

PhaseModulator

ÎControlVoltage

PhaseShiftedOutput

F = n4A = 2n/m

i )

Fig. 2. Cyclic phase operation.

Since the phase of the light wave is inherently cyclic modulo 27r, thenby providing control of the phase shift in increments of A, with A =27r/ m and m the desired residue modulus, the phase of the emergentlight wave will serve as a residue number representation. For exam-ple, for modulus 5, we make A = 2 ir/ 5. As the phase is changedincrementally, we progress through A, 2 A, 3 A, and 4 A and then startto repeat modulo 2 r since we have equivalence between 0 and 5A,2A and 6A, etc. With an input (control voltage) that is continuousrather than quantized, the optical phase shift modulator device maybe designed to provide a quantized response, analogous toapproaches under development with polarization modulationschemes.5 15 Otherwise, quantization must be provided at the point ofdetection or in the applied control voltage itself.

In addition to electro -optic devices, others are available based onacousto- optics, thermo- optics, and material deformation (opticalpath length modulation) for the control of the phase of a light wave.

Rather than altering the phase of light wave, the polarizationangle which is also inherently cyclic can be used for residue numberrepresentation.4. 15 Choice of approaches for realizing quantized con-trol is similar to that discussed above for phase control.

Position control of a light beam, or mapping, for residue numberrepresentation is depicted in Fig. 3. In this example, optical switchessteer (or deflect) the input beam into selectable exit paths. Each of thesix optical switches has two output ports which are selectable by acontrol voltage. The switches either pass the entering light beamundeflected or steer the beam to an alternate path. Any one of theinput positions can be switched to any of the three output positionsusing simple switching logic in which the switches are activated a rowat a time. A fixed set of light beam paths can also be useful where theprogrammability provided by optical switches is not needed. Thelight beam paths may be open or confined (e.g., optical wave guides,fibers, stacked diffraction gratings, etc.). Switching devices such asoptical wave -guide couplers, acousto -optic diffraction cells and fiberoptics couplers may be used for position or path control. The beampaths are discrete and the switches are generally controlled withbinary control signals.

Instead of individual two state switches for beam position con-trol, devices having multiple output positions may also be used.Some acousto -optic beam deflector designs, for example, can pro-vide at least 10-3 discernible output positions which might serve inplace of a set of two -position optical switches.

Use of the intensity level of a light beam for residue numberrepresentation may be realized by the direct control of a light sourceor by external control of the emitted beam. External control can beachieved by analyzing a light wave whose phase or polarization anglehas been modulated as noted above. Direct control of the light sourceis also possible (laser, light emitting diode (LED), etc.). However, in

OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4 / 641

CONCEPTS FOR NUMER ICAL OPTICAL COMPUTERS

Fig. 1. Residue to mixed radix conversion.

moduli 2, 3, 5, and 7. The residue digit r for modulus irij is obtained with the following expression:

a4 |lX2X3X5| (8)

2.3. ScalingOverflow may be a more demanding consideration in residue arith­ metic than in conventional arithmetic which utilizes a weighted number system. Detection of overflow is not as automatic as with weighted number systems and it is desirable to avoid occurrence of overflow. 12- 14 This would require a periodic down-scaling of the residue numbers. To do this, division operations would be necessary. As pointed out earlier, general division cannot be carried out easily and scaling by an arbitrary factor would not be practical. One can, however, scale a residue number by a factor equal to the value of one of the moduli or a product of two or more moduli. For example, for a system with moduli 2, 3, 5, and 7, if we are to scale down a number X = 191 =(1, 2, 1, 2) by a factor of 7, we proceed as follows: since the divisor 7 is also a modulus, the corresponding residue | X1 7 = 2 would be equal to the remainder when the number X is divided by 7. Therefore, X |X| 7 is always divisible by 7 and the homomorphic approach can be applied for the division operation. However, for modulus 7, the divisor is equal to 0 and division by 0 is not defined. The general approach is to proceed with the division while ignoring modulus 7. The residue of the quotient for modulus 7 is then obtained using the extension of base procedure8 which is essentially a residue to mixed radix conversion.

With some of the basic properties of residue number systems in hand, we go on in the following sections to describe examples of optical implementation concepts.

3. BASIS FOR NUMERICAL METHODSFundamental to the optical implementation of a numerical processor is the use of devices which provide numerical control of a light beam or wave. Phase, polarization, position, and intensity of a light beam are the physical properties which may be considered for implementation.

Consider the control of light wave phase as a light beam passes through an electro-optic modulator depicted functionally in Fig. 2.

Input \ Beam '

Electro-OpL icPhase

Modulator

Control Voltage

PhaseShiftedOutput

nA 2TT/m

Fig. 2. Cyclic phase operation.

Since the phase of the light wave is inherently cyclic modulo 2 TT, then by providing control of the phase shift in increments of A, with A = 27r/m and m the desired residue modulus, the phase of the emergent light wave will serve as a residue number representation. For exam­ ple, for modulus 5, we make A = 27T/5. As the phase is changed incrementally, we progress through A, 2 A, 3 A, and 4 A and then start to repeat modulo 2n since we have equivalence between 0 and 5 A, 2 A and 6 A, etc. With an input (control voltage) that is continuous rather than quantized, the optical phase shift modulator device may be designed to provide a quantized response, analogous to approaches under development with polarization modulation schemes. 5 - 15 Otherwise, quantization must be provided at the point of detection or in the applied control voltage itself.

In addition to electro-optic devices, others are available based on acousto-optics, thermo-optics, and material deformation (optical path length modulation) for the control of the phase of a light wave.

Rather than altering the phase of light wave, the polarization angle which is also inherently cyclic can be used for residue number representation. 4' 15 Choice of approaches for realizing quantized con­ trol is similar to that discussed above for phase control.

Position control of a light beam, or mapping, for residue number representation is depicted in Fig. 3. In this example, optical switches steer (or deflect) the input beam into selectable exit paths. Each of the six optical switches has two output ports which are selectable by a control voltage. The switches either pass the entering light beam undeflected or steer the beam to an alternate path. Any one of the input positions can be switched to any of the three output positions using simple switching logic in which the switches are activated a row at a time. A fixed set of light beam paths can also be useful where the programmability provided by optical switches is not needed. The light beam paths may be open or confined (e.g., optical wave guides, fibers, stacked diffraction gratings, etc.). Switching devices such as optical wave-guide couplers, acousto-optic diffraction cells and fiber optics couplers may be used for position or path control. The beam paths are discrete and the switches are generally controlled with binary control signals.

Instead of individual two state switches for beam position con­ trol, devices having multiple output positions may also be used. Some acousto-optic beam deflector designs, for example, can pro­ vide at least 103 discernible output positions which might serve in place of a set of two-position optical switches.

Use of the intensity level of a light beam for residue number representation may be realized by the direct control of a light source or by external control of the emitted beam. External control can be achieved by analyzing a light wave whose phase or polarization angle has been modulated as noted above. Direct control of the light source is also possible (laser, light emitting diode (LED), etc.). However, in

OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4 / 641

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 4: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CINDRICH, TAI, FIENUP, ALEKSOFF

Fig. 3. Light beam position mapping for modulus 3 programmableoperation.

this case, the cyclic property is not inherent and must be provided bythe control signal itself.

Combined use of more than one property of a light beam is alsopossible. As an example, phase and position control are shown inFig. 4. This approach provides for residue number representation asan incremental phase shift as mentioned earlier. However, for thiscase, phase shift elements of a fixed and passive type are used withtheir selection made by choice of beam path. Instead of the phaseshift elements of Fig. 4, the use of optical attenuation elements wouldprovide beam intensity control while the use of polarization rotatorelements would give the residue representation as polarization angles.

Recall that the range of numerical representation in residue formhas two salient range properties, the range of individual moduli ml,m2, ... , mn and the total range M. In the case of an optical phase shiftdevice, for example, the phase modulator must have a modulationcapability over the full range M if the modulator control voltage is tobe a continuous variable. If, on the other hand, the modulatorcontrol voltage is encoded to correspond to the range of an individualmodulus, then the phase shift modulator device need only respondover the more limited range of that modulus.

Having introduced the notion of quantized and cyclic control oflight beam properties for residue number representation, we presentin the next section examples of numerical optical processor designconcepts.

4. PROCESSOR DESIGN CONCEPTSThe design of a numerical optical processor can vary considerablywith choice of optical hardware, computer architecture, and inter-face and control assumptions. We consider in this section twoapproaches for basic computing tasks which can be extended to morecomplex calculations. The approaches differ in the choice of thephysical property of a light beam that is being used for residuenumber representation. One approach employs phase control of alight wave with its inherent cyclic property and the other utilizes lightbeam position control or mapping.

642 / OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4

Fig. 4. Mapping and phase control combined for modulus 3 operation.

4.1. Cyclic phase implementationAs an example of cyclic device, we take the case of spatial phasemodulation which can be implemented with such devices as acousto-optic spatial phase modulators.16 We start with the basic set ofcomponents shown in Fig. 5 which consists of two modulators andthe means for introducing collimated light waves into each of them.The collimated beams 1 and 2 originate from a laser diode lightsource directed through a collimating lens and a beam splitter gratingG. This arrangement serves as an interferometer which provides aninterference or fringe pattern at its output.1 7 It will operate with lightsources of modest coherence. The spatial frequency (carrier) in themodulators is twice the grating frequency in G. If the modulators

Fig. 5. Cyclic phase operation with a grating interferometer usingacousto -optic gratings.

CINDRICH,TAI, FIENUP, ALEKSOFF

Input Light Beam

Optical Switch Control Signals

Fig. 3. Light beam position mapping for modulus 3 programmable operation.

Optical Switch Control Signals

Fixed Phase

f Shift Elements

Fig. 4. Mapping and phase control combined for modulus 3 operation.

this case, the cyclic property is not inherent and must be provided by the control signal itself.

Combined use of more than one property of a light beam is also possible. As an example, phase and position control are shown in Fig. 4. This approach provides for residue number representation as an incremental phase shift as mentioned earlier. However, for this case, phase shift elements of a fixed and passive type are used with their selection made by choice of beam path. Instead of the phase shift elements of Fig. 4, the use of optical attenuation elements would provide beam intensity control while the use of polarization rotator elements would give the residue representation as polarization angles.

Recall that the range of numerical representation in residue form has two salient range properties, the range of individual moduli m } , m2,..., mn and the total range M. In the case of an optical phase shift device, for example, the phase modulator must have a modulation capability over the full range M if the modulator control voltage is to be a continuous variable. If, on the other hand, the modulator control voltage is encoded to correspond to the range of an individual modulus, then the phase shift modulator device need only respond over the more limited range of that modulus.

Having introduced the notion of quantized and cyclic control of light beam properties for residue number representation, we present in the next section examples of numerical optical processor design concepts.

4. PROCESSOR DESIGN CONCEPTSThe design of a numerical optical processor can vary considerably with choice of optical hardware, computer architecture, and inter­ face and control assumptions. We consider in this section two approaches for basic computing tasks which can be extended to more complex calculations. The approaches differ in the choice of the physical property of a light beam that is being used for residue number representation. One approach employs phase control of a light wave with its inherent cyclic property and the other utilizes light beam position control or mapping.

4.1. Cyclic phase implementationAs an example of cyclic device, we take the case of spatial phase modulation which can be implemented with such devices as acousto- optic spatial phase modulators. 16 We start with the basic set of components shown in Fig. 5 which consists of two modulators and the means for introducing collimated light waves into each of them. The collimated beams 1 and 2 originate from a laser diode light source directed through a collimating lens and a beam splitter grating G. This arrangement serves as an interferometer which provides an interference or fringe pattern at its output. 17 It will operate with light sources of modest coherence. The spatial frequency (carrier) in the modulators is twice the grating frequency in G. If the modulators

iimimi3

HUMIIII

4

IlluminatingBeam

Source

AO Gratings with a, 6 Phase Control

Output Data Fringe Plane

Fig. 5. Cyclic phase operation with a grating interferometer using acousto-optic gratings.

642 / OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 5: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

have a sinusoidal spatial modulation of optical index along theirlength (X- dimension) of the form cos (wx + a) and cos (wx + ß), thenthe diffracted first order light waves 3 and 4 can be written as

(wx +a) and +1(wx +)3)(9)

Assuming for convenience that these waves have unity amplitude,then the interference or fringe pattern at the detector plane will be ofthe form

1+ cos [wx+(a+ß) (10)

Thus the phase of the fringe pattern output is the sum of the input ormodulator phases a and ß. Phases a and ß would be entered into theacousto -optic modulators as equivalent residue numbers for a par-ticular modulus mi. Since the accumulated output phase is cyclic, theoutput sum will have the desired residue property of being cyclicmodulo mi.

Rather than using a detector at the output, two other possibilitiesexist. An optical transducer or memory may be used at the outputplane which records the sinusoidal fringe pattern and then acts as adiffraction grating containing the output phase (a + ß). When illum-inated, it would serve to readout the summation data (a + ß) as thephase of the diffracted output beams for use in another cascadedcomputing element possibly of the same type. A second possibilityfor handling the output avoids the use of a detector or a transducerby simply allowing the output waves 3 and 4 to continue and becomeinputs to another set of acousto -optic modulator elements as shownin Fig. 6. This figure shows a succession of such cascaded modula-tors. The phase of fringe pattern output for the set would be theaccumulated sum 1(ai + ßi), i.e., the output fringe pattern is of theform

Ncos [cuX + (ai + A)] .

With this device, we can realize a computing module capable ofaddition, subtraction, and multiplication (through successive addi-tion). For addition or subtraction of two residue numbers, we needonly two modulators. With multiplication, the number of modulatorelements in this type of computing module must equal the largestmultiplier which, for modulus mi, will be mi - 1. Multiplying twonumbers X X Y is done by entering a phase a = ß = X in allmodulator elements and having the total number of modulatorsequal to Y.

Considerable reduction in complexity of the multiply operationcould be realized by use of the homomorphic approach for multipli-cation. Recall that with this method a log -like transformation of themultiplier and multiplicand is required followed by modulo mi - 1addition and then an inverse transformation to determine theanswer. However, convenient methods for homomorphic multiplica-tion using the cyclic phase approach have not yet been devised. Sucha transformation is readily accomplished with a mapping implemen-tation approach using, for example, light beam position control.

The time required to perform the single summation a + ß is quiteshort, being simply the propagation time from the acousto -optic(AO) cell to the output fringe detection plane, which would be a fewpicoseconds for small integrated optic configurations. Clearly, how-ever, overall cycle time of such a unit is the characteristic of impor-tance and it is comprised of the set -time of an AO device, the lightpropagation time noted before, and the output fringe phase detectiontime. At the present state of the art, the AO cell set -time capability isabout 0.1 to 10 µsec which is quite modest for computing operationof interest here. Another design concern with this approach at pres-ent is the combined speed and accuracy achievable in performingelectronic detection of the phase of the output fringe pattern.

Fig. 6. Cyclic phase operation with cascaded acousto -optic elements for2N inputs.

4.2. Mapping with beam position controlPosition control or mapping of a light -beam path provides an attrac-tive means for residue number representation and computing oper-ations. At the present state of hardware development, mappingappears to offer a more versatile approach to numerical opticalprocessor design than is available with cyclic phase or polarizationdevices. This is due mainly to the lack of fully developed methods forquantization and the comparative complexity of performing suchoperations as multiplication with cyclic devices which employ phaseor polarization control. In this section, we describe a programmablecomputing module6 for basic arithmetic which uses light beam posi-tion mapping. The design concept offers considerable versatility inuse and a good potential for interconnecting a large set of suchmodules for more complex computing operations.

To demonstrate the design concept, we will use directionalcoupler wave guide switches for the implementation of beam pathcontrol. The directional coupler is one of the better -developed inte-grated optical devices and it allows flexibility in optical circuitdesign. 8-20 We shall briefly describe the optical coupler wave guideswitch and then proceed to formulate its use in a basic additionoperation which will be extended into a multipurpose arithmeticmodule. It should be noted that there are other components that

OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4 / 643

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

have a sinusoidal spatial modulation of optical index along their length (X-dimension) of the form cos (o>x + a) and cos (cox + ft), then the diffracted first order light waves 3 and 4 can be written as

(9)

Assuming for convenience that these waves have unity amplitude, then the interference or fringe pattern at the detector plane will be of the form

+ cos [cox + (a + ft) ] . (10)

Thus the phase of the fringe pattern output is the sum of the input or modulator phases a and /3. Phases a and ft would be entered into the acousto-optic modulators as equivalent residue numbers for a par­ ticular modulus m-r Since the accumulated output phase is cyclic, the output sum will have the desired residue property of being cyclic modulo rrij.

Rather than using a detector at the output, two other possibilities exist. An optical transducer or memory may be used at the output plane which records the sinusoidal fringe pattern and then acts as a diffraction grating containing the output phase (a + ft). When illum­ inated, it would serve to readout the summation data (a + ft) as the phase of the diffracted output beams for use in another cascaded computing element possibly of the same type. A second possibility for handling the output avoids the use of a detector or a transducer by simply allowing the output waves 3 and 4 to continue and become inputs to another set of acousto-optic modulator elements as shown in Fig. 6. This figure shows a succession of such cascaded modula­ tors. The phase of fringe pattern output for the set would be the accumulated sum 2(«i 4- ft^), i.e., the output fringe pattern is of the form

cos Lx + £ («i + ft{ ) (11)

With this device, we can realize a computing module capable of addition, subtraction, and multiplication (through successive addi­ tion). For addition or subtraction of two residue numbers, we need only two modulators. With multiplication, the number of modulator elements in this type of computing module must equal the largest multiplier which, for modulus nij, will be m^ 1. Multiplying two numbers X X Y is done by entering a phase a — ft = X in all modulator elements and having the total number of modulators equal to Y.

Considerable reduction in complexity of the multiply operation could be realized by use of the homomorphic approach for multipli­ cation. Recall that with this method a log-like transformation of the multiplier and multiplicand is required followed by modulo m^ 1 addition and then an inverse transformation to determine the answer. However, convenient methods for homomorphic multiplica­ tion using the cyclic phase approach have not yet been devised. Such a transformation is readily accomplished with a mapping implemen­ tation approach using, for example, light beam position control.

The time required to perform the single summation a -h ft is quite short, being simply the propagation time from the acousto-optic (AO) cell to the output fringe detection plane, which would be a few picoseconds for small integrated optic configurations. Clearly, how­ ever, overall cycle time of such a unit is the characteristic of impor­ tance and it is comprised of the set-time of an AO device, the light propagation time noted before, and the output fringe phase detection time. At the present state of the art, the AO cell set-time capability is about 0.1 to 10 /isec which is quite modest for computing operation of interest here. Another design concern with this approach at pres­ ent is the combined speed and accuracy achievable in performing electronic detection of the phase of the output fringe pattern.

OutputDataPlane

Fig. 6. Cyclic phase operation with cascaded acousto-optic elements for 2N inputs.

4.2. Mapping with beam position controlPosition control or mapping of a light-beam path provides an attrac­ tive means for residue number representation and computing oper­ ations. At the present state of hardware development, mapping appears to offer a more versatile approach to numerical optical processor design than is available with cyclic phase or polarization devices. This is due mainly to the lack of fully developed methods for quantization and the comparative complexity of performing such operations as multiplication with cyclic devices which employ phase or polarization control. In this section, we describe a programmable computing module6 for basic arithmetic which uses light beam posi­ tion mapping. The design concept offers considerable versatility in use and a good potential for interconnecting a large set of such modules for more complex computing operations.

To demonstrate the design concept, we will use directional coupler wave guide switches for the implementation of beam path control. The directional coupler is one of the better-developed inte­ grated optical devices and it allows flexibility in optical circuit design. 18'20 We shall briefly describe the optical coupler wave guide switch and then proceed to formulate its use in a basic addition operation which will be extended into a multipurpose arithmetic module. It should be noted that there are other components that

OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4 / 643

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 6: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CINDRICH, TAI, FIENUP, ALEKSOFF

V=0{

V=VTI

I out 1 =IinI out 2 -0

I out 1 -

out 2 = Iin

V.I,

I out 1

'out 2

7(a)

7(b)

Fig. 7. (a) Directional coupler wave guide switch (not to scale) (b) sche-matic representation.

would be good candidates for the implementation of a mappingconfiguration. The wave guide coupler is but one example.

A directional coupler is schematically shown in Fig. 7. Two waveguides are placed physically close to each other such that, in theabsence of an applied electric field, the wave guides are synchronous.That is, a light wave propagating in one wave guide will be coupled tothe adjacent one producing a switch in light path. '8-20 When anappropriate voltage VT is applied to the electrode, the synchronismbetween the wave guides is broken and the light propagation willremain in the wave guide originally excited as illustrated in Fig. 7(a)For simplicity, the coupler wave guide switch from here on will berepresented as shown in Fig. 7(b).

Using the wave guide switches, one possible implementation of amodulo 5 adder is shown in Fig. 8. With this design, the electrodevoltages of all of the coupler wave guide switches are initially set atVT. The light wave injected into the input of the adder will thereforepropagate inside the same wave guide through the adder. To pro-gram the device for the +2 operation, for example, the electrodevoltage of the corresponding row of couplers is changed to O. Thus,when the light propagation reaches that particular set of couplerwave guide switches, the light wave will be coupled into the adjacentwave guide, changing the optical path. The electrode voltages aremaintained at constant levels of VT or 0 by connecting the electrodesto a set of S -R flip flops. The adder can be programmed by sendingan electric pulse to the "S" input of the appropriate flip flop, trigger-ing it to change state. Alternatively, we could let the initial electrodevoltage of all the couplers be 0 and program the adder by changingthe electrode voltage of a particular row of coupler switches to VT.However, we generally find that it is easier to trace the light path withthe former design, and, to make the devices easier to study, we shallmake use of the former design in this paper. We shall also use theterm "on" to describe the state where coupling occurs at the couplerswitch and term "off" for the state where the light propagation willremain in the same wave guide.

644 / OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4

Fig. 8. Implementation of modulo 5 adder (not to scale).

Subtraction can be performed with the use of the additive inverseas described previously. There is a fixed one -to -one correspondencebetween a residue number and its additive inverse. The additiveinverse transformation can therefore be implemented by a fixed map.And by adding this transformation map to an adder, one can convertit into a subtractor as shown in Fig. 9 for modulus 5.

Multiplication can be implemented directly by using fixed maps(mi of them) for the operations of X0, X 1, X2,..., X(mi - 1).Alternatively, one can make use of a homomorphic approach wherea modulo mi multiplication is converted into a modulo mi - 1additive operation. A logo K -like forward transform is first per-

Fig. 9. Converting an adder for subtraction operation.

CINDRICH, TAI, FIENUP, ALEKSOFF

out 1

out 1 = linL out 2

-I:, v I Iout 1 =

T ( !^ X r»if O

= 0

0

out 2 " lin 7(a)

7(b)

Fig. 7. (a) Directional coupler wave guide switch (not to scale) (b) sche­ matic representation.

would be good candidates for the implementation of a mapping configuration. The wave guide coupler is but one example.

A directional coupler is schematically shown in Fig. 7. Two wave guides are placed physically close to each other such that, in the absence of an applied electric field, the wave guides are synchronous. That is, a light wave propagating in one wave guide will be coupled to the adjacent one producing a switch in light path. 18'20 When an appropriate voltage VT is applied to the electrode, the synchronism between the wave guides is broken and the light propagation will remain in the wave guide originally excited as illustrated in Fig. 7(a) For simplicity, the coupler wave guide switch from here on will be represented as shown in Fig. 7(b).

Using the wave guide switches, one possible implementation of a modulo 5 adder is shown in Fig. 8. With this design, the electrode voltages of all of the coupler wave guide switches are initially set at VT . The light wave injected into the input of the adder will therefore propagate inside the same wave guide through the adder. To pro­ gram the device for the +2 operation, for example, the electrode voltage of the corresponding row of couplers is changed to 0. Thus, when the light propagation reaches that particular set of coupler wave guide switches, the light wave will be coupled into the adjacent wave guide, changing the optical path. The electrode voltages are maintained at constant levels of VT or 0 by connecting the electrodes to a set of S-R flip flops. The adder can be programmed by sending an electric pulse to the "S" input of the appropriate flip flop, trigger­ ing it to change state. Alternatively, we could let the initial electrode voltage of all the couplers be 0 and program the adder by changing the electrode voltage of a particular row of coupler switches to VT . However, we generally find that it is easier to trace the light path with the former design, and, to make the devices easier to study, we shall make use of the former design in this paper. We shall also use the term "on" to describe the state where coupling occurs at the coupler switch and term "off for the state where the light propagation will remain in the same wave guide.

+ 4

Fig. 8. Implementation of modulo 5 adder (not to scale).

Subtraction can be performed with the use of the additive inverse as described previously. There is a fixed one-to-one correspondence between a residue number and its additive inverse. The additive inverse transformation can therefore be implemented by a fixed map. And by adding this transformation map to an adder, one can convert it into a subtracter as shown in Fig. 9 for modulus 5.

Multiplication can be implemented directly by using fixed maps (m; of them) for the operations of XO, XI, X2,..., X^ 1). Alternatively, one can make use of a homomorphic approach where a modulo mj multiplication is converted into a modulo m^ 1 additive operation. A logb K-like forward transform is first per-

01234

X - Y

Fig. 9. Converting an adder for subtraction operation.

644 / OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 7: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

2K - likeinversetransform

0 1

21( 0 1 2 3 4

K ? 0 1 3 2

2 3 4 0 1 2 3 4

0 1 2 3

Mod 4Adder

0 1 2 3

2Ktransform

0 1 2 3 4

10(a)

og2 K -likeforwardtransform

10(b)

logt Ktransform

Fig. 10. (a) Transform table for modulus 5 and (b) modulo 5 multiplica-tion using the homographic approach.

formed on the operands. A modulo mi - 1 addition is then per-formed and the sum is inverse transformed by a bK -like transform toobtain the product of the two original numbers. The transform tablefor modulus 5 and the process is illustrated schematically in Fig. 10.Although the logs K -like transformation for the value 0 is notdefined, it is known that if either the multiplier or the multiplicand is0, the product is 0. A modulo 5 multiplier is shown in Fig. 11 usingthis homomorphic approach. We note that for a modulo 5 multipli-cation, a modulo 4 addition is performed. Thus, in order to convert amodulo 5 adder into a modulo 5 multiplier, the modulo 5 addershould be designed in such a way that it can be easily converted into amodulo 4 adder. This can be achieved with the design shown in Fig.12. While the concept can be applied to an adder of any modulus, weshould note that this homomorphic approach can be used only if themodulus is prime.

One feature of this design is that the input, output, and program-ming controls are all represented spatially in the same way. Thisallows the interconnection of these devices for sequential operations.The outputs of one module can be connected directly to the inputs ofthe next module or it can be used to program the map of the nextadder as illustrated in Fig. 13. An electrical pulse is sent to the firstmultiplier to program it to perform

Fig. 11. Implementation of a modulo 5 multiplier.

Mod 5 Convertible to Mod 4 AdderC = 0 Mod 5 AdderC = 1 Mod 4 Adder

3

+0-

2 3 4

Fig. 12. Modulo 5 adder convertible to modulo 4 adder.

xlXImi.

A light pulse is then injected into the adder at the spatial positioncorresponding to

I1'Imi .

The exit position of the light beam would correspond to

XXYIm .i

A fast avalanche photodiode is connected to each of the output waveguides. The exiting light pulse will be detected by the photodiode,

OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4 / 645

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

2K - likeinversetransform

10(a)

2k

K

0

?

1

0

2

1

3

3

4

2

01234 01234

log2 K -

likeforwardtransform

10(b)

log2 K transform

Mod 4 Adder

+ 3

£t

+ 1

+ 0

-* '

0123

transform01234

Fig. 10. (a) Transform table for modulus 5 and (b) modulo 5 multiplica­ tion using the homographic approach.

formed on the operands. A modulo mi 1 addition is then per­ formed and the sum is inverse transformed by a bK -like transform to obtain the product of the two original numbers. The transform table for modulus 5 and the process is illustrated schematically in Fig. 10. Although the logb K-like transformation for the value 0 is not defined, it is known that if either the multiplier or the multiplicand is 0, the product is 0. A modulo 5 multiplier is shown in Fig. 11 using this homomorphic approach. We note that for a modulo 5 multipli­ cation, a modulo 4 addition is performed. Thus, in order to convert a modulo 5 adder into a modulo 5 multiplier, the modulo 5 adder should be designed in such a way that it can be easily converted into a modulo 4 adder. This can be achieved with the design shown in Fig. 12. While the concept can be applied to an adder of any modulus, we should note that this homomorphic approach can be used only if the modulus is prime.

One feature of this design is that the input, output, and program­ ming controls are all represented spatially in the same way. This allows the interconnection of these devices for sequential operations. The outputs of one module can be connected directly to the inputs of the next module or it can be used to program the map of the next adder as illustrated in Fig. 13. An electrical pulse is sent to the first multiplier to program it to perform

01234

4

1 I 1 J 1 J ll

/\ S\ / Xt _l1 1 r^^i0123

Mod 4Adder

(+2)

(«) 0123

Xx

01234

Q S* R

Q

^ R

Q s

——— xO

Fig. 1 1 . Implementation of a modulo 5 multiplier.

Mod 5 Convertible to Mod 4 Adder C = 0 Mod 5 Adder C = 1 Mod 4 Adder

+2

+ 1

+ 0-

Fig. 1 2. Modulo 5 adder convertible to modulo 4 adder.

A light pulse is then injected into the adder at the spatial position corresponding to

The exit position of the light beam would correspond to

|XXY| m..

A fast avalanche photodiode is connected to each of the output wave guides. The exiting light pulse will be detected by the photodiode,

OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4 / 645

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 8: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CINDRICH, TAI, FIENUP, ALEKSOFF

Fig. 13. Interconnection of modulo 5 computation modules.

generating an electric pulse. The electric pulse in turn triggers thecorresponding flip flop of the next adder, setting it for the

+IXXYImi

operation. Another light pulse is then injected into the input of thesecond adder at the position corresponding to

IZImi

The position where the light pulse exits will represent

IXXY +ZImi

.

4.3. Multipurpose arithmetic moduleWith the subunits described above, we can proceed to describe amultipurpose programmable computation module. The module willcontain four distinct parts as shown in Fig. 14. Each of these subunitscan be turned on and off individually, allowing the different combi-nations of the subunits to perform various computation operations.However, it is more complicated than simply stacking all the sub-units together. Special attention must be paid to the case of +0 andXOby noting that X +O= X, X 0 = 0, 0 Y = 0, and X . 1 = X.Furthermore, the modulus mi adder must be modified to performmodulo mi - 1 addition and the

-KImiadditive inverse transform must be converted into a

646 / OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4

0 1 2

Input

mi-2 mi-1

logb K - like Transform

Additive Inverse Transform ( -K)

+mi -1+mi -2

Modulo mi Adder(Convertible to

Modulo mi -1)

+1*0

bK - like Transform

0 1 2

Outputmi-2 mi-1

Fig. 14. Conceptual design of programmable multipurpose computationmodule.

-K mi-1transform when the module is programmed to perform multiplica-tion and division. A possible design of the programmable multipur-pose computation module is shown in Fig. 15.

sQR

S QR

SR

S QR

SR Q

(1og K)

MUMWitaISMSNSW'MEER'

QS

QSR

( -K)

1 2

Fig. 15. Implementation of programmable multipurpose computationmodule.

CINDRICH,TAI, FIENUP, ALEKSOFF

XxY+Z1-

2-

4-

MOD 5 Adder

-2

-3

-4

Fig. 13. Interconnection of modulo 5 computation modules.

generating an electric pulse. The electric pulse in turn triggers the corresponding flip flop of the next adder, setting it for the+|XXY| m.operation. Another light pulse is then injected into the input of the second adder at the position corresponding to

The position where the light pulse exits will represent|XXY + Z| m . .

4.3. Multipurpose arithmetic moduleWith the subunits described above, we can proceed to describe a multipurpose programmable computation module. The module will contain four distinct parts as shown in Fig. 14. Each of these subunits can be turned on and off individually, allowing the different combi­ nations of the subunits to perform various computation operations. However, it is more complicated than simply stacking all the sub- units together. Special attention must be paid to the case of +0 and XO by noting that X -f 0 = X, X-0 = 0, 0- Y = 0, and X- 1 = X. Furthermore, the modulus n^ adder must be modified to perform modulo m — 1 addition and the

additive inverse transform must be converted into a

• • • •

Input

• •i ••log. K - like Transform

Additive Inverse Transform (-K)

«Vi+ mi-2

Modulo m. Adder(Convertible to

Modulo m. 1% + i-i)

+ 1 *0

trb - like Transform

0 i 2 ....... m._ 2 ml-t Output

——

——

——

Fig. 14. Conceptual design of programmable multipurpose computation module.

transform when the module is programmed to perform multiplica­ tion and division. A possible design of the programmable multipur­ pose computation module is shown in Fig. 15.

0 1 2 dog2 K)

Fig. 15. Implementation of programmable multipurpose computation module.

646 / OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 9: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

The multipurpose computation module can be programmed toperform +, -, X, and _ arithmetic operations with simple binarycontrols. For example, to perform modulo 5 addition, the subunitsfor log2 K -like transform, additive inverse transform, and 2K -liketransform are all turned "off." That is, a light pulse injected into anyof the mi input ports will propagate undeviated along the same waveguide through these subunits. With these units "off," the modulewould be essentially the simple adder shown earlier in Fig. 8. Toperform subtraction, the additive inverse transform

unit is turned "on," changing the light path according to the trans-form map shown in Fig. 9. We note that while operating in theaddition and subtraction modes with the log2 K -like transform unitoff, an input to the " *0" control has no effect on the light path. Theposition of the exit beam would, therefore, be the same as that of theinput beam, performing, in effect, the +0 operation. The program-ming of the computation module for addition and subtraction opera-tions is illustrated in Figs. 16(a) and 16(b).

In programming the computation module for multiplication,there are two possible approaches. The module can be connected as amultiplier by rerouting the electrode leads to perform the log2 K -liketransform on the multiplier value (X).The 2K-like transform unit isturned on to inverse transform the sum as illustrated in Fig. 16(c).With the second approach, both the multiplier (X) and the multipli-cand (Y) values are transformed by computation modules, as illus-trated in Fig. 16(d). This approach has two advantages. First, theconnection of the electrode leads does not have to be changed,allowing the module to be switched back to addition mode whendesired. Second, it provides more flexibility in performing division.Observe that the extra coupler switch at the left lower corner in Fig.15 is necessary for the module to be programmed in this mode. Thecoupler is turned on together with the log2 K -like transform unit atthe top. When the value of the multiplier X is 0, the " *0" control ofthe second module is turned on, and the X 0 operation is performed.If the multiplier is 1, its log2 K -like transform is 0; the purpose of theextra coupler switch is to keep the transformed 0 output of themultiplier from setting the *0 control of the second module. Instead,the coupler switches the light path away from the 0 output port suchthat the second module would be left undisturbed. The light pulsewill exit at the same position as it enters the module, performing theX 1 operation.

The programming of the computation module for the divisionoperation is illustrated in Fig. 16(e). An

I -K l -1additive inverse transform is required for the divisor after the log2K -like transform. A

I -K1mitransform can be changed into a

I- KImi -1

transform by shifting down the values of the

transform by I. Referring back to the module design shown in Fig. 15,the down shifting is performed by the set of three switches at the fourthrow. They are turned on together with the log2 K- transform unit.

There is a very useful feature in the use of computation modulesfor residue arithmetic that is shared by other implementations usingthe mapping approach. The operand and the operator are combinedin a single representation. For example, to perform addition betweenan input value and a stored value with a conventional computer, thestored value has to be recalled from storage and entered with theinput value into a fixed operator (adder). Implementing residuearithmetic with the computation modules described here allows thestored values to be entered into the module as operators (i.e., +K).The state of the module represents both the operand (K) and the

operation ( +). The module is therefore functioning simultaneouslyas the adder and the data storage device. This feature eliminates theneed of a separate memory for values such as the coefficients of areference function in correlation detection operations. Without theaccess time delay in reading out the stored values, the inputs can beprocessed at a very high rate, especially for computations that haveto be performed repeatedly.

Implementation methods for computing modules of a numericaloptical processor which are useful for basic arithmetic operationshave been described thus far. In the following section, we discuss theapplication of the computing module to more extensive computingoperations.

5. EXTENDED COMPUTING APPLICATIONSExtension of the basic numerical optical methods described in pre-vious sections to a broadened range of computing problems will beintroduced in this section. We will use mapping of the light beamposition as a basis for our discussion; however, it should be kept inmind that a variety of other hardware design concepts might also beconsidered.

5.1. Polynomial evaluationTo demonstrate how the mapping computation module (describedpreviously) can be interconnected to perform various mathematicalcalculations, we consider first the evaluation of polynomials. Asdiscussed by Huang et al.,4 a polynomial may be evaluated using asingle fixed map. However, considerable flexibility is achieved if aprogrammable design is used which can be realized with a collectionof basic arithmetic modules and fixed maps. We start with a set offixed maps for Xn, Xe', .. X2 functions which are combined withthe computation modules as shown in Fig. 17. To program themodules for the computation of X3 + 4X2 + 3X + 2, for example, thecoefficients 1, 4, and 3 are entered into the multipliers. Light pulsesare injected into the inputs of the multipliers at the ports correspond-ing to the value of input X. The adders would be set by the output ofthe multipliers for +(X3), +(4X2), and +(3X) operations. Anotherlight pulse is then entered into the first adder at input port 2, and theposition where the light pulse exits would correspond to the value ofX3 +4X2 +3X +2.

The computation time would be equal to the time needed to setthe adder module plus the propagation time through four modules.The propagation time through a single module of 1/ 2 inch size wouldbe about 50 psec. The set time of the module is the sum of thedetection delay of the photodiode, the switching delay of the flip flop,and the switching time of the wave guide coupler. It is possible toachieve a set time under 1.5 nsec for the computation module.1-18And if we assume that an additional 1.5 nsec is required for the lightpulse to pass through the module and to reset the flip flops, thethroughput rate would be about 1/ 3.2 nsec = 312.5 MHz. Due to theparallelism of the arrangement, the computation time is approxi-mately the same for polynomials of any order.

5.2. Matrix multiplication and transformsOne of the important potential applications Of the numerical opticalcomputer is the multiplication of matrices. It can be extended to anumber of transform operations such as discrete Fourier transform(DFT), Hadamard transform, etc. We shall examine the generalcase of matrix multiplication,

AMXN BNXP - CMXP

The coefficients of the master matrix

BNXP

are stored in the modules as multipliers as shown in Fig. 18. Thevalues of the matrix

OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4 / 647

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

The multipurpose computation module can be programmed to perform +, — , X, and -r arithmetic operations with simple binary controls. For example, to perform modulo 5 addition, the subunits for Iog2 K-like transform, additive inverse transform, and 2K -like transform are all turned "off." That is, a light pulse injected into any of the nij input ports will propagate undeviated along the same wave guide through these subunits. With these units "off," the module would be essentially the simple adder shown earlier in Fig. 8. To perform subtraction, the additive inverse transform

unit is turned "on," changing the light path according to the trans­ form map shown in Fig. 9. We note that while operating in the addition and subtraction modes with the Iog2 K-like transform unit off, an input to the "*0" control has no effect on the light path. The position of the exit beam would, therefore, be the same as that of the input beam, performing, in effect, the +0 operation. The program­ ming of the computation module for addition and subtraction opera­ tions is illustrated in Figs. 16(a) and 16(b).

In programming the computation module for multiplication, there are two possible approaches. The module can be connected as a multiplier by rerouting the electrode leads to perform the Iog2 K-like transform on the multiplier value (X).The 2K-like transform unit is turned on to inverse transform the sum as illustrated in Fig. 16(c). With the second approach, both the multiplier (X) and the multipli­ cand (Y) values are transformed by computation modules, as illus­ trated in Fig. 16(d). This approach has two advantages. First, the connection of the electrode leads does not have to be changed, allowing the module to be switched back to addition mode when desired. Second, it provides more flexibility in performing division. Observe that the extra coupler switch at the left lower corner in Fig. 15 is necessary for the module to be programmed in this mode. The coupler is turned on together with the Iog2 K-like transform unit at the top. When the value of the multiplier X is 0, the "*0" control of the second module is turned on, and the XO operation is performed. If the multiplier is 1, its Iog2 K-like transform is 0; the purpose of the extra coupler switch is to keep the transformed 0 output of the multiplier from setting the *0 control of the second module. Instead, the coupler switches the light path away from the 0 output port such that the second module would be left undisturbed. The light pulse will exit at the same position as it enters the module, performing the X 1 operation.

The programming of the computation module for the division operation is illustrated in Fig. 16(e). An

additive inverse transform is required for the divisor after the Iog2 K-like transform. A

transform can be changed into a

transform by shifting down the values of the

transform by 1. Referring back to the module design shown in Fig. 15, the down shifting is performed by the set of three switches at the fourth row. They are turned on together with the Iog2 K-transform unit.

There is a very useful feature in the use of computation modules for residue arithmetic that is shared by other implementations using the mapping approach. The operand and the operator are combined in a single representation. For example, to perform addition between an input value and a stored value with a conventional computer, the stored value has to be recalled from storage and entered with the input value into a fixed operator (adder). Implementing residue arithmetic with the computation modules described here allows the stored values to be entered into the module as operators (i.e., +K). The state of the module represents both the operand (K) and the

operation (+). The module is therefore functioning simultaneously as the adder and the data storage device. This feature eliminates the need of a separate memory for values such as the coefficients of a reference function in correlation detection operations. Without the access time delay in reading out the stored values, the inputs can be processed at a very high rate, especially for computations that have to be performed repeatedly.

Implementation methods for computing modules of a numerical optical processor which are useful for basic arithmetic operations have been described thus far. In the following section, we discuss the application of the computing module to more extensive computing operations.

5. EXTENDED COMPUTING APPLICATIONSExtension of the basic numerical optical methods described in pre­ vious sections to a broadened range of computing problems will be introduced in this section. We will use mapping of the light beam position as a basis for our discussion; however, it should be kept in mind that a variety of other hardware design concepts might also be considered.

5.1. Polynomial evaluationTo demonstrate how the mapping computation module (described previously) can be interconnected to perform various mathematical calculations, we consider first the evaluation of polynomials. As discussed by Huang et al., 4 a polynomial may be evaluated using a single fixed map. However, considerable flexibility is achieved if a programmable design is used which can be realized with a collection of basic arithmetic modules and fixed maps. We start with a set of fixed maps for Xn , Xn—1 ,.. X2 functions which are combined with the computation modules as shown in Fig. 17. To program the modules for the computation of X3 + 4X2 + 3X + 2, for example, the coefficients 1, 4, and 3 are entered into the multipliers. Light pulses are injected into the inputs of the multipliers at the ports correspond­ ing to the value of input X. The adders would be set by the output of the multipliers for +(X3 ), +(4X2), and +(3X) operations. Another light pulse is then entered into the first adder at input port 2, and the position where the light pulse exits would correspond to the value of X3 + 4X2 + 3X + 2.

The computation time would be equal to the time needed to set the adder module plus the propagation time through four modules. The propagation time through a single module of 1 / 2 inch size would be about 50 psec. The set time of the module is the sum of the detection delay of the photodiode, the switching delay of the flip flop, and the switching time of the wave guide coupler. It is possible to achieve a set time under 1.5 nsec for the computation module. 11 ' 18 And if we assume that an additional 1.5 nsec is required for the light pulse to pass through the module and to reset the flip flops, the throughput rate would be about I/3.2 nsec = 312.5 MHz. Due to the parallelism of the arrangement, the computation time is approxi­ mately the same for polynomials of any order.

5.2. Matrix multiplication and transformsOne of the important potential applications of the numerical optical computer is the multiplication of matrices. It can be extended to a number of transform operations such as discrete Fourier transform (DFT), Hadamard transform, etc. We shall examine the general case of matrix multiplication,

AMXN BNXP — CMXP•

The coefficients of the master matrix

BNXP

are stored in the modules as multipliers as shown in Fig. 18. The values of the matrix

OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4 / 647

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 10: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CINDRICH, TAI, FIENUP, ALEKSOFF

X

(a) For addition

X

Y

0 1 2 3 4

log2 K

-K

-+4

+3+2.+1-+M.0

2K

0 1 2 3 4

x +Y

Y

0 1 2 3 4

0

0

-

log2 K ,

-K

-+4

+3-+2.+1+k0

2K

1

0

1

0 1 2 3 4

XY(c) For multiplication with electrode

leads rerouted

(0)X 1 1

4

3

2

1

0

0

WN

en0

.-.4

W1

Ñ

X

(b) For subtraction

X 1 0

4

3

2

1

0

0

W`Vó,

..,

x

/j

/1

-

Ñ

Y0 1 2 3 4

. log2 K

-K

+4+3.+2.+1

-+I1-0

2K

0 1 2 3 4

X-Y

Y

0 1 2 3 4

0

1

0

` log2 K

-K.

+4+3.+2.+1-*0

2K

0 1 2 3 4

XY(d) For multiplication with alternate

Y arrangement

0 1 2 3 4

log2 K .

-K

.+4+3-+2

-+1

4-0

2K

0 1 2 3 4

-g (Tr

1

0(1)

(e) Programming of computation module

1

1

0

1

Fig. 16. Programming of computation module.

648 / OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4

CINDRICH,TAI, FIENUP, ALEKSOFF

X

KJ-0- HK3- 4-0- 4O- -OO-

(a) For addition

X

-QO-.-&o4-COi1 -COL -&O-

0 1Y

L 2 3 4log2 K

-K

+4 •»-3 +2 +1 +0

2K

01234 X+Y

Y 01234

log2 K

-K

4-3

+2

+0

2K

— 0

— 0

0

X

Y 01234

Iog2 K _ 0

-K —1

-QO-+ 4 -DO- *s

-QO-*o2K _ 0

01234(b) For subtraction „ v-X*"" Y

Y 01234

— 1

0

1

01234X.Y

(c) For multiplication with electrode leads rerouted

(0) X 1 1 0

1 1 /, 14- 3- 2-

biA i— •

0-

(e)

• M

//

,y7/

H,

X 1 0 01 1 „ \4- 3- 2- 1- 0-

(d)

-00- -IHD- -(H> -IH> -tK>

f *r-H

-//

log2 K _!

-K -0

43-Q-*02K -1

01234 X»Y

For multiplication with alternate Y arrangement

01234• • • i ilog_ K

-K

+•3 +2 +1 *0

2K

-1

-0(1)

-1

01234Y Y / *1̂ V^»ir \ «ir /

Programming of computation moduleFig. 16. Programming of computation module.

648 / OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 11: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

AMXN

pass through the multipliers row by row setting the correspondingrow of adders. Light pulses are entered into the first adder of eachrow, providing in parallel the values of the first row of C1i at theoutput. The flip flops are then reset, ready for the entries of the nextrow of

AMXN

The total computation time is equal to M + 1 set -reset times of themodule, and the number of computation modules required is 2NP.For example, to multiply two 10 X 10 matrices, the computation time

would be about 30 + 0.05N nsec if we assume a module set -reset timeof 3 nsec and the use of 200 computation modules for each modulus.

6. CONCLUDING REMARKSWe have described design concepts of a preliminary nature for anumerical optical processor based on the residue number systemtogether with a. review of the basic aspects of residue arithmetic. Avariety of hardware implementations and computer architectures arepossible in this field. We have provided ideas in this paper whichemphasize use of light beam position mapping in the form of aversatile arithmetic module which can be applied to system designsand more complex mathematical operations. The concepts describedprovide a potential for improved processor design particularly in

Fig. 18. Matrix multiplication.

OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4 / 649

CONCEPTS FOR NUMERICAL OPTICAL COMPUTERS

V MXN

pass through the multipliers row by row setting the corresponding row of adders. Light pulses are entered into the first adder of each row, providing in parallel the values of the first row of Cjj at the output. The flip flops are then reset, ready for the entries of the next row of

The total computation time is equal to M + 1 set-reset times of the module, and the number of computation modules required is 2NP. For example, to multiply two 10 X 10 matrices, the computation time

would be about 30 + 0.05N nsec if we assume a module set-reset time of 3 nsec and the use of 200 computation modules for each modulus.

6. CONCLUDING REMARKSWe have described design concepts of a preliminary nature for a numerical optical processor based on the residue number system together with a-review of the basic aspects of residue arithmetic. A variety of hardware implementations and computer architectures are possible in this field. We have provided ideas in this paper which emphasize use of light beam position mapping in the form of a versatile arithmetic module which can be applied to system designs and more complex mathematical operations. The concepts described provide a potential for improved processor design particularly in

01234 01234 01234 01234

xBn- i,p

Fig. 18. Matrix multiplication.

OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4 / 649

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx

Page 12: Concepts for numerical optical computers · implementation of numerical (digital) methods in processor system design has been under study by several investigators.4-7 Motivation to

CINDRICH, TAI, FIENUP, ALEKSOFF

.0 +1 +2 +3 +4 +0 +1 +2 +3 +4 0 +1 +2 +3 +4

00 0:00 0:00 0

Fig. 17. Programmable arrangement for the evaluation of polynomials.

computing speed and possibly size and power consumption. Forpractical realization of the mapping approach, it would appear thatfurther development is needed for hardware components of theintegrated optics type directed specifically to this application. Ofparticular importance would be small optical switching devices hav-ing fast response, optical wave guides with low loss fabricated for avariety of path geometries, optical -to- electronic -to- optical conver-sion elements of small size, and, the compact integration of all ofthese items into a small modular package.

Computing algorithms and architecture warrant continueddevelopment efforts for such objectives as the optimization of design

for faster operating speed and the minimization of component count.Other design approaches, particularly those employing phase or

polarization control of a light beam, have a potential for exceptionalperformance provided that certain aspects of the design concept areappropriately developed. This includes means for quantization overa large dynamic range, implementation for simplified approaches tomultiplication such as the homomorphic method, means for rapidaccurate output detection, and methods for efficient couplingbetween individual cyclic units.

7. REFERENCESI. Cindrich, I., A. Klooster, and J. Marks, Proc. SPIE 128, 128 (1977).2. Fienup, J. R., W. S. Colburn, B. J. Chang, and C. D. Leonard, Proc. SPIE,

118, 21 (1977).3. Goodman, J. W., Introduction to Fourier Optics, McGraw Hill Book

Company, 1968.4. Huang, A., Y. Tsunoda, J. W. Goodman, and S. Ishihara, Appl. Opt. 18,

149 (1 979).5. Collins, S. A., Jr., Proc. SPIE 128, 313 (1977).6. Tai, A., I. Cindrich, J. Fienup, and C. Aleksoff, Appl. Opt. 18, 2812 (1979).7. Psaltis, D. and D. Casasent, Appl. Opt. 18, 163 (1979).8. Szabo, N. S. and R. I. Tanaka, Residue Arithmetic and Its Application to

Computer Technology, McGraw Hill, New York, 1967.9. Cheney, P. W., IRE Trans. Elec. Comp., EC -l1, 63 (1961).

10. Guffin, R. M., IRE Trans. Elec. Comp., EC -12, 164 (1962).11. Banerji, D. K., IEEE Trans. Comp., 23, 1315 (1974).12. Keir, Y. A., P. W. Cheney, and M. Tannenbaum, IRE Trans. Elec. Comp.

EC -I I, 501 (1962).13. Garner, H. L., IRE Trans. Elec. Comp. EC -8, 140 (1959).14. Baisi, F. and P. Maestrini, IEEE Trans. Comp. C -27, 1185 (1978).15. Okada, M. and K. Takizawa, IEEE J. Quantum Elec. QE -15, 82 (1979).16. Tsai, C. S., Le T. Nguyen, and C. C. Lee, Digest of Technical Papers

Presented at the Topical Meeting on Integrated a nd Guided Wave Optics,Salt Lake City, TUC3 -1 and TUC2 -1, 1977.

17. Chang, B. J., ERIM Report 671034 -2 -X, January 1974.18. Taylor, H., Appl. Opt. 17, 1493 (1978).19. Cross, P. S., R. V. Schmidt, and R. L. Thorton, Digest of Technical Papers

Presented at the Topical Meeting on Integrated and Guided Wave Optics,Salt Lake City, TUBI -1, 1977.

20. Kaminow, I. P., IEEE Trans. Micro. Theory and Tech. MIT -23, 57 (1975).

650 / OPTICAL ENGINEERING / July /August 1981 / Vol. 20 No. 4

CINDRICH,TAI, FIENUP, ALEKSOFF

0 0

«0 + 1 + 2 +3 +4

0 - 0 0

*0 +1 +2 + 3 t-4

0-

0 0

• 0 +1 +2 +3 +4

0

Fig. 17. Programmable arrangement for the evaluation of polynomials.

computing speed and possibly size and power consumption. For practical realization of the mapping approach, it would appear that further development is needed for hardware components of the integrated optics type directed specifically to this application. Of particular importance would be small optical switching devices hav­ ing fast response, optical wave guides with low loss fabricated for a variety of path geometries, optical-to-electronic-to-optical conver­ sion elements of small size, and, the compact integration of all of these items into a small modular package.

Computing algorithms and architecture warrant continued development efforts for such objectives as the optimization of design

for faster operating speed and the minimization of component count. Other design approaches, particularly those employing phase or

polarization control of a light beam, have a potential for exceptional performance provided that certain aspects of the design concept are appropriately developed. This includes means for quantization over a large dynamic range, implementation for simplified approaches to multiplication such as the homomorphic method, means for rapid accurate output detection, and methods for efficient coupling between individual cyclic units.

7. REFERENCES1. Cindrich, I., A. Klooster, and J. Marks, Proc. SPIE 128, 128 (1977).2. Fienup, J. R., W. S. Colburn, B. J. Chang, and C. D. Leonard, Proc. SPIE,

118, 21 (1977).3. Goodman, J. W., Introduction to Fourier Optics, McGraw Hill Book

Company, 1968.4. Huang, A., Y. Tsunoda, J. W. Goodman, and S. Ishihara, Appl. Opt. 18,

149(1979).5. Collins, S. A., Jr., Proc. SPIE 128, 313 (1977).6. Tai, A., I. Cindrich, J. Fienup, and C. Aleksoff, Appl. Opt. 18,2812(1979).7. Psaltis, D. and D. Casasent, Appl. Opt. 18, 163 (1979).8. Szabo, N. S. and R. I. Tanaka, Residue Arithmetic and Its Application to

Computer Technology, McGraw Hill, New York, 1967.9. Cheney, P. W., IRE trans. Elec. Comp., EC-11, 63 (1961).

10. Guffm, R. M., IRE Trans. Elec. Comp., EC-12, 164 (1962).11. Banerji, D. K., IEEE Trans. Comp., 23, 1315 (1974).12. Keir, Y. A., P. W. Cheney, and M. Tannenbaum, IRE Trans. Elec. Comp.

EC-11, 501 (1962).13. Garner, H. L., IRE Trans. Elec. Comp. EC-8, 140 (1959).14. Baisi, F. and P. Maestrini, IEEE Trans. Comp. C-27, 1185 (1978).15. Okada, M. and K. Takizawa, IEEE J. Quantum Elec. QE-15, 82 (1979).16. Tsai, C. S., Le T. Nguyen, and C. C. Lee, Digest of Technical Papers

Presented at the Topical Meeting on Integrated and Guided Wave Optics, Salt Lake City, TUC3-1 and TUC2-1, 1977.

17. Chang, B. J., ERIM Report 671034-2-X, January 1974.18. Taylor, H., Appl. Opt. 17, 1493 (1978).19. Cross, P. S., R. V. Schmidt, and R. L. Thorton, Digest of Technical Papers

Presented at the Topical Meeting on Integrated and Guided Wave Optics, Salt Lake City, TUB 1-1, 1977.

20. Kaminow, I. P., IEEE Trans. Micro. Theory and Tech. MIT-23, 57 (1975).

650 / OPTICAL ENGINEERING / July/August 1981 / Vol. 20 No. 4

Downloaded From: http://opticalengineering.spiedigitallibrary.org/ on 11/25/2015 Terms of Use: http://spiedigitallibrary.org/ss/TermsOfUse.aspx