|
There are 2 common MIMD computer architectures:
|
The shared memory MIMD computer has a very high speed interconnection network between the CPUs and the memory banks:
The memory consists of multiple memory banks that operate independently to provide higher data transmission rates
Each processor (CPU) need to fetch its own instruction and the operands from memory:
Each memory module can provide 1 word (32 bits) data to a (any) processor if there is a connection
Processors (CPUs) accessing different memory modules can/may obtain their data simultaneously:
Processors (CPUs) accessing the same memory modules will cause a memory conflict:
Only one of the access request can be granted !!
The interconnection network between the CPUs and the memory banks is extremely fast (tera bits/sec) but is also very costly to manufacture:
Today's super-computers are always shared memory MIMD computers
The speed up data transfer, the GPU device memory is partitioned into multiple banks
An interconnection network transfer data between the multiprocessors and the device memory
The message passing MIMD computer consists of multiple SISD computers interconnected by a (local) computer network (e.g., Ethernet):
The (local) computer network has lower transmission speed rate compared to the CPU-memory connection network in the shared memory MIMD computer
The message passing MIMD computer is relatively inexpensive to manufacture but its performance is also lower:
The message passing MIMD computer is a.k.a. computer cluster ( Wikipedia)