Сети трактов передачи пакетов

Архитектура машин, управляемых потоком данных

Появление машин потоков данных по трем основным причинам.

Причина №1. Отсутствие достаточной вычислительной мощности.

Причина №2. Современные языки программирования отражают принципы архитектуры машин фон Неймана.

Причина № 3. Наличие узких мест в электронике.

Принцип действия машин потоков данных

Команды (операторы) управляются данными.

Программа представляет собой направленный граф, образованный соединенными между собой командами.

Таким образом, порядок выполнения команды определяется не счетчиком команд, а движением потока данных в командах.

Размножитель - операция с одним входом и несколькими выходами. Рис 5.3

Бесконечный источник констант. константа немедленно снова воссоздается на входной линии.

Язык потоков данных

В основу языка положены следующие три основных понятия: исполнительный элемент (блок и размножитель); информация; линия связи.

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

Информация по типам делится на: значения данных (сплошные стрелки); значения управляющих сигналов (штриховые стрелки).

Блок типа вентиль Т готов к работе при наличии на его входах как токена данных, так и токена управляющей информации. Либо пропускает входные данные на свой выход, либо просто «поглощает» их. Смеситель не уничтожает всех токенов на входных линиях. Рассмотрим программу на языке ПЛ/1:

Z: PROCEDURE (X,Y);

DO I = I TO X;

IF Y>1 THEN Y=Y*Y;

ELSE Y=Y+Y+2;

END;

END;

 

Машина потоков данных

Машина состоит из трех секций.

1 секция – память, содержащая ячейки команд. Не являются пассивными ЗУ, т.к. содержат логические схемы.

2 секция – блоки выполнения операций и принятия решений. Результат первых - данные, а вторых — управляющая информация.

3 секцияпереключающие сети. Селекторная. Управляющая. Распределительная. Рис. 5.6. Ячейка команды

Код операции Адрес(а) назначения
Вентильный код Вентильный флаг Флаг данных Данные
Вентильный код Вентильный флаг Флаг данных Данные

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

вентильный код задается для каждого входа. N— функции не выполняются; Т— данные, будут приняты, если вентильный флаг уже поступил; F— аналогично Т; С — константа. Вентильный флаг поступает из управляющей сети: Off— пакет не был получен; Т— получен пакет TRUE; F— получен пакет FALSE.

Сети трактов передачи пакетов

Селекторная, распределительная и управляющая сети.

 

Сети включают в себя элементы еще Буферы для временного хранения данных и Преобразователи кодов из последовательного потока в параллельный, а также из параллельного в последовательный.

Рисунок 5.8. Селекторная сеть. Рисунок 5.9. Распределительная сеть.

В селекторной сети осуществляется преобразование информации пакетов из последовательного кода в параллельный. Управляющая и распределительная сети получают пакеты в параллельном коде, преобразуют в последовательный. Ячеек памяти всегда во много раз больше чем процессоров (исполнительных элементов).