Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Архитектура потоковых систем с помеченными токенами




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

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

 

В архитектуре с помеченными токенами (tagged-token architecture) память хранит один экземпляр потокового графа. Каждый токен содержит тег (фишку), состоящий из адреса команды, для которой предназначено заключенное в то- кене значение, и другой информации, определяющей вычислительный кон- текст, в котором данное значение используется, например номера итерации цикла. Этот контекст называется «цветом значения», а токен – «окрашенным», в силу чего метод имеет еще одно название – метод окрашенных токенов. Каждая дуга потокового графа может содержать произвольное число токенов с различными тегами. Основное правило активирования вершины в динамичес- ких потоковых ВС имеет вид: вершина активируется, когда на всех ее входных дугах присутствуют токены с идентичными тегами.

 

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

Типовая архитектура потоковой системы с помеченными токенами показа-на на рис. 14.11. Для обнаружения одинаково окрашенных токенов (токенов с одинаковыми тегами) в конвейер процессорного элемента введен согласующий блок. Этот блок получает очередной токен из очереди токенов и проверяет, нет ли в памяти согласования его партнера (токена с идентичным тегом). Если такой партнер не обнаружен, принятый токен заносится в память согласования. Если же токен-партнер уже хранится в памяти, то блок согласования извлекает его оттуда и направляет оба токена с совпавшими тегами в блок выборки. На ос- нове общего тега блок выборки находит в памяти команд/данных соответст-вующую команду и формирует пакет операции, который затем направляет в функциональный блок. Функциональный блок выполняет операцию, создает то-кены результата и помещает их в очередь токенов.

Чтобы учесть возможные ситуации – циклы, элементы массивов, функции и рекурсии, – тег каждого токена должен включать в себя три поля: Уровень итерации • Имя функции • Индекс.

В каждом поле может содержаться число, начиная с нуля. Поле «Уровень итерации» хранит порядковый номер текущей итерации цикла; поле «Имя функ-ции» идентифицирует вызов функции; поле «Индекс» указывает на определен- ный элемент массива. Первые два поля могут быть объединены в одно.

Индивидуальные поля тега трактуются как числовые значения, пересыла-емые от одной вершины к другой. Минимальным требованием к динамической потоковой ВС является наличие операций, позволяющих извлечь значение, содержащееся в каждом поле, или установить в любом поле иное значение. Например, операция «Прочитать поле токена» берет токен и формирует из него другой токен, где определенное поле заполнено содержимым аналогичного поля из входного токена. Операция «Установить поле токена» формирует выходной токен, совпадающий с входным, за исключением указанного поля, куда заносится значение, заданное в данной операции в виде литерала. Применительно к полю «Уровень итерации» могут быть предусмотрены операции инкремента и де-кремента.

 

 

Рис. 14.12. Архитектура манчестерской потоковой вычислительной системы

На рис. 14.12 приведена структура динамической потоковой ВС с архи- тектурой окрашенных токенов, созданной в Манчестерском университете Гур-дом и Ватсоном в 1980 году. В этой ВС используется конвейерная кольцевая архитектура, и вычислительные функции отделены от функций согласования токенов и тегов. Каждый процессор обрабатывает пакеты длиной в 166 бит, содержащие два численных операнда, тег, код операции и один или два адре- са следующей команды или команд. С каждым пакетом ассоциирован флаг «Система/ Вычисление», позволяющий отличить выполняемый пакет (пакет, который должен быть обработан процессором) и пакет, несущий системное сообщение (например, «Загрузить команду в память»). Численными операндами могут быть 32-разрядные целые числа, либо числа в формате с плавающей запятой.

Обработав выполняемый пакет, процессор генерирует один или два паке- та (токена) результата. Пакет результата состоит из 96 битов и содержит один численный операнд, тег и адрес пункта назначения результата. Каждый пакет результата поступает на ключ, обеспечивающий либо ввод данных от внеш- него источника, либо вывод на внешний объект (периферийное устройство). Поскольку токен результата должен быть передан на другую вершину потоко-вого графа, то он сначала направляется в очередь токенов, а оттуда – в блок согласования токенов. Здесь производится поиск других токенов, необходимых для инициирования вершины. Поиск ведется аппаратно, посредством сравнения пункта назначения и тега входного токена с аналогичными параметрами всех хранящихся в памяти токенов. Если совпадение произошло, из пары токенов формируется пакет, в противном случае входной токен запоминается в блоке согласования токенов до момента, когда поступит согласующийся с ним токен. Пары токенов и токены с одним операндом передаются в память программ, содержащую узловые команды, и формируется полный выполняемый пакет. Выполняемые пакеты по возможности направляются в свободный процессор в массиве из 15 процессоров.

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

 




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


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


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



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




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