Difference between revisions of "Multi-processor"
m (Avoid redir) |
m (→External links: +Doc with good overview of fundamentals of multi-processor systems) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | A '''multi-processor''' is a system with more than one [[Central Processing Unit|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: | + | A '''multi-processor''' is a system with more than one [[Central Processing Unit|CPU]]. There are a tremendous range of designs, from 'tightly-coupled' (where they share access to some [[main memory]], which usually has to be [[multi-port memory]]), onward. |
+ | |||
+ | Another axis for dividing them is among: | ||
* MIMD - 'multiple instruction streams, multiple data sets' | * MIMD - 'multiple instruction streams, multiple data sets' | ||
Line 6: | Line 8: | ||
In the latter, each CPU is fed different data, but they all execute the same [[instruction]]s in the same order. | In the latter, each CPU is fed different data, but they all execute the same [[instruction]]s in the same order. | ||
− | Among tightly-coupled systems, one can distinguish between 'symmetric' and 'asymmetric' systems | + | Among tightly-coupled systems, one can distinguish between 'symmetric' and 'asymmetric' systems. In the former, all the CPUs are 'equal', and no CPU has a special, distinguished role (so often any CPU can e.g. field [[interrupt]]s from any [[peripheral]]). The latter are often so-called 'master/slave' systems, with one CPU in the first class, and one or more in the second. |
+ | |||
+ | With the advent of very-high-speed [[local area network|LANs]], it is now common to create multi-processors by simply linking together a number of ordinary systems by use of such a network. | ||
+ | |||
+ | {{semi-stub}} | ||
+ | |||
+ | ==External links== | ||
− | + | * [http://www.bitsavers.org/pdf/dec/pdp10/SMP_Paper.txt TOPS-10 Symmetric Multiprocessing] - includes a very good overview of multi-processing in general | |
− | + | [[Category: CPU Basics]] |
Latest revision as of 02:37, 28 November 2023
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, which usually has to be multi-port 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 no CPU has a special, distinguished role (so often any CPU can e.g. field interrupts from any peripheral). The latter are often so-called 'master/slave' systems, with one CPU in the first class, and one or more in the second.
With the advent of very-high-speed LANs, it is now common to create multi-processors by simply linking together a number of ordinary systems by use of such a network.
External links
- TOPS-10 Symmetric Multiprocessing - includes a very good overview of multi-processing in general