Запишем, что мы хотим вычислить
Для решения этой задачи нам не уйти от задания различных команд различным ПЭ. В данном случае здесь выполняемая команда зависит от данного, имеющегося в локальной памяти ПЭ.
Вывод: ПЭ должны выполнять разные операции.
Это реализуется с использованием условных матричных команд.
a) Режим маски
Имеет следующую особенность: прием команд от управляющего процессоры и ее выполнение осуществляется, если специальный разряд(триггер) маски в ПЭ установлен в нуль (ПЭ замаскирован, когда маска равна 1). Этот режим позволяет нам реализовать выборочное выполнение тех или иных команд. Идея очень проста: сделать так, чтобы можно было бы какой-нибудь командой, выдаваемой на все ПЭ установить или сбросить эти маски, а потом выдать следующую команду, которая выполняется, если разряд маски сброшен. Т.е. есть команды устанавливающие разряд маски, а есть команда, воспринимающаяся только в том случае если этот разряд сброшен.
Программа:
TEST A,0 – проверяется содержимое ячейки А локальной памяти на ноль. После выполнения этой команды работают только те ПЭ у которых этот разряд маски сброшен.
ADD A,B,C
COM M – инверсия разрядов маски
SUB A,B,C
CLR M — команда очистки маски. Она воспринимается независимо от значений разрядов маски, то есть команды, работающие с маской воспринимаются всегда.
Это матричная программа, обеспечивающая выполнение решения этой задачи
b) В ПЭ элементах используются следующие разряды маски: признаки результата CF,OF,SF,ZF и разряды конфигурации.
c) В современных матричных системах имеется стек масок, что позволяет организовать условную обработку и обеспечить связь между достаточно отдаленными данными в потоке данных. Т.е. команды маску занести на вершину стека или же извлечь. Это сделано для того чтобы обеспечить вложенность процедур обработки и реализацию сложных устройств. Тут фактически реализуется стековый механизм работы с регистром маски. Значит над масками можно выполнять некие вычисления, используя стековые команды.
