Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов учебное пособие томского политехнического университета.DOC
Скачиваний:
151
Добавлен:
11.04.2014
Размер:
2.89 Mб
Скачать

7. Контроль и диагностирование работы цифровых автоматов

В компьютере осуществляется контроль логических операций, арифметических операций, передач слов.

Ниже при рассмотрении контроля и диагностирования используются слова x1 = 01010101, x2 = 00110011, x3 = 00011100, x4 = 11000111.

7.1. Контроль логических операций

Среди всех логических операций (ЛО) основными являются операции ,,,. Зная их контроль, легко осуществлять и контроль других логических операций.

Для операций , , ,  имеют место следующие соотношения:

xi xj = xi + xj( xi \/ xj);

xi \/ xj = xi + xj( xi xj);

xi xj = xi + xj – 2*( xi xj);

xi = xi  1…1.

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

Пусть в качестве логической операции задана операция сложения по модулю 2 x1 x4, следовательно,

x2 x3 = x2 + x3 – 2*(x2 /\ x3).

Реализация заданных операций дает

+

/\

00110011 00110011 00110011 01001111

00011100 00011100 00011100 00100000

00101111, 01001111, 00010000, 00101111.

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

7.2. Контроль арифметических операций

Для контроля арифметических операций (АО) используются соотношения:

С(СЛ1 + СЛ2) = С(С(СЛ1) + С(СЛ));

С(УМ - ВЫ) = С(УМ) - С(ВЫ));

С(M *L) = С(M)*C(L);

С(D) = С(d)*C(Ч) + С(Q),

где:

С – вычет;

СЛ1,СЛ – слагаемые;

УМ, ВЫ – уменьшаемое и вычитаемое;

М, L – множимое и множитель;

D, d, Q, Ч – делимое, делитель, остаток и частное.

Что касается вычета С, то под этим понимается остаток от деления на некоторый модуль m, обычно равный 2 или 3.

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

Пусть в качестве арифметической операции задана операция сложения х1 +х4, следовательно,

С(x1 + x4) = С(С(x1) + С(x4)).

Реализация предусмотренных операций при m = 2 дает:

01010101

+

11000111

100011100,

С(x1) = 01, С(x1 + x4) =00,С(x4) =01, получается, что 00 = С(01 +01) = 00.

7.3. Контроль и диагностирование передач информации

Для контроля передачи слова часто используется контроль по нечетно-

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

Пусть в качестве числа задано x1,в нем 4 единицы, следовательно, в контрольном разряде должна быть единица (рис.45). Студент по своему усмотрению вносит в слово ошибку и производит контроль. Например, ошибка внесена в первый разряд (рис.46). Число единиц стало четным, это означает, что в слове есть ошибка.

01010101

1

11010101

1

Рис.45

Рис.46

Для диагностирования слово следует разбить на две части (рис.47). По горизонталям, вертикалям введены контрольные разряды. На рис.48 отраже-но внесение ошибки. Проверка нечетности показывает, что есть ошибка в верхней горизонтали, в левом столбце. Ясно, что это показывает на первый разряд. Ошибка путем инвертирования легко исправляется.

0101

1

1101

1

0101

1

0101

1

1111

1

1111

1

Рис.47

Рис.48