Оперативные методы контроля аппаратуры

В качестве оперативных методов контроля аппаратурыиспользуется кодовый контроль, который основан на том факте, что коды, циркулирующие в ЭВМ, во многих случаях могут быть разделены на допустимые (правильные) и неправильные. Так можно выявить недопустимые коды операций, адресов. Для несложных цифровых устройств применяется также контроль по модулю [5.1]: числовой и цифровой, которые позволяют выявить ошибки в работе аппаратуры преобразования данных, например, сумматоров и ошибки аппаратуры передачи и хранения данных (при этом методе на уровне интегральных схем вводится дополнительные схемы контроля).

Суть контроля по модулю состоит в группировании чисел в классы эквивалентности. Представим целое неотрицательное число в виде:

A= aq+ra, (5.1)

где a – целая часть от деления A на q, q – делитель (модуль), ra – остаток от деления. В случае, если числа А1 и А2 имеют одинаковые остатки r1 = r2 от деления на q , то говорят, что А1 и А2 сравнимы по модулю q, что записывается в виде:

A1≡ A2 mod q (5.2)

 

Как следует из ( 2.2), А≡ ra mod q. (5.3)

Отсюда следует общее свойство контроля по модулю: чем больше q, тем больше классов эквивалентности, тем меньше мощность каждого класса и тем меньше вероятность того, что в результате некоторой ошибки число останется в том же классе эквивалентности ( и вследствие этого ошибка не обнаружится). Следовательно, большие значения q дают большую полноту контроля. В качестве модуля не следует применять основание применяемой системы счисления и кратные ему . Рекомендуется выбирать q= r , где r – основание системы счисления.

Покажем для примера (см рис. 5.1)схему контроля по модулю для хранения или передачи информации по каналу связи.

 

Рис. 5.1 Схема устройства хранения или передачи числа с контролем по модулю.

Пусть число А передается по каналу связи или записывается в запоминающее устройство ( ЗУ) – М. При помощи преобразователя Мп2 образуется остаток от деления ra , который передается по дополнительному каналу ( или записывается в дополнительное ЗУ Мд). Пропускная способность дополнительного канала ( или объем дополнительного ЗУ Мд) при этом значительно меньше пропускной способности основного канала ( или соответственно объема основного ЗУ М), так разрядность остатка ra значительно меньше разрядности числа А. Принятое из канала число А* , содержащее возможно искажения , также подвергается преобразованию Мп1 с образованием остатка от деления ra*. Сравнение остатков ra и ra* дают возможность обнаружить большинство ошибок по признаку несовпадения Н.

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

Теорема 1Сумма чисел Аi ( i=1…n) сравнимо по модулю q с суммой остатков rai этих же чисел, то есть

Теорема 2Произведение чисел Аi ( i=1…n) сравнимо по модулю q с суммой остатков rai этих же чисел, то есть

Эти виды контроля не являются полными. Полный контроль возможен при дублировании аппаратуры (см. п. 4.4). Тогда необходимо использовать схемы сравнения на выходе дублированной структуры.

Для дальнейшего упрощения контрольных операций широко применяется цифровой контроль по модулю, который основан на контроле по модулю суммы цифр, образующих число. Поскольку разрядность суммы цифр большого числа значительно меньше разрядности самого числа, операции вычисления остатка упрощаются, хотя дополнительно требуется операция для образования суммы цифр числа. Однако аналогов теорем 1 и 2 для суммы цифр операндов не существует, поэтому цифровой контроль применим только для контроля операций хранения и передачи чисел. Особенно просто цифровой контроль реализуется для модуля q=2. Такой контроль называется контролем по четности. При таком контроле остаток суммы цифр равен либо 0, либо 1 в зависимости от четности числа единиц в исходном двоичном коде. В качестве контрольного остатка достаточно иметь один дополнительный разряд, называемый контрольным разрядом.

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

где rs – четность суммы чисел, rx , ry - четности слагаемых х и у, rp – четность числа переносов суммы.