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

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

УДК 681.3.01

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

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

Аннотация.

Актуальность и цели. Объектом исследования является способ организации преобразователя кодов из позиционной системы счисления в систему счисления остаточных классов на базе однородной вычислительной среды. Предметом исследования является способ организации параллельно-конвейерного СБИС-процессора для прямого модулярного преобразования чисел. Целью работы является разработка и исследование параллельно-конвейерного СБИС-процессора для прямого модулярного преобразования чисел на основе арифметики разрядных срезов.

Материалы и методы. Исследования выполнены с использованием теории чисел, теории проектирования ЭВМ и систем, методов и средств экспериментального моделирования СБИС-структур и систем.

Результаты. Предложена организация конвейерного преобразователя кодов чисел, представленных в системе остаточных классов в позиционную систему счисления. В отличие от известных аналогов, вычислительная среда после заполнения ]log2n[ + n ступеней конвейера за время T = (]log2n[ + n) • t обеспечивает выдачу результата преобразования за n • t, где t - время срабатывания вычислительной ячейки; n - разрядность основания системы остаточных классов.

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

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

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

ORGANIZATION OF A PARALLEL-PIPELINE VLSI-PROCESSOR FOR FORWARD MODULAR CONVERSION OF NUMBERS BASED ON BIT SLICE ARITHMETIC

Abstract.

Background. The research object is a method of organization of a code converter from the positional notation into the residue number system on the basis of a homo-

Engineering sciences. Computer science, computer engineering and control

5

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

geneous comuting environment. The research subject is a method of organization of a parallel-pipeline VLSI-processor for forward modular conversion of numbers. The aim of the work is to develop and research the parallel-pipeline VLSI-processor for forward modular conversion of numbers based on bit slice arithmetic.

Materials and methods. The research was carried out using the number theory, the theory of design of computers and systems, methods and means of experimental design of VLSI-structures and systems.

Results. The authors suggested an organization of a pipeline converter of number codes, represented in the system of residual classes into the positional notation. As opposed to the known analogs, the computing environment after filling ]log2n[ + n of pipeline stages for a time T = (]log2n[ + n) • t provides conversion results return in n • t, where t is a time of a computing cell response; n is a radix capacity of the system of residual classes.

Conclusions. As a result of effectiveness assessment of the suggested code con-vereter on the basis of the modified method of number length reduction it is established that application of homogeneous computing environments for code conversion from the positional notation into the system of residual classes increases the computing speed.

Key words: homogeneous computing environment, system of residual classes, code converters, parallel-pipelined operation.

Введение

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

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

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

6

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

1. Классический способ прямого модульного преобразования

Одним из методов преобразования позиционного кода в СОК является метод понижения разрядности исходного числа [3]. Для этого используется выражение

A=2 a  2і - B =

і=0

2 ai  ki

i=0

где A - позиционное представление числа в двоичной системе счисления; В -число, тождественное числу А по основанию p; m - разрядность позиционно-

го числа; ai - і-й разряд позиционного числа, аі є {0;1}; ki =

2і

- константа,

соответствующая i-му разряду позиционного числа для преобразования по основаниюр, где i є [0; m].

Исходное позиционное число преобразуется в тождественное ему по основанию р число B1, но уже меньшей разрядности. В том случае, если В1 выходит за пределы основания, необходимо итерационно повторять данное преобразование, пока Bj > р, i є [1; h], h - количество итераций преобразования. Недостаток устройства (далее ИПС), реализующего данный метод, состоит в большой временной сложности 2ипс, которая определяется количеством итераций преобразования h и скоростью межразрядных переносов:

6илс = m п h,

где m - разрядность позиционного числа; п - разрядность константы ki, i є [1; m].

Аппаратная сложность ^ИПС определяется суммой аппаратной сложности постоянного запоминающего устройства (ПЗУ) констант k (п • m ячеек памяти, каждая состоит из четырех элементов И-НЕ), n-разрядного двухопе-рандного сумматора (15 • п элементов И-НЕ), регистра для накопления результата суммирования (4 • п элементов И-НЕ) и двухплечевого п-разрядного мультиплексора, реализующего в связке с сумматором компаратор, т.е.

^ИПС = 4  п  m +15  п + 4  п + 8  п = 4  п  m + 27  п.

2. Организация устройства коррекции числа по заданному модулю

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

Традиционно коррекция результата применяется в ходе вычислений в СОК, когда результат вычисления X выходит за пределы диапазона модуля р. Например, для операции сложения результат может превысить модуль лишь в 2 раза, а для операции умножения превышение достигает в худшем случае (р - 2) раз.

Engineering sciences. Computer science, computer engineering and control

7

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

В рассмотренном далее устройстве коррекции (УК) итерационное вычитание модуля заменено параллельным вычитанием констант, кратных ему

[4]. Это позволяет произвести коррекцию числа X за время одной операции вычитания, избавившись от последовательных итераций. На рис. 1 представлена организация УК b-разрядного числа X по заданному модулю р, которое состоит из двумерного постоянного запоминающего устройства, а ячеек однородной среды (ЯОС), а-входового элемента ИЛИ, входа синхронизации с и входа сброса г, которые соединены с соответствующими входами c и г каждой ячейки (для компактности представления на рисунке не изображены), где

а =

X

Р

Рис. 1. Организация УК

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

Размерность ПЗУ составляет а строк и b столбцов, в i-ю строку записана b-разрядная двоичная константа Wi = -i  р , представленная в дополнительном коде, где і є [0;а]. Сдвиговые в сторону младших разрядов b-разряд-

8

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

ные регистры являются последовательно соединенными информационными D-триггерами, вход регистра соединен с первым триггером, выход регистра -с выходом последнего триггера. Вход синхронизации регистра соединен с входами синхронизации всех триггеров.

В состав ЯОС (рис. 2) входят: a, b, d, е - четыре одноразрядных информационных входа, c - вход синхронизации, r - инверсный вход сброса, Q\, Q2 - два одноразрядных информационных выхода, полный одноразрядный сумматор (ОСМ) [2], информационный D-триггер, сдвиговый регистр R, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, элемент И.

Рис. 2. Организация ЯОС

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

d = cabr  cadr  cbdr  dc  dabr  adr  bdr

S = cabd  cabd  cabd  cabd  Sc  Sabd  Sabd  Sabd  Sabd

где d+ и S+ - состояния в следующий момент времени на выходах ОСМ d и S соответственно.

Преобразуемое число, поступающее на вход q, поразрядно алгебраически суммируется в ячейках ЯОС3 с константами w, извлекаемыми из ПЗУ. Разряды вычисленных сумм накапливаются в сдвиговых регистрах. С помощью элементов ИСКЛЮЧАЮЩЕЕ ИЛИ происходит поиск комбинации положительного и отрицательного знаков чисел, которая определяет, с выходом какого из сдвиговых регистров коммутируется выход устройства у. Анализируемые знаки хранятся в информационных триггерах, причем первая запись в них осуществляется с помощью подачи высокого уровня сигнала на вход устройства r через b тактов работы устройства, когда знак доступен на выходе ячейки ЯОС, где b - разрядность числа исходного числа X.

3. Организация спецпроцессора для выполнения операции прямого модулярного преобразования

Предлагаемый преобразователь кодов из ПСС в СОК по заданному модулю p (далее УПС) состоит из двумерного ПЗУ, m двухвходовых элементов И, m-входового мультиоперандного сумматора (МС) и устройства для коррекции числа по модулю p, где m - разрядность преобразуемого числа (рис. 3). Способ и устройство быстродействующего параллельно-разрядного МС подробно описаны в [2, 5].

Engineering sciences. Computer science, computer engineering and control

9

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

Г

tli

d2

ПЗУ dm

С

Ху

&

&

Хгг,

&

г

X1

Хщ

с

МС

У

У

Рис. 3. Организация спецпроцессора для прямого модулярного преобразования

Размерность ПЗУ составляет m строк и n столбцов, в i-ю строку записа-

на двоичная n-разрядная константа ki =

2і

, где і є [0; m], n = log2p. P

На входы x\, ..., xm поступают соответствующие разряды m-разрядного преобразуемого числа, каждому из которых соответствует константа в ПЗУ. В том случае, если разряд xi равен единице, константа ki выдается поразрядно на і-й вход МС, в противном случае выдается нуль.

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

Пример. Требуется преобразовать число x = 1101 в СОК по модулю р = 0101. Передача данных в устройстве приведена на рис. 4, где результаты промежуточных вычислений отмечены векторами, разряды которых (начиная с младшего) доступны на выходах соответствующих блоков по мере заполнения конвейера.

ih

di

ПЗУ ck

C dA

Ai=0001

*i=1

*2=00Ю

Л2=0

*3=0100

*з=1

*1=0011

л-4=1

tfi=0001

<?2=0000

ОИ1100

^4=0011

п

*1

*2 MC s

*3

*4

c

s=1000

>=0011

Рис. 4. Пример операции преобразования кодов

10

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

Константы к,, логически умноженные на соответствующие разряды исходного числа, мультиоперандно суммируются в параллельно-конвейерном режиме, после чего сумма s = 1000 вводится в диапазон модуля p с помощью устройства коррекции. Первый разряд искомого результата у доступен на выходе устройства через шесть тактов работы (два такта - мультиоперандное суммирование и четыре такта - коррекция результата), после чего конвейер является заполненным и каждый следующий разряд результата доступен каждый следующий такт. Таким образом, искомый результат у = 0011.

4. Сопоставление оценок эффективности способов прямого модульного преобразования

Временная сложность Qync данного спецпроцессора после заполнения конвейера определяется произведением времени такта работы устройства ТУПС (время срабатывания ОМС) на количество разрядов n константы к,

булс = ТУПС •n = 3 • t n.

Аппаратная сложность ДУПС данного устройства определяется суммой аппаратной сложности ПЗУ (n • m ячеек памяти, сложность каждого четвертого элемента И-НЕ), m двухвходовых элементов И, мультиоперандного сумматора и устройства коррекции по заданному модулю:

Дуле = 4 • n • m + 2 • m + 22 • (m -1) + 4 • a • (9 + b).

В табл. 1 приведены результаты расчета временной сложности

устройств при изменении разрядности операндов на базе итерационного способа, где m - разрядность позиционного числа, n - разрядность модулей СОК.

Таблица 1

Характеристики устройств прямого модулярного преобразования

m, шт. n, бит Временная сложность Аппаратная сложность

ИПС, нс УПС, нс ИПС, нс УПС, нс

32 6 1536 108 858 2730

64 7 3584 117 1897 5758

128 8 8192 126 4216 12254

256 9 18432 135 9351 25958

512 10 40960 144 20630 54790

Временная сложность устройств для выполнения немодульных операций на базе итерационных способов квадратично зависит от разрядности операндов, а для устройств на базе предложенных способов эта зависимость пропорциональна. Например, при разрядности позиционных операндов n = 256 бит временные затраты предложенного в 136 раз меньше, чем для устройства на базе итерационных способов.

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

Engineering sciences. Computer science, computer engineering and control

11

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

n = 256 бит аппаратные затраты предложенного преобразователя кодов в 2,77 раза выше, чем для устройств на базе итерационного способа.

Заключение

Предложена организация конвейерного преобразователя кодов чисел, представленных в системе остаточных классов в позиционную систему счисления. В отличие от известных аналогов, вычислительная среда после заполнения ]log2n[ + n ступеней конвейера за время T = (]log2n[ + n) • t обеспечивает выдачу результата преобразования за n • t, где t - время срабатывания вычислительной ячейки, n - разрядность основания системы остаточных классов.

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

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

1. Каляев, И. А. Реконфигурируемые мультиконвейерные вычислительные структуры / И. А. Каляев, И. И. Левин, Е. А. Семерников. - Ростов-на-Дону : ЮНЦ РАН, 2008. - 393 с.

2. Осинин, И. П. Организация арифметического разрядно-параллельного СБИС-процессора для массовых вычислений / И. П. Осинин, В. С. Князьков, Т. В. Вол-ченская // Высокопроизводительные параллельные вычисления на кластерных системах : сб. материалов XII Всерос. конф. - Н. Новгород : Изд-во Нижегородского госуниверситета, 2012. - С. 194-198.

3. Червяков, Н. И. Модулярные параллельные вычислительные структуры нейропроцессорных систем / Н. И. Червяков. - М. : Физматлит, 2003. - 288 с.

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

5. Осинин, И. П. Способ и устройство для конвейерных вычислений суммы m-n-разрядных чисел / И. П. Осинин, В. С. Князьков // Математика и математическое моделирование : сб. материалов VI Всерос. молодежная науч.-инновац. школы. - Саров : СарФТИ НИЯУ МИФИ, 2012. - С. 89-97.

References

1. Kalyaev I. A., Levin I. I., Sememikov E. A. Rekonfiguriruemye mul'tikonveyernye vychislitel'nye struktury [Reconfigurable multi-pipeline computing structures]. Rostov-on-Don: YuNTs RAN, 2008, 393 p.

2. Osinin I. P., Knyaz'kov V. S., Volchenskaya T. V. Vysokoproizvoditel'nye parallel'nye vychisleniya na klasternykh sistemakh: sb. materialov XII Vseros. konf. [High-perfomance parallel computing on cluster systems: proceedings of XII All-Russian conference]. Nizhny Novgorod: Izd-vo Nizhegorodskogo gosuniversiteta, 2012, pp. 194198.

3. Chervyakov N. I. Modulyarnye parallel'nye vychislitel'nye struktury neyroprotses-sornykh sistem [Modular parallel computing structures of neuroprocessor systems]. Moscow: Fizmatlit, 2003, 288 p.

12

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

4. Svidetel’stvo ob ofitsial'noy registratsii programm dlya EVM№ 2011617433. Preobra-zovateli kodov pozitsionnoy sistemy schisleniya v sistemu ostatochnykh klassov i obratno [Certificate of software program official registration № 2011617433. Converter of codes of the positional notation into the system of residual classes and back]. Osinin I. P., Knyaz'kov V. S. 23 September 2011.

5. Osinin I. P., Knyaz'kov V. S. Matematika i matematicheskoe modelirovanie: sb. mate-rialov VI Vseros. molodezhnaya nauch.-innovats. shkoly [Mathematics and mathematical modeling: proceedings of VI All-Russian youth scientific-innovative school]. Sarov: SarFTI NIYaU MIFI, 2012, pp. 89-97.

Осинин Илья Петрович аспирант, Вятский государственный университет

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 computers, Vyatka State University

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

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

Engineering sciences. Computer science, computer engineering and control

13