RU2028666C1 - Computational cell for realizing quick convolution - Google Patents
Computational cell for realizing quick convolution Download PDFInfo
- Publication number
- RU2028666C1 RU2028666C1 SU4950599A RU2028666C1 RU 2028666 C1 RU2028666 C1 RU 2028666C1 SU 4950599 A SU4950599 A SU 4950599A RU 2028666 C1 RU2028666 C1 RU 2028666C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- register
- inputs
- registers
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к вычислительной технике, в частности к цифровой обработке радио-, гидро- и звуколокационных сигналов, и может быть применено при построении быстродействующих процессоров, работающих в условиях жестких временных ограничений. The invention relates to computer technology, in particular to digital processing of radio, hydro and sonar signals, and can be used in the construction of high-speed processors operating under severe time constraints.
Известен вычислительный элемент для осуществления быстрой свертки (1), содержащий два регистра, блок элементов НЕ, умножитель и два сумматора по модулю чисел Ферма. Known computing element for the implementation of fast convolution (1), containing two registers, a block of elements NOT, a multiplier and two adders modulo Fermat numbers.
Недостатком устройства является низкое быстродействие,
Известно устpойство для выполнения дискретных ортогональных преобразований (2), содержащее два коммутатора, четыре блока регистров, сумматор по модулю два, два умножителя двухрядного кода, пять сумматоров двухрядного кода. Известное устройство обеспечивает обработку данных, представленных двухрядными кодами.The disadvantage of this device is the low speed,
A device for performing discrete orthogonal transformations (2) is known, comprising two switches, four register blocks, an adder modulo two, two multipliers of a two-row code, five adders of a two-row code. The known device provides data processing represented by two-row codes.
Недостатками такого устройства является недостаточно высокое быстродействие, обусловленное большим временем выполнения операции преобразования многорядного кода в сумматорах двухрядного кода. The disadvantages of this device is the lack of high speed due to the long lead time of the operation of converting a multi-row code in the adders of a two-row code.
Наиболее близким техническим решением к предлагаемому изобретению является вычислительный элемент для осуществления быстрой свертки (3), содержащий сумматор по модулю чисел Ферма, первое и второе устройство вычитания по модулю чисел Ферма, первый и второй входные буферные регистры, первый, второй и третий регистры повторного тактирования, выходной регистр, регистр хранения экспоненты вращения, умножители на 212 и на 24, первый и второй мультиплексоры 2:1 и мультиплексор 16:1, причем входом устройства является первый вход второго буферного регистра, выход которого подключен к первым входам сумматора по модулю чисел Ферма, первого устройства вычитания по модулю чисел Ферма и первого входного буферного регистра, выход которого подключен ко вторым входам сумматора по модулю чисел Ферма и первого устройства вычитания по модулю чисел Ферма, выходы которых соответственно через первый и второй регистры повторного тактирования подключены к первым входам соответственно первого и второго мультиплексоров 2:1, выход второго регистра повторного тактирования через умножители 212 и 24 подключены к входам второго устройства вычитания по модулю чисел Ферма, выход которого соединен со вторым входом второго мультиплексора 2:1, выход которого через третий регистр повторного тактирования, мультиплексор 16:1 подключен ко второму входу первого мультиплексора 2:1, выход которого подключен к первому входу выходного регистра, к третьему входу соответственно втоpого мультиплексора 2: 1 и второму входу мультиплексора 16:1 подключены соответственно первый и второй выходы регистра хранения экспоненты вращения, выход выходного регистра является выходом устройства, на вторые входы входных буферных регистров, регистров повторного тактирования, выходного регистра и третий вход первого мультиплексора 2:1 подаются тактовые импульсы.The closest technical solution to the present invention is a computing element for fast convolution (3), comprising an adder modulo Fermat numbers, a first and second subtractor modulo Fermat numbers, first and second input buffer registers, first, second and third registers of repeated clocking , an output register, the register storing the rotational exponential multipliers to 2 12 and 2 4, a first and second multiplexers are 2: 1 multiplexer and 16: 1, wherein the input device is the first input of the second buffer p a histra, the output of which is connected to the first adders modulo Fermat numbers, the first subtractor modulo Fermat numbers and the first input buffer register, the output of which is connected to the second inputs of the adder modulo Fermat numbers and the first subtractor modulo Fermat numbers, the outputs of which respectively through the first and second re-clocking the registers connected to the first inputs of the first and second multiplexers 2: 1, the second re-timing the output of
Устройство работает следующим образом. The device operates as follows.
Теоретико-числовое преобразование Ферма (ТЧПФ) последовательности { X(k)} определяется (3, с.187) как
Xn= x(k)α-<n·k>mod Ft где Ft = 22t+1, t-oе-число Ферма;
N - степень числа 2;
α- такое число, что N является наименьшим положительным целым числом, для которого справедливо αN≡ 1 mod Ft;
<n˙k> - произведение n˙k по модулю N.Fermat's number-theoretic transformation (PSTF) of the sequence {X (k)} is defined (3, p. 187) as
X n = x (k) α - <n · k> mod F t where F t = 2 2t +1, the t-th Fermat number;
N is the power of 2;
α is a number such that N is the smallest positive integer for which α N ≡ 1 mod Ft;
<n˙k> is the product of n˙k modulo N.
Вычислительный элемент реализует базовую операцию быстрого алгоритма ТЧПФ по основанию два при прореживании по частоте и формирует на выходе величины
A+b и (A+B) применительно в 64-точечному ТЧПФ в конечном поле чисел по модулю 216+1.The computational element implements the basic operation of the fast FHF algorithm on the basis of two when decimating in frequency and generates values at the output
A + b and (A + B) as applied to a 64-point PSTF in a finite
Особенностью реализации быстрого алгоритма ТЧПФ с помощью такого вычислительного элемента является предварительное кодирование данных, позволяющее упростить выполнение операций по модулю чисел Ферма. Схема кодирования данных и описание ее работы приведены в (3, с.188...191). A feature of the implementation of the fast FHF algorithm using such a computational element is data pre-coding, which allows simplifying the execution of operations modulo Fermat numbers. The data encoding scheme and a description of its operation are given in (3, p. 188 ... 191).
Перезапись информации в регистрах устройства осуществляется в моменты подачи тактовых импульсов, что обеспечивает поточную реализацию быстрого ТЧПФ. The information in the device registers is overwritten at the instants of the clock pulses, which ensures the in-line implementation of fast PSTF.
Цикл работы устройства состоит из 6 интервалов t0, t1,...,t5. В течение временных интервалов t0 и t1 происходит запись кодов чисел А и В соответственно в первый и второй входные буферные регистры.The device operation cycle consists of 6 intervals t 0 , t 1 , ..., t 5 . During time intervals t 0 and t 1 , codes of numbers A and B are recorded in the first and second input buffer registers, respectively.
В течение временных интервалов t2, t3, t4 осуществляется выполнение базовой операции "бабочка".During the time intervals t 2 , t 3 , t 4 , the basic butterfly operation is performed.
Выполнение операции сложения в процессе выполнения базовой операции ТЧПФ двух не равных нулю 16-разрядных чисел при принятой схеме кодирования данных производится за два шага. Возможные структурные схемы сумматора по модулю чисел Ферма приведены в (3, с.194, 195). Вычитание чисел А-В может быть реализовано получением дополнением числа В и его последующим сложением с А. The addition operation in the process of performing the basic PLL operation of two non-zero 16-bit numbers with the adopted data encoding scheme is performed in two steps. Possible structural schemes of the adder modulo Fermat numbers are given in (3, p. 194, 195). Subtraction of numbers AB can be realized by supplementing the number B and its subsequent addition to A.
Результат суммирования по модулю чисел Ферма А+В запоминается в первом регистре повторного тактирования и через первый мультиплексор 2:1 записывается в выходной регистр. The result of summing modulo numbers of Fermat A + B numbers is stored in the first register of repeated clocking and through the first 2: 1 multiplexer is written to the output register.
С выхода первого устройства вычитания по модулю чисел Ферма величина разности А-В записывается во второй регистр повторного тактирования. Умножение разности А-В на степень осуществляется через операцию вычитания. Как показано в (4, с.205)
≡ 2v/4·(2v/2-1)mod (2v+1) где v= 2t=16 для рассматриваемого устройства. Отсюда легко видеть, что
≡ (2- 2v/4)mod(2v+ 1) = (212- 24) mod (216+1) Таким образом, нужно сформировать величины (А-В) 212 и (А-В) 24, а затем получить их разность по модулю чисел Ферма. Умножение на 212 и 24реализуется простой коммутацией проводов (эквивалентно сдвигу величины А-В в сторону старших разрядов на соответствующее число разрядов).From the output of the first subtraction device modulo Fermat numbers, the value of the difference AB is recorded in the second register of repeated clocking. Multiplication of the difference AB in the degree carried out through a subtraction operation. As shown in (4, p.205)
≡ 2 v / 4 · (2 v / 2 -1) mod (2 v +1) where v = 2 t = 16 for the device in question. From here it is easy to see that
≡ (2 - 2 v / 4 ) mod (2 v + 1) = (2 12 - 2 4 ) mod (2 16 +1) Thus, it is necessary to form the quantities (A-B) 2 12 and (A-B) 2 4 , and then get their difference modulo Fermat numbers. Multiplication by 2 12 and 2 4 is realized by simple switching of wires (equivalent to a shift of the AB value towards the higher digits by the corresponding number of digits).
Поскольку при четном k умножение на не требуется, второй мультиплексор 2:1 селектирует на выход (в третий регистр повторного тактирования) либо число А-В, либо (А-В).Since for even k, multiplication by not required, the second 2: 1 multiplexer selects the output (in the third register of repeated clocking) either the number AB, or (AB) .
Управление осуществляется подачей на третий вход второго мультиплексора 2:1 наименьшего значащего разряда числа k. The control is carried out by applying to the third input of the second 2: 1 multiplexer the least significant digit of the number k.
На втором этапе осуществляется умножение на степень 2, а именно на степень с показателем [k/2] ( [˙] - означает наибольшую целую часть). Это умножение реализуется с помощью мультиплексора 16:1, управляемого четырьмя старшими разрядами двоичного представления степени 2. At the second stage, multiplication by
Выдача информации с выходного регистра вычислительного элемента для осуществления быстрой свертки производится в интервалы времени t4 и t5.The information from the output register of the computing element for fast convolution is produced at time intervals t 4 and t 5 .
Недостатком вычислительного элемента для осуществления быстрой свертки является недостаточно высокое быстродействие. The disadvantage of the computing element for the implementation of fast convolution is not high enough speed.
Цель предлагаемого изобретения - повышение быстродействия за счет представления дискретно преобразуемого сигнала двухрядными кодами. The purpose of the invention is to improve performance by representing a discretely converted signal with two-row codes.
Поставленная цель достигается тем, что в вычислительный элемент для осуществления быстрой свертки, содержащей первый и второй входные буферные регистры, первый, второй и третий регистры повторного тактирования, первый выходной регистр, регистр хранения экспоненты вращения, первые умножители 23v/4 и 2v/4, где v = 2t, первый и второй мультиплексоры 2:1 и первый мультиплексор N: 1, (N-разрядность данных), причем первым входом устройства является первый вход второго входного буферного регистра, прямой выход которого соединен с первым входом первого входного буферного регистра, выход первого регистра повторного тактирования через первый мультиплексор 2: 1 подключен к первому входу первого выходного регистра, выход которого является первым выходом устройства, выход второго регистра повторного тактирования через последовательно соединенные второй мультиплексор 2:1, третий регистр повторного тактирования, первый мультиплексор N:1 подключен ко второму входу первого мультиплексора 2:1, входы первых умножителей 23v/4 и 2v/4соединены с выходом второго регистра повторного тактирования, к третьему входу второго мультиплексора 2:1 и второму входу первого мультиплексора N: 1 подключены соответственно первый и второй выходы регистра хранения экспоненты вращения, введены третий и четвертый выходные буферные регистры, четвертый, пятый и шестой регистры повторного тактирования, второй выходной регистр, третий и четвертый мультиплексоры 2:1, второй мультиплексор N:1, вторые умножители 23v/4 и 2v/4, первый, второй и третий блоки суммирования по модулю чисел Ферма, счетчик и элемент задержки, причем прямой выход второго входного буферного регистра соединен с первым входом первого блока суммирования по модулю чисел Ферма, первый выход которого через последовательно соединенные четвертый регистр повторного тактирования и третий мультиплексор 2: 1 подключен к второму выходному регистру, выход которого является вторым выходом устройства, ко вторым входам первого и второго блоков суммирования по модулю чисел Ферма подключен соответственно прямой и инверсный выходы третьего входного буферного регистра, выход первого входного буферного регистра соединен с третьими входами первого и второго блоков суммирования по модулю чисел Ферма, четвертые входы которых подключены к выходу четвертого входного буферного регистра, вход которого соединен с прямым выходом третьего входного буферного регистра, инверсный выход второго входного буферного регистра подключен к первому входу второго блока суммирования по модулю чисел Ферма, первый выход которого через последовательно соединенные пятый регистр повторного тактирования, четвертый мультиплексор 2: 1, шестой регистр повторного тактирования и второй мультиплексор N: 1 соединен со вторым входом третьего мультиплексора 2:1, выходы первого умножителя 23v/4 и первого умножителя 2v/4 подключены соответственно к первому и второму входам третьего блока суммирования по модулю чисел Ферма, первый и второй выходы которого соединены со вторыми входами соответственно второго и четвертого мультиплексоров 2:1, к третьему и четвертому входам третьего блока суммирования по модулю чисел Ферма подключены инверсные выходы соответственно второго умножителя 23v/4 и второго умножителя 2v/4, входы которых соединены с выходом пятого регистра повторного тактирования, первый и второй выходы регистра хранения экспоненты вращения подключены соответственно к третьему входу четвертого мультиплексора 2:1 и ко второму входу второго мультиплексора N:1, вторые выходы первого и второго блоков суммирования по модулю чисел Ферма соединены с первыми входами соответственно первого и второго регистров повторного тактирования, вторые входы второго и третьего входных буферных регистров, первого и второго выходных регистров и вход счетчика соединены между собой и являются тактовым входом устройства, выход счетчика подключен ко вторым входам первого и четвертого входных буферных регистров, третьего и шестого регистpов повторного тактирования, третьим входом первого и третьего мультиплексоров 2:1 и через элемент задержки ко вторым входам первого, второго, четвертого и пятого регистров повторного тактирования, второму входу регистра хранения экспоненты вращения, первый вход которого является входом кода экспоненты вращения устройства.This goal is achieved by the fact that in the computing element for the implementation of fast convolution containing the first and second input buffer registers, the first, second and third registers of re-clocking, the first output register, the register of storage of the exponent of rotation, the
Блок суммирования по модулю чисел Ферма содержит две группы сумматоров по N (N - количество разрядов) трехвходовых одноразрядных сумматоров, причем первые, вторые и третьи входы трехвходовых одноразрядных сумматоров первой группы сумматоров и третьи входы трехвходовых одноразрядных сумматоров второй группы сумматоров являются соответственно первым, вторым, третьим и четвертым входами блока суммирования по модулю чисел Ферма, выход суммы j-го трехвходового одноразрядного сумматора первой группы сумматоров (j= 1,2, ...,N) подключен к первому входу j-го трехвходового одноразрядного сумматора второй группы сумматоров, выход переноса N-го трехвходового одноразрядного сумматора первой группы сумматоров подключен ко второму входу первого трехвходового одноразрядного сумматора второй группы сумматоров, а выход переноса i-го трехвходового одноразрядного сумматора (i=1,2,...,N-1) первой группы сумматоров подключен ко второму входу (i+1)-го трехвходового одноразрядного сумматора второй группы сумматоров, шина сумм и шина переносов трехвходовых одноразрядных сумматоров второй группы сумматоров являются соответственно первым и вторым выходом блока суммирования по модулю чисел Ферма. The summation module modulo Fermat numbers contains two groups of adders with respect to N (N is the number of bits) of three-input single-digit adders, the first, second and third inputs of three-input single-digit adders of the first group of adders and the third inputs of three-input single-digit adders of the second group of adders are respectively the first, second, the third and fourth inputs of the summing unit modulo Fermat numbers, the output of the sum of the j-th three-input single-digit adder of the first group of adders (j = 1,2, ..., N) is connected to the first the j-th three-input single-bit adder of the second group of adders, the transfer output of the N-th three-input single-digit adder of the first group of adders is connected to the second input of the first three-input single-bit adder of the second group of adders, and the transfer output of the i-th three-input single-bit adder (i = 1,2, ..., N-1) of the first adder group is connected to the second input of the (i + 1) -th three-input single-bit adder of the second adder group, the sum bus and the carry bus of the three-input single-bit adders of the second sum group Ators are, respectively, the first and second output of the summing unit modulo Fermat numbers.
Перечисленные отличительные признаки являются существенными, поскольку каждый из них необходим, а вместе взятые они достаточны для достижения поставленной цели - повышения быстродействия устройства. The listed distinguishing features are significant, since each of them is necessary, and taken together they are sufficient to achieve the goal - to increase the speed of the device.
Известно использование двухразрядных кодов для выполнения быстрого преобразования Фурье (2), использование теоретико-числовых преобразований для осуществления быстрой свертки (3), однако использование указанных отличительных признаков в данной совокупности в известных устройствах не встречаются, а анализ патентной и технической литературы позволяет сделать вывод о том, что структура вычислительного элемента для осуществления быстрой свертки является новой. It is known to use two-digit codes to perform fast Fourier transform (2), to use number-theoretic transformations to perform fast convolution (3), however, the use of these distinctive features in this combination is not found in known devices, and analysis of patent and technical literature allows us to conclude that the structure of the computing element for the implementation of fast convolution is new.
На фиг. 1 представлена структурная схема вычислительного элемента для осуществления быстрой свертки; на фиг. 2 - структурная схема блока суммирования по модулю чисел Ферма для разрядности данных N = 16; на фиг. 3 - вид управляющих сигналов, обеспечивающих функционирование устройства; на фиг. 4 - работа блока суммирования по модулю чисел Ферма. In FIG. 1 is a structural diagram of a computing element for performing fast convolution; in FIG. 2 is a block diagram of a summing unit modulo Fermat numbers for data capacity N = 16; in FIG. 3 is a view of control signals ensuring the operation of the device; in FIG. 4 - operation of the summing unit modulo Fermat numbers.
Вычислительный элемент для осуществления быстрой свертки (фиг.1) содержит входные буферные регистры 11...14, регистры повторного тактирования 21. ..26, выходного регистра 31,32, регистр хранения экспоненты вращения 4, мультиплексоры 2:1, 51...54, мультиплексоры N:1 61...62, умножители на 23v/4 71, 72, умножители на 2v/4, 81, 82, блоки суммирования по модулю чисел Ферма 91. . .93, входные 10 и выходные 11 шины, тактовый вход устройства 12, вход кода экспоненты вращения устройства 13, счетчик 14, элемент задержки 15.The computing element for the implementation of fast convolution (figure 1) contains
Блок суммирования по модулю чисел Ферма 9 (фиг.2) содержит первую 161 и вторую 162 группы сумматоров, содержащие трехвходовые одноразрядные сумматоры 17.The summing unit modulo numbers of Farm 9 (figure 2) contains the first 16 1 and second 16 2 groups of adders containing three-input single-
Элементы вычислительного элемента для осуществления быстрой свертки соединены следующим образом. Elements of the computing element for the implementation of fast convolution are connected as follows.
Первым входом 101 вычислительного элемента является первый вход второго 12 входного буферного регистра, прямой выход которого соединен с первым входом первого 11 входного буферного регистра; выход первого регистра 21 повторного тактирования через первый 51 мультиплексор 2:1 подключен к первому входу первого выходного регистра 31, выход которого является первым выходом 111 устройства, выход второго регистра 22повторного тактирования через последовательно соединенные второй 52мультиплексор 2:1, третий регистр 23 повторного тактирования, первый 61мультиплексор N:1 подключен ко второму входу первого 51 мультиплексора 2:1, входы первых умножителей 23v/4 (71) и 2v/4 (81) соединены с выходом второго регистра 22 повторного тактирования, к третьему входу второго 52мультиплексора 2:1 и второму входу первого 61 мультиплексора подключены соответственно первый и второй выходы регистра хранения экспоненты вращения 4, прямой выход второго 12 входного буферного регистра соединен с первым входом первого блока 91 суммирования по модулю чисел Ферма, первый выход которого через последовательно соединенные четвертый регистр 24, повторного тактирования и третий 53 мультиплексор 2:1 подключен к второму выходному регистру 32, выход которого является вторым выходом 112 вычислительного элемента для осуществления быстрой свертки, ко вторым входам первого 91 и второго 92 блоков суммирования по модулю чисел Ферма подключены соответственно прямой и инверсный выходы третьего 13 входного буферного регистра, выход первого 11 входного буферного регистра соединен с третьими входами первого 91 и второго 92 блоков суммирования по модулю чисел Ферма, четвертые входы которых подключены к выходу четвертого 14 входного буферного регистра, вход которого соединен с прямым выходом третьего 13 входного буферного регистра, инверсный выход второго входного 12 буферного регистра подключен к первому входу второго 92 блока суммирования по модулю чисел Ферма, первый выход которого через последовательно соединенные пятый регистр 25 повторного тактирования, четвертый 54 мультиплексор 2: 1, шестой регистр 26повторного тактирования и второй 62 мультиплексор N:1 соединен со вторым входом третьего 53 мультиплексора 2:1, выходы первого 71 умножителя 23v/4 и первого 81 умножителя 2v/4 подключены соответственно к первому и второму входам третьего 93 блока суммирования по модулю чисел Ферма, первый и второй выходы которого соединены со вторыми входами соответственно второго 54 и четвертого 54 мультиплексоров 2:1, к третьему и четвертому входам третьего блока суммирования по модулю чисел Ферма 93 подключены выходы соответственно второго 72 умножителя 23v/4 и второго 82 умножителя 2v/4, входы которых соединены с выходом пятого регистра 25 повторного тактирования, первый и второй выходы регистра хранения экспоненты вращения 4 подключены соответственно к третьему входу четвертого 54 мультиплексора 2:1 и ко второму входу второго 62 мультиплексора N:1, вторые выходы первого 91 и второго 92 блоков суммирования по модулю чисел Ферма соединены с первыми входами соответственно первого 21 и второго 22 регистров повторного тактирования, вторые входы второго 12 и третьего 13 входных буферных регистров, первого 31 и второго 32 выходных регистров и вход счетчика 14 соединены между собой и являются тактовым входом устройства 12, выход счетчика 14 подключен ко вторым входам первого 11 и четвертого 14входных буферных регистров, третьего 23 и шестого 26, регистров повторного тактирования, третьим входам первого 51 и третьего 53мультиплексоров 2:1 и через элемент задержки 15 ко вторым входам первого 21, второго 22, четвертого 24 и пятого 25 регистров повторного тактирования, второму входу регистра хранения экспоненты вращения 4, первый вход которого является входом 13 кода экспоненты вращения устройства.The
В блоке суммирования по модулю чисел Ферма 9 объединенные шины первые, вторые и третьи входы трехвходовых одноразрядных сумматоров 17 первой группы сумматоров 161 и объединенные в шину третьи входы трехвходовых одноразрядных сумматоров 17 второй группы сумматоров 162являются соответственно первым, вторым, третьим и четвертым входом блока суммирования по модулю чисел Ферма 9. Выход суммы j-го (j=) трехвходового одноразрядного сумматора 17 первой группы сумматоров 161подключен к первому входу j-го трехвходового одноразрядного сумматора 17 второй группы сумматоров 162, выход переноса N-го трехвходового одноразрядного сумматора 17 первой группы сумматоров 161 подключен ко второму входу первого трехвходового одноразрядного сумматора 17 второй группы сумматоров 162, а выход переноса i-го (i= ) трехвходового одноразрядного сумматора 17 первой группы сумматоров 161подключен ко второму входу (i+1)-го трехвходового одноразрядного сумматора 17 втоpой группы сумматоров 162, объединенные в шины выхода сумм и выходы переносов трехвходовых одноразрядных сумматоров 17 второй группы сумматоров 162 являются соответственно первым и вторым выходом блока суммирования по модулю чисел Ферма.In the summation block
Устройство работает следующим образом. The device operates as follows.
Рассмотрим ТЧПФ по основанию 2 применительно к 64-точечному преобразованию по модулю 216+1 для 16-разрядных данных.Consider a base-2 FFT for a 64-
Предварительное кодирование данных осуществляется аналогично прототипу, однако отпадает необходимость в дополнительном разряде, кодирующем нулевой результат, поскольку он может быть представлен кодом любого числа и его дополнением. Например при t=4 и 2t+1 = 17 нулевое число может быть представлено в виде
1 ряд 0101 (-8+4-2+1)=5
2 ряд 1010 (8-4+2-1)=-5
В исходном состоянии все регистры вычислительного элемента обнулены.Pre-coding of data is carried out similarly to the prototype, however, there is no need for an additional bit encoding a zero result, since it can be represented by a code of any number and its complement. For example, for t = 4 and 2, t +1 = 17, a zero number can be represented as
1 row 0101 (-8 + 4-2 + 1) = 5
2 row 1010 (8-4 + 2-1) = - 5
In the initial state, all the registers of the computing element are reset.
С поступлением первого тактового импульса на тактовый вход 12 (фиг. 3(а)) составляющие двухрядного кода числа А1 со входов 101 и 102записываются во второй 12 и третий 13 входные буферные регистры. Счетчик 14 выделяет из последовательности входных тактовых импульсов каждый второй импульс (фиг. 3(б)).With the arrival of the first clock pulse to clock input 12 (Fig. 3 (a)), the components of the two-row code of the number A 1 from the
С поступлением второго тактового импульса на вход 12 вычислительного элемента производится перезапись двухрядного кода числа А1 из входных буферных регистров 12 и 13 соответственно в регистры 11 и 14, а двухрядный код числа В1 записывается в регистры 12 и 13. (фиг. 3 интервал t2).With the arrival of the second clock pulse at the
Блоки суммирования по модулю чисел Ферма 91 и 92 производят соответственно сложение и вычитание двухрядных кодов чисел А и В. Процесс сложения иллюстрируют фиг. 4, где каждой точке соответствует двоичная цифра, сверху проставлены номера разрядов. Сплошной линией обведены числа, подаваемые на вход трехвходового одноразрядного сумматора 17. Результат работы сумматора 17 (цифра суммы и цифра переноса) изображены в виде двух связанных точек на следующей по порядку диаграмме, где буквами S и Р обозначены код суммы и код переноса, а цифрами 1,2,3,4 - коды, поступающие на соответствующие входы блока суммирования по модулю чисел Ферма 9. Особенности организации суммирования двухрядных кодов по модулю чисел Ферма в блоке 9 поясним следующим примером.The summation blocks
Пусть t = 4 (2t+1=17), числа А и В представлены в виде двухрядных кодов
A = и B = ,
т.е. A = 13; B = - 2.Let t = 4 (2 t + 1 = 17), the numbers A and B are presented in the form of two-row codes
A = and B = ,
those. A = 13; B = - 2.
Операция сложения в блоке 9 выполняется в два этапа
I этап:
II этап: Последний результат соответствует числу -9+3=-6=11mod17, что и требовалось, так как (А+В)mod17 = 11 mod17.The addition operation in
Stage I:
Stage II: The last result corresponds to the number -9 + 3 = -6 = 11mod17, which was required, since (A + B) mod17 = 11 mod17.
Разность А-В вычисляется аналогично вышерассмотренному, только число -В подается на второй блок суммирования по модулю чисел Ферма 92 с инверсных выходов второго 12 и третьего 13 входных буферных регистров.The difference AB is calculated similarly to the above, only the number -B is fed to the second summing unit modulo
Второй тактовый импульс с выхода счетчика 14 проходит через элемент задержки на период следования тактовых импульсов (фиг.3(в)) и действует одновременно с третьим тактовым импульсов на входе 12. Он разрешает запись двухрядного кода результата сложения (А1+В1) в регистры повторного тактирования 21 и 24 двухрядного кода результата вычитания (А1-В1) в регистры повторного тактирования 22 и 25 и запись кода первой экспоненты вращения со входа 13 в регистр 4. Третьим тактовым импульсов на входе 12 двухрядный код числа А2 записывается в регистры 12 и 13.The second clock pulse from the output of the counter 14 passes through the delay element for the period of the clock pulses (Fig. 3 (c)) and acts simultaneously with the third clock pulse at the
Двухрядный код результата вычитания по модулю чисел Ферма запоминается в регистрах повторного тактирования 22 и 25 для последующего умножения на степень 2. Умножение двухрядного кода, представленного составляющими S и Р, на 2 производится следующим образом. Поскольку
≡ (212- 24) mod (216+1), то
(216+1) =
Умножение составляющих S и Р на 1212 и 24 может производиться соответствующим соединением входов блока 93 с выходами регистров повторного тактирования 22, 25.The two-row code of the result of the subtraction modulo Fermat numbers is stored in repeated
≡ (2 12 - 2 4 ) mod (2 16 +1), then
(2 16 +1) =
The multiplication of the components S and P by 12 12 and 2 4 can be carried out by the corresponding connection of the inputs of
В зависимости от значения младшего разряда экспоненты вращения, которое определяет необходимость умножения (А-В) на , мультиплексоры 2:1 52 и 54 коммутируют двухрядный код (А-В), либо (А-В) для записи в регистры повторного тактирования 23 и 26. Запись в регистры повторного тактирования 23 и 26 осуществляется с поступлением второго тактового импульса с выхода счетчика 14 (фиг. 3(б)). Он действует одновременно с поступлением четвертого тактового импульса на вход 12 (фиг.3(а), t4) и переводит мультиплексоры 51 и 53 в состояние, разрешающее запись двухрядного кода суммы (А+В) в выходные регистры 31 и 32. При этом двухрядный код числа А2 записывается в регистры 11 и 14, двухрядный код В2 - в регистры 12 и 13, а двухрядный код (А+В) - в регистры 31 и 32 и выдается на выходы вычислительного элемента 111 и 112.Depending on the value of the least significant bit of the rotation exponent, which determines the need for multiplication (A-B) by , multiplexers 2: 1 5 2 and 5 4 commute a two-row code (AB), or (AB) to write to the registers of repeated
Умножение на степень 2 каждой из составляющих S и Р двухрядного кода записанных в регистрах 23 и 26, производится в независимых цепях, первая из которых содержит регистр повторного тактирования 23, мультиплексор 16:161, а вторая - регистр повторного тактирования 26, мультиплексор 16:162.Multiplication by
В отсутствии тактового импульса на входе мультиплексоры 2:1 51 и 53находятся в состоянии, когда к их выходам подключены вторые входы.In the absence of a clock pulse at the input, the 2: 1 5 1 and 5 3 multiplexers are in a state when the second inputs are connected to their outputs.
В следующий временной интервал (фиг. 3, t5) производится запись двухрядного кода (А1-В1) в выходные регистры 31 и 32 и выдача его на выходы 111 и 112 вычислительного элемента, запись двухрядных кодов (А2+В2) в регистры повторного тактирования 21 и 24, (А2-В2) - в регистры 22 и 25 и нового значения в регистр 4 хранения экспоненты вращения.In the next time interval (Fig. 3, t 5 ), a two-row code is recorded (A 1 -B 1 ) to the output registers 3 1 and 3 2 and its output to the
Далее процессы циклически повторяются. Further, the processes are cyclically repeated.
При необходимости получения результата преобразования в традиционном однорядном коде к выходам вычислительного элемента последнего яруса может быть подключен сумматор по модулю чисел Ферма, выполненный по любой из известных схем, например по схеме (3), с.195, рис.7 или (3), с.194, рис. 6. If it is necessary to obtain a conversion result in a traditional single-row code, an adder modulo Fermat numbers can be connected to the outputs of a computational element of the last tier, made according to any of the known schemes, for example, according to scheme (3), p. 195, Fig. 7 or (3), p.194, fig. 6.
Для технико-экономического обоснования преимуществ предлагаемого устройства по быстродействию, произведем его сравнение с базовым объектом, в качестве которого выберем прототип, так как он является наиболее быстродействующим из известных устройств. For a feasibility study of the advantages of the proposed device in terms of speed, we will compare it with the base object, for which we will choose a prototype, since it is the fastest known device.
Из анализа структурной схемы базового объекта следует, что наиболее длительной операцией является операция суммирования по модулю чисел Ферма. Время выполнения сложения по модулю чисел Ферма определяется соотношением (3), с.194, рис. 5). From the analysis of the structural diagram of the base object it follows that the longest operation is the operation of summing modulo Fermat numbers. The execution time of addition modulo Fermat numbers is determined by the relation (3), p. 194, Fig. 5).
Тб = 2m Ts + 2τэ , где Ts - задержка в одноразрядном сумматоре;
m - разрядность данных;
τэ- задержка в логическом элементе.T b = 2m T s + 2τ e , where T s is the delay in a single-bit adder;
m is the bit depth of the data;
τ e - delay in the logical element.
Полагая Тs = 2τэ(5), с.139, рис. 3.37,б), получим Tб = 66τэ.Assuming T s = 2τ e (5), p. 139, Fig. 3.37, b), we obtain T b = 66τ e .
В предлагаемом устройстве время сложения двухрядных чисел, согласно фиг. 2 и фиг. 4, определяется как
Т3 = 2 Ts = 4τэ , откуда выигрыш в быстродействии составляет 66:4 = 16,5 раз при m = 16.In the proposed device, the addition time of two-row numbers, according to FIG. 2 and FIG. 4 is defined as
T 3 = 2 T s = 4τ e , whence the gain in speed is 66: 4 = 16.5 times at m = 16.
Таким образом, заявляемое устройство превосходит базовый объект по быстродействию и обеспечивает работу с данными, представленными двухрядными кодами, и выдачу двухрядного кода результата. Thus, the claimed device exceeds the basic object in speed and provides work with data represented by two-row codes, and the issuance of a two-row result code.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4950599 RU2028666C1 (en) | 1991-06-27 | 1991-06-27 | Computational cell for realizing quick convolution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4950599 RU2028666C1 (en) | 1991-06-27 | 1991-06-27 | Computational cell for realizing quick convolution |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2028666C1 true RU2028666C1 (en) | 1995-02-09 |
Family
ID=21581978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU4950599 RU2028666C1 (en) | 1991-06-27 | 1991-06-27 | Computational cell for realizing quick convolution |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2028666C1 (en) |
-
1991
- 1991-06-27 RU SU4950599 patent/RU2028666C1/en active
Non-Patent Citations (5)
Title |
---|
1. C.S. Veh, I.S. Reed, V.V.Chang "VLSI design of number - theoretie transforms for a bast convolution" Chester. N 431 Oct 1983 "Silver Spring, Md 1983, 200-203 - проект, использующий теоретико-числовые преобразования для быстрой свертки. "Iccd - 83: Pooc IEEE - Int. Conf. Comput DecVLSI Comput. Port. * |
2. Авторское свидетельство СССР N 1233168. кл. G 06F 15/332 1984. * |
3. Макклоллан Дж.Г., Рейдер Ч.М. Применение теории чисел в цифровой обработке сигналов: Пер. с англ. - М.: Радио и связь, 1983, с.193, рис.3. * |
4. Нуссбаумер Г. Быстрое преобразование Фурье и алгоритмы вычисления сверток: Пер. С англ. - М.: Радио и связь, 1985. * |
5. Цифровые электронные вычислительные машины. Самофалов К.Г., Корнейчук В.И., Тарасенко В.П. - Киев: Вища школа, 1983. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5500811A (en) | Finite impulse response filter | |
US4547862A (en) | Monolithic fast fourier transform circuit | |
US8051124B2 (en) | High speed and efficient matrix multiplication hardware module | |
US4601006A (en) | Architecture for two dimensional fast fourier transform | |
US4115867A (en) | Special-purpose digital computer for computing statistical characteristics of random processes | |
US4680727A (en) | Complex multiplier for binary two's complement numbers | |
US6658441B1 (en) | Apparatus and method for recursive parallel and pipelined fast fourier transform | |
US4831574A (en) | Device for computing a digital transform of a signal | |
JPS63167967A (en) | Digital signal processing integrated circuit | |
US6728742B1 (en) | Data storage patterns for fast fourier transforms | |
RU2028666C1 (en) | Computational cell for realizing quick convolution | |
JPH07234864A (en) | Orthogonal transformation device | |
JPS5981761A (en) | Systolic calculation device | |
CN112992248A (en) | PE (provider edge) calculation unit structure of FIFO (first in first out) -based variable-length cyclic shift register | |
SU1292005A1 (en) | Device for implementing fast transforms in digital orthogonal function bases | |
JP3155026B2 (en) | Accumulator | |
SU896631A1 (en) | Device for quick fourier transform of a series with zero elements | |
SU813420A1 (en) | Device for multiplying binary numbers in complementary codes | |
SU491946A1 (en) | Root degree extractor | |
SU987620A1 (en) | Serial multiplying device | |
SU991418A2 (en) | Device for multiplication of two n-bit numbers | |
SU940165A1 (en) | Device for functional conversion of ordered number file | |
SU798863A1 (en) | Digital device for solving simultaneous algebraic equations | |
SU615476A1 (en) | Multiplier | |
SU1621022A1 (en) | Multiplication device |