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 прозрачен для однопоточных программ под управлением большинства операционных систем, если программы сами не отказываются от управления со стороны ОС). И системное, и пользовательское программное обеспечение, возможно, должны использовать программные конструкции, такие, каксемафоры, чтобы препятствовать тому, чтобы один поток вмешался в другой, в случае если они содержат ссылку на одни и те же данные. Такое действие увеличивает сложность кода, снижает производительность и значительно увеличивают количество необходимого тестирования, хотя обычно не настолько, чтобы свести на нет преимущества многопроцессорной обработки.

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

Иконка
Этозаготовка статьи обаппаратном обеспечении. Помогите Википедии, дополнив её.
Информация должна бытьпроверяема, иначе она может быть удалена. Вы можетеотредактировать статью, добавив ссылки наавторитетные источники в видесносок.(4 декабря 2019)
Перейти к шаблону «Технологии CPU»
Технологии цифровыхпроцессоров
Архитектура
Архитектура набора команд
Машинное слово
Параллелизм
Конвейер
Уровни
Потоки
Классификация Флинна
Реализации
Компоненты
Управление питанием
Источник —https://ru.wikipedia.org/w/index.php?title=MIMD&oldid=132776054
Категории:
Скрытые категории: