Совершенствование организации ядра СЭВМ. Часть 5.
С точки зрения обработки более широкого класса задач в СЭВМ, основанных на указанных принципах, получает развитие архитектура машин потоков данных или машин с динамической архитектурой. В этих машинах отсутствует такой необходимый для последовательных ЭВМ фон-неймановской архитектуры элемент, как программный счетчик. Программа, подготовленная программистом, физически не является последовательным массивом памяти, как в традиционных машинах, а рассредоточена в произвольном порядке по командным ячейкам, включающим в себя наряду с полем операции поля для операндов и адресные поля, указывающие на те командные ячейки, в которые должны быть помещены результаты операции. Операция инициируется к выполнению на одном из множества операционных устройств только в тот момент, когда в командной ячейке оказывается помещенным необходимый операнд, являющийся либо элементом входного потока данных, либо результатом некоторой промежуточной операции. Арбитражной сетью, которая обрабатывает совокупность всех запросов на исполнение, поступающих от командных ячеек в данный момент времени, определяется операционное устройство (с глубокой конвейеризацией), подключаемое к выполнению операции активной командной ячейки. Подключенные операционные устройства готовят список адресов для направления результата выполнения операции, размещение которого по соответствующим командным ячейкам осуществляется распределительной сетью (рис. 2.4). С формальной точки зрения вычислительный процесс в машине на основе потока данных можно представить ориентированным графом. В вершинах этого графа указаны элементарные операции обработки данных, результаты которых (токены) перемещаются по связывающим их дугам.

Преимуществами ЭВМ потоков данных являются:
- возможность достижения высокой производительности за счет автоматической реконфигурации аппаратных средств в соответствии с решаемой в данный момент задачей;
- высокая гибкость архитектуры и их модульная структура, позволяющая наращивать аппаратные средства;
- возможность широкого применения СБИС, обусловленная высокой регулярностью структуры ЭВМ;
- высокая скорость реакции на изменение входных данных, которая представляет большое преимущество для организации систем реального времени;
- повышенная живучесть, позволяющая исключать неисправные блоки (операционные устройства) и обеспечивать реализацию без потери качества алгоритмов решаемых задач.
Основные недостатки: наличие громоздких инструкций, большой объем операций пересылок, что приводит к относительному снижению производительности на линейных участках программ, а также необходимость создания новых языков программирования, ориентированных на эффективное использование преимуществ данной архитектуры.