×
27.01.2015
216.013.20e4

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

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к области цифровой обработки сигналов. Техническим результатом изобретения является создание ядра сопроцессора быстрого преобразования Фурье реального времени для автономного, параллельного с работой DSP - процессора (процессора цифровой обработки сигнала), выполнения быстрых преобразований Фурье комплексных массивов и некоторых сопутствующих операций, которое имеет следующие преимущества: ввод/вывод выполняются в реальном времени, параллельно с обработкой; входные/выходные данные для пользователя входных/выходных данных располагаются в прямом порядке; для расчетов и хранения данных в прямом порядке дополнительная память не требуется; форматы действительных/мнимых компонент входных и выходных данных: 32-разрядная плавающая точка (стандарт IEEE-754), 32-разрядная фиксированная точка (целое число, дополнительный код), 16-разрядная фиксированная точка (целое число, дополнительный код); формат вычислений: 32-разрядная плавающая точка; максимальный размер непосредственно выполняемого преобразования - 8192 К, минимальный - 16 К, предельный размер наращиваемого преобразования - 256 К. 5 з.п. ф-лы, 4 ил.
Реферат Свернуть Развернуть

Изобретение относится к области цифровой обработки сигналов, а именно к ядрам сопроцессора быстрого преобразования Фурье реального времени, и может быть использовано для цифровой обработки сигналов в области радиолокации, гидроакустики, связи, телерадиовещания, спутниковой ретрансляции, сжатия информации и обработки изображений.

К настоящему времени в области программирования и микроэлектроники для цифровой обработки сигналов существует несколько способов реализации алгоритма быстрого преобразования Фурье (БПФ), отличающихся между собой основанием преобразования (radix2, radix4 и т.д.), количеством отсчетов преобразования (от 4 до 1048576 и выше), порядком входных и выходных данных, а также временем исполнения операции.

Наиболее близким к заявленному изобретению является процессор быстрого преобразования Фурье, описанный в патенте RU 2290687. Данный процессор выбран в качестве прототипа заявленного изобретения.

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

Задачей заявленного изобретения является создание ядра сопроцессора быстрого преобразования Фурье реального времени для автономного, параллельного с работой DSP - процессора (процессора цифровой обработки сигнала), выполнения быстрых преобразований Фурье комплексных массивов и некоторых сопутствующих операций, которое имеет следующие преимущества: ввод/вывод выполняются в реальном времени, параллельно с обработкой; входные/выходные данные для пользователя входных/выходных данных располагаются в прямом порядке; для расчетов и хранения данных в прямом порядке дополнительная память не требуется; форматы действительных/мнимых компонент входных и выходных данных: 32-разрядная плавающая точка (стандарт IEEE-754), 32-разрядная фиксированная точка (целое число, дополнительный код), 16-разрядная фиксированная точка (целое число, дополнительный код); формат вычислений: 32-разрядная плавающая точка; максимальный размер непосредственно выполняемого преобразования - 8192 К, минимальный - 16 К, предельный размер наращиваемого преобразования - 256 К. Модуль формирования коэффициентов заявленного ядра сопроцессора выполнен с возможностью расчета поворачивающих коэффициентов для быстрого преобразования Фурье, что позволяет сократить объем необходимой памяти для устройства, а также ускорить обработку больших массивов до 256 К отсчетов. Первый и второй преобразователи адреса чтения и преобразователь адреса записи заявленного ядра сопроцессора выполнены с возможностью конвертации адреса запроса на соответственно чтение/запись в зависимости от выбранного алгоритма, что позволяет сохранить высокий паралеллизм исполнения обработки и ее осуществления без задействования дополнительной памяти результатов (результат вычисления сохраняется в том же месте, что и входные данные).

Поставленная задача решена путем создания ядра сопроцессора быстрого преобразования Фурье реального времени, содержащего модуль управления, выполненный с возможностью непосредственного управления работой ядра сопроцессора посредством записи параметров вычислений и команд в регистры сопроцессора; вычислительный модуль, выполненный с возможностью осуществления основных вычислений с предварительно загруженными в память сопроцессора данными; адресный генератор основных данных и адресный генератор дополнительных данных, выполненные с возможностью формирования адреса для чтения из внутренней памяти сопроцессора данных, необходимых для осуществления заданной операции, а также формирования адреса для записи в память результата вычислений; память сопроцессора, которая состоит из двух секций, что позволяет ядру сопроцессора работать в двухбуферном режиме: с одним буфером работает сопроцессор, с другим внешний контроллер прямого доступа в память (через шину AXI), выполненный с возможностью выгрузки результата и загрузки новых данных; модуль формирования коэффициентов, выполненный с возможностью расчета поворачивающих коэффициентов для быстрого преобразования Фурье; конвейер управления, выполненный с возможностью формирования управляющих сигналов для всех модулей обработки в соответствии с заданным алгоритмом обработки; контроллер AXI шины, выполненный с возможностью обеспечения доступа со стороны внешнего контроллера прямого доступа в память; преобразователь входных/выходных данных, выполненный с возможностью преобразования входных данных и выходных данных из одного формата в другой; арбитр порта А, выполненный с возможностью коммутации запросов на чтение/запись контроллера AXI шины и на запись результата преобразования; арбитр порта В, выполненный с возможностью коммутации запросов на чтение основных и дополнительных данных для вычислительного модуля; первый преобразователь адреса чтения, второй преобразователь адреса чтения и преобразователь адреса записи, выполненные с возможностью конвертации адреса запроса на соответственно чтение/запись в зависимости от выбранного алгоритма; шину параметров, которая соединяет между собой модуль управления, вычислительный модуль, адресный генератор основных данных, адресный генератор дополнительных данных, контроллер AXI шины и преобразователь входных/выходных данных; кроме того, контроллер AXI шины соединен с AXI шиной и с преобразователем входных/выходных данных, который соединен с арбитром порта А, выход которого соединен с входом преобразователя адреса записи, выход которого соединен с входом памяти, которая соединена с первым преобразователем адреса чтения, который соединен с арбитром порта А, вход которого соединен с выходами конвейера управления и вычислительного модуля, вход которого соединен с памятью и преобразователем адреса записи; первый выход адресного генератора основных данных соединен с входом конвейера управления и с входом модуля формирования коэффициентов, выход которого соединен с входом вычислительного модуля, а второй выход адресного генератора основных данных соединен с первым входом арбитра порта В; выход адресного генератора дополнительных данных соединен со вторым входом арбитра порта В, выход которого соединен с входом второго преобразователя адреса чтения, выход которого соединен с входом памяти.

В предпочтительном варианте осуществления ядра сопроцессора вычислительный модуль выполнен в виде многофункционального устройства.

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

В предпочтительном варианте осуществления ядра сопроцессора преобразователь входных/выходных данных выполнен с возможностью преобразования входных данных в следующих соответствиях: integer32 в float32, integer16 в float32; и выходных данных из float32 в integer32.

В предпочтительном варианте осуществления ядра сопроцессора при отключенном преобразователе входных/выходных данных форматом входных и выходных данных является float32.

В предпочтительном варианте осуществления ядра сопроцессора модуль управления соединен с шиной управления АНВ.

Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими графическими материалами.

Фиг.1. Общая функциональная схема ядра сопроцессора быстрого преобразования Фурье реального времени согласно изобретению.

Фиг.2. Схема интеграции ядра сопроцессора быстрого преобразования Фурье реального времени в общую вычислительную систему согласно изобретению.

Фиг.3. Схема принципа работы преобразователя адреса в памяти ядра сопроцессора быстрого преобразования Фурье реального времени согласно изобретению.

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

Рассмотрим вариант выполнения заявленного изобретения, представленный на Фиг.1. Ядро сопроцессора быстрого преобразования Фурье реального времени содержит следующие элементы. Модуль управления 1, выполненный с возможностью непосредственного управления работой ядра сопроцессора посредством записи параметров вычислений и команд в регистры сопроцессора. Вычислительный модуль 2, выполненный с возможностью осуществления основных вычислений с предварительно загруженными в память сопроцессора данными. Адресный генератор 3 основных данных и адресный генератор 4 дополнительных данных, выполненные с возможностью формирования адреса для чтения из внутренней памяти 5 сопроцессора данных, необходимых для осуществления заданной операции, а также формирования адреса для записи в память результата вычислений. Память 5 сопроцессора, которая состоит из двух секций, что позволяет заявленному ядру сопроцессора работать в двухбуферном режиме: с одним буфером работает сопроцессор, с другим внешний контроллер прямого доступа в память (через AXI шину 6), выполненный с возможностью выгрузки результата и загрузки новых данных. Модуль 7 формирования коэффициентов, выполненный с возможностью расчета поворачивающих коэффициентов для быстрого преобразования Фурье, что позволяет сократить объем необходимой памяти для устройства, а также ускорить обработку больших массивов до 256 К отсчетов. Конвейер управления 8, выполненный с возможностью формирования управляющих сигналов для всех модулей обработки в соответствии с заданным алгоритмом обработки. Контроллер 9 AXI шины, выполненный с возможностью обеспечения доступа со стороны внешнего контроллера прямого доступа в память. Преобразователь 10 входных/выходных данных, выполненный с возможностью преобразования входных данных и выходных данных из одного формата в другой. Арбитр 11 порта А, выполненный с возможностью коммутации запросов на чтение/запись контроллера 9 AXI шины и на запись результата преобразования. Арбитр 12 порта В, выполненный с возможностью коммутации запросов на чтение основных и дополнительных данных для вычислительного модуля 2. Первый преобразователь 13 адреса чтения, второй преобразователь 14 адреса чтения и преобразователь 15 адреса записи, выполненные с возможностью конвертации адреса запроса на соответственно чтение/запись в зависимости от выбранного алгоритма, что позволяет сохранить высокий параллелизм исполнения обработки и ее осуществления без задействования дополнительной памяти результатов (результат вычисления сохраняется в том же месте что и входные данные).

Шина 16 параметров соединяет между собой модуль 1 управления, вычислительный модуль 2, адресный генератор 3 основных данных, адресный генератор 4 дополнительных данных, контроллер 9 AXI шины и преобразователь 10 входных/выходных данных. Модуль управления 1 соединен с шиной 17 управления АНВ. Контроллер 9 AXI шины соединен с AXI шиной 6 данных и с преобразователем 10 входных/выходных данных, который соединен с арбитром 11 порта А, выход которого соединен с входом преобразователя 15 адреса записи, выход которого соединен с входом памяти 5, которая соединена с первым преобразователем 13 адреса чтения, который соединен с арбитром 11 порта А, вход которого соединен с выходами конвейера управления 8 и вычислительного модуля 2, вход которого соединен с памятью 5 и преобразователем 15 адреса записи. Первый выход адресного генератора 3 основных данных соединен с входом конвейера управления 8 и с входом модуля 7 формирования коэффициентов, выход которого соединен с входом вычислительного модуля 2, а второй выход адресного генератора 3 основных данных соединен с первым входом арбитра 12 порта В. Выход адресного генератора 4 дополнительных данных соединен со вторым входом арбитра 12 порта В, выход которого соединен с входом второго преобразователя 14 адреса чтения, выход которого соединен с входом памяти 5.

Данные, подлежащие обработке, загружают в заявленное ядро сопроцессора в прямом порядке. Результаты обработки выгружают также в прямом порядке. Действительным компонентам соответствуют нечетные адреса памяти, квадратурным (мнимым) - четные. Размер памяти 5 заявленного ядра сопроцессора составляет 16k×64 разрядных слов.

Память 5 может использоваться в двухбуферном режиме, граница буферов соответствует середине памяти. Двухбуферный режим предназначен для непрерывного выполнения преобразований в реальном времени. Он позволяет внешним устройствам (Фиг.2), например DSP - процессору 18 (процессору цифровой обработки сигнала), DMA - каналу 19 (каналу прямого доступа в память), RISC - ядру CPU 20 (процессора общего назначения с сокращенным набором команд) параллельно с текущим преобразованием данных одного буфера памяти 5 заявленного ядра 21 сопроцессора работать с другим буфером памяти 5, например выгрузить результаты предыдущего преобразования во внешнюю память с помощью контроллера DDR 22, загрузить данные для последующего преобразования, например через периферийные порты 23 (Perepherial Ports). Максимальный размер преобразования в двухбуферном режиме равен 8192 К.

При неработающем заявленном ядре сопроцессора вся его память 5 доступна внешним устройствам.

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

Заявленное ядро сопроцессора обеспечивает следующую производительность: за один такт выполняются максимально 40 арифметических операций с плавающей точкой (24 сложения/вычитания и 16 умножений). Например, при тактовой частоте 160 МГц производительность заявленного ядра сопроцессора составит 6400 Мфлоп/с.

Рассмотрим процесс функционирования описанного выше варианта выполнения заявленного ядра сопроцессора быстрого преобразования Фурье реального времени (Фиг.1). Изначально пользователь устанавливает исходные параметры заявленного ядра сопроцессора, в соответствии с поставленной задачей. При этом задают такие параметры как: тип преобразования, размер преобразования, количество массивов, адрес первого массива и т.д. После этого заявленное ядро сопроцессора запускают на исполнение путем записи команды в регистр памяти 5. Также посредством пользователя загружают все необходимые для вычислений данные в память 5 сопроцессора.

После запуска заявленного ядра сопроцессора адресный генератор 3 основных данных и адресный генератор 4 дополнительных данных (в зависимости от задачи) формируют адреса на чтение входных и запись выходных данных в память 5. При исполнении различных алгоритмов, а также при одновременной работе заявленного ядра сопроцессора и внешнего контроллера прямого доступа в память 5 через контроллер 9 АХI шины могут возникнуть конфликтные ситуации при обращении к памяти 5. Чтобы не нарушить ход вычислений, приоритет отдают заявленному ядру сопроцессора. Арбитр 11 порта А осуществляет коммутацию запросов между первым и вторым буфером памяти 5, а также арбитраж конфликтных ситуаций. Далее запрос поступает в блок преобразования адреса (13, 14, 15 в зависимости от типа запроса), который производит конвертацию адреса в соответствии с выбранным алгоритмом. После чего запрос поступает в память 5.

Так как чтение из памяти занимает определенное количество циклов тактовой частоты, в соответствии с каждым адресом в конвейер управления 8 поступают параметры. В частности в конвейер управления 8 поступают генерируемые параметры для модуля 7 формирования коэффициентов, которые на определенном цикле ввода данных в конвейер управления 8 осуществляют запуск модуля 7 формирования коэффициентов.

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

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

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

Заявленное ядро сопроцессора быстрого преобразования Фурье реального времени имеет возможность выполнять следующие сопутствующие операции: обратное быстрое преобразование Фурье; нормировка результатов преобразования; фазовые матричные повороты результатов преобразования; расчет мощностей результатов преобразования; одновременное преобразование М=2m комплексных массивов; поэлементное перемножение (с сопряжением) двух комплексных массивов; быстрая БПФ - свертка (ковариация); вычисление скалярного произведения комплексных массивов.

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


ЯДРО СОПРОЦЕССОРА БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ РЕАЛЬНОГО ВРЕМЕНИ
ЯДРО СОПРОЦЕССОРА БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ РЕАЛЬНОГО ВРЕМЕНИ
ЯДРО СОПРОЦЕССОРА БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ РЕАЛЬНОГО ВРЕМЕНИ
ЯДРО СОПРОЦЕССОРА БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ РЕАЛЬНОГО ВРЕМЕНИ
Источник поступления информации: Роспатент

Показаны записи 31-33 из 33.
25.08.2017
№217.015.afa6

Устройство для одновременного приема сигналов различных систем спутниковой навигации

Изобретение относится к технике связи и может использоваться для приема и обработки сигналов спутниковых систем навигации. Технический результат состоит в создании устройства для одновременного приема сигналов различных систем спутниковой навигации с увеличенной скоростью определения...
Тип: Изобретение
Номер охранного документа: 0002611069
Дата охранного документа: 21.02.2017
26.08.2017
№217.015.daba

Способ и устройство обработки стереоизображений

Изобретение относится к области обработки стереоизображений. Техническим результатом является минимизация пересылки данных между памятью и устройством при обработке стереоизображений. В способе загружают построчно левое и правое исходные изображения с помощью DMA-контроллера из внешней памяти в...
Тип: Изобретение
Номер охранного документа: 0002623806
Дата охранного документа: 29.06.2017
20.01.2018
№218.016.1279

Декодер ldpc и способ его функционирования

Группа изобретений относится к области цифровой обработки информации, а именно к декодерам LDPC (кодов с малой плотностью проверок на четность) и способам их функционирования. Техническим результатом является уменьшение аппаратных ресурсов. Сущность заявленных изобретений заключается в...
Тип: Изобретение
Номер охранного документа: 0002634193
Дата охранного документа: 24.10.2017
Показаны записи 61-68 из 68.
04.07.2020
№220.018.2f07

Радиационно-стойкое статическое оперативное запоминающее устройство (озу) на комплементарных металл-окисел-полупроводник транзисторах

Изобретение относится к вычислительной технике. Технический результат заключается в повышении устойчивости к одиночным сбоям. Радиационно-стойкое статическое оперативное запоминающее устройство (ОЗУ) на комплементарных металл-окисел-полупроводник транзисторах содержит блоки адресных...
Тип: Изобретение
Номер охранного документа: 0002725328
Дата охранного документа: 02.07.2020
04.07.2020
№220.018.2f43

Тестовый блок кольцевых генераторов на комплементарных метал-окисел-полупроводник транзисторах

Изобретение относится к области микроэлектроники. Техническим результатом изобретения является создание тестового блока кольцевых генераторов на комплементарных металл-окисел-полупроводник транзисторах с повышенной универсальностью вследствие возможности тестирования радиационной стойкости...
Тип: Изобретение
Номер охранного документа: 0002725333
Дата охранного документа: 02.07.2020
12.04.2023
№223.018.448b

Параллельный кодер бчх с реконфигурируемой корректирующей способностью

Изобретение относится к области цифровой обработки информации. Техническим результатом изобретения является создание параллельного кодера БЧХ с реконфигурируемой корректирующей способностью, который обладает повышенной эффективностью, скоростью работы, функциональностью и универсальностью. Это...
Тип: Изобретение
Номер охранного документа: 0002777527
Дата охранного документа: 05.08.2022
12.04.2023
№223.018.44af

Датчик температуры

Изобретение относится к области электротехники. Предложен датчик температуры, содержащий источник постоянного тока и соединенные с ним первое звено, которое состоит из зависящего от температуры сопротивления, и второе звено, которое состоит из двух последовательно соединенных сопротивлений с...
Тип: Изобретение
Номер охранного документа: 0002772665
Дата охранного документа: 23.05.2022
12.04.2023
№223.018.44c1

Цифровой делитель частоты

Изобретение относится к области электротехники. Техническим результатом изобретения является создание синтезируемого цифрового делителя частоты с увеличенным предельным значением частоты тактового сигнала за счет установки логического вентиля на сигнале обратной связи. 3 ил.
Тип: Изобретение
Номер охранного документа: 0002766442
Дата охранного документа: 15.03.2022
12.04.2023
№223.018.451c

Управляемый напряжением блок кольцевых генераторов на комплементарных метал-окисел-полупроводник (кмоп) транзисторах

Изобретение относится к области микроэлектроники. Техническим результатом изобретения является создание управляемого напряжением блока кольцевых генераторов на комплементарных метал-окисел-полупроводник (КМОП) транзисторах с повышенной радиационной стойкостью при воздействии отдельных ядерных...
Тип: Изобретение
Номер охранного документа: 0002763038
Дата охранного документа: 27.12.2021
12.04.2023
№223.018.452f

Параметризуемый однотактный умножитель двоичных чисел с фиксированной точкой в прямом и дополнительном коде

Изобретение относится к области цифровой обработки сигналов, к структурам вычислительных блоков микропроцессоров. Техническим результатом является повышение универсальности за счет того, что любой из множителей может быть представлен как в прямом, так и в дополнительном коде; улучшение...
Тип: Изобретение
Номер охранного документа: 0002753184
Дата охранного документа: 12.08.2021
12.04.2023
№223.018.45fa

Реконфигурируемый кодер полярных кодов 5g сетей

Изобретение относится к электротехнике, к области цифровой обработки сигналов (ЦОС). Технический результат заключается в обеспечении реконфигурируемого кодера полярных кодов 5G сетей с увеличенным быстродействием и с меньшими аппаратными затратами. Такой результат достигается за счет...
Тип: Изобретение
Номер охранного документа: 0002748897
Дата охранного документа: 01.06.2021
+ добавить свой РИД