Это система из нескольких параллельных процессоров, разделяющих общую память. Каждый процессор должен работать с любой областью памяти по чтению и записи, поэтому их работа должна согласовываться программными средствами. Мультипроцессирование может быть реализовано по разным схемам. Наиболее простая – вариант, когда несколько процессоров и одна общая память соединяются с помощью общей шины.
Процессор
| | Процессор
| | Процессор
| | Общая память
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | |
При такой схеме при большом числе быстроработающих процессоров возможны конфликты доступа к общей памяти по одной шине. Альтернативная схема для каждого процессора обеспечивает дополнительную локальную память, недоступную другим процессорам. Эта память хранит только неразделяемые программы и данные. Доступ к такой памяти осуществляется не по общей шине, а по выделенным каналам.
Блоки локальной памяти
|
| | | | | | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Процессор
| | Процессор
| | Процессор
| | Общая память
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | | |