- •Характеристики і функції інтерфейсу мікропроцесорних систем.
- •Регістрова і стекова архітектури мікропроцесора.
- •Сучасні архітектури мікропроцесорів: паралельні архітектури.
- •Архітектура однокристального мікропроцесора
- •Загальна характеристика і класифікація мікропроцесорів
- •Однокристальні мікроЕом серії кр1816
- •Однокристальний 16-розрядний мп
- •8 Узагальнена функціональна схема мікроконтролера керування електронним пристроєм.
- •9 Пристрої пам’яті. Поняття про озп і пзп.
- •Мультипроцесорні системи.
- •Узагальнена функціональна схема мікроконтролера керування електронним пристроєм.
- •Модулі центрального процесора і пам’яті мікроконтролера.
- •13. Узагальнена функціональна схема мікроконтролера керування електронним пристроєм
- •14. Програмне забезпечення мікропроцесорних систем
- •15. Мікропроцесорні контролери для промислового обладнання
Мультипроцесорні системи.
Симметричное мультипроцессирование (англ. Symmetric Multiprocessing, или SMP) это архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессоров подключаются к общей памяти. Большинство многопроцессорных систем сегодня используют архитектуру SMP.
SMP системы позволяют любому процессору работать над любой задачей независимо от того, где в памяти хранятся данные для этой задачи; с должной поддержкой операционной системы, SMP системы могут легко перемещать задачи между процессорами эффективно распределяя нагрузку. С другой стороны, память гораздо медленнее процессоров, которые к ней обращаются, даже однопроцессорным машинам приходится тратить значительное время на получение данных из памяти. В SMP ситуация ещё более усугубляется, так как только один процессор может обращаться к памяти в данный момент времени.
SMP это лишь один подход к построению многопроцессорной машины; другим подходом является NUMA, которая предоставляет процессорам отдельные банки памяти. Это позволяет процессорам работать с памятью параллельно, и это может значительно повысить пропускную способность памяти, в случае когда данные привязаны к конкретному процессу (а следовательно и процессору). С другой стороны, NUMA повышает стоимость перемещения данных между процессорами, значит и балансирование загрузки обходится дороже. Преимущества NUMA ограничены специфическим кругом задач, в основном серверами, где данные часто прочно привязаны к конкретным задачам или пользователям.
Другими подходами являются асимметричное мультипроцессирование (ASMP), в котором отдельные специализированные процессоры используются для конкретных задач; и кластерная мультипроцессорность (Beowulf), в котором не вся память доступна всем процессорам. Такие подходы не часто используются (хотя высокопроизводительные 3D чипсеты в современных видеокартах могут рассматриваться как форма асимметричной мультипроцессорности), в то время как кластерные системы широко применяются при построении очень больших суперкомпьютеров.
SMP часто применяется в науке, промышленности, бизнесе, где программное обеспечение специально разрабатывается для многопоточного выполнения. В то же время, большинство потребительских продуктов, таких как текстовые редакторы и компьютерные игры написаны так, что они не могут получить много пользы от SMP систем. В случае игр это зачастую связано с тем, что оптимизация программы под SMP системы приведёт к потере производительности при работе на однопроцессорных системах, которые занимают большую часть рынка. В силу природы разных методов программирования, для максимальной производительности потребуются отдельные проекты для поддержки одного процессора и SMP систем. И все же программы, запущенные на SMP системах, получают прирост производительности даже если они были написаны для однопроцессорных систем. Это связано с тем, что аппаратные прерывания, обычно приостанавливающие выполнение программы для их обработки ядром, могут обрабатываться на свободном процессоре. Эффект в большинстве приложений проявляется не столько в приросте производительности, сколько в ощущении, что программа выполняется более плавно. В некоторых приложениях, в частности программных компиляторах и некоторых проектах распределённых вычислений, повышение производительности будет почти прямо пропорционально числу дополнительных процессоров.
Поддержка SMP должна быть встроена в операционную систему. Иначе дополнительные процессоры будут оставаться не загруженными и система будет работать как однопроцессорная.
Проблемы
Ограничение на количество процессоров
При увеличении числа процессоров заметно увеличивается требование к полосе пропускания шины памяти. Это накладывает ограничение на количество процессоров в SMP архитектуре. Современные конструкции позволяют разместить до четырех процессоров на одной системной плате.
Проблема когерентности кеш-памяти
Проблема, о которой идет речь, возникает из-за того, что значение элемента данных в памяти, хранящееся в двух разных процессорах, доступно этим процессорам только через их индивидуальные кеши. Если процессор изменит значение элемента данных в своем кеше, то при попытке вывода данных из памяти, будет получено старое значение. Наоборот, если подсистема ввода/вывода вводит в ячейку основной памяти новое значение, в кеш-памяти процессора по прежнему остается старое.