RU2159464C1 - Flexible asynchronous adder-multiplier - Google Patents

Flexible asynchronous adder-multiplier Download PDF

Info

Publication number
RU2159464C1
RU2159464C1 RU99109904A RU99109904A RU2159464C1 RU 2159464 C1 RU2159464 C1 RU 2159464C1 RU 99109904 A RU99109904 A RU 99109904A RU 99109904 A RU99109904 A RU 99109904A RU 2159464 C1 RU2159464 C1 RU 2159464C1
Authority
RU
Russia
Prior art keywords
multiplexers
asynchronous
term
block
summation
Prior art date
Application number
RU99109904A
Other languages
Russian (ru)
Inventor
В.М. Довгаль
М.Е. Селезнев
Ф.А. Старков
В.С. Титов
Original Assignee
Курский государственный технический университет
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Курский государственный технический университет filed Critical Курский государственный технический университет
Priority to RU99109904A priority Critical patent/RU2159464C1/en
Application granted granted Critical
Publication of RU2159464C1 publication Critical patent/RU2159464C1/en

Links

Images

Abstract

FIELD: computer engineering. SUBSTANCE: device may be used for calculations of fast Fourier transform and Winograd convolution. Goal of invention is achieved by introduced 2m bus multiplexers of additives, device control unit, factor bus multiplexer, which has m multiplexers n in 1, m-1 asynchronous addition units. Each asynchronous addition unit also has introduced first additive shifter- commutator, unit of first additive multiplexers. The latter unit has 2m multiplexers 3 in 1. In addition, asynchronous addition unit has unit of first additive multiplexers, which has 2m multiplexers 2 in 1, sum readiness multiplexer and inverter. EFFECT: increased functional capabilities. 4 dwg

Description

Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано в высокоскоростных арифметико-логических устройствах, в том числе в арифметико-логических устройствах для вычисления быстрого преобразования Фурье (БПФ) и сверток по методу Винограда. The invention relates to technical means of computer science and computer technology and can be used in high-speed arithmetic-logic devices, including arithmetic-logic devices for calculating the fast Fourier transform (FFT) and convolutions by the method of Vinograd.

Известны различные схемы сумматоров, а также умножителей, построенных на основе последовательно включенных сумматоров [1]. There are various schemes of adders, as well as multipliers, built on the basis of series-connected adders [1].

В качестве прототипа выбран "Параллельный асинхронный сумматор" (патент РФ N 2097826, 1997 г. Бюл. N 33), содержащий n блоков параллельной обработки разрядных срезов, n-1 формирователей импульсов, запускающий формирователь импульсов, элемент 8 ИЛИ-НЕ. Его отличительной особенностью является организация процесса сложения операндов по разрядным срезам. С помощью обратной связи выхода суммы арифметического полусумматора на его вход через один из ключей осуществляется пространственное разделение ситуаций возникновения переносов и их одновременная коррекция в разных позициях параллельного асинхронного сумматора, что повышает его быстродействие. As a prototype, “Parallel asynchronous adder” (RF patent N 2097826, 1997 Bull. N 33) was selected, containing n blocks of parallel processing of bit slices, n-1 pulse shapers, which starts the pulse shaper, element 8 OR-NOT. Its distinctive feature is the organization of the process of adding operands to bit slices. Using feedback, the output of the sum of an arithmetic half-adder to its input through one of the keys is used to spatially separate the occurrence of hyphenation and their simultaneous correction in different positions of the parallel asynchronous adder, which increases its speed.

Вычисление дискретного преобразования Фурье и сверток широко применяется в области цифровой обработки сигналов. Известны методы, позволяющие уменьшить их вычислительную сложность. Один из них - алгоритм Винограда [2]. Особенностями алгоритмов Винограда вычисления сверток и дискретного преобразования Фурье являются значительное превышение числа сложений над числом умножений, попеременное вычисление больших групп сложений и умножений. В связи с этим возможно построение реконфигурируемого арифметико-логического устройства для выполнения сложений и умножений, составным элементом которой является устройство на основе параллельного асинхронного сумматора. Недостатком параллельного асинхронного сумматора является отсутствие аппаратной поддержки выполнения операции умножения. The calculation of discrete Fourier transform and convolution is widely used in the field of digital signal processing. Known methods to reduce their computational complexity. One of them is the Vinohrad algorithm [2]. The specific features of the Winograd algorithms for calculating convolutions and the discrete Fourier transform are the significant excess of the number of additions over the number of multiplications, and the alternate calculation of large groups of additions and multiplications. In this regard, it is possible to build a reconfigurable arithmetic-logic device for performing additions and multiplications, an integral element of which is a device based on a parallel asynchronous adder. The disadvantage of a parallel asynchronous adder is the lack of hardware support for performing the multiplication operation.

Технической задачей изобретения является расширение функционального назначения асинхронного сумматора за счет объединения группы асинхронных сумматоров в реконфигурируемую матрицу с помощью введения дополнительных элементов и связей с целью получения возможности выполнения одной операции умножения либо нескольких операций сложения в определенный промежуток времени. An object of the invention is to expand the functionality of an asynchronous adder by combining a group of asynchronous adders into a reconfigurable matrix by introducing additional elements and relationships in order to be able to perform one multiplication operation or several addition operations in a certain period of time.

Технически задача решается тем, что к блоку асинхронного суммирования, который состоит из 2m блоков параллельной обработки разрядных срезов, 2m-1 формирователей импульсов и запускающего формирователя импульсов, первые выходы которых соединены с соответствующими входами элемента ИЛИ-НЕ, выход которого является выходом готовности суммы, а вторые выходы блоков параллельной обработки разрядных рядных срезов являются выходами результата, с целью возможности объединения m блоков асинхронного суммирования в реконфигурируемую матрицу и осуществления подачи слагаемых на соответствующие блоки асинхронного суммирования дополнительно введены: коммутатор-сдвигатель первого слагаемого, блок мультиплексоров первого слагаемого, состоящий из 2m мультиплексоров 3 в 1, блок мультиплексоров второго слагаемого, состоящий из 2m мультиплексоров 2 в 1, мультиплексор готовности суммы, инвертор, 2m шинных мультиплексора слагаемых, каждый из которых содержит 2m мультиплексоров n в 1, блок управления устройством, шинный мультиплексор множителя, состоящий из m мультиплексоров n в 1. Информационные входы шинных мультиплексоров слагаемых соединены с n 2m-разрядными входами данных, информационные входы шинного мультиплексора множителя соединены с n m-разрядными входами, которые являются младшими разрядами входов данных. Выход шинного мультиплексора множителя, а также вход команд подключены к блоку управления. Выходы шинных мультиплексоров слагаемых соединены с соответствующими входами блоков асинхронного суммирования. Выходы блока управления соединены с управляющими входами шинного мультиплексора множителя, шинных мультиплексоров слагаемых, а также с блоками мультиплексоров первого слагаемого, блоками мультиплексоров второго слагаемого, мультиплексорами готовности суммы блоков асинхронного суммирования, выход начала суммирования блока управления соединен со вторым входом мультиплексора готовности суммы блоков асинхронного суммирования. Вход первого слагаемого блока асинхронного суммирования соединен с коммутатором-сдвигателем первого слагаемого и вторым входом блока мультиплексоров первого слагаемого. Выход коммутатора-сдвигателя соединен с первым входом блока мультиплексоров первого слагаемого, третий вход блока мультиплексоров первого слагаемого подключен ко входу логического нуля. Вход второго слагаемого блока асинхронного суммирования соединен со вторым входом блока мультиплексоров второго слагаемого. Первый вход блока мультиплексоров второго слагаемого, исключая первый блок асинхронного суммирования, соединен с выходом результата предыдущего блока асинхронного суммирования, первый вход блока мультиплексоров второго слагаемого первого блока асинхронного суммирования соединен с логическим нулем. Выходы блоков мультиплексоров первого и второго слагаемого соединены с соответствующими входами блоков параллельной обработки разрядных срезов. Вход готовности суммы является выходом готовности суммы предыдущего блока асинхронного суммирования, исключая первый блок асинхронного суммирования, и соединен через инвертор с первым входом мультиплексора готовности суммы. Выход мультиплексора готовности суммы соединен с блоками параллельной обработки разрядных срезов и запускающим формирователем импульсов. В первом блоке асинхронного суммирования вход готовности суммы, мультиплексор готовности суммы и инвертор отсутствуют, сигнал начала суммирования блока управления соединен непосредственно с блоками параллельной обработки разрядных срезов и запускающим формирователем импульсов. Technically, the problem is solved by the fact that to the asynchronous summation unit, which consists of 2m blocks of parallel processing of bit slices, 2m-1 pulse shapers and a trigger pulse shaper, the first outputs of which are connected to the corresponding inputs of the OR-NOT element, the output of which is the sum ready output, and the second outputs of the blocks for parallel processing of the discharge line slices are the outputs of the result, with the goal of combining m units of asynchronous summation into a reconfigurable matrix and realizing The terms for supplying the terms to the corresponding asynchronous summation blocks are additionally introduced: the first terminator switch-shifter, the first term multiplexer block, consisting of 2m 3 in 1 multiplexers, the second term multiplexer block, consisting of 2m 2 in 1 multiplexers, the amount ready multiplexer, inverter, 2m bus term multiplexer, each of which contains 2m n in 1 multiplexers, a device control unit, a multiplier bus multiplexer, consisting of m n in 1 multiplexers. Information inputs The odes of the bus term multiplexers are connected to n 2m-bit data inputs, the information inputs of the bus multiplexer of the multiplier are connected to n m-bit inputs, which are the least significant bits of the data inputs. The output of the bus multiplexer multiplier, as well as the input of the commands are connected to the control unit. The outputs of the bus term multiplexers are connected to the corresponding inputs of the units of asynchronous summation. The outputs of the control unit are connected to the control inputs of the bus factor multiplexer, bus term multiplexers, as well as the blocks of the first term multiplexers, the blocks of the second term multiplexers, the readiness multiplexers of the sum of asynchronous summation blocks, the output of the summation start of the control block is connected to the second input of the readiness multiplexer of the sum of asynchronous summation blocks . The input of the first term of the asynchronous summation unit is connected to the switch-shifter of the first term and the second input of the multiplexer block of the first term. The output of the switch-shifter is connected to the first input of the block of multiplexers of the first term, the third input of the block of multiplexers of the first term is connected to the input of logical zero. The input of the second term of the asynchronous summation block is connected to the second input of the second term multiplexer block. The first input of the second term multiplexer block, excluding the first asynchronous summation block, is connected to the output of the result of the previous asynchronous summation block, the first input of the second term multiplexer block of the first term asynchronous summation is connected to a logic zero. The outputs of the blocks of the multiplexers of the first and second term are connected to the corresponding inputs of the blocks for parallel processing of bit slices. The sum readiness input is the sum readiness output of the previous asynchronous summation block, excluding the first asynchronous summation block, and is connected through the inverter to the first input of the sum readiness multiplexer. The output of the sum readiness multiplexer is connected to blocks for parallel processing of bit slices and a triggering pulse shaper. In the first block of asynchronous summation, the sum readiness input, the sum readiness multiplexer and the inverter are absent, the summation start signal of the control unit is connected directly to the blocks for parallel processing of bit slices and the triggering pulse shaper.

Сущность изобретения поясняется чертежами, где на фиг. 1 изображена структурная схема реконфигурируемого асинхронного сумматора-умножителя, на фиг. 2 изображена структурная схема блока асинхронного суммирования, на фиг. 3 изображен пример, иллюстрирующий процесс умножения, на фиг. 4 изображена таблица, показывающая значения сигналов управления при выполнении операций сложения и умножения. The invention is illustrated by drawings, where in FIG. 1 is a structural diagram of a reconfigurable asynchronous adder-multiplier; FIG. 2 shows a block diagram of an asynchronous summation unit; FIG. 3 is an example illustrating the multiplication process; FIG. 4 is a table showing the values of control signals during addition and multiplication operations.

Реконфигурируемый асинхронный сумматор-умножитель состоит из 2m шинных мультиплексоров слагаемых 1, которые объединены в блок шинных мультиплексоров слагаемых 2, шинного мультиплексора множителя 3, блока управления 4, m блоков асинхронного суммирования 5, которые объединены в реконфигурируемую матрицу 6. В блок асинхронного суммирования входят коммутатор-сдвигатель 7, блок мультиплексоров первого слагаемого 8, блок мультиплексоров второго слагаемого 9, мультиплексор готовности суммы 10, асинхронный сумматор 11, со стоящий из 2m блоков параллельной обработки разрядных срезов 12, 2m-1 формирователей импульсов 131...132m-1, запускающего формирователя импульсов 130, инвертора 14, элемента ИЛИ-НЕ 15.The reconfigurable asynchronous adder-multiplier consists of 2m bus term multiplexers 1, which are combined into a block of bus term multiplexers 2, a bus multiplexer of factor 3, a control unit 4, m units of asynchronous summation 5, which are combined into a reconfigurable matrix 6. The switch includes an asynchronous summation unit -motor 7, block of multiplexers of the first term 8, block of multiplexers of the second term 9, readiness multiplexer of sum 10, asynchronous adder 11, consisting of 2m parallel blocks the processing of the discharge sections 12, 2m-1 of the pulse shapers 13 1 ... 13 2m-1 , starting the pulse shaper 13 0 , inverter 14, OR-NOT 15 element.

Устройство работает следующим образом. Известно, что произведение двух k-разрядных чисел есть 2k-paзрядное число, которое является суммой k сдвигов одного из множителей, сдвинутых согласно значениям разрядов другого множителя, то есть, к примеру, произведение чисел 11 (двоичное представление 1011) и 7 (двоичное представление 0111) есть сумма сдвигов числа 1011 согласно значениям разрядов числа 0111 (проиллюстрировано на фиг. 3). Таким образом, возможно построение устройства, выполняющего в определенный промежуток времени либо одно умножение двух k-разрядных чисел, либо k сложений чисел разрядностью 2k-l. Предлагаемое устройство реализует данную возможность с помощью матрицы параллельных асинхронных сумматоров, выполняемая операция (умножение либо группа сложений) определяется с помощью изменения конфигурации связей блоков асинхронного суммирования и подачей на блоки асинхронного суммирования требуемых входных значений. Программоуправляемый блок управления 4 управляет работой следующих блоков устройства: шинных мультиплексоров слагаемых 11...12m с помощью соответствующих сигналов управления шинными мультиплексорами слагаемых УМ1...УМ2m шинного мультиплексора множителя 3 с помощью сигнала управления шинным мультиплексором множителя УММ; блоками мультиплексоров первого слагаемого 8, блоками мультиплексоров второго слагаемого 9, мультиплексорами готовности суммы 10 блоков асинхронного суммирования 51...5m с помощью сигналов управления блоками асинхронного суммирования УС1...УСm, кроме того, блок управления выдает на блоки асинхронного суммирования сигнал C начала суммирования. Возможны два типа операций, исполняемых устройством в определенный момент времени: выполнение одного умножения двух m-разрядных чисел, либо m сложений чисел разрядностью 2m. В зависимости от кода операции, определяемого программой, подаваемой на вход команд ПРОГ, блок управления 4 выдает следующие значения сигналов управления, сведенные в таблицу на фиг. 4. Если выполняемая операция - умножение, на сигнал управления шинным мультиплексором множителя УММ выдается число от 1 до n требуемого входного значения множителя, определяемое программой, которое затем подается на блок управления для выполнения операции умножения. На четные номера сигналов управления шинными мультиплексорами слагаемых УМ2, УМ4,...,УМ2m выдается число от 1 до n требуемого входного значения множимого, определяемое программой, которое затем через соответствующие шинные мультиплексоры слагаемых подается на входы первого слагаемого СЛ1...СЛ1m блоков асинхронного суммирования. На нечетные номера сигналов управления шинными мультиплексорами слагаемых УM1, УМ3,...,УМ2m-1 выдается комбинация, сигнализирующая о том, что соответствующие шинные мультиплексоры слагаемых необходимо перевести в третье состояние, значения входов второго слагаемого СЛ21...СЛ2m блоков асинхронного суммирования не используются. Если выполняемые операции - группа сложений, на сигнал управления шинным мультиплексором множителя УММ выдается комбинация, сигнализирующая о том, что шинный мультиплексор множителя необходимо перевести в третье состояние, значение его выхода не используется. На сигналы управления шинными мультиплексорами слагаемых УМ1...УМ2m выдаются числа от 1 до n требуемых входных значений слагаемых, определяемые программой, которые затем через соответствующие шинные мультиплексоры слагаемых подаются на входы первого слагаемого СЛ11...СЛ1m и входы второго слагаемого СЛ21. . . СЛ2m блоков асинхронного суммирования. Сигналы управления блоками асинхронного суммирования УС1...УСm управляют блоками мультиплексоров первого слагаемого, блоками мультиплексоров второго слагаемого и мультиплексорами готовности суммы соответствующих блоков асинхронного суммирования. Каждый из сигналов управления блоком асинхронного суммирования УС является двухразрядным. Младший разряд является признаком выполняемой операции и устанавливается блоком управления в "0", если выполняемая операция - умножение, и в "1", если выполняемая операция - сложение. Старший разряд при выполнении сложения всегда принимает значение "0", а при выполнении умножения является инверсией соответствующего разряда множителя, подаваемого с шинного мультиплексора множителя на блок управления. К примеру, если i-й разряд множителя имеет значение "1", то старший разряд сигнала управления i-м блоком асинхронного суммирования УСi принимает значение "0". Таким образом, на первый вход асинхронного сумматора через блок мультиплексоров первого слагаемого при значении сигнала УСi "00" подается множимое со входа первого слагаемого СЛi, сдвинутое влево с помощью коммутатора-сдвигателя на i разрядов, при значении "01" подается первое слагаемое со входа первого слагаемого СЛi, при значении "10" на первый вход асинхронного сумматора подаются логические нули. На блок мультиплексоров второго слагаемого и мультиплексор готовности суммы подается только младший разряд сигнала управления блоком асинхронного суммирования УСi, таким образом, при значении младшего разряда сигнала УСi "0", на второй вход асинхронного сумматора подается выход результата предыдущего блока асинхронного суммирования, на блоки параллельной обработки разрядных срезов и запускающий формирователь импульсов - инверсия значения выхода готовности суммы предыдущего блока асинхронного суммирования, а при значении младшего разряда сигнала УСi "1" на второй вход асинхронного сумматора подается значение со входа второго слагаемого СЛ2, на блоки параллельной обработки разрядных срезов и запускающий формирователь импульсов - сигнал C начала суммирования. Процесс выполнения группы операций сложения состоит из двух стадий. Первая стадия начинается поступлением сигнала начала суммирования C = 1. К этому времени на входы асинхронного сумматора 11 уже поданы значения операндов. При поступлении сигнала C = 1 запускающий формирователь импульсов 130 вырабатывает сигнал, инициирующий начало суммирования. В результате сложения операндов по разрядам формируется текущая сумма на выходах 12 и значения переносов, которые анализируются элементом ИЛИ-НЕ 15. Если не было переносов, то текущая сумма становится окончательной, о чем сигнализирует "1" на выходе готовности суммы ГСi. Затем следует вторая стадия сложения, которая заключается в параллельной коррекции текущей суммы путем ее сложения по разрядным срезам с полученными значениями переносов. Параллельная коррекция текущей суммы осуществляется по сигналу C = 0. На время коррекции возбужденные формирователи импульсов 131...132m-1 выдают сигналы на элемент ИЛИ-НЕ 15, так что на выходе готовности суммы ГСi формируется сигнал "0", сигнализирующий о том, что сумма еще не готова. Выполнение операции умножения начинается поступлением сигнала начала суммирования C = 1 на блок асинхронного суммирования 51. Суммирование на этом блоке происходит соответственно описанному выше процессу выполнения операции сложения. После того как сумма готова, она подается с выхода результата PE31 на вход следующего блока асинхронного суммирования 52, на выходе готовности суммы сформировался сигнал ГС1 = 1, свидетельствующий о готовности суммы, одновременно разрешающий начало второй стадии сложения на блоке асинхронного суммирования 52. Корректное завершение первой стадии суммирования гарантируется более длинной цепью прохождения сигнала готовности результата через блоки 13-15-14-10, чем сигнала результата через блок 9. После завершения суммирования на блоке 52 процесс переходит на блок 53, и так далее, пока на выходе РЕЗm блока асинхронного суммирования 5m не появится результат умножения, а на выходе готовности суммы ГСm "1", свидетельствующая о готовности результата умножения.The device operates as follows. It is known that the product of two k-bit numbers is a 2k-bit number, which is the sum of k shifts of one of the factors shifted according to the bits of the other factor, that is, for example, the product of the numbers 11 (binary representation 1011) and 7 (binary representation 0111) is the sum of the shifts of the number 1011 according to the digits of the number 0111 (illustrated in FIG. 3). Thus, it is possible to build a device that performs in a certain period of time either one multiplication of two k-bit numbers, or k additions of numbers with a capacity of 2k-l. The proposed device implements this opportunity using a matrix of parallel asynchronous adders, the operation performed (multiplication or group of additions) is determined by changing the configuration of the connections of the blocks of asynchronous summation and applying the required input values to the blocks of asynchronous summation. The programmable control unit 4 controls the operation of the following device units: bus term multiplexers 1 1 ... 1 2m using the corresponding control signals of the bus multiplexers of the terms УМ 1 ... УМ 2m of the bus multiplexer of the factor 3 using the control signal of the bus multiplexer of the multiplier UMM; blocks of multiplexers of the first term 8, blocks of multiplexers of the second term 9, readiness multiplexers of the sum of 10 blocks of asynchronous summation 5 1 ... 5 m with the help of control signals of blocks of asynchronous summation US 1 ... US m , in addition, the control unit gives out asynchronous blocks summation signal C start summation. Two types of operations are possible performed by the device at a certain point in time: performing one multiplication of two m-bit numbers, or m additions of numbers with a capacity of 2m. Depending on the operation code determined by the program supplied to the input of the PROG commands, the control unit 4 generates the following values of the control signals summarized in the table in FIG. 4. If the operation being performed is a multiplication, a number from 1 to n of the required input multiplier value, determined by the program, which is then fed to the control unit to perform the multiplication operation, is outputted to the control signal of the bus multiplexer of the UMM multiplier. The even numbers of the control signals for the bus multiplexers of the terms УМ 2 , УМ 4 , ..., УМ 2m give a number from 1 to n of the required input value of the multiplier, determined by the program, which is then fed through the corresponding bus term multiplexers of the terms to the inputs of the first term СЛ 1 .. .СЛ 1m blocks of asynchronous summation. A combination is issued to the odd numbers of the control signals for the bus multiplexers of the terms УМ 1 , УМ 3 , ..., УМ 2m-1 , which signals that the corresponding bus multiplexers of the terms must be transferred to the third state, the values of the inputs of the second term СЛ2 1 ... СЛ2 m units of asynchronous summation are not used. If the operations performed are a group of additions, a combination is issued to the control signal of the bus multiplexer of the UMM multiplier, signaling that the bus multiplexer of the multiplier needs to be transferred to the third state, its output value is not used. The control signals of the bus multiplexers of the terms UM 1 ... UM 2m give numbers from 1 to n of the required input values of the terms determined by the program, which are then fed through the corresponding bus multiplexers of the terms to the inputs of the first term SL1 1 ... SL1 m and the inputs of the second term SL2 1 . . . SL2 m blocks of asynchronous summation. The control signals of the units of asynchronous summation of the DC 1 ... CSS m control the blocks of the multiplexers of the first term, the blocks of the multiplexers of the second term and the readiness multiplexers of the sum of the corresponding blocks of asynchronous summation. Each of the control signals of the unit of asynchronous summation of the DC is two-bit. The least significant bit is a sign of the operation being performed and is set by the control unit to "0" if the operation being performed is a multiplication, and to "1" if the operation being performed is addition. When performing addition, the leading digit always takes the value “0”, and when performing multiplication, it is the inverse of the corresponding digit of the factor supplied from the bus multiplexer of the factor to the control unit. For example, if the i-th digit of the multiplier has the value "1", then the most significant bit of the control signal of the i-th asynchronous summation unit of the state unit i takes the value "0". Thus, at the first input of the asynchronous adder, through the block of multiplexers of the first term, when the signal value US i is “00”, the multiplicand from the input of the first term SL i , shifted to the left by the switch-shifter by i bits, is supplied with the value “01”, the first term with the input of the first term SL i , with a value of "10", logical zeros are supplied to the first input of the asynchronous adder. Only the low-order bit of the control signal of the unit of asynchronous summation of the state unit i is supplied to the block of multiplexers of the second term and the readiness multiplexer of the sum, thus, when the value of the least significant bit of the signal of state unit i is "0", the output of the result of the previous block of asynchronous summation is fed to the second input of the asynchronous adder parallel processing of bit slices and the starting pulse shaper - inversion of the value of the readiness output of the sum of the previous block of asynchronous summation, and with the value of the younger p the signal circuit of the signal US i "1" to the second input of the asynchronous adder is fed the value from the input of the second term SL 2 , to the blocks for parallel processing of the discharge slices and the starting pulse shaper - signal C of the beginning of the summation. The process of performing a group of operations of addition consists of two stages. The first stage begins with the arrival of the summation start signal C = 1. By this time, the values of the operands have already been submitted to the inputs of the asynchronous adder 11. When a signal C = 1 arrives, the triggering pulse driver 13 0 generates a signal that initiates the beginning of the summation. As a result of the addition of the operands by the bits, the current sum is formed at outputs 12 and the carry values are analyzed by the OR-NOT 15. If there were no transfers, the current amount becomes final, which is indicated by "1" at the ready output of the sum of HS i . Then follows the second stage of addition, which consists in parallel correction of the current amount by adding it along the bit slices with the obtained carry values. Parallel correction of the current amount is carried out according to the signal C = 0. For the correction time, the excited pulse shapers 13 1 ... 13 2m-1 give signals to the OR-NOT 15 element, so that a signal “0” is generated at the output of the readiness of the sum of GS i , signaling that the amount is not yet ready. The multiplication operation begins with the arrival of the summation start signal C = 1 to the asynchronous summation block 5 1 . Summation on this block occurs according to the process described above for performing the addition operation. After the sum is ready, it is fed from the output of the result PE3 1 to the input of the next block of asynchronous summation 5 2 , at the output of the sum ready, a signal GS 1 = 1 was generated, indicating the readiness of the sum, simultaneously allowing the beginning of the second stage of addition on the block of asynchronous summation 5 2 . The correct completion of the first stage of summation is guaranteed by a longer chain of passage of the result ready signal through blocks 13-15-14-10 than of the result signal through block 9. After completion of the summation on block 5 2, the process goes to block 5 3 , and so on, until the output of REZ m of the asynchronous summation block 5 m does not result in the multiplication, but at the output of the readiness of the sum of the GS m "1", indicating the readiness of the result of the multiplication.

Список использованной литературы
1. Карцев М.А. Арифметика цифровых машин. - М.: Наука.
List of references
1. Kartsev M.A. Arithmetic of digital machines. - M .: Science.

2. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов. - М.: Мир, 1989. 2. Bleikhut R. Fast digital signal processing algorithms. - M.: Mir, 1989.

3. Патент РФ N 2097826, 1997. Титенко Е.А., Титов B.C., Довгаль В.М. 3. RF patent N 2097826, 1997. Titenko EA, Titov B.C., Dovgal V.M.

Claims (1)

Реконфигурируемый асинхронный сумматор-умножитель, содержащий блок асинхронного суммирования, состоящий из 2m блоков параллельной обработки разрядных срезов, 2m-1 формирователей импульсов и запускающего формирователя импульсов, первые выходы формирователей импульсов и запускающего формирователя импульсов соединены с соответствующими входами элемента ИЛИ-НЕ, выход которого является выходом готовности суммы блока асинхронного суммирования, а вторые выходы блоков параллельной обработки разрядных срезов являются выходами результата блока асинхронного суммирования, отличающийся тем, что в него введены 2m шинных мультиплексоров слагаемых, каждый из которых содержит m мультиплексоров n в 1, блок управления устройством, шинный мультиплексор множителя, состоящий из m мультиплексоров n в 1, m-1 блоков асинхронного суммирования, а в каждый блок асинхронного суммирования дополнительно введены коммутатор-сдвигатель первого слагаемого, блок мультиплексоров первого слагаемого, состоящий из 2m мультиплексоров 3 в 1, блок мультиплексоров второго слагаемого, состоящий из 2m мультиплексоров 2 в 1, мультиплексор готовности суммы, инвертор, причем информационные входы шинных мультиплексоров слагаемых соединены с n 2m-разрядными входами данных сумматора-умножителя, информационные входы шинного мультиплексора множителя соединены с n m-разрядными входами данных, являющимися младшими разрядами входов данных сумматора-умножителя, выход шинного мультиплексора множителя и вход команд сумматора-умножителя подключены к блоку управления, управляющие выходы которого соединены с соответствующими шинными мультиплексорами слагаемых, шинным мультиплексором множителя, выходы шинных мультиплексоров слагаемых соединены с соответствующими входами слагаемых блоков асинхронного суммирования, выход результата и выход готовности суммы каждого блока асинхронного суммирования являются выходами сумматора-умножителя и одновременно служат входами результата и готовности суммы для соответствующего следующего блока асинхронного суммирования, в каждом блоке асинхронного суммирования вход первого слагаемого соединен с вторым входом блока мультиплексоров первого слагаемого и коммутатором-сдвигателем первого слагаемого, выход которого соединен с первым входом блока мультиплексоров первого слагаемого, третий вход блока мультиплексоров первого слагаемого соединен с логическим нулем, вход второго слагаемого и выход результата предыдущего блока асинхронного суммирования - соответственно с вторым и первым входами блока мультиплексоров второго слагаемого, выходы блока мультиплексоров первого слагаемого и блока мультиплексоров второго слагаемого - с соответствующими первыми и вторыми входами блоков параллельной обработки разрядных срезов, вход готовности суммы блока асинхронного суммирования через инвертор соединен с первым входом мультиплексора готовности суммы, выход мультиплексора готовности суммы - с соответствующими входами блоков параллельной обработки разрядных срезов и запускающим формирователем импульсов, блок управления предназначен для подачи на блоки мультиплексоров первого и второго слагаемых, мультиплексор готовности суммы каждого блока асинхронного суммирования соответствующих управляющих сигналов. A reconfigurable asynchronous adder-multiplier containing an asynchronous summing unit consisting of 2m blocks of parallel processing of bit slices, 2m-1 pulse shapers and a trigger pulse shaper, the first outputs of the pulse shapers and the trigger pulse shaper are connected to the corresponding inputs of the OR-NOT element, the output of which is the readiness output of the sum of the asynchronous summation block, and the second outputs of the blocks for parallel processing of bit slices are outputs of the result b asynchronous summing unit, characterized in that 2m bus term multiplexers of terms are introduced into it, each of which contains m n in 1 multiplexers, a device control unit, a multiplier bus multiplexer consisting of m n in 1 multiplexers, m-1 asynchronous summation blocks, and a switch-shifter of the first term, a block of multiplexers of the first term, consisting of 2m 3 in 1 multiplexers, a block of multiplexers of the second term, consisting of 2m multiplex, are additionally introduced into each block of asynchronous summation 2 in 1, a readiness sum multiplexer, an inverter, and the information inputs of the bus term multiplexers are connected to n 2m-bit data inputs of the adder-multiplier, the information inputs of the bus multiplexer of the multiplier are connected to n m-bit data inputs, which are the least significant bits of the adder data inputs the multiplier, the output of the bus multiplexer of the multiplier and the input of the adder-multiplier commands are connected to the control unit, the control outputs of which are connected to the corresponding bus multiplexers x, by the bus multiplexer of the multiplier, the outputs of the bus multiplexers of the terms connected to the corresponding inputs of the terms of the blocks of asynchronous summation, the output of the result and the readiness output of the sum of each block of the asynchronous summation are the outputs of the adder-multiplier and at the same time serve as inputs of the result and the readiness of the sum for the corresponding next block of asynchronous summation, in each block of asynchronous summation, the input of the first term is connected to the second input of the block of multiplexers of the first term of the first term and the shifter-shifter of the first term, the output of which is connected to the first input of the first term multiplexers block, the third input of the first term multiplexers block is connected to logic zero, the input of the second term and the output of the result of the previous asynchronous summation block are respectively with the second and first inputs of the second multiplexers block of the term, the outputs of the block of multiplexers of the first term and the block of multiplexers of the second term - with the corresponding first and second inputs of blocks of pairs parallel processing of bit slices, the readiness input of the sum of the asynchronous summation block through the inverter is connected to the first input of the sum readiness multiplexer, the output of the sum readiness multiplexer is connected to the corresponding inputs of the blocks of parallel processing of the bit slices and the triggering pulse shaper, the control unit is designed to feed the first and second multiplexers terms, the readiness multiplexer of the sum of each block of asynchronous summation of the corresponding control signals.
RU99109904A 1999-05-05 1999-05-05 Flexible asynchronous adder-multiplier RU2159464C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU99109904A RU2159464C1 (en) 1999-05-05 1999-05-05 Flexible asynchronous adder-multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU99109904A RU2159464C1 (en) 1999-05-05 1999-05-05 Flexible asynchronous adder-multiplier

Publications (1)

Publication Number Publication Date
RU2159464C1 true RU2159464C1 (en) 2000-11-20

Family

ID=20219716

Family Applications (1)

Application Number Title Priority Date Filing Date
RU99109904A RU2159464C1 (en) 1999-05-05 1999-05-05 Flexible asynchronous adder-multiplier

Country Status (1)

Country Link
RU (1) RU2159464C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2461867C1 (en) * 2011-06-23 2012-09-20 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" - Госкорпорация "Росатом" Reconfigurable computational conveyor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2461867C1 (en) * 2011-06-23 2012-09-20 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" - Госкорпорация "Росатом" Reconfigurable computational conveyor

Similar Documents

Publication Publication Date Title
US3515344A (en) Apparatus for accumulating the sum of a plurality of operands
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US6209017B1 (en) High speed digital signal processor
US5883824A (en) Parallel adding and averaging circuit and method
US4041292A (en) High speed binary multiplication system employing a plurality of multiple generator circuits
US4156922A (en) Digital system for computation of the values of composite arithmetic expressions
US3508038A (en) Multiplying apparatus for performing division using successive approximate reciprocals of a divisor
EP0576262A2 (en) Apparatus for multiplying integers of many figures
WO1993022721A1 (en) Compact multiplier
US4965762A (en) Mixed size radix recoded multiplier
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
US20140136588A1 (en) Method and apparatus for multiplying binary operands
JP3213628B2 (en) An arithmetic unit for multiplying long integers modulo M and an R.M. S. A. converter
EP0295788B1 (en) Apparatus and method for an extended arithmetic logic unit for expediting selected operations
JP3277089B2 (en) Multiplier and product-sum operation unit
RU2159464C1 (en) Flexible asynchronous adder-multiplier
US4503512A (en) Cellular division circuit
US7607165B2 (en) Method and apparatus for multiplication and/or modular reduction processing
KR100271074B1 (en) Process and configuration for establishing the sum of a chain of products
JPS58137045A (en) Parallel multiplier
EP0534760A2 (en) High speed multiplier device
US5691930A (en) Booth encoder in a binary multiplier
RU2797164C1 (en) Pipeline module multiplier
US5119325A (en) Multiplier having a reduced number of partial product calculations
EP2270647A1 (en) Multi-bit carry chain