Быстродействующий арбитр обработки запросов большой разрядности

ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

УДК 004.31

Е. А. Титенко, Е. А. Семенихин

БЫСТРОДЕЙСТВУЮЩИЙ АРБИТР ОБРАБОТКИ ЗАПРОСОВ БОЛЬШОЙ РАЗРЯДНОСТИ

Предложен способ параллельно-конвейерной обработки запросов большой разрядности, описана техническая реализация арбитра.

Ключевые слова: арбитр, конвейер, параллельные вычисления.

Введение. Производительность вычислительных систем с массовым параллелизмом (многомашинные комплексы и многопроцессорные системы) определяется, прежде всего, согласованной работой коллектива процессоров над решением задач, имеющих альтернативные или множественные варианты выполнения [1]. Общая производительность таких систем зависит от многих факторов: типа модели вычислений, количества процессоров и их наращиваемости, ресурсной поддержки распараллеливания, организации памяти, обработки конфликтов за общий ресурс, организации системы коммутации, синхронизации готовности процессов по данным и др. [2].

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

Постановка задачи и цель работы. Аппаратный быстродействующий арбитр рассматривается как единое устройство (черный ящик), получающее на вход запросы (вектор запросов) и выдающее после обработки двоичное слово подтверждений (вектор подтверждений), содержащее единственную логическую „1" для найденного приоритетного запроса. В работе принимается модель вычисления приоритетной логической „1" в соответствии со статическими весами запросов, которые выставляют процессоры на получение общего ресурса. Отличительная особенность проектируемого быстродействующего арбитра связана с ориентацией на большую разрядность двоичного слова запросов п (п > 64) и созданием технического решения, обеспечивающего эффективный поиск приоритетной логической „1" за счет обработки не весовых двоичных данных.

Общий подход к решению. Предлагаемый подход к проектированию быстродействующего арбитра заключается в разработке структуры устройства, в котором процесс выделения приоритетной (старшей) логической „1" из входного двоичного слова запросов разби-

вается на ряд пространственно распределенных процессов поиска приоритетной логической „1" в каждом из выделенных локальных слов. Данные локальные слова последовательно примыкают друг к другу, образуя двоичное слово запросов. Особенность подхода состоит в том, что разбиение происходит автоматически, вычисляется начальное значение (стартовая точка) для каждого отдельного процесса, что определяет их самостоятельность и позволяет параллельно обрабатывать локальные слова.

Проектирование быстродействующего арбитра. На рис. 1 приведена общая схема процесса арбитража при большой разрядности двоичного слова запросов п. В работе предлагается двухуровневая организация процесса арбитража: на первом уровне выполняется вычисление стартовых точек по входному двоичному слову запросов. Двоичное слово запросов разрядностью в п бит разбивается на g групп (локальных слов), каждая группа разрядностью г бит. Данный процесс получил название „сжатие двоичного слова запросов".

1 Двоичное слово запросов п

п бит

СЖАТИЕ

Сжатое слово запросов

Параллельный арбитр

1 g ИНИЦИАЛИЗАЦИЯ

Последовательно-параллельный арбитр

1 г 1 г 1г

Первый уровень арбитража

Второй уровень арбитража

Двоичное слово подтверждения Рис. 1

Сжатое слово запросов разрядностью g бит подлежит обработке параллельным арбитром, схема которого для малых значений разрядности известна [3, 4] и не является предметом рассмотрения настоящей статьи.

Работа параллельного арбитра заключается в выделении приоритетной логической „1" в сжатом g-разрядном слове запросов. Все биты полученного g-разрядного сжатого слова запросов являются стартовыми точками для параллельно выполняемых процессов арбитража второго уровня вычислений. На втором уровне осуществляется параллельная обработка локальных слов разрядностью г бит и формируется выходное двоичное слово подтверждений разрядностью п бит. Для параллельно-конвейерной обработки локальных слов разбитое по g группам значение входного двоичного слова запросов передается в параллельно-последовательный арбитр вместе с вычисленными стартовыми точками на первом уровне. В целом данная общая схема арбитража определяет конвейеризированную структуру вычислений, т. е. разбиение общего процесса вычислений на более мелкие уровни, совмещение во времени их

1

1

1

г

г

г

1

g

1

п

1

п

выполнения и выделение для каждого уровня структурно самостоятельного функционального узла [5].

Структурная схема быстродействующего арбитра приведена на рис. 2 и содержит:

1) входной п -разрядный регистр запросов (РгЗАПР);

2) г -разрядные элементы ИЛИ для сжатия двоичного слова запросов по g группам и получения сжатого g-разрядного слова запросов;

3) параллельный арбитр (ПАРБ), обрабатывающий g-разрядное слово запросов;

4) параллельно-последовательный арбитр — итеративную сеть арбитража (СЕТЬ) для выполнения параллельно-последовательного процесса арбитража по g группам, каждая группа разрядностью г бит;

5) выходной регистр двоичного слова подтверждений (РгПОДТВ) разрядностью п бит.

1 п

1 г 1 г 1 г

Рг ЗАПР

СТОП

ПАРБ

1 г 1 г 1 г

1

1 г 1 г 1 г

СЕТЬ

РгПОДТВ

п

Рис. 2

При обнаружении нулевого значения сжатого слова запросов на ПАРБ быстродействующий арбитр выдает сигнал СТОП, прекращая обработку текущего двоичного слова запросов. При ненулевом значении сжатого g-разрядного слова запросов осуществляется его обработка в функциональном узле ПАРБ. Особенность ПАРБ в том, что за счет нерегулярности схемы время вычислений в данном функциональном узле не зависит от разрядности g, оно определяется временем обработки т =сопб1 одного разряда. На выходе ПАРБ формируется промежуточное g-разрядное слово стартовых точек, содержащее единственную логическую „1" в у-й позиции. Выделенная логическая „1" в у-й позиции инициирует обработку у-й группы разрядностью г бит из входного слова запросов на параллельно-последовательном арбитре. Таким образом, промежуточное g-разрядное слово стартовых точек является вторым операндом для параллельно-последовательного арбитра, принимающим на обработку как первый операнд г -разрядные группы из входного двоичного слова запросов (рис. 2).

Параллельно-последовательный арбитр организован как комбинационная схема — итеративная сеть арбитража (СЕТЬ), осуществляющая последовательное выделение приоритетной логической „1" в пределах группы начиная со значения стартовой точки. Если значение у-й стартовой точки нулевое (у = 1 - g), то СЕТЬ формирует нулевое значение у-й группы в составе выходного двоичного слова подтверждений. Среди стартовых точек существует такая к-я точка (к е 1 - g), имеющая значение логической „1", которая задает в СЕТИ последовательный процесс арбитража в пределах к-й группы.

Итеративная сеть арбитража (рис. 3) представляет собой одномерный массив п ячеек, разбитых на g групп по г разрядов в каждой группе. С точки зрения нисходящего проекти-

&

1

1

1

2

1

2

1

ё

1

рования ячейка Я, (/ = 1 - п) СЕТИ представляется черным ящиком, имеющим три входа и три выхода (рис. 4). Работа СЕТИ по выделению приоритетной логической „1" основана на параллельной работе g групп ячеек и последовательном поиске старшей логической „1" в пределах каждой группы.

ПАРБ1 ЗАПР1

парб?

ПАРБ„

ЗАПРг

—>

Я1 Я?

-5>

] Р1 I

Яг

Р1

ПОДТВ1

Т~

ПОДТВ

ЗАПРг

й

Яг

ЗАПРп

Р?

1

Яп

"Г

ПОДТВ,

Ро=0

Рис. 3

ЗАПР,

й-1

й/

Р/

Функционирование отдельной ячейки обработки бита двоичного слова запросов ЗАПР, с учетом значения стартовой точки, вычисляемой ПАРБ для/-й группы ( / = 1 - g ), сводится к вычислению бита выходного двоичного слова подтверждений ПОДТВ, (г = 1 - п ). Работа ячейки Я, описывается таблицей истинности (— входной бит инициализации поиска приоритетной логической „1" в /-й группе, причем йо = ПАРБ, — стартовая точка поиска для /-й Р/-1

группы; й, — выходной бит инициализации поиска приоритетной логической „1" в / -й группе, Р,_ —

входной признак обнаружения приоритетной логической „1" в /-й группе, Ро = 0 для всех g групп; Р, — выходной признак обнаружения приоритетной логической „1" в/-й группе).

Таблица истинности ячейки поиска приоритетной логической „1"

ПОДТВ, Рис. 4

Г

№ й-1 Р/-1 ЗАПР, й/ Р/ ПОДТВ,

0 0 0 0 0 0 0

1 0 0 1 0 0 0

2 0 1 0 0 0 0

3 0 1 1 0 0 0

4 1 0 0 1 0 0

5 1 0 1 1 1 1

6 1 1 0 1 1 0

7 1 1 1 1 1 0

Данная таблица имеет следующую интерпретацию. При й/ _ = 0 (первые четыре строки

таблицы) поиск приоритетной логической „1" не инициализируется, поэтому формируются нулевые значения Р/ и ПОДТВ,. При й/_ = 1 поиск по /-й группе инициализируется, значение выходного бита ПОДТВ, определяется значением признака обнаружения приоритетной логической „1" в данной группе, т.е. значением Р/_ . Если такой признак не был установлен в „1", то ПОДТВ, = ЗАПР, (четвертая и пятая строки по номерам таблицы). Одновременно с

этим (при ЗАПРг- =1) выходной признак устанавливается как Pj =1, запрещая тем самым

последующее выделение логических „1" в выходном слове подтверждений в пределах j-й группы (последние две строки таблицы).

Заключение. Таким образом, в результате проектирования разработан быстродействующий арбитр, ориентированный на обработку двоичных слов запросов большой разрядности ( n > 64) и позволяющий совместить во времени процесс выделения приоритетной логической „1" за счет организации пространственно распределенных по длине двоичного слова запросов параллельно-конвейерных вычислений. Данное устройство может найти применение в потоковых вычислительных системах [6], в ассоциативных процессорах числовой и символьной обработки данных [1, 7], в информационно-поисковых системах и системах обработки знаний при разрешении конфликтов [8].

СПИСОК ЛИТЕРАТУРЫ

1. Корнеев В. В. Следующее поколение суперкомпьютеров // Открытые системы. 2008. № 8. С. 14—19.

2. Хорошевский В. Г. Архитектура вычислительных систем. М.: Изд-во МГТУ им. Баумана, 2005. 512 с.

3. Потемкин И. С. Функциональные узлы цифровой автоматики. М.: Энергоатомиздат, 1988. 320 с.

4. Самофалов К. Г. и др. Цифровые ЭВМ. Теория и проектирование. Киев: Высш. школа, 1989. 423 с.

5. Кравец О. Я., Подвальный Е. С., Титов В. С., Ястребов А. С. Архитектура вычислительных систем с элементами конвейерной обработки: Учеб. пособие. СПб: Политехника, 2009. 152 с.

6. Стемпковский А. Л., Левченко Н. Н., Окунев А. С., Цветков В. В. Параллельная потоковая вычислительная система — дальнейшее развитие архитектуры и структурной организации вычислительной системы с автоматическим распределением ресурсов // Информационные технологии. 2008. № 10. С. 2—7.

7. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. СПб: БХВ-Петербург, 2002. 599 с.

8. Фельдман В. М. Вычислительная система реального времени для реализации программ управления сложными объектами // Информационные технологии. 2009. № 2. С. 2—8.

Сведения об авторах

Евгений Анатольевич Титенко — канд. техн. наук, доцент; Курский государственный технический университет, кафедра программного обеспечения вычислительной техники; E-mail: bossjohn@mail.ru

Евгений Анатольевич Семенихин — аспирант; Курский государственный технический университет, кафедра программного обеспечения вычислительной техники; E-mail: bossjohn@mail.ru

Рекомендована кафедрой Поступила в редакцию

программного обеспечения 04.06.10 г.

вычислительной техники