Вы находитесь на странице: 1из 6

УДК 004.

ЖАБИН В.И.,
ЖАБИНА В.В.,
СКОРИЧЕНКО А.В.

РЕАЛИЗАЦИЯ НЕАВТОНОМНЫХ ВЫЧИСЛЕНИЙ В ИЗБЫТОЧНЫХ СИСТЕМАХ


СЧИСЛЕНИЯ НА ПЛИС

Показана возможность реализации неавтономных вычислений с плавающей запятой в вычисли-


тельных системах с непосредственными связями между вычислительными модулями. Предложен ме-
тод вычисления полиномов с поразрядной обработкой операндов со старших разрядов в симметрич-
ных избыточных системах счисления. Использование указанного метода позволяет расширить диапа-
зон представления чисел и сократить необходимый ресурс ПЛИС благодаря малому числу связей
между модулями.

Possibility of realization of on-line floating point computations in systems with direct connections be-
tween computation units is shown. Method of polynomial calculation with the use of digit-by-digit operand
processing from left-hand digits in symmetrical redundant numeric systems is proposed. Implementation of
the above-mentioned method enables to extend the range of numbers representation as well as to save FPGA
resources due to small number of connections between units.

Ключевые слова: вычисление полиномов, неавтономный режим, поразрядная обработка, ресур-


сы ПЛИС.

Введение мации между ВМ на уровне отдельных слов не-


целесообразно использовать процедуры обмена
Особенности работы вычислительных си- информапцией через общую память со сложны-
стем в контуре управления объектами и процес- ми процедурами доступа. Уменьшить затраты
сами во многих случаях требуют обеспечения времени на обмен данными позволяет использо-
высокой скорости реализации алгоритмов с мел- вание потоковых систем с непосредственными
козернистой структурой [1, 2]. Такую структуру связями (ПСНС) между ВМ [3-6].
имеют, например, алгоритмы траекторных задач, В ПСНС выходы одних ВМ подключаются
когда необходимо решать системы уравнений, к входам других ВМ в соответствии с графом
выполнять полиномиальную интерполяцию потока данных (ГПД). ВМ работают в неавто-
функций, преобразование координат в много- номном (on-line) режиме. В процессе вычисле-
мерном пространстве и т.д. Как известно, для ний данные пересылаются непосредственно от
ускорения вычислений применяются параллель- одних ВМ к другим, преобразуясь на каждом
ные вычислительные системы, обеспечивающие шаге в соответствии с операциями, заданными
совмещение обработки данных в параллельных вершинами ГПД. В таком случае отсутствуют
ветвях алгоритмов на различных уровнях парал- сложные процедуры пересылки данных между
лелизма. Для мелкозернистых алгоритмов эф- ВМ, то есть уменьшаются затраты времени на
фективным может быть преобразование инфор- обмен данными между ними.
мации на низком уровне параллелизма, напри- Достижения в области интегральной техно-
мер, на уровне обработки машинных слов, то логии позволяют создавать параллельные сис-
есть выполнения отдельных операций. По срав- темы CSoС (Configurable System on Chip –
нению с более высоким уровнем параллелизма конфигурируемые системы на кристалле), ко-
это предполагает увеличение числа параллель- торые реализуются на ПЛИС с использованием
ных ветвей. интерактивных средств разработки. В общем
Однако, скорость обработки информации за- случае микросхемы содержат вычислительные
висит не только от времени выполнения опера- ядра, память и программируемую логику, что
ций в параллельных ветвях, но и от затрат вре- дает потенциальную возможность оптимально
мени на обмен информацией между ветвями, то адаптировать аппаратные средства к конкрет-
есть между вычислительными модулями (ВМ) ному применению.
параллельной системы. При пересылке инфор-
Реализация неавтономных вычислений в избыточных системах счисления на ПЛИС 151
ПСНС могут быть реализованы на одной или – существенные ограничения на диапазон
нескольких микросхемах. Это определяется как представления чисел;
размерностью задач, так и сложностью вычисли- – накопление погрешности при выполне-
тельных средств, что зависит от реализуемых нии последовательности операций в случае
ими алгоритмов выполнения операций. Важной фиксированной разрядности операндов;
проблемой является сокращение аппаратных – необходимость масштабирования операн-
ресурсов ПЛИС, необходимых для реализации дов для обеспечения необходимого соотноше-
систем [5-7]. ния их величин в определенном месте цепочки
Использование нескольких микросхем со- операций (например, при сложении разряды
здает дополнительные проблемы. Недостатком слагаемых должны иметь одинаковый вес);
такой реализации является то, что микросхемы – необходимость синхронизации поступле-
могут не располагать требуемым количеством ния разрядов операндов на входы ВМ из раз-
выводов для обеспечения связей между частя- ных источников введением в схему элементов
ми системы. При этом часть ресурсов микро- задержки.
схем может оставаться незадействованной. Ниже на примере вычисления полиномов
Учитывая важность проблемы недостатка показана возможность устранения указанных
выводов микросхем, компанией Virtual Machine недостатков за счет обработки данных в неав-
Works предложена технология VirtualWire (вир- тономном режиме с плавающей запятой.
туальные соединения) для построения систем на
нескольких микросхемах [7]. Идея, заложенная в Организация аппаратных средств
основе технологии, заключается в использова- вычислителя полиномов
нии незадействованного оборудования для реа-
лизации специальных цепей, обеспечивающих Для вычисления полиномов воспользуемся
поочередное подключение к выводам микросхе- методом Горнера первого порядка. Например,
мы информации из разных источников внутри полином 5-го порядка можно записать в виде
микросхемы. Для этого внутри каждой ПЛИС F  ((((a5 x  a4 ) x  a3 ) x  a2 ) x  a1 ) x  a0 .
должен быть реализован автомат управления Система представляет собой цепочку ВМ,
потоками данных. каждый из которых выполняет промежуточ-
Данная технология, хотя и может решить ную операцию Z  XY  A (рис. 1).
проблему нехватки выводов микросхем, созда- x x x x
ет большие временные задержки продвижения X
потоков данных, что противоречит самой идее an
Y ВМ
Z
ВМ ВМ
...
ВМ P(x,ai)
потоковой модели вычислений. XY+A XY+A XY+A XY+A
Одним из подходов к решению проблемы A
уменьшения количества связей между ВМ явля- an-1 an-2 an-3 a0
ется использование квазипараллельной арифме- Рис. 1. Система для вычисления полиномов
тики, позволяющей совмещать процессы пораз- P ( x, ai ) по схеме Горнера первого порядка
рядного ввода в ВМ операндов и поразрядного ВМ позволяют совмещать выполнение за-
формирования результатов [8-10]. Поразрядный висимых операций на уровне обработки разря-
обмен данными со старших разрядов позволяет дов слов следующим образом.
не только уменьшить число связей между ВМ, На каждом шаге вычислений в ВМ вводит-
но и обеспечить выполнение зависимых по дан- ся по одному разряду операндов и формирует-
ным операций в режиме совмещения. Формали- ся один разряд результата. При этом разряд
зованные методики перехода от ГПД к структу- промежуточного результата, полученный на i -
ре ПСНС известны, например, [11]. м шаге в одном ВМ при выполнении j -й опе-
Методы неавтономных вычислений лучше
рации, может быть использован на ( i +1)-м
исследованы для чисел с фиксированной запя-
той. Известны алгоритмы выполнения арифме- шаге в другом ВМ при выполнении ( j +1)-й
тических операций с плавающей запятой операции. При таком режиме вычислений вы-
(например, [12]), однако в этой области требу- полнение следующей операции будет начинать-
ются дальнейшие исследования. ся не после завершения выполнения предыду-
Представление чисел с фиксированной за- щей операции, а сразу же после получения пер-
пятой приводит к ряду недостатков: вого разряда результата этой операции. Режим
работы таких ВМ называют неавтономным, так
152 Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №64
как для выполнения последовательности опера-
ВМ
ций необходимо несколько ВМ, которые син-
хронно обмениваются информацией в процессе
работы. МX x
Буф MX БОМ
Рассматриваемый режим выполнения опе- z
раций со старших разрядов возможен в избы- МY y
Буф MY
точных системах счисления, например, в дво-
ичной системе с основанием k  2 и цифрами МA a
Буф MA
g  {1,0,1} .
Хотя на входах и выходах ВМ числа пред-
ставлены последовательным кодом, такие PX
устройства по внутренней организации ближе к Рег PX БОП
параллельным устройствам. В связи с этим они PY PZ
Рег PY
получили название квазипараллельные [3, 4]. С PA
использованием квазипараллельных ВМ при Рег PA
выполнении последовательности зависимых по
данным операций реализуется параллелизм на Рис. 2. Вычислительный модуль
уровне обработки разрядов операндов.
Как известно [7], в ПЛИС можно сконфи- Выдача данных из ВМ сопровождается син-
гурировать группу программируемых логиче- хросигналами, которые формируются в этом ВМ.
ских блоков для работы в качестве ВМ в виде
программных или микропрограммных ядер. С Алгоритмы обработки мантисс и порядков
помощью специальных средств в ядрах можно
сформировать требуемый набор команд и мик- Форматы представления чисел с плаваю-
роархитектуру ядра. Этот факт является очень щей запятой в избыточных системах счисления
важным для построения ВМ со специальными имеют свои особенности, которые описаны в
алгоритмами выполнения операций, в том чис- [12]. Будем считать, что мантиссы являются
ле, с использованием избыточной системы нормализованными дробными числами и пред-
счисления. ставлены в форме:
Обобщенная структура ВМ для выполнения X  i 1 xi 2 i , Y  i 1 yi 2 i , A  i 1 ai 2 i , (1)
n n n

операций с плавающей запятой (рис. 2) содер-


жит блок обработки порядков (БОП), блок об- где xi , yi , ai {1,0,1} – цифры операндов, n –
работки мантисс (БОМ), буферы мантисс типа разрядность операндов.
FIFO (Буф M X , Буф M Y и Буф M A ) и реги- Операнды, содержащие только i разрядов
стры порядков (Рег PX , Рег PY и Рег PA ). справа от запятой, обозначим соответственно
Сигналы инициализации и управления ВМ через X i , Yi , Ai . Например, Ai  a1a2 a3 0...0.
условно не показаны, чтобы не затенять рисунок. Результат Z может формироваться пораз-
Мантиссы представляются в симметричном рядно в системе с такими же цифрами с запаз-
избыточном коде с цифрами {-1,0,1}. Для пе- дыванием на некоторое число шагов.
ресылки цифры мантиссы между ВМ необхо- Потребуем, чтобы погрешность результата
димо иметь два проводника. Цифры -1, 0, 1 была знакопеременной и по абсолютной вели-
кодируются соответственно парами разрядов чине не превышала половины веса n -го разря-
10, 00, 01. С порядками чисел выполняются да после запятой. Это требование будет вы-
элементарные операции, поэтому они могут полняться, если на i-м шаге цифру zi резуль-
быть представлены в канонической двоичной тата выбирать таким образом, чтобы имело
системе счисления. Для уменьшения связей место соотношение
между ВМ порядки могут пересылаться после- Zi  2i 1  2 p ( X iYi  Ai )  Zi  2i 1 ,
довательным кодом по одному проводнику. (2)
Поступление разрядов порядков и мантисс в где p – число шагов запаздывания формирова-
ВМ тактируется внешними синхросигналами. ния цифр результата.
Темп поступления разных операндов может быть Используя методику в [8] и формулы (1),
различным. Наличие информации в буферах и (2), можно получить алгоритм вычисления Z в
регистрах показывают специальные признаки. неавтономном режиме. В рассматриваемом
Реализация неавтономных вычислений в избыточных системах счисления на ПЛИС 153
случае p  3 . Следовательно, для получения 10. s : 1 и выдать из БОП окончательный
n разрядов результата после запятой необхо- порядок результата PZ .
димо выполнить n  3 шагов вычисления. 11. Выдать из БОМ очередную цифру ре-
Алгоритм обработки мантисс имеет следу- зультата z и j : j  1 .
ющий вид. 12. Если j  n , то перейти к п. 3, иначе
1. X 0 , Y0 , R0 присвоить значение 0. конец операции.
2. Для i  1, n  3 выполнять пункты 3-7. В алгоритме цифры операндов представле-
H i  2 Ri 1  2 3 X i 1 yi  2 3 Yi 1 xi  2 3 ai  ны без индексов, поскольку порядковые номера
3. циклов вычисления и цифр в коде операндов не
 2 3i xi yi . совпадают.
4. X i  X i 1  xi 2  i . Порядок результата выдается из ВМ вместе
5. Yi  Yi 1  yi 2  i . с первым ненулевым разрядом мантиссы ре-
зультата. За счет этого обеспечивается норма-
  1, если H i  2 1 ; лизация мантиссы результата.

6. zi  0, если  2 1  H i  2 1 ;
 1, если 2 1  H i . Оценка временных характеристик и
 аппаратурных затрат
7. Ri  H i  zi .
Здесь H i и Ri – вспомогательные пере- Следует заметить, что операции в БОП и
менные. БОМ практически совмещаются во времени. В
Порядки являются целыми числами. Они связи с этим для оценки времени вычислений
поступают в ВМ вместе с первым разрядом достаточно рассмотреть обработку мантисс чи-
соответствующего операнда и обрабатываются сел.
совместно с мантиссами. Процесс выполнения операций иллюстри-
Обработка порядков производится следу- руется диаграммой на рис. 3.
ющим образом. 0 5 10 15 20 T,Tц
1. Принять порядки PX , PY и PA , установить
вспомогательные переменные pTц nTц
q : 0, j : 0, s : 0.
T
2. Получить предварительный порядок ре- 1

зультата PZ , выполнив преобразования: 2


T

PW : PX  PY ; если PW  PA , то q : 1 ; (p+1)Tц
T
P : max( PW , PA )  min( PW , PA ) ; 3

PZ : max( PW , PA )  p. 4
T
K(p+1)Tц
3. Если в Буф M X , Буф M Y и Буф M A есть [n-1+K(p+1)]Tц
очередные цифры мантисс операндов Рис. 3. Временная диаграмма выполнения
x, y, a (см. рис.1), то перейти к п. 4, иначе последовательности зависимых
выполнить повторно п. 3. по данным операцій
4. Если P  0 , то принять в БОМ цифры
мантисс x, y, a и перейти к п. 7. Операции выполняются в неавтономном
режиме с помощью цепочки ВМ, которые поз-
5. Если q  0 , то принять в БОМ цифры x, y
воляют совмещать выполнение зависимых
и 0 вместо a , иначе принять a и нули операций на уровне обработки разрядов опе-
вместо x, y . рандов.
6. P : P 1. Из диаграммы на рис. 3 следует, что время
7. Сформировать цифру результата z . вычислений, необходимое для получения
окончательного результата, составляет
8. Если s  0 , то перейти к п. 11.  
T  n  1    p j  1 tц ,
K
(3)
9. Если z  0 , то PZ : PZ 1 и перейти к п. 3.
 j 1 
154 Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №64
где n – разрядность операндов; K – число опе- лирования в соответствии с отчетами о компиля-
раций в цепочке; p j – задержка формирования ции приведены в табл. 1.
разрядов результата j -й операции; t Ц – дли-
Табл. 1. Используемые ресурсы ПЛИС
тельность цикла формирования одного разряда Блок обработки мантисс
результата в ВМ. Ресурс ПЛИС
В рассматриваемом случае для каждой опера- Параллель- Квазипарал-
ции задержка составляет p  3. Например, для ный лельный
Логические эле- 502/33216 695/33216
вычисления полинома 5-ой степени при 64- менты (1,5%) (2%)
разрядных операндах понадобится выполнить 83 Регистры 0/33216 271/33216
цикла. Длительность одного цикла определяется в (0%) (0,8%)
основном вычислением переменной H i в приве- Блоки 32/70 0/70
умножения (46%) (0%)
денном выше алгоритме обработки мантисс (см. Выводы 256/475 10/475
п. 3). Указанная длительность определяется сум- (54%) (2%)
мированием пяти слагаемых с помощью дерева В табл. 1 через разделитель показан соот-
комбинационных сумматоров и составляет еди- ветственно ресурс для построения вычислите-
ницы наносекунд при реализации на ПЛИС. лей и общий ресурс ПЛИС определенного вида.
Первый разряд окончательного результата Для параллельного блока рассматривались
формируется через K ( p  1) циклов после нача- только аппаратные средства выполнения опера-
ла вычислений. В дальнейшем в каждом такте ции XY  A без учета средств выравнивания
формируется очередная цифра результата. Заме- порядков операндов и нормализации результа-
тим, что в системах автоматического управления та. Умножитель 64 64 реализован на базе
во многих случаях управляющее воздействие встроенных в ПЛИС быстродействующих блоков
может начинать формировать при поступлении умножения.
первого старшего разряда результата, а затем На основании табл. 1 можно сделать вывод,
уточняться при поступлении каждого следующе- что затраты ресурсов ПЛИС больше для устрой-
го разряда. ства параллельного типа. Учитывая, что при дан-
При использовании для выполнения после- ной организации вычислений практически поло-
довательности зависимых по данным операций вина выводов ПЛИС используется только для
параллельных ВМ, работающих в канонической одного каскада вычислителя полиномов, приме-
двоичной системе счисления, время выполнения нение режима параллельного ввода операндов
цепочки операций будет определяться формулой вряд ли целесообразно. Более реальным является
K режим предварительного ввода в определенном
T  To   ti , (4) порядке 64-разрядных операндов с последующей
i 1
их обработкой в параллельном устройстве. Время
где ti – время выполнения i -й операции; T0 – вычисления полиномов будет во многом опреде-
дополнительные затраты времени, например, ляться режимом ввода операндов.
на обмен данными между ВМ (возможно через
общую память), прием операндов в устройство Выводы
по очереди или последовательным кодом для
уменьшения требуемого числа выводов микро- В работе исследована возможность повыше-
схем и т.д. ния эффективности систем с непосредственными
Для количественной сравнительной оценки связями за счет реализации неавтономных вы-
времени вычислений по формулам (3) и (4) тре- числений с плавающей запятой при поразрядной
буется более детальное рассмотрение конкрет- передаче данных между модулями системы.
ной реализации ВМ разного типа. Показано, что по сравнению с вычислениями
Для сравнительной оценки затрат ресурсов в формате фиксированной запятой выполнение
ПЛИС при реализации устройств с параллельной операций с плавающей запятой позволяет расши-
и последовательной передачей данных проведено рить диапазон представления чисел, повысить
моделирование двух вариантов реализации БОМ точность получения результатов и ускорить вы-
на базе микросхемы EP2C35F672C6 семейства числения за счет параллельной обработки ман-
Cyclone II фирмы Altera в среде проектирования тисс и порядков в асинхронном режиме.
Quartus II Version 9.1 Build 304. Результаты моде-
Реализация неавтономных вычислений в избыточных системах счисления на ПЛИС 155
По сравнению с системами, в которых пере- надежности, уменьшение энергопотребления и
дача данных между ВМ производится параллель- габаритов. Обмен данными между ВМ внутри
ным кодом, для реализации систем с последова- микросхемы выполняется быстрее, чем между
тельной передачей данных на базе квазипара- компонентами системы, реализованными на раз-
лельных ВМ требуется меньший ресурс ПЛИС. ных микросхемах. Это дает потенциальную воз-
Экономятся как элементы внутреннего ресурса можность повысить частоту тактирования, что, в
(функциональные и коммуникационные модули, свою очередь, ускоряет обработку информации.
встроенные устройства), так и выводы ПЛИС. Таким образом, полученные результаты под-
Бдагодаря этому увеличивается вероятность раз- тверждают эффективность применения неавто-
мещения системы на одной микросхеме или номных методов поразрядной обработки инфор-
уменьшения их числа. Реализация системы на мации в вычислительных системах на кристалле.
одной микросхеме обеспечивает повышение ее

Список литературы

1. Байков В.Д. Решение траекторных задач в микропроцессорных системах ЧПУ / В.Д.Байков, С.Н.Вашкевич. –
Л.: Машиностроение, 1986, 105 с.
2. Жабин В.И. Архитектура вычислительных систем реального времени / В.И.Жабин. – К.: ВЕК+, 2003. – 176 с.
3. Жабин В.И. Эффективность потоковых вычислений в системах с непосредственными связями, реализованных
на ПЛИС / В.И.Жабин, В.В.Жабина, М.А. Безгинский // Вісник НТУУ "КПІ". Інформатика, управління та об-
числювальна техніка: Зб. наук. праць. – К.: ВЕК+. – 2012. – №55. – С. 149-156.
4. Жабин В.И. Выполнение последовательностей зависимых операций в режиме совмещения / В.И.Жабин. //
Вiсник НТУУ «КПІ». Iнформатика, управлiння та обчислювальна техніка: Зб. Наук. Пр. – К.: Век+. – 2007. –
№46. – С. 226-233.
5. Палагин А.В. Реконфигурируемые вычислительные системы: Основы и приложения / А.В.Палагин,
В.Н.Опанасенко. – К.: Просвіта, 2006, 280 с.
6. Каляев И.А. Архитектура семейства реконфигурируемых вычислительных систем на основе ПЛИС / И.А. Ка-
ляев, И.И. Левин, Е.А. Семерников // Искусственный интеллект. – 2008. – № 3. – С. 663-674.
7. Максфилд К. Проектирование на ПЛИС. Архитектура, средства и методы / К.Максфилд. – М.: Издательский
дом «Додэка-ХХI», 2007, 408 с.
8. Жабин В.И. Некоторые машинные методы вычисления рациональных функций многих аргументов / В.И. Жа-
бин, В.И.Корнейчук, В.П.Тарасенко // Автоматика и телемеханика. – 1977. – №12. – С. 145-154.
9. Жабин В.И. Исследование методов построения вычислительных устройств на основе FPGA фирмы XILINX /
В.И.Жабин, Н.А.Ковалев // Технология и конструирование в электронной аппаратуре. – 2002. – №1. – С. 35-39.
10. Самофалов К.Г. Основы теории многоуровневых конвейерных вычислительных систем / К.Г.Самофалов,
Г.М.Луцкий. – М.: Радио и связь, 1989. – 272 с.
11. Жабин В.И. Построение быстродействующих специализированных вычислителей для реализации многомест-
ных выражений / В.И.Жабин, В.И.Корнейчук, В.П.Тарасенко // Автоматика и вычислительная техника. – 1981.
– №6. – с. 18-22.
12. Жабин В.И. Повышение эффективности параллельных вычислений в потоковых системах / В.И.Жабин,
В.В.Жабина // Вісник НТУУ "КПІ". Інформатика, управління та обчислювальна техніка: Зб. наук. праць.
– К.: ВЕК+. – 2013. - № 59. – С. 122-128.

Вам также может понравиться