|
|
||||
|
Algorithms and Languages
Computer control Distributed Systems Data and Memory SIMD/MIMD Single/Multiple Instruction Synch/Comm Synchronization Communication Links The Professor
Gita's home page The Class |
|
|
|
Single Instruction - Multiple Data(SIMD) computers were the first systems to be implemented with a massive amount of processors, and were among the first systems to provide computational power above the GFLOP range. A machine in which many data items are operated upon simultaneously by the same data manipulations is thus classified as an SIMD machine. This rather general classification encompasses a wide variety of systems, all of which have some operational elements that synchronously execute identical computations on differing data items. Many supercomputers utilize the SIMD principle of operation. To efficiently process vectors and matrices, they employ vector processing units in which multiple arithmetic units (e.g., floating-point processors) operate on a large number of data items simultaneously. To provide a convenient user interface for program development, debugging, and graphical display, most SIMD systems utilize a conventional computer, e.g., a UNIX workstation, as a front end. For execution, programs are downloaded from the front end to the ACU, and data may be downloaded via a separate I/O device, e.g., a disk array, to the processor array. The ACU then begins program execution and broadcasts SIMD instructions for the processors via the broadcast bus. You can read about some example SIMD architectures, or if you prefer recent research information on this style of parallel computer design, and actual hardware examples, please see this SIMD table. For an applet example that could make use of such a design, please see this page that illustrates its application to matrix multiplication. Links | MIMD | Omega | Shared Memory | SIMD | Software | Synchro |
|