Мультипроцессоры с общей памятью

Учитывая трудности переписывания старых программ для их эффективной работы на параллельном оборудовании, вполне уместно задать вопрос: что могут сделать разработчики компьютеров, чтобы упростить эту задачу? Один из ответов состоит в предоставлении единого физического адресного пространства в общее пользование всем процессорам, чтобы программы не утруждали себя проблемами места их запуска и учитывали только то, что они могут выполняться в параллельном режиме. При таком подходе все переменные программы могут быть в любое время доступны любому процессору. Альтернативный вариант заключается в создании отдельного адресного пространства для каждого процессора, что потребует явного обозначения общей памяти; этот вариант будет рассмотрен в следующем разделе. При использовании общего физического адресного пространства, что является вполне обычным явлением для многоядерных микросхем, оборудование, как правило, обеспечивает целостность кэш-памяти, чтобы предоставить единую картину общей памяти.

Мультипроцессор с общей памятью (shared memory multiprocessor, SMP) относится к мультипроцессорам, предоставляющим программистам единое физическое адресное пространство для всех процессоров, хотя, если выражаться точнее, fix) нужно было бы назвать мультипроцессором с общими адресами. Следует заметить, что такие системы могут все же запускать независимые друг от друга задания в их собственных виртуальных адресных пространствах, даже если все они используют общее физическое адресное пространство. Взаимодействие процессоров осуществляется через общие переменные в памяти, и все процессоры имеют возможность обращаться к любому месту памяти, загружая или записывая данные.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: