Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
MISD.svg

В вычислении , MISD ( множественная инструкция, одиночные данные ) представляет собой тип параллельной вычислительной архитектуры , где многие функциональные блоки выполняют различные операции на один и те же данные. К этому типу принадлежат конвейерные архитектуры, хотя пурист может сказать, что данные различаются после обработки на каждом этапе конвейера. Отказоустойчивое выполнение одних и тех же инструкций с избыточностью для обнаружения и маскирования ошибок способом, известным как репликация задачи , может рассматриваться как принадлежащая к этому типу. Приложения для этой архитектуры встречаются гораздо реже, чем MIMD и SIMD., поскольку последние два часто более подходят для общих методов параллельных данных. В частности, они позволяют лучше масштабировать и использовать вычислительные ресурсы. Однако одним из ярких примеров MISD в вычислениях являются компьютеры управления полетом космического корабля "Шаттл" . [1]

Систолические массивы [ править ]

Систолические массивы (< процессоры волнового фронта ), впервые описанные HT Kung и Charles E. Leiserson, являются примером архитектуры MISD . В типичном систолическом массиве параллельные входные данные проходят через сеть жестко зашитых процессорных узлов , напоминающих человеческий мозг, которые объединяют, обрабатывают, объединяют или сортируют входные данные в производный результат.

Систолические массивы часто жестко запрограммированы для выполнения конкретной операции, такой как «умножение и накопление», для выполнения массово- параллельной интеграции, свертки , корреляции , умножения матриц или сортировки данных. Систолический массив обычно состоит из большой монолитной сети примитивных вычислительных узлов, которые могут быть аппаратно или программно настроены для конкретного приложения. Узлы обычно фиксированные и идентичные, а межсоединение программируется. Напротив, более общие процессоры волнового фронта используют сложные и индивидуально программируемые узлы, которые могут быть или не быть монолитными, в зависимости от размера массива и параметров конструкции. Потому что волна-подобное распространение данных через систолический массив напоминает пульс кровеносной системы человека, название систолическое произошло из медицинской терминологии.

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

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

Хотя систолические массивы официально классифицируются как MISD, их классификация несколько проблематична. Поскольку входные данные обычно представляют собой вектор независимых значений, систолический массив определенно не является SISD . Поскольку эти входные значения объединяются и объединяются в результат (ы) и не сохраняют свою независимость, как это было бы в блоке векторной обработки SIMD , массив не может быть классифицирован как таковой. Следовательно, массив также не может быть классифицирован как MIMD , поскольку MIMD можно рассматривать как простой набор меньших SISD- и SIMD-машин.

Наконец, поскольку рой данных преобразуется при прохождении через массив от узла к узлу, несколько узлов не работают с одними и теми же данными, что делает классификацию MISD неверной . Другая причина , почему систолический массив не должен считаться MISD такой же , как тот , который дисквалифицирует его из категории SISD: входные данные обычно представляют собой вектор не с Ingle д ату значения, хотя можно утверждать , что любой данный вход вектор - это единый набор данных.

Несмотря на все вышеперечисленное, систолические массивы часто предлагаются в качестве классического примера архитектуры MISD в учебниках по параллельным вычислениям и в инженерных классах. Если массив рассматривается снаружи как атомарный, его, возможно, следует классифицировать как SFMuDMeR = Single Function, Multiple Data, Merged Result (s). [2] [3] [4] [5]

Сноски [ править ]

  1. ^ Спектор, А .; Гиффорд, Д. (сентябрь 1984 г.). «Основная компьютерная система космического челнока». Коммуникации ACM . 27 (9): 872–900. DOI : 10.1145 / 358234.358246 .
  2. ^ Майкл Дж. Флинн, Кевин В. Радд. Параллельные архитектуры . CRC Press, 1996.
  3. ^ Куинн, Майкл Дж. Параллельное программирование на C с MPI и OpenMP . Бостон: Макгроу Хилл, 2004.
  4. ^ Ibaroudene, Djaffer. «Параллельная обработка, EG6370G: Глава 1, Мотивация и история». Университет Святой Марии, Сан-Антонио, Техас. Весна 2008 г.
  5. ^ Ноль, Линда; Лобур, Юлия (2006). Основы компьютерной организации и архитектуры . 468: Джонс и Бартлетт.CS1 maint: location ( ссылка )