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

Классы МПК:G06F7/72 с помощью арифметического остатка
Автор(ы):, , , ,
Патентообладатель(и):Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" (RU)
Приоритеты:
подача заявки:
2011-09-26
публикация патента:

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

устройство для определения знака модулярного числа, патент № 2503995 устройство для определения знака модулярного числа, патент № 2503995 устройство для определения знака модулярного числа, патент № 2503995

Формула изобретения

Устройство для определения знака модулярного числа, отличающееся тем, что в него введены входные регистры по модулям p1 , p2, устройство для определения знака модулярного числа, патент № 2503995 , pn, для временного хранения разрядов СОК, параллельный сумматор для суммирования устройство для определения знака модулярного числа, патент № 2503995 , входные шины для подачи исходного числа, просмотровые таблицы для хранения произведений констант разрядов СОК устройство для определения знака модулярного числа, патент № 2503995 , представленных в двоичном коде, на входы которых поступают с выхода регистров двоичные коды разрядов СОК устройство для определения знака модулярного числа, патент № 2503995 i, выходы которых соединены с входами сумматора, на вторые входы которого поступает константа устройство для определения знака модулярного числа, патент № 2503995 , выход которого является выходом устройства.

Описание изобретения к патенту

Изобретение относится к вычислительной технике и может быть использовано для определения знаков модулярных чисел, входящих в вычислительные устройства, функционирующие в системе остаточных классов. Известно устройство, для определения знаков числа, представленное в системе остаточных классов (А.С. № 1552181, БИ № 11, 1990), состоящее из блока 1 определения номера интервала, схем 3 и 4 сравнения, элементов «или» 5 и 6. Однако данное устройство обладает следующими недостатками: низкое быстродействие и большие аппаратные затраты. Наиболее близким по технической сущности к заявленному устройству является устройство для определения знака числа, представленного в системе остаточных классов (А.С. № 1674121, БИ № 32, 1991), содержащее блок определения номера интервала, схемы сравнения, группы шифрования и дешифрования, сумматор и логические элементы «или».

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

Целью настоящего изобретения является повышение быстродействия и сокращение аппаратных затрат.

Поставленная цель достигается тем, что в известном устройстве введены просмотровые таблицы (LUT) и параллельный сумматор.

Рассмотрим метод определения знака числа, обладающий высоким быстродействием и низкими затратами оборудования. Суть метода быстрого определения знака модулярного числа основан на использовании китайской теореме об остатках числа, которая связывает позиционное число А с его представлениями в остатках (устройство для определения знака модулярного числа, патент № 2503995 1, устройство для определения знака модулярного числа, патент № 2503995 2, устройство для определения знака модулярного числа, патент № 2503995 , устройство для определения знака модулярного числа, патент № 2503995 n), где устройство для определения знака модулярного числа, патент № 2503995 i наименьшие неотрицательные остатки числа по модулям p1, p2, устройство для определения знака модулярного числа, патент № 2503995 , pn.

Цифры устройство для определения знака модулярного числа, патент № 2503995 i данного представления по выбранным модулям образуются следующим образом

устройство для определения знака модулярного числа, патент № 2503995

где устройство для определения знака модулярного числа, патент № 2503995 - целочисленное частное, pi - основания (модули) - взаимно-простые числа. В теории чисел доказано, что если устройство для определения знака модулярного числа, патент № 2503995 iустройство для определения знака модулярного числа, патент № 2503995 j(pi, pj)=1, то представление (1) является единственным, при условии 0устройство для определения знака модулярного числа, патент № 2503995 A<P, где устройство для определения знака модулярного числа, патент № 2503995 - диапазон представления чисел, то есть существует число A, для которого:

устройство для определения знака модулярного числа, патент № 2503995

Известна Китайская теорема об остатках, которая связывает позиционное число А с его представлением в остатках (устройство для определения знака модулярного числа, патент № 2503995 1, устройство для определения знака модулярного числа, патент № 2503995 2,устройство для определения знака модулярного числа, патент № 2503995 ,устройство для определения знака модулярного числа, патент № 2503995 n), где устройство для определения знака модулярного числа, патент № 2503995 i - наименьшие неотрицательные вычеты числа, относительно модулей системы остаточных классов p1 , p2, устройство для определения знака модулярного числа, патент № 2503995 , pn следующим выражением

устройство для определения знака модулярного числа, патент № 2503995

где устройство для определения знака модулярного числа, патент № 2503995 , pi - модули СОК, устройство для определения знака модулярного числа, патент № 2503995 - мультипликативная инверсия Pi относительно pi, и устройство для определения знака модулярного числа, патент № 2503995 .

Если (3) разделить на константу P, то получим приближенное значение

устройство для определения знака модулярного числа, патент № 2503995

где устройство для определения знака модулярного числа, патент № 2503995 - константы выбранной системы, а устройство для определения знака модулярного числа, патент № 2503995 i - разряды числа, представленного в СОК, при этом значение каждой суммы будет в интервале [0, 1). Конечный результат суммы определяется после суммирования и отбрасывания целой части числа с сохранением дробной части суммы. Дробная часть может быть записана также как Amod1, потому что устройство для определения знака модулярного числа, патент № 2503995 . Количество разрядов дробной части числа определяется максимально возможной разностью между соседними числами. При необходимости точного сравнения необходимо вычислить значение (4), которое является эквивалентом преобразования из СОК в позиционную систему счисления. Для решения задач основных процедур принятия решения достаточно знать приблизительно значения чисел A и B по отношению к динамическому диапазону P, которое выполняется достаточно просто, но при этом правильно определяет соотношение A=B, A>B или A<B.

Рассмотрим случай, когда рабочий диапазон разбит на два интервала устройство для определения знака модулярного числа, патент № 2503995 - положительные числа, и устройство для определения знака модулярного числа, патент № 2503995 - отрицательные числа.

Известно, что при кодировании дополнительным кодом, отрицательная часть динамического диапазона находится у верхнего предела полного диапазона. Положительные числа из дополнительного диапазона отображаются на область устройство для определения знака модулярного числа, патент № 2503995 при нечетных P и на область устройство для определения знака модулярного числа, патент № 2503995 при четных P. Отображение динамического диапазона на соответствующую область для избыточного кода СОК показано на рисунке 1.

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

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

В результате отрицательные числа будут отображены в начальной части динамического диапазона.

Показанное на рисунке 2 вращение, называется сдвигом полярности и его можно осуществить путем прибавления перед сравнением модулярных чисел константы устройство для определения знака модулярного числа, патент № 2503995 при нечетном P или устройство для определения знака модулярного числа, патент № 2503995 при четных P к каждому устройство для определения знака модулярного числа, патент № 2503995 .

Если устройство для определения знака модулярного числа, патент № 2503995 , то сдвиг полярности в пределах СОК оказывается простым остатком, определяемом по формуле устройство для определения знака модулярного числа, патент № 2503995 , в которой устройство для определения знака модулярного числа, патент № 2503995 ic обозначает остаточные цифры после сдвига полярности.

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

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

Определение знака модулярных чисел

Известно, что для определения знака числа используются номера интервалов, в которых расположено число, что позволяет получить оценку исследуемого числа по его величине с точностью до величины интервала. Числовой диапазон P может быть разбит на pi интервалов величиной

устройство для определения знака модулярного числа, патент № 2503995

В качестве второго машинного нуля выбирается точка числового диапазона устройство для определения знака модулярного числа, патент № 2503995 . Числа, расположенные в поддиапазонах устройство для определения знака модулярного числа, патент № 2503995 и устройство для определения знака модулярного числа, патент № 2503995 считаются числами разных знаков.

Если дано представление (устройство для определения знака модулярного числа, патент № 2503995 1, устройство для определения знака модулярного числа, патент № 2503995 2,устройство для определения знака модулярного числа, патент № 2503995 ,устройство для определения знака модулярного числа, патент № 2503995 n), то для того чтобы установить знак числа, которое оно представляет, достаточно решить задачу о принадлежности этого числа к определенному интервалу. В случае если pi =2 достаточно решить задачу о принадлежности этого числа к первой устройство для определения знака модулярного числа, патент № 2503995 или второй устройство для определения знака модулярного числа, патент № 2503995 половине диапазона устройство для определения знака модулярного числа, патент № 2503995 . Эта задача решается сравнением данного представления с представлением устройство для определения знака модулярного числа, патент № 2503995 , при условии, что p1=2. Все известные методы реализуют данный алгоритм на основе использования абсолютных величин, здесь же мы предлагаем использовать относительные величины, что существенно упрощает преобразование, сохраняя при этом основные функциональные возможности.

На рисунке 3 приведена схема устройства для определения знака модулярного числа по модулям p1, p2, устройство для определения знака модулярного числа, патент № 2503995 , pn.

Устройство состоит из входных регистров 3 по модулям p1, p2, устройство для определения знака модулярного числа, патент № 2503995 , pn, для временного хранения разрядов СОК (каждый разряд СОК представлен двоичным кодом), просмотровых таблиц (LUT) для хранения произведения констант разрядов СОК. устройство для определения знака модулярного числа, патент № 2503995 , где устройство для определения знака модулярного числа, патент № 2503995 мультипликативная инверсия, pi - модуль СОК, устройство для определения знака модулярного числа, патент № 2503995 , устройство для определения знака модулярного числа, патент № 2503995 , параллельного сумматора для суммирования устройство для определения знака модулярного числа, патент № 2503995 входных шин 1 для подачи исходного числа, выходной шины для фиксирования знака числа и входа устройство для определения знака модулярного числа, патент № 2503995 .

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

На входные регистры (RGi) 3 по входам 1 устройства для определения знака числа подается исходное число, представленное в системе остаточных классов A=(устройство для определения знака модулярного числа, патент № 2503995 1, устройство для определения знака модулярного числа, патент № 2503995 2,устройство для определения знака модулярного числа, патент № 2503995 ,устройство для определения знака модулярного числа, патент № 2503995 n). На выходе 2 формируется знак модулярного числа. Выходы регистров являются адресными входами просмотровых таблиц (LUT) (память), в элементах которых хранятся значения устройство для определения знака модулярного числа, патент № 2503995 . С выходов 5 просмотровых таблиц 4 выбранные значения поступают на первые входы сумматора, а на второй вход 7 поступает значение устройство для определения знака модулярного числа, патент № 2503995 . Результатом операции является знак числа 0 - положительное, 1 - отрицательное.

Код числа A, для которого необходимо определить интервал, что равносильно определению знака числа, поступает на входные регистры RGi в двоичном коде (каждый разряд СОК кодируется двоичным кодом). Сигналы с выходов регистров поступают на входы просмотровых таблиц LUT. В просмотровых таблицах хранятся произведения констант ki и остатков устройство для определения знака модулярного числа, патент № 2503995 i, то есть устройство для определения знака модулярного числа, патент № 2503995 , представленных в естественной форме двоичной дроби в дополнительном коде. Количество элементов памяти (N) просмотровых таблиц определяется выражением устройство для определения знака модулярного числа, патент № 2503995 .

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

Пример 4. Пусть дана система оснований p1 =2, p2=3, p3=5, p4=7. Тогда P=210. Константы ki соответственно равны k1 =0,5, k2устройство для определения знака модулярного числа, патент № 2503995 0,3333, k3=0,6, k4устройство для определения знака модулярного числа, патент № 2503995 0,5714.

Дано число A=(1, 1, 2, 0). Требуется определить знак числа A.

Решение. В регистры RG 1=1, RG2=1, RG3=2, RG4 =0. В соответствии с этими значениями регистров (адресные входы LUT) на выходах которых формируются значения LUT1=0,5, LUT2=0,3333·1=0,3333, устройство для определения знака модулярного числа, патент № 2503995 , LUT4=0.

Таким образом, при суммировании в знаковом разряде сумматора будет 0, что говорит о том, что число находится в первом интервале, поэтому устройство для определения знака модулярного числа, патент № 2503995 , то есть число A - положительное.

Определение знака осуществляется за n суммировании, где n - число оснований (модулей) СОК. Время суммирования определяется логической глубиной устройства (количество последовательно соединенных элементов) и временем суммирования сумматора. Для уменьшения времени суммирования, схему сумматора можно реализовать по принципу дерева (рекурсивного сдваивания). Кроме того реализация сумматора может быть выполнена на искусственных нейронных сетях.

Класс G06F7/72 с помощью арифметического остатка

устройство для преобразования из полиномиальной системы классов вычетов в позиционный код -  патент 2513915 (20.04.2014)
способ организации выполнения операции умножения двух чисел в модулярно-позиционном формате представления с плавающей точкой на универсальных многоядерных процессорах -  патент 2509345 (10.03.2014)
устройство для сравнения чисел, представленных в системе остаточных классов -  патент 2503992 (10.01.2014)
способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов -  патент 2500018 (27.11.2013)
накапливающий сумматор по модулю -  патент 2500017 (27.11.2013)
способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов -  патент 2485574 (20.06.2013)
полный одноразрядный сумматор по модулю -  патент 2484519 (10.06.2013)
устройство для обнаружения переполнения динамического диапазона, определения ошибки и локализации неисправности вычислительного канала в эвм, функционирующих в системе остаточных классов -  патент 2483346 (27.05.2013)
ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю -  патент 2477513 (10.03.2013)
устройство для формирования остатка по произвольному модулю от числа -  патент 2445730 (20.03.2012)
Наверх