Изобретение относится к вычислительной технике, предназначено для деления числа в модулярной системе счисления (МСС) на одно из ее оснований и может быть использовано в цифровых вычислительных устройствах.
Известно устройство (аналог) (Авторское свидетельство СССР №1683013, МКИ G 06 F 7/72, БИ №37, 1991 г.), содержащее регистры делимого и делителя, регистр сдвига, вспомогательный регистр, блок вычитания, блок умножения, блок сложения, параллельно-конвейерный формирователь, счетчик, элемент ИЛИ-НЕ, элементы И, элемент задержки, регистр частного и элемент ИЛИ.
Недостаток устройства - низкая скорость выполнения операции деления в МСС.
Наиболее близким по технической сущности (прототипом к предлагаемому изобретению) является устройство (Авторское свидетельство СССР №1667066, МКИ G 06 F 7/72, БИ №28, 1991 г.), содержащее блок элементов задержки, блок вычисления интервального индекса числа, элемент задержки, два регистра сдвига, регистр модулярного кода числа, регистр интервального индекса, два блока мультиплексоров, два блока хранения констант, блок управления и два блока элементов ИЛИ.
Недостаток прототипа - низкая скорость выполнения операции деления в МСС вследствие большого количества тактов, в ходе которых реализуется данная операция, и конечного времени переключения полупроводниковых логических вентилей, составляющих основу прототипа.
Задача, на решение которой направлено заявляемое устройство, состоит в повышении производительности перспективных образцов специализированной вычислительной техники.
Технический результат выражается в повышении быстродействия (уменьшении временных затрат) выполнения операции деления числа в модулярном коде на основание системы счисления.
Технический результат достигается тем, что в устройство, содержащее регистр модулярного кода числа, введены (N-1) (N - число оснований МСС) табличных вычислителей, устройство преобразования модулярного кода в полиадический код и сумматор (N-1) чисел по модулю pN (pN - N-е основание МСС, на которое осуществляется деление), причем N входов регистра модулярного кода числа являются входами устройства, N выходов регистра модулярного кода числа соединены с соответствующими входами устройства преобразования модулярного кода в полиадический код, при этом n-й выход регистра модулярного кода числа подключен к первому входу n-го табличного вычислителя, а N-й выход регистра модулярного кода числа - ко вторым входам табличных вычислителей, выход n-го табличного вычислителя является n-м выходом устройства, n-й выход устройства преобразования модулярного кода в полиадический код соединен с соответствующим входом сумматора (N-1) чисел по модулю pN, выход которого является N-м выходом устройства.
Сущность изобретения заключается в получении остатка модулярного кода по N-му основанию путем преобразования этого кода в полиадический позиционный код и суммировании первых (N-1) разрядов полиадического кода, умноженных на веса этих разрядов, в сумматоре (N-1) чисел по модулю pN.
Преобразование модулярного кода в полиадический позиционный код и суммирование (N-1) чисел по модулю pN могут быть реализованы на основе использования свойства периодичности гармонической функции, аналогичного свойству арифметических операций в конечном кольце целых чисел.
Известно, что
где δ =1, 2, 3,...
Если гармонический сигнал с амплитудой U и частотой ω
проходит через m (m - число слагаемых) последовательно соединенных фазовращателей, то на выходе последнего (m-го) фазовращателя гармонический сигнал будет описываться выражением
где Δ ϕ i - сдвиг фазы в i-м фазовращателе,
Положим, что в i-м фазовращателе сдвиг фазы Δ ϕ i прямо пропорционален значению i-го слагаемого Аi
где р - величина модуля.
Тогда (3) с учетом (4) можно представить в виде
Так как
а в свою очередь
то на основании (3)-(6) получим
где [•] - символ округления в меньшую сторону до ближайшего целого.
Таким образом, после прохождения гармонического сигнала через m фазовращателей, сдвиги фазы в которых прямо пропорциональны значению слагаемых Аiфаза гармонического сигнала (7) на выходе m-го фазовращателя будет прямо пропорциональна значению модуля суммы m чисел:
Для определения α (8) необходимо измерить разность фаз на выходе генератора гармонического сигнала и сигнала на выходе линейки фазовращателей:
Измеритель сдвига фазы можно построить на основе оптимального измерителя параметра сигнала известной формы [1, с.488, рис. 12.1], в котором опорные сигналы формируются из гармонического сигнала (2) путем сдвигов фазы на 0,
Необходимые для реализации устройства сложения m чисел по модулю p m фазовращателей должны быть управляемыми и могут быть реализованы на основе различных схемных решений. Например, в СВЧ-диапазоне [2, с.102] такой фазовращатель наиболее просто реализовать на основе линий задержки (ЛЗ) на время
где ω - несущая частота гармонического сигнала.
Если на входе ЛЗ на время Δ ts действует гармонический сигнал (2), то на выходе ЛЗ с учетом (11) будет сигнал
то есть фаза сигнала uЛЗ(t) будет соответствовать (4) при s=Ai.
Следовательно, подключая линию задержки в соответствии с унитарным кодом слагаемого можно получить значение фазового сдвига в i-м управляемом фазовращателе, прямо пропорциональное величине этого слагаемого.
Выполнение операции деления числа А в модулярном коде на основание системы счисления pN сводится к нахождению остатков частного по модулю pk. Условием деления нацело числа А на pN является выполнение сравнения [3, с.146 и 147], в противном случае можно рассматривать в качестве делимого число (A-α N=A-AmodpN), что эквивалентно округлению результата деления в меньшую сторону до ближайшего целого числа. Тогда [3, с.147] значения остатков модулярного кода частного ((A-α N)/pN) по основаниям рn определяются формальным делением остатков (α n-(α N)modpn) на число (pNmodpn), то есть
где находится из решения сравнения (μ n·pN)modpn≡1. Неопределенность вида при вычислении остатка частного γ N по основанию рN раскрывается путем представления γ N, в полиадической позиционной системе счисления (ППСС) [4, с.21].
Произвольное число В в полиадической системе счисления представляется в виде последовательности разрядов β 1,β 2,... ,β N, при этом связь числа с значениями его разрядов характеризуется соотношением
где - вес k-гo разряда; p1,p2,... ,pN - основания МCC; p0=1.
При нахождении частного ((A-α N)/pN) учтем, что 0≤ A<M, [3, с.12 и 13]. Тогда 0≤ ((A-α N)/pN)<(M/pN). В этом случае из выражения (12) следует, что в полиадическом коде числа ((A-α N)/pN) старший разряд (β N) всегда будет равен нулю.
Действительно, положим, что все разряды полиадического кода частного, за исключением последнего (N-го), равны максимальным значениям, то есть β n=pn-1, а β N=0. Тогда в соответствии с (12) получим число, равное Следовательно, для представления в полиадическом коде частного ((A-α N)/pN) достаточно вычислить разряды β 1,β 2,... β N-1, для получения которых необходимы только остатки γ 1,γ 2,... γ N-1 модулярного кода [4, с.21 и 22].
Алгоритм [5, с.41] перевода числа ((A-α N)/pN) из модулярного кода γ 1,γ 2,... γ N-1 в полиадический код заключается в последовательном вычислении значений начиная с младшего разряда (k=1), по формулам
β 1=γ 1,
где dr=pr-1; ck,r - обратная мультипликативная величина [4, с.22], определяемая как решение сравнения (ck,r· p)mod pr≡1;
Таким образом, остаток частного γ N по основанию рN можно определить по формуле
где разряды с учетом взаимосвязи γ k с α k и α N (11) определяются по формуле
где
Из (14) видно, что для получения n-го, , разряда β n полиадического кода необходимо сложить (n+1) чисел по модулю рn. В соответствии с (1)-(9) устройство преобразования модулярного кода в полиадический код будет содержать сумматор (n+1) чисел, который может быть выполнен на основе устройства, включающего генератор гармонического сигнала (2), (n+1) управляемых фазовращателей и измеритель сдвига фазы. При этом выход генератора гармонического сигнала соединен с первым входом первого управляемого фазовращателя, выход i-го управляемого фазовращателя - с первым входом (n+1)-го управляемого фазовращателя, выход (n+1)-го управляемого фазовращателя подключен к первому входу измерителя сдвига фазы, на второй вход которого поступает сигнал с выхода генератора гармонического сигнала. При этом выход измерителя сдвига фазы является выходом сумматора, а на вторые входы управляемых фазовращателей поступают соответствующие слагаемые из выражения (14). Управляемые фазовращатели обеспечивают поворот фазы на величину, определяемую формулой (4), в которой р заменяется на pn, а Аi - на величину соответствующего слагаемого из (14). Например, при расчете β 2, первый управляемый фазовращатель сдвигает фазу на второй - на третий - на Так как μ 2, d2 и c1,2 - константы, то сдвиг фазы зависит только от α 2, α N и β 1.
Соответственно на второй вход первого управляемого фазовращателя поступают данные со второго выхода регистра модулярного кода числа, на второй вход второго управляемого фазовращателя - с N-го выхода регистра модулярного кода числа, на второй вход третьего управляемого фазовращателя - значение первого разряда β 1 полиадического кода, снимаемое с выхода сумматора, в котором осуществляется расчет этого разряда. Примеры устройств, осуществляющих сложение (n+1) чисел по модулю pN, приведены в [5, с.41-44] и [6, с.10].
Аналогично вышеизложенному может быть построен сумматор (N-1) чисел по модулю рN. В этом сумматоре, в соответствии с выражением (13), в первом управляемом фазовращателе осуществляется сдвиг фазы на во втором - на в третьем - на и т.д.
Сравним быстродействие прототипа и предлагаемого устройства. Вычисление остатка от деления числа в МСС в прототипе происходит за (]log2N[+2) тактов. Следовательно, время выполнения операции деления в прототипе составляет
где τ Σ - суммарное время переключения цифровых логических схем в блоке хранения констант прототипа, ]•[ - символ округления в большую сторону.
Основу узла, обеспечивающего операцию деления по модулю р в блоке хранения констант прототипа, составляет матричный дешифратор [4, с.16 и 17], построенный на двухвходовых элементах И, расположенных в местах пересечений р горизонтальных и р вертикальных входных шин. Выходы элементов И подключены к входу соответствующих элементов ИЛИ, число которых равно p. Таким образом, сигнал от входа к выходу в этом дешифраторе проходит через 2 логических элемента - И и ИЛИ. Поэтому
Как показано в [7, с.173], время τ ЛЭ ≈10-10 с является практическим пределом для логических элементов на транзисторах, которое достигается только при жидкостном охлаждении до криогенных температур.
Поэтому минимальное время выполнения операции деления по модулю в прототипе на основании (15) и (16) составляет
Время выполнения модульной операции в предлагаемом устройстве (ТПУ) будет равно:
где ТТВ - временной сдвиг в табличном вычислителе, ТПК - временной сдвиг в устройстве преобразования модулярного кода в полиадический код, Т∑ - временной сдвиг в сумматоре (N-1) чисел по модулю pN.
Временной сдвиг ТТВ в табличном вычислителе, построенном по схеме матричного дешифратора, как было указано ранее в (16), составляет
В [5, с.43] и [6, с.11] показано, что при реализации входящего в состав сумматоров (n+1) чисел по модулю pn и сумматора (N-1) чисел по модулю pN генератора гармонического сигнала на частоте 400 ГГц, время ТПК+ТΣ может быть не более:
Поэтому максимальное время выполнения модульной операции в предлагаемом устройстве на основании (18)-(20) составляет (при N<62)
Из (17) и (21) видно, что предлагаемое устройство предпочтительнее прототипа, так как операция формирования остатка от деления числа в модулярном коде на основание системы счисления в предлагаемом устройстве происходит быстрее примерно в (]log2N[+2) раз.
На чертеже представлена структурная схема предлагаемого устройства, где 11-1N - информационные входы устройства, 2 - регистр модулярного кода числа, 31-3N-1 - табличные вычислители, 4 - устройство преобразования модулярного кода в полиадический код, 5 - сумматор (N-1) чисел по модулю pN, 61-6N - выходы устройства.
Вход регистра 2 модулярного кода числа соединен с входом 1k устройства, а n-й выход регистра 2 модулярного кода числа соединен с первым входом табличного вычислителя 3n, выход которого соединен с выходом 6n устройства, k-й выход регистра 2 модулярного кода числа соединен с k-м входом устройства преобразования 4 модулярного кода в полиадический код, а N-й выход регистра модулярного кода числа соединен со вторыми входами табличных вычислителей 31-3N-1, n-й выход устройства преобразования 4 модулярного кода в полиадический код соединен с n-м входом сумматора 5 (N-1) чисел по модулю рN, выход которого является выходом 6N устройства.
Рассмотрим работу устройства. Остаток делимого по модулю рk поступает на информационный вход 1k устройства и далее на вход Вхk регистра 2 модулярного кода числа, с выхода Выхk которого остаток α k поступает на вход Вхk устройства преобразования 4 модулярного кода в полиадический код, где происходит преобразование по формуле (14). Полиадический код (β 1,β 2,... β n) остатка γ N от деления ((А-α N)/рN) с выхода устройства преобразования 4 модулярного кода в полиадический код поступает на вход Вхn сумматора 5 (N-1) чисел по модулю рN, где, согласно выражению (13), происходит суммирование по модулю рN. С выхода сумматора 5 (N-1) чисел по модулю рN модулярный код остатка γ N поступает на выход 6N устройства. С выхода Выхn регистра 2 модулярного кода числа остаток α n поступает на вход Вх1 табличного вычислителя 3n, на вход Вх2, которого поступает остаток α N с выхода ВыхN регистра 2 модулярного кода числа. С выхода табличного вычислителя 3n, осуществляющего вычисление остатка γ n согласно выражению (11), модулярный код этого остатка поступает на выход 6n устройства.
Пример: Пусть основания МСС равны р1=3, р2=5, р3=7 (N=3). При этом заранее известны величины: с1,2,=2, d1=2, d2=4, μ 1=4, μ 2=3. Найдем результат деления числа А=61 (α 1=1, α 2=1, α 3=5) на основание МСС р3=7.
Значения α 1=1 и α 2=1 через регистр 2 модулярного кода числа поступают на первые входы соответственно первого 31 и второго 32 табличных вычислителей, на второй вход которых поступает значение α 3=5. В результате с выхода табличных вычислителей 31 и 32 на выходы 61 и 62 устройства поступают модулярные коды частного γ 1 и γ 2, значения которых соответственно определены в табличных вычислителях 31 и 32 по формуле (11):
В то же время значения α 1=1, α 2=1 и α 3=5 через регистр 2 модулярного кода числа поступают на соответствующие входы устройства преобразования 4 модулярного кода в полиадический код, в котором происходит вычисление разрядов полиадического кода числа ((А-α 3)/р3) по формуле (14):
Полиадический код с выхода устройства преобразования 4 модулярного кода в полиадический код поступает на вход сумматора 5 двух чисел по модулю p3=7, где происходит вычисление остатка γ 3 частного по формуле (13):
Проверка:
Источники информации
1. Тихонов В.И. Статистическая радиотехника. - М.: Сов. радио, 1966, 678 с.
2. Радиоприемные устройства: Учеб. пособие для радиотехнич. спец. ВУЗов./ Ю.Т. Давыдов, Ю.С. Данилич. - М.: Высш. шк., 1989, 342 с.
3. Акушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. - М.: Сов. радио, 1968. - 440 с.
4. Долгов А.И. Диагностика устройств, функционирующих в системе остаточных классов. - М.: Радио и связь, 1982, 64 с.
5. Овчаренко Л.А. Когерентный преобразователь модулярного кода. -Телекоммуникации, 2001, №6.
6. Овчаренко Л.А. Вариант реализации основных операций в модулярном арифметическом устройстве.// Телекоммуникации, №3, 2001, с.8-11.
7. Акаев А.А., Майоров С.А. Оптические методы обработки информации. - М.: Высш. шк., 1988, 237 с.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ ЧИСЛА В МОДУЛЯРНОМ КОДЕ НА ОСНОВАНИЕ СИСТЕМЫ СЧИСЛЕНИЯ | 2002 |
|
RU2231822C2 |
УСТРОЙСТВО ДЛЯ МАСШТАБИРОВАНИЯ ЧИСЛА В МОДУЛЯРНОЙ СИСТЕМЕ СЧИСЛЕНИЯ | 2002 |
|
RU2246753C2 |
НЕЙРОННАЯ СЕТЬ ДЛЯ РАСШИРЕНИЯ КОРТЕЖА ЧИСЛОВОЙ СИСТЕМЫ ВЫЧЕТОВ | 2003 |
|
RU2256226C2 |
ЦИФРОВОЙ ФИЛЬТР В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ | 2005 |
|
RU2291557C1 |
ЦИФРОВОЙ ФИЛЬТР В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ | 2005 |
|
RU2287893C1 |
НЕЙРОННАЯ СЕТЬ ДЛЯ ДЕЛЕНИЯ ЧИСЕЛ, ПРЕДСТАВЛЕННЫХ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ | 2005 |
|
RU2305312C2 |
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ЭВМ | 2014 |
|
RU2547232C1 |
УСТРОЙСТВО ДЛЯ ПРЕОБРАЗОВАНИЯ ЧИСЕЛ ИЗ КОДА СИСТЕМЫ ОСТАТОЧНЫХ КЛАССОВ В ПОЛИАДИЧЕСКИЙ КОД | 2001 |
|
RU2187886C1 |
УСТРОЙСТВО ДЛЯ СЛОЖЕНИЯ N ЧИСЕЛ ПО МОДУЛЮ P | 2000 |
|
RU2188448C2 |
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ И ИСПРАВЛЕНИЯ ОШИБОК В ИЗБЫТОЧНОМ МОДУЛЯРНОМ КОДЕ | 1991 |
|
RU2015620C1 |
Устройство относится к вычислительной технике, предназначено для деления числа в модулярной системе счисления (МСС) на одно из ее оснований и может быть использовано в цифровых вычислительных устройствах. Техническим результатом является повышение быстродействия выполнения операции деления числа в модулярном коде на основание системы счисления. Технический результат достигается за счет того, что устройство содержит регистр модулярного кода числа, (N-1) табличный вычислитель (N - число оснований МСС), устройство преобразования модулярного кода в полиадический код, сумматор (N-1) чисел по модулю pN (pN - N-e основание МСС, на которое осуществляется деление). 1 ил.
Устройство для деления числа в модулярном коде на основание системы счисления, содержащее регистр модулярного кода числа, отличающееся тем, что в него введены N-l (N - число оснований модулярной системы счисления (МСС)) табличных вычислителей, предназначенных для вычисления остатков причем γ n=(μ n(α n-(α N)mod pn))mod pn, где α n=A mod pn; α N=A mod pN; А - целое число; рn - n-е основание МСС; рN - N-e основание МСС, на которое осуществляется деление, а μ n находится из решения сравнения (μ n·pN)mod pn ≡ 1, устройство преобразования модулярного кода в полиадический код и сумматор N-1 чисел по модулю рN, причем N входов регистра модулярного кода числа являются входами устройства, N выходов регистра модулярного кода числа соединены с соответствующими входами устройства преобразования модулярного кода в полиадический код, при этом n-й выход регистра модулярного кода числа подключен к первому входу n-го табличного вычислителя, а N-й выход регистра модулярного кода числа - ко вторым входам табличных вычислителей, выход n-го табличного вычислителя является n-м выходом устройства, n-й выход устройства преобразования модулярного кода в полиадический код соединен с соответствующим входом сумматора N-1 чисел по модулю рN, выход которого является N-м выходом устройства.
Устройство для масштабирования чисел | 1989 |
|
SU1667066A1 |
Устройство для деления чисел | 1989 |
|
SU1683013A1 |
Устройство для масштабирования чисел в модулярной арифметике | 1988 |
|
SU1541605A1 |
Устройство для деления чисел в модулярной системе счисления | 1990 |
|
SU1756887A1 |
УСТРОЙСТВО ДЛЯ ПРЕОБРАЗОВАНИЯ ЧИСЕЛ ИЗ КОДА СИСТЕМЫ ОСТАТОЧНЫХ КЛАССОВ В ПОЛИАДИЧЕСКИЙ КОД | 2001 |
|
RU2187886C1 |
Авторы
Даты
2004-09-27—Публикация
2002-10-30—Подача