Изобретение относится к вычислительной технике и может быть использовано в системах связи и обработки информации, оперирующих с модулярными кодами (кодами в системе остаточных классов - СОК).
Известно устройство для обнаружения и исправления ошибок арифметических операций, содержащее первый и второй регистры контрольных разрядов, выходы которых соединены с первыми входами соответственно первого и второго сумматоров, вторые входы которых соединены с входами блоков памяти, третий, четвертый и пятый сумматоры, третий и четвертый регистры контрольных разрядов, выходы которых соединены с первыми входами соответственно первого и второго регистров контрольных разрядов, выходы которых соединены с первыми входами соответственно четвертого и пятого сумматоров, вторые входы которых соединены с выходами соответственно четвертого и пятого сумматоров, причем выходы третьего сумматора соединены с входами первого и второго блоков модульной свертки, выходы которых соединены с входами соответственно третьего и четвертого регистров контрольных разрядов [1].
Однако данное устройство обладает низким быстродействием.
Наиболее близким по сущности технического решения к изобретению является устройство для контроля ошибок в избыточном модулярном коде, содержащее входной преобразователь кода, входы которого являются соответствующими информационными входами устройства, блок вычисления поправок, первые входы которого подключены к первым информационным входам блока анализа, контрольные выходы которого являются контрольными выходами устройства, блок преобразования числа в цепную дроль, вычитатель и выходной преобразователь кода, причем выходы входного преобразователя кода подключены к соответствующим первым входам вычитателя и информационным входам блока преобразования числа в цепную дроль, выходы которого соединены с информационными входами блока вычисления поправок, выходы которого соединены с вторыми входами вычитателя, выходы которого подключены к соответствующим вторым информационным входам блока анализа, входам выходного преобразователя кода и являются первыми информационными выходами устройства, управляющие выходы блока анализа соединены с соответствующими управляющими входами блока вычисления поправок и блока преобразования числа в цепную дроль, установочные входы которых соответственно объединены и являются первыми установочными входами устройства, первые и вторые установочные входы блока анализа являются соответственно вторыми и третьими установочными входами устройства, выходы выходного преобразователя кода являются вторыми информационными выходами устройства [2].
Однако данное устройство имеет низкое быстродействие.
Целью изобретения является повышение быстродействия.
Существенным отличительным признаком являются блок групп схем сравнения с константой, блок групп элементов ИЛИ, блок умножителей на константу, триггер и образовавшиеся между ними и имеющимися блоками связи.
Предлагаемое устройство использует в своей работе следующее. Известно, что наличие избыточного основания в информации, представленной в СОК, позволяет обнаруживать ошибки. Причем при определенной величине избыточного (контрольного) основания появляется возможность не только обнаружить, но также локализовать и исправить ошибку.
В модулярном коде число представляется совокупностью неотрицательных вычетов α1 , α2 , α3 , ... , αn , αn+1 по группе взаимно простых оснований ρ1 , ρ2 , ρ3 , . ... ,ρn , ρn+1.При этом рабочий диапазон чисел Pр= , а полный диапазон Pп=. Величину Ри = Pп - Pp назовем избыточным диапазоном. Появление ошибки по одному какому-либо основанию переводит число из рабочего диапазона в избыточный при условии
ρ1 < ρ2 < ... < ρn < ρn+1 . (1)
Распределение ошибок в избыточном диапазоне осуществляется вполне определенно и зависит от величины ρn+1 . При этом если ρn+1 > ρn ˙ ρn+1 , то существует возможность по величине неправильного числа А, равного
= (A+Δαiβi) mod Pп (2) однозначно определить ошибочное основание и значение ошибки.
Зная Δ αi, можно исправить неправильное число
A=(-Δαiβi) mod Pп
Границы интервалов распределения ошибок можно определить из выражения (2), если в качестве А использовать числа 0 и Рр - 1, а Δ α изменять от 1 до ρi-1.
П р и м е р. Пусть ρ1 = 2 , ρ2 = 3 , ρ3 = 5 - рабочие основания. Pn+1 выбирают из условия ρn+1 > ρn ˙ ρn+1 , т.е. ϕn+1 = 17, когда Рр= =30, Рп = 510.
Определяют границы интервалов распределения ошибок в избыточном диапазоне: основание ρ1= 1,Δα1=1 __→ =[255-284] основание ρ2 = 3,Δα2=1 __→ =[340-369]
Δα2=2 __→ =[170-199] основания ρ3 = 5,Δα3=1 __→ =[306-335]
Δα3=2 __→ =[102-131]
Δα3=3 __→ =[408-437]
Δα3=4 __→ =[204-233].
Ошибки по контрольному основанию охватывают весь избыточный диапазон.
Пусть в результате вычислений на выходе преобразователя СОК в ПСС получено неправильное число = 128 = (0, 2, 3, 9). По принадлежности интервалу Δ определяют ошибочное основание и величину ошибки Δ α3 = 2. Производят исправление числа = 128:
A = (128 - 2,306) mod 510 = 26 = (0, 2, 1, 9).
На чертеже представлена функциональная схема предлагаемого устройства.
Устройство для контроля и исправления ошибок в избыточном модуляторном коде содержит входной преобразователь 1 кода, блок 2 групп элементов сравнения с константой, блок 3 групп элементов ИЛИ, блок 4 умножителей, блок 5 элементов ИЛИ, вычитатель 6, выходной преобразователь 7 кода, первые информационные входы 8 устройства, первые информационные выходы 9, вторые информационные выходы 10 устройства, второй блок 11 элементов И, блок 12 сравнения с рабочим диапазоном, триггер 13, первый блок 14 элементов И, вход 15 установки, вторые информационные входы 16 устройства.
Входной преобразователь 1 кода обеспечивает преобразование кода в остатках в позиционный код, например двоичный. Он может быть выполнен как в виде комбинационного устройства, не требующего синхронизации, так и в виде многотактного устройства (необходимые цепи синхронизации на чертеже не показаны, но наличие их для этого случая подразумевается).
Блок 2 групп схем сравнения с константой состоит из K=(ρi-1) комбинационных схем (для примера, приведенного в описании, К = 7), осуществляющих сравнение чисел с выхода преобразователя 1 кода с интервалами распределения ошибок. Каждой схеме сравнения соответствует только один интервал, вполне определенный Δ αi . Причем при попадании в интервал какой-либо схемы сравнения на ее выходе формируется соответствующее значение Δ αi , в противном случае на выходе ноль.
Блок 3 групп элементов ИЛИ состоит из n групп log 2 ] ρi - 1 [( ρi- 1)-входовых элементов ИЛИ при представлении значений Δ αi в двоичном коде или ( ρi - 1)( ρi-1)-входовых элементов ИЛИ при представлении в унитарном коде.
Блок 4 умножителей на константу состоит из n умножителей по модулю Рn, осуществляющих умножение значения Δ αi на соответствующий ортогональный базис βi , которые могут быть выполнены в табличном (что наиболее предпочтительно) либо в суммарном варианте.
Блок 5 элементов ИЛИ состоит из log 2 ] Pп [n-входовых элементов ИЛИ при представлении значений в двоичном коде либо из Pп n-входовых элементов ИЛИ при представлении в унитарном коде.
Вычитатель 6 осуществляет операцию вычитания по модулю и может быть как табличного, так и суммарного типа. Выходной преобразователь 7 кода служит для преобразования позиционного кода в исправленный модулярный код. Этот преобразователь, как и входной преобразователь 1, может быть выполнен в комбинационном или регистровом виде. Второй блок 11 элемента И представляет собой группу элементов , выполняющих функцию ключевого устройства, и содержит столько элементов И, сколько разрядов в выходной шине вычитателя 6.
Блок 12 сравнения с рабочим диапазоном представляет собой комбинационное устройство, на выходе которого значение равно логической "1" только тогда, когда на входе число попадает в интервал [0, Pp], в противном случае на выходе ноль.
Триггер 13 - известный функциональный элемент, имеющий установочный и счетный выходы, причем при подаче сигнала на установочный вход триггер переключается в единичное состояние, при переходе с единичного в нулевое состояние на счетном входе триггер переключается в противоположное состояние.
Первый блок 14 элементов И представляет собой группу элементов И, количество которых определяется разрядностью информационного входа избыточного модуля.
Устройство работает следующим образом.
На вход 15 установки устройства подается импульс, который устанавливает триггер 13 в единичное состояние, которое разрешает прохождение информации через первый блок 14 элементов И. На информационные входы 8, 16 входного преобразователя 1 подано число в модулярном коде α11, α21,..., αn1, α 1n+1 через время, определяемое переходными процессами в преобразователе 1. На его выходе устанавливается значение числа А в позиционном коде, которое поступает на блок 2 групп элементов сравнения с константой. Здесь возможны варианты: либо число правильно, т.е. А1 < <Рр, либо неправильно, т.е. А1> Рр. Если число правильно и не попадает ни в один интервал распределения ошибок, то на выходах элементов сравнения устанавливается значение "0", которое проходят через блок 3 групп элементов ИЛИ на входы блока 4 умножителей, на выходах которых значения также равны "0". Эти значения поступают через группу 5 элементов ИЛИ на вход вычитаемого вычитателя 6, на входе уменьшаемого которого присутствует число А1. Число А1 поступает на блок 12 сравнения с рабочим диапазоном и на первые входы второго блока 11 элементов И. Так как число А1 правильное и лежит внутри рабочего интервала, то на выходе блока 12 сравнения с рабочим диапазоном устанавливается единичный уровень, который разрешает прохождение числа А1 на информационные выходы 9 устройства и вход выходного преобразователя 7 кода, на выходах которого устанавливается правильное число А 1в коде СОК.
Если число А1 ошибочно (А1 > Рр), могут быть два варианта: число А1 ошибочно по какому-либо рабочему основанию; ошибка произошла в избыточном основании. Рассмотрим первый вариант. С выхода входного преобразователя 1 кода число поступает на входы блока 2 групп схем сравнения с константой. Так как ошибка произошла по одному из рабочих оснований, то число А1 попадает в интервал соответствующего элемента сравнения, на выходе которого устанавливается значение величины ошибки Δ αi . Оно через блок 3 групп элементов ИЛИ поступает на умножитель 4.i на константу, с выхода которого значение Δ αi βi поступает на вход вычитаемого вычитателя 6, на входе уменьшаемого которого присутствует неправильное число А1 . С выхода вычитателя 6 откорректированное число поступает на блок 12 сравнения с рабочим диапазоном и на первые входы второго блока 11 элементов И. На выходе блока 12 сравнения устанавливается уровень логической "1", так как число А попадает в рабочий диапазон, который разрешает прохождение числа через второй блок 11 элементов И на первые информационные выходы 9 устройства и входы выходного преобразователя 7 кода.
Если ошибка произошла по избыточному основанию ρn+1 , то число А1, даже если попадает в интервал какой-либо схемы сравнения с константой, все равно на выходе вычитателя 6 неправильное. Оно больше рабочего диапазона Рр, следовательно, на выходе блока 12 сравнения с рабочим диапазоном устанавливается уровень "0", который запрещает прохождение информации через второй блок 11 элементов И. Переход с высокого уровня на низкий на счетном входе триггера 13 устанавливает триггер в нулевое состояние и запрещает прохождение неправильной информации по информационному входу 16 избыточного модуля. Так как ошибочным допускается только одно основание, то считается, что ошибок по рабочим основаниям нет, следовательно, на выходе входного преобразователя 1 кода формируется правильное число А, которое проходит на информационные выходы 9 и 10 устройства без корректировки.
Преимущества предлагаемого устройства по сравнению с базовым объектом. В базовом объекте быстродействие определяется числом членов разложения в цепную дробь [ao, a1...], соответствующим числу тактов, и максимально может быть равно σm=log2 . Даже в случае, если имеют одно контрольное основание ρn+1 > ρn ˙ ρn-1 , число тактов не меньше четырех. С увеличением величин как рабочих, так и контрольных оснований число тактов возрастает.
В предлагаемом устройстве за счет распараллеливания операций сравнения неправильного числа с интервалами распределения ошибок достигается максимальное быстродействие.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ И ИСПРАВЛЕНИЯ ОШИБОК В ИЗБЫТОЧНОМ МОДУЛЯРНОМ КОДЕ | 1991 |
|
RU2015620C1 |
УСТРОЙСТВО ДЛЯ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ | 1991 |
|
RU2012051C1 |
СИСТОЛИЧЕСКИЙ ПРОЦЕССОР ДИСКРЕТНОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ С КОРРЕКЦИЕЙ ОШИБКИ | 1992 |
|
RU2018950C1 |
УСТРОЙСТВО ДЛЯ ПРЕОБРАЗОВАНИЯ ЧИСЛА В КВАДРАТИЧЕСКИЕ ОСТАТКИ | 1992 |
|
RU2029436C1 |
НЕЙРОННАЯ СЕТЬ ДЛЯ ОБНАРУЖЕНИЯ, ЛОКАЛИЗАЦИИ И ИСПРАВЛЕНИЯ ОШИБОК В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ | 2005 |
|
RU2301442C2 |
Устройство для обработки информации, представленной в системе остаточных классов | 1990 |
|
SU1743002A1 |
АДАПТИВНАЯ ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНАЯ НЕЙРОННАЯ СЕТЬ ДЛЯ КОРРЕКЦИИ ОШИБОК | 2003 |
|
RU2279131C2 |
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ПОЗИЦИОННОЙ ХАРАКТЕРИСТИКИ НЕПОЗИЦИОННОГО КОДА | 1991 |
|
RU2020758C1 |
Устройство для преобразования чисел из кода системы остаточных классов в позиционный код с контролем ошибок | 1991 |
|
SU1797119A1 |
СИСТОЛИЧЕСКИЙ ПРОЦЕССОР ДЛЯ ВЫЧИСЛЕНИЯ ПОЛИНОМИАЛЬНЫХ ФУНКЦИЙ | 1991 |
|
RU2015549C1 |
Изобретение относится к вычислительной технике и может быть использовано в системах связи и обработки информации, оперирующих с модулярными кодами. Цель изобретения - увеличение быстродействия. Цель достигается изменением алгоритма работы, распараллеливанием операций сравнения числа с интервалами распределения ошибок, введением блока 2 групп элементов сравнения с константой, блока 4 умножителей на константу, блока 3 групп элементов ИЛИ, блока 5 элементов ИЛИ, блоков 11, 14 элементов И, блока 12 сравнения, триггера 13 в устройство, содержащее входной 1 и выходной 7 преобразователи кода и вычитатель 6. 1 ил.
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ И ИСПРАВЛЕНИЯ ОШИБОК В ИЗБЫТОЧНОМ МОДУЛЯТОРНОМ КОДЕ, содержащее входной преобразователь кода, первые входы которого являются первыми информационными входами устройства, а выход соединен с первыми входами вычитателя, выходной преобразователь кода, выходы которого являются первыми информационными выходами устройства, отличающееся тем, что, с целью повышения быстродействия устройства, в него введены блок групп элементов сравнения, блок групп элементов ИЛИ, блок умножителей, блок сравнения, триггер, блок элементов ИЛИ и блоки элементов И, первые входы первого блока элементов И являются вторыми информационными входами устройства, выходы соединены с вторыми входами входного преобразователя кода, входы элементов сравнения всех групп блока объединены и подключены к выходу входного преобразователя кода, выходы элементов сравнения каждой группы блока соединены с соответствующими входами соответствующих групп элементов ИЛИ блока, выходы которых соединены с входами соответствующих умножителей блока, выходы которых соединены с соответствующими входами блока элементов ИЛИ, выходы которого соединены с вторыми входами вычислителя, выходы вычитателя соединены с первыми входами второго блока элементов И и блока сравнения, выход которого соединен с вторым входом второго блока элементов И и счетным входом триггера, установочный вход которого является входом установки устройства, выход триггера соединен с вторым входом первого блока элементов И, выходы второго блока элементов И соединены с входом выходного преобразователя кода и являются вторыми информационными выходами устройства.
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Устройство для контроля ошибок в избыточном модулярном коде | 1986 |
|
SU1363484A1 |
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
Авторы
Даты
1994-10-30—Публикация
1991-07-10—Подача