Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Статические потоковые вычислительные системы




Статическая потоковая архитектура, известная также под названием «единственный-токен-на-дугу» (single-token-per-arc dataflow), была предложена Деннисом в 1975 году. В ней допускается присутствие на ребре графа не бо- лее чем одного токена. Это выражается в правиле активации узла: вершина активируется, когда на всех ее входных дугах присутствует по токену и ни на одном из ее выходов токенов нет. Для указания вершине о том, что ее выход- ной токен уже востребован последующим узлом графа, используется механизм подтверждения с квитированием связи (рис. 14.8). Его суть состоит в посылке процессорами в ответ на инициирование узлов графа специальных контроль- ных токенов.

 

 

 

 

Рис. 14.8. Механизм подтверждения с квитированием

 

Типовая статическая потоковая архитектура представлена на рис. 14.9.

 

 

 

 

Рис. 14.9. Структура процессорного элемента типовой статической потоковой системы

 

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

§ код операции;

§ операнд 1;

§ …

§ операнд N;

§ вершина/дуга 1;

§ …

§ вершина/дуга K.

Каждому кадру в памяти команд/данных соответствует кадр в управляю-щей памяти, содержащий биты наличия для всех операндов и всех полей «вершина/дуга». Бит наличия операнда устанавливается в единицу, если этот операнд доступен, т.е. если токен, содержащий данный операнд, уже поступил по входной дуге графа. Для поля «вершина/дуга» установленный бит наличия означает, что выходная дуга, ассоциированная с данным полем, не содержит токена. Вершина графа, описанная в памяти команд/данных, может быть акти-вирована, т.е. операция может быть выполнена, если все биты наличия в соот-ветствующем кадре памяти управления установлены в единицу. Когда данная ситуация распознается блоком обновления, он помещает пакет команды в оче-редь команд. Опираясь на очередь команд и содержимое памяти действий, блок выборки составляет пакет операции и направляет его в один из функциональ- ных блоков. После выполнения требуемой операции функциональный блок соз-дает пакет результата и передает его в блок обновления, который в соответст- вии с полученным результатом изменяет содержимое памяти действий.

Основное преимущество статической модели потоковых вычислений за-ключается в упрощенном механизме обнаружения активированных узлов.

Недостатки статической модели:

§ не допускает параллельного выполнения независимых итераций цикла;

§ колебания трафика токенов;

§ отсутствие в современных языках программирования поддержки описан-ного режима обработки данных.

Архитектуру первой системы, строго соответствующей модели потоковых вычислений типа «единственный-токен-на-дугу», предложил Деннис (рис. 14.10).

 

 

 

Рис. 14.10. Статическая потоковая архитектура по Деннису

 

Система представляет собой кольцо из процессорных элементов и эле-ментов памяти, в котором информация передается в форме пакетов. Процес-сорные элементы получают пакеты действий (activity templates) в виде: Код операции • Операнды • Адресат, где точка обозначает операцию составления целого слова из его частей. «Код операции» определяет подлежащую выполне-нию операцию, «Операнды» – используемые в операции числа, а «Адресат» – указывает место, куда должен быть направлен результат операции. При этом в полях операндов задаются не адреса ячеек памяти, а непосредственно числа, которые должны участвовать в операции. Преимущество такого подхода состо- ит в том, что в каждый момент времени операнды могут быть использованы только одной выбранной вершиной, а недостаток – невозможность включения в команду в качестве операндов сложных структур данных, даже простых векторов и массивов.

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 829; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.