Организация параллельно-конвейерной СБИС-структуры с реконфигурируемой микроядерной архитектурой

УДК 681.3.01

И. П. Осинин, В. С. Князьков

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

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

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

Ключевые слова: арифметическое устройство, однородная вычислительная среда, система остаточных классов, параллельно-конвейерная операция.

I. P. Osinin, V. S. Knyaz'kov

FOUNDATION OF PARALLEL-PIPELINE VLSI STRUCTURES WITH RECONFIGURABLE MICROKERNEL ARCHITECTURE

Abstract. Background. At present, the capacity of the new supercomputer is growing steadily. High-productive computing is used to satisfy the growing needs of science, technology, economics, web services, energy, geophysics, and many others. Many innovative solutions aimed at improving productivity, new ways of overcoming existing limitations, particularly regarding energy consumption are fulfilled for such projects. Solution of the problem of computing speed calculation in arithmetic-logic unit (ALU) with reasonable hardware cost is the construction of the ALU, the operating part of which is a general purpose computing space, configurable to perform conveyor-parallel processing of different arithmetic and logic operations. The purpose of this paper is to study and develop ways to perform arithmetic operations with the fixed point on the basis of the modular arithmetic and ways to implement them in a uniform parallel-pipelined VLSI structures with reconfigurable microkernel architecture. Materials and methods. To solve the problems of the given scientific foundation the theory of numbers and modular arithmetic, discrete mathematics, theory and design of computer systems for the development of new homogeneous parallel-pipelined VLSI structures, as well as the theory of mathematical modeling of computing devices and systems for evaluating their effectiveness are used. Results. As a result evaluation of the efficiency of the proposed arithmetic unit revealed that the cost of hardware at the same speed of computation in the residual classes (RSA) after filling m+1 pipeline stages will be n/(m+1) times higher for the operations of addition and subtraction, and n2/(m+1) times higher than for the operation of multiplication and division in contrast to the positional number system (PSA), where n - bit operands, m - bit RSA residual. Conclusions. Performing arithmetic operations in the proposed devices on the base of residual classes seems beneficial in comparison with their positional counterparts. It is shown that the maximum parallelization of arithmetic operations is possible while using a homogeneous computing environment with a parallel-pipelined mode data. In this case, the speed of arithmetic operations such as addition, subtraction, multiplication and division is not entirely dependent on the length of operands and the response time is reduced to a cell of homogeneous computing environment.

Key words: arithmetic unit, homogeneous computing environment, the system of residual classes, parallel-pipelined operation.

Введение

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

Решением задачи повышения скорости вычислений в арифметикологическом устройстве (АЛУ) при приемлемых аппаратных затратах является построение такого АЛУ, операционная часть которых представляет собой универсальное вычислительное пространство, перестраиваемое для выполнения конвейерно-параллельной обработки различных арифметико-логических операций [1].

Представление числа X = (xb x2, ..., xn) в системе остаточных классов (СОК) обеспечивается наименьшим неотрицательным вычетом xi в системе взаимно простых модулей pi, где i е [1; n]. Тогда сложение, вычитание и умножение m чисел Xb X2, ., Xm интерпретируется как сложение, вычитание

1 2  v л т

и умножение вычетов Xj , Xj , ., Xj по модулю p, где i е [1; n].

Это представление позволяет существенно ускорить процесс вычислений арифметических операций за счет независимой обработки по каждому из модулей системы. Эффективность таких вычислений растет с увеличением разрядности исходных чисел. Это связано с тем, что если представление Р = р\'р2\..рп выбрано как произведение большего числа малых модулей системы, то процесс вычисления чисел большей разрядности сводится к вычислениям чисел, разрядность которых соответствует разрядности модулей РГР2-...'Рп .

Кроме того, использование оригинальных способов структурирования потоков позволяет значительно распараллелить процесс вычислений [2]. В частности, для повышения скорости вычислений актуально применение конвейерно-параллельных операций в однородной вычислительной среде (ОВС) над числами, представленными в СОК. Данное решение обеспечивает независимость обработки разрядов чисел. Кроме того, обеспечивается высокая скорость операций контроля вычислений при сокращении аппаратных затрат.

1. Однородная вычислительная среда для параллельно-конвейерных вычислений

Условимся называть вычислительным ядром (ВЯ) устройство, выполняющее арифметические операции в параллельно-конвейерном режиме.

ВЯ состоит из вычислительных модулей, число которых равно п, п - число модулей СОК. Каждый вычислительный модуль ведет вычисления по заранее определенному модулю и содержит две входных таблицы подстановок, выходную таблицу подстановок и ОВС [3].

С целью ускорения выполнения индексных преобразований целесообразно извлекать заранее высчитанную константу из таблицы подстановок (ТП). ТП представляет собой ассоциативную память, которая выполняет од-нотактную табличную выборку. Адрес (индекс), подаваемый на вход таблицы, определяет строку, содержащую константу и извлекаемую из ТП. Подобные вычисления с применением ТП назовем индексными. Организация вычислительного ядра в общем виде представлена на рис. Г.

CCl

«2

Р2

а„

Р,

Входные таблицы подстановок остатков первого а и второго в операндов имеют размерность 2 • 2m и 4 • 2m строк соответственно. Выходные таблицы подстановок результата 5г- имеют размерность 2 • 2m строк. Выполняемые ими преобразования по модулюp приведены в табл. 1 и 2.

ОВС

Рис. 1. Организация вычислительного ядра

Таблица 1

Преобразования входными таблицами подстановок

Вход UI Вход U2 Операция Преобразование ТП первого операнда Преобразование ТП второго операнда

о о Сложение X = А У = В

о 1 Вычитание X = А у = В + 1

1 о Умножение X = \\о£уА\„ у = \iog3B\p

1 1 Деление нацело X = \lofe4\p У = \(1ойзВ)-1\в

Таблица 2

Преобразования выходными таблицами подстановок

Вход UI Вход U2 Операция Преобразование выходной ТП при 1 < р Преобразование выходной ТП при 1 > р

о о Сложение С = 1 С = 1 - р

о 1 Вычитание С = 1 С = 1 - р

1 о Умножение C | | p С = \31-р\р

1 1 Деление нацело C = |3Z|P С = \31-р\р

ОВС для параллельно-конвейерного суммирования пар операндов, в общем виде организация которой представлена на рис. 2, имеет размерность тI + 1 строк и т, + 1 столбцов и состоит из (т, + 1)2 ячеек однородной среды (ЯОС), одноразрядных информационных входов ат - а1, одноразрядных информационных выходов sm+1 - 5Ь где т, - разрядность остаткар,.

о о о

Рис. 2. Организация ОВС суммирования

ЯОС1 реализует следующую систему логических функций в базисе И-НЕ на триггерах Эрла:

Q1 = c  a  b  r  Q1  c  Q1  a  b  r

Q+ = c  a  b  r  c  a  b  r  Q2  c  Q2  a  b  r  Q2  a  b  r

где Q\ и Q1 - состояние сигнала на одноразрядном выходе Q1 в следующий и

текущий момент времени соответственно; Q2 и Q2 - состояние сигнала на одноразрядном выходе Q2 в следующий и текущий момент времени соответственно; с - вход синхронизации; г - вход сброса; а и Ь - одноразрядные информационные входы.

На входы операндов ОВС а, и Ь, подаются соответствующие разряды преобразованных остатков операндов, по фронту первого синхросигнала данные фиксируются в буферных триггерах. В течение такта происходит формирование промежуточного результата и разрядов переноса в старший разряд Q2. По следующему фронту синхросигнала сформированные данные фиксируются в следующем слое базовых элементов (БЭ). Через т + 1 тактов работы искомый результат будет доступен на выходах sm+1 - 51.

Таким образом, время одного такта синхронизации вычислительного ядра ^овс сводится к времени срабатывания БЭ. В случае конвейерного режима работы результат операции будет выдаваться каждый такт работы устройства, независимо от типа арифметической операции.

Пример. Примем делимое X = 16, делитель У = -2. Представление чисел в СОК в десятичной системе: Х(1;2), У(3;5). Пример реализации операции деления нацело в графическом виде по модулю р\ = 5 и по модулю р2 = 7 представлен на рис. 3 и 4 соответственно.

Вначале на входные таблицы подстановок подаются исходные остатки операндов в двоичном представлении: а! = 001, а2 = 010, Р1 = 011, р2 = 101. ТП делимого выполняет преобразование из мультипликативной группы к аддитивной группе А = |1о§31|5 = 0.

ТП делителя производит замену остатка У на обратную величину, взятую по модулю р1 = 5 с переходом из мультипликативной группы к аддитивной

B=

log3

5 +1

Полученные остатки А и В суммируются в ОВС. Затем с помощью выходной ТП осуществляется переход из аддитивной группы в мультипликативную с одновременной коррекцией результата Z = |33|5 = 2.

Аналогично производится операция деления по модулю р2 = 7. В данном случае делимое X = 010 заменяется заранее вычисленным числом А: А = |1о832|7 = 2.

Делитель У заменяется числом

B=

log3

14 +1

Полученные остатки А и В суммируются в ОВС. Затем с помощью выходной ТП осуществляется переход из аддитивной группы в мультипликативную группу: Z = |33|7 = 6.

Xi Входная ai

X2 ТП a2

X3 остатка X a3

ay

by

a2

bi

clk_ _0

clk

a3-0-

M

a4-0

bCTF

D

Свх

Clk

D

Свх

Clk

БЭ

L,L

Свых

БЭ S

Свых

L,2

D

Свх

Clk

БЭ

L,3

D

Свх

Clk

БЭ

L,4

Cbbix

ay

a2

a3

_0

clk

clk

clk

clk

D

Cвх

Clk

БЭ

2,L

S

Cbbk

D БЭ S

Cbx _ _ Cbbix Clk

2,2

D

Cbx

Clk

БЭ

2,3

S

Cbbix

D

Cbx

Clk

БЭ

2,4

S

Cbhx

Vi Входная bi

У 2 ТП b2

V3 остатка Y b3

L by

Ж b2

_0_

clk

clk

clk

clk

D БЭ S

Cbx _ „ Cbbix

Clk

3,L

D БЭ S

Cbx _ _ Cbbix

Clk

3,2

D БЭ S

Cbx Cbbix

Clk 3,3

D БЭ S

Cbx _ . Cbbix

Clk

3,4

• Si

S2

S3

.S4

51

52

53

54

Si Выходная Zi

S2 ТП Z2

s3 S4 результата Z3

Zi

Z2

Z3

Рис. 3. Пример реализации операции деления по модулю pL = 5

Xi Входная ai

X2 ТП a2

X3 остатка X a3

aL

a2

a3

Vi Входная bi

У 2 ТП b2

У3 остатка Y b3

by

b2

b3

aL

by

b4 ck

51

52

53

54

Si Выходная Zi

S2 ТП Z2

s3 S4 результата Z3

Zi

Z2

Z3

Рис. 4. Пример реализации операции деления по модулю р2 = 7

S

i

0

0

S

0

S

Таким образом, остаточное представление частного операндов 2(2;6) соответствует действительности

2=X=<=2)=(2,5 ;|2  37 )=(2;6)=-8-

Временная сложность Qn1 вычислительного ядра, выполняющего операции сложения и вычитания в позиционной системе счисления (ПСС), определяется произведением времени такта работы ОВС Товс на количество разрядов операндов п. Причем в конвейерном режиме возможно совмещение во времени обработки т + 1 пары операндов, где т - разрядность модулей СОК, т.е.

Qni -

То

ОВС

• n

m +1

Так как операции умножения и деления в ПСС сводятся к суммированию в дополнительном коде, для выполнения каждой из них потребуется п итераций, в этом случае временная сложность Qп2 этих операций составит

Qn2 -

ОВС

• n

m +1

Временная сложность Qс вычислительного ядра, выполняющего операции в СОК, одинакова для всех арифметических операций, и в конвейерном режиме на каждую операцию необходим один такт синхронизации ТОВС, т.е.

^ = ТОВС.

При этом время заполнения конвейера Т = (вх.тп + (т + 1)*(я + (вых.тп, где ^вх.хп - время задержки входной таблицы подстановок; (вых.тп - время задержки выходной таблицы подстановок; (я - время задержки ячейки ОВС; т - разрядность остатка.

На рис. 5 представлен график зависимости временной сложности работы ОВС от разрядности операндов, где разрядность модулей т = 8.

CQ

О

н

о

д

н

о

Щ

ПСС

ПСС

(умножение.

деление)

СОК

Разрядность операндов, бит Рис. 5. График зависимости временной сложности от разрядности операндов

Так как вычислительное поле ОВС универсально для выполнения операций (как в СОК, так и в ПСС), то аппаратная сложность ЛОВС определяется произведением размерности ОВС (п строк и т+1 столбцов, где п - разрядность операнда, т - разрядность модуля р), т.е. произведением количества ЯОС1 на количество логических элементов в каждом из них (14 элементов И-НЕ), т.е.

Я<ЭВС = 14 • п • (т +1).

На рис. 6 представлен график зависимости аппаратной сложности работы ОВС от разрядности операндов в предлагаемом процессоре.

Разрядность операндов, бит Рис. 6. График зависимости аппаратной сложности от разрядности операндов

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

Для операций умножения и деления эта зависимость является квадратичной. При выполнении операций в СОК временная сложность не зависит ни от типа операции, ни от разрядности операндов. Так, например, скорость суммирования двух 64-разрядных чисел в предлагаемом процессоре в 7,11 раза выше при выполнении операции в СОК по сравнению с ПСС. Аналогично, скорость умножения двух 64-разрядных чисел в 455,11 раза выше при выполнении операции в СОК. Аппаратная сложность ОВС при этом примерно одинакова для ПСС и СОК и прямо пропорциональна разрядности операндов.

Заключение

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

конвейерном режиме обработки данных с помощью однородной вычислительной среды.

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

В результате оценки эффективности предлагаемого арифметического устройства установлено, что при одинаковых аппаратурных затратах скорость вычислений в СОК после заполнения m + 1 ступеней конвейера будет в n/(m + 1) раз выше для операций сложения и вычитания и в n2/(m + 1) раз выше для операций умножения и деления по сравнению с ПСС, где n - разрядность операндов, m - разрядность оснований СОК.

Патент на изобретение [4] и свидетельство о регистрации программы для ЭВМ [5] подтверждают новизну и патентную чистоту предлагаемых решений.

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

1. Акушский, И. Я. Машинная арифметика в остаточных классах / И. Я. Акуш-ский. - М. : Советское радио, 1968. - 440 с.

2. Алексин, Ю. П. Мультиконвейерные вычислительные структуры на однородных средах / Ю. П. Алексин. - Львов : ФМИ АН УССР, 1986. - 74 с.

3. Осинин, И. П. Однородная модулярно-систолическая структура для массовых арифметических вычислений / И. П. Осинин, В. С. Князьков // Суперкомпьютер-ные системы и их применение (SSA-2012) : сб. материалов IV Междунар. науч. конф. - Минск : ОИПИ НАН Беларуси, 2012. - С. 122-126.

4. Патент РФ № 2477513. Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю / Осинин И. П., Князьков В. С. - 10.03.2013.

5. Модулярно-систолический процессор с реконфигурируемой микроархитектурой : Свидетельство об официальной регистрации программы для ЭВМ № 2012610583 Осинин И. П., Князьков В. С. - 10.01.2012.

References

1. Akushskiy I. Ya. Mashinnaya arifmetika v ostatochnykh klassakh [Machine arithmetics in residue classes]. Moscow: Sovetskoe radio, 1968, 440 p.

2. Aleksin Yu. P. Mul’tikonveyernye vychislitel’nye struktury na odnorodnykh sredakh [Multiconveyor computational structure in uniform media]. Lvov: FMI AN USSR, 1986, 74 p.

3. Osinin I. P., Knyaz'kov V. S. Superkomp’yuternye sistemy i ikh primenenie (SSA-2012): sb. materialov IV Mezhdunar. nauch. konf [Super computer systems and application thereof (SCA-2012): proceedings of IV International scientific conference]. Minsk: OIPI NAN Belarusi, 2012, pp. 122-126.

4. Patent RF № 2477513. Yacheyka odnorodnoy vychislitel’noy sredy, odnorodnaya vychislitel’naya sreda i ustroystvo dlya konveyernykh arifmeticheskikh vychisleniy po zadannomu modulyu [Cell of uniform computational medium, uniform computational medium and device for specific modulus conveyor arithmetic computations]. Osinin I. P., Knyaz'kov V. S. 10.03.2013.

5. Osinin I. P., Knyaz'kov V. S. Modulyarno-sistolicheskiyprotsessor s rekonfiguriruemoy mikroarkhitekturoy: svidetel’stvo ob ofitsial’noy registratsii programmy dlya EVM № 2012610583 [Modular-systolic processor with configurable microarchitecture: certificate of official software registration № 2012610583]. 10.01.2012.

Осинин Илья Петрович

аспирант, Вятский государственный университет

E-mail: stalker-lord@mail.ru

Князьков Владимир Сергеевич доктор технических наук, профессор, кафедра электронных вычислительных машин, Вятский государственный университет

E-mail: kniazkov@list.ru

Osinin Il'ya Petrovich Postgraduate student, Vyatka State University

Knyaz'kov Vladimir Sergeevich Doctor of engineering sciences, professor, sub-department of electronic computing machines, Vyatka State University (36 Moskovskaya street,

Kirov, Russia)

УДК 681.3.01 Осинин, И. П.

Организация параллельно-конвейерной СБИС-структуры с реконфигурируемой микроядерной архитектурой / И. П. Осинин, В. С. Князьков // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2013. - № 3 (27). - С. 75-84.