Воронеж, Россия
ГРНТИ 55.01 Общие вопросы машиностроения
ГРНТИ 55.13 Технология машиностроения
Приведен анализ арифметических устройств, осуществляющих операции над дискретными состояниями фаз синусоидального тока. Рассмотрена реализация ряда алгоритмов умножения в системе остаточных классов на основе таких вычислительных структур.
арифметические устройства, система остаточных классов, СОК
Введение
Развитие измерительной техники до уровня работы с сигналами порядка 100 ГГц [1] требует соответствующих возможностей от спецпроцессоров, позволяющих удешевить и уменьшить габариты конечного продукта за счет применения обработки информации вычислительными методами. Широкое использование цифровой электроники в аналогичных системах здесь же наталкивается на специфику рассматриваемой области измеряемых частот, естественно связанной с быстродействием. Выходом может стать активное внедрение системы остаточных классов (СОК) [2], позволяющей за счет малоразрядности вычетов более эффективно осуществлять арифметические операции сложения и умножения, которые являются основными в ЦОС [3]. Дополнительный рост быстродействия дает переход от цифровой обработки к тональной [4], т.е. кодированию чисел в СОК дискретными фазами гармонических сигналов одной частоты. Применение приборной базы на основе сверхпроводников [5] проявляет перспективу построения спецпроцессоров на основе обозначенных ранее принципов с производительностью субтерагерцового порядка. Проецирование наработанных алгоритмов ЦОС в СОК на структуры с дискретно-фазированным представлением чисел требует в первую очередь проработки вопросов функционирования устройств для сложения (вычитания) и умножения по модулю. Если первое достаточно просто и рассмотрено ранее [4], то второе несколько сложнее и является предметом данного исследования.
Основные алгоритмы цифровых устройств
Прежде чем перейти к тональным вычислительным операциям, рассмотрим цифровые алгоритмы. Как и сложение, умножение в СОК выполняется в параллельных трактах по соответствующим модулям без перекрестного обмена информацией между ними [2]. Реализация вычислений в кольце вычетов с гораздо меньшей по сравнению с позиционными числами разрядностью порождает более эффективные алгоритмы как в быстродействии, так и объеме оборудования. В качестве аппаратной основы могут использоваться несколько различных устройств: двоичные позиционные сумматоры, унитарные таблицы и кольцевые сдвиговые регистры [6; 7].
Самый простой вариант бинарных вычислений сводится к преобразованию операндов в унарный код, с дальнейшей выборкой правильного ответа на пересечении выбранных сигнальных линий через логический элемент И, с последующей дешифровкой результата. В силу коммутативности модулярных операций возможно сокращение аппаратных затрат [8].
Другие подходы основаны на идее максимально свести умножение к промежуточному сложению и вычитанию. В первую очередь таковым является метод, получаемый из квадратов суммы и разности:
.
Особенности данного алгоритма - необходимость возведения в квадрат и деление на четыре в СОК - приводят к повышенным аппаратным затратам, но в ряде случаев такой подход видится наиболее приемлемым.
Одним из столпов модулярной арифметики является теория индексов [2], представляющая из себя некоторый аналог логарифмических вычислений. Здесь каждому вычету γ по модулю m в заданной СОК ставится в соответствие уникальный индекс ind γ. При выполнении операции умножения сначала определяются индексы для каждого из операндов, затем производится их сложение, после чего происходит обратное преобразование через нахождение антииндекса.
Даже краткий обзор подходов к бинарному умножению на основе цифровых устройств показывает широкий выбор инструментов для решения аналогичной задачи в тональной форме. Тем не менее оперирование аналоговым сигналом имеет свои преимущества и недостатки, раскрыть которые в полной мере применительно к рассмотренным алгоритмам в рамках одной статьи невозможно.
Тональное умножение числа по модулю на константу
Если математическое выражение для обработки сигнала жестко задано и содержит константу k, которая не требует изменения, то в структуре спецпроцессора соответствующая операция может быть отображена в виде последовательного сложения операнда с самим собой (рис. 1а) [9].
На синхронизирующий вход поступает сигнал , а на информационные - гармоники , где , , m - модуль СОК. Процесс сложения двух вычетов γ как результат манипуляции с дискретными значениями фаз (СФ) изложен в [4]. Последовательная работа блоков СФ приводит к формированию на выходе устройства итоговой гармоники Для операции умножения на константу данное выражение принимает вид .
Если работа спецпроцессора иногда требует программной перестройки постоянных параметров системы, то это возможно осуществить на основе другого устройства умножения на константу (рис. 1б) [10]. Рассмотрим операцию умножения двух чисел Γ=А×В, где В представлено в виде полинома: . Здесь g - максимальное количество двоичных разрядов , применяемое для реализации константы В. Если целый остаток числа А по модулю m есть αm, а результат умножения по модулю m - это γm, то
.
а) б)
Рис. 1. Устройство умножения на константу: а - на основе
последовательного сложения двух операндов; б - на основе умножения на два
Для реализации алгоритма вычислений на дискретных блоках полученное выражение примет следующий вид:
Рис. 2. Арифметический вентиль
умножения на два
На синхронизирующий вход поступает сигнал , на информационный - гармоника , а константа представлена двоичным кодом, который замыкает соответствующие ключи, пропуская дальше S0 или S1. Для умножения вычета αm на два в дискретно-фазированной форме используется вентиль (рис. 2). Гармоника S1 увеличивает фазу на π/2, а в параллельной линии - амплитуду в два раза, после чего оба сигнала поступают на входы первого смесителя, где реализуется известное тригонометрическое выражение:
.
Полученная промежуточная гармоника удвоенной частоты перемножается на втором смесителе с синхронизирующей гармоникой S0, фаза которой увеличена на π/2 (т.е. ). При этом, согласно тригонометрическому выражению
,
после полосовой фильтрации более низкочастотной составляющей и усиления формируется результат в виде гармоники с единичной амплитудой и искомой результирующей фазой
.
Требуемая степень двойки набирается последовательным умножением на два необходимое количество раз. Последнее действие сложения всех разрядов происходит попарно на блоках СФ.
Тональное умножение двух чисел по модулю
Данная арифметическая операция формируется простейшим алгоритмом, заключающимся в последовательном сложении по модулю первого операнда с самим собой и выборе нужного результата через второй операнд (рис. 3).
Рис. 3. Тональное умножение двух
операндов по модулю
Работа начинается с подачи на входы устройства гармоник одной частоты:
- синхронизирующий: ;
- первый операнд:
;
- второй операнд:
,
где γa и γb - вычеты по модулю m, над которыми осуществляется операция умножения. Второй операнд претерпевает m-1 операций сложения по модулю, в результате чего на выходах блоков СФ формируются сигналы:
;
;
...
.
Гармоники с выходов фазовращателей на фиксированное значение 2π/m сравниваются фазированными ключами (ФК) [11] со значением первого операнда. Если наблюдается равенство, то на один из входов результирующего сумматора мощности проходит сигнал от соответствующего блока СФ или значение второго операнда (если γa =1). Складываясь с нулевыми уровнями от других ключей, на выходе устройства формируется результат:
.
Существуют и другие подходы к реализации искомой арифметической операции. Как известно, квадраты суммы и разности, при вычитании второго из первого, позволяют представить умножение двух чисел по модулю в виде
.
Вычисления в рамках данного выражения удобно осуществлять в двоичном коде без ограничения на разрядность результатов промежуточных операций. Поскольку в дискретно-фазированной форме адекватно только модулярное представление, то результат суммы и разности [4] в некоторых случаях вызовет появление ошибки. Рассмотрим пример. Пусть m=7, γa=3 и γb=5, тогда
;
;
;
.
Итого:
. Ошибка.
Если не ограничивать сумму и разность величинами, не превышающими значения m-1, то будет наблюдаться следующий результат:
;
;
;
.
Итого:
. Верно.
Следовательно, рассмотренный алгоритм, по крайней мере в представленной форме, не годится для реализации на основе дискретно-фазированного представления чисел.
Теория синтеза аппаратных средств в системе остаточных классов знает примеры эффективного сопряжения ряда арифметических операций в составе единого универсального устройства. Образец тонального табличного вычислителя подробно рассмотрен в [12].
Заключение
Осуществление операции умножения по модулю в тональной форме в различных вариантах возможно, что открывает уникальные возможности обработки сигналов на основе известных методов ЦОС с рекордным для данных алгоритмов быстродействием.
1. Дьяконов, В. Сенсация 2015: Teledyne LeCroy освоила выпуск первого в мире 100-ГГц осциллографа реального времени! / В. Дьяконов // Компоненты и технологии. - 2015. - № 3. - С. 16-22.
2. Акушский, И.Я. Машинная арифметика в остаточных классах / И.Я. Акушский, Д.И. Юдицкий. - М.: Сов. радио, 1968. - 440 с.
3. Галанина, Н.А. Анализ эффективности синтеза устройств вычислительной техники для непозиционной цифровой обработки сигналов / Н.А. Галанина, Н.Н. Иванова // Кибернетика и программирование. - 2015. - № 3. - С. 1-6.
4. Кожевников, А.А. Арифметические вентили модулярных спецпроцессоров / А.А. Кожевников // Приборы и системы. Управление, контроль, диагностика. - 2018. - № 2. - С. 46-51.
5. Шитов, С.В. Малошумящий СИС смеситель на частоту 1 THz с двойной дипольной антенной / С.В. Шитов [и др.] // ЖТФ. - 2002. - № 9. - С. 87-92.
6. Ирхин, В.П. Табличная реализация цифровых фильтров в модулярной арифметике / В.П. Ирхин, Л.А. Овчаренко // Информационные технологии. - 2005. - № 10. - С. 13-20.
7. Мельник, В.А. Информационная избыточность в узлах непозиционного спецвычислителя для телекоммуникационных устройств / В.А. Мельник, Р.В. Кузьменко, В.П. Ирхин // Вестник Воронежского института МВД России. - 2015. - № 2. - С. 149-155.
8. Ирхин, В.П. Расширение функциональных возможностей вычислителей в телекоммуникационных устройствах / В.П. Ирхин, В.А. Мельник, Д.С. Шведов // Вестник Воронежского института ФСИН России. - 2016. - № 1. - С. 21-26.
9. Пат. 2653312 РФ, МПК (2006.01) G06F 7/72. Устройство для сложения k чисел по модулю m / А.А. Кожевников [и др.]. - Заявл. 24.05.17; опубл. 07.05.18.
10. Пат. 2653310 РФ, МПК (2006.01) G06F 7/72. Устройство для умножения числа по модулю на константу / А.А. Кожевников [и др.]. - Заявл. 24.05.17; опубл. 07.05.18.
11. Пат. 2659866 РФ, МПК (2006.01) G01R 25/00, G01R 29/02, H03K 17/00. Фазированный ключ по модулю m / А.А. Кожевников [и др.]. - Заявл. 24.05.17; опубл. 04.07.18.
12. Пат. 2656992 РФ, МПК (2006.01) G06F 7/72. Арифметическое устройство по модулю m / А.А. Кожевников [и др.]. - Заявл. 24.05.17; опубл. 07.06.18.