Multi-processor
A multi-processor is a system with more than one CPU. There are a tremendous range of designs, from 'tightly-coupled' (where they share access to some main memory) onward. Another axis for dividing them is among:
- MIMD - 'multiple instruction streams, multiple data sets'
- SIMD - 'single instruction streams, multiple data sets'
In the latter, each CPU is fed different data, but they all execute the same instructions in the same order.
Among tightly-coupled systems, one can distinguish between 'symmetric' and 'asymmetric' systems; in the former, all the CPUs are 'equal', and can e.g. field interrupts from any device. The latter are often so-called 'master/slave' systems, with one CPU in each class.
With the advent of very-high-speed LANs, it is now common to create multi-processors by simply linking togather a number of ordinary systems with such a network.