Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

Key theories and technologies and implementation mechanism of parallel computing for ternary optical computer

  • Sulan Zhang ,

    Roles Software, Writing – original draft

    zhangsl000111@sina.com

    Affiliations School of Information Science and Engineering, Jiaxing University, Jiaxing, Zhejiang, China, Key Laboratory of Medical Electronic and Digital Health of Zhejiang Province, Jiaxing University, Jiaxing, Zhejiang, China

  • Junwei Chen,

    Roles Writing – review & editing

    Affiliation School of Information Science and Engineering, Jiaxing University, Jiaxing, Zhejiang, China

  • Zihao Liu,

    Roles Data curation

    Affiliation School of Information Science and Engineering, Jiaxing University, Jiaxing, Zhejiang, China

  • Xiaolin Wang,

    Roles Software

    Affiliations School of Information Science and Engineering, Jiaxing University, Jiaxing, Zhejiang, China, Shanghai Business School, University of Shanghai for Science and Technology, Shanghai, China, Jujiang Construction Group Co., Ltd., Jiaxing, Zhejiang, China

  • Chunhua Zhang,

    Roles Writing – review & editing

    Affiliation School of Information Science and Engineering, Jiaxing University, Jiaxing, Zhejiang, China

  • Jun Yang

    Roles Writing – review & editing

    Affiliation School of Information Science and Engineering, Jiaxing University, Jiaxing, Zhejiang, China

Abstract

Ternary Optical Computer (TOC) is more advanced than traditional computer systems in parallel computing, which is characterized by huge amounts of repeated computations. However, the application of the TOC is still limited because of lack of key theories and technologies. In order to make the TOC applicable and advantageous, this paper systematically elaborates the key theories and technologies of parallel computing for the TOC through a programming platform, including reconfigurability and groupable usability of optical processor bits, parallel carry-free optical adder and the TOC’s application characteristics, communication file to express user’s needs and data organization method of the TOC. Finally, experiments are carried out to show the effectiveness of the present theories and technologies for parallel computing, as well as the feasibility of the implementation method of the programming platform. For a special instance, it is shown that the clock cycle on the TOC is only 0.26% of on a traditional computer, and the computing resource spent on the TOC is 25% of that on a traditional computer. Based on the study of the TOC in this paper, more complex parallel computing can be realized in the future.

Introduction

With the continuous development of science and technology, people need faster computers. It means increasing power to chip integration levels. Since the hardware of electronic computers is limited by Moore’s Law, new type computers are paid increasingly attention to, such as optical computers, quantum computers, DNA computers, etc. [14]. Due to the high parallelism and high information capability of light, optical computing has gradually become a research hotspot.

Optical computing has some advantages, such as numerous processor bits, high parallelism, easy expansion, low power consumption and so on [58]. It can solve the bottleneck problem of electronic computing. In order to take advantages of optical computing, the TOC was proposed in 2000 [1, 2]. For this optical processor, it has a mess of processor bits and these processor bits can be bitwise reconstructed and grouped, and computational function of each processor bit can be reconfigured at runtime. Therefore, the TOC is more advantageous than traditional computer systems in solving problems that require more resources and parallel computing with large amounts of data.

After many years of exploration, researchers have made much progress on the TOC, such as the Decrease-Radix Design theory [9], the programming model [10], the MSD adder [1114], parallel radix-4 MSD iterative division [15], Traffic Flow Model [16], MSD iterative division algorithm and implementation [17], implementation of DFT algorithm and so on [18].

Although these works are valuable and of great contribution, the advantages of optical computing have not been completely exploited, especially in the key corresponding theories and technologies of parallel computing. In order to solve this problem and make full use of the TOC’s advantages, key theories and technologies of the TOC in terms of parallel computing are developed in detail in this paper, and implementation method of the parallel-computing programming platform is established. In addition, the architecture of the present study can be generalized to more complex parallel computing of the TOC.

Materials and methods

Related work

Many countries have started the research of optical computing from different perspectives. In medicine, optical technology is proposed for three-dimensional reconstruction of soft tissue surface geometry in minimally invasive surgery (MIS) [19, 20]. In computer science, in order to eliminate the secondary cache and increase the processor space, an all-optical memory designed with high-bandwidth optical characteristics is proposed. In chip development technology, a new type of optical chip is proposed and the chip is more efficient, faster, and consumes less power than electronic chips when performing computing tasks [21]. In high-performance computing systems, in order to meet the need for bandwidth expansion, optical interconnection technology is used. Obviously, optical computing has more application directions and application prospects.

Over years, some research scholars have tried to build some optical computer systems [1, 2, 2226]. In Japan, the research of optical array logic appeared [27, 28], Optical computer mouse was developed [29]. In the United States, the study of dual-mode optical computers appeared [30]. In China, ternary optical computer appeared [1, 2]. In Canada, light quantum gates were designed [31]. In Germany, the technology of creating feasible reflectance data appeared [32]. In Russia, the technology of optical scanning appeared [33].

From the above description, it can be seen that many people have devoted a lot of effort to the study of optical computers from different perspectives in different countries. The paper mainly elaborates key theories and core technologies of TOC processing parallel computing.

Key theories and technologies of parallel computing for the TOC

The reconfigurability of optical processor bits.

The reconfigurability of optical processor bits supports parallel computing. After the Decrease-Radix Design theory was applied into the TOC, it is known that the TOC has 18 simple basic units (i.e. SBU) and no more than six of them can constitute any of the 19683 tri-valued logic operators [9]. It is also found that every SBU has the same optical structure, as shown in Fig 1. In this structure, there are two optical paths. The input data a enters the main optical path which consists of two polarizers (P1 and P2) and a liquid crystal (LC) to form a sandwich structure. The other input signal b enters the control optical path [10]. f1 and f2 are semi-reflectors, F is a holophote, V is a vertical polaroid, H is a horizontal polaroid, g1, g2 and g3 are phototubes, S is a tri-pick device, k1, k2 and k3 are reconstruction instruction bits, Y is an XOR gate. According to the values of the reconstructed instruction bits k2 and k3, S selects one of the output signals from g1, g2 and g3 and sends the selected signal to Y. Y’s output signal is used to control the optical rotation of LC in the main optical path. When the reconstruction instruction bit k1 is 1, Y makes the S output signal negate, and when k1 is 0, S output signal is unchanged. The difference between SBUs is that the static rotation of LC is opposite, or polarization direction of two polarizers is different, or the characteristic of the control optical path is different [34].

According to the polarization direction of two polarizers, which is equally divided into four areas, named VV, VH, HH and HV. Based on the polarization of the polarizer, the control light path is divided into two areas (H, V). According to Decrease-Radix Design theory, when constructing a specific logic operator, first we should select the pixels of each type of main optical path, then give the values of the reconstruction instruction bits k1, k2 and k3 for these pixels [35]. After the computational task is completed, the logic operator will release all the tiny SBUs that are occupied, in order to reuse them next time. If the SBUs are enough, a Ternary Optical Processor (TOP) can be constituted. The reconfigurability of optical processor bits is the basic of parallel computing.

Groupable usability of optical processor bits.

The carry operations are implemented bit by bit in a traditional adder, which makes the adjacent bit operation coupled. Besides, the processor bits are not grouped for different operations simultaneously, and practically utilized as a whole for a single operation.

In the TOC, a logical operation is limited to its own data bits. There is no correlation between the optical processor bits of a three-valued logical operation.

In 1950, the redundant counting method was used to eliminate the carry process in the addition [36, 37], three symbols represented redundantly with two binary digits form the Modified Signed Digit (MSD) number system [38]. Mathematicians have proved that the addition operation of two MSD numbers can be done by a series of appropriate three-valued transformations, there is no-carry operation in these transformation process. All bit transformations are carried out in parallel [38].

The MSD adder can express the carry value in the redundant part of the bit, therefore there are not carry operations in the MSD adder [11]. Considering that the MSD addition is achieved by a set of three-valued logic transformations, MSD adder is used in TOC. So processor bits of the TOP can be used in groups. The groupable usability of optical processor bits is another key basic of parallel computing, and it enables different regions of the TOP to be configured as different operators. Optical processor bits can be selectively grouped or combined.

Parallel carry-free optical adder.

In 2010, the problem of parallel carry-free MSD addition was considered. In 2013, a set of simpler parallel carry-free three-step MSD addition transformation rules was obtained according to the three-step TW-MSD addition transformation T, W, T’, W’, T2(S) [11], as shown in Table 1. In 2016, the characteristics of the parallel carry-free three-step MSD addition was described [16].

The MSD adder is a no-carry full adder in parallel. Considering that the TOP has three information symbols, each bit of the TOP can be reconstructed into any three-valued logic operator, and the number of TOP bits is large. The above features meet the requirements of MSD adder, so the TOC in the present study finishes the binary addition operation by using the MSD adder in parallel. The transformation truth table of the MSD adder is listed in Table 1. The three logical steps are independent, which are described as follows [11].

  1. Step1: Apply operation T and W to the operands a and b bit by bit and append one 0 to the tail of the result of T.
  2. Step2: Apply operation T’ and W’ separately to the results of T and result of W bit by bit. And append one 0 to the tail of the result of T’.
  3. Step3: Apply operation S which is the same to operation T to the results of T’ and result of W’ bit by bit. The result is the sum of a and b.

Parallel carry-free optical adders make it realizable for the TOC to perform parallel computing. The calculation process of Parallel carry-free optical adders is divided into three steps as shown in Fig 2.

thumbnail
Fig 2. The calculation process of parallel carry-free optical adders.

https://doi.org/10.1371/journal.pone.0284700.g002

The application characteristics of the TOC.

There are thousands of processor bits in the TOC. The computing function of each processor bit can be reconfigured according to the needs of users, and each processor bit can be assigned to different tasks. These characteristics make its hardware fully meet the requirements of the structure data computer. The simple structure data computer summarizes the application characteristics of the TOC [39]. Each expansion of data types pushes computers into a new field of application. Especially for the processing of structured data, computers have been brought into a broad field of computing and management. Structured data computer can directly process structured data. The structured data composed of different simple data types can be executed in one operation instruction. At present, the ternary optical processor has ability to operate the structured data independently. For example, we define a structure data type called JXDX:

JXDX {
       float a;
       int b;
       char c;
       float d[8];
}

In the curly braces, each line is one component of the structured data type JXDX. The fourth line, float d [8], is an array of float data type and the rest are simple data types, including float type, int type and char type. All those components are the simple data types of the C programming language. The TOC can operate the structure data type called JXDX in different optical processor bits.

Before the calculation, the TOC processor bits need to be reconstructed according to the user’s calculation requirements, so we include the user’s calculation data and operator types in a communication file, and the TOC management software obtains the corresponding parameters by parsing the communication file. The concept of simple structure data computer makes the TOC a continuation and extension of electronic computer in terms of computing power.

Communication file.

To solve different problems, there are various files formats. The PDF file is to solve the file exchange problem in the form of picture, the DOC file is to solve the text editing problem, the ELF file is to solve the linking problem of multiple executable files, the communication file (SZG file) is to solve the problem of processor bits allocation and computing function reconstruction in the TOP. These files contain the same file structure: the file header and the file body. Various files have some structured information, such as file name, file length, file password, and some inconveniently structured contents. In order to accommodate the computer system to identify and manage these files, structured information is traditionally stored at the beginning of the file, called file header, and the inconvenient expression contents are stored at the end of the file, called file body. We also follow the convention. The key difference between different files is that the definition of each field in file header is different. The key technology is whether the definition of each field in file header can make its function complete.

Currently, communication file is the only way to express the user’s needs about calculation rules and data bits in the TOC’s application [40]. Programmers must follow a special format to create a communication file to the TOC’s system software find user’s demands from the file. So the communication file format is the key of writing the TOC’s application program.

The new simplified version of communication file format has two parts: indication section and data section as shown in Fig 3. The indication section includes user’s information and demands for the TOP. The data section includes all of original data in *.SZG file or all of computing results in *-R.SZG file.

In Fig 3, in the indication section, there are one File mark and n+1 Labels (Calculation labels) ranging from 0 to n. The File mark records the version of the communication file, the communication filename, user’s address and Label amount in the communication file. Each Label records a user’s demand, which contains the calculation rule, data bit’s number, data amount and the first data address in the data section. Obviously, programmers can at the most give n+1 calculation needs in a communication file. In the *.SZG, the original data of each Label are stored in the data section one by one, and the results are stored in the *-R.SZG. The starting address of each original data or result region is recorded in the First data address of corresponding Label.

Data organization method of the TOC.

The user’s calculation data and requirements are included in the communication file. The user program transmits this file to the TOC, and the TOC task management software parses the file according to the format of the communication file to obtain the corresponding calculation data and calculation rule. And it assigns the corresponding processor bits based on the number of data bits and calculation rule. In order to improve the calculation efficiency of the TOP, the TOC task management software organizes the corresponding calculation data according to the number allocated by the calculator. For example, if there are 2 operations, namely p1 = x + y, p2 = zq, here, x, y, z and q all are int. and the amount of data is 10000 and 20000 respectively, then the p1 operation is assigned 1 adder, and the p2 operation is assigned 2 logical OR operators, then a pair of data frames of calculated data should be organized into the following format in Fig 4.

Data A and Data B are equivalent to two structured data as shown in Fig 5.

When calculating, it is only necessary to sequentially send the organized data into the TOP.

Implementations method of parallel-computing programming platform based on the TOC

In this section, a three-step MSD adder is used in the TOC, the calculation is accomplished in pipeline as shown in Fig 2. In optical implementation, horizontal polarized light (H), the vertical polarized light (V) and no light (W) are used. H represents u (-1). V represents 1. W represents 0.

In order to better understand these theories and technologies, the specific steps for implementation of user’s parallel calculations are as follows:

  1. Step 1: Organize all user’s calculation rules and original data into a communication file. According to a specific instance, user inputs relevant information through the communication file input interface [40], then generates a communication file.
  2. Step 2: The communication file is sent to the TOC.
  3. Run the user’s program and send the generated communication file to the TOC. Step 3: The optical processor bits are allocated in groups.
  4. The TOC task management software receives the communication file and parses it, the optical processor bits are allocated in groups according to the calculation rules required by the user in the communication file.
  5. Step 4: The TOP is reconstructed to form a structured computer required by users. When the TOP reconstruction command is started, these allocated optical processor bits are reconstructed into required operators by users according to calculation rules in the communication file.
  6. Step 5: Generate structured data for the TOP.
  7. The TOC task management software organizes the original data in the communication file into structured data according to the order of required operators.
  8. Step 6: Send these organized structured data to these reconstructed operators in the TOP. These organized structure data are sent into these reconstructed operators to calculate. Then the optical results are obtained.
  9. Step 7: The optical results are sent to the decoder by the optical processor control software, and the decoder reconvert the optical result data into electrical signal data in binary.
  10. Step 8: Repeat step 5 to step 7 until all original data in communication file has been calculated.

Finally, these electrical signal result data are collected into *–R.SZG file and then returned to the user’s program.

Results and discussion

Experiments and analysis of the TOC handling a parallel computing

Experiments environment.

The experiment system is the TOC-SD16, the architecture of which is shown in Fig 6. It includes two parts: the master computer and the slave computer. The master computer is an EC with a 64bit windows 8.1 computing system, and Pentium(R) Dual-Core CPU @3.00GHz, 4GB DDR4 memory. The TOC monitoring-system runs on the master computer, the main task of which is to receive the user’s original communication file, adjust and encode the user’s input data, and then generate the operation control communication file. The slave computer is to control and process operations based on its original communication file and middle operation control file. It includes three function modules, the encoder, optical processor (the arithmetic unit), and the decoder. The encoder consists of an LCD and a vertical polarizer. The decoder consists of five components: a vertical polarizer, a horizontal polarizer, spectroscope, and two photoelectric converters. The optical processor consists of two components: two pieces of polarizer and one LCD with 576 pixels which means most 576 bits’ data can be processed in parallel. ARM9 is used to encode the results and handle the data for feedback. The control light path is divided into two areas (H, V), and the main light path is divided into four areas (HH, HV, VH, VV).

The structure of the optical processor of the TOC is shown in Fig 7. It consists of two parts, the left and right part, and each pixel of LCD in each part is indicated as the arrow. It has 576 pixels, in SD16, in order to easily observe the result data. The three adjacent pixels in the same row form a processor bit. That is, there are 192 processor bits.

Experiment process and analysis.

Four kinds of operations are tested, i.e., f1 = a + b, f2 = cd, f3 = eg and f4 = hi. The four operations and corresponding data are contained in ZH.SZG. For f1, there are a total of 200000 pairs of original data, where a and b are 8-digit MSD number; for f2, there are 200000 pairs of data, where c and d are 8-digit MSD number; for f3, there are 100000 pairs of data, where e and g are 8-digit ternary number; and for f3, there are 100000 pairs of data, where h and i are 8-digit ternary number.

For step 1 and step 2, please refer to Ref. [10].

Step 3: Processor bits for ZH.SZG are allocated, and these processor bits are reconstructed into the user’s composite operator.

The TOC task management software receives ZH.SZG and parses it, then +, -, ∧ and ∨ four calculation rules and the corresponding data number, 200000, 200000, 100000, 100000 are obtained. Here a and b are 8-digit tri-value numbers, requiring 37 TOP bits to construct a 8-digit TW-MSD parallel adder to accommodate the “+” operator f1; c and d are 8-digit tri-value numbers, requiring 37 TOP bits to construct a 8-digit TW-MSD parallel adder accommodate the “-” operator f2; e and g are 8-digit tri-value logic data, requiring 8 TOP bits to construct the 8-digit ∧ operator f3; similarly, 8 TOP bits are required to construct the 8- digit ∨operator f4[17].

In the present case, the data amounts of f1 and f2 are defined twice those of f3 and f3. Therefore, if the number of the operators in terms of executing f1 and f2 in the TOP is twice that of f3 and f4, the consumed time of the former operation will be close to the latter. So the data bit allocation module will assign 88 (= 44 * 2) processor bits to f1, constructing two f1 “+” operators; 88 (= 44 * 2) processor bits are assigned to f2 for constructing two f2 “-” operators; similarly, 8 processor bits are assigned to f3; then 8 processor bits are assigned to f3, so which forms a composite operator consisting of 192 (= 88 + 88 + 8 + 8) optical processor bits. Considering the pipelined computing technology, one result is gotten in every clock cycle, except the first two clocks, this composite operator only need to run 100002 (=100000+2) times to complete all the data calculation. The pipeline implementation of TW-MSD adder is used. Data bit allocation of the example is shown in Table 2.

Step 4: Optical operators required by the user is reconstructed. In other words, the structured computer required by the user is formed.

Each pixel may output no-light (W), horizontal polarized light (H) or vertical polarization light (V), the light intensity of W, H and V may be different. For a processor bit, there is only one output (W or V or H). Each operation corresponds to a refactoring instruction, for example, the refactoring instruction of T is 011 101 110 000 001 010. Refactoring instructions of 192 processor bits form a reconstructed latent image table, which is sent into reconstructor, the TOP completes reconstitution. These optical operators required by the users are referred to as compound operators, it is equivalent to a structured computer.

Step 5: Structured data of the composite operator are generated.

The original data in ZH.SZG are fetched and these data are organized into structured data. Here, the structured data of the first 3 screens are given. u represents -1.

For the first screen, one structured data a in decimal is 57, 39, 181, -154. The corresponding MSD number is 00111001, 00100111, 110u0101, u0u010u0 respectively. Another structured data b in decimal is 35, 84, -9, -46. The corresponding MSD number is 00100011, 01010100, 0u110111, u10101u0 respectively.

For the second screen, one structured data a in decimal is 101, 72, -37, 161. The corresponding MSD number is 01100101, 01001000, u11u1011, 1010001u respectively. Another of structured data b in decimal is 120, 163, 245, 195. The corresponding MSD number is 01111000, 10100011, 11110101, 110001u1 respectively.

For the third screen, logic calculation is added. One of structured data a in decimal is 92, 215, -85, -120,180, -26. The corresponding MSD number is 01011100, 11010111, u011u011, u01uu000, 110u0100, 00u010u0 respectively. Another structured data b in decimal is 40, 199, 110, 102, -10, -82. The corresponding MSD number is 00101000, 11000111, 10u01110, 011010u0, 0u110110, 010101u0 respectively.

Step 6: These organized structured data are sent to corresponding reconstructed operators in the TOP. Then the resultant optical data are obtained.

The computing process of the first three screens is captured as and shown in Fig 8. In Fig 8(a)–8(c) are respectively the experiment results of the first, second and third screen. The TOC and theoretical results are compared in Tables 35, respectively. They match perfectly with each other C is the result of the operand a and the operand b.

thumbnail
Table 3. Comparison between experiment and theory results for the first screen.

https://doi.org/10.1371/journal.pone.0284700.t003

thumbnail
Table 4. Comparison between experiment and theory results for the second screen.

https://doi.org/10.1371/journal.pone.0284700.t004

thumbnail
Table 5. Comparison between experiment and theory results for the third screen.

https://doi.org/10.1371/journal.pone.0284700.t005

Step 7: The optical results are sent to the decoder, and the decoder reconvert the optical result data into electrical signal data in binary.

Step 8: Repeat step 5 to step 7 until all original data in communication file has been calculated.

Finally, these electrical signal result data are collected into ZH–R.SZG file, and it is then returned to user’s program.

The experiment results on every screen are correct, which validates the theories and technologies of parallel computing.

Discussion

A basic module of the optical processor of SD16 has 192 processor bits, and it can be allocated again to another basic module to construct another identical composite operator, so it only needs to run 50000 times, before all the operations are completed. The optical processor of the TOC can be installed up to 64 basic modules, which can be constructed 64 identical composite operators, it only needs 100000/64 = 1563 times operations to complete all the calculation task. And for electronic processor, it needs to perform 600000 times operations for the task.

For example, a three-step MSD adder is used in the TOC, the calculation is accomplished in pipeline. The reconstruction time of the TOP is 1 clock cycle, it takes 3 clock cycles to complete an addition operation. An operation cycle is assumed to be a clock cycle. The computational efficiency of the TOP and electronic processor can be compared in resource utilization and consumed time, as shown in Table 6. It is shown that the clock cycle on the TOC is only 0.26%of on a traditional computer, and the computing resource spent on the TOC is 25% of that on a traditional computer.

thumbnail
Table 6. Performance comparison between electronic processor and the TOP of the example.

https://doi.org/10.1371/journal.pone.0284700.t006

The TOP needs to be reconstructed. If the calculation data is small, it is not suitable to use the TOC for calculation. The original calculation data are more, the efficiency of the TOP is higher. Therefore, the TOC is suitable for calculations with large amounts of data.

Conclusion

The TOC is a structured data computer. That is, the TOC can process multiple kinds of data in parallel. For this purpose, the authors develop key theories and technologies including reconfigurability and group usability of optical processor bits, parallel carry-free optical adder and the application characteristics of the TOC, communication file and data organizing method of the TOC in parallel computing. For the first time, data organizing format of the TOC is designed and implementation method of parallel-computing programming platform on the TOC is carried out in the present paper. Finally, the experiments of TOC handling a parallel computing are implemented, which verifies the proposed theories and technologies. It is shown that the computing efficiency of the TOP is greatly improved in resource utilization and consumed time, compared with a traditional computer where the processor bits are unable to be grouped and allotted for different users. Thus the advantages of the TOC can be further generalized to complex parallel computing.

Acknowledgments

Thank team members of our research group for their kind help and valuable discussions in preparing the paper. We also thank the Research Center of the TOC at Shanghai University for the valuable equipment.

Sulan ZHANG wrote the original manuscript. Junwei CHEN and Jun YANG edited the manuscript. Zihao LIU, Xiaolin WANG and Chunhua ZHANG check the manuscript.

References

  1. 1. Jin Y., He H., Lü Y. Ternary optical computer principle. Sci. China Inf. Sci. 46 (2) (2003) 145–150.
  2. 2. Jin Y., He H., Lü Y. Ternary Optical Computer Architecture. Physica Scripta. (T118) (2005) 98–101.
  3. 3. Zhang X., Li H., Wang K., et al. Quantum computation based on semiconductor quantum dots. Sci. China Inf. Sci., 47(10)(2017) 1255–1276.
  4. 4. Xu J. Probe Machine. IEEE TRANSACTIONS Neural Network AND Learning Systems. 27(7) (2016) 1405–1416. pmid:28113730
  5. 5. Fushimi A., Tanabe T. All-optical logic gate operating with single wavelength. Optics Express. 22(4) (2014) 4466–4479. pmid:24663768
  6. 6. Chanalia P, Gupta A. Realization of High Speed All-Optical Logic Gates based on the Nonlinear Characteristics of a SOA. Indian Journal of Science & Technology. 2016, 9(36).
  7. 7. Majumdar A, Dodson C M, Fryett T K. Cavity enhanced nonlinear optics for few photon optical bistability. Optics Express. 23(12) (2015) 16246–16255. pmid:26193597
  8. 8. Jin Y., Ouyang S., Song K., et al. Management of many data bits in ternary optical computers. Sci. China Inf. Sci. 43(3) (2013) 361–373.
  9. 9. Yan J., Jin Y., Zuo K. Decrease-radix design principle for carrying/ borrowing free multi-valued and application in ternary optical computer. Sci. China Inf. Sci.51(10) (2008) 1415–1426.
  10. 10. Sulan Zhang, Junjie Peng, Yunfu Shen, Xianchao Wang. Programming model and implementation mechanism for ternary optical computer. Optics Communications. 428 (2018):26–34.
  11. 11. Jin Y., Shen Y., Peng J., et al. Principles and construction of MSD adder in ternary optical computer. Science in China Series F-Information Sciences. 2010.11, 53(11):2159–2168.
  12. 12. Peng J., Shen R., Jin Y., et al. Design and implementation of modified signed-digit adder. IEEE Trans. Comput. 63 (5) (2014) 1134–1143.
  13. 13. Peng J., Shen R., Ping X. Design of a high-efficient msd adder. J. Supercomput. 72 (5) (2016) 1770–1784.
  14. 14. Song K., Yan L. Design and implementation of the one-step msd adder of optical computer. Appl. Opt. 51 (7) (2012) 917–926. pmid:22410896
  15. 15. Yunfu Shen, Sulan Zhang, Zhehe Wang, Weimin Li. Design and implementation of parallel radix-4 MSD iterative division of ternary optical computer. Optics Communications. 501(2021): 127360.
  16. 16. ZHANG Sulan, SHEN Yunfu, ZHAO Zheyu. Design and Implementation of a Three-lane CA Traffic Flow Model on Ternary Optical Computer. Optics Communications. 470 (2020) 125750.
  17. 17. Xu Qun, Jin Yi, Shen Yunfu, et al. Msd iterative division algorithm and implementation of ternary optical computer. China Information Sciences. 46(4), pp.539–550, 2016.
  18. 18. Peng J., Fu Y., Zhang X., et al. Implementation of DFT application on ternary optical computer. Optics Communications. 410 (2018) 424–430.
  19. 19. Maier Hein L., Mountney P., Bartoli A., et al. Optical techniques for 3D surface reconstruction in computer-assisted laparoscopic surgery. Medical image analysis. 2013, 17(8): 974–996. pmid:23837969
  20. 20. Maier Hein L., Groch A., Bartoli A., et al. Comparative validation of single-shot optical techniques for laparoscopic 3-D surface reconstruction. IEEE transactions on medical imaging. 33(10) (2014) 1913–1930. pmid:24876109
  21. 21. HPE’s New Chip Marks a Milestone in Optical Computing. Available from: http://spectrum.ieee.org.
  22. 22. Jahns J., Lee S. Optical Computing Hardware: Optical Computing. Academicpress. 2014.
  23. 23. Chen W. Optical Computer. 2001.
  24. 24. Inaba F. Optical computer.
  25. 25. Yajima H. Optical Computer. Transactions of the Institute of Electrical Engineers of Japan A. 1993, 113.
  26. 26. Optical computer. IEEE Computer Society Pr. 1983.
  27. 27. Tanida J, Ichioka Y. Optical-logic-array processor using shadowgrams. II. Optical parallel digital image processing. Journal of the Optical Society of America A. 1985, 2(8):1237–1244.
  28. 28. Tanida J, Ichioka Y. OPALS: optical parallel array logic system. Applied Optics. 1986, 25(10):1565. pmid:18231376
  29. 29. Sako S., Sugiura H., Tanoue H., et al. The position of a standard optical computer mouse affects cardiorespiratory responses during the operation of a computer under time constraints. International Journal of Occupational Medicine & Environmental Health. 2014, 27(4):547–559. pmid:25034904
  30. 30. Tsoni E., Rabitz H., John Caulfield H, et al. Bimodal optical computers. Applied Optics. 1986, 25(18):3128. pmid:18235587
  31. 31. Mahmoud M Y., Panangaden P., Tahar S. On the Formal Verification of Optical Quantum Gates in HOL. Formal Methods for Industrial Critical Systems. Springer International Publishing, 2015:198–211.
  32. 32. Güssefeld B., Honauer K., Kondermann D. Creating Feasible Reflectance Data for Synthetic Optical Flow Datasets[M]. Advances in Visual Computing. Springer International Publishing, 2016:77–90.
  33. 33. Shmakov A K., Unagaev E I., Kolmogortsev I V., et al. Computer Modeling, Volume Prototyping, and Non-contact Optical Scanning in an Integrated Technology for Pre-production Casting. Trial Use. Metallurgist. 2014, 58(5-6):443–449.
  34. 34. Shan OuYang, Yi Jin, Yu Zhou, et al. Principle and architecture of parallel reconfiguration circuit for ternary optical computer. Journal of Shanghai University. 2011, 15(5): 397–404.
  35. 35. Booth A. D. A signed binary multiplication technique. Quart. J. Mech. Appl. Math. 4 (1951), 236–240.
  36. 36. Avizienis A. A Study of Redundant Number Representations for Parallel Digital Computers. Ph.D. dissertation, University of Illinois, Urbana, Digital Computer Laboratory, University of Illinois, Rept. No. 101; May 20, 1960.
  37. 37. Casasent D., Woodford P. Symbolic substitution modified signed-digit optical adder. J. Appl. Opt,.1994, 33: 1498–1506. pmid:20862177
  38. 38. JIN Y, XU Q, OUYANG Sh, et al. Structured data computer—application characteristics of a ternary optical computer. Sci. China Inf. Sci., 2016(3):14.
  39. 39. JIN Yi, ZHANG SuLan, LI Shuang, et al. Computing-Data File: The Key Technology of Applying Ternary Optical Computer. Journal of Shanghai Jiaotong University (Natural Science), 2019, 53 (5): 584–592.
  40. 40. Li S., Jin Y. Simple Structured Data Initial SZG File’s Generation Software Design and Implementation. 3rd International Conference on Wireless Communication and Sensor Network (WCSN 2016), Advances in Computer Science Research, 2016, 44: 383–388.