Научная статья на тему 'Функциональные блоки алу для конвейерно-параллельной обработки информации на базе однородных вычислительных структур'

Функциональные блоки алу для конвейерно-параллельной обработки информации на базе однородных вычислительных структур Текст научной статьи по специальности «Математика»

CC BY
276
100
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АРИФМЕТИКО-ЛОГИЧЕСКИЕ УСТРОЙСТВА

Аннотация научной статьи по математике, автор научной работы — Федюнин Роман Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Функциональные блоки алу для конвейерно-параллельной обработки информации на базе однородных вычислительных структур»

УДК 004.272.42

Р. Н. Федюнин

ФУНКЦИОНАЛЬНЫЕ БЛОКИ АЛУ ДЛЯ КОНВЕЙЕРНОПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ ИНФОРМАЦИИ НА БАЗЕ ОДНОРОДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СТРУКТУР

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

Введение

Создание фирмой 1П;е1 первого микропроцессора в 1971 г. положило начало эпохе всеобщей компьютеризации. «Благодаря микропроцессорам компьютеры стали массовым, общедоступным продуктом», - заявил Тед Хофф, один из изобретателей первого микропроцессора [1]. В микропроцессорах - наиболее сложных микроэлектронных устройствах, воплощены самые передовые достижения научной и инженерной мысли.

Чуть более чем за четвертьвековую историю микропроцессоры прошли поистине гигантский путь. Первый чип 1П;е1 4004 работал на частоте 750 кГц, содержал 2300 транзисторов и стоил около 200 долларов. Производительность его оценивалась в 60 тыс. операций в секунду. На сегодня тактовая частота процессоров превысила 2 ГГц, количество транзисторов более 50 млн, пиковая производительность более 7 млрд операций в секунду. Но и это еще не предел. К 2009 г. прогнозируется достигнуть технологии, при ко-

щ9 1П10

торой количество транзисторов на кристалле составит порядка 10 -10 , что практически вплотную подходит к технологическому пределу современной элементной базы.

Отсюда вытекает поиск ведущими мировыми фирмами производителями (1Пе1, ЛМБ, НР, 1ВМ) путей увеличения производительности за счет разработки, как новых технологий изготовления кристалла, так и за счет повышения качества и количества устройств в микропроцессоре. А именно увеличение количества конвейеров, размеров КЭШ, количества исполняемых устройств в АЛУ (сумматоров, умножителей и т.д.) - это количественные показатели. Качественные показатели производительности предполагают разработку новых алгоритмов реализации функциональных блоков процессора и в первую очередь арифметико-логического блока, что в свою очередь предполагает возврат к фундаменту микропроцессорной техники -машинной арифметике. Данная тенденция широко прослеживается в потоке диссертационных работ и публикаций ведущих ученых запада М. Флинна, С. Обермана и др.

Анализ данных работ показывает, что, несмотря на глубину проработки вопроса организации арифметико-логических блоков, остается еще много неизученных проблем. В частности способность организации арифметикологических устройств (АЛУ) на динамических функциональных блоках [4], а не статических, как это сделано практически во всех современных микропроцессорах, и возможность использования эффективной системы счисления для ускорения выполнения операций в функциональных блоках (ФБ) АЛУ.

В развитии конвейерно-параллельных ФБ АЛУ сложились два направления: гетерогенные ФБ АЛУ и однородные ФБ АЛУ (часто в советской и российской литературе называемые однородными вычислительными структурами).

1. Гетерогенные функциональные блоки АЛУ

Яркими фигурами данного направления являются американские ученые Дадде и Валласе [5, 6], которые почти одновременно изобрели алгоритмы и реализацию (конвейерные структуры), позволяющие выполнять основные арифметические операции.

1.1 Структура Дадде

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

Таблица 1

Стадии обработки частичных произведений в структуре Дадде

Разрядность множителя (N) Число стадий получения результата (5)

2 0

3 1

4 2

5-6 3

7-9 4

10-13 5

14-19 6

20-28 7

29-42 8

43-63 9

64-94 10

Общий алгоритм вычислений в структуре Дадде сводится к следующей последовательности:

1. Первоначальное условие й1 = 2 и й+1 = [1,5 ■ й/], где й - высота матрицы на ]-й стадии с конца. Из условия й/+1 = [1,5 ■ й/] находим число стадий 7, требуемое для обработки матрицы частичных произведений.

2. В 7-й стадии с конца применяем (3,2)-сумматоры и (2,2)-сумматоры для получения сокращенной матрицы, высота колонок которой не превышает й

3. Повторяем пункт два до получения матрицы, состоящей из двух строк. Таким образом рассчитывают аппаратные затраты на реализацию данного алгоритма.

Хабби и Винтц (ЫаЪЫ и "^Пг) показали, что стратегия вычислений Дадде для сжатия колонок вычислительной матрицы оптимальна при использовании минимального количества (3,2)-сумматоров.

2

При обработке матрицы размером N в структуре Дадде размер конечной матрицы равен 4 • N-3, каждый (3,2)-сумматор имеет три входа и два выхода, отсюда следует что, каждый (3,2)-сумматор сокращает матрицу частичных произведений на один бит, из чего следует что, общее количество (3,2)-

сумматоров в структуре Дадде равно N - 4N + 3 , разрядность сумматора для получения конечного результата 2N - 2 [5]. Количество (2,2)-суммато-ров в структуре Дадде определяется следующими рассуждениями:

1. В первой стадии (2,2)-сумматоры применяются в колонках с ёг по N, где ёг - количество бит, определенное последовательностью действий алгоритма Дадде для конкретной стадии вычислений.

2. В г-й стадии вычислений (2,2)-сумматоры используются в колонках

с й[ по й[+1 - 1.

Изложенные алгоритмы показывают, что (2,2)-сумматоры используются со второй по N колонки на каждой стадии, поэтому общее количество (2,2)-сумматоров равно N - 1. Иллюстрация вычисления 12-битных операндов по алгоритму Дадде приведена на рисунке 1 (пример умножения). Вычисление матрицы (рис. 1) 6 X 6 потребует пять стадий вычислений, с высотой матрицы соответственно 9, 6, 5, 3 и 2. Аппаратная реализация данного алгоритма предусматривает использование 99 (3,2)-сумматоров, 11 (2,2)-сумматоров и 22 разрядного сумматора с распространением переноса.

Рис. 1 Реализация алгоритма умножения 6x6 методом Дадде

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

чтобы осуществить выполнение требуемых арифметических операций, а это дополнительные аппаратные затраты.

Сделанные выводы требуют нахождения более регулярных вычислительных структур, которые бы исключили недостатки устройств, рассмотренных выше.

И практически параллельно с гетерогенными ФБ АЛУ в 1970-е гг. как на Западе, так и в России [7, 8] появляется другое направление - однородные вычислительные структуры.

>

X

^ СО

> > со ^

X X

^СОСМ ^СОСЧт-^СОсЧл-О

СЧСО^ л-СМСО^Ол-СМСО^

XXX ххххххххх

СОСЧл-О

>>>>

Ол-СМСО

хххх

>>>

Ол—СМ

XXX

> > О л-

X X

>

о

X

Р0

Рис. 2 Пример структуры для вычисления произведения

2. Однородные функциональные блоки АЛУ

Рассмотрим выполнение операции умножения чисел без знака в однородных ФБ АЛУ на примере реконфигурируемой структуры, разработанной и запатентованной автором совместно с В. С. Князьковым.

В данном случае ячейкой функционального блока АЛУ является коммутационно-логическая ячейка (КЛЯ), которая реализует следующую систему логических функций:

#1 (г +1) = т • г1 • г2 • г3 • г4 V (г1 V г2)х х#! (г)v г1 • г2 • г3 • г4•( • 5 V #1 (г)• 5);

#2 (г +1) = Р • ¿1 • г 2 • г3 • г 4 v( г1 V г 2 )х (1)

х#2 (г )v г1 • г 2 • г3 • г 4 •( • 5 V #2 (г )• 5);

#3 (г +1) = у • г1 • г2 • г3 • г4 V (г1 V г2)х

Известия высших учебных заведений. Поволжский регион Xq3 ()у г1 • г2• г3• г4•( • 5 V q3 (t)• 5);

ш = т • г1 • г2 • г3• г4 V 5 • т• г1 • г2 • г3• г4 V (г4 V г4)• г1 • г2 • г3X

х («1 ()• qз ()•г•шV q2 (t)• qз (МХV т)V q2 (t)• qз (t)•т)•) ()V Х• q2 (t)

р = р • г1 • г2 • г3 • г4 V 5 • т • г1 • г2 • г3 • г4 V (г4 V г4)• г1 • г2 • г3х

х ( • у V р • у )• «1 ( )V р • «1 ( )V 5 • «1 () ; (1)

у' = у • г1 • г2 • г3• г4 V 5 • т• г1 • г2 • г3• г4 V (г4 V г4)• г1 • г2 • г3 • у; х =(г4V г4)• г1 • г2• г3 «1 (t)• «2()•( (t)• гV «3 (t)• тIV т• | (t)

5 = 5 • г1 • г2 • г3• г4 V (г4 V г4)• г1 • г2 • г3• (5 • у V А• у)• «1 (IV 5 • р • «1 ()

А = Х5р V х5р V х5р;

В = Х5р V Х5р V Х5р V Х5р,

где А и В соответственно являются значениями сигналов, формируемых на выходе суммы и выходе переноса однобитного сумматора; т, Х, 5, р, у -сигналы, соответственно подаваемые на информационные входы 1-5 ячейки; 5', у , Х , р , т - сигналы, формируемые соответственно на

информационных выходах 10-14 ячейки; «1^ + 1), «2^ + 1), «30 + 1) - соответственно состояние выходов триггеров 20-22 ячейки в момент времени t + 1; «1^), «2(0, «3(0 - соответственно состояние выходов триггеров 20-22 ячейки в момент времени V; 21, Z2, Z3 - сигналы для настройки ОИБ-структуры, поступающей на управляющие входы г1, г2, г3 каждой КЛЯ ОИБ-структуры, на режим массовой или индивидуальной загрузки кода команды; 24 - сигнал настройки КЛЯ ОИБ-структуры на выполнение операций в синхронном или асинхронном режиме, он является общим сигналом для всех ячеек структуры.

2.1 Умножение в однородной вычислительной структуре

Задача, которую решает устройство в данном режиме вычислений, заключается в формировании на группе выходов 5{, S2, • ••, $'п ОИБ структуры двоичного числа, равного произведению двух положительных двоичных чисел, поступающих в однородную структуру соответственно по входам

групп Хь Х2, ..., Хп и У1, У2, ..., Уп-

Для выполнения данной операции достаточно множимое подать на группу входов Х1, Х2, ..., Хп, причем младший значащий разряд числа должен

быть подан на вход Х1, т.е. на вход 2 ячейки первого столбца первой строки. Множитель подается на группу входов У1, У2, ..., Уп однородной структуры, причем младший значащий разряд числа У1 должен быть подан на вход 5 ячейки первого столбца первой строки. При этом в ячейках каждого столбца ОИБ структуры в соответствии с системой (2) при наличии на входах 5 сигнала У = 1 вычисляются следующие функции:

Т1 = Т*, Т2 = Т2*, Т3 = Т3*, т* = х, р* = В, х* = т, у* = у, 5* = А. (2)

В результате на выходах 10 (5') ячеек столбцов, на выходах 2 которых имеется сигнал у = 1, формируется сумма двух чисел по модулю 2, поступающих поразрядно на входы 1 (5) и 2 (х) этих ячеек. Одновременно с этим на выходах 11 (х ) ячеек этих же столбцов формируется копия двоичного числа, поступающего по входам 2 (х). В случае наличия на входах 5 ячеек структуры сигнала у = 0 в этих ячейках вычисляются следующие функции:

Т1 = Т*, Т2 = Т2, Т3 = Т3*, т* = х, Р* = Р, х* = т, у* = у, 5* = 5 . (3)

В результате на выходах 10 ( 5 ) ячеек столбцов, в ячейки которых поступает сигнал у = 0, формируется копия числа, поступающего по входам S ОИБ структуры, а на выходах х - сдвинутая на один разряд вниз по вертикали копия числа, поступающего в ячейки по входам Х. В результате выполнения таких преобразований на выходах 5 ячеек последнего столбца однородной структуры формируется двоичное число, равное произведению множимого и множителя.

Пример выполнения операции умножения двух положительных чисел в двоичной системе приведен на рисунке 2, где множимое равно 01012, множитель равен 1102, на входах 5, х, т, р и выходах 5', х , т , р' ячеек однородной структуры приведены значения логических сигналов «0» или «1», в триггерах 20-22 каждой КЛЯ зафиксирован код команды «арифметическая операция», равный 000. Для рассматриваемого на рисунке 2 случая на выходах 5' ячеек первого столбца формируется первое частное произведение - число

00002, а на выходах х - число 10102. На выходах 5 ячеек второго столбца формируется второе частное произведение, равное сумме чисел 00002 и 10102, а на выходах х - число 101002. На выходах 5 третьего столбца формируется третье частное произведение, равное 1111102 - сумма чисел 10102 и 101002. Далее с выходов 5 третьего столбца полученное третье частное произведение передается без изменения через остальные ячейки на выходы 5 ячеек последнего столбца однородной структуры. Это частное произведение и является искомым произведением для рассматриваемого примера. При этом младший разряд числа-произведения формируется на выходе 5 ячейки первой строки последнего столбца, следующий разряд - на выходе ячейки второй строки последнего столбца и т.д.

t1 pi y1 t2 p2 y2 t3 p3 y3 t4 p4 y4 t5 p5 y5

t1/p1/y1/ t2/ p2/y2/ t3/p3/y3/ t4/ p4/y4/ t5/ p5/y5/

Рис. 2 Пример реализации операции сложения в ОВС

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2.2 Экспериментальные результаты

Эксперимент проводился на базе ПЛИС фирмы XILINX SPARTAN 3, ОВС описана на языке VHDL в среде ALDEC ACTIVE-HDL.

Указанная технологическая база выбрана по следующим причинам:

1. Большое распространение для проектирования широкого спектра устройств.

2. Универсальность САПР фирмы Aldec Active HDL (поддержка всех распространенных типов ввода схемы).

3. Доступная стоимость микросхемы ПЛИС SPARTAN 3 и свободное распространение САПР фирмы Aldec Active HDL.

4. Поддержка САПР фирмы Aldec Active HDL модулей проектирования, диагностики, функциональной и временной симуляции всех фирм производителей САПР ПЛИС.

5. Емкость микросхем ПЛИС SPARTAN 3 позволяет с максимальной плотностью размещения схем реализовать макетируемые исследуемые и вновь разработанные устройства АЛУ.

Таблица 2 и рисунки 4-7 наглядно доказывают преимущества ОВС.

Таблица 2

Затраты на реализацию умножителя Дадде и умножителя ОВС

Разрядность данных Умножитель в ОВС Умножитель в иррегулярной системе

Временная задержка результата относительно данных, нс Аппаратные затраты, количество логических ячеек ПЛИС (LC) Временная задержка результата относительно данных, нс Аппаратные затраты, количество логических ячеек ПЛИС (LC)

8 22,5 213 37,5 273

16 42,5 278 52,5 1092

32 62,5 1005 97,5 4368

64 82,5 2000 195 17472

128 102,5 3735 390 69888

Name Value Stimu... 1 . 10 • i ■ 20 ■ i ■ 30 • i ■ 40 ■ i ■ 50 • 11 • 60 • i ■ 70 ■ i • 80 • i . 90 . i • 100 i . 110 . i . 120 i • 130 i • W0 i 0 ds — : -, :—! : : : : : : :

Ш J*r BUS7079 “ ■ В К7‘" і » ÜJ4z£z; Xм Xoi I [hh WW [оз Хм X05 X12 X°E Xю X12 X1* Уіб Xй Х|Д X1C Х2р X30 X33 X36 X39 Xsc X69 X58 X5C X6|_ [q3~^XQ^X05~XÎ2 XQË^XiÔ УІ2 УІ4 УІ6 УІ8 УІА~~ХіС~Х2Р^Хз0~^ХзЗ~^36~Хз9~Х8С~Хб9~Х58~^Х5С^Хб<

і 1 і 1 1 І Ш І ES І Ш І ЕЕ І Ш 9|т|9|т|9|9|*|5|5|*|5 <=1 СІІH 1 <=0 = 11 <=0 = 11 [02~)(5з~){04~){05~)(Ё X5Ë~)(iÔ )(І2 )(н )(Іб )(І8 )(ІА~)(ІС~)(2Р~)(ЗІГ~)(33~){36~){39~){8С~){69~)(58~)(Я [02~~)(03~~){04~~){05~~)(Ё )(ÔË~)(iÔ ){І2 ){н )(Іб )(ІІ

ВЗЭ№ЖЖ

1 0 0 0 0 0 JLTLTU^^TL 1

®-z21 0 *- р m-s ШИ И* и ш ■0 "■ p_out 0 -® s_out 0_в t_out 0 -в x_out 0 y_out 0 00 00 00 00 01 00 <=0 = 11 <=0 = 0 Binary... Binary...

[00

00

00

iï. Хоз х°А Хов Хос Xю Х0Е X0F X10 X11 X12 X13 Xü X15 X16 X17 X18 X19 Х1А Х1В Х|С Xе j

Хоз Хо* Хо

[00

? со [ої XQ^~XÔ3~XÔ^~XQ5~XQ6~XoË~X^ Х<2 ХІ^ ХІ^ )(ІА~ХІС~Х^Р~)^0~)^~)^6~)^9~)^С~ХзР^Х5Ї [so Xм X20 XF0 X50 X90 Xю XD0 X70 Хво X38 Xю X48 X88 X08 Xе8 X68 XAS X28 XF8 X58 X9*

00

01 V ;<* /У* :і

1 l.’tis »1Г si tJUfS

і \:->tz

£

Рис. 4 Массовая обработка данных умножителем Дадде

Рис. 5 Массовая обработка данных умножителем ОВС

Рис. 6 Топология умножителя 8 на 8 Дадде (Spartan 3)

Рис. 7 Топология умножителя 8 на 8 в ОВС (Spartan 3)

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

1. Корнеев, В. В. Современные микропроцессоры / В. В. Корнеев, А. В. Киселев. -СПб. : БХВ-Петербург, 2003. - 440 с.

2. Oberman, S The design and implementation of a high-performance floating-point divider / S Oberman // Technical Report № CSL-TR-91-497, Computer Systems Laboratory, Stanford University. - 1991. - November. - 137 p.

3. Flinn, M. Analizing Computer Arthitectures / M. Flinn, J. Huck. - Washington, IEEE Computer Society Press, 1989. - 327 p.

4. Князьков, В. С. Архитектура параллельных вычислительных структур / В. С. Князьков, Р. А. Бикташев. - Пенза : Полиграфист, 1993. - 166 с.

5. Dadda, L. Some Schemes for Parallel Multipliers / L. Dadda // Alta Frequenza. -

1965. - May. - Р. 349-356.

6. Wallace, C. A Suggestion for a Fast Multipliers / C. Wallace // IEEE Transactions on Electronic Computers, EC-13(14-17). - 1964. - February

7. Евреинов, Э. В. Однородные вычислительные системы, структуры и среды /

Э. В. Евреинов. - М. : Радио и Связь, 1981. - 208 с.

8. Евреинов, Э. В. Однородные универсальные вычислительные системы высокой производительности / Э. В. Евреинов, Ю. Г. Косарев. - Новосибирск : Наука,

1966. - 308 с.

9. Федюнин, Р. Н. Регулярная итеративно-битовая структура с перестраиваемой логикой для массовых арифметико-логических вычислений / Р. Н. Федюнин, В. С. Князьков / Актуальные проблемы науки и образования : международный юбилейный симпозиум. - Пенза : ПензГу, 2004.

i Надоели баннеры? Вы всегда можете отключить рекламу.