Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВТ_4 часть.doc
Скачиваний:
10
Добавлен:
16.09.2019
Размер:
550.91 Кб
Скачать

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

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

В итоге уменьшается время, затрачиваемое на контроль достоверности результатов (двойной просчёт, контрольные варианты и т.д.).

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

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

Операция сдвига информации в регистре представляет собой, по существу, передачу информации из i-х разрядов регистра в (i + m)-е или (i – m)-е разряды в зависимости от направления сдвига (m – число разрядов, на которое производится сдвиг).

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

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

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

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

Тогда при правильном выполнении сдвига общая чётность суммы единиц в регистре после сдвига не меняется.

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

Если число информационных разрядов в слове чётно, то число единиц в слове чётно при чётном числе нулей и нечётно при нечётном числе нулей.

В этом случае после образования обратного кода чётность числа единиц в слове сохранится.

Если же число информационных разрядов в слове нечётно, то чётному числу единиц в слове соответствует нечётное число нулей и наоборот.

В этом случае после образования обратного кода чётность числа единиц изменится на обратную.

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

Метод проверки чётности может быть использован и для контроля операции сложения.

При правильном образовании суммы S = SnSn-1… S1 слагаемых А и В чётность суммы её единиц должна совпадать с чётностью, определяемой выражением: S1S2Sn = (a1a2an) (b1b2bn) (P1P2Pn), где Рi – значение переноса, поступающего в i-й разряд суммы.

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

В связи с этим для полноты контроля необходимо проверять правильность образования переноса: в каждом разряде может существовать перенос либо в прямом коде, либо в обратном и не существует одновременно и то, и другое.

С этой целью контрольные разряды чётности формируются отдельно для переносов и отдельно для суммы.

Затем проверяется выполнение вышеуказанного условия.

Ошибка

Упрощённая схема контроля сум-

Схема контроля по совпадению

матора имеет вид:

формирования

Вторая схема

Контроль выполнения арифме-

Первая схема

формирования

тических операций (сложения, вычи-

переносов

переносов

тания, умножения) можно осущест-

слагаемые

влять с помощью контрольных ко-

дов, представляющих собой остатки

Схема формирования суммы

от деления чисел на некоторый мо-

дуль R (контроль по модулю R).

Схема формирования чётности суммы

При этом в качестве контроль-

ной операции над остатками может

быть выбрана та же арифметическая

Схема опреде-

ления чётнос-

Чётность слагаемых

операция, которая производится над

ти переносов

числами.

Схема проверки чётностей S

Контроль по модулю организу-

Ошибка

ется следующим образом.

Каждому числу, участвующему в арифметической операции ставится в соответствие контрольный код – остаток по модулю R.

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

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

При несовпадении фиксируется ошибка.

Для двоичных чисел часто используют контроль по модулю 3.

10.9. Принципы построения систем автоматического диагностирования.

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

Функциональное диагностирование предполагает использование некоторых средств контроля правильности функционирования объекта при реализации его рабочего процесса.

Тестовое диагностирование производится путём подачи на объект специальных тестовых воздействий и сравнения реакций объекта на эти воздействия с эталонными ответами.

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

Тестовые диагностические процедуры могут осуществляться путём прогона на МПС специальных диагностических программ.

Однако значительно более гибкое диагностирование с большей детализацией места неисправности обеспечивают диагностические процедуры, выполняемые под управлением специальных диагностических микротестов и –микропрограмм ("микродиагностика").

Диагностирование сложных МПС производится в форме многоэтапного процесса, причём на разных этапах используются средства диагностирования – микропрограммные, программные и аппаратурные.

Система автоматического диагностирования (САД) представляет собой комплекс аппаратурных, микропрограммных и программных средств, а также справочной документации (справочников неисправностей, инструкций, схем МПС, тестов).

Различают встроенные САД, когда диагностирующие средства размещаются внутри МПС, и внешние САД, когда эти средства находятся вне МПС.

На практике часто САД строятся комбинированными: одна часть их средств встраивается в МПС, а другая оформляется в виде дополнительного оборудования, подсоединяемого к МПС при диагностировании неисправностей.

Обычно объём диагностических микропрограмм (тестов "микродиагностики") и программ столь велик, что их не удаётся хранить внутри МПС (в управляющей, оперативной или специальных встроенных памятях).

Однако в большинстве случаев это и не важно, так как диагностические тесты не так часто выполняются.

Поэтому обычно они хранятся во внешних ЗУ.

Для САД сложных МПС характерным является использование специализированных диагностических процессоров (сервисных адаптеров или сервисных процессоров).

Сервисные адаптеры строятся на основе МП или микро-ЭВМ и управляют загрузкой в МПС из внешних ЗУ ("сервисных ЗУ") диагностической информации, инициированием диагностических процедур, опросом состояния МПС после подачи тестовых воздействий, сравнением полученных ответов с эталонными, индикацией и регистрацией результатов диагностирования.