You are on page 1of 10

Title Author(s) Citation Issue Date

Programming of optical array logic. 2 : Numerical data processing based on pattern logic Tanida, Jun; Fukui, Masaki; Ichioka, Yoshiki Applied Optics. 27(14) P.2931-P.2939 1988-07-15

Text Version publisher URL DOI Rights http://hdl.handle.net/11094/3272

Osaka University

so that an optical computing system should be designed on a different basis from that of electronic computers. Optical processing has the capability of performing massively parallel computation. Since pattern manipulation is required as a basic operation for 2-D data. Japan.optical correlation. image. VI we discuss the computational advantages of our approach. The coded image is separately correlated with different operation kernels. so that its field of use is restricted. Thus a new concept is required to use the optical computing system effectively. No. III we describe the concept of PTL and its implementation method by OAL. 15 July 1988 / Vol. Thus. Coded pattern processing has many advantages such as flexibility and capability of parallel manipulation for a large amount of data. i.e. which can be implemented by optical array logic. One reasonable architecture is that composed of a large number of processing. making good use of the inherent nature of light propagation. Optical array logic is a technique for achieving any parallel neighborhood of parallel processing can be realized.2 3 we aim to achieve coded pattern processing through an4 -7 other approach. 27. In such a system. 6 7 Figure 1 shows the processing procedures of OAL. Symbolic substitution1 provides a generalized concept of coded pattern ever. we have considered one approach to break through the limitation. Department of Applied Physics. In Sec. and Yoshiki Ichioka 2: Numerical data A new technique for space-variant processing with optical array logic and a new concept for parallel processing called pattern logic are proposed.8-10 How- simple processors capable of using the parallel nature of light propagation. Introduction Specialized algorithms are required for parallel computation on an optical computing system using the excellent capabilities of optical parallel processing. The individual correlated images are spatially sampled at one-pixel size intervals (double the structural cell size) in the vertical and the horizontal directions. which are processed with operations for the images. and parallel OR operation. In Sec. II. Two binary OAL is a technique to achieve any parallel neighbor- images to be processed are encoded according to the coding rule shown in Fig. operation by simple coding. and parallel processing. direct photon control is difficult. designing and executing operational procedures differ from those in electronic computers. Received 10 August 1987. OAL can be executed effectively with the OPALS (optical parallel array logic system). processing based on pattern logic Jun Tanida. II we explain OAL and space-variant processing by OAL. OAL and Space-Variant Processing hood operation for two 2-D binary data. 1 and converted into a coded The authors are with Osaka University.00/0. optical correlation. Suita. However. the coding technique is useful to increase the usable field of optical parallel processing. In Sec. OAL is a SIMD (single instruction stream multidata flow) system. 14 / APPLIEDOPTICS 2931 . IV we demonstrate some kinds of numerical processing to verify the capabilities of PTL. operaneighborhood for parallel OAL is a technique tions by simple coding. In Sec. In this paper we propose a new technique for spacevariant processing with OAL and a new concept for parallel processing called pattern logic (PTL). OR for data expressed by negative logic) operation for all the sampled images provides the result of a parallel neighborhood operation. V the possibility of data-driven processing is presented. using optical array logic (OAL).various kinds Several kinds of numerical data processing are presented to verify the capability of pattern logic. Parallel NAND (exactly. 1. Several techniques have been proposed to implement coded pattern processing. 0003-6935/88/142931-09$02.. Whereas several practical procedures have been developed with symbolic substitution. Masaki Fukui. © 1988 Optical Society of America. One promising concept for optical parallel processing is coded pattern processing in which data to be processed are converted into patterns in images.Programming of optical array logic. In Sec. Using pattern logic. Osaka 565.

k(annbnn) (2) k=1m=-L n=-L designed. The reason b is applied in the function selector is to use the value of the data for the selecting condition.n. space-variant processing can be achieved with A to the image containing the selector of operation and image B to that containing the data. and 1I denote logicalsum and logical product operators. subscripts denote the location of the data in the image. respectively. when multibit numerical data processing is attempted. the parallel neighborhood = Ci k=1 7 1 fmn. Therefore. 7 in which a neighborhood operation is expressed as follows: [. m=-L n=-L L L (ij = 1 N).). and k is an identifier of product terms.b)Qk(b).11 In Eq. operation by OAL is written as follows7 : K Using logical expression.(b. (3) where PG(a. and N. respectively. (5) (6) p(a. which becomes 1 when a and b match predefined patterns. 2. where a and b mean binary data in images A and B. using the one 2-D input image for the selector. Then Eq. localized or space-variant processing is required. Pk(a. 14 / 15 July 1988 .. EE on ob I a 44 U 44 CODING RULE Symbols for symbolic notation of OAL. which cannot be achieved by the original procedure of OAL. K L Thus Eq.k(bmn). 27. some kinds of image c = E Pk(a. However. Expression (7) denotes . 111 qmkn. respectively. When OAL is considered as a system with two inputs and one output.n)qmn.nbmn). i and j.CODING CORRELATION SAMPLING I EVE RTED-OR Function Smbol *NN NP 0.b) and Qk(b). +[ o0 ] (7) where the symbols in the brackets denote the twovariable binary logical functions tabulated in Fig. 1. The fundamental of the technique is that one of the 2-D inputs of OAL is used for data to be processed and the other is used for the selector of the operation to be executed. subscripts m and n indicate the relative address of a pixel in the neighborhood area centering on (ij). Processing procedures of OAL for a parallel neighborhood operation including coding rule. This Pk(a. it is regarded as a spaceinvariant system. their programming resources can be used in programming OAL.b) = 1. if one of the inputs is assigned to the selector of operation. respectively.nbm. 2 and the underscore indicates the origin of the neighborhood area (m = . devised a technique for space-variant processing with OAL to extend the application field of OAL. L. so that space-variant processing can be achieved.n.b) = m=-L n=-L L L ri17 L L Pm. Here mn. l DE I PRODUCT TERM DPERUTIUIIUK | C ORIrPIJO Fig. (2) can be rewritten as K processing. and executed systematically.b) and q(b) are also binary logic functions with two and one variables. For example. the same operation is used for all 2932 APPLIED OPTICS / Vol. the usefulness of OAL. a symbolic notation is used. No.k(a.h(am. described..b) is called a function selector.. Kernel Unit # I a b INPUTA CODE! IMAGE IKERNEL I INPUT3 PRODUCT TERM OPERATION #2 | CORRELAIED IMAGEPI SAMPLED I MAGE#1 Ahb a a b 4 a osb b PRODUCT TERMOPERATION #1 4 4 44 4 4 b oh a I a 4 44 44 4 4 aTDb ab Fig.n = 0).k(am. and product term number.we can select operations by patterns of a and b.n) = Pmn. e. For convenient description and intuitive comprehension of OAL. Then combining Pk(a.b) refers to a two-variable binary logic function for pixels a and b. C= The features of OAL are as follows: (1) Any parallel neighborhood operations E I I7 fmn.k(ai+mj+nbi+mj+n). Although the third feature is attractive for global or space-invariant 5 it restricts processing. Since OAL executes SIMD processing. Although many bit-plane memories 1 3 wehave enable us to execute such processing. pixels in the images.k(amnbm. neighborhood area size. (1) can be written L without specifying the pixel location. PN Kernel Unit Function Symbol PP UU . respectively. Note that a and b express specific patterns of pixels in the neighborhood area. (4) Qk(b)= m=-L n=-L fm.g. The proposed technique for space-variant processing with OAL is explained as follows: We assign image (3) SIMD type of parallel processing is achieved. (3) evaluation of Qk(b) is valid only when OAL.. (2) Since OAL has a close relationship to both array 1 and 1 2 in logic cellular logic electronics. and K are image size. can be This abbreviation is used in this paper to describe OAL operations. OAL is regarded as a space-variant system with one input and one output.

we define the terminology for the pattern logic. if ao. II. In PTL. The limitation of this method is the number of different operations to be executed.e. (8). Ill.1. (3). With a little thought. Here. attribute pattern (on an attribute plane). They are processed using parallel neighborhood operations.8 Thus. Both data and attribute patterns may be placed at an arbitrary location in the planes if the location of a pixel in the data plane corresponds to that of the origin of its attribute pattern. a product term corresponds to a sequence of correlations with an operation kernel (shown in Fig.0. Eq. Then. 27. aging system consisting of spatial light modulators and optical flip-flop devices. character data. Therefore. which may be different types of data. Every pixel in the data pattern has its own attribute pattern indicating its data type in the attribute plane.. A set of localized pixels can express various kinds of information. PTL is a concept of parallel processing in which information is expressed as a coded pattern and pro- pattern of all attribute patterns is called an overlaid attribute pattern. they can be processed by different operations according to their attribute patterns. which offers the means to execute space-variant processing on the OPALS.o is executed. namely. Thus the data patterns and the attribute patterns are places in images B and A.c =aOObOb_1. One object is coded into a binary data pattern and placed in the data plane.OblO( (8) Obe t AF? 162= T=L.respectively. After the programming. 1). 3.0 = 1. A 2-D image used in PTL is called a processing plane and identified as a data plane or an attribute plane according to its use. Figure 3 shows a conceptual diagram of PTL.o. 4. this technique is addressed to one of the software techniques for the OPALS.ObO. Data and attribute patterns.0b 1 . The projected Thus. Schematic diagram of pattern logic. 4. and two different operations are selected and executed according to the value of a0.. increase of the product terms. The attribute pattern works as a tag assigning the operation to be executed to the pixel. No. In OAL.. To execute OAL efficiently. the proposed method is only useful when the number of kinds of operation cessing. numerical data. pixels with the same attribute pattern are processed by the identical operation. The data plane and attribute plane of PTL are assigned to two input images of OAL and the attribute pattern corresponds to the function selector. for example. In other words. cessed by space-variant neighborhood operations. so that many sequences are required for such a complicated operation and the performance of OAL is significantly reduced. even if various types of data are mixed in the data plane. 1. the OPALS can effectively execute PTL. can be collective- ly processed without care for its location and type. which is specifically called a data pattern (on a data plane) or an Processing in PTL is executed by space-variant neighborhood operations for the data patterns. PTL is executed according to the OAL procedure shown in Fig. The projected pattern of all attribute patterns is called an overlaid attribute pattern. We refer to the localized pixels as an object pattern. A pixel is a primitive element of the processing plane. the proposed tech- Fig. - -4--'- ' ' ' ' '==Ia ' 171 doze W71 In Eq. To program PTL. or _+ I -' -. The OPALS is a parallel digital processing 16. (3) is used. i. 14 / APPLIEDOPTICS 2933 . e. Many object patterns can be placed in a processing plane as long as the patterns do not overlap. MSIMD (multisingle instruction stream multidata flow) pro- Fig. nique for space-variant processing can be executed on the OPALS.g. so that every pixel in a data pattern has its own attribute pattern as shown in Fig. PTL can be implemented by OAL with the technique for space-variant processing described in Sec. we have proposed the OPALS. 15 July 1988 / Vol. An attribute pattern is defined for every pixel in a data pattern. shadow-casting sys6 multi-imtem with electronic parallel feedback loop. After the processing the data patterns are decoded into the original form of information such as numerical data or character data and so on. objects to be processed may have different data types. it can be realized that any attempt to increase the kinds of operations results in complication of the logical operation expressed in Eq. I Data & Attribute Planes Patterns Data & Attribute system.J Thus ao. then c else c = bo. i. An attribute is defined for each pixel in a data pattern.O + aO. and several kinds of optical implementation have been discussed. = b0. The advantage of PTL is that a large amount of data.o and aoo work as Objects operation selectors. Concept of PTL AttributePattern Overlaid is few. Objects to be processed are converted into pixel patterns and placed in image planes. and the pixels other than object patterns are called background pixels.e.o is evaluated.

5. we use the term step for a functional block of an algorithm and stage for each iteration of OAL. II. The data flow of the processing is assumed to be the same as that of the OPALS as shown in Fig..1in parallel.. 7. are used. 27. then y provides the result.0 bo. namely. some kinds of numerical data processing are attempted. Note that each algorithm consists of several processing steps. In this algorithm two kinds of operation. While the attribute patterns consist of two pixels. 7. To detect the above attribute patterns. The limitation of PTL is the number of data types because of the limitation of OAL as discussed in Sec. Data flow in the OPALS. much effort is needed to calculate the addresses of data to be processed. However. A. Numerical data are assumed to be N-bit signed integers and coded by strip patterns as shown in Fig. Attribute patterns for addition and their pattern degeneracy. When two N-bit signed integers. the strip patterns are placed side by side in the processing plane. 0 .b) = a00 al0 (13) (14) for i = 0 to N . Since each data point has its own information of what operation is applied to it. 7. Referring to Eqs. No. in the OPALS for efficient use of the system hardware. Pc(a. some kinds of processing do not require so (a)withoutPattern Degeneracy Data &Attribute Patterns many data types and can effectively derive the capabilities of PTL as discussed below. data arrangements (a) without pattern degeneracyand (b) with pattern degeneracy. X 2 Xi X0 YN-iY y2 y_ yO Fig. 2934 APPLIEDOPTICS / Vol. Fig. A feedback loop is formed For a two- (2) Substitute 2 S:sN-l sN-2 ..0. Addition and Subtraction mum N iteration). a memory managing unit executes this troublesome task and the programmer usually does not worry about the memory address. ( is an XOR operator.Attribute XN- XN- . we can obtain the followingneighborhood operations: S(b) = b@. processing planes. 14 / 15 July 1988 Then the neighborhood operation to be executed is . two operations are designed as operation selectors: (10) Ps(a. 5. IV. where si and ci denote the ith bit of the sum and the carry. the output of the system is used as one of the system inputs at the successive processing stage. ) and yyNlyN . (9) and (10) and to the data arrangement in Fig. in a massively parallel system. Data structure for N-bit signed integers. Algorithms presented in this paper are assumed to be processed according to this data flow. respectively. 6. 5.0 a. which is useful for saving space in (1) Execute the sum operation Si= i i and the carry operation ci+ = xiYi. In an electronic computer. However. The signed number is represented by twos complement. they can be meshed without affecting the spacing of the data patterns and provide one overlaid attribute pattern as shown in Fig.. such a memory management mechanism can be simplified and more efficient parallel processing can be expected. Fig. sum and carry. 6. This is regarded as a sort of pattern degeneracy. (11) (12) c:cN~lcN~ . * I . In this paper. the PTL programmer does not care about the absolute location of the data.. operand operation. c(2) for x and y. 2 x xNlxN 2 ..b) = a0. are addends. respectively. This becomes significant as the degree of parallelism in- creases. two patterns are placed side by side. One of the basic and important numerical operations is addition. Y(2). (3) Repeat steps 1 and 2 until x becomes zero (maxi- s and These operations can be executed simultaneously with PTL. if PTL is used with the OPALS. which are used for the attribute patterns of xis and ys. Numerical Data Processing with Ph (b)withPattern Degeneracy To verify the capabilities of PTL. 1. addition rithm': is achieved by the following algo- Two attribute patterns are designed as shown in Fig. For two-operand operation. C(b) = bbjwi.

. duplicate x to the register Y located in the data plane. .. . 2.12 The advantage of the symbolic notation is that the operation kernels to be used in OAL can be generated using the rule in Fig.O(bOO b-1. 1 and repeating the procedure.. 10): opera- tions: conditional duplication and addition.. After seven ITERATION I ITERITION 2 ITERATION 3 ITERATION4 ITERATION 5 ITERATION6 ITERATION 7 SUM iterations.-... . . 14 / APPLIEDOPTICS 2935 . This operation is developed into the sum of products for the symbolic notation............ Using these operation kernels in the procedure of Fig. D (i) Sampl.. B. overlaid attribute pattern in the attribute plane. 8.. I (g) Corrn. S. . .. Figure 8(c) is the and (h)-(j) sampled images for each product term operations in Eq. two 1) Iteration 2 (in) Iteration 3 (o) Result Fig.. duplicate x to the register X also located in the data plane with one pixel offset to the left direction. 15 July 1988 / Vol.. . Plane L::J-.(b0..... A NAND operation for the sampled images provides the result of Eq. . u 1100 (n) Iteration 4 are generated from Eq. . (d) coded image in OAL.1) 100 1 (15) . x:x2xlx X y:y2y1yo ). 8(h)-(j)]. L-. While the above processing is for a data pair. Img..b)C(b) = a0. . + .o) + aOa1.. . . .. ..... . . 8(k)].. : .. Background pixels have 0 value. 9. the following (1) If y 0 = 1......O + aO..... I (j) Sampl... which contains sixteen overlaid attribute patterns corresponding to the data patterns coded from X and Y.. .Img.....0alb_1.. _.. . II II I I I I I I I 11. and spatially sampled [Figs.: . 8(e)-(g)].A... .. ... ... For 3bit multiplication.-. ... 7 bolic notation is obtained: 1.::::. Multiplication is composed of two fundamental steps are used (Fig.. . No.. : ::: : . Simulated result of addition. correlated with the above operation kernels [Figs.1b1. Addends X and Y are matrices of 7-bit signed integers and coded into the data plane.... ..b)S(b) + Pc(a.. Figures 8(l)-(n) : :. (15) at individual processing stages. ::: . ... (2) If yl = 1..01 . i1 . (b) their data plane. 2 .... . 00 Thus the following sym(16) (17) ... 8(o)... (15) at every iteration after second...:. Figure 8 shows a simulated result of addition. . + 1.. . Img.. then the result is obtained in the register Y... . .. (16)... :: : :... ..... (::::Atrbt + a.. we can execute the parallel addition. (a) two addends. . .. . (o) final result of addition.. " .. ... . the result of the addition is obtained as Fig. (15) [Fig... (h) Sampl.. .. (3) Add the data in the registers X and Y using the algorithm in Sec. 27.Ob_1.. 1 8 63 :l :. (15).. .. where the bit data of 1 and 0 are expressed by pixels with 1 and 0 values.. which is used sequence we can execute addition.. 000000 000000 000000 O0000 000000 000000 f) Corrl. A. The data and attribute planes are coded into a coded image in OAL [Fig 8(d)]. . Subtraction addition with twos complement representation. (k) result of Eq.. .D.... (15) at each processing stage are shown with labels of iteration numbers. The results of Eq. . . (15) at the first iteration......... .. : .... .... After four iterations... (c) attribute plane.ObOb1. s :-..Oa1. Figure 9 shows the result of matrix addition. .. Here we explain the abstract of the algorithm using an example for 3-bit integers.. Multiplication Fig. 2 000000 000000 OOO00 000000 000000 000000 (k) Iteration 1 . (e)-(g) correlated addends (a) are converted into the data object in the data plane (b).:'::':. Repeating this RDDENDX 32 3 OATRPLANE PLRNE ATTRIBUTE MDEND show the results of Eq. mg. mg. . two matrices can be added with the same procedure. . ..... : (alflddends (b) Data Plane object dl Coded (e) Corrl.:..l-. (l)-(n) results of Eq.. 0a_ .-. the desired result is obtained.i -O -63 2-2 2 as the data plane at the next stage. I.0..... . ':': : : :: _:: . .. D 000000 000000 000000 OOO00 000000 000000 .0 = aObOOa_1. . mg. ... . . Simulated result of matrix add ition.. . The attribute plane is also depicted. IV. .. . ...... . ... namely. .. respectively.. L-.. .-. ..c = Ps(a.. . can also be implemented using the same algorithm for Multiplication requires a more complicated algorithm than addition.

then the result is obtained in the register Y.. P1.. we j=-2 Although Eq.e. . The duplication with shifting is expressed as follows: b ..o-3..0 + I0. Pn(a. I(b) = boo 2936 APPLIEDOPTICS / Vol. is used for practical processing.. respectively.. X(. The figure depicts the attribute (left-hand side) and data (right-hand side) planes at individual processing stages..0 .. so that conditional operation can be executed.is 0. 11. X:xN~lxN~ 2 .: ~:::. (21) is sufficient for the processing. Although this algorithm is not for matrix multiplication..0 E a..2). (n = 2). . and P2 are operation selectors used in steps 1..g. a sort of data-driven processing1 4 is possible. 14 / 15 July 1988 (1) If the most significant bit of x (sign bit)..2. set the pattern 00..2).0.. n{bn (19) where Do. The result of a current stage is used as the data plane at the next stage.b)Dn(b) + I(b) 2 In Sec. respectively. For multiplication of more-bits numbers..0 + r . + .7 . As a simple example of data-driven processing. ... In this processing sequence.0 -(n = ). and 2'. 2 Z7 wX z jig~7 I OverlaidAttribute Pattern for Step I Processing sequence of 3-bit multiplication. . (2') If y = 1.. (20) is used to preserve the object patterns in the data plane. . No. so that several processes can proceed without control from outside the system. (21) + b 0 (n = 1. one result of processing determines the contents of the following processing.. V. 10..2jbb 2J + b0 .0 N NN NN NNNA lowing operation selectors are designed: _°_ . (2) If the pixel in the attribute plane is 1.I I| (a-2i -2 2 + -2i) (n = 0). For this purpose we use attribute patterns as shown in Fig. 11. D1. (3') Add the data in the registers X and Y. I(b) = b 0. Assuming that the pixels to which x is duplicated are always cleared (i.. Then the fol- Pattern for Step 2- Overlaid Attribute Overlaid attribute patterns for 3-bit multiplication.. and 2'..2 j (n = 0).. (22) are expressed by symbolic notation as follows: . Fig.. The signed integer is assumed to be represented by twos complement. set 1 to the pixels in the attribute plane corresponding to x in the data plane. 2.. and D2 are operations used in steps 1. Equation (18) has information of the data patterns (e. In the twentieth stage. the techniques used here are applicable in various other matrix operations. 1+ No I step 3' Data Pattern register..0 . .2). . ~. we can obtain the Figure 12 shows a simulated result of multiplication for an array form of 4-bit unsigned integers.01 side by side with x. Data-Driven Processing neighborhood operation to be executed as Cn= Pn(a. the desired result is obtained. b. Also the identity operation. xN-1. 3. the inverse form enables us to reduce the number of processing stages.. (24) fE 2 a 2 j b. have 0 value). or else set 0 to the pixels.. . 2.2). (18) . b-2j or b-1j). Pattern for Step 2 Overlaid Attribute z •Z . both operation kernels and attribute planes must be controlled by the program.. Operations in Eq. Namely.. 27. (26) (n=1.step step2 step3 Ea registerB 'f.n j=2-2 Ea_1jb_1 (n = 0).. step 2' EIEIE Fig.7 Then. The main problem in this processing is how to realize the conditional duplication.D. . NN NN NN NN] ... IV the system output is assumed to be fed back to the data plane as the input at the next processing stage.. steps 2 and 3 are repeated with appropriate offset in duplicating x. (n = 0). NN NN NN NN NN] I..0 ... duplicate x to the register X with two pixels offset to the left direction..0 = b. If the output is fed back to the attribute plane.. . inverse the value of the corresponding pixel in the data plane.. The algorithm is as follows: |o. . (n = 1. the sequence of ( design an algorithm to calculate the absolute value of a signed integer. - (25) where Po..b) = j=-2 a_1 jb_ 1 j =-2 (n = 1.. (3) If the pixel in the attribute plane is 1..

.... 'm.. at step 1 the result is fed back as the attribute plane. .. and feed them back cessing unit.' I i- . --. bi+j. (4) If the pixel in the attribute plane is 1. we can effectively use the capacity of optical parallel OPALS is considered..: ... Addition #0-1 5.'1 1 :. Extending the technique of data-driven processing. . The system is constructed by two addition for x and the pattern 00.. . the addition provides the sum and the carry upside down compared with the addition in Sec. :::::::::::::: : . 27. Addition #0-4 1 0. In OAL. Conditional Duplication #3 15.. Addition #2-2 6..1... . Conditional Duplication #1 3. Addition #2-4 0.. Final State (b) Product 11. . .g. At each stage. A simulated result is shown in Fig. attribute and data planes are shown at left. .. b.. . . ... so that it is needed to justify the computational capabilities of OAL in comparison with those of elec- depicts the attribute and data planes at individual stages with contents of the processing.--. For this purpose an extended version of diagram of the extended version of OPALS. Addition #2-1 17. ..: Multiplier 1... . VI... Addition #1-3 13.. Addition #1-0 20. . e. which are coded with the corresponding pixels. . aij processing.A. respectively. Addition #0-3 7. No.. ai+lj. Simulated result of multiplication for an array form of data. a wavelength multiplexing techniques is used for the implementation. which will be the output of the pro- data and attribute planes at a time.::. Addition #2-3 19. and the selected signals are logically produced. This OPALS can execute two kinds of processing to provide and b.. . 14 / APPLIEDOPTICS 2937 . Figure 14 depicts a schematic tronic implementation. Figure 15 shows a block diagram equivalent to the function of one processing unit in OAL and its optical implementation by a shadowcasting system... Finally. The coded signals are selected according to the configuration signals. Discussion at steps other than step 1. Conditional Duplication #0 12. Figure 13 OAL is regarded as an array of programmable logic arrays.. Addition #1-1 (a) I1l. Addition #1-2 Fig. In this processing both attribute and data planes do not have to be controlled from outside the system. Addition #2-0 4. pixel data in two input images.and righthand sides.-:-0: '. 13.aij. The desired result can be obtained for matrix data.''-01 0 I ':'. Addition #1-4 2.. the configuration signals determine the contents of the processing. are the inputs.. The result of each stage is fed back as the data plane optical array logic processors. . 12. .. execute as a data pair. . To obtain a uniform data pattern. :. 15 July 1988 / Vol. :::::::::::: Multiplicand :. Technically.: ::::.. ..01. the product signals are logically summed.. . Addition #0-2 16.. .. IV.. Addition #0-0 14.. . ~~~~~~~~~~~~~~. In this system. :. . . Conditional Duplication #2 9..

Whereas OAL could have an advantage in the processing time. TOR. Processing unit of OAL: alue-. ConditionalAddition#0 5. Attribute Optical Array Logic Proc. IAbsIlute (b) Fig.. ..31. Other useful techniques. . The processing time for the operation in the processing unit is mainly determined by the time for coding... 15. the required size of an operation kernel and the number of kernel units are important factors.. Output Input Data 1..I : . bl IInI. where TAND is the time for the logical product. . 1.. . OAL has advantages in its computational capabilities especially for massively parallel processing.:: . . -r 5 l.... Final State Fig. .. T.. a more significant advantage is in data and configuration signal communication. Conditional Inverting 3. mable logic. rsl...that for selecting.. Trd. .r. . (a) block diagram and (b) an optical implementation using a shadow-casting system.j* CoriguraUn Signals 2.. which is known as a dynamically program2938 APPLIEDOPTICS / Vol. Therefore... In PTL a processing plane itself is regarded as a 2-D register which can be accessed randomly and in paral- Note that the time for the logical product can be neglected because it is performed by overlapping of light signals. the processing time by OAL is estimated at 'rd + rsl + 'rOR.. lso . the electronic method is imposed on hard-wired communication. so that a huge number of signal lines are required to construct a parallel processing system with the uits. and TORcould be the same for optical and electronic implementation. 13. Conditional Setting 'I I' for Attribute Input ii be . 14 / 15 July 1988 lel. Thus.. Conditional Setting '0001' for Data (a) Input A Input 0} 4. #1 Output #1 Output #2 Fig. .'.15 For a hardware implementation of PTL. 0. namely. Conditional Addition #2 . Conditional Rddition #1 Output 0 0 0 1 froem Shadow-c asting systems Configuration Signals . there are many signal lines in and around the processing unit. the overlapped signal becomes a logical one only if all the signals to be overlapped are dark.array... 15(a).. . We estimate in Table I the required number of pixels and the iteration for three kinds of operation. are also available for reducing the iteration number. . On the other hand. if red. .. #2 Optical Array Logic Proc.. such as carry look-ahead addition. As shown in Fig. 1.1 . In OAL these signal lines are realized by optical paths in free space. 27. 14. bij . which are parallel and crosstalk-free lines. The algorithm used in this paper is based on a ripple carry method and is not optimal. . because they deter- . In this case its processing time is estimated at Tcd + rsl + TrAND + TOR.._ 6. Therefore. which causes a serious communication problem when many processing units are used and each processing unit has many inputs. No. . Simulated result of absolute-value operation..::s Ij Input A . t tna4 . Schematic diagram of the extended version of the OPALS for pattern logic. this is nothing but the logical product. Figure 15 depicts only one unit. OAL will be faster than the electronic by TAND. . The same functional unit can be implemented by electronics.and that for logical sum. when a dark signal is assigned to a logical one..

Estimation of Required Numbersof Pixels and Iteration for Numerical Processing Operation Required Number Required Number VII." Appl. 25. 14. Huang. submitted. E. Parallel Neighborhood Operations and an Architecture of an Optical Digital-Computing System. J. J. 15. 3054 (1986). 26. "Optical-Logic-Array Processor Using Shadowgrams. T. for numerical processing. Tanida and Y. "Programming of Optical Array Logic. Opt.1 processing with optical array logic and a new concept for parallel processing called pattern logic. Tanida and Y. Tenth International Optical Computing ConTable I. Am. A. New York. References 1. We are developing effective hardware to achieve (n-bit Signed Integer ) pattern logic and constructing a systematic procedure for programming in pattern logic. Namely. Tanida. 800 (1983). Briggs. Tanida and Y." Appl. J. a large size of operation ker- nel is required. J. "Parallal Algorithms for Optical Digital Computers. 27. 11. 13-17. and M. Maissel. 682 (1987). Therefore. J. Opt. "Optical Parallel Array Logic System. 98 (1975). Opt. Hwang and F. I. Lee. Streibl." Appl. Duff. J. 0 15 July 1988 / Vol. 3. III. 3954 (1987)." Appl. 4053 (1986). "Optical Logic Array Processor Using Shadowgrams. Opt. The processing capability of pattern logichas been verified by several kinds of numerical data processing. 25. 6. Ichioka. No. Opt. Soc. Drabik and S. K. 27(1988). K. a possibility of data-driven processing has also been presented. Ichioka. Opt. a specific correlator for OAL can be designed. We believe that the extended version of the OPALS is a basic architecture for PTL." J. correlation in OAL is required to have large kernels but the number of elements in the kernel is small." IBM J. A 2." J. "Modular Components for an Optical Array Logic System. In PTL information to be processed is expressed as a set of data and attribute patterns. 9. Swartzlander. Am. 1985). 14 / APPLIEDOPTICS 2939 . Soc. 19. Brenner. K. Ichioka. 1984). 25. H. 1237 (1985). "Digital Optical Computing with Symbolic Substitution. A." Appl. Fleisher and L. Ichioka. but the number of kernel units used is not so many. "OPALS: Optical Parallel Array Logic System. Ichioka. A 2. J. 5. 4. and N. Conclusions We have proposed a new technique for space-variant of PiHels Addition (n-bit 2 n) of Iteration n 2 SignedInteger) 6n n+ n. Preston. A. II. which will be reported in a subsequent paper. Tanida and Y. M. J. "Digital Optical Arithmetic. Tanida and Y. Opt. Therefore. 25. Ichioka. Tanida and Y.16 12. 2.. 73. Cambridge. Optical Parallel Digital Image Processing. Opt. "Birefringent Encoding and Multichannel Reflective Correlator for Optical Array Logic. Nakagawa." Appl. 1: Image Data Processing. Tanida and Y. SIMD Array 13. and Paral- The extended version of the OPALS can effectively execute PTL. Develop. Opt. B." in Proceedings. Opt. Soc. Computer Architecture lel Processing (McGraw-Hill. Res. "An Introduction to Array Logic. Opt." Appl. The result indicates that. J. Jr. J. Murdocca.Huang.Table 1. 3751 (1986)." Appl. "Digital Optical Computing with One-Rule Cellular Automata. "Optical-Logic-Array Processor Using Shadowgrams. 16. with Al- gorithms for Numerical Transforms and Partial Differential Equations. 2926 (1988). and Y. 1983). Required Size of OperationKernel and Required Number of Kernel Units for Numerical Processing Operation Rddition l n-bit SignedInteger ) Multiplication (n-bit UnsignedInteger) Absolute Ualue In-bit SignedInteger) Required Size of Operation Kernel 6* 6 10 * 4n-2 6* 6 Required Number of Kernel Units 4 2n 4 ference (MIT Press. concurrent execution of OAL for both data and attribute patterns promises effective processing. 2: A New System Architecture without Memory Elements. "Shift-Connected Architectures for Digital Optical Computing Systems. Am. 27. 1565 (1986). mine the required specifications of the optical correlator for OAL. 1245 (1985). We have shown a system architecture suitable for pat- Multiplication (n-bit UnsignedInteger) Absolute Ualue 2n n +3 tern logic extended from the OPALS. J. 8." J. Opt. 25. 3021 (1986).-H." Appl. H. 7. J. Modern Cellular Automata (Plenum. pp. Ichioka. Thus we estimate their value for numerical processing (Table II). Ichioka. 10. New York. 26.