[0001] This invention relates to a method and apparatus for facilitating the interchange
of data among processors in a multiprocessing environment. In particular, an optical
data switch which permits each processor to talk with all other processors is disclosed.
[0002] A multiprocessor computer is one in which the calculating task is divided up among
several, sometimes many similar processor elements. The processors are often logically
arranged in a geometric pattern such as, for example, the squares on a checkerboard.
The difficulty of making electrical connections among processors, especially when
the number of them is large, has forced a compromise which allows a processor to communicate
directly with only its geometrically adjacent neighbors.
[0003] This approach solves the interconnection problem, but forces some severe constraints
on the applications software which is to run in this environment. The software must
not only lend itself to being broken up into modules that can execute in parallel,
but also these modules must interrelate in such a way that any external data that
they require must be available from an adjacent processor. Thus, the geometry of the
computer weighs heavily on the final form of the software. If the applications software
must deviate from the ideal form dictated by the computer geometry, the advantages
of using multiple processors are quickly lost to cumbersome data transfers between
non-adjacent processors.
[0004] Therefore, it is the object of this invention as claimed to provide an optical data
switch which allows any processor in a multiprocessing environment to read data from
any other processor.
[0005] It is another object of this invention to provide an optical data switch which allows
any processor in a multiprocessing environment to post its resulting data at a location
where it can be read by any other processor.
[0006] It is a further object of this invention to provide a method for exchanging data
among processors in a multiprocessing environment.
[0007] These objects, and other advantages to be described, are realized by an optical data
switch associated with the multiprocessing environment. Each processor has associated
with it a data projector, such as a laser or array of light emitting diodes (LED's),
and a reading device, such as a Charge Coupled Device (CCD) array. An optically reflective
screen, or mirror, is arranged so that all processors can project their data on the
screen at a specified location. Each processor's reading device has a view of the
entire screen, thereby being capable of reading data from any other processor.
[0008] For a better understanding of the present invention, together with further objects
and advantages, a preferred embodiment of the invention is described in the following
with reference to the accompanying drawings, in which:
Fig. 1 is a side view of the optical data switch showing the reader/projector arrays
in relation to the reflective screen;
Fig. 2 shows a plane view of a 3 x 3 reader/projector array;
Fig. 3 shows a 12 x 12 CCD array;
Fig. 4 shows a plane view of a reflective screen for a 3 x 3 projector array.
[0009] While the optical data switch to be described is associated with computer processors,
the design and function of the processors themselves is beyond the scope of this invention.
Therefore, it would be apparent to one skilled in the art that any of the currently
available and well-known processor technology can be utilized in connection with the
optical data switch herein disclosed. Also, for ease of understanding, the invention
is described for use with a 9 processor array, each processor transmitting 16 bits
of information at a time. Of course, the actual implementation can be extended to
any number of processors transmitting any number of bits of data.
[0010] Referring to Fig. 1, the optical data switch 10 consists of three primary components,
a data reading device 12 associated with each individual processor, a data projector
14 associated with each individual processor, and an optically reflective screen 16,
such as a mirror. All of these components are housed in a light-proof enclosure 18.
Each of these components will be described in greater detail.
Data Projector
[0011] Fig. 2 shows a 3 x 3 array of data reading devices 12 and data projectors 14 for
a 9 processor computer system. Each processor has associated with it a data reading
device 12, with focusing lens 20 and a data projecting device 14. Data projecting
device 14 is illustrated for a 4 x 4 or 16 bit arrangement, but it would be evident
to one skilled in the art that projecting device 14 can include any number of optically
active devices for any number of desired bits.
[0012] Each projector 14 consists of optically active devices, devices that emit visible
radiation and whose light output can be focused into a tight beam for projection against
a reflective screen. The aiming and focusing of the light beams are critical, since
a processor's data must be at the correct place on the screen so that the other processors
can find it when needed. In the preferred embodiment, the projecting elements 22 are
very small LED's. Their primary requirement is that they be bright enough and have
a wide enough angle of dispersion that their images in the reflecting screen are visible
and resolvable from the vantage point of all other processors in the system. Alternatively,
solid-state lasers could be used. Each processor has it own array of projecting elements
22.
Data Reading Device
[0013] Each processor also has a data reading device 12 associated with it that is capable
of viewing the reflective screen 16 (Fig. 2) and all the data projected therein. The
data reading device 12 must be capable of converting light into an electrical signal
and it must have sufficient resolution to discriminate between different regions 30
of the reflective screen and different dot patterns within a region 30 (Fig. 4) Referring
to Fig. 3, one data reading device 12 is shown. For this example, the data reading
device 12 is a Charge-Couple Device (CCD) having 144 elements 40 in a 12 x 12 array.
There is a 1 to 1 correspondence of elements 40 to data projecting elements 22 (Fig.
2). The CCD 12 is an array of optically sensitive cells 40 which convert light to
electrical signals. It is designed to resolve between many different light levels,
but the application only requires the ability to distinguish between "on" and "off".
Referring back to Fig. 2, each data reading device 12 sits behind a lens 20 which
focuses the reflected light from the screen onto the device 12.
Reflective Screen
[0014] The reflective screen 16 is shown on Fig. 4. Its requirements are that it be flat,
rigid enough to resist distortion due to vibration and temperature changes, and optically
uniform. Many suitable materials are currently available: glass, ceramic or metal
with a proper surface preparation or coating. In the preferred embodiment, the reflective
screen 16 is a mirror.
[0015] Reflective screen 16 is divided up into 9 regions 30, each associated with a processor.
Within each region 30, data from that processor is projected and reflected to all
the data reading devices. In this manor, each processor is capable of reading data
from all other processors.
Light-Proof Enclosure
[0016] To eliminate any undesired light from interfering with the transmission of data,
a light-proof enclosure 10 is required, as shown in Fig. 1. Another requirement is
that the reading devices, the data projectors, the screen, any associated optical
devices must be held in rigid physical relationship to each other. A single enclodure
could perform all of these tasks.
[0017] With the invention described herein, the concept of parallel computing has even greater
potential. Since data transfer has been improved significantly, each processor has
a much simpler task to perform and can therefore be a much simpler device. Future
application can be extended to other information handling fields such as data switches
for telephone systems, switches for electronic networks, etc.
1. A data switch (10) for sharing data among a plurality of data processing members
comprising:
a plurality of data processing members;
means (14) associated with each of said members for projecting data generated by said
member;
means (12) associated with each of said members for receiving projected data; and
means (16) for reflecting the projected data to the means for receiving data.
2. The data switch as claimed in claim 1 wherein said plurality of data processing
members are computer processors or voice or digital processors.
3. The data switch as claimed in claim 1 or 2 wherein said data projecting means comprise
at least one laser or a LED array.
4. The data switch as claimed in any one of the preceding claims wherein said means
for reflecting the projected data is a reflective screen.
5. A method for sharing data among a plurality of data processing members wherein:
said data processing members project data onto and receive projected data from a reflective
screen (16).
6. The method as claimed in claim 5 wherein said plurality of data processing members
are computer processors or voice or digital processors.
7. The method as claimed in claim 5 or 6 wherein said data are projected by at least
one laser, or a LED array.
8. The method as claimed in any one of claims 5 - 7 wherein the projected data are
reflected by a screen.
9. Apparatus for sharing data in a multiprocessor environment comprising:
a plurality of processors connected together in a multiprocessing configuration;
means associated with each of said processors for projecting data generated by each
of said processors onto a reflective screen;
means associated with each of said processors for reading projected data from said
reflective screen;
whereby all of said processors can simultaneously read data generated by said other
processors.