Несколько одинаковых ПЭ одновременно выполняют одну и туже команду, но на каждый из которых поступает свой набор данных. Коммутационная сеть используется тогда, когда необходимо организовать передачу промежуточных данных между процессорами без их сохранения в основной памяти. Этим матричные системы схожи с историческими.
Структура матричной системы
Понятно, что центральной частью любой ВС является основная память. Обязательно наличие специального управляющего процесса, потому что такая матричная система не может выполнять скалярную обработку данных – традиционную обработку данных – а нет таких задач, которые сводились только лишь к матричному исчислению, поэтому приходиться выполнять и традиционную обработку данных. Поэтому есть специализированный скалярный процессор, называемый управляющий процессор и он имеет свою локальную память. Он обменивается с основной памятью и выполняет скалярные операции. Локальная память потому, что, по сути своей, это многопроцессорная система и у нас имеется проблема доступа к основной памяти, определяемая тем, что имеется очень много желающих получить этот доступ, поэтому, фактически, это многоуровневая память, то есть имеется еще один уровень в иерархии памяти, называемый локальной памятью. Сам управляющий процессор может иметь свою кэш-память, взаимодействующую с локальной памятью, и может иметь регистровый файл. Управляющей процессор управляет работой нескольких процессорных элементов, которые составляют основу этой матричной системы. Каждый ПЭ также имеет свою локальную память. Управляющий процессор выдает команды или настраивает вычислительную матрицу, образованную ПЭ. Поэтому есть некий интерфейс управления и в рамках этого интерфейса происходит обмен по управляющим воздействиям. Понятно, что для работы ПЭ, помимо доступа к ячейкам локальной памяти, необходимо чтобы осуществлялся доступ к основной памяти, поэтому есть еще один системный интерфейс, который обеспечивает доступ ПЭ к основной памяти через локальную. Но этого оказывается мало. К сожалению, существуют задачи, которые не распараллеливаются, потому что иногда бывают связи(на рис. пунктиром), то есть результат работы одного ПЭ должен подаваться на вход другого. Здесь же такой возможности нет, есть возможность сделать это через ОП. Ясно, что это не мало эффективно, потому что доступ к памяти всегда проблематичен, поэтому в матричных системах используется специальная коммутационная сеть для обмена данными между ПЭ.
Управляющий процессор одновременно передает в локальную ПЭ одни и те же команды. То есть в локальной памяти ПЭ содержатся программа и данные, причем данные получаются из ОП по программе, задаваемой управляющим блоком.
Чтобы понять проблематику матричных систем рассмотрим конкретные примеры.
