Совершенствование организации ядра СЭВМ. Часть 5.

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

Структура ЭВМ, управляемой потоком данных

Преимуществами ЭВМ потоков данных являются:

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

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