Код с проверкой четности (нечетности)

 

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

 

При формировании кода слова в контрольный разряд за­писывается 0 или 1 таким образом, чтобы сумма «1» в слове, включая избыточный разряд, была четной (при контроле по четности) или нечетной (при контроле по нечетности). В даль­нейшем при всех передачах, включая запись в память и считы­вание, слово передается вместе со своим контрольным разря­дом. Если при передаче информации приемное устройство обнаруживает, что в принятом слове значение контрольного разряда не соответствует четности суммы «1» слова, то это во­спринимается как признак ошибки.

 
 

В современных ЭВМ обычно каждый байт информации имеет один контрольный разряд (рис. 1).

 

Рисунок 1 – Байт информации с контрольным разрядом

 

Минимальное расстояние кода dmin = 2, поэтому код с про­веркой четности обнаруживает все одиночные ошибки, а кроме того, все случаи нечетного числа ошибок (3, 5 и т. д.). При одновременном возникновении двух или любого другого чет­ного числа ошибок код с проверкой четности не обнаруживает ошибок.

При контроле по нечетности контролируется полное пропа­дание информации, поскольку кодовое слово, состоящее из «0», относится к запрещенным.

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

При построении схем определения четности суммы 1 слова используют логические элементы с парафазным выходом, по­добные изображенному на рис. 2, а и б. Показанные схемы выполняют операцию «сложения по модулю 2» (условное обозна­чение М2) для двоичных переменных х и у. На рис. 2, в пока­зана
схема определения признака четности байта.

 

Рис. 2

 

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

 

Контроль по совпадению

 

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

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

Один из вариантов схемы контроля передач по совпадению показан на рис. 3. После передачи информации из регистра А в регистр В (или из В в А) через время, несколько большее времени установления переходных процессов в триггерах реги­стров, на выходе схемы появляется сигнал «1» при несовпадении содержимого А и В или «0» в противном случае. При контроле передачи по совпадению обнаруживаются ошибки любой крат­ности. Затраты оборудования при контроле по совпадению меньше, чем при контроле по четности.

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

Рис. 3