ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 2453
Скачиваний: 7
5 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 6 7
б
Рис. 13.12. Модели массивов процессоров: а —«процессорный элемент-процессорный
элемент»;
б
—« процессор-память»
Второй вид архитектуры —
«
троцессор-памятъ
»
показан на рис, 13.12,
6.
В такой
конфигурации двунаправленная сеть соединений связывает
N
процессоров с
М
мо-
дулями памяти. Процессоры управляются КМП через широковещательную шину.
Обмен данными между процессорами осуществляется как через сеть, так и че-
рез модули памяти. Пересылка данных между модулями памяти и устройства-
ми ввода/вывода обеспечивается шиной ввода/вывода. Для передачи данных из
конкретного модуля памяти в КМП служит шина результата. Примерами ВС
с рассмотренной архитектурой могут служить Burroughs Scientific Processor (BSP),
Texas Reconfigurable Array Computer TRAC,
Структура процессорного элемента
В большинстве матричных SIMD-систем в качестве процессорных элементов при-
меняются простые RISC-процессоры с локальной памятью ограниченной емкости.
5 6 8 Глава 13. Вычислительные системы класса SIMD
Например, каждый ПЭ системы MasPar MP-1 состоит из четырехразрядного про-
цессора с памятью емкостью 64 Кбайт. В системе МРР используются одноразряд-
ные процессоры с памятью 1 кбит каждый, а в СМ-2 процессорный элемент пред-
ставляет собой одноразрядный процессор с 64 Кбит локальной памяти. Благодаря
простоте ПЭ массив может быть реализован в виде одной сверхбольшой интег-
ральной микросхемы (СБИС). Это позволяет сократить число связей между мик-
росхемами и, следовательно, габариты ВС. Так, одна СБИС в системе СМ-2
содержит 16 процессоров (без блоков памяти), а в системе MasPar MP-1 СБИС
состоит из 32 процессоров (также без блоков памяти). В системе МР-2 просматри-
вается тенденция к применению более сложных микросхем, в частности 32-раз-
рядных процессоров с 256 Кбайт памяти в каждом.
Неотъемлемыми компонентами ПЭ (рис. 13,13) в большинстве вычислитель-
ных систем являются:
- арифметико-логическое устройство (АЛУ);
- регистры данных;
- сетевой интерфейс (СИ), который может включать в свой состав регистры пере-
сылки данных;
- номер процессора;
- регистр флага разрешения маскирования (F);
-локальная память.
Рис. 13.13. Модель процессорного элемента [225]
Процессорные элементы, управляемые командами, поступающими по широко-
вещательной шине из КМП, могут выбирать данные из своей локальной памяти
и регистров, обрабатывать их в АЛУ и сохранять результаты в регистрах и локаль-
Матричные вычислительные системы 5 6 9
ной памяти. ПЭ могут также обрабатывать те данные, которые поступают по шине
широковещательной рассылки из КМП. Кроме того, каждый процессорный эле-
мент вправе получать данные из других ПЭ и отправлять их в другие ПЭ по сети
соединений, используя для этого свой сетевой интерфейс. В некоторых матрич-
ных системах, в частности в MasPar МР-1, элемент данных из ПЭ-источника мож-
но передавать в ПЭ-приемник непосредственно, в то время как в других, например
в МРР, — данные предварительно должны быть помещены в специальный регистр
пересылки данных, входящий в состав сетевого интерфейса. Пересылка данных
между ПЭ и устройствами ввода/вывода осуществляется через шину ввода/выво-
да ВС. В ряде систем (MasPar MP-1) ПЭ подключены к шине ввода/вывода по-
средством сети соединений и канала ввода/вывода системы. Результаты вычисле-
ний любое ПЭ выдает в КМП через шину результата.
Каждому из N ПЭ в массиве процессоров присваивается уникальный номер,
называемый также
адресом ПЭ,
который представляет собой целое число от 0 до
N-
1. Чтобы указать, должен ли данный ПЭ участвовать в общей операции, него
составе имеется регистр флага разрешения F. Состояние этого регистра определя-
ют сигналы управления из КМП, либо результаты операций в самом ПЭ, либо и те
и другие совместно.
Еще одной существенной характеристикой матричной системы является спо-
соб синхронизации работы ПЭ. Так как все ПЭ получают и выполняют команды
одновременно, их работа жестко синхронизируется. Это особенно важно в опера-
циях пересылки информации между ПЭ. В системах, где обмен производится с че-
тырьмя соседними ПЭ, передача информации осуществляется в режиме «регистр-
регистр».
Подключение и отключение процессорных элементов
В процессе вычислений в ряде операций должны участвовать только определен-
ные ПЭ, в то время как остальные ПЭ остаются бездействующими. Разрешение
и запрет работы ПЭ могут исходить от контроллера массива процессоров
(глобаль-
ное маскирование)
и реализуются с помощью схем маскирования ПЭ. В этом слу-
чае решение о необходимости маскирования принимается на этапе компиляции
кода. Решение о маскировании может также приниматься во время выполнения
программы
(маскирование, определяемое данными),
при этом опираются на храня-
щийся в ПЭ флаг разрешения маскирования F.
При маскировании, определяемом данными, каждый ПЭ самостоятельно объяв-
ляет свой статус «подключен/не подключен». В составе системы команд имеются
наборы маскируемых и немаскируемых команд. Маскируемые команды выполня-
ются в зависимости от состояния флага F, в то время как немаскируемые флаг про-
сто игнорируют. Процедуру маскирования рассмотрим на примере предложения
IF-THEN-ELSE, Пусть
х
— локальная переменная (хранящаяся в локальной памяти
каждого ПЭ). Предположим, что процессорные элементы массива параллельно
выполняют, ветвление:
и каждый ПЭ оценивает условие IF. Те ПЭ, для которых условие
х >
О справедли-
во, установят свой флаг F в единицу, тогда как остальные ПЭ — в ноль. Далее КМ П
5 7 0 Глава 13. Вычислительные системы класса SIMD
распределяет оператор А по всем ПЭ. Команды, реализующие этот оператор, долж-
ны быть маскируемыми. Оператор А будет выполнен только теми ПЭ, где флаг F
установлен в единицу. Далее КМП передает во все ПЭ немаскируемую команду
ELSE, которая заставит все ПЭ инвертировать состояние своего флага F. Затем КМП
транслирует во все ПЭ оператор В, который также должен состоять из маскируе-
мых команд. Оператор будет выполнен теми ПЭ, где флаг F после инвертирования
был установлен в единицу, то есть где результат проверки условия
х >
О был отри-
цательным.
При использовании схемы глобального маскирования контроллер массива про-
цессоров вместе с командами посылает во все ПЭ глобальную маску. Каждый ПЭ
декодирует эту маску и по результату выясняет, должен ли он выполнять данную
команду или нет.
В зависимости от способа кодирования маски существует несколько различ-
ных схем глобального маскирования. В схеме, примененной в вычислительной
системе ILLIAC IV с 64 64-разрядными ПЭ, маска представляет собой N-разряд-
ный вектор. Каждый бит вектора отражает состояние одного ПЭ. Если бит содер-
жит единицу, соответствующий ПЭ будет активным, в противном случае — пас-
сивным. Несмотря на свою универсальность, при больших значениях
N
схема
становится неудобной. В варианте маскирования с адресом ПЭ используется
2т-
разрядная маска
(т =
log
2
N), в которой каждая позиция соответствует одному раз-
ряду в двоичном представлении адреса ПЭ. Каждая позиция может содержать 0, i
или
X.
Таким образом, маска состоит из
2т
битов. Если для всех
i
(0 < =i
< т) i-я
позиция в маске и i-я позиция в адресе ПЭ совпадают или в i-й позиции маски
стоит
X,
ПЭ будет активным. Например, маска 000Х1 представляет процессорные
элементы с номерами 1 и 3, в то время как маска ХХХХО представляет все ПЭ
с четными номерами (все это для массива из 32 ПЭ). Здесь можно активизировать
только подмножество из всех возможных комбинаций процессорных элементов
массива, что на практике не является ограничением, так как в реальных алгорит-
мах обычно участвуют не произвольные ПЭ, а лишь расположенные регулярным
образом.
Глобальные и локальные схемы маскирования могут комбинироваться. В та-
ком случае активность ПЭ в равной мере определяется как флагом F, так и гло-
бальной маской.
Сети взаимосвязей процессорных элементов
Эффективность сетей взаимосвязей процессорных элементов во многом опреде-
ляет возможную производительность всей матричной системы. Применение на-
ходят самые разнообразные топологии сетей.
Поскольку процессорные элементы в матричных системах функционируют
синхронно, обмениваться информацией они также должны по согласованной схе-
ме, причем необходимо обеспечить возможность синхронной передачи от несколь-
ких ПЭ-источников к одному ПЭ-приемнику. Когда для передачи информации
в сетевом интерфейсе задействуется только один регистр пересылки данных, это
может привести к потере данных, поэтому в ряде ВС для предотвращения подоб-
ной ситуации предусмотрены специальные механизмы. Так, в системе СМ-2 ис-
пользуется оборудование, объединяющее сообщения, поступившие к одному ПЭ.