![](/user_photo/_userpic.png)
книги из ГПНТБ / Основы технической эксплуатации ЭЦВМ
..pdfТест контроля правильности работы адресных и чис ловых цепей в режиме записи и считывания может быть 'Выполнен сравнительно просто. Накопитель заполняется одним и тем же (проверочным) кодом и затем произво дится поячеечное сравнение с эталоном. При несравненіш должен .происходить останов машины. В качестве проверочных кодов могут использоваться коды, соответ
ствующие адресам самих |
ячеек, а |
также коды типа: |
11...1, 00.. .0, 1010. ..10, |
0101...01, |
«бегущий нуль» и |
«бегущая единица». |
|
|
Тест желательно построить так, чтобы оператор мог, используя панель индикации, определить адрес ячейки и разряд, в котором произошло искажение информации. Такая проверка должна позволить проконтролировать все ячейки ОЗУ на правильность записи и считывания информации по всем разрядам и на правильность записи по всем адресам.
Так как в момент проведения контроля работоспособ ности машины какая-то часть ОЗУ заполняется прове рочным тестом, то для осуществления полной програм мной проверки оперативного запоминающего устройства его необходимо разбить на две части: неконтролируемую и контролируемую. Проверочный тест должен быть записан в неконтролируемую часть, а контролируемая часть проверяется на правильность работы в режиме записи и считывания. Затем необходимо перепи сать проверочный тест в ту часть ОЗУ, которая контро лировалась, и подвергнуть проверке вторую часть нако пителя.
Для проверки отсутствия помех от полувыбранных сердечников необходимо использовать тест, который по зволит создать в ОЗУ наиболее тяжелый режим, а имен но режим максимальной помехи при считывании чисел. Такой тяжелый режим можно создать, записав в опера тивное запоминающее устройство единицы и нули в шах матном порядке.
Для выявления ферритовых сердечников, характери стики которых ухудшились в процессе эксплуатации, проверочный тест должен позволить проводить много краткую выборку информации из одних и тех же ячеек. При этом будет происходить разогрев сердечников. Если петля гистерезиса у какого-либо сердечника имеет не достаточно прямоугольную форму, то в результате его разогрева форма петли гистерезиса будет еще больше от-
100
Ликаться от прямоугольной, сигнал в обмотке считывания уменьшается по амплитуде и считываемая информация может быть потеряна.
Таким образом, вводя в тест режим многократного обращения к одной и той же ячейке и, сравнивая ин формацию, считываемую из нее, с эталоном, можно вы явить сердечники, характеристики которых ухудшились
ипроцессе эксплуатации.
Вблок проверки ЗУ кроме тестов контроля ОЗУ
входят тесты проверки правильности работы .внешних запоминающих устройств на магнитных барабанах и маг нитных лентах. Основная задача такого теста — прове рить правильность работы адресных и числовых цепей в режиме записи и считывания. Проверку можно осуще ствить следующим образом. Эталонные коды записыва ются в определенную группу ячеек ОЗУ. Эти же коды записываются на магнитный барабан или на м-агнитную ленту, затем считываются из нее в свободные ячейки и сравниваются с эталоном. При несовпадении фиксирует ся останов.
В качестве проверочных кодов могут быть использо
ваны коды, соответствующие номерам зон |
магнитной |
|
ленты, номерам трактов и |
зон магнитных |
барабанов, |
а также коды типа: 11...1, |
00.. .0, 1010. ..10, |
0101...01, |
«бегущий нуль» и «бегущая единица». |
|
Перед контролем адресных и числовых цепей накопи теля на магнитной ленте необходимо произвести провер ку его цепей разметки. С этой целью тест должен по зволить произвести предварительную разметку магнит ной ленты определенными номерами зон. Затем в эти зоны необходимо записать проверочный код, в качестве которого удобно использовать код, соответствующий но меру зоны, после чего производится считывание ин формации и ОЗУ и сравнение ее с эталоном. При несраівиении происходит останов машины.
Блок проверки устройств ввода и вывода информации имеет свои особенности. Это объясняется спецификой самих устройств ввода и вывода.
Для контроля устройств ввода можно использовать в проверочном тесте специально подобранный массив чисел с полученной заранее суммой, принимаемой за эталон. Суммируя вводимый в машину .массив чисел и сравнивая контрольную сумму с эталоном, можно дать ответ — верно или неверно работают вводные устройства.
101
Метод проверки устройств вывода зависит от их типа. Так, для проверки печатающих устройств тест дол жен содержать константы, позволяющие проверить все символы, используемые для печати. Контроль правиль ности вывода на печать производится оператором мето дом визуального просмотра результатов печати.
При контроле устройств вывода на перфокарты и перфоленты тест должен содержать константы, позво ляющие проверить правильность перфорирования носи теля.
Проверка ведется путем вывода числовой информа ции на носитель п затем последующего ввода ее в маши ну. Введенная информация суммируется и полученная контрольная сумма сравнивается с эталоном.
Достаточно полный проверочный тест может быть создан лишь специалистами, хорошо знающими логику работы машины и методы программирования.
По мере приобретения обслуживающим персоналом опыта и выявления наиболее слабых мест в машине про верочные тесты должны корректироваться. Усовершенст вование тестов должно идти по. пути увеличения полноты контроля и облегчения работы оператора.
Хорошо составленный проверочный тест должен кон тролировать совместную работу всех основных устройств машины в режимах, близких к нормальной эксплуата ции, и указывать место неисправности с точностью до
устройства, т. е. такого рода тест |
должен обладать |
в какой-то степени диагностическим |
свойством. |
Аппаратный контроль
Аппаратный контроль основан на применении специ альных схем, встроенных в различные устройства маши ны и предназначенных для частичной или полной провер ки правильности выполнения .машинных операций.
В зависимости от полноты охвата устройства маши ны дополнительным контрольным оборудованием разли чают сквозной и локальный (местный)'аппаратный кон троль.
Сквозной аппаратный .контроль охватывает все этапы работы ЭЦВМ, т. е. выполнение операций над кодами, их хранение и пересылку. Современные управляющие цифровые вычислительные машины, как правило, имеют сквозную систему аппаратного контроля.
102
Локальный контроль охватывает лишь часть оборудо вания машины и, следовательно, позволяет проверить только отдельные этапы процесса переработки информа ции в ЭЦВМ, например, правильность пересылки кодов или правильность операции над кодами и т. д.
Аппаратный контроль может производиться непре рывно и периодически.
При непрерывном контроле проверка правильности работы машины ведется параллельно с решением на ней основных задач, а при периодическом, или, как его ино гда именуют, аппаратно-логическом — через определен ные промежутки времени по специальной программе (с прекращением выполнения основной программы на это время).
Периодический контроль по существу может быть от несен к комбинированному аппаратно-программному кон тролю. Такой вид контроля получил наибольшее приме нение как средство профилактического контроля. В даль нейшем в этом параграфе все изложение будет вестись только применительно к непрерывному контролю.
С точки зрения методов, положенных в основу аппа ратного контроля, последний можно разделить на:
контроль с использованием кодов для обнаружения
иисправления ошибок; контроль по модулю;
контроль с помощью технических средств. •
Коды для обнаружения и исправления ошибок ис пользуются в ЭЦВМ для контроля правильности пере дачи информации от устройства к устройству и внутри устройств.
Под кодом .понимают систему символов, отобража ющих информацию, с которой оперирует ЭЦВМ. В сов ременных вычислительных машинах используются глав ным образом двоичные коды, содержащие в своем со ставе два символа: нуль и единицу. При этом каждому числу, слову или какому-либо другому знаку соответст вует своя комбинация единиц и нулей. В дальнейшем все рассуждения будем вести применительно к двоично му коду.
Коды, в которых комбинация из единиц и нулей за действована для представления информации в машине, получили наименование обыкновенных. При операциях с обыкновенными кодами любое изменение даже в од ном разряде нуля на единицу, и наоборот, вызванное
ЮЗ
сбоем в машине, искажает данную информационную ком бинацию. Обнаружить, а тем 'более исправить ошибку, используя только одну вновь появившуюся комбинацию, нельзя, поэтому для обнаружения и исправления ошибок приходится использовать не обыкновенные коды, а по мехоустойчивые.
Помехоустойчивые коды делятся на коды с обнару жением ошибок — обнаруживающие коды и коды с об наружением и исправлением ошибок — корректирующие коды.
Общий принцип построения помехоустойчивых кодов сводится К тому, что из N возможных кодовых комбина ций, которые можно получить в »-разрядном коде, ис пользуется при передаче информации в машине только
некоторая часть К комбинаций ( К < М = 2 п) . Такие |
К |
комбинаций называют разрешенными. Количество |
их |
выбирают с таким расчетом, чтобы при появлении ошиб ки в одном или нескольких разрядах одна используе мая комбинация не превращалась в другую, а принимала вид любой из N — К запрещенных комбинаций.
Из сказанного следует, что для .получения помехо устойчивых кодов необходимо вводить в них некоторую избыточность, оценить которую можно с помощью коэф фициента избыточности:
D_
|
l0g2/с ’ |
|
|
где N = 2п — общее |
количество |
комбинаций, |
которое |
можно получить в |
»-разрядном |
коде; К —количество |
|
разрешенных комбинаций, используемых при |
передаче |
информации в машине.
Возможности помехоустойчивых кодов по обнаруже нию и исправлению ошибок, именуемые корректирую щей способностью кода, характеризуются величиной кодового расстояния d.
Под кодовым расстоянием d понимается наименьшее
число разрядов, |
которыми отличаются комбинации. |
В используемых |
для передачи информации обыкновен |
ных кодах d берется равным единице. Для всех поме хоустойчивых кодов d> 1.
Для обнаружения одиночной ошибки, т. е. ошибки в одном из разрядов кодовой комбинации, достаточно иметь код с d — 2. В этом случае любые две кодовые комбинации, представленные в таком коде, будут отли
чаться |
друг от друга не менее чем в двух разрядах. |
104 |
■ . |
Появление любой единичной ошибки не сможет превра* тить данную кодовую комбинацию в какую-либо разре шенную комбинацию. Появившаяся ошибка обязательно изменит разрешенную комбинацию на запрещенную.
В помехоустойчивых кодах с 3 можно не только обнаруживать одиночные ошибки, но и определять по зицию разряда, в котором появилась ошибка, а следова тельно, и исправлять ее. Пояснить это можно следую щим образом. При появлении одиночной ошибки код исказится так, что ошибочная комбинация будет отли чаться от истинной только в одном разряде, а от всех остальных разрешенных комбинаций не менее чем в двух разрядах. Такое положение позволяет определить по зицию разряда, в котором произошла ошибка и испра вить ее. Исправление ошибки в этом случае можно вести путем поочередного изменения значений символов (ну ля на единицу и наоборот), записанных в разрядах кодовой комбинации. После каждого изменения символа в одном из разрядов производится проверка и, если комбинация остается запрещенной, символ в данном разряде восстанавливается. Поочередное изменение зна чений символов ведется до тех пор, пока не будет получе на разрешенная комбинация. Для обнаружения двойных ошибок необходимо иметь код с d = 3, а для их исправ ления— с <і=5.
■В общем виде выражения, характеризующие зависи мость между кодовым расстоянием и числом исправляе мых ошибок, могут быть записаны следующим образом:
d ^ t + 1; |
(3-1) |
d ^ 2 t + l , |
(3-2) |
где t — число ошибок.
Как видно из выражений 3-1 и 3-2, для обнаружения двойных, тройных и т. д. ошибок надо значительно уве личивать избыточность. Поэтому при выборе кода необ ходимо тщательно взвесить все за и против (характер распределения ошибок, требуемая достоверность, избы точность и т. д.).
При выборе помехоустойчивого кода следует иметь в виду, что, во-первых, вероятность появления ошибок одновременно в двух, трех и более разрядах значительно меньше, чем вероятность появления ошибки ■в одном разряде (37), и, во-вторых, что коды, предназначенные для уверенного обнаружения, например, одиночных оши-
105
бок, будут обнаруживать и некоторую часть двойных, тронных ошибок и т. д.
В качестве простейшего помехоустойчивого кода молшо использовать код с проверкой «а четность. Этот код основан на добавлении к обычному «-разрядному числу или слову одного дополнительного (контрольного) /і+ 1-го разряда, значение которого івыбирается таким, чтобы общее количество единиц в изображении любого числа или слова было четным. В случае /появления оди ночной ошибки в каком-либо разряде, включая и конт рольный, при передаче кодовой комбинации общее коли чество единиц в кодовой комбинации станет нечетным. При этом должен выдаваться сигнал ошибки.
Не исключен случай, когда в машине вместо нужной информации будут передаваться одни нули. Это может произойти при неисправ'ностн цепей управления. Для того чтобы облегчить обнаружение такого рода оши бок, целесообразно дополнять сумму общего количества единиц в изображении любого числа не до четной, а до нечетной. В этом случае при отсутствии информации в информационных разрядах в контрольном разряде бу дет записываться единица.
Рассмотрим принципы построения кодирующих и де кодирующих устройств при 'использовании для целей контроля кода с проверкой на четность. Один из воз можных вариантов кодирующего устройства для опре деления знака четности при последовательном вводе и передаче информации показан на рис. 3-3,а. Для просто ты в этом и во всех последующих примерах будут рас сматриваться кодирующие и декодирующие устройства, входные регистры которых имеют всего четыре информа ционных разряда . Управляющие элементы на структур ных схемах показываться не будут.
Кодирующее устройство содержит входной информа ционный регистр сдвига на четыре Разряда, многовхо довый сумматор по модулю 2*, схему И, играющую роль клапана, и выходной регистр сдвига на пять разрядов. Последовательность импульсов обыкновенного кода по ступает на вход информационного регистра и сдвига ется в сторону четвертого разряда. По окончании приема всей кодовой комбинации очередной тактовый импульс
* Операция суммирования двоичной последовательности по мо
дулю 2 основана на элементарных |
операциях сложения по моду |
лю 2 двух двоичных чисел: 0 0 0 = 0 ; |
001 = 1; 1 01= 0; 1 0 0 = 1 . |
106
открывает входы сумматора по модулю 2. Если число единиц в поступившей на вход сумматора комбийации было четным, то на выходе его будет нуль, если нечет ным — единица.
Следующим тактовым импульсом, подаваемым на вход схемы И, знак четности будет записан в контроль ный разряд РВК. Этим же тактовым импульсом кодовая комбинация из информационного регистра будет пере-
а)
Рис. 3-3. Структурная схема кодирующего устройства для определе ния знака четности при последовательном вводе и передаче инфор мации.
писана в выходной регистр. Закодированное таким об разом число или слово будет готово к передаче. Много входовый сумматор по модулю 2 может собираться на базе однотипных схем типа «исключительно ИЛИ», каж дая из которых определяет признак четности двухразряд ного кода. Такой сумматор строится обычно по пирами дальному принципу. На рис. 3-3,6 показана структурная схема сумматора по модулю 2 на четыре входа.
На рис. 3-4 представлена структурная схема коди рующего устройства для определения знака четности при параллельном вводе информации. Отличие данного кодирующего устройства от рассмотренного выше состоит, только в устройстве информационного и выходного реги стров. Время работы кодирующего устройства при по следовательном вводе и передаче информации будет зна чительно больше, чем при параллельном.
107
Декодирующее устройство для проверки на чет ность представлено на рис. 3-5. Выходы разрядов инфор мационного регистра связаны со входами сумматора по модулю 2. При нечетном количестве единиц в 'кодовой
Рис. 3-4. Структурная схема кодирующего устройства для определения знака четности при параллельном вво де и передаче информации.
Рис. 3-5. Структурная схема декодирующего устройства для проверки на'четность.
комбинации, записанной в информационном регистре, на выходе схемы сумматора появится единица, что бу дет являться сигналом ошибки.
Для исправления одиночной ошибки, как было пока зано выше, одного контрольного разряда недостаточно.
108
Обнаружение и поправление одиночных ошибок требует введения большей избыточности, т. е. увеличе ния количества контрольных разрядов и общей длины кодовой комбинации.
К кодам, позволяющим обнаруживать и исправлять одиночные' ошибки, относится систематический код с проверкой на четность, разработанный Хеммингом. Та кой код строится путем добавления к т информацион ным разрядам г контрольных разрядов. Все т информа ционных разрядов разбиваются на контрольные группы. Каждый контрольный разряд относят к определенной контрольной группе. При формировании кода (перед его передачей) :в контрольные разряды записываются символы (0 или 1), являющиеся знаками четности соот ветствующих контрольных групп.
После передачи числа производится г проверок на чет ность в этих же контрольных группах. Если передача кода произошла без ошибок, то во всех контрольных разрядах будут записаны нули. При наличии одиночной ошибки комбинация из единиц и нулей, записанная в г контрольных разрядах, укажет номер искаженного раз ряда переданной кодовой комбинации.
Минимальное количество контрольных разоядов г, необходимое для построения корректирующего кода при заданном' количестве информационных разрядов т, вы бирается из условия соблюдения неравенства
2Т^ т + г+Л>2Т~1 |
(3-3) |
log2 (m + r+'\). |
(3-4) |
Неравенства (3-3) и (3-4) составлены исходя из того, что г контрольных разрядов должны позволить записать в двоичном коде номер любого из т + г разрядов кодо вой комбинации числа или слова.
В табл. 3-1 приведены вычисленные на основании неравенства (3-3) и (3-4) данные по количеству инфор мационных и контрольных разрядов, необходимых для построения корректирующего кода.
Разбивка информационных разрядов на контрольные группы и определение номеров позиций контрольных разрядов вытекает непосредственно из структуры нату рального ряда чисел, записанного в двоичной форме. Покажем это на примере десятиразрядного числа.
109