Московский государственный университет путей сообщения
Опубликован: 22.12.2006 | Доступ: свободный | Студентов: 2440 / 570 | Оценка: 4.07 / 4.02 | Длительность: 16:07:00
ISBN: 978-5-9556-0071-0
Специальности: Разработчик аппаратуры
Лекция 12:

SPMD-технология на базе симметричной ВС

< Лекция 11 || Лекция 12: 12345 || Лекция 13 >

Среди этих команд (в трехадресной интерпретации с использованием индексных регистров) мы отметим следующие.

ЗАГ ЗАГрузка дескрипторного элемента или модификатора; адреса загружаемых дескрипторных элементов или модификаторов указываются в позициях I1, I2, I3. В позициях A1, A2, A3 могут быть указаны адреса ЛОП или ОП.

ЗАГД — ЗАГрузить Дескриптор; по адресам ( I1 ), ( I2 ), ( I3 ) в памяти каждого процессорного элемента засылаются по восемь дескрипторных элементов, хранящихся в ОП, соответственно, с адресов ( A1 ), ( A2 ), ( A3 ). Таким образом, по одной команде можно загрузить до трех дескрипторов в ЛОП каждого ПЭ. При загрузке каждого дескриптора выполняются операции (D5(k)):= (D7(k)):= (D0(k))+ i(D1(k)), k = 1, 2, 3. Эта начальная загрузка может производиться при первом выполнении основной части программы.

ВЗЯТЬД — ВЗЯТЬ Дескриптор; выбирается дескриптор Dw в составе всех восьми элементов из массива дескрипторов, которому соответствует дескриптор D. Выбираемый дескриптор определяется значением дескрипторного элемента D7 = (I1). Он заносится по адресу D* = (I2) в ЛОП. При первом выполнении команды i -м ПЭ w = i. При j -м выполнении команды этим же ПЭ w = i + Nj. При выполнении команды сначала проверяется условие принадлежности выбираемого дескриптора массиву таких дескрипторов, (D7)<= (D3)? При выполнении этого условия дескриптор Dw на данном ПЭ формируется. Выполняется операция (D7):= (D7) + (D6), что при следующем выполнении данной команды позволит выбрать дескриптор, номер которого на N превышает номер выбранного. При невыполнении условия управление передается по исполнительному третьему адресу без модификации D7. Данная команда позволяет распределять обработку записей в базах данных, базах знаний и нейросетях. Для другого применения этой команды можно указывать в позиции I1 адрес дескрипторного элемента D4, что обеспечивает последовательную выборку дескрипторов из массива дескрипторов при повторном выполнении команды в цикле. (Дескриптор занимает восемь регистров, т.е. номер дескрипторного элемента может определяться тремя младшими разрядами его адреса.)

ПРАД — ПРоверка АДреса; адреса, записанные в дескрипторных элементах в позициях I1 и I2, сравниваются соответственно с адресами, записанными в дескрипторных элементах D3 дескрипторов массивов. Команда допускает одновременно два сравнения (для двух массивов), но может быть предусмотрено лишь одно. Если ( (I1)) >(D3(1) ) ( (I2)) >(D3(2) ) (верхний индекс указывает на номер анализируемого дескриптора массива), осуществляется переход на выполнение команды, номер которой указан по третьему адресу. В противном случае выполняется следующая команда. Данная команда контролирует переадресацию или начальное назначение элемента массива за пределами массива.

ИЗМАД — ИЗМенить АДрес; выполняются операции ( D7(1)) = (I1) := (D7(1))+(D6(1)), (D7(2)) = (I2) := (D7(2))+(D6(2)). D7(1) пишется в позиции I1, D7(2) пишется в позиции I2. Выполнение операции сопровождается анализом, не превышает ли вновь найденное значение адреса значение адреса последнего элемента массива, указанного соответственно в дескрипторных элементах D3(1) и D3(2) ; если превышает, управление передается по третьему исполнительному адресу.

УЗАП — Условная ЗАПись; считывает по адресу, указанному в D7, и записывает по третьему исполнительному адресу, но лишь в том случае, если (D7) =(D3). Команда позволяет при совместной обработке массива записать единственный окончательный результат, полученный одним ПЭ. Если указанное равенство не выполняется, выполняется следующая команда.

ЗАКРА — ЗАКРыть Адрес; значение адреса, записанное в дескрипторном элементе D7, заносится в память закрытых адресов (распределенных между модулями ОП).

СИНХ команда синхронизации. По данной команде ПЭ посылает в блок синхронизации сигнал. Обратный сигнал, по которому ПЭ приступает к выполнению следующей команды, приходит в том случае, если все ПЭ при выполнении данной команды в своих программах послали свои сигналы. Выполнение команды повторяется до получения обратного сигнала.

Среди более сложных команд, которые могут быть реализованы с помощью развитого механизма дескрипторов, следует отметить следующие команды.

ПОИСК1 Поиск по образцу с фиксацией места совпадения. Позволяет продолжить поиск следующих совпадений.

ПОИСК2 Поиск по образцу с восстановлением при совпадении на начало массива.

ДОПОЛМ ДОПОЛнение Массива новым элементом, после дополнения корректируется дескриптор.

СБОРМ — СБОРка Массива; на основе дескрипторов двух массивов формируется массив-объединение со своим дескриптором.

ИСКЛ ИСКЛючение из массива; из массива, заданного своим дескриптором по исполнительному первому адресу, исключается элемент, который равен образцу, заданному по исполнительному второму адресу. (Команда применяется, например, при исключении из списка ссылки на удаляемый элемент.)

ТАБЛ — вход в ТАБЛицу, адрес которой указан в первом исполнительном адресе команды; таблица состоит из строк соответствия вида "запрос-ответ" .

ЭТАЛОН — "запрос" задается по первому исполнительному адресу, "ответ" записывается по третьему исполнительному адресу.

ЗАПТАБ — ЗАПисать в ТАБлицу; в таблице, адрес которой указан по третьему исполнительному адресу, во всех строках, "ответы" которых совпадают с образцом, заданным по первому исполнительному адресу, сменить "ответы" на заданный по второму исполнительному адресу. (Команда применяется, например, при смене варианта связывания переменных в логическом программировании.)

СТЕГ — Сравнение ТЕГов; тег кода, заданного по первому исполнительному адресу, сравнивается с константой, заданной по второму адресу. В случае неравенства управление передается по третьему адресу.

М+ (М- — команды изменения значений индексных регистров — модификаторов; одновременно могут изменяться до трех модификаторов, адреса которых указываются в позициях I1, I2 , I3. В позициях A1, A2, A3 указываются адреса ЛОП, ОП или константы переадресации.

ЦИКЛ команда начала цикла; по первому исполнительному адресу указывается граничное значение параметра цикла — количество повторений. Если необходимо, все данные внешнего прерываемого цикла записываются в стек циклов.

КЦ — Конец Цикла; параметр цикла изменяется на единицу, по достижении максимального значения управление передается следующей команде; при этом, если необходимо, восстанавливаются данные внешнего цикла из стека циклов. Если параметр цикла не достиг максимального значения, управление передается команде, следующей за командой ЦИКЛ.

< Лекция 11 || Лекция 12: 12345 || Лекция 13 >