MIMD

Поделись знанием:
Перейти к: навигация, поиск
Классификация по Флинну
  Одиночный поток команд
(Single Instruction)
Множество потоков команд
(Multiple Instruction)
Одиночный поток данных
(Single Data)
SISD
(ОКОД)
MISD
(МКОД)
Множество потоков данных
(Multiple Data)
SIMD
(ОКМД)
MIMD
(МКМД)

MIMD (англ. Multiple Instruction stream, Multiple Data stream — Множественный поток Команд, Множественный поток Данных, сокращённо МКМД) — концепция архитектуры компьютера, используемая для достижения параллелизма вычислений. Один из классов вычислительных систем в классификации Флинна.

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

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

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

Подобные конфликты могут возникнуть на аппаратном уровне между процессорами, и должен обычно решаться аппаратными средствами, или с комбинацией программного обеспечения и оборудования.


Напишите отзыв о статье "MIMD"

Отрывок, характеризующий MIMD

– Береги! – закричал он таким голосом, что видно было, что это слово давно уже мучительно просилось у него наружу. И поскакал, выпустив собак, по направлению к графу.
Граф и Семен выскакали из опушки и налево от себя увидали волка, который, мягко переваливаясь, тихим скоком подскакивал левее их к той самой опушке, у которой они стояли. Злобные собаки визгнули и, сорвавшись со свор, понеслись к волку мимо ног лошадей.
Волк приостановил бег, неловко, как больной жабой, повернул свою лобастую голову к собакам, и также мягко переваливаясь прыгнул раз, другой и, мотнув поленом (хвостом), скрылся в опушку. В ту же минуту из противоположной опушки с ревом, похожим на плач, растерянно выскочила одна, другая, третья гончая, и вся стая понеслась по полю, по тому самому месту, где пролез (пробежал) волк. Вслед за гончими расступились кусты орешника и показалась бурая, почерневшая от поту лошадь Данилы. На длинной спине ее комочком, валясь вперед, сидел Данила без шапки с седыми, встрепанными волосами над красным, потным лицом.
– Улюлюлю, улюлю!… – кричал он. Когда он увидал графа, в глазах его сверкнула молния.
– Ж… – крикнул он, грозясь поднятым арапником на графа.
– Про…ли волка то!… охотники! – И как бы не удостоивая сконфуженного, испуганного графа дальнейшим разговором, он со всей злобой, приготовленной на графа, ударил по ввалившимся мокрым бокам бурого мерина и понесся за гончими. Граф, как наказанный, стоял оглядываясь и стараясь улыбкой вызвать в Семене сожаление к своему положению. Но Семена уже не было: он, в объезд по кустам, заскакивал волка от засеки. С двух сторон также перескакивали зверя борзятники. Но волк пошел кустами и ни один охотник не перехватил его.


Николай Ростов между тем стоял на своем месте, ожидая зверя. По приближению и отдалению гона, по звукам голосов известных ему собак, по приближению, отдалению и возвышению голосов доезжачих, он чувствовал то, что совершалось в острове. Он знал, что в острове были прибылые (молодые) и матерые (старые) волки; он знал, что гончие разбились на две стаи, что где нибудь травили, и что что нибудь случилось неблагополучное. Он всякую секунду на свою сторону ждал зверя. Он делал тысячи различных предположений о том, как и с какой стороны побежит зверь и как он будет травить его. Надежда сменялась отчаянием. Несколько раз он обращался к Богу с мольбою о том, чтобы волк вышел на него; он молился с тем страстным и совестливым чувством, с которым молятся люди в минуты сильного волнения, зависящего от ничтожной причины. «Ну, что Тебе стоит, говорил он Богу, – сделать это для меня! Знаю, что Ты велик, и что грех Тебя просить об этом; но ради Бога сделай, чтобы на меня вылез матерый, и чтобы Карай, на глазах „дядюшки“, который вон оттуда смотрит, влепился ему мертвой хваткой в горло». Тысячу раз в эти полчаса упорным, напряженным и беспокойным взглядом окидывал Ростов опушку лесов с двумя редкими дубами над осиновым подседом, и овраг с измытым краем, и шапку дядюшки, чуть видневшегося из за куста направо.