УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ЗНАКА МОДУЛЯРНОГО ЧИСЛА Российский патент 2014 года по МПК G06F7/72 

Описание патента на изобретение RU2503995C2

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

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

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

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

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

Цифры αi данного представления по выбранным модулям образуются следующим образом

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие патенты RU2503995C2

название год авторы номер документа
УСТРОЙСТВО ДЛЯ СРАВНЕНИЯ ЧИСЕЛ, ПРЕДСТАВЛЕННЫХ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ 2011
  • Червяков Николай Иванович
  • Бабенко Михаил Григорьевич
  • Ляхов Павел Алексеевич
  • Лавриненко Ирина Николаевна
  • Лавриненко Антон Викторович
RU2503992C2
УСТРОЙСТВО ДЛЯ ОБНАРУЖЕНИЯ ПЕРЕПОЛНЕНИЯ ДИНАМИЧЕСКОГО ДИАПАЗОНА, ОПРЕДЕЛЕНИЯ ОШИБКИ И ЛОКАЛИЗАЦИИ НЕИСПРАВНОСТИ ВЫЧИСЛИТЕЛЬНОГО КАНАЛА В ЭВМ, ФУНКЦИОНИРУЮЩИХ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ 2011
  • Червяков Николай Иванович
  • Бабенко Михаил Григорьевич
  • Ляхов Павел Алексеевич
  • Лавриненко Ирина Николаевна
  • Лавриненко Антон Викторович
RU2483346C1
НЕЙРОННАЯ СЕТЬ ДЛЯ ОБНАРУЖЕНИЯ, ЛОКАЛИЗАЦИИ И ИСПРАВЛЕНИЯ ОШИБОК В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ 2005
  • Червяков Николай Иванович
  • Лавриненко Ирина Николаевна
  • Сивоплясов Дмитрий Владимирович
  • Дьяченко Игорь Васильевич
  • Иванов Антон Владимирович
  • Головко Александр Николаевич
RU2301442C2
НЕЙРОННАЯ СЕТЬ ДЛЯ ПРЕОБРАЗОВАНИЯ ОСТАТОЧНОГО КОДА В ДВОИЧНЫЙ ПОЗИЦИОННЫЙ КОД 2006
  • Червяков Николай Иванович
RU2318238C1
УСТРОЙСТВО ДЛЯ ОСНОВНОГО ДЕЛЕНИЯ МОДУЛЯРНЫХ ЧИСЕЛ 2013
  • Червяков Николай Иванович
  • Бабенко Михаил Григорьевич
  • Ляхов Павел Алексеевич
  • Лавриненко Ирина Николаевна
RU2559771C2
НЕЙРОННАЯ СЕТЬ ДЛЯ ДЕЛЕНИЯ ЧИСЕЛ, ПРЕДСТАВЛЕННЫХ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ 2005
  • Червяков Николай Иванович
  • Лавриненко Ирина Николаевна
  • Кондрашов Александр Владимирович
  • Гуйда Михаил Владимирович
  • Щегольков Алексей Викторович
RU2305312C2
НЕЙРОННАЯ СЕТЬ УСКОРЕННОГО МАСШТАБИРОВАНИЯ МОДУЛЯРНЫХ ЧИСЕЛ 2007
  • Червяков Николай Иванович
  • Головко Александр Николаевич
  • Лавриненко Антон Викторович
  • Сляднев Виталий Викторович
RU2359325C2
НЕЙРОННАЯ СЕТЬ ДЛЯ ДЕЛЕНИЯ ЧИСЕЛ, ПРЕДСТАВЛЕННЫХ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ 2006
  • Червяков Николай Иванович
  • Кондрашов Александр Владимирович
  • Сляднев Виталий Викторович
  • Лавриненко Антон Викторович
RU2318239C1
Устройство обнаружения и коррекции ошибки модулярного кода 2017
  • Червяков Николай Иванович
  • Кучуков Виктор Андреевич
  • Бабенко Михаил Григорьевич
  • Кучукова Наталья Николаевна
RU2653257C1
УСТРОЙСТВО РАСШИРЕНИЯ ОСНОВАНИЙ МОДУЛЯРНОГО КОДА 2014
  • Калмыков Игорь Анатольевич
  • Саркисов Артем Брониславович
  • Калмыков Максим Игоревич
  • Макарова Алена Васильевна
  • Петрова Екатерина Викторовна
  • Степанова Елена Павловна
RU2562366C1

Иллюстрации к изобретению RU 2 503 995 C2

Реферат патента 2014 года УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ЗНАКА МОДУЛЯРНОГО ЧИСЛА

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

Формула изобретения RU 2 503 995 C2

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

Документы, цитированные в отчете о поиске Патент 2014 года RU2503995C2

Устройство для определения знака числа, представленного в системе остаточных классов 1989
  • Червяков Николай Иванович
  • Куценко Сергей Михайлович
  • Фисаков Алексей Николаевич
SU1674121A1
Устройство для определения знака числа, представленного в системе остаточных классов 1988
  • Червяков Николай Иванович
  • Скиба Геннадий Павлович
  • Журиков Алексей Геннадьевич
  • Кечкин Михаил Александрович
SU1552181A1
УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ПОЗИЦИОННЫХ ХАРАКТЕРИСТИК НЕПОЗИЦИОННОГО КОДА 1991
  • Червяков Н.И.
  • Ремизов С.Л.
RU2020756C1
US 2011231456 A1, 22.09.2011.

RU 2 503 995 C2

Авторы

Червяков Николай Иванович

Бабенко Михаил Григорьевич

Ляхов Павел Алексеевич

Лавриненко Ирина Николаевна

Лавриненко Антон Викторович

Даты

2014-01-10Публикация

2011-09-26Подача