Abstract:
An optical processor that incorporates optical computing in a monolithic, i.e. single unit, structure that can take the place of, or operate as a coprocessor with, traditional processor devices such as vector processors, digital signal processors, RISCs, CISCs, ASICs, FPGAs among others. The optical processor incorporates photonic devices that perform algorithmic functions on optical signals. The optical processor takes one or more incoming digital signals, converts the digital signal into an optical signal, performs the algorithmic function(s) in the optical domain, and then converts the result back into a digital signal, all in a monolithic or single unit structure.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. patent application Ser. No. 12/571,723, filed Oct. 1, 2009. 
    
    
     FIELD 
     This disclosure relates to photonics and optical computing. 
     BACKGROUND 
     Many computing demands are pushing the limits of what can be accomplished using traditional semiconductor-based processor devices, for example reduced instruction set computers (RISC), complex instruction set computers (CISC), application specific integrated circuits (ASIC), and field programmable gate arrays (FPGA). Traditional semiconductor-based processor devices are also limited by size, power, and heat constraints. 
     SUMMARY 
     An optical processor is described that incorporates optical computing in a monolithic, i.e. single unit, structure that can take the place of, or operate together with as a coprocessor, traditional processor devices such as vector processors, digital signal processors, RISCs, CISCs, ASICs, FPGAs among others. 
     The optical processor incorporates photonic devices that perform algorithmic functions on optical signals. The optical processor takes one or more incoming digital signals, converts it into an optical signal, performs the algorithmic function(s) in the optical domain, and then converts the result back into a digital signal, all in a monolithic or single unit structure. 
     In one example, the optical processor is a monolithic structure that includes an input register that is configured to receive a digital input signal, a digital to analog converter is connected to the input register that is configured to convert a digital input signal received by the input register into an analog electrical signal, and an optical transmitter is connected to the digital to analog converter that is configured to convert an analog electrical signal from the digital to analog converter into an optical signal. Algorithmic function circuitry is connected to the optical transmitter that is configured to perform an algorithmic function using an optical signal received from the optical transmitter and that outputs a result in the form of an optical signal. In addition, an optical receiver is connected to the algorithmic function circuitry that is configured to convert the optical signal of the result received from the algorithmic function circuitry into an analog electrical signal, an analog to digital converter is connected to the optical receiver that is configured to convert the analog electrical signal received from the optical receiver into a digital output signal, and an output register is connected to the analog to digital converter that is configured to receive the digital output signal. 
     In another example, a processing system is described that includes a main processor, and a plurality of coprocessors connected to the main processor. At least one of the coprocessors is the optical processor having optical algorithmic function circuitry. 
    
    
     
       DRAWINGS 
         FIG. 1  illustrates a processing system that incorporates the optical processor as a coprocessor. 
         FIG. 2  illustrates an example of the circuitry on the optical processor. 
         FIG. 3  illustrates an example of the optical processor incorporating algorithmic function circuitry using wavelength-division multiplexing (WDM). 
         FIG. 4  illustrates an example of the optical processor incorporating algorithmic function circuitry using non-WDM optics. 
     
    
    
     DETAILED DESCRIPTION 
     With reference to  FIG. 1 , a processing system  10  is illustrated that includes a main processor  12  and a plurality of coprocessors in communication with the main processor  12  for supporting the main processor. In the illustrated example the coprocessors include an optical processor  14 , a digital signal processor (DSP)  16 , a FPGA processor  18  and a vector processor  20 . Other numbers and types of coprocessors used in conventional computing devices can be utilized, but at least one coprocessor is the unique optical processor  14  described herein. It is to be understood that the optical processor  14  could be the only coprocessor connected to the main processor  12 , and multiple optical processors  14  could be provided. The coprocessors help support the primary program flow from the main processor  12 . The coprocessors  14 - 20  can also be connected to each other to help support the other coprocessors. Further, the optical processor  14  could function as a main processor, not connected to the main processor  12  or to other coprocessors. 
     The illustrated system  10  also includes memory  22  that is shared by the main processor and the coprocessors. The system  10  can be designed to perform any number of intended tasks including, but not limited to, general purpose computing. The construction and operation of the main processor  12 , coprocessors  16 ,  18 ,  20  and memory  22  are conventional and well understood by persons of ordinary skill in the art. 
     The optical processor  14  is a monolithic, i.e. single unit, structure that receives and outputs signals in the digital domain, but also incorporates photonic circuitry to perform an algorithmic function in the optical domain. The various circuitry of the optical processor  14  could be disposed on a single substrate or disposed on multiple substrates that function together as a single unit, each of which is to be considered as a monolithic structure as long as the described functions of the optical processor  14  are performed by that structure. 
     An example of the optical processor  14  is illustrated in  FIG. 2 . The optical processor  14  includes at least one input register  30 . Preferably, a plurality of input registers  30  are provided, each of which is configured to receive a digital input signal  32 . A digital to analog converter (DAC)  34  is connected to each input register  30 . The DAC&#39;s are configured to convert a digital input signal received by its associated input register  30  into an analog electrical signal. 
     At least one optical transmitter  36  is connected to one of the DACs  34 . In the example illustrated in  FIG. 2 , two optical transmitters  36  are provided, each one being connected to a respective one of the DACs. The optical transmitter  36  is configured to convert the analog electrical signal from the DAC  34  into an optical signal. Any device that can convert an analog electrical signal into an optical signal can be used as the optical transmitter  36 . An example of a suitable optical transmitter  36  includes, but is not limited to, a laser diode. 
     Algorithmic function circuitry  38  is provided that is configured to execute one or more algorithmic functions in the optical domain. The circuitry  38  is connected to the optical transmitter(s)  36  to receive the optical signal(s) therefrom. The circuitry  38  can also be directly connected to one or more of the DACs to receive an analog electrical signal(s) from the DAC(s). The inputs to the circuitry  38  are dictated by the algorithmic function(s) the circuitry is designed to perform. However, at least one input must be an optical signal from an optical transmitter  36 . Examples of algorithmic functions that the circuitry  38  can be configured to execute includes, but is not limited to, vector matrix multiply (VMM), fast fourier transform (FFT), correlators, and multiply and accumulates (MACs). 
     The circuitry  38  outputs a result in the form of one or more optical signals that are input into an optical receiver(s)  40 . In the example illustrated in  FIG. 2 , two optical receivers  40  are provided, each one being connected to the circuitry  38  and receiving an optical signal. The optical receiver  40  is configured to convert the optical signal into an analog electrical signal. Any device that can convert an optical signal into an analog electrical signal can be used as the optical receiver  40 . An example of a suitable optical receiver  40  includes, but is not limited to, a photo diode. 
     The analog electrical signal from each optical receiver  40  is then input into an analog to digital converter (ADC) that converts the analog electrical signal into a digital output signal. The output signals are then directed to an output register  42 . Preferably, a plurality of output registers  42  are provided, each of which is configured to receive an output signal. The output registers  42  direct the output signals to the main processor  12 , one of the other coprocessors  16 ,  18 ,  20  and/or to the memory  22 . 
     With reference to  FIG. 3 , an example of an optical processor  50  is illustrated where the algorithmic function circuitry  38 , shown in dashed lines, is configured for a VMM function employing WDM. It is to be realized that the optical processor and the algorithmic function circuitry therein can vary from the example described and illustrated in  FIG. 3 . 
     The processor  50  includes input registers  52  labeled A 1 , A 2 , B 11 , B 12 , B 21  and B 22 , DACs  54  connected to each of the input registers, and optical transmitters  56  in the form of laser diodes LD 1  and LD 2 , which transmit light at two different optical wavelengths, connected to the DACs associated with registers A 1  and A 2 . 
     The algorithmic function circuitry  38  is configured to perform a VMM function to resolve the following specific function: 
     
       
         
           
             
               
                 [ 
                 
                   
                     A 
                     1 
                   
                   ⁢ 
                   
                     A 
                     2 
                   
                 
                 ] 
               
               × 
               
                 [ 
                 
                   
                     
                       
                         B 
                         11 
                       
                     
                     
                       
                         B 
                         12 
                       
                     
                   
                   
                     
                       
                         B 
                         21 
                       
                     
                     
                       
                         B 
                         22 
                       
                     
                   
                 
                 ] 
               
             
             = 
             
               [ 
               
                 
                   
                     
                       
                         C 
                         1 
                       
                       = 
                       
                         
                           
                             A 
                             1 
                           
                           * 
                           
                             B 
                             11 
                           
                         
                         + 
                         
                           
                             A 
                             2 
                           
                           * 
                           
                             B 
                             12 
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         C 
                         2 
                       
                       = 
                       
                         
                           
                             A 
                             1 
                           
                           * 
                           
                             B 
                             21 
                           
                         
                         + 
                         
                           
                             A 
                             2 
                           
                           * 
                           
                             B 
                             22 
                           
                         
                       
                     
                   
                 
               
               ] 
             
           
         
       
     
     To accomplish the VMM function, the function circuitry  38  includes a multiplexer  58  that receives the optical signals, λ 1  and λ 2 , from the optical transmitters  56  and combines the signals into a single optical signal λ 1 , λ 2 . Note that λ 1  and λ 2  correspond to the signals input through the registers A 1  and A 2 , respectively. The combined optical signal λ 1, λ   2  is input into a splitter  60  which splits the combined signal into two portions. 
     The function circuitry  38  also includes a pair of modulator sections  62 ,  64 , each modulator section including a pair of optical (i.e. electro-optic) modulators  66   a ,  66   b ,  66   c ,  66   d . The optical modulators  66   a ,  66   b  of section  62  are tuned to the optical wavelength or frequency of signal λ 1 , while the modulators  66   c ,  66   d  of section  64  are tuned to the optical wavelength or frequency of signal λ 2 . 
     One portion of the signal from the splitter  60  is input to the modulators  66   a ,  66   c  of the sections  62 ,  64 , while the other portion of the signal from the splitter is input to the modulators  66   b ,  66   d  of the sections  62 ,  64 . Since the modulators  66   a ,  66   b  are tuned to the signal λ 1 , they only act on that portion of the multiplexed signal, while the modulators  66   c ,  66   d  only act on the portion of the signal λ 2 . In addition, the analog electrical signal from the DAC associated with input register B 11  is input to the modulator  66   a  of the section  62 , the analog electrical signal from the DAC associated with input register B 12  is input to the modulator  66   c  of the section  64 , the analog electrical signal from the DAC associated with input register B 21  is input to the modulator  66   b  of section  62 , and the analog electrical signal from the DAC associated with input register B 22  is input to the modulator  66   d  of section  64 . 
     The modulators  66   a - d  perform the multiplication functions of A 1 ×B 11 , A 2 ×B 12 , A 1 ×B 21  and A 2 ×B 22 . Optical modulators or Variable Optical Attenuators (VOAs) are known optical functions that can be implemented using a variety of different technologies and are used to attenuate an optical signal proportional to the value of an electrical input. In the illustrated example, the outputs of the DACs associated with B 11 , B 12 , B 21 , and B 22  are used to modulate the outputs from LD 1  and LD 2  to effectively perform a multiplication function. The optical outputs of the modulators  66   a ,  66   c  are added together to result in an optical amplitude value that is equal to C 1 , while the optical outputs of the modulators  66   b ,  66   d  are added together to result in an optical amplitude value that is equal to C 2 . The optical values C 1  and C 2  are input into optical receivers  68  in the form of photo diodes which convert the optical signals into analog electrical signals and then converted by ADCs  70  to digital signals and output via output registers  72  labeled C 1  and C 2 . 
       FIG. 4  illustrates an optical processor  100  that is similar in construction and function to the optical processor  50  including the algorithmic function circuitry  38  being configured to perform the same VMM function described above with respect to  FIG. 3 . However, the algorithmic function circuitry  38  of  FIG. 4  does not use WDM optics. Instead, the algorithmic function circuitry  38  includes a pair of optical splitters  102 ,  104  connected to optical transmitters  106 . The outputs of the splitter  102  are input to optical modulators  108   a ,  108   b , while the outputs of the splitter  104  are input to optical modulators  108   c ,  108   d , where the modulators  108   a - d  perform the same the multiplication functions discussed above for  FIG. 3 . 
     The examples disclosed in this application are to be considered in all respects as illustrative and not limitative. The scope of the invention is indicated by the appended claims rather than by the foregoing description; and all changes which come within the meaning and range of equivalency of the claims are intended to be embraced therein.