RU2737236C1 - Многоканальный систолический процессор для вычисления полиномиальных функций - Google Patents

Многоканальный систолический процессор для вычисления полиномиальных функций Download PDF

Info

Publication number
RU2737236C1
RU2737236C1 RU2020107530A RU2020107530A RU2737236C1 RU 2737236 C1 RU2737236 C1 RU 2737236C1 RU 2020107530 A RU2020107530 A RU 2020107530A RU 2020107530 A RU2020107530 A RU 2020107530A RU 2737236 C1 RU2737236 C1 RU 2737236C1
Authority
RU
Russia
Prior art keywords
output
input
control
unit
inputs
Prior art date
Application number
RU2020107530A
Other languages
English (en)
Inventor
Игорь Анатольевич Калмыков
Дмитрий Владимирович Юрданов
Евгений Александрович Волошин
Игорь Александрович Проворнов
Наталья Игоревна Калмыкова
Original Assignee
федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" filed Critical федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Priority to RU2020107530A priority Critical patent/RU2737236C1/ru
Application granted granted Critical
Publication of RU2737236C1 publication Critical patent/RU2737236C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

Изобретение относится к вычислительной технике и может быть использовано в специализированных системах многоканальной цифровой обработки сигналов и в измерительно-вычислительных системах. В предлагаемом изобретении реализуются вычисления с использованием параллельного непозиционного кода СОК. В данной системе вычисления осуществляются параллельно над малоразрядными остатками, определяемыми основаниями системы остаточных классов, что позволяет использовать ПЗУ для выполнения операций сложения и умножения, при этом время выполнения этих операций будет определяться временем выборки из ПЗУ. Таким образом, распараллеливание на уровне арифметических операций и независимая обработка данных по основаниям СОК, реализуемая выборками из ПЗУ, повышает скорость цифровой обработки сигналов с использованием полиномиальных функций без аддитивных и мультипликативных ошибок. Изобретение направлено на повышение скорости и точности многоканальной цифровой обработки сигналов за счет применения системы остаточных классов (СОК). 7 ил.

Description

Изобретение относится к вычислительной технике и может быть использовано в специализированных системах многоканальной цифровой обработки сигналов и в измерительно-вычислительных системах.
Известен систолический процессор для вычисления полиномиальных функций (Авторское свидетельство SU 1608689, МПК G06F 15/332 «Систолический процессор для вычисления полиномиальных функций»), содержащий информационный вход, входной регистр, коммутатор, систолическую матрицу из
Figure 00000001
(
Figure 00000002
– размер преобразования) операционного блока, блок восстановления с информационным выходом, блок постоянной памяти коэффициентов, блок синхронизации с входом запуска, двумя тактовыми и одним информационным выходами.
Недостатками известного систолического процессора для вычисления полиномиальных функций являются: низкая эффективность использования оборудования (
Figure 00000003
) за счет простоя систолической матрицы на этапе загрузки исходных данных и, как следствие низкая скорость вычислений значений полиномиальных функций, низкая точность вычислений, обусловленная использованием схемы Горнера и возможность только одноканальной обработки поступающих данных.
Известен систолический процессор дискретного преобразования Фурье (Авторское свидетельство SU 1615741, МПК G06F 15/332 «Систолический процессор дискретного преобразования Фурье»), содержащий два
Figure 00000004
– канальных коммутатора (входной и выходной), операционный блок, блок постоянной памяти (взвешивающих множителей), группу из
Figure 00000001
(
Figure 00000002
– размер преобразования) операционного блока, блок постоянной памяти (весовых множителей), группу из
Figure 00000002
блоков хранения, блок управления с тактовым входом и выходом, первым и вторым управляющими выходами, адресным выходом.
Недостатками систолического процессора дискретного преобразования Фурье, взятого за прототип, являются низкая скорость (время выполнения операций умножения и сложения пропорционально разрядности обрабатываемых операндов) и точность вычисления значений полиномиальных функций при обработке целочисленных данных. Низкая точность вычислений связана с аддитивными и мультипликативными ошибками, возникающими при вычислениях.
Основной задачей предлагаемого изобретения является повышение скорости и точности многоканальных вычислений значений полиномиальных функций за счет применения системы остаточных классов (СОК).
Техническим результатом, достигнутым при осуществлении заявленного изобретения, является повышение скорости и точности многоканальной цифровой обработки сигналов за счет применения СОК.
Указанный технический результат достигается тем, что в предлагаемом изобретении реализуются вычисления с использованием параллельного непозиционного кода СОК. В данной системе вычисления осуществляются параллельно над малоразрядными остатками, определяемыми основаниями системы остаточных классов, что позволяет использовать ПЗУ для выполнения операций сложения и умножения, при этом, время выполнения этих операций будет определяться временем выборки из ПЗУ, что значительно меньше, чем в прототипе. Таким образом, распараллеливание на уровне арифметических операций и независимая обработка данных по основаниям СОК, реализуемая выборками из ПЗУ, повышает скорость цифровой обработки сигналов с использованием полиномиальных функций без аддитивных и мультипликативных ошибок.
Для предотвращения аддитивных и мультипликативных ошибок и повышения скорости выполнения арифметических операций, в предлагаемом изобретении вычисления производятся с использованием кодов СОК. В СОК используются взаимно простые числа
Figure 00000005
, называемые основаниями и целое число
Figure 00000006
представляется в виде набора остатков
Figure 00000007
, где
Figure 00000008
. Произведение оснований
Figure 00000009
определяет рабочий диапазон кода СОК:
Figure 00000010
. (1)
Для двух чисел
Figure 00000011
и
Figure 00000012
, представленных в коде СОК справедливы равенства:
Figure 00000013
, (2)
Figure 00000014
, (3)
Figure 00000015
. (4)
Анализ выражений (2) – (4) показывает, что за счет параллельных вычислений с малоразрядными остатками, использование кодов СОК предотвращает возникновение аддитивных и мультипликативных ошибок и повышает скорость выполнения арифметических операций.
Восстановление результата, полученного в коде СОК до полного значения в позиционной системе счисления возможно на основе Китайской теоремы об остатках, утверждающей, что для любых значений чисел
Figure 00000016
, система уравнений:
Figure 00000017
, (5)
где
Figure 00000009
– попарно взаимно-простые числа,
Figure 00000018
, имеет единственное решение по
Figure 00000019
(1). Это решение можно выразить в виде:
Figure 00000020
, (6)
где
Figure 00000021
,
Figure 00000022
и
Figure 00000023
находится из условия:
Figure 00000024
. (7)
Для практических вычислений удобно использовать модули вида:
Figure 00000025
[см. Макклеллан Дж. Г., Рейдер Ч.М. Применение теории чисел в цифровой обработке сигналов: Пер. с англ./ Под ред. Ю.И. Манина. – М.: Радио и связь, 1983. – 264 с.]. Рассмотрим возможность перевода СОК-ПСС при
Figure 00000026
,
Figure 00000027
,
Figure 00000028
,
Figure 00000029
и
Figure 00000030
, для чего вычислим
Figure 00000031
,
Figure 00000032
,
Figure 00000033
. На основе (7) получаем:
Figure 00000034
;
Figure 00000035
;
Figure 00000036
На основе (6) получим формулу преобразования СОК-ПСС для оснований
Figure 00000027
,
Figure 00000028
,
Figure 00000029
:
Figure 00000037
, (8)
где
Figure 00000038
,
Figure 00000039
,
Figure 00000040
– вычеты числа
Figure 00000041
по модулям 16, 17 и 15 соответственно.
На фиг.1 представлена структурная схема многоканального систолического процессора для вычисления полиномиальных функций, на фиг.2 – структурная схема вычислительного тракта по модулю
Figure 00000005
, на фиг.3 – структурная схема операционного блока вычислительного тракта по модулю
Figure 00000005
, на фиг. 4 – структурная схема блока хранения вычислительного тракта, на фиг.5 – структурная схема коммутатора блока хранения, на фиг. 6 – структурная схема блока управления.
В состав схемы многоканального систолического процессора для вычисления полиномиальных функций (фиг. 1) входят входной
Figure 00000004
– канальный коммутатор 1, преобразователь ПСС-СОК 2,
Figure 00000042
вычислительных трактов 3.1 – 3.k по модулям
Figure 00000005
, преобразователь СОК-ПСС 4, выходной
Figure 00000004
– канальный коммутатор 5, блок 6 управления, тактовый выход 7 блока 6 управления, первый 8, второй 9 и третий 10 управляющие выходы блока 6 управления, адресный выход 11 блока 6 управления и тактовый вход 12.
Выход входного
Figure 00000004
– канального коммутатора 1 подключен к входу преобразователя ПСС-СОК 2, имеющего
Figure 00000042
выходов подключенных к информационным входам
Figure 00000042
вычислительных трактов 3.1 – 3.k по модулям
Figure 00000005
, информационные выходы которых подключены к входам преобразователя СОК-ПСС 4, выход которого подключен к входу выходного
Figure 00000004
– канального коммутатора 5, при этом, тактовый выход 7 блока 6 управления подключен к тактовым входам преобразователей ПСС-СОК 2, СОК-ПСС 4 и тактовым входам
Figure 00000042
вычислительных трактов 3.1 – 3.k по модулям
Figure 00000009
, первый управляющий выход 8 подключен к управляющим входам входного и выходного
Figure 00000004
– канальных коммутаторов 1 и 5, второй 9, третий 10 управляющие выходы и адресный выход 11 подключены к первым, вторым управляющим и адресным входам k вычислительных трактов 3.1 – 3.k по модулям
Figure 00000009
соответственно.
В состав схемы вычислительного тракта 3.i по модулю
Figure 00000005
, (фиг.2) входят адресный вход 13.i, информационный вход 14.i, первый 15.i и второй 16.i управляющие входы, информационный выход 17.i, тактовый вход 18.i, операционный блок 19.i, блок 20.i постоянной памяти (взвешивающих множителей), систолическая матрица 21.i из (
Figure 00000001
) – го операционного блока 22.i (
Figure 00000002
– размер преобразования), блок 23.i постоянной памяти (весовых множителей), группа 24.i из
Figure 00000002
блоков 25.i хранения.
Адресный вход 13.i,
Figure 00000022
подключен к блокам 20.i и 23.i постоянной памяти (взвешивающих множителей и весовых множителей соответственно), выходы которых подключены к первым информационным входам операционного блока 19.i и первого операционного блока 22.i систолической матрицы 21.i. Информационный вход 14.i подключен к второму информационному входу операционного блока 19.i, второй выход которого подключен к второму информационному входу первого операционного блока 22.i систолической матрицы 21.i., третий выход подключен ко второму информационному входу первого блока 25.i хранения группы 24.i. Первый и второй выходы t – го (
Figure 00000043
) операционного блока 22.i систолической матрицы 21.i подключены к первому и второму информационным входам t
Figure 00000044
операционного блока 22.i систолической матрицы 21.i, , третьи выходы t – го (
Figure 00000045
) операционного блока 22.i систолической матрицы 21.i подключены ко вторым информационным входам t
Figure 00000044
блока 25.i хранения группы 24.i. Третий выход первого блока 25.i хранения группы 24.i подключен к третьему информационному входу операционного блока 19.i, третий выход t – го (t
Figure 00000046
) блока 25.i хранения группы 24.i подключен к третьему информационному входу
Figure 00000047
-го операционного блока 22.i систолической матрицы 21.i. Первый и второй выходы t – го (
Figure 00000045
) блока 25.i хранения группы 24.i подключены к первому и второму управляющим входам t
Figure 00000044
– го блока хранения 25.i группы 24.i. Четвертые выходы t – го (t
Figure 00000046
) блока 25.i хранения группы 24.i подключены к первым информационным входам t
Figure 00000048
– го блока хранения 25.i группы 24.i. Тактовый вход 18.i подключен к тактовым входам
Figure 00000002
блоков 25.i хранения группы 24.i, тактовым входам
Figure 00000001
операционного блока 22.i систолической матрицы 21.i, тактовому входу операционного блока 19.i, тактовым входам блоков 20.i и 23.i постоянной памяти. Первый 15.i и второй 16.i управляющие входы подключены к первому и второму управляющим входам первого блока 25.i хранения группы 24.i, четвертый выход которого подключен к информационному выходу 17.i вычислительного тракта 3.i по модулю
Figure 00000005
.
В состав схемы операционного блока 19.i, 22.i вычислительного тракта по модулю
Figure 00000005
, (фиг.3) входят первый 27.i, второй 26.i и третий 28.i информационные входы, регистр 29.i, тактовый вход 30.i, умножитель 31.i, сумматор 33.i, два узла постоянной памяти 32.i, 34.i, первый 36.i, второй 35.i и третий 37.i выходы. В операционном блоке 19.i первый выход 36.i остается не подключенным к другим элементам схемы, в
Figure 00000049
-м операционном блоке 22.i первый 36.i и второй 35.i выходы не связаны с другими элементами схемы.
Второй информационный вход 26.i соединен с первым входом умножителя 31.i, вторым входом которого является первый выход регистра 29.i, второй выход которого является первым выходом 36.i операционного блока. Первый информационный вход 27.i соединен с входом регистра 29.i. Выход умножителя 31.i соединен с входом узла постоянной памяти 32.i, выход которого соединен с первым входом сумматора 33.i и вторым выходом 35.i операционного блока, третий информационный вход 28.i подключен к второму входу сумматора 33.i, выход которого соединен с входом узла постоянной памяти 34.i, выход которого соединен с третьим выходом 37.i операционного блока, тактовый вход 30.i подключен к регистру 29.i, умножителю 31.i, сумматору 33.i и узлам постоянной памяти 32.i, 34.i.
В состав схемы блока хранения вычислительного тракта 25.i,
Figure 00000022
, (фиг.4) входят первый 38.i и второй 39.i информационные входы, коммутатор 40.i, тактовый вход 41.i, первый 42.i и второй 45.i управляющие входы, элементы 43.i, 46.i задержки, первый 44.i и второй 47.i выходы, узлы 48.i и 49.i из
Figure 00000050
и
Figure 00000004
регистров 50.i соответственно, третий 51.i и четвертый 52.i выходы.
Первый 38.i и второй 39.i информационные входы блока хранения 25.i подключены к коммутатору 40.i, выходы которого подключены к входам узлов 48.i и 49.i. Выход каждого t – го (t
Figure 00000051
) регистра 50.i узла 48.i подключен к входу t
Figure 00000044
регистра 50.i узла 48.i из (M-1) регистра, выход каждого t – го (t
Figure 00000052
регистра 50.i узла 49.i подключен к входу t
Figure 00000044
регистра 50.i узла 49.i из M регистров. Выход
Figure 00000053
– го регистра 50.i узла 48.i является четвертым выходом 52.i блока хранения 25.i, выход
Figure 00000054
– го регистра 50.i узла 49.i является третьим выходом 51.i блока хранения 25.i. Первый управляющий вход 42.i подключен к первому управляющему входу коммутатора 40.i и элементу 43.i задержки, выход которого является первым 44.i выходом блока хранения 25.i, второй управляющий вход 45.i подключен к второму управляющему входу коммутатора 40.i и элементу 46.i задержки, выход которого является вторым 47.i выходом блока хранения 25.i. Тактовый вход 41.i блока хранения 25.i подключен к тактовым входам всех регистров 50.i узлов 48.i и 49.i.
В состав схемы коммутатора 40.i блока хранения 25.i,
Figure 00000022
, (фиг.5) входят первый 53.i и второй 54.i вход данных, первый 55.i и второй 56.i управляющие входы, элементы «И» (используемые для разрешения/запрещения) 57.i – 59.i, элемент «ИЛИ» 60.i, первый 61.i и второй 62.i выходы.
Первый вход данных 53.i коммутатора 40.i блока хранения 25.i подключен к информационным входам элементов «И» 57.i и 58.i, выходы которых являются вторым выходом 62.i коммутатора 40.i блока хранения 25.i и входом элемента «ИЛИ» 60.i соответственно. Второй вход данных 54.i коммутатора 40.i блока хранения 25.i подключен к информационному входу элемента «И» 59.i, выход которого подключен к входу элемента «ИЛИ» 60.i, выход которого является первым выходом 61.i коммутатора 40.i блока хранения 25.i. Первый управляющий вход 55.i коммутатора блока хранения подключен к управляющим входам элементов «И» 57.i и 59.i, второй управляющий вход 56.i коммутатора блока хранения подключен к управляющему входу элемента «И» 58.i.
В состав схемы блока 6 управления (фиг.6) входят генератор 63 тактовых импульсов,
Figure 00000055
– разрядный двоичный счетчик 64, первый 65 и второй 66 дешифраторы состояний счетчика.
Тактовый вход систолического процессора для вычисления полиномиальных функций 12 является тактовым входом генератора 63 тактовых импульсов, выход которого является тактовым выходом 7 блока 6 управления и подключен к
Figure 00000055
– разрядному двоичному счетчику 64,
Figure 00000056
– выход которого подключен к первому дешифратору 65 состояний счетчика,
Figure 00000055
– выход которого подключен ко второму дешифратору 66 состояний счетчика и адресному выходу 11 блока 6 управления. Выход первого дешифратора 65 состояний счетчика является первым управляющим выходом 8 блока 6 управления, первый и второй выходы второго дешифратора 66 являются вторым 9 и третьим 10 управляющими выходами блока 6 управления.
В состав схемы преобразователя СОК-ПСС 4 (фиг. 7) входят узел 67 постоянной памяти из k секций 68.1 – 68.k, k – входовый сумматор 69, узел 70 постоянной памяти, информационные входы 71.1 – 71.k, выход 72 и тактовый вход 73.
Информационные входы 71.1 – 71.k преобразователя СОК-ПСС 4 подключены к секциям 68.1 – 68.k узла 67 постоянной памяти, выходы которых подключены к входам
Figure 00000042
– входового сумматора 69, выход которого подключен к входу узла 70 постоянной памяти, выход которого является выходом 72 преобразователя СОК-ПСС 4, тактовый вход 73 которого соединен с входами разрешения считывания узла 67 постоянной памяти, k – входового сумматора 69 и узла постоянной памяти 70.
Таким образом, для достижения технического результата, в заявленное изобретение, содержащее входной и выходной M – канальные коммутаторы 1 и 5, блок управления 6 и один вычислительный тракт 3.i, где i=1, тактовый вход которого является тактовым выходом 7 блока управления 6, тактовый вход 12 которого является тактовым входом устройства, первый управляющий выход 8 блока управления 6 подключен к управляющим входам входного и выходного M – канальных коммутаторов, второй управляющий выход 9 и адресный выход 11 блока управления подсоединены соответственно к первому управляющему и адресному входам первого вычислительного тракта 3.i,который содержит операционный блок 19.i, два блока постоянной памяти (взвешивающих множителей) 20.i и (весовых множителей) 23.i соответственно, группу 24.i из
Figure 00000002
блоков хранения 25.i (
Figure 00000002
– размер преобразования) и систолическую матрицу 21.i из
Figure 00000057
операционного блока 22.i, причем первый и второй выходы t-го (
Figure 00000043
) операционного блока 22.i систолической матрицы 21.i из
Figure 00000057
операционного блока подключены соответственно к первому и второму информационным входам (t
Figure 00000044
)-го операционного блока, тактовые входы всех операционных блоков 19.i и 22.i, блоков хранения 25.i группы 24.i из N блоков хранения и блоков постоянной памяти (взвешивающих множителей) 20.i и (весовых множителей) 23.i подключены к тактовому входу 18.i, соединённому с тактовым выходом 7 блока управления 6, адресный вход 13.i соединен с блоками постоянной памяти (взвешивающих множителей) 20.i и (весовых множителей) 23.i, выход блока постоянной памяти (взвешивающих множителей) 20.i подключен к первому информационному входу операционного блока 19.i, второй выход которого подключен ко второму информационному входу первого операционного блока 22.i систолической матрицы 21.i, первый информационный вход которого соединен с выходом блока постоянной памяти (весовых множителей) 23.i, третьи выходы всех операционных блоков 19.i и 22.i подключены ко вторым информационным входам соответствующих блоков хранения 25.i, третьи выходы которых подключены к третьим информационным входам соответствующих операционных блоков 19.i и 22.i, первый управляющий вход 15.i является первым управляющим входом первого блока хранения 25.i группы 24.i из N блоков хранения, первый выход t-го (
Figure 00000045
) блока хранения 25.i подключен к первому управляющему входу (t+1)-го блока хранения 25.i, четвертый выход (t+1)-го блока хранения 25.i подключен к первому информационному входу выход t-го блока хранения 25.i, при этом операционные блоки содержат сумматор 33.i, умножитель 31.i и регистр 29.i, первый выход которого подключен к второму входу умножителя 31.i, второй выход регистра 29.i является первым выходом 36.i операционного блока, тактовый вход 30.i которого соединен с тактовым входом регистра 29.i и умножителя 31.i, первый информационный вход 27.i операционного блока подключен к входу регистра 29.i, второй информационный вход 26.i операционного блока является первым входом умножителя 31.i, третий информационный вход 28.i операционного блока является вторым входом сумматора 33.i, при этом каждый блок хранения 25.i группы 24.i из N блоков хранения содержит два узла 48.i и 49.i из (M-1) и M регистров 50.i соответственно, элемент задержки 43.i и коммутатор 40.i, выходы которого подключены к входам узлов из (M-1) 48.i и M 49.i регистров 50.i, тактовые входы которых соединены между собой и являются тактовым входом 41.i блока хранения 25.i, выход каждого t – го (t
Figure 00000051
) регистра 50.i узла 48.i из (M-1) регистра подключен к входу t
Figure 00000044
регистра 50.i узла 48.i из (M-1) регистра, выход каждого t – го (t
Figure 00000052
регистра 50.i узла 49.i подключен к входу t
Figure 00000044
регистра 50.i узла 49.i из M регистров, первый управляющий вход 42.i подключен к первому управляющему входу коммутатора 40.i и входу элемента задержки 43.i, выход которого является первым выходом блока хранения 25.i, первый 38.i и второй 39.i информационные входы которого подключены к коммутатору 40.i, выход
Figure 00000053
– го регистра 50.i узла 48.i из (M-1) регистра является четвертым выходом 52.i блока хранения 25.i, выход
Figure 00000054
– го регистра 50.i узла 49.i из M регистров является третьим выходом 51.i блока хранения 25.i, , причем первый выход операционного блока 19.i, первый и второй выходы (N-1)-го операционного блока 22.i систолической матрицы 21.i, первый выход и первый информационный вход N-го блока хранения 25.i не соединены с другими элементами, введены преобразователь из позиционной системы счисления в систему остаточных классов (ПСС-СОК) 2, преобразователь из системы остаточных классов в позиционную систему счисления (СОК-ПСС) 4,
Figure 00000058
вычислительный тракт 3.i по модулю
Figure 00000005
, причем выход входного M – канального коммутатора соединен с входом преобразователя ПСС-СОК 2, k выходов которого подключены к информационным входам вычислительных трактов 3.i по модулю
Figure 00000005
, информационные выходы которых подключены ко входам преобразователя СОК-ПСС 4, выход которого подключен к входу выходного
Figure 00000004
– канального коммутатора 4, тактовый выход 7 блока управления 6 подключен к тактовым входам преобразователя ПСС-СОК 2, преобразователя СОК-ПСС 4, вычислительных трактов 3.i по модулю
Figure 00000059
, адресный выход 11 и второй управляющий выход 9 блока 6 управления подключены соответственно к адресным и первым управляющим входам вычислительных трактов 3.i по модулю
Figure 00000059
, третий управляющий выход 10 блока управления 6 подключен ко вторым управляющим входам вычислительных трактов 3.i по модулю
Figure 00000005
, в вычислительных трактах 3.i по модулю
Figure 00000005
информационный вход 14.i подключен ко второму информационному входу операционного блока 19.i, второй управляющий вход 16.i и информационный выход 17.i вычислительного тракта 3.i по модулю
Figure 00000005
подключены соответственно ко второму управляющему входу и четвертому выходу первого блока хранения 25.i группы из N блоков хранения 24.i, второй выход t-го блока хранения 25.i (
Figure 00000045
) подключен к второму управляющему входу (t+1)-го блока хранения 25.i, второй выход N-го блока хранения 25.i не соединен с другими элементами, во все операционные блоки 19.i и 22.i вычислительных трактов по модулю
Figure 00000005
введены по два узла постоянный памяти 32.i и 34.i, причем выход умножителя 31.i операционного блока подключен к входу узла постоянной памяти 32.i, хранящего вычеты всех возможных произведений по модулям
Figure 00000009
,
Figure 00000022
, выход которого подключен ко второму выходу 35.i операционного блока и первому входу сумматора 33.i, выход которого подключен к входу узла постоянной памяти 34.i, хранящего вычеты всех возможных сумм по модулям
Figure 00000009
,
Figure 00000022
, выход которого является третьим выходом 37.i операционного блока, тактовый вход 30.i которого дополнительно подключен к тактовым входам двух узлов постоянной памяти 32.i и 34.i и сумматора 33.i, во все блоки хранения вычислительных трактов по модулю
Figure 00000005
введен элемент задержки 46.i, выход которого является вторым выходом 47.i блока хранения 25.i, а вход соединен со вторым управляющим входом коммутатора 40.i блока хранения 25.i и подключен ко второму управляющему входу 45.i блока хранения 25.i.
Многоканальный систолический процессор для вычисления полиномиальных функций работает следующим образом.
Пусть
Figure 00000004
входных параллельных потоков данных формируются так, что в течение очередных
Figure 00000004
тактов времени на вход процессора поступает по одному отсчету данных в каждый такт, при этом последовательно поступают
Figure 00000004
отсчетов данных
Figure 00000060
от каждого из
Figure 00000004
каналов – источников данных
Figure 00000061
, где j – номер канала данных, s – номер отсчета данных канала,
Figure 00000002
– длина входной последовательности (число отсчетов) обрабатываемых данных по каждому каналу.
Отсчеты данных
Figure 00000062
поступают на входы входного
Figure 00000004
– канального коммутатора 1, управляющий вход которого соединен с первым управляющим выходом 8 блока 6 управления, являющегося выходом первого дешифратора 65 состояний счетчика 64. В результате на
Figure 00000063
– м такте работы
Figure 00000064
s – й отсчет данных от j – го канала передается с входа входного M – канального коммутатора 1 на его выход и далее на вход преобразователя ПСС-СОК 2.
Преобразователь ПСС-СОК 2 осуществляет перевод отсчетов данных
Figure 00000060
в СОК по модулям
Figure 00000005
. Переведенные отсчеты
Figure 00000065
поступают для обработки на информационные входы
Figure 00000042
вычислительных трактов 3.1 – 3.k по модулям
Figure 00000005
.
Блоки 20.i,
Figure 00000022
постоянной памяти (взвешивающих множителей) емкостью
Figure 00000066
слов имеют страничную организацию из
Figure 00000002
страниц по
Figure 00000004
слов. В каждой странице блока 20.i записаны взвешивающие множители для отсчетов данных
Figure 00000067
, где
Figure 00000068
, а
Figure 00000069
– порядковый номер страницы. Для обращения к блокам 20.i по адресному выходу 11 блока 6 управления на адресный вход 13.i вычислительного тракта 3.i по модулю
Figure 00000009
передается
Figure 00000070
– разрядный адрес.
Блоки 23.i,
Figure 00000022
постоянной памяти (весовых множителей) имеет емкость
Figure 00000002
слов, для обращения к ним требуется
Figure 00000071
– двоичный адрес, что достигается подключением старших
Figure 00000071
– разрядов адресного выхода 11 блока 6 управления к адресным входам вычислительных трактов 3.i.
Перед началом работы процессора
Figure 00000055
– разрядный двоичный счетчик 64 блока управления 6 обнулен и тем самым на управляющих входах 55.i и 56.i,
Figure 00000022
коммутаторов 40.i всех блоков хранения 25.i поступают управляющие сигналы, обнуляющие все регистры 50.i узлов 48.i и 49.i из (M-1) и M регистров соответственно, памяти FIFO.
На первые информационные входы 27.i операционных блоков 19.i вычислительных трактов 3.i по модулям
Figure 00000005
поступают с выходов блоков 20.i постоянной памяти (взвешивающих множителей) отсчеты весовой функции «окна» с тем же темпом и синхронно с отсчетами обрабатываемых данных
Figure 00000067
.
Операционные блоки 19.i вычислительных трактов 3.i по модулям
Figure 00000005
реализуют в СОК операции вида:
Figure 00000072
, (9)
Figure 00000073
, (10)
где
Figure 00000074
– соответствующий взвешивающий множитель,
Figure 00000075
.Текущие суммы вида
Figure 00000076
в выражении (10) накапливаются в первых блоках 25.i хранения групп 24.i операционных блоков 3.i. Значения
Figure 00000077
,
Figure 00000022
передаются на вторые информационные входы первых операционных блоков 22.i систолических матриц 21.i, на вторые информационные входы которых поступают весовые множители
Figure 00000078
,
Figure 00000069
от блоков 23.i постоянной памяти (весовых множителей) с тем же темпом и синхронно с отсчетами
Figure 00000077
.
В операционных блоках 22.i с номерами t
Figure 00000079
систолических матриц 21.i и связанными с ними блоками 25.i хранения с номерами t
Figure 00000044
реализуются функции:
Figure 00000080
, (11)
Figure 00000081
Figure 00000082
, (12)
Figure 00000083
. (13)
Текущее значение суммы в выражении (13) накапливается в блоках 25.i хранения с номерами t
Figure 00000044
. Тем самым, операционные блоки 19.i, операционные блоки 22.i систолических матриц 21.i и связанных с ними блоков 25.i групп 24.i реализуют в совокупности вычисления одномерных полиномиальных функций с предварительным взвешиванием отсчетов исходных данных по выражению:
Figure 00000084
. (14)
Данное выражение вычисляется в процессоре за
Figure 00000085
тактов. При этом, в течение первых
Figure 00000086
тактов в узлах 49.i регистров 50.i блоков 25.i хранения с номерами t
Figure 00000087
осуществляется накопление текущей суммы в соответствии с выражениями (10) и (13). В течение всего данного промежутка времени со второго 9 и третьего 10 управляющих выходов блока 6 управления на первые 55.i и вторые 56.i управляющие входы коммутаторов 40.i блоков 25.i хранения с номерами t присутствуют сигналы
Figure 00000088
,
Figure 00000089
, сформированные вторым дешифратором 66 состояний счетчика 64 блока 6 управления.
Операции умножения и сложения в СОК реализуются в умножителях 31.i и сумматорах 33.i операционных блоков 19.i, 22.i. Нахождение вычетов по модулям
Figure 00000009
,
Figure 00000022
производится в соответствии с принципами табличной арифметики посредством обращения к узлам постоянной памяти 32.i, 34.i. В узлах постоянной памяти 32.i и 34.i хранятся вычеты всех возможных произведений и сумм по модулям
Figure 00000009
,
Figure 00000022
соответственно.
Данные со вторых 39.i информационных входов t – блоков 25.i хранения
Figure 00000087
поступают в коммутаторы 40.i и далее, на входы первых регистров 50.i узлов 49.i. Данные, являющиеся частичными суммами в выражениях (10) и (13), последовательно переписываются из регистра в регистр узлов 49.i. С выходов последних регистров 50.i узлов 49.i данные поступают на третьи 51.i выходы блоков 25.i хранения, далее на третьи информационные входы 28.i соответствующих операционных блоков 22.i систолических матриц 21.i (при
Figure 00000090
) или на третьи информационные входы 28.i операционных блоков 19.i (при
Figure 00000091
).
В течение следующих
Figure 00000004
тактов работы процессора, в операционных блоках 19.i и 22.i с номерами
Figure 00000047
Figure 00000092
систолических матриц 21.i формируются окончательные результаты в соответствии с выражениями (10) и (13). Каждый результат
Figure 00000093
поступает в первые регистры 50.i узлов 48.i соответствующих блоков 25.i хранения, поскольку на
Figure 00000094
– м такте работы, вторым дешифратором 66 состояний счетчика 64 блока управления 6 формируются управляющие сигналы
Figure 00000095
,
Figure 00000096
, которые сохраняются до такта
Figure 00000097
с начала обработки данных
Figure 00000060
в процессоре. При этом, данные, поступающие на вторые информационные входы 39.i блоков хранения 25.i через коммутаторы 40.i поступают на входы первого регистра 50.i узлов 48.i.
Поскольку каждый операционный блок 22.i систолических матриц 21.i включается в работу тактом позже, то через
Figure 00000050
тактов с начала переключения узлов 48.i и 49.i, заполняются все регистры 50.i узлов 48.i первых блоков хранения 25.i, через
Figure 00000004
тактов – вторых блоков хранения 25.i и далее до блока 25.i с номером
Figure 00000002
. Входы узлов 49.i блоков хранения 25.i при этом отключены от коммутаторов 40.i и содержимое регистров 50.i узлов 49.i за этот период обнуляется.
Начиная с такта
Figure 00000098
(на
Figure 00000004
– такте после переключения выходов коммутаторов между узлами 48.i и 49.i), производится вывод результатов
Figure 00000099
,
Figure 00000100
с четвертых выходов 52.i первых блоков хранения 25.i группы 24.i, который занимает
Figure 00000004
тактов. Выводимые отсчеты
Figure 00000099
, полученные в СОК, поступают на информационные выходы 17.i вычислительных трактов 3.i по модулю
Figure 00000005
и далее на информационные входы 71.1 – 71.k преобразователя СОК-ПСС 4. В последнем реализуется операция, соответствующая выражению (6). В основу работы преобразователя СОК-ПСС положен принцип табличной арифметики. В k – секционном узле 67 постоянной памяти хранятся всевозможные произведения вычетов на нормирующие множители, взятые по модулю
Figure 00000101
(1) в соответствии с выражением (6). С выходов секций 68.1 – 68.k указанные произведения поступают на входы k – входового сумматора 69 и с его выхода сформированная сумма поступает на вход узла 70 постоянной памяти, в котором хранятся вычеты полученной суммы по модулю
Figure 00000101
(1). Таким образом, на выходе 72 преобразователя СОК-ПСС 4 получен результат, сформированный в позиционной системе счисления. Полученный результат поступает на вход выходного
Figure 00000004
– канального коммутатора 5 и далее в выводные каналы данных. При этом, выходной
Figure 00000004
– канальный коммутатор 5 управляется управляющими сигналами от первого дешифратора 65 счетчика 64 блока 6 управления, представляющими собой унитарный
Figure 00000004
– разрядный код. В результате на каждом
Figure 00000063
– м такте (
Figure 00000102
, где
Figure 00000068
,
Figure 00000069
) отсчет результата
Figure 00000103
передается в j – й выходной канал.
На такте
Figure 00000104
с начала вывода данных, коммутаторы 40.i первых блоков 25.i хранения групп 24.i подключают к первым информационным входам 38.i данного блока 25.i четвертые выходы 52.i второго блока хранения 25.i группы 24.i. Это осуществляется поступлением на управляющие входы 55.i и 56.i коммутаторов 40.i управляющих сигналов
Figure 00000088
,
Figure 00000089
, сформированных вторым дешифратором 66 состояний счетчика 64. При этом наборе управляющих сигналов
Figure 00000105
и
Figure 00000106
данные поступают на вторые входы данных 54.i коммутаторов 40.i и с первых выходов 61.i в первые регистры 50.i узлов 48.i. Одновременно с этим, данные со вторых информационных входов 39.i блоков 25.i хранения поступают на первые входы данных 53.i коммутаторов 40.i блоков хранения 25.i и со вторых выходов 62.i в первые регистры 50.i узлов 49.i.
Далее аналогичные переключения осуществляются в t – м
Figure 00000107
блоке 25.i хранения группы 24.i,
Figure 00000022
. При этом, третьи выходы 37.i соответствующих операционных блоков 22.i подключаются коммутаторами 40.i в первые регистры 50.i узлов 49.i, а первые регистры 50.i узлов 48.i в данных блоках оказываются подключенным к четвертым выходам 52.i следующих
Figure 00000108
блоков 25.i
Figure 00000109
.
Таким образом, в течение следующих
Figure 00000110
тактов, считая с начала вывода результатов, осуществляется вывод всех сформированных результатов
Figure 00000103
. Узлы 48.i всех блоков хранения 25.i при этом оказываются последовательно подключенными один за другим, образуя единую память типа FIFO емкостью
Figure 00000111
регистров. Одновременно в узлах 49.i накапливаются текущие суммы в соответствии с выражениями (10) и (13) для вновь поступающих последовательностей данных
Figure 00000060
Figure 00000061
по всем входным каналам, тем самым в предлагаемом многоканальном процессоре отсутствуют паузы на ввод/вывод данных и вычисления осуществляются в системе остаточных классов.

Claims (1)

  1. Многоканальный систолический процессор для вычисления полиномиальных функций, содержащий входной и выходной M – канальные коммутаторы, блок управления и один вычислительный тракт 3.i, где i=1, тактовый вход которого является тактовым выходом блока управления, тактовый вход которого является тактовым входом устройства, первый управляющий выход блока управления подключен к управляющим входам входного и выходного M – канальных коммутаторов, второй управляющий выход и адресный выход блока управления подсоединены соответственно к первому управляющему и адресному входам первого вычислительного тракта, который содержит операционный блок, два блока постоянной памяти (взвешивающих множителей) и (весовых множителей) соответственно, группу из
    Figure 00000112
    блоков хранения (
    Figure 00000112
    – размер преобразования) и систолическую матрицу из
    Figure 00000113
    операционного блока, причем первый и второй выходы t-го (
    Figure 00000114
    ) операционного блока систолической матрицы из
    Figure 00000113
    операционного блока подключены соответственно к первому и второму информационным входам (t
    Figure 00000115
    )-го операционного блока, тактовые входы всех операционных блоков, блоков хранения группы из N блоков хранения и блоков постоянной памяти (взвешивающих множителей) и (весовых множителей) подключены к тактовому входу, соединённому с тактовым выходом блока управления, адресный вход соединен с блоками постоянной памяти (взвешивающих множителей) и (весовых множителей), выход блока постоянной памяти (взвешивающих множителей) подключен к первому информационному входу операционного блока, второй выход которого подключен ко второму информационному входу первого операционного блока систолической матрицы, первый информационный вход которого соединен с выходом блока постоянной памяти (весовых множителей), третьи выходы всех операционных блоков подключены ко вторым информационным входам соответствующих блоков хранения, третьи выходы которых подключены к третьим информационным входам соответствующих операционных блоков, первый управляющий вход является первым управляющим входом первого блока хранения группы из N блоков хранения, первый выход t-го (
    Figure 00000116
    ) блока хранения подключен к первому управляющему входу (t+1)-го блока хранения, четвертый выход (t+1)-го блока хранения подключен к первому информационному входу t-го блока хранения, при этом операционные блоки содержат сумматор, умножитель и регистр, первый выход которого подключен к второму входу умножителя, второй выход регистра является первым выходом операционного блока, тактовый вход которого соединен с тактовым входом регистра и умножителя, первый информационный вход операционного блока подключен к входу регистра, второй информационный вход операционного блока является первым входом умножителя, третий информационный вход операционного блока является вторым входом сумматора, при этом каждый блок хранения группы из N блоков хранения содержит два узла из (M-1) и M регистров соответственно, элемент задержки и коммутатор, выходы которого подключены к входам узлов из (M-1) и M регистров, тактовые входы которых соединены между собой и являются тактовым входом блока хранения, выход каждого t – го (t
    Figure 00000117
    ) регистра узла из (M-1) регистра подключен к входу t
    Figure 00000115
    регистра узла из (M-1) регистра, выход каждого t–го (t
    Figure 00000118
    регистра узла из M регистров подключен к входу t
    Figure 00000115
    регистра узла из M регистров, первый управляющий вход подключен к первому управляющему входу коммутатора и входу элемента задержки, выход которого является первым выходом блока хранения, первый и второй информационные входы которого подключены к коммутатору, выход
    Figure 00000119
    –го регистра узла из (M-1) регистра является четвертым выходом блока хранения, выход
    Figure 00000120
    –го регистра узла из M регистров является третьим выходом блока хранения, причем первый выход операционного блока, первый и второй выходы (N-1)-го операционного блока систолической матрицы, первый выход и первый информационный вход N-го блока хранения 25.i не соединены с другими элементами, отличающийся тем, что с целью повышения скорости и точности многоканальных вычислений значений полиномиальных функций в него введены преобразователь из позиционной системы счисления в систему остаточных классов (ПСС-СОК), преобразователь из системы остаточных классов в позиционную систему счисления (СОК-ПСС),
    Figure 00000121
    вычислительный тракт по модулю
    Figure 00000122
    , причем выход входного M – канального коммутатора соединен с входом преобразователя ПСС-СОК, k выходов которого подключены к информационным входам вычислительных трактов по модулю
    Figure 00000123
    , информационные выходы которых подключены к входам преобразователя СОК-ПСС, выход которого подключен к входу выходного
    Figure 00000124
    –канального коммутатора, тактовый выход блока управления подключен к тактовым входам преобразователя ПСС-СОК, преобразователя СОК-ПСС, вычислительных трактов по модулю
    Figure 00000125
    , адресный выход и второй управляющий выход блока управления подключены соответственно к адресным и первым управляющим входам вычислительных трактов по модулю
    Figure 00000125
    , третий управляющий выход блока управления подключен ко вторым управляющим входам вычислительных трактов по модулю
    Figure 00000123
    , в вычислительных трактах по модулю
    Figure 00000123
    информационный вход подключен ко второму информационному входу операционного блока, второй управляющий вход и информационный выход вычислительного тракта по модулю
    Figure 00000123
    подключены соответственно ко второму управляющему входу и четвертому выходу первого блока хранения группы из N блоков хранения, второй выход t-го блока хранения (
    Figure 00000116
    ) подключен ко второму управляющему входу (t+1)-го блока хранения, второй выход N-го блока хранения не соединен с другими элементами, во все операционные блоки вычислительных трактов по модулю
    Figure 00000123
    введены по два узла постоянный памяти, причем выход умножителя операционного блока подключен к входу узла постоянной памяти, хранящего вычеты всех возможных произведений по модулям
    Figure 00000126
    ,
    Figure 00000127
    , выход которого подключен ко второму выходу операционного блока и первому входу сумматора, выход которого подключен к входу узла постоянной памяти, хранящего вычеты всех возможных сумм по модулям
    Figure 00000126
    ,
    Figure 00000127
    , выход которого является третьим выходом операционного блока, тактовый вход которого дополнительно подключен к тактовым входам двух узлов постоянной памяти и сумматора, во все блоки хранения вычислительных трактов по модулю
    Figure 00000123
    введен элемент задержки, выход которого является вторым выходом блока хранения, а вход соединен со вторым управляющим входом коммутатора блока хранения и подключен ко второму управляющему входу блока хранения.
RU2020107530A 2020-02-19 2020-02-19 Многоканальный систолический процессор для вычисления полиномиальных функций RU2737236C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2020107530A RU2737236C1 (ru) 2020-02-19 2020-02-19 Многоканальный систолический процессор для вычисления полиномиальных функций

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020107530A RU2737236C1 (ru) 2020-02-19 2020-02-19 Многоканальный систолический процессор для вычисления полиномиальных функций

Publications (1)

Publication Number Publication Date
RU2737236C1 true RU2737236C1 (ru) 2020-11-26

Family

ID=73543519

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020107530A RU2737236C1 (ru) 2020-02-19 2020-02-19 Многоканальный систолический процессор для вычисления полиномиальных функций

Country Status (1)

Country Link
RU (1) RU2737236C1 (ru)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1608689A1 (ru) * 1988-11-14 1990-11-23 Ленинградский Институт Точной Механики И Оптики Систолический процессор дл вычислени полиномиальных функций
US5249146A (en) * 1991-03-27 1993-09-28 Mitsubishi Denki Kabushiki Kaisha Dct/idct processor and data processing method
US5371696A (en) * 1992-12-24 1994-12-06 Sundararajan; Duraisamy Computational structures for the fast Fourier transform analyzers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1608689A1 (ru) * 1988-11-14 1990-11-23 Ленинградский Институт Точной Механики И Оптики Систолический процессор дл вычислени полиномиальных функций
US5249146A (en) * 1991-03-27 1993-09-28 Mitsubishi Denki Kabushiki Kaisha Dct/idct processor and data processing method
US5371696A (en) * 1992-12-24 1994-12-06 Sundararajan; Duraisamy Computational structures for the fast Fourier transform analyzers

Similar Documents

Publication Publication Date Title
JPH0661792A (ja) デジタル・フィルタ
US4115867A (en) Special-purpose digital computer for computing statistical characteristics of random processes
RU2737236C1 (ru) Многоканальный систолический процессор для вычисления полиномиальных функций
US4020334A (en) Integrated arithmetic unit for computing summed indexed products
SU596952A1 (ru) Устройство дл решени систем дифференциальных уравнений
SU633017A1 (ru) Устройство дл потенцировани
SU1015392A1 (ru) Устройство дл вычислени коэффициентов разложени временного процесса
RU2814657C9 (ru) Конвейерный накапливающий сумматор по модулю
SU552612A1 (ru) Устройство дл решени дифференциальных уравнений
SU1654835A1 (ru) Устройство дл вычислени свертки
RU2713868C1 (ru) Устройство для решения задачи выбора технических средств сложной системы
SU915095A1 (ru) Анализирующий фильтр цифрового вокодера 1
RU2237274C2 (ru) Устройство для деления числа в модулярном коде на основание системы счисления
RU2006929C1 (ru) Вычислительная система для интервальных вычислений
SU1141420A1 (ru) Устройство дл выполнени быстрого преобразовани Уолша
SU419895A1 (ru) Многоканальный цифровой коррелометр
SU792261A1 (ru) Цифровое устройство дл вычислени тригонометрических коэффициентов
SU1432510A1 (ru) Вычислительное устройство
RU2012051C1 (ru) Устройство для быстрого преобразования фурье
SU1336029A1 (ru) Устройство дл вычислени коэффициентов Фурье
SU781810A1 (ru) Делительное устройство
SU903892A1 (ru) Цифровой коррел тор
SU942037A1 (ru) Веро тностный коррелометр
SU385283A1 (ru) Аналого-цифровой коррелятор
KR910000204B1 (ko) 회로 배열(Circuit arrangement)의 변형장치