Материал: Нечаев А.Н. Устройство и работа электронных цифровых машин

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Контроль работы

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

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

Продолжительность отладки программ зависит от разнообразия и сложности решаемых задач. Статисти­ ческие данные показывают, что практически время от­ ладки программ составляет в среднем 20% полного ма­ шинного времени. В связи с этим становится очевидным, что для эффективного использования машины наиболее выгодны задачи, решаемые по одной и той же програм­ ме и имеющие большое количество вариантов.

. Ошибки легко могут возникнуть и при нанесении про­ граммы на перфокарты или перфоленту с помощью

т

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

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

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

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

ния избыточной информации, разделить

на две группы:

программного контроля

(самоконтроля)

и аппаратного

(схемного или встроенного) контроля.

 

П р о г р а м м н ы й

к о н т р о л ь использует избы­

точность исходной информации и для своей реализации

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

12 д . Нечаев

J77

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

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

Последние три метода программного контроля приме­ няются лишь в тех случаях, когда это позволяет вид решаемой задачи.

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

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

ошибок в вычислениях, экономически он очень невыго­ ден.

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

178

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

По сравнению с методом двойных просчетов контроль вычислений обратным ходом решения задачи обладает существенным преимуществом — ошибка в вычислениях обнаруживается при проверке правильности выполнения основной операции в следующем за ней контрольном так­ те работы машины. Это локализует ее распространение и позволяет быстро определить место сбоя или неис-прав" ности.

Аппаратурная реализация этого метода значительно увеличивает объем, оборудования и усложняет логику работы .устройств при незначительном уменьшении вре­ мени, затрачиваемого на контроль. Из-за этих недостат­ ков контроль вычислений обратным ходом решения за­ дачи не получил широкого распространения.

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

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

содного комплекта.

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

всегда приводит к переполнению разрядной сетки и вы­

12*

179

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

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

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

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

180

различными численными методами — более точным, нб громоздким и менее точным, но простым и т. п.

Контролируемость машины этим методом опреде­ ляется точностью, которую обеспечивает используемое контрольное соотношение, т. е. количеством сравнивае­ мых разрядов.

Контроль по шагу интегрирования и контроль под­ становкой вычисленных неизвестных в исходное управле­

ние — частные случаи метода контроля

вычислений с

помощью контрольных соотношений.

 

А п п а р а т н ы й

к о н т р о л ь использует информа­

цию, создаваемую

за счет избыточности

оборудования

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

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

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

181

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

ских программ.

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

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

Например, для контроля работы машины, оперирую­ щей с десятичными двоично-кодированными числами, могут быть использованы коды типов 8—4—2—1, 2—4— 2—1, код с избытком 3 и т. п., в которых, как мы уже говорили, каждая десятичная цифра представляется о помощью четырех двоичных разрядов, допускающих 16 различных комбинаций. Десять из этих комбинаций слу­ жат для представления десятичных цифр, а шесть яв­ ляются запрещенными комбинациями, при появлении которых схема контроля останавливает машину, сигна­ лизируя о возникшей неисправности. Недостаток такого метода состоит в том, что после возникновения неисправ­ ности машина до появления запрещенной комбинации может сделать еще несколько тактов и получить ряд ис­

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

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

182

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

Код с обнаружением и исправлением ошибок имеет несколько дополнительных разрядов. Например, для ко­ да с обнаружением и исправлением одиночной ошиб­ ки, содержащего в основной части 25 двоичных разря­ дов, необходимо использовать 5 избыточных разрядов в качестве проверочного числа. Проверочное число опреде­ ляется содержанием основной части кода. Проверяя основную и избыточную часть кода, можно установить номер разряда, в котором при хранении или передаче кода произошла ошибка. При увеличении количества разрядов в коде с исправлением ошибок доля избыточ­ ных разрядов уменьшается.

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

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

183

Источник: https://tut-files.ru/previewfile/124908