Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем
.pdf5 6 6 Глава 13. Вычислительные системы класса SIMD
(ОЗУ КГМ). Затем КМП начинает выполнять программу, извлекая либо одну ска лярную команду из ОЗУ КМП, либо множественные команды из ОЗУ КГМ. Ска лярные команды - команды, осуществляющие операции над хранящимися в КМП скалярными данными, выполняются центральным процессором (ЦП) контроллера массива процессоров. В свою очередь, команды, оперирующие параллельными переменными, хранящимися в каждом ПЭ, преобразуются в блоке выборки ко манд в более простые единицы выполнения - нанокоманды. Нанокоманды совме стно с маской пересылаются через шину команд для ПЭ на исполнение в массив процессоров. Например, команда сложения 32-разрядных слов в КМП системы МРР преобразуется в 32 нанокоманды одноразрядного сложения, которые каж дым ПЭ обрабатываются последовательно,
В большинстве алгоритмов дальнейший порядок вычислений зависит от ре зультатов и/или флагов условий предшествующих операций. Для обеспечения такого режима в матричных системах статусная информация, хранящаяся в про цессорных элементах, должна быть собрана в единое слово и передана в КМП для выработки решения о ветвлении программы. Например, в предложении IF ALL (условие A) THEN DO В оператор В будет выполнен, если условие А справедли во во всех ПЭ. Для корректного включения/отключения процессорных элементов КМП должен знать результат проверки условия А во всех ПЭ. Такая информация передается в КМП по однонаправленной шине результата. В системе СМ-2 эта шина названа GLOBAL. В системе МРР для той же цели организована структура, называемая деревом SUM-OR. Каждый ПЭ помещает содержимое своего однораз рядного регистра признака на входы дерева, которое с помощью операции логи ческого сложения комбинирует эту информацию и формирует слово результата, используемое в КМП для принятия решения.
Массив процессоров
В матричных SIMD-системах распространение получили два основных типа ар хитектурной организации массива процессорных элементов (рис. 13.12).
В первом варианте, известном как архитектура типа «процессорный элементпроцессорный элемент» («ПЭ-ПЭ»), N процессорных элементов (ПЭ) связаны между собой сетью соединений (рис, 13.12, а). Каждый ПЭ - это процессор с ло кальной памятью. Процессорные элементы выполняют команды, получаемые из КМП по шине широковещательной рассылки, и обрабатывают данные как храня щиеся в их локальной памяти, так и поступающие из КМП, Обмен данными меж ду процессорными элементами производится по сети соединений, в то время как шина ввода/вывода служит для обмена информацией между ПЭ и устройствами ввода/вывода. Для трансляции результатов из отдельных ПЭ в контроллер масси ва процессоров служит шина результата. Благодаря использованию локальной памяти аппаратные средства ВС рассматриваемого типа могут быть построены весьма эффективно. Во многих алгоритмах действия по пересылке информации по большей части локальны, то есть происходят между ближайшими соседями. По этой причине архитектура, где каждый ПЭ связан только с соседними, очень попу лярна. В качестве примеров вычислительных систем с рассматриваемой архитек турой можно упомянуть MasPar MP-1, Connection Machine CM-2, GF11, DAP, МРР, STARAN, PEPE, ILLIAC IV.
Ассоциативные вычислительные системы 5 7 1
Объединение реализуется за счет операций арифметического и логического сло жения, наложения записей, нахождения меньшего и большего из двух значений. В некоторых SIMD-системах, например МР-1, имеется возможность записать од новременно пришедшие сообщения в разные ячейки локальной памяти.
Хотя пересылки данных по сети инициируются только активными ПЭ, пассивные процессорные элементы также вносят вклад в эти операции. Если активный ПЭ инициирует чтение из другого ПЭ, операция выполняется вне зависимости от статуса ПЭ, из которого считывается информация. То же самое происходит и при записи.
Наиболее распространенными топологиями в матричных системах являются решетчатые и гиперкубические. Так, в ILLIAC IV, МРР и СМ-2 каждый ПЭ со единен с четырьмя соседними. В МР-1 и МР-2 каждый ПЭ связан с восьмью смеж ными ПЭ. В ряде систем реализуются многоступенчатые динамические сети со единений (МР-1, МР-2, GF11).
Ввод/вывод
Хотя программа вычислений хранится в памяти интерфейсной ВМ или иногда в КМП, входные и выходные данные процессорных элементов и КМП могут хра ниться также на внешних ЗУ. Такие ЗУ могут подключаться к массиву про цессоров и/или КМП посредством каналов ввода/вывода или процессоров ввода/вывода.
Ассоциативные вычислительные системы
К классу SIMD относятся и так называемые ассоциативные вычислительные сис темы. В основе подобной ВС лежит ассоциативное запоминающее устройство (см. главу 5), а точнее - ассоциативный процессор, построенный на базе такого ЗУ. Напомним, что ассоциативная память (или ассоциативная матрица) представляет собой ЗУ, где выборка информации осуществляется не по адресу операнда, а по отличительным признакам операнда. Запись в традиционное ассоциативное ЗУ также производится не по адресу, а в одну из незанятых ячеек.
Ассоциативный процессор (АП) можно определить как ассоциативную память, допускающую параллельную запись во все ячейки, для которых было зафиксиро вано совпадение с ассоциативным признаком. Эта особенность АП, носящая на звание мулътизаписи, является первым отличием ассоциативного процессора от традиционной ассоциативной памяти. Считывание и запись информации могут производиться по двум срезам запоминающего массива — либо это все разряды одного слова, либо один и тот же разряд всех слов. При необходимости выделения отдельных разрядов среза лишние позиции допустимо маскировать. Каждый раз ряд среза в АП снабжен собственным процессорным элементом, что позволяет между считыванием информации и ее записью производить необходимую обра ботку, то есть параллельно выполнять операции арифметического сложения, по иска, а также эмулировать многие черты матричных ВС, таких, например, как ILLIAC IV.
Таким образом, ассоциативные ВС или ВС с ассоциативным процессором есть не что иное, как одна из разновидностей параллельных ВС, в которых п процес-