Главная > Прикладная теория цифровых автоматов
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

8.4. КОНТРОЛЬ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ

Как известно, арифметические операции выполняются в ЭВМ в прямом, обратном и дополнительном кодах. Если изображения чисел хранятся в машине в соответствующем коде, то их можно рассматривать как единые кодовые комбинации, к которым можно применять все сформулированные выше правила получения свертки. При этом требуется обязательная кратность общего числа разрядов избранному модулю.

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

1) раздельный контроль знаковой и цифровой частей изображений результата;

2) обобщенный контроль всего изображения.

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

частей изображений имеем

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

где — значение знакового разряда операндов; — вес старшего разряда свертки.

Пример. Заданы Найти

Имеем:

На основании (8.15) получим

Обобщенный способ может быть применен и для контроля выполнения операции сложения обратном коде. В этом случае

Пример. Заданы Найти

Решений:

Проверка:

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

где — коррекция , если возник перенос из знакового разряда, и в 0, если переноса нет).

Пример. Заданы: Найти

Решение:

Проверка:

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

Пусть до преобразования в регистре хранился код

т. е. в знаковом разряде была записана 1 (числа условно целые). После преобразования этого кода в обратный в регистре получится;

Выразив через получим

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

где — контрольный код до преобразования; — контрольный код после преобразования.

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

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

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

1
Оглавление
email@scask.ru