Multi-processor: Difference between revisions

From Computer History Wiki
Jump to navigationJump to search
m Avoid redir
m External links: +Multiprocessor UNIX Operating Systems
 
(4 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; in the former, all the CPUs are 'equal', and can e.g. field [[interrupt]]s from any device. The latter are often so-called 'master/slave' systems, with one CPU in each class.
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==


With the advent of very-high-speed [[local area network|LANs]], it is now common to create multi-processors by simply linking togather a number of ordinary systems with such a network.
* [http://www.bitsavers.org/pdf/dec/pdp10/SMP_Paper.txt TOPS-10 Symmetric Multiprocessing] - includes a very good overview of multi-processing in general
* [http://squoze.net/UNIX/bltj/06771916.pdf Multiprocessor UNIX Operating Systems], Bell Laboratories Technical Journal, Vol.63, No.8, October 1984 - interesting discussion of the steps needed to move an operating system specialized to a uni-processor to a multi-processor


{{stub}}
[[Category: CPU Basics]]

Latest revision as of 12:13, 3 July 2025

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