Несколько инструкций, несколько данных


В вычислительной технике несколько инструкций, несколько данных ( MIMD ) — это метод, используемый для достижения параллелизма. Машины, использующие MIMD, имеют ряд процессоров , которые работают асинхронно и независимо. В любой момент разные процессоры могут выполнять разные инструкции для разных фрагментов данных.

Архитектуры MIMD могут использоваться в ряде прикладных областей, таких как автоматизированное проектирование / автоматизированное производство , моделирование , моделирование и коммуникационные коммутаторы . Машины MIMD могут относиться либо к категориям с общей памятью , либо к категориям с распределенной памятью . Эти классификации основаны на том, как процессоры MIMD обращаются к памяти. Машины с общей памятью могут быть шинными , расширенными или иерархическими . Машины с распределенной памятью могут иметь гиперкубические или ячеистые схемы межсоединений.

Примером системы MIMD является Intel Xeon Phi , происходящий от микроархитектуры Larrabee . [2] Эти процессоры имеют несколько вычислительных ядер (до 61 по состоянию на 2015 г.), которые могут выполнять разные инструкции для разных данных.

В модели с общей памятью все процессоры подключены к «глобально доступной» памяти с помощью программных или аппаратных средств. Операционная система обычно поддерживает когерентность памяти . [4]

С точки зрения программиста эта модель памяти более понятна, чем модель распределенной памяти. Еще одним преимуществом является то, что когерентностью памяти управляет операционная система, а не написанная программа. Два известных недостатка: трудно масштабируемость за пределами тридцати двух процессоров, а модель с общей памятью менее гибкая, чем модель с распределенной памятью. [4]

Существует множество примеров разделяемой памяти (мультипроцессоры): UMA ( унифицированный доступ к памяти ), COMA ( доступ к памяти только для кэша ). [5]