ПавловП.А.
ОБНАРУЖЕНИЕ ОШИБОК В АРИФМЕТИЧЕСКИХ ПРЕОБРАЗОВАТЕЛЯХ ИНФОРМАЦИИТЕЛЕКОММУНИКАЦИОННЫХКОМПЬЮТЕРНЫХСЕТЕЙ
Введение и постановка задачи
Характерной особенностью современных средств измерений является широкое использование телекоммуникационных компьютерных сетей (ТКС).
Отличительной особенностью ТКС от отельных телекоммуникационных устройств, является то, что она включает в свой состав ЭВМ, позволяющую осуществлять централизованное автоматизированное (автоматическое) управление объектом исследования, процессом измеренияи обработкой полученной информации [1].
Необходимость контроля арифметических операций, выполняемых в арифметико-логических устройствах (АЛУ) процессора, объясняется тем, что в этом устройстве осуществляется наиболее сложное преобразование информации, являющееся завершающим этапом работы ЭВМ в целом. Поэтому элементы арифметического устройства (АУ) работают в более напряженных режимах, чем элементы других устройств, что является причиной возникновения сбоев в работе.
В настоящее время широкое распространение получилконтроль арифметических операций сложенияпо модулю, которыйоснован на известных тождествах [2]:
Из теории чисел известно, что любое число можно записать в виде тождества:
A=ramodq (1)
(читается:Асравнимо или тождественно с остатком га модуля q), которое устанавливает следующее соотношение между числамиА, гаи q:
A = qt + ra (2)
где A, q, ^ га— целые числа;А — любое контролируемое n-разрядное число;q—модуль или делитель/t — частное;га — остаток от деления числаАна модуль q(контрольный код числа А).
Каждомуконтролируемому n-разрядному числуАпридаются еще тдополнительных разрядов, в которые записывается контрольный код, т. е. величина остатка гаот деления А на modq, по которому осуществляется контроль.
При контроле по модулю должно выполняться условие m<n; в противном случае из-за большого объема контрольной аппаратуры надежность контролируемой системы снижается.
При числовом контроле по модулю контрольным кодом числа является остаток от деления самого чис-лаАна modq.В этом виде контроля справедливо тождество: n n
£ A ° £rai modq (3)
i=1 i =1
означающие, что суммачисел сравнима с суммойостатков этих же чисел по одному и тому же модулю.
Для этой цели, в данной работе предлагается использовать метод обнаружения ошибок в устройствах хранения и передачи информации,предложенный в работах [3.5 ].
В этом случае, при кодированиидвоичного набора с произвольным числом информационных разрядов (пусть число информационных разрядов кратно трем) двоичный набор разбивается на блоки информации, по три разряда в каждом блоке:
У = Хі, Х2ХзУіУ2Уз, , Z,Z2Z3 . (4)
В результатекодирования рассматриваемого двоичного набора предлагаемым методом получим кодовый набор:
У К = *1, *2 *3 Уі У2 Уз, , Z1Z2Z3 Х1Х2
Х2 Х3 @ У1У2
У 2 У3 (5)
Z1Z2
Z2Z3
или: Ук = Х1, Х2Х3У1У2У3, , ZZ2Z3r/2 (6)
Обнаружение ошибок производитсяпутем поразрядного сложения по mod2 значений контрольных разрядов Г1с и Г2с , считываемых с устройства хранения информации соответственно с значениями контрольных разрядов Гщ и r2П, сформированных относительно полученных информационных разрядов:
І1= Г1сФг1п;
І2= r 2C^^r 2П . (7)
Нулевой результат суммы свидетельствует об отсутствии ошибки, и ее наличии в противном случае. Данный метод позволяет обнаруживатьодиночные ошибки100%, одиночных ошибоки до 80% двойных ошибок. Обнаружение и исправление ошибок при выполнении арифметических операций
Преимущественное распространение в современных вычислительных машинах имеют сумматоры параллельного действия, в которых передача чисел и образование суммы происходит одновременно для всех разрядов.
Рассмотрим основные положения метода контроля операции сложения на примере.
Допустим, требуется сложить два шестиразрядных числа: А=001100 и В=001111. При кодировании данных чисел предлагаемым методом получим кодовые наборы соответственно:
Ак= 00110011,Вк= 00111101, (8)
которые будут записаны в устройстве хранения информации.
Арифметическое суммирование информационных разрядов данных кодовых наборов, с учетом переносов-даст результат:
001100
001111 (9)
S=011011
Для полученной суммы значения контрольных разрядов должны иметь соответственно значения: 00. Однако сложение контрольных разрядов слагаемых по mod 2 даст результат:
11
01
Skmod2 =10,
который отличается от правильного значения 00.
В связи с этим, для формирования правильных значений контрольных разрядов, возникает необходимость определения поправки к значению контрольныхразрядов Skmod2.
Правила формирования поправки, может быть получено на основе кодирования информации учитывающейв-се переносы, возникающие при сложении двух чисел.
Для рассматриваемого примера, при сложении информационных разрядов перенос единичных значений сигналовосуществляется в четвертый и пятый разряды (см.9) т.е., информация, учитывающая переносы имеет вид: Sh=011000.
Свойство 1. Формирование поправки Пк к значению контрольных разрядовЗкто<а2 осуществляется путем кодирования информации учитывающей переносы Sпвыбранным методом кодирования.
Для рассматриваемого примера, кодирование значенияSп=011000. предлагаемым методом даст значение поправкиПк=10 .
Поразрядное сложение по mod2 значенияSkmod2 = 10 и значения поправки Пк=10 даст правильное значение контрольных разрядов для полученной арифметической суммы S=011011.
В результате имеем правильный кодовый набор суммы:
Sк =011011 00.
ЛИТЕРАТУРА
1. Куликовский К.Л., Купер В.Я. Методы и средства измерений. М.:Энегоатомиздат 1986, 447 с.
2. Павлов А.А., Павлов П.А. Царьков А.Н. Хоруженко О.В.,, Функционально-кодовый контроль ошибок в автоматизированных системах измерительной техники. // Измерительная техника. 2009, № 9 с.3-5.
3. Путинцев Н.Д. Аппаратный контроль управляющих цифровых вычислительных машин.М.: Советское радио1966, 424 с.
4. A.A.Pavlov, P.A.PavlovA.N.Tsarkov andO.V. KhoruzhekoFunctional cod error monitoring in
computerized data-acquisiti systems./ MeasurementTechniques,Springer New York, V0f. 52, № 9, 2009,
p. 891-893.