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


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



бет2/9
Дата16.10.2023
өлшемі0,54 Mb.
#185870
түріРеферат
1   2   3   4   5   6   7   8   9
Байланысты:
prorobot.ru-19-0101

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

М ашины потоков данных производят наиболее сильное впечатление тем, что принципы их проектирования не базируются на основных свойствах и характеристиках традиционных машин и языков программирования. В архитектуре машин потоков данных отсутствует понятие «пассивная память данных», а в языке потоков данных нет понятия «переменная»: данные перемещаются из команды в команду по мере выполнения программы.


Кроме того, в данном случае не используются понятия «передача управления», «счетчик команд» и «ветвление вычислительного процесса». Вместо этого команды (операторы) управляются данными. Считается, что команда готова к управлению (т. е. Ее выполнение разрешено), если данные присутствуют в каждом из ее входных портов и отсутствуют в выходном порте. Выполнение команды приводит к исчезновению данных в ее входных портах и появлению результата в выходном порте. Программа представляет собой направленный граф, образованный соединенными между собой командами: выходной порт одной команды соединен с входным портом другой команды. Таким образом, порядок выполнения команды определяется не счетчиком команд, а движением потока данных в командах.
Указанные принципы выполнения команд иллюстрируют рис. 1. здесь окружности обозначают команды, стрелки – линии связи между командами, а зачерненные круги – данные.

Команды не готовы к выполнению




Команда готова к выполнению



Результат выполнения







Рис. 1. Возможные состояния команд в машине потоков данных.

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


Т акже возникает необходимость ввести два дополнительных понятия. Первым является размножитель, который представляет собой операцию с одним входом и несколькими выходами. Он готов к работе, когда на входной линии данные присутствуют, а выходные линии пустые. Его функции – распределять входные данные по всем выходным линиям. Размножитель обозначается небольшим зачеркнутым кругом. Вторым новым понятием является бесконечный источник констант для команды.



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет