RU2290687C1 - Processor with maximum possible efficiency for fast fourier transformation - Google Patents

Processor with maximum possible efficiency for fast fourier transformation Download PDF

Info

Publication number
RU2290687C1
RU2290687C1 RU2005116578/09A RU2005116578A RU2290687C1 RU 2290687 C1 RU2290687 C1 RU 2290687C1 RU 2005116578/09 A RU2005116578/09 A RU 2005116578/09A RU 2005116578 A RU2005116578 A RU 2005116578A RU 2290687 C1 RU2290687 C1 RU 2290687C1
Authority
RU
Russia
Prior art keywords
input
output
address
block
information
Prior art date
Application number
RU2005116578/09A
Other languages
Russian (ru)
Other versions
RU2005116578A (en
Inventor
Александр Яковлевич Стальной (RU)
Александр Яковлевич Стальной
Дмитрий Михайлович Литвинов (RU)
Дмитрий Михайлович Литвинов
Валерий Александрович Шуцко (RU)
Валерий Александрович Шуцко
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 RU2005116578/09A priority Critical patent/RU2290687C1/en
Publication of RU2005116578A publication Critical patent/RU2005116578A/en
Application granted granted Critical
Publication of RU2290687C1 publication Critical patent/RU2290687C1/en

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

FIELD: computer engineering; digital signal processing; devices, which perform FFT of arrays of arbitrary dimension N=2r.
SUBSTANCE: processor contains five address formers, two address commutators, coefficients permanent memory unit, RAM unit, two arithmetic units, control unit.
EFFECT: potentially highest possible processor efficiency for FFT with defined element base for its implementation.
4 cl, 5 dwg

Description

Изобретение относится к вычислительной технике и может быть использовано в устройствах цифровой обработки сигналов, в частности устройствах, выполняющих быстрое преобразование Фурье (БПФ) массивов произвольной размерности N=2r.The invention relates to computer technology and can be used in digital signal processing devices, in particular, devices performing fast Fourier transform (FFT) of arrays of arbitrary dimension N = 2 r .

Из множества аналогичных устройств наиболее близким по технической сущности к изобретению является процессор для быстрого преобразования Фурье, содержащий первый и второй блоки постоянной памяти коэффициентов, блок памяти, арифметический блок, первый-третий формирователи адреса, первый и второй элементы И, элемент ИЛИ, счетчик, коммутатор, дешифратор, первый-десятый регистры, при этом информационный вход первого формирователя адреса подключен к первому информационному входу коммутатора, выход которого подключен к адресному входу блока памяти, информационный выход, вход которого является информационным выходом процессора, подключен к информационным входам регистров с первого по четвертый, выходы которых подключены к входам соответственно реальной и мнимой частей первого операнда и входам реальной и мнимой частей второго операнда арифметического блока, входы реальной и мнимой частей коэффициента которого подключены к выходам соответственно пятого и шестого регистров, информационные входы которых подключены к выходу первого блока постоянной памяти коэффициентов, адресный вход которого подключен к информационному выходу второго формирователя адреса, информационный вход которого соединен с информационными входами первого и третьего формирователей адреса и является информационным входом процессора, тактовым входом которого являются соединенные между собой первые входы первого и второго элементов И, выходы которых соответственно подключены: первого - к тактовым входам первого, второго и третьего формирователей адреса, второго - к первому входу дешифратора и счетному входу счетчика, информационный выход которого подключен к адресному входу второго блока постоянной памяти коэффициентов, выходы с первого по пятый которого соответственно подключены к входу управления записью-считыванием блока памяти, управляющему входу коммутатора, второму входу первого элемента И, второму входу дешифратора и входу начала вычислений арифметического блока; выходы реальной и мнимой частей первого и реальной и мнимой частей второго результатов процессора подключены к информационным входам соответственно седьмого, восьмого, девятого и десятого регистров, выходы которых подключены к информационному входу-выходу блока памяти; шестой выход второго блока постоянной памяти коэффициентов подключен к тактовому входу арифметического блока и третьему входу дешифратора, первый выход которого подключен к тактовым входам регистров с первого по шестой, входы обнуления которых соединены с первым входом элемента ИЛИ и подключены к первому установочному выходу первого формирователя адреса, тактовый выход которого подключен к второму входу второго элемента И; входы разрешения записи первого, второго, пятого и шестого регистров подключены к седьмому выходу второго блока постоянной памяти коэффициентов, восьмой выход которого подключен к входам разрешения записи третьего и четвертого регистров; входы разрешения выдачи регистров с седьмого по десятый подключены к девятому выходу второго блока постоянной памяти коэффициентов, десятый выход которого подключен к входу обнуления арифметического блока и второму входу элемента ИЛИ, выход которого подключен к входу обнуления счетчика; второй выход дешифратора подключен к тактовому входу арифметического блока и тактовым входам регистров с седьмого по десятый; информационный выход третьего формирователя адреса подключен к второму информационному входу коммутатора [SU 1633426, 5 G 06 F 15/332, 1991].Of the many similar devices, the closest in technical essence to the invention is a processor for fast Fourier transform, containing the first and second blocks of constant coefficient memory, a memory block, an arithmetic block, the first and third address formers, the first and second AND elements, the OR element, the counter, a switch, a decoder, the first to tenth registers, while the information input of the first driver is connected to the first information input of the switch, the output of which is connected to the address input and the memory, the information output, the input of which is the information output of the processor, is connected to the information inputs of the registers from first to fourth, the outputs of which are connected to the inputs of the real and imaginary parts of the first operand and the inputs of the real and imaginary parts of the second operand of the arithmetic block, the inputs are real and imaginary parts of the coefficient of which are connected to the outputs of the fifth and sixth registers, respectively, the information inputs of which are connected to the output of the first block of constant memory of the coefficients, whose address input is connected to the information output of the second address shaper, the information input of which is connected to the information inputs of the first and third address shapers and is the information input of the processor, the clock input of which is the first inputs of the first and second elements AND, the outputs of which are respectively connected: the first - to the clock inputs of the first, second and third address formers, the second - to the first input of the decoder and the counting input of the counter, information the output of which is connected to the address input of the second block of constant memory of coefficients, the first to fifth outputs of which are respectively connected to the write-read control input of the memory block, the control input of the switch, the second input of the first AND element, the second input of the decoder and the input of the calculation of the arithmetic block; the outputs of the real and imaginary parts of the first and real and imaginary parts of the second processor results are connected to the information inputs of the seventh, eighth, ninth and tenth registers, respectively, the outputs of which are connected to the information input-output of the memory block; the sixth output of the second block of constant memory of the coefficients is connected to the clock input of the arithmetic block and the third input of the decoder, the first output of which is connected to the clock inputs of the registers from the first to the sixth, the zeroing inputs of which are connected to the first input of the OR element and connected to the first installation output of the first address generator, whose clock output is connected to the second input of the second AND element; the recording permission inputs of the first, second, fifth and sixth registers are connected to the seventh output of the second block of constant memory of the coefficients, the eighth output of which is connected to the recording permission inputs of the third and fourth registers; the seventh to tenth register enable inputs are connected to the ninth output of the second constant memory block of coefficients, the tenth output of which is connected to the input of zeroing of the arithmetic block and the second input of the OR element, the output of which is connected to the input of resetting the counter; the second output of the decoder is connected to the clock input of the arithmetic block and the clock inputs of the registers from the seventh to the tenth; the information output of the third address generator is connected to the second information input of the switch [SU 1633426, 5 G 06 F 15/332, 1991].

Причиной, препятствующей достижению указанного ниже технического результата при использовании известного процессора для БПФ, является то, что при выбранной элементной базе реализации максимальное значение его быстродействия принципиально ограничено необходимостью последовательного обращения к памяти при вычислениях.The reason that impedes the achievement of the technical result indicated below when using the well-known processor for FFT is that when the selected element base of the implementation, the maximum value of its speed is fundamentally limited by the need for sequential access to memory during calculations.

Сущность изобретения заключается в следующем.The invention consists in the following.

Технический результат, достигаемый при осуществлении изобретения, выражается в обеспечении потенциально возможного максимального быстродействия процессора для БПФ при заданном выборе элементной базы его реализации.The technical result achieved during the implementation of the invention is expressed in providing the potential maximum processor speed for the FFT with a given choice of the element base for its implementation.

Это достигается тем, что в известный процессор для БПФ, содержащий блок постоянной памяти коэффициентов, первый арифметический блок, первый, второй и третий формирователи адреса, первый коммутатор адреса, согласно изобретению введены блок управления, блок оперативного запоминающего устройства (ОЗУ), второй арифметический блок, четвертый и пятый блоки формирования адреса, второй коммутатор адреса, при этом информационный вход каждого из формирователей адреса подключен к шине входных данных, являющейся информационным входом устройства, тактовый вход первого и второго формирователей адреса соединен с первым выходом блока управления, второй выход которого соединен с тактовым входом третьего, четвертого и пятого формирователей адреса; информационный выход первого и второго формирователей адреса подключен соответственно к первому и второму входам первого коммутатора адреса, тактовый вход которого соединен с третьим выходом блока управления и этот выход также соединен с первыми тактовыми входами первого и второго арифметических блоков и тактовым входом второго коммутатора адреса, к первому и второму информационным входам которого подключены информационные выходы третьего и четвертого формирователей адреса; управляющий выход третьего формирователя адреса соединен с третьим входом блока управления, первый и второй входы которого соединены с вторым и третьим управляющими выходами первого формирователя адреса, а четвертый вход - с источником напряжения тактовой частоты; информационный выход пятого формирователя адреса подключен к входу блока постоянной памяти коэффициентов, информационный выход которого подключен к второму входу первого и второго арифметических блоков, выходы которых объединены, подключены к третьему информационному входу блока ОЗУ и являются при этом информационным выходом устройства; выход первого коммутатора адреса соединен с первым информационным входом блока ОЗУ и является при этом адресным выходом устройства; выход второго коммутатора адреса соединен с вторым информационным входом блока ОЗУ, первый, второй и третий тактовые входы которого соединены соответственно с четвертым, пятым и шестым выходами блока управления, седьмой и восьмой выходы которого подключены к второму тактовому входу соответственно первого и второго арифметических блоков, к первому информационному входу которых подключен информационный выход блока ОЗУ.This is achieved by the fact that in the known processor for the FFT containing the constant memory unit of the coefficients, the first arithmetic unit, the first, second and third address generators, the first address switch, according to the invention, a control unit, a random access memory (RAM) unit, a second arithmetic unit are introduced , the fourth and fifth blocks of the formation of the address, the second address switch, while the information input of each of the address formers is connected to the input data bus, which is the information input of the device, input of the first assembly and second address generators connected to the first output of the control unit, the second output of which is connected to the clock input of the third, fourth and fifth address generators; the information output of the first and second address generators is connected respectively to the first and second inputs of the first address switch, the clock input of which is connected to the third output of the control unit and this output is also connected to the first clock inputs of the first and second arithmetic blocks and the clock input of the second address switch, to the first and the second information inputs of which the information outputs of the third and fourth address formers are connected; the control output of the third address generator is connected to the third input of the control unit, the first and second inputs of which are connected to the second and third control outputs of the first address generator, and the fourth input to the clock voltage source; the information output of the fifth address generator is connected to the input of the constant memory block of coefficients, the information output of which is connected to the second input of the first and second arithmetic units, the outputs of which are combined, connected to the third information input of the RAM block and are the information output of the device; the output of the first address switch is connected to the first information input of the RAM unit and is the address output of the device; the output of the second address switch is connected to the second information input of the RAM unit, the first, second and third clock inputs of which are connected respectively to the fourth, fifth and sixth outputs of the control unit, the seventh and eighth outputs of which are connected to the second clock input of the first and second arithmetic units, respectively the first information input of which the information output of the RAM block is connected.

Блок управления содержит постоянное запоминающее устройство (ПЗУ), регистр, первый и второй логические элементы НЕ, первый-четвертый логические элементы И, при этом первый, второй и третий адресные входы ПЗУ являются соответственно первым, вторым и третьим входом блока, четвертым тактовым входом которого является вход записи регистра, который объединен с входом первого и второго логических элементов НЕ и вторыми входами первого и второго логических элементов И, причем выходы первого и второго логических элементов НЕ подключены к вторым входам соответственно третьего и четвертого логических элементов И; информационные выходы регистра подключены к ПЗУ, выход которого соединен с информационным входом регистра, первый выход которого соединен с первым входом первого логического элемента И, выход которого является первым выходом блока, второй выход регистра соединен с первым входом второго логического элемента И, выход которого является вторым выходом блока, третий, четвертый, пятый и шестой выходы регистра являются соответственно третьим-шестым выходами блока, седьмой выход регистра соединен с первым входом третьего логического элемента И, выход которого является седьмым выходом блока, восьмой выход регистра соединен с первым входом четвертого логического элемента И, выход которого является восьмым выходом блока.The control unit contains a read-only memory (ROM), a register, the first and second logical elements NOT, the first to fourth logical elements AND, while the first, second and third address inputs of the ROMs are respectively the first, second and third input of the unit, the fourth clock input of which is the input of the register entry, which is combined with the input of the first and second logical elements NOT and the second inputs of the first and second logical elements AND, and the outputs of the first and second logical elements are NOT connected to the second moves the third and fourth AND gates; the information outputs of the register are connected to a ROM, the output of which is connected to the information input of the register, the first output of which is connected to the first input of the first logical element And, the output of which is the first output of the block, the second output of the register is connected to the first input of the second logical element And, the output of which is the second block output, the third, fourth, fifth and sixth outputs of the register are respectively the third to sixth outputs of the block, the seventh output of the register is connected to the first input of the third logical element And, whose output is the seventh output of the block, the eighth output of the register is connected to the first input of the fourth logical element And, the output of which is the eighth output of the block.

Блок ОЗУ содержит третий и четвертый коммутаторы адреса, третий и четвертый логические элементы НЕ, пятый-восьмой логические элементы И, первый и второй банки ОЗУ, демультиплексор данных и первый мультиплексор данных, при этом первый вход третьего коммутатора адреса и второй вход четвертого коммутатора адреса объединены и являются первым информационным входом блока, второй вход третьего коммутатора адреса и первый вход четвертого коммутатора адреса объединены и являются вторым информационным входом блока, выход третьего коммутатора адреса подключен к первому информационному входу первого банка ОЗУ, а выход четвертого коммутатора адреса - к первому информационному входу второго банка ОЗУ; первые входы пятого и шестого логических элементов И объединены и являются первым тактовым входом блока; первые входы седьмого и восьмого логических элементов И объединены и являются вторым тактовым входом блока; тактовые входы третьего и четвертого коммутаторов адреса, демультиплексора данных и первого мультиплексора данных, вторые тактовые входы логических элементов И, причем шестого и восьмого - соответственно через третий и четвертый логические элементы НЕ, объединены и являются третьим тактовым входом блока; выход пятого логического элемента И соединен с первым тактовым входом первого банка ОЗУ, второй тактовый вход которого соединен с выходом восьмого логического элемента И, выход шестого логического элемента И соединен с первым тактовым входом второго банка ОЗУ, второй тактовый вход которого соединен с выходом седьмого логического элемента И; первый выход демультиплексора данных подключен к второму информационному входу первого банка ОЗУ и второму информационному входу первого мультиплексора данных, а второй выход - к второму информационному входу второго банка ОЗУ и первому информационному входу первого мультиплексора данных, при этом вход демультиплексора данных является третьим информационным входом блока, выход первого мультиплексора данных - выходом блока.The RAM block contains the third and fourth address switches, the third and fourth logical elements NOT, the fifth-eighth logical elements AND, the first and second banks of RAM, a data demultiplexer and a first data multiplexer, while the first input of the third address switch and the second input of the fourth address switch are combined and are the first information input of the block, the second input of the third address switch and the first input of the fourth switch of the address are combined and are the second information input of the block, the output of the third switch a the address is connected to the first information input of the first RAM bank, and the output of the fourth address switch is connected to the first information input of the second RAM bank; the first inputs of the fifth and sixth logical elements AND are combined and are the first clock input of the block; the first inputs of the seventh and eighth logical elements AND are combined and are the second clock input of the block; the clock inputs of the third and fourth switches of the address, the data demultiplexer and the first data multiplexer, the second clock inputs of AND gates, and the sixth and eighth - respectively, through the third and fourth logical gates NOT, are combined and are the third clock input of the block; the output of the fifth logical element AND is connected to the first clock input of the first bank of RAM, the second clock input of which is connected to the output of the eighth logical element And, the output of the sixth logical element And is connected to the first clock input of the second bank of RAM, the second clock input of which is connected to the output of the seventh logical element AND; the first output of the data demultiplexer is connected to the second information input of the first RAM bank and the second information input of the first data multiplexer, and the second output is connected to the second information input of the second RAM bank and the first information input of the first data multiplexer, while the input of the data demultiplexer is the third information input of the block, the output of the first data multiplexer is the output of the block.

Арифметический блок содержит пятый логический элемент НЕ, девятый и десятый логические элементы И, пять регистров хранения данных, четыре умножителя, три вычитателя, три сумматора и второй мультиплексор данных, при этом вход пятого логического элемента НЕ, второй вход десятого логического элемента И, первый тактовый вход второго мультиплексора объединены и являются первым тактовым входом блока, причем выход пятого логического элемента НЕ соединен с вторым входом девятого логического элемента И; первый вход девятого и десятого логических элементов И, второй тактовый вход второго мультиплексора объединены и являются вторым тактовым входом блока; выход девятого логического элемента И соединен с тактовым входом первого, четвертого и пятого регистров хранения данных, а выход десятого логического элемента И - с тактовым входом второго и третьего регистров хранения данных; информационные входы первого и второго регистров хранения данных объединены и являются первым информационным входом блока, а информационный вход третьего регистра хранения данных - вторым информационным входом блока; первый выход первого регистра хранения данных подключен к первому входу соответственно второго сумматора и второго вычитателя, а второй выход - к первому входу соответственно третьего сумматора и третьего вычитателя, первый выход второго регистра хранения данных подключен к первому входу соответственно первого и третьего перемножителей, а второй выход - к первому входу соответственно второго и четвертого перемножителей, первый выход третьего регистра хранения данных подключен к второму входу соответственно первого и четвертого перемножителей, а второй выход - к второму входу второго и третьего перемножителей; выходы первого и второго перемножителей соединены соответственно с первым и вторым входом первого вычитателя, выход которого подключен к второму входу соответственно второго сумматора и второго вычитателя, выходы третьего и четвертого перемножителей соединены соответственно с первым и вторым входом первого сумматора, выход которого подключен к второму входу соответственно третьего сумматора и третьего вычитателя; выходы второго и третьего сумматоров соединены соответственно с первым и вторым информационным входами четверного регистра хранения данных, выходы второго и третьего вычитателей соединены соответственно с первым и вторым информационным входами пятого регистра хранения данных; выходы четвертого и пятого регистров хранения данных подключены соответственно к первому и второму информационному входу второго мультиплексора, выход которого является выходом блока.The arithmetic block contains the fifth logical element NOT, the ninth and tenth logical elements AND, five data storage registers, four multipliers, three subtractors, three adders and a second data multiplexer, while the input of the fifth logical element is NOT, the second input of the tenth logical element And, the first clock the input of the second multiplexer is combined and is the first clock input of the block, and the output of the fifth logic element is NOT connected to the second input of the ninth logical element And; the first input of the ninth and tenth logical elements AND, the second clock input of the second multiplexer are combined and are the second clock input of the block; the output of the ninth logical element And is connected to the clock input of the first, fourth and fifth registers of data storage, and the output of the tenth logical element And is connected to the clock input of the second and third registers of data storage; information inputs of the first and second data storage registers are combined and are the first information input of the block, and the information input of the third data storage register is the second information input of the block; the first output of the first data storage register is connected to the first input of the second adder and the second subtracter, respectively, and the second output is to the first input of the third adder and the third subtracter, the first output of the second data storage register is connected to the first input of the first and third multipliers, respectively, and the second output - to the first input of the second and fourth multipliers, respectively, the first output of the third data storage register is connected to the second input of the first and fourth scissors, and the second output to the second input of the second and third multipliers; the outputs of the first and second multipliers are connected respectively to the first and second input of the first subtractor, the output of which is connected to the second input of the second adder and the second subtracter respectively, the outputs of the third and fourth multipliers are connected respectively to the first and second input of the first adder, the output of which is connected to the second input, respectively third adder and third subtractor; the outputs of the second and third adders are connected respectively to the first and second information inputs of the fourth data storage register, the outputs of the second and third subtractors are connected respectively to the first and second information inputs of the fifth data storage register; the outputs of the fourth and fifth data storage registers are connected respectively to the first and second information input of the second multiplexer, the output of which is the output of the block.

Введение в процессор дополнительных блоков памяти обеспечивает параллельную работу элементов первого арифметического блока, выполняющего базовую операцию БПФ - "бабочку", а введение второго арифметического блока обеспечивает конвейеризацию операций "считывание-операция-запись", вследствие чего достигается максимально возможная производительность процессора в целом.The introduction of additional memory blocks into the processor ensures parallel operation of the elements of the first arithmetic block performing the basic FFT operation - the butterfly, and the introduction of the second arithmetic block provides pipelining of read-operation-write operations, as a result of which the maximum possible processor performance is achieved as a whole.

Изобретение поясняется чертежами, на которых представлены: фиг.1 - функциональная схема заявленного процессора для БПФ; фиг.2 - структурная схема блока управления; фиг.3 - структурная схема блока ОЗУ; фиг.4 - структурная схема арифметического блока; фиг.5 - временная диаграмма работы заявленного процессора для БПФ.The invention is illustrated by drawings, in which: FIG. 1 is a functional diagram of the claimed processor for an FFT; figure 2 is a structural diagram of a control unit; figure 3 is a structural diagram of a block RAM; figure 4 is a structural diagram of an arithmetic unit; 5 is a timing diagram of the operation of the claimed processor for the FFT.

Процессор с максимально возможной производительностью для быстрого преобразования Фурье (фиг.1) содержит первый-пятый (11-15) формирователи адреса, первый 21 и второй 22 коммутаторы адреса, блок 3 оперативного запоминающего устройства (ОЗУ), блок 4 постоянной памяти коэффициентов, первый 51 и второй 52 арифметические блоки, блок 6 управления. Информационный вход каждого из формирователей адреса подключен к шине входных данных 34, являющейся информационным входом процессора. Тактовый вход первого 11 и второго 12 формирователей адреса соединен с первым выходом 24 блока 6 управления, второй выход 25 которого соединен с тактовым входом третьего 13, четвертого 14 и пятого 15 формирователей адреса. Информационные выходы первого 11 и второго 12 формирователей адреса подключены соответственно к первому и второму входам первого 21 коммутатора адреса, тактовый вход которого соединен с третьим выходом 26 блока 6 управления и этот выход также соединен с первым тактовым входом первого 51 и второго 52 арифметических блоков и тактовым входом второго 22 коммутатора адреса, к первому и второму информационным входам которого подключены информационные выходы соответственно третьего 13 и четвертого 14 формирователей адреса. Управляющий выход третьего 13 формирователя адреса соединен с третьим входом 22 блока 6 управления, первый 20 и второй 21 входы которого соединены соответственно с вторым и третьим управляющими выходами первого 11 формирователя адреса, а четвертый вход 23 - с генератором тактовых импульсов (на схеме не показан). Информационный выход пятого 15 формирователя адреса подключен к входу блока 4 постоянной памяти коэффициентов, информационный выход которого подключен к второму входу первого 51 и второго 52 арифметических блоков, выходы которых объединены, подключены к третьему информационному входу блока 3 ОЗУ и являются при этом информационным выходом 19 процессора. Выход первого коммутатора адреса 21 соединен с первым информационным входом блока 3 ОЗУ и является при этом адресным выходом 33 процессора; выход второго коммутатора адреса 22 соединен с вторым информационным входом блока 3 ОЗУ, первый, второй и третий тактовые входы которого соединены соответственно с четвертым 27, пятым 28 и шестым 29 выходами блока 6 управления, седьмой 30 и восьмой 31 выходы которого подключены к второму тактовому входу соответственно первого 51 и второго 52 арифметических блоков, к первому информационному входу которых подключен информационный выход 18 блока 3 ОЗУ.The processor with the highest possible performance for fast Fourier transform (Fig. 1) contains the first to fifth (1 1 -1 5 ) address generators, the first 2 1 and second 2 2 address switches, block 3 of random access memory (RAM), block 4 constant coefficients memory, the first 5 1 and second 5 2 arithmetic blocks, control unit 6. The information input of each of the address formers is connected to the input data bus 34, which is the information input of the processor. The clock input of the first 1 1 and second 1 2 address formers is connected to the first output 24 of the control unit 6, the second output 25 of which is connected to the clock input of the third 1 3 , fourth 1 4 and fifth 1 5 address formers. The information outputs of the first 1 1 and second 1 2 address formers are connected respectively to the first and second inputs of the first 2 1 address switch, the clock input of which is connected to the third output 26 of the control unit 6 and this output is also connected to the first clock input of the first 5 1 and second 5 2 arithmetic blocks and the clock input of the second 2 2 address switch, the first and second information inputs of which are connected to the information outputs of the third 1 3 and fourth 1 4 address generators, respectively. The control output of the third 1 3 address generator is connected to the third input 22 of the control unit 6, the first 20 and second 21 inputs of which are connected respectively to the second and third control outputs of the first 1 1 address generator, and the fourth input 23 is connected to a clock generator (in the diagram shown). The information output of the fifth 1 5 address generator is connected to the input of the constant memory coefficient block 4, the information output of which is connected to the second input of the first 5 1 and second 5 2 arithmetic blocks, the outputs of which are combined, connected to the third information input of the RAM block 3 and are information output 19 of the processor. The output of the first address switch 2 1 is connected to the first information input of the RAM unit 3 and is the address output of the processor 33; the output of the second switch of address 2 2 is connected to the second information input of the RAM unit 3, the first, second and third clock inputs of which are connected to the fourth 27, fifth 28 and sixth 29 outputs of the control unit 6, the seventh 30 and eighth 31 outputs of which are connected to the second clock the input, respectively, of the first 5 1 and second 5 2 arithmetic units, to the first information input of which the information output 18 of the RAM unit 3 is connected.

Блок 6 управления (фиг.2) содержит постоянное запоминающее устройство (ПЗУ) 7, регистр 8, первый 91 и второй 92 логические элементы НЕ, первый-четвертый (101-104) логические элементы И. Первый, второй и третий адресные входы ПЗУ 7, являющиеся первым, вторым и третьим входом блока, соединены соответственно с вторым и третьим управляющими выходами первого формирователя адреса 11 и управляющим выходом третьего формирователя адреса 13. Четвертым тактовым входом блока, соединенным с генератором тактовых импульсов, является вход записи регистра 8, который объединен с входом первого 91 и второго 92 логических элементов НЕ, вторыми входами первого 101 и второго 102 логических элементов И. Выходы первого 91 и второго 92 логических элементов НЕ подключены к вторым входам соответственно третьего 103 и четвертого 104 логических элементов И. Информационные выходы регистра 8 подключены к ПЗУ 7, выход которого соединен с информационным входом регистра 8. Его первый выход соединен с первым входом первого логического элемента И 101, выход которого является первым выходом блока, подключенным к тактовому входу первого 11 и второго 12, формирователей адреса. Второй выход регистра 8 соединен с первым входом второго логического элемента И 102, выход которого является вторым выходом блока, подключенным к тактовому входу третьего 13, четвертого 14 и пятого 15 формирователей адреса. Третий выход регистра 8, являющийся третьим выходом блока, соединен с тактовым входом первого 21 и второго 22 коммутаторов адреса, первому тактовому входу первого 51 и второго 52 арифметических блоков. Четвертый, пятый и шестой выходы регистра 8, являющиеся четвертым, пятым и шестым выходами блока, соединены соответственно с первым, вторым и третьим тактовыми входами блока 3 ОЗУ (фиг.1). Седьмой выход регистра 8 соединен с первым входом третьего логического элемента И 103, выход которого является седьмым выходом блока, подключенным к второму тактовому входу первого арифметического блока 51. Восьмой выход регистра 8 соединен с первым входом четвертого логического элемента И 104, выход которого является восьмым выходом блока, подключенным к второму тактовому входу второго арифметического блока 52. Блок 3 ОЗУ (фиг.3) содержит третий 23 и четвертый 24. коммутаторы адреса, третий 93 и четвертый 94 логические элементы НЕ, пятый-восьмой (105-108) логические элементы И, первый 111 и второй 112 банки ОЗУ, демультиплексор данных 12 и первый мультиплексор данных 131. Первый вход третьего коммутатора адреса 23 и второй вход четвертого коммутатора адреса 24 объединены и являются первым информационным входом блока, подключенным к информационному выходу второго 22 коммутатора адреса (фиг.1). Второй вход третьего коммутатора адреса 23 и первый вход четвертого коммутатора адреса 24 объединены и являются вторым информационным входом блока, подключенным к выходу первого 21 коммутатора адреса. Выход третьего коммутатора адреса 23 подключен к первому информационному входу первого банка ОЗУ 111, а выход четвертого коммутатора адреса 24 - к первому информационному входу второго банка ОЗУ 112. Первые входы пятого 105 и шестого 106 логических элементов И объединены и являются первым тактовым входом блока, подключенным к четвертому выходу блока 6 управления. Первые входы седьмого 107 и восьмого 108 логических элементов И объединены и являются вторым тактовым входом блока, подключенным к пятому выходу блока 6 управления. Тактовые входы третьего 23 и четвертого 24 коммутаторов адреса, демультиплексора 12 данных и первого мультиплексора данных 131, вторые тактовые входы логических элементов И, причем шестого 106 и восьмого 108 - соответственно через третий 93 и четвертый 94 логические элементы НЕ, объединены и являются третьим тактовым входом блока, подключенным к шестому выходу блока 6 управления. Выход пятого логического элемента И 105 соединен с первым тактовым входом первого банка ОЗУ 111, второй тактовый вход которого соединен с выходом восьмого логического элемента И 108. Выход шестого логического элемента И 106 соединен с первым тактовым входом второго банка ОЗУ 112, второй тактовый вход которого соединен с выходом седьмого логического элемента И 107. Первый выход демультиплексора данных 12 подключен к второму информационному входу первого банка ОЗУ 111 и второму информационному входу первого мультиплексора данных 131, а второй выход - к второму информационному входу второго банка ОЗУ 112 и первому информационному входу первого мультиплексора данных 131, при этом вход демультиплексора данных 12 является третьим информационным входом блока, подключенным к объединенному выходу первого 51 и второго 52 арифметических блоков, а выход первого мультиплексора данных 131 - выходом блока 3 ОЗУ. Арифметический блок (фиг.4) содержит пятый логический элемент НЕ 95, девятый 109 и десятый 1010 логические элементы И, первый-пятый (141-145) регистры хранения данных, первый-четвертый (151-154) умножители, первый-третий (161-163) вычитатели, первый-третий (171-173) сумматоры и второй мультиплексор данных 132. Вход пятого логического элемента НЕ 95, второй вход девятого логического элемента И 109, первый тактовый вход второго мультиплексора данных 132 объединены и являются первым тактовым входом блока, подключенным к третьему выходу блока 6 управления (фиг.1). Выход пятого логического элемента НЕ 95 соединен с вторым входом десятого логического элемента И 1010. Первый вход девятого 109 и десятого 1010 логических элементов И, второй тактовый вход второго мультиплексора данных 132 объединены и являются вторым тактовым входом блока, подключенным к 7 и 8 выходам блока 6 управления соответственно. Выход девятого логического элемента И 109 соединен с тактовым входом первого 141, четвертого 144 и пятого 145 регистров хранения данных, а выход десятого логического элемента И 109 - с тактовым входом второго 142 и третьего 143 регистров хранения данных. Информационные входы первого 141 и второго 142 регистров хранения данных объединены и являются первым информационным входом блока, подключенным к выходу блока 3 ОЗУ, а информационный вход третьего регистра хранения данных 143 - вторым информационным входом блока, подключенным к выходу блока 4 постоянной памяти (фиг.1). Первый выход первого регистра хранения данных 141 подключен к первому входу соответственно второго сумматора 172 и второго вычитателя 162, а второй выход - к первому входу соответственно третьего сумматора 173 и третьего вычитателя 163. Первый выход второго регистра хранения данных 142 подключен к первому входу соответственно первого 151 и третьего 153 перемножителей, а второй выход - к первому входу соответственно второго 152 и четвертого 154 перемножителей. Первый выход третьего регистра хранения данных 143 подключен к второму входу соответственно первого 151 и четвертого 154 перемножителей, а второй выход - к второму входу второго 152 и третьего 153 перемножителей. Выходы первого 151 и второго 152 перемножителей соединены соответственно с первым и вторым входом первого вычитателя 161, выход которого подключен к второму входу соответственно второго сумматора 172 и второго вычитателя 162, выходы третьего 153 и четвертого 154 перемножителей соединены соответственно с первым и вторым входом первого сумматора 171, выход которого подключен к второму входу соответственно третьего сумматора 173 и третьего вычитателя 163. Выходы второго 172 и третьего 173 сумматоров соединены соответственно с первым и вторым информационным входами четверного регистра хранения данных 144, выходы второго 162 и третьего 163 вычитателей соединены соответственно с первым и вторым информационным входами пятого регистра хранения данных 145. Выходы четвертого 144 и пятого 145 регистров хранения данных подключены соответственно к первому и второму информационному входу второго мультиплексора данных 132, выход которого является выходом арифметического блока.The control unit 6 (FIG. 2) contains a read-only memory (ROM) 7, a register 8, a first 9 1 and a second 9 2 logic elements NOT, the first-fourth (10 1 -10 4 ) logical elements I. The first, second and third the address inputs of the ROM 7, which are the first, second and third input of the block, are connected respectively to the second and third control outputs of the first shaper address 1 1 and the control output of the third shaper address 1 3 . The fourth clock input of the block connected to the clock generator is the input of the register 8, which is combined with the input of the first 9 1 and second 9 2 logic elements NOT, the second inputs of the first 10 1 and second 10 2 logic elements I. The outputs of the first 9 1 and second February 9 NAND gates connected respectively to the second inputs of the third and fourth March 10 April 10 logic elements I. Information outputs of register 8 connected to the ROM 7, the output of which is connected to the data input of the register 8. Its first output connected to the first input of the first AND gate January 10, whose output is the first output connected to the clock input of the first 1 1 and the second on January 2, the address generators. The second output of the register 8 is connected to the first input of the second logical element AND 10 2 , the output of which is the second output of the block connected to the clock input of the third 1 3 , fourth 1 4 and fifth 1 5 shapers of the address. The third output of register 8, which is the third output of the block, is connected to the clock input of the first 2 1 and second 2 2 address switches, the first clock input of the first 5 1 and second 5 2 arithmetic blocks. The fourth, fifth and sixth outputs of the register 8, which are the fourth, fifth and sixth outputs of the block, are connected respectively to the first, second and third clock inputs of the block 3 of RAM (figure 1). The seventh output of register 8 is connected to the first input of the third logical element AND 10 3 , the output of which is the seventh output of the block connected to the second clock input of the first arithmetic block 5 1 . The eighth output of register 8 is connected to the first input of the fourth logical element AND 10 4 , the output of which is the eighth output of the block connected to the second clock input of the second arithmetic block 5 2 . Block 3 RAM (figure 3) contains a third 2 3 and a fourth 2 4 . address switches, third 9 3 and fourth 9 4 logic elements NOT, fifth-eighth (10 5 -10 8 ) logical elements AND, first 11 1 and second 11 2 banks of RAM, data demultiplexer 12 and the first data multiplexer 13 1 . The first input of the third switch address 2 3 and the second input of the fourth switch address 2 4 are combined and are the first information input of the block connected to the information output of the second 2 2 address switch (Fig. 1). The second input of the third address switch 2 3 and the first input of the fourth address switch 2 4 are combined and are the second information input of the unit connected to the output of the first 2 1 address switch. The output of the third switch of address 2 3 is connected to the first information input of the first bank of RAM 11 1 , and the output of the fourth switch of address 2 4 is connected to the first information input of the second bank of RAM 11 2 . The first inputs of the fifth 10 5 and sixth 10 6 logic elements AND are combined and are the first clock input of the block connected to the fourth output of the control unit 6. The first inputs of the seventh 10 7 and eighth 10 8 logical elements AND are combined and are the second clock input of the block connected to the fifth output of the control unit 6. The clock inputs of the third 2 3 and fourth 2 4 switch addresses, the data demultiplexer 12 and the first data multiplexer 13 1 , the second clock inputs of the logical elements AND, and the sixth 10 6 and the eighth 10 8 - respectively, through the third 9 3 and fourth 9 4 logical elements NOT are combined and are the third clock input of the unit connected to the sixth output of the control unit 6. The output of the fifth logical element And 10 5 is connected to the first clock input of the first bank of RAM 11 1 , the second clock input of which is connected to the output of the eighth logical element And 10 8 . The output of the sixth logical element AND 10 6 is connected to the first clock input of the second bank of RAM 11 2 , the second clock input of which is connected to the output of the seventh logical element And 10 7 . The first output of the data demultiplexer 12 is connected to the second information input of the first bank of RAM 11 1 and the second information input of the first data multiplexer 13 1 , and the second output is connected to the second information input of the second bank of RAM 11 2 and the first information input of the first data multiplexer 13 1 , the input of the data demultiplexer 12 is the third information input of the block connected to the combined output of the first 5 1 and second 5 2 arithmetic blocks, and the output of the first data multiplexer 13 1 is the output of the RAM block 3. The arithmetic block (figure 4) contains the fifth logical element NOT 9 5 , the ninth 10 9 and the tenth 10 10 logical elements AND, the first-fifth (14 1 -14 5 ) data storage registers, the first-fourth (15 1 -15 4 ) multipliers, first-third (16 1 -16 3 ) subtractors, first-third (17 1 -17 3 ) adders and a second data multiplexer 13 2 . The input of the fifth logical element is NOT 9 5 , the second input of the ninth logical element AND 10 9 , the first clock input of the second data multiplexer 13 2 are combined and are the first clock input of the unit connected to the third output of the control unit 6 (Fig. 1). The output of the fifth logical element is NOT 9 5 connected to the second input of the tenth logical element And 10 10 . The first input of the ninth 10 9 and tenth 10 10 of the logic elements AND, the second clock input of the second data multiplexer 13 2 are combined and are the second clock input of the unit connected to the 7 and 8 outputs of the control unit 6, respectively. The output of the ninth logical element And 10 9 is connected to the clock input of the first 14 1 , fourth 14 4 and fifth 14 5 registers of data storage, and the output of the tenth logical element And 10 9 is connected to the clock input of the second 14 2 and third 14 3 registers of data storage. The information inputs of the first 14 1 and second 14 2 data storage registers are combined and are the first information input of the block connected to the output of the RAM block 3, and the information input of the third data storage register 14 3 is the second information input of the block connected to the output of the permanent memory block 4 ( figure 1). The first output of the first data storage register 14 1 is connected to the first input, respectively, of the second adder 17 2 and the second subtractor 16 2 , and the second output is connected to the first input, respectively, of the third adder 17 3 and the third subtractor 16 3 . The first output of the second data storage register 14 2 is connected to the first input of the first 15 1 and third 15 3 multipliers, respectively, and the second output is to the first input of the second 15 2 and fourth 15 4 multipliers, respectively. The first output of the third data storage register 14 3 is connected to the second input of the first 15 1 and fourth 15 4 multipliers, respectively, and the second output to the second input of the second 15 2 and third 15 3 multipliers. The outputs of the first 15 1 and second 15 2 multipliers are connected respectively to the first and second input of the first subtractor 16 1 , the output of which is connected to the second input of the second adder 17 2 and the second subtractor 16 2 , respectively, the outputs of the third 15 3 and fourth 15 4 multipliers are connected respectively the first and second input of the first adder 17 1 , the output of which is connected to the second input, respectively, of the third adder 17 3 and the third subtractor 16 3 . The outputs of the second 17 2 and third 17 3 adders are connected respectively to the first and second information inputs of the fourth data storage register 14 4 , the outputs of the second 16 2 and third 16 3 subtractors are connected respectively to the first and second information inputs of the fifth data storage register 14 5 . The outputs of the fourth 14 4 and fifth 14 5 data storage registers are connected respectively to the first and second information input of the second data multiplexer 13 2 , the output of which is the output of the arithmetic unit.

Описанный процессор для БПФ работает в соответствии с временной диаграммой (фиг.5). В исходном состоянии, как и после окончания вычисления БПФ, формирователи адресов 11-15 установлены в нулевое состояние. В начале каждой итерации по шине 35 входных данных на формирователи адреса 11-15 извне поступают операндыThe described processor for the FFT operates in accordance with the time diagram (figure 5). In the initial state, as well as after the end of the FFT calculation, the address formers 1 1 -1 5 are set to zero. At the beginning of each iteration, via the bus 35 of the input data, the operands of the address 1 1 -1 5 receive operands from the outside

A[a](p,t), B[b](p,t), Q[q](p,t), F[f](p,t) и G[g](p,1),A [a] (p, t), B [b] (p, t), Q [q] (p, t), F [f] (p, t) and G [g] (p, 1),

где р - количество строк в матрице;where p is the number of rows in the matrix;

t - количество элементов в строке;t is the number of elements in the row;

А, В, Q, F и G - начальный адрес матриц А, В, Q, F и G соответственно;A, B, Q, F, and G are the starting address of the matrices A, B, Q, F, and G, respectively;

[a], [b], [q], [f] и [g] - смещение.[a], [b], [q], [f] and [g] are the displacements.

Первый формирователь адреса 11 выдает сигнал разрешения работы 21 высокого логического уровня на блок 6 управления. Сигнал разрешения работы 21 выдается на время всего преобразования. По завершении преобразования этот сигнал снимается. По сигналу разрешения работы 21 начинается вычисление БПФ. Блок 6 управления выполнен по принципу конечного автомата и работает следующим образом. На его четвертый вход (фиг.2, фиг.5) поступают тактовые импульсы 23. По переднему фронту импульса сигнала тактовой частоты 23 регистр 8 защелкивает информацию с выхода данных ПЗУ 7. С выхода регистра 8 информация поступает на адресный вход ПЗУ 7 и в соответствии с логическими уровнями сигналов 20, 21 и 22 определяет, что будет загружено в регистр 8 по следующему импульсу сигнала тактовой частоты 23 (следующее состояние конечного автомата). Сигнал выбора 26 между элементами а и b выдается напрямую с регистра 8. Его логический уровень меняется каждый период тактовой частоты 23. Низкий логический уровень этого сигнала соответствует передаче элемента а из блока ОЗУ 3 в первый арифметический блок 51 по сигналу 30 высокого логического уровня и во второй арифметический блок 52 по сигналу 31 высокого логического уровня. Высокий логический уровень сигнала выбора 26 соответствует передаче элемента b из блока ОЗУ 3 в первый арифметический блок 51 по сигналу 30 высокого логического уровня и во второй арифметический блок 52 по сигналу 31 высокого логического уровня. Сигнал чтения 27 из блока ОЗУ 3 выдается напрямую с регистра 8. Высокий логический уровень этого сигнала соответствует чтению из блока ОЗУ 3. Сигнал записи 28 в блок ОЗУ 3 выдается напрямую с регистра 8. Высокий логический уровень этого сигнала соответствует записи в блок ОЗУ 3. Сигнал переключения 29 банков ОЗУ выдаются напрямую с регистра 8. Низкий логический уровень этого сигнала соответствует чтению данных из первого банка ОЗУ 111 и записи данных во второй банк ОЗУ 112. Высокий логический уровень этого сигнала соответствует чтению данных из второго банка ОЗУ 112 и записи данных в первый банк ОЗУ 111. Сигналы 24 и 25 стробируются тактовыми импульсами с помощью первого 101 и второго 102 логических элементов И соответственно. По импульсам высокого логического уровня этих сигналов длительностью в половину периода тактовой частоты формирователи адреса формируют адреса следующих элементов матриц. Сигналы 30 и 31 стробируются инверсными тактовыми импульсами с помощью логических цепочек соответственно 91-103 и 92-104. По импульсам высокого логического уровня сигналов 30 и 31 длительностью в половину периода тактовой частоты элементы а, b и q запоминаются в регистрах хранения данных 14 арифметических блоков 51 и 52.The first shaper address 1 1 generates a signal of permission 21 of a high logic level to the control unit 6. The work enable signal 21 is issued for the duration of the entire conversion. Upon completion of the conversion, this signal is removed. The signal enable work 21 begins the calculation of the FFT. The control unit 6 is made on the principle of a finite state machine and works as follows. At its fourth input (FIG. 2, FIG. 5), clock pulses 23 are received. On the leading edge of the pulse of the clock signal 23, register 8 latches the information from the data output of the ROM 7. From the output of the register 8, the information goes to the address input of the ROM 7 and, in accordance with with logical levels of signals 20, 21 and 22 determines what will be loaded into register 8 by the next pulse of the clock signal 23 (the next state of the state machine). The selection signal 26 between the elements a and b is issued directly from the register 8. Its logical level changes each clock frequency period 23. The low logical level of this signal corresponds to the transfer of element a from the RAM unit 3 to the first arithmetic unit 5 1 by a signal 30 of a high logical level and in the second arithmetic unit 5 2 by a signal 31 of a high logic level. The high logical level of the selection signal 26 corresponds to the transmission of the element b from the RAM block 3 to the first arithmetic block 5 1 by the high logic level signal 30 and to the second arithmetic block 5 2 by the high logic level signal 31. The read signal 27 from the RAM unit 3 is issued directly from register 8. The high logical level of this signal corresponds to reading from the RAM unit 3. The write signal 28 to the RAM unit 3 is issued directly from register 8. The high logical level of this signal corresponds to the write to the RAM unit 3. The switching signal of 29 banks of RAM are issued directly from register 8. The low logical level of this signal corresponds to reading data from the first bank of RAM 11 1 and writing data to the second bank of RAM 11 2 . A high logical level of this signal corresponds to reading data from the second bank of RAM 11 2 and writing data to the first bank of RAM 11 1 . The signals 24 and 25 are gated by clock pulses using the first 10 1 and second 10 2 logical elements AND, respectively. Based on the pulses of a high logical level of these signals lasting half a period of the clock frequency, the address generators form the addresses of the following matrix elements. Signals 30 and 31 are gated by inverse clock pulses using logic chains 9 1 -10 3 and 9 2 -10 4, respectively. According to the pulses of a high logical level of signals 30 and 31 with a duration of half a clock period, the elements a, b and q are stored in the data storage registers of 14 arithmetic blocks 5 1 and 5 2 .

Первый формирователь адреса выдает также адрес первого элемента матрицы F на первый вход первого коммутатора адреса 21. Второй формирователь адреса 12 выдает адрес первого элемента матрицы G на второй вход второго коммутатора адреса 21. Третий формирователь адреса 13 выдает адрес первого элемента матрицы А на первый вход второго коммутатора адреса 22. Четвертый формирователь адреса 14 выдает адрес первого элемента матрицы В на второй вход второго коммутатора адреса 22. Пятый формирователь адреса 15 выдает адрес первого элемента матрицы Q на вход блока постоянной памяти 4. Блок 6 управления низким логическим уровнем сигнала 26 переключает коммутаторы адреса 21 и 22 на выдачу адресов элементов матриц F и А соответственно, а первый 51 и второй 52 арифметические блоки - на прием элемента матрицы А. Также блок 6 управления выдает сигнал чтения 27 на блок ОЗУ 3 и сигнал выбора 30 первого арифметического блока 51. Блок ОЗУ 3 по сигналу 27 выдает элемент матрицы А. Первое арифметическое устройство 51 по сигналу 30 запоминает элемент матрицы А.The first address generator also provides the address of the first element of the matrix F to the first input of the first address switch 2 1 . The second shaper address 1 2 issues the address of the first element of the matrix G to the second input of the second switch address 2 1 . The third address generator 1 3 issues the address of the first element of matrix A to the first input of the second address switch 2 2 . The fourth address generator 1 4 issues the address of the first element of matrix B to the second input of the second address switch 2 2 . The fifth address generator 1 5 provides the address of the first element of the matrix Q to the input of the read-only memory block 4. The low logic level control unit 6 switches the address switches 2 1 and 2 2 to output the addresses of the elements of the matrices F and A, respectively, and the first 5 1 and the second 5 2 arithmetic blocks - to receive a matrix element A. Also, the control unit 6 provides a read signal 27 to the RAM unit 3 and a selection signal 30 of the first arithmetic unit 5 1 . Block RAM 3 at the signal 27 produces an element of the matrix A. The first arithmetic device 5 1 at the signal 30 stores the element of the matrix A.

Блок ОЗУ 3 (фиг.3) может работать в двух режимах в зависимости от уровня сигнала 29 переключения банков ОЗУ, поступающего из блока 6 управления. Если сигнал 29 имеет низкий логический уровень, то адреса элементов а и b по шине 32 через третий коммутатор адреса 23 поступают на первый банк ОЗУ 111. Адреса элементов f и g по шине 33 через четвертый коммутатор адреса 24 поступают на второй банк ОЗУ 112. Сигнал чтения 27 из блока ОЗУ 3 через пятый элемент И 105 поступает на первый банк ОЗУ 111. Сигнал записи 28 в блок ОЗУ 3 через седьмой элемент И 107 поступает на второй банк ОЗУ 112. При высоком уровне сигнала 27 данные из первого банка ОЗУ 111 через первый мультиплексор данных 131 поступают на шину 18. При высоком логическом уровне сигнала 28 данные с шины 19 через демультиплексор данных 12 записываются во второй банк ОЗУ 112. Если сигнал 29 имеет высокий логический уровень, то адреса элементов а и b по шине 32 через четвертый коммутатор адреса 24 поступают на второй банк ОЗУ 112. Адреса элементов f и g по шине 33 через третий коммутатор адреса 23 поступают на первый банк ОЗУ 111. Сигнал чтения 27 через шестой элемент И 106 поступает на второй банк ОЗУ 112. Сигнал записи 28 в блок ОЗУ 3 через восьмой элемент И 108 поступает на первый банк ОЗУ 111. При высоком логическом уровне сигнала 27 данные из второго банка ОЗУ 112 через первый мультиплексор данных 131 поступают на шину 18. При высоком логическом уровне сигнала 28 данные из арифметических блоков 5 по шине 19 через демультиплексор данных 12 записываются в первый банк ОЗУ 111.The RAM unit 3 (Fig. 3) can operate in two modes depending on the signal level 29 of switching the RAM banks coming from the control unit 6. If the signal 29 has a low logic level, then the addresses of the elements a and b on the bus 32 through the third switch addresses 2 3 go to the first bank of RAM 11 1 . The addresses of the elements f and g on the bus 33 through the fourth switch address 2 4 go to the second bank of RAM 11 2 . The read signal 27 from the RAM block 3 through the fifth element And 10 5 is supplied to the first bank of RAM 11 1 . The write signal 28 to the RAM unit 3 through the seventh element And 10 7 is supplied to the second bank of RAM 11 2 . At a high signal level 27, data from the first bank of RAM 11 1 through the first data multiplexer 13 1 is sent to the bus 18. At a high logical level of signal 28, data from the bus 19 through the demultiplexer 12 is written to the second bank of RAM 11 2 . If the signal 29 has a high logical level, then the addresses of the elements a and b on the bus 32 through the fourth switch addresses 2 4 go to the second bank of RAM 11 2 . The addresses of the elements f and g on the bus 33 through the third switch address 2 3 go to the first bank of RAM 11 1 . The read signal 27 through the sixth element And 10 6 is supplied to the second bank of RAM 11 2 . The write signal 28 to the RAM unit 3 through the eighth element And 10 8 is supplied to the first bank of RAM 11 1 . At a high logical level of signal 27, data from the second bank of RAM 11 2 through the first data multiplexer 13 1 is sent to bus 18. At a high logical level of signal 28, data from arithmetic units 5 on bus 19 through the demultiplexer 12 is written to the first bank of RAM 11 1 .

Арифметический блок 5 (фиг.4) работает следующим образом.Arithmetic unit 5 (figure 4) works as follows.

Элементы а и b из блока ОЗУ 3 последовательно поступают по шине 18, а константы q - по шине из блока 4 постоянной памяти коэффициентов. Если сигнал выбора 26 между числами а и b имеет низкий логический уровень, то по приходу импульса высокого логического уровня сигнала выбора 30(31) арифметического блока элемент а защелкивается в первом регистре хранения данных 141 и подсчитанный в предыдущей операции элемент f из четвертого регистра хранения данных 144 через второй мультиплексор данных 132 поступает на шину 19. Если сигнал выбора 26 между числами а и b имеет высокий логический уровень, то по приходу импульса высокого логического уровня сигнала выбора 30(31) арифметического блока элемент b защелкивается во втором регистре хранения данных 142, константа q защелкивается в третьем регистре хранения данных 143 и подсчитанный в предыдущей операции элемент g из пятого регистра хранения данных 145 через второй мультиплексор данных 132 поступает на шину 19. С выхода второго регистра хранения данных 142 действительная часть элемента b (Re(b)) поступает на первый 152 и третий 154 умножители, а мнимая часть элемента b (Im(b)) поступает на второй 151 и четвертый 154 умножители. С выхода третьего регистра хранения данных 143 действительная часть константы q (Re(q)) поступает на первый 151 и четвертый 154 умножители, а мнимая часть константы q (Im(q)) поступает на второй 152 и третий 153 умножители. С выхода первого умножителя 151 произведение Re(b)*Re(q) поступает на первый вычитатель 161, на второй вход которого поступает произведение Im(b)*Im(q) с выхода второго умножителя 152. С выхода третьего умножителя 153 произведение Re(b)*Im(q) поступает на первый сумматор 171, на второй вход которого поступает произведение bn(b)*Re(q) с выхода четвертого умножителя 154. С выхода первого вычитателя 161 разность Re(b)*Re(q)-Im(b)*Im(q) поступает на второй сумматор 172, где складывается с действительной частью элемента a (Re(a)), образуя действительную часть элемента f (Re(f)=Re(a)+Re(b)*Re(q)-Im(b)*Im(q)), и на вход второго вычитателя 162, где вычитается из действительной части элемента a (Re(a)), образуя действительную часть элемента g (Re(g)=Re(a)-Re(b)*Re(q)-Im(b)*Im(q)). С выхода первого сумматора 171 сумма Re(b)*Im(q)+Im(b)*Re(q) поступает на третий сумматор 173, где складывается с мнимой частью элемента a (Im(a)), образуя мнимую часть элемента f (Im(f)=Im(a)+Re(b)*bn(q)+Im(b)*Re(q)), и на вход третьего вычитателя 163, где вычитается из мнимой части элемента a (Im(a)), образуя мнимую часть элемента g (Im(g)=Im(a)-Re(b)*Im(q)-Im(b)*Re(q)). Одновременно с защелкиванием следующего элемента а в первом регистре хранения данных 141 вычисленные элементы f и g защелкиваются в четвертом 144 и пятом 145 регистрах хранения данных соответственно.Elements a and b from the RAM block 3 sequentially arrive on the bus 18, and the constants q - on the bus from the block 4 of the constant memory of the coefficients. If the selection signal 26 between the numbers a and b has a low logic level, then upon the arrival of a pulse of a high logical level, the signal of the selection 30 (31) of the arithmetic block, element a is latched in the first data storage register 14 1 and element f from the fourth storage register calculated in the previous operation data 144 through the second data multiplexer 13 2 enters the bus 19. If the selection signal 26 between the numbers a and b has a high logic level, then upon the arrival of a pulse of a high logical level, the signal of the selection 30 (31) of the arithmetic block of ele ment b latches in the second data storage register 14 2 , constant q latches in the third data storage register 14 3 and the element g from the fifth data storage register 14 5 counted in the previous operation through the second data multiplexer 13 2 enters bus 19. From the output of the second register data storage 14 2 the real part of the element b (Re (b)) goes to the first 15 2 and the third 15 4 multipliers, and the imaginary part of the element b (Im (b)) goes to the second 15 1 and the fourth 15 4 multipliers. From the output of the third data storage register 14 3, the real part of the constant q (Re (q)) goes to the first 15 1 and fourth 15 4 multipliers, and the imaginary part of the constant q (Im (q)) goes to the second 15 2 and third 15 3 multipliers . From the output of the first multiplier 15 1, the product Re (b) * Re (q) goes to the first subtractor 16 1 , the second input of which receives the product Im (b) * Im (q) from the output of the second multiplier 15 2 . From the output of the third multiplier 15 3, the product Re (b) * Im (q) goes to the first adder 17 1 , the second input of which receives the product bn (b) * Re (q) from the output of the fourth multiplier 15 4 . From the output of the first subtractor 16 1, the difference Re (b) * Re (q) -Im (b) * Im (q) goes to the second adder 17 2 , where it is added to the real part of the element a (Re (a)), forming the real part element f (Re (f) = Re (a) + Re (b) * Re (q) -Im (b) * Im (q)), and to the input of the second subtractor 16 2 , where it is subtracted from the real part of the element a ( Re (a)), forming the real part of the element g (Re (g) = Re (a) -Re (b) * Re (q) -Im (b) * Im (q)). From the output of the first adder 17 1, the sum Re (b) * Im (q) + Im (b) * Re (q) goes to the third adder 17 3 , where it is added to the imaginary part of the element a (Im (a)), forming the imaginary part element f (Im (f) = Im (a) + Re (b) * bn (q) + Im (b) * Re (q)), and to the input of the third subtractor 16 3 , where it is subtracted from the imaginary part of the element a ( Im (a)), forming the imaginary part of the element g (Im (g) = Im (a) -Re (b) * Im (q) -Im (b) * Re (q)). Simultaneously with the snapping of the next element a in the first data storage register 14 1, the calculated elements f and g are latched in the fourth 14 4 and fifth 14 5 data storage registers, respectively.

На следующем такте блок 6 управления высоким логическим уровнем сигнала 26 переключает коммутаторы адреса 21 и 22 на выдачу адреса элементов матриц G и В соответственно, а арифметические блоки 51 и 52 - на прием элементов матриц В и Q. Эти элементы также запоминаются в первом арифметическом блоке 51 по импульсу высокого логического уровня сигнала 30. После этого блок 6 управления выдает импульс высокого логического уровня 25 на формирователи адреса 13, 14 и 15, по которому они формируют адрес следующих элементов матриц А, В и Q.At the next step, the high logic level control unit 6 switches the address switches 2 1 and 2 2 to output the addresses of the matrix elements G and B, respectively, and the arithmetic blocks 5 1 and 5 2 receive the matrix elements B and Q. These elements are also remembered in the first arithmetic unit 5 1 by the pulse of a high logical level of the signal 30. After that, the control unit 6 generates a pulse of a high logical level 25 to the address formers 1 3 , 1 4 and 1 5 , by which they form the address of the following elements of the matrices A, B and Q .

Далее происходит аналогичная загрузка данных во второй арифметический блок 52. Во время дальнейших циклов загрузки данных в арифметические блоки 51 и 52 блок 6 управления дополнительно выдает импульс высокого логического уровня 24 на формирователи адреса 11 и 12 и сигнал записи 28 в блок ОЗУ 3, по которому происходит запись элементов матриц F и G во второй банк ОЗУ 112. Приход импульса высокого логического уровня сигнала конца итерации 22 с третьего формирователя адреса 13 запрещает блоку 6 управления выдачу тактовых импульсов 25 на формирователи адреса 13, 14 и 15. При этом выгрузка данных из арифметических блоков 51 и 52 продолжается. При приходе импульса высокого логического уровня сигнала конца итерации 20 с первого формирователя адреса 11 блок 6 управления сигналом 29 переключает первый 111 и второй 112 банки ОЗУ в блоке ОЗУ 3 и начинает новую итерацию. Таким образом, на одну итерацию затрачивается количество тактов, равное числу исходных данных плюс 4 такта. Длительность такта, в свою очередь, определяется минимальным временем чтения (записи) одного элемента из блока ОЗУ 3.Next, a similar data loading occurs in the second arithmetic unit 5 2 . During further cycles of loading data into arithmetic units 5 1 and 5 2, the control unit 6 additionally generates a high logic level pulse 24 to the address drivers 1 1 and 1 2 and a write signal 28 to the RAM unit 3, by which the matrix elements F and G are recorded to the second bank of RAM 11 2 . The arrival of a high logical level pulse of the end of iteration 22 from the third address generator 1 3 prevents the control unit 6 from issuing clock pulses 25 to the address drivers 1 3 , 1 4 and 1 5 . In this case, the unloading of data from arithmetic blocks 5 1 and 5 2 continues. When a pulse of a high logical level signal arrives at the end of iteration 20 from the first address generator 1 1 , the signal control unit 6 switches the first 11 1 and second 11 2 banks of RAM in the RAM unit 3 and starts a new iteration. Thus, the number of clock cycles equal to the number of source data plus 4 clock cycles is spent per iteration. The cycle time, in turn, is determined by the minimum read (write) time of one element from the RAM block 3.

Вычисление матричного БПФ с прореживанием по времени описывается следующим выражением:The calculation of the matrix FFT with decimation in time is described by the following expression:

Figure 00000002
Figure 00000002

где р=2m-1, t=2-r-m, m=1, 2, 3...r, длина исходного массива N=2r;where p = 2 m-1 , t = 2- rm , m = 1, 2, 3 ... r, the length of the original array N = 2 r ;

операция

Figure 00000003
представляет собой поэлементное умножение столбцов матрицы В на вектор столбец Q.operation
Figure 00000003
represents the elementwise multiplication of the columns of matrix B by the vector column Q.

Весовые коэффициенты представляются следующим выражением:Weights are represented by the following expression:

Q1=cos(2π(i-1)/N)-j*sin(2π(i-1)/N)Q 1 = cos (2π (i-1) / N) -j * sin (2π (i-1) / N)

где i=1, 2, 3...N/2;

Figure 00000004
where i = 1, 2, 3 ... N / 2;
Figure 00000004

Рассмотрим варианты вычисления матричного БПФ на примере массива размерностью N=2r, при r=4. Количество итераций: r=4.Consider the options for computing the matrix FFT using an example of an array of dimension N = 2 r , for r = 4. Number of iterations: r = 4.

1 итерация: m=1, t=8, p=11 iteration: m = 1, t = 8, p = 1

Figure 00000005
Figure 00000005

В первом банке ОЗУ 111 имеем массив, состоящий из матриц

Figure 00000006
и
Figure 00000007
:In the first bank of RAM 11 1 we have an array consisting of matrices
Figure 00000006
and
Figure 00000007
:

Figure 00000008
Figure 00000008

В блоке постоянной памяти коэффициентов 4 имеем матрицу

Figure 00000009
:In the block of constant memory of coefficients 4, we have a matrix
Figure 00000009
:

Figure 00000010
Figure 00000010

Элементы (a1, b1, q1), (а3, b3, q1), (a5, b5, q1) и (a7, b7, q1) будут последовательно переданы первому арифметическому блоку 51.The elements (a 1 , b 1 , q 1 ), (a 3 , b 3 , q 1 ), (a 5 , b 5 , q 1 ) and (a 7 , b 7 , q 1 ) will be transmitted sequentially to the first arithmetic block 5 1 .

Элементы (а2, b2, q1), (a4, b4, q1), (a6, b6, q1) и (a8, b8, q1) будут последовательно переданы второму арифметическому блоку 52.Elements (a 2 , b 2 , q 1 ), (a 4 , b 4 , q 1 ), (a 6 , b 6 , q 1 ) and (a 8 , b 8 , q 1 ) will be sequentially transmitted to the second arithmetic unit 5 2 .

После окончания итерации во втором банке ОЗУ 112 имеем:After the iteration in the second bank of RAM 112 we have:

Figure 00000011
Figure 00000011

Figure 00000012
Figure 00000012

2 итерация: m=2, p=2, t=42 iteration: m = 2, p = 2, t = 4

Figure 00000013
Figure 00000013

В начале итерации во втором банке ОЗУ 112 имеем массив, состоящий из матриц

Figure 00000014
и
Figure 00000015
At the beginning of the iteration in the second bank of RAM 11 2, we have an array consisting of matrices
Figure 00000014
and
Figure 00000015

Figure 00000016
Figure 00000016

В блоке постоянной памяти коэффициентов 4 имеем матрицу

Figure 00000017
:In the block of constant memory of coefficients 4, we have a matrix
Figure 00000017
:

Figure 00000018
Figure 00000018

Элементы (a1, b1, q1), (а3, b3, q1), (a5, b5, q2) и (а7, b7, q2) будут последовательно переданы первому арифметическому блоку 51.Elements (a 1 , b 1 , q 1 ), (a 3 , b 3 , q 1 ), (a 5 , b 5 , q 2 ) and (a 7 , b 7 , q 2 ) will be sequentially transmitted to the first arithmetic block 5 1 .

Элементы (а2, b2, q1), (a4, b4, q1), (а6, b6, q2) и (a8, b8, q2) будут последовательно переданы второму арифметическому блоку 52.Elements (a 2 , b 2 , q 1 ), (a 4 , b 4 , q 1 ), (a 6 , b 6 , q 2 ) and (a 8 , b 8 , q 2 ) will be sequentially transferred to the second arithmetic unit 5 2 .

После окончания итерации в первом банке ОЗУ 111 имеем:After the iteration in the first bank of RAM 11 1 we have:

Figure 00000019
Figure 00000019

Figure 00000020
Figure 00000020

3 итерация: m=3, p=4, t=23 iteration: m = 3, p = 4, t = 2

Figure 00000021
Figure 00000021

В начале итерации в первом банке ОЗУ 111 имеем массив, состоящий из матриц

Figure 00000022
и
Figure 00000023
At the beginning of the iteration in the first bank of RAM 11 1 we have an array consisting of matrices
Figure 00000022
and
Figure 00000023

Figure 00000024
Figure 00000024

В блоке постоянной памяти коэффициентов 4 имеем матрицу

Figure 00000025
:In the block of constant memory of coefficients 4, we have a matrix
Figure 00000025
:

Figure 00000026
Figure 00000026

Элементы (a1, b1, q1), (а3, b3, q5), (a5, b5, q3) и (а7, b7, q7) будут последовательно переданы первому арифметическому блоку 51.The elements (a 1 , b 1 , q 1 ), (a 3 , b 3 , q 5 ), (a 5 , b 5 , q 3 ) and (a 7 , b 7 , q 7 ) will be sequentially transmitted to the first arithmetic unit 5 1 .

Элементы (а2, b2, q1), (a4, b4, q3), (a6, b6, q5) и (a8, b8, q7) будут последовательно переданы второму арифметическому блоку 52.Elements (a 2 , b 2 , q 1 ), (a 4 , b 4 , q 3 ), (a 6 , b 6 , q 5 ) and (a 8 , b 8 , q 7 ) will be sequentially transmitted to the second arithmetic unit 5 2 .

После окончания итерации во втором банке ОЗУ 112 имеем:After the iteration in the second bank of RAM 11 2 we have:

Figure 00000027
Figure 00000027

Figure 00000028
Figure 00000028

4 итерация: m=4, p=8, t=14 iteration: m = 4, p = 8, t = 1

Figure 00000029
Figure 00000029

В начале итерации во втором банке ОЗУ 112 имеем массив, состоящий из матриц

Figure 00000030
и
Figure 00000031
.At the beginning of the iteration in the second bank of RAM 11 2, we have an array consisting of matrices
Figure 00000030
and
Figure 00000031
.

Figure 00000032
Figure 00000032

В блоке постоянной памяти коэффициентов 4 имеем матрицу

Figure 00000033
:In the block of constant memory of coefficients 4, we have a matrix
Figure 00000033
:

Figure 00000034
Figure 00000034

Элементы (a1, b1, q1), (а3, b3, q3), (а5, b5, q2) и (а7, b7, q4) будут последовательно переданы первому арифметическому блоку 51.The elements (a 1 , b 1 , q 1 ), (a 3 , b 3 , q 3 ), (a 5 , b 5 , q 2 ) and (a 7 , b 7 , q 4 ) will be transmitted sequentially to the first arithmetic block 5 1 .

Элементы (а2, b2, q5), (a4, b4, q7), (а6, b6, q6) и (a8, b8, q8) будут последовательно переданы второму арифметическому блоку 52.Elements (a 2 , b 2 , q 5 ), (a 4 , b 4 , q 7 ), (a 6 , b 6 , q 6 ) and (a 8 , b 8 , q 8 ) will be sequentially transferred to the second arithmetic unit 5 2 .

После окончания итерации в первом банке ОЗУ 111 имеем:After the iteration in the first bank of RAM 11 1 we have:

Figure 00000035
Figure 00000035

Figure 00000036
Figure 00000036

В итоге в первом банке ОЗУ 111 записались искомые составляющие комплексного спектра входного сигнала, причем потенциально максимальная скорость вычислений достигается за счет параллельного выполнения операций чтения-записи в первый 111 и второй 112 банки ОЗУ и параллельным выполнением арифметических операций в первом 51 и втором 52 арифметических блоках.As a result, the first components of the complex spectrum of the input signal were recorded in the first bank of RAM 11 1 , and the potential maximum computational speed is achieved by parallel read and write operations in the first 11 1 and second 11 2 banks of RAM and parallel arithmetic operations in the first 5 1 and second 5 2 arithmetic blocks.

Количество операций "бабочка" в одной итерации и количество итераций определяются размерностью N. По окончании записи последнего элемента последней итерации в блок ОЗУ 3 первый формирователь адреса 11 снимает сигнал разрешения работы 21. При этом блок 6 управления устанавливается в исходное состояние. Результаты вычислений находятся в блоке ОЗУ 3 (если r четное, то в первом банке ОЗУ 111, если r нечетное, то во втором банке ОЗУ 112) и по шинам 33 (адрес) и 19 (данные) поступают потребителю информации.The number of butterfly operations in one iteration and the number of iterations are determined by the dimension N. Upon completion of writing the last element of the last iteration to the RAM unit 3, the first address generator 1 1 removes the operation enable signal 21. In this case, the control unit 6 is initialized. The calculation results are in the RAM block 3 (if r is even, then in the first bank of RAM 11 1 , if r is odd, then in the second bank of RAM 11 2 ) and via buses 33 (address) and 19 (data) are received by the consumer of information.

Claims (4)

1. Процессор с максимально возможной производительностью для быстрого преобразования Фурье, содержащий блок постоянной памяти коэффициентов, первый арифметический блок, первый, второй и третий формирователи адреса, первый коммутатор адреса, отличающийся тем, что введены блок управления, блок оперативного запоминающего устройства (ОЗУ), второй арифметический блок, четвертый и пятый блоки формирования адреса, второй коммутатор адреса, при этом информационный вход каждого из формирователей адреса подключен к шине входных данных, являющейся информационным входом процессора, тактовый вход первого и второго формирователей адреса соединен с первым выходом блока управления, второй выход которого соединен с тактовым входом третьего, четвертого и пятого формирователей адреса; информационный выход первого и второго формирователей адреса подключен соответственно к первому и второму входам первого коммутатора адреса, тактовый вход которого соединен с третьим выходом блока управления и этот выход также соединен с первыми тактовыми входами первого и второго арифметических блоков и тактовым входом второго коммутатора адреса, к первому и второму информационным входам которого подключены информационные выходы третьего и четвертого формирователей адреса; управляющий выход третьего формирователя адреса соединен с третьим входом блока управления, первый и второй входы которого соединены с вторым и третьим управляющими выходами первого формирователя адреса, а четвертый вход - с источником напряжения тактовой частоты; информационный выход пятого формирователя адреса подключен к входу блока постоянной памяти коэффициентов, информационный выход которого подключен к второму входу первого и второго арифметических блоков, выходы которых объединены, подключены к третьему информационному входу блока ОЗУ и являются при этом информационным выходом устройства; выход первого коммутатора адреса соединен с первым информационным входом блока ОЗУ и является при этом адресным выходом устройства; выход второго коммутатора адреса соединен с вторым информационным входом блока ОЗУ, первый, второй и третий тактовые входы которого соединены соответственно с четвертым, пятым и шестым выходами блока управления, седьмой и восьмой выходы которого подключены к второму тактовому входу соответственно первого и второго арифметических блоков, к первому информационному входу которых подключен информационный выход блока ОЗУ.1. The processor with the highest possible performance for fast Fourier transform, comprising a block of constant coefficient memory, the first arithmetic block, the first, second and third address formers, the first address switch, characterized in that a control unit, a random access memory (RAM) unit are introduced, the second arithmetic unit, the fourth and fifth address generation units, the second address switch, wherein the information input of each of the address generators is connected to the input data bus, which is with the processor information input, the clock input of the first and second address formers is connected to the first output of the control unit, the second output of which is connected to the clock input of the third, fourth and fifth address formers; the information output of the first and second address generators is connected respectively to the first and second inputs of the first address switch, the clock input of which is connected to the third output of the control unit and this output is also connected to the first clock inputs of the first and second arithmetic blocks and the clock input of the second address switch, to the first and the second information inputs of which the information outputs of the third and fourth address formers are connected; the control output of the third address generator is connected to the third input of the control unit, the first and second inputs of which are connected to the second and third control outputs of the first address generator, and the fourth input to the clock voltage source; the information output of the fifth address generator is connected to the input of the constant memory block of coefficients, the information output of which is connected to the second input of the first and second arithmetic units, the outputs of which are combined, connected to the third information input of the RAM block and are the information output of the device; the output of the first address switch is connected to the first information input of the RAM unit and is the address output of the device; the output of the second address switch is connected to the second information input of the RAM unit, the first, second and third clock inputs of which are connected respectively to the fourth, fifth and sixth outputs of the control unit, the seventh and eighth outputs of which are connected to the second clock input of the first and second arithmetic units, respectively the first information input of which the information output of the RAM block is connected. 2. Процессор по п.1, отличающийся тем, что блок управления содержит постоянное запоминающее устройство (ПЗУ), регистр, первый и второй логические элементы НЕ, первый-четвертый логические элементы И, при этом первый, второй и третий адресные входы ПЗУ являются соответственно первым, вторым и третьим входом блока, четвертым тактовым входом которого является вход записи регистра, который объединен с входом первого и второго логических элементов НЕ и вторыми входами первого и второго логических элементов И, причем выходы первого и второго логических элементов НЕ подключены к вторым входам соответственно третьего и четвертого логических элементов И; информационные выходы регистра подключены к ПЗУ, выход которого соединен с информационным входом регистра, первый выход которого соединен с первым входом первого логического элемента И, выход которого является первым выходом блока, второй выход регистра соединен с первым входом второго логического элемента И, выход которого является вторым выходом блока, третий, четвертый, пятый и шестой выходы регистра являются соответственно третьим-шестым выходами блока, седьмой выход регистра соединен с первым входом третьего логического элемента И, выход которого является седьмым выходом блока, восьмой выход регистра соединен с первым входом четвертого логического элемента И, выход которого является восьмым выходом блока.2. The processor according to claim 1, characterized in that the control unit contains read-only memory (ROM), a register, first and second logical elements NOT, first-fourth logical elements AND, while the first, second and third address inputs of the ROMs are respectively the first, second and third input of the block, the fourth clock input of which is the register entry input, which is combined with the input of the first and second logical elements NOT and the second inputs of the first and second logical elements AND, and the outputs of the first and second logic its elements are NOT connected to the second inputs of the third and fourth logical elements AND, respectively; the information outputs of the register are connected to a ROM, the output of which is connected to the information input of the register, the first output of which is connected to the first input of the first logical element And, the output of which is the first output of the block, the second output of the register is connected to the first input of the second logical element And, the output of which is the second block output, the third, fourth, fifth and sixth outputs of the register are respectively the third to sixth outputs of the block, the seventh output of the register is connected to the first input of the third logical element And, whose output is the seventh output of the block, the eighth output of the register is connected to the first input of the fourth logical element And, the output of which is the eighth output of the block. 3. Процессор по п.1, отличающийся тем, что блок ОЗУ содержит третий и четвертый коммутаторы адреса, третий и четвертый логические элементы НЕ, пятый-восьмой логические элементы И, первый и второй банки ОЗУ, демультиплексор данных и первый мультиплексор данных, при этом первый вход третьего коммутатора адреса и второй вход четвертого коммутатора адреса объединены и являются первым информационным входом блока, второй вход третьего коммутатора адреса и первый вход четвертого коммутатора адреса объединены и являются вторым информационным входом блока, выход третьего коммутатора адреса подключен к первому информационному входу первого банка ОЗУ, а выход четвертого коммутатора адреса - к первому информационному входу второго банка ОЗУ; первые входы пятого и шестого логических элементов И объединены и являются первым тактовым входом блока; первые входы седьмого и восьмого логических элементов И объединены и являются вторым тактовым входом блока; тактовые входы третьего и четвертого коммутаторов адреса, демультиплексора данных и первого мультиплексора данных, вторые тактовые входы логических элементов И, причем шестого и восьмого - соответственно через третий и четвертый логические элементы НЕ, объединены и являются третьим тактовым входом блока; выход пятого логического элемента И соединен с первым тактовым входом первого банка ОЗУ, второй тактовый вход которого соединен с выходом восьмого логического элемента И, выход шестого логического элемента И соединен с первым тактовым входом второго банка ОЗУ, второй тактовый вход которого соединен с выходом седьмого логического элемента И; первый выход демультиплексора данных подключен к второму информационному входу первого банка ОЗУ и второму информационному входу первого мультиплексора данных, а второй выход - к второму информационному входу второго банка ОЗУ и первому информационному входу первого мультиплексора данных, при этом вход демультиплексора данных является третьим информационным входом блока, выход первого мультиплексора данных - выходом блока.3. The processor according to claim 1, characterized in that the RAM unit contains the third and fourth address switches, the third and fourth logical elements NOT, the fifth-eighth logical elements AND, the first and second banks of RAM, a data demultiplexer and a first data multiplexer, wherein the first input of the third address switch and the second input of the fourth switch of the address are combined and are the first information input of the block, the second input of the third switch of the address and the first input of the fourth switch of the address are combined and are the second information input unit home address output of the third switch is connected to the first data input of the first memory bank, and the output of the fourth switch addresses - to the first data input of the second memory bank; the first inputs of the fifth and sixth logical elements AND are combined and are the first clock input of the block; the first inputs of the seventh and eighth logical elements AND are combined and are the second clock input of the block; the clock inputs of the third and fourth switches of the address, the data demultiplexer and the first data multiplexer, the second clock inputs of AND gates, and the sixth and eighth - respectively, through the third and fourth logical gates NOT, are combined and are the third clock input of the block; the output of the fifth logical element AND is connected to the first clock input of the first bank of RAM, the second clock input of which is connected to the output of the eighth logical element And, the output of the sixth logical element And is connected to the first clock input of the second bank of RAM, the second clock input of which is connected to the output of the seventh logical element AND; the first output of the data demultiplexer is connected to the second information input of the first RAM bank and the second information input of the first data multiplexer, and the second output is connected to the second information input of the second RAM bank and the first information input of the first data multiplexer, while the input of the data demultiplexer is the third information input of the block, the output of the first data multiplexer is the output of the block. 4. Процессор по п.1, отличающийся тем, что арифметический блок содержит пятый логический элемент НЕ, девятый и десятый логические элементы И, пять регистров хранения данных, четыре умножителя, три вычитателя, три сумматора и второй мультиплексор данных, при этом вход пятого логического элемента НЕ, второй вход десятого логического элемента И, первый тактовый вход второго мультиплексора объединены и являются первым тактовым входом блока, причем выход пятого логического элемента НЕ соединен с вторым входом девятого логического элемента И; первый вход девятого и десятого логических элементов И, второй тактовый вход второго мультиплексора объединены и являются вторым тактовым входом блока; выход девятого логического элемента И соединен с тактовым входом первого, четвертого и пятого регистров хранения данных, а выход десятого логического элемента И - с тактовым входом второго и третьего регистров хранения данных; информационные входы первого и второго регистров хранения данных объединены и являются первым информационным входом блока, а информационный вход третьего регистра хранения данных - вторым информационным входом блока; первый выход первого регистра хранения данных подключен к первому входу соответственно второго сумматора и второго вычитателя, а второй выход - к первому входу соответственно третьего сумматора и третьего вычитателя, первый выход второго регистра хранения данных подключен к первому входу соответственно первого и третьего перемножителей, а второй выход - к первому входу соответственно второго и четвертого перемножителей, первый выход третьего регистра хранения данных подключен к второму входу соответственно первого и четвертого перемножителей, а второй выход - к второму входу второго и третьего перемножителей; выходы первого и второго перемножителей соединены соответственно с первым и вторым входом первого вычитателя, выход которого подключен к второму входу соответственно второго сумматора и второго вычитателя, выходы третьего и четвертого перемножителей соединены соответственно с первым и вторым входом первого сумматора, выход которого подключен к второму входу соответственно третьего сумматора и третьего вычитателя; выходы второго и третьего сумматоров соединены соответственно с первым и вторым информационным входами четверного регистра хранения данных, выходы второго и третьего вычитателей соединены соответственно с первым и вторым информационным входами пятого регистра хранения данных; выходы четвертого и пятого регистров хранения данных подключены соответственно к первому и второму информационному входу второго мультиплексора, выход которого является выходом блока.4. The processor according to claim 1, characterized in that the arithmetic unit contains the fifth logical element NOT, the ninth and tenth logical elements AND, five data storage registers, four multipliers, three subtractors, three adders and a second data multiplexer, while the input of the fifth logical NOT element, the second input of the tenth logical element AND, the first clock input of the second multiplexer are combined and are the first clock input of the block, and the output of the fifth logic element is NOT connected to the second input of the ninth logical element And; the first input of the ninth and tenth logical elements AND, the second clock input of the second multiplexer are combined and are the second clock input of the block; the output of the ninth logical element And is connected to the clock input of the first, fourth and fifth registers of data storage, and the output of the tenth logical element And is connected to the clock input of the second and third registers of data storage; information inputs of the first and second data storage registers are combined and are the first information input of the block, and the information input of the third data storage register is the second information input of the block; the first output of the first data storage register is connected to the first input of the second adder and the second subtracter, respectively, and the second output is to the first input of the third adder and the third subtracter, the first output of the second data storage register is connected to the first input of the first and third multipliers, respectively, and the second output - to the first input of the second and fourth multipliers, respectively, the first output of the third data storage register is connected to the second input of the first and fourth scissors, and the second output to the second input of the second and third multipliers; the outputs of the first and second multipliers are connected respectively to the first and second input of the first subtractor, the output of which is connected to the second input of the second adder and the second subtracter respectively, the outputs of the third and fourth multipliers are connected respectively to the first and second input of the first adder, the output of which is connected to the second input, respectively third adder and third subtractor; the outputs of the second and third adders are connected respectively to the first and second information inputs of the fourth data storage register, the outputs of the second and third subtractors are connected respectively to the first and second information inputs of the fifth data storage register; the outputs of the fourth and fifth data storage registers are connected respectively to the first and second information input of the second multiplexer, the output of which is the output of the block.
RU2005116578/09A 2005-05-31 2005-05-31 Processor with maximum possible efficiency for fast fourier transformation RU2290687C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2005116578/09A RU2290687C1 (en) 2005-05-31 2005-05-31 Processor with maximum possible efficiency for fast fourier transformation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2005116578/09A RU2290687C1 (en) 2005-05-31 2005-05-31 Processor with maximum possible efficiency for fast fourier transformation

Publications (2)

Publication Number Publication Date
RU2005116578A RU2005116578A (en) 2006-11-20
RU2290687C1 true RU2290687C1 (en) 2006-12-27

Family

ID=37502086

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2005116578/09A RU2290687C1 (en) 2005-05-31 2005-05-31 Processor with maximum possible efficiency for fast fourier transformation

Country Status (1)

Country Link
RU (1) RU2290687C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2517694C1 (en) * 2012-11-16 2014-05-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева - КАИ" (КНИТУ-КАИ) Apparatus for calculating discrete polynomial transformations
RU196625U1 (en) * 2020-01-17 2020-03-06 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") HIGH-SPEED FOURIER FAST TRANSFORMING DEVICE WITH CONFLICT-FREE, LINEAR MEMORY ACCESS

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2517694C1 (en) * 2012-11-16 2014-05-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева - КАИ" (КНИТУ-КАИ) Apparatus for calculating discrete polynomial transformations
RU196625U1 (en) * 2020-01-17 2020-03-06 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") HIGH-SPEED FOURIER FAST TRANSFORMING DEVICE WITH CONFLICT-FREE, LINEAR MEMORY ACCESS

Also Published As

Publication number Publication date
RU2005116578A (en) 2006-11-20

Similar Documents

Publication Publication Date Title
JP7074363B2 (en) Homomorphic processing unit (HPU) to accelerate secure computation under homomorphic encryption
EP1430392B1 (en) Component reduction in montgomery multiplier processing element
US4370732A (en) Skewed matrix address generator
JPH05508502A (en) Quasi-16 radix processor and method
US5491652A (en) Fast Fourier transform address generator
US4092723A (en) Computer for computing a discrete fourier transform
US5680515A (en) High precision computing with charge domain devices and a pseudo-spectral method therefor
RU2290687C1 (en) Processor with maximum possible efficiency for fast fourier transformation
US4958274A (en) System with a N stages timing silo and P stages information silo for soloing information
RU2700194C1 (en) Unified reconfigurable fast fourier transform switching circuit and method of its formation
US5398322A (en) Number theory mapping generator for addressing matrix structures
RU49305U1 (en) PROCESSOR WITH POSSIBLE PERFORMANCE FOR FAST FOURIER TRANSFORM
CN107506332B (en) Kalman filter quick implementation method
RU2717950C1 (en) Fast fourier transform high-speed device with conflict-free linear memory access
JP7136343B2 (en) Data processing system, method and program
RU188978U1 (en) UNIFIED RECONFIGURED SCHEME OF COMMUTATION OF FAST FURIET TRANSFORMATION
CN115033843B (en) Circuit implementation method for covariance matrix calculation based on triangular pulse array
RU2190874C2 (en) Arithmetic device for calculating fast fourier transformation
Covert A 32 point monolithic FFT processor chip
JP2708013B2 (en) Memory control circuit for N-point FFT processor
SU1672468A1 (en) Device to implement the fast fourier transformation
RU1778762C (en) Matrix inversion device
Catthoor et al. Applications-specific microcoded architectures for efficient fixed-rate FFT
SU1430964A1 (en) Device for computing signal spectra with double resolution
SU1304034A1 (en) Device for fast fourier transform

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner