книги из ГПНТБ / Преснухин, Л. Н. Цифровые вычислительные машины учебное пособие
.pdfшой достоверностью свидетельствует о правильности работы машины, хотя устойчивый отказ или сбой может привести к одинаковым, но неправильным результатам. Поэтому полезным является программный алгоритмический контроль, при котором, чтобы определить порядок вычисляемых величин, задача решается по полному и «усеченному» алгоритмам. Это особенно полезно при решении новых задач, когда заведомо трудно установить-контрольные точки или сделать предполо жения о порядке предполагаемого результата. Параллельно с решением рабочей задачи можно проводить вычисления по соотношениям, не используемым в рабочем алгоритме. Например, при вычислениях углов проверять частные значения а на принадлежность к заданному мно жеству-по соотношению sin2a -f- cossa = 1, а при вычислениях состав
ляющих вектора определять его длину: г = У г % + г \ + г \ и т. д. Аппаратные средства представляют собой контрольное оборудо
вание, введенное в состав ЦВМ и ВС и обеспечивающее контроль пра вильности выполнения программы. Аппаратные методы контроля приводят к аппаратурной избыточности, а так же могут быть еще и информационно избыточными. Примером аппаратурной избыточности
служит использование двух |
операционных блоков в ЦВМ или ВС |
с узлом контроля результатов |
или использование трех операционных |
блоков со схемой выбора двух одинаковых результатов при появлении ошибки в одном из блоков.
Использование корректирующих кодов является примером приме нения информационной избыточности, приводящей и к аппаратурной избыточности.
При аппаратном методе контроля:
1) возрастает сложность и стоимость вычислительных средств;
2)обеспечивается непрерывный контроль, поэтому ошибка обнару живается при выполнении операции или микрооперации, что не приво дит к использованию ошибочных результатов;
3)обнаруживаются как отказы, так и сбой, поскольку маловероятно появление одноименных неисправностей в разных блоках или в опера ционном блоке и средствах его контроля.
Аппаратные средства контроля могут иметь различную глубину; сигнализировать об одиночной ошибке и вызывать останов ЦВМ или ВС сразу же после обнаружения неисправности; осуществлять корректи ровку одиночных ошибок; обнаруживать и исправлять двойные ошибки
иошибки большей кратности и т. д.
Развитие логической структуры и организация работы ЦВМ и ВС дает возможность внести новые идеи в уже развитые методы аппаратного и программного контроля. Так, например, мультипрограммная работа ВС позволяет осуществить решение тестовых задач в порядке присвоен ного им приоритета. Причем более сложные задачи могут иметь мень ший приоритет по сравнению с более короткими, эффективными для определенного класса ошибок, тестовыми задачами.
Модульное построение устройств, а также самих ЦВМ и ВС, позволяет за счет снижения их производительности повысить досто
верность |
решения задач путем одновременного решения частей |
задачи на |
нескольких операционных блоках или устройствах. . |
270
Поиск рациональных соотношений между программными и аппа ратными средствами контроля является технически сложной и важной задачей. Еще на этапе логического проектирования ЦВМ и ВС этому вопросу должно быть уделено большое внимание, поскольку органи зация контроля влияет на многие технические параметры ЦВМ и ВС. Например, для обеспечения программного контроля и автоматической диагностики неисправности в систему команд машины может потребо ваться введение дополнительных команд. Временные затраты на конт роль работы машины влекут за собой значительное увеличение тре буемой производительности по сравнению с алгоритмической произво дительностью, заданной областью применения ЦВМ или ВС. Анало гичным образом выбранная система контроля может наложить свои особые требования на структуру и информационную емкость ЗУ, линий связи и т. д.
Контроль выполнения арифметических операций с помощью оста точных кодов. Для контроля правильности выполнения. операций и передач информационных кодов к последним присоединяют число, представляющее собой остаток от деления информационного кода на некоторое число т. Если обозначить остаток числа А как R (Д), то
R(A) — A — tnk,
где k — целое число.
При вычислениях в ЦВМ и ВС операции выполняются над самими числами и их остатками в различных устройствах. После выполнения каждой операции или группы операций вычисляется остаток результата и результат преобразования остатков, затем проис ходит проверка правильности работы, поскольку при различных операциях выполняются следующие основные правила:
1) остаток суммы (разности) двух чисел равен сумме (разности) остатков слагаемых;
2) остаток произведения равен произведению остатков сомножителей. Следует отметить, что алгоритмы контроля логических операций, а так же операций деления с помощью остаточных кодов достаточно
сложны, а контроль операций сложения, вычитания, умножения затруднен при наличии округлений и использовании дополнительных кодов.
Остаток числа А, записанного в позиционной системе счисления с основанием г, можно вычислить следующим образом. Так как
А = апг”+ ап_ / |
!~ 1+ • • • + + Ц Л |
|
то |
|
|
I п |
\ |
mod т, 0 с # ( Д ) < / п . |
R (Д) = ( 2 |
а / ' |
|
\i—0 |
/ |
|
Например, пусть заданы десятичные числа 1971 и 1972. Остаток от деления этих чисел на девять равен нулю и единице. Соответственно
271
получим эти значения, используя приведенное выше правило вычисле ния остатка путем сложения цифр чисел по модулю 9
# (1971) = [1 + 9 + 7 + 1J mod 9 = R [ 18] mod 9 =
= [ 1+ 8] mod 9 = R (9) mod 9 = 0;
#(1972) = [1+ 9 + 7 + 2] mod 9 = # (19) mod 9 =
= f 1+ 9] mod 9 = #(10) mod 9 = (1 + 0) mod 9 = 1 .
Поскольку остаток от деления некоторого числа на число т равен сумме взвешенных значений цифр кода по модулю т, то данный вид.
контроля называют контролем по модулю.
Пусть в контролируемом числе А возникли такие ошибочные зна чения разрядов, что at = а, + eh где et — значения ошибок (по усло вию кодирования позиционных чисел \et \ > г).
Вычислим остаток неправильного числа:
# ( Л ) = 2 Н / + 0ат = 1 ] ( а г + |
^mod т |
|
||
|
1= 0 |
£ sb0 |
|
|
У, а /Ч - |
У] |
ef1 mod т = # (А) + |
У] |
mod т. |
i — 0 |
i= 0 |
|
1= 0 |
|
Докажем, что если значение mod т выбрано равным г + 1, то будут обнаружены все одиночные ошибки. Действительно, если ошиб ка в г-м произвольном разряде не обнаружится, то [егД1mod (г + 1) = 0. Однако число Д можно записать в виде:
г = г1 |
л - 1 . |
|
t ' i 1 I |
- |
Г‘~2+ |
. . . ± 1 = |
||
|
|
|
*•£' 2 . |
|
|
|
||
= (г + 1) (Д"1 - Д-2 + Д"3 ± 1) ± 1. |
||||||||
Поэтому модуль числа г1 по основанию г + |
1 |
|||||||
г п |
|
, , , |
п |
( |
+ 1 , |
если |
i |
четно, |
[r‘] mod (/•+ |
1) |
=={ |
— 1, |
если |
i |
нечетно. |
||
|
|
|
|
\ |
||||
Таким образом, |
остаток |
числа е*Д |
|
|
|
|||
R (еф) = [е;Д] mod (г + 1) = ± et mod (г + 1).
Так как по условию —г < е* < г, то тождество R (егД)==0 получается
вслучае, когда е,- = 0. Следовательно, нарушение равенства R (Л) Ф
ФR (Л) свидетельствует о возникновении ошибки и позволяет обна ружить все одиночные ошибки.
Можно показать, что достоверность контроля передач информации и арифметических операций тем выше, чем больше значение mod т, так как при этом увеличивается краткость обнаруживаемых ошибок. Но при большом значении т усложняется способ определения ос татков числа. Поэтому, например, в двоичной системе счисления
используют модули 3, 5, 7, 15, 31... . Выбор |
модуля в соответствии |
с выражением, приведенным ниже, позволяет |
упростить цепи вычи |
272
сления остатка:
m = (rk -\-1)./; R (rk) = 1 mod m,
где k и l — целые числа.
Определим вероятность обнаружения двойных ошибок при выборе mod т = г 1 = 3 для двоичной системы счисления. Двойная ошибка приводит к разности между правильным и искаженным результатом,
равным ± 2‘ |
± |
2’, где i ф / есть номера разрядов с ошибками. Числа |
|
вида 2' при t |
= |
0, 1, 2, 3, |
..., п по mod 3 для двоичной системы имеют |
чередующиеся остатки 1, |
2, 1,2, 1 ............Поэтому двойная ошибка |
||
может исказить значение остатка на ± 2 или ± 4. Причем сумма воз никает при появлении единицы или нуля в искаженных разрядах. Искажения различного характера могут дать разность остатков,
равную 0 |
или 3. |
— 21 — 2’, |
Таким |
образом, для комбинаций ошибок 2‘ + 2’, |
|
2‘ — 2’, — 21 + 2' вычеты ошибок кратны трем в случаях, |
когда i — |
|
четно, а / |
— нечетно или когда / — четно, a i — нечетно. |
Вследствие |
равной вероятности искажения любых разрядов двойные ошибки при контроле двоичных чисел по mod 3 будут обнаружены с вероятностью 1/2. Можно показать, что тройные ошибки при данном методе контроля обнаруживают с вероятностью 3/4.
Чтобы подтвердить ранее высказанное утверждение об эффектив ности контроля при возрастании значения mod т, рассмотрим эффек тивность обнаружения двойных ошибок при mod 7 для двоичной систе
мы счисления. |
|
|
|
2, 4, |
1, 2, 4 .......... ' |
Остатки по модулю 7 для. чисел вида 2£ равны 1, |
|||||
При одинаковых знаках |
в выражении ± 2 ‘ |
± 2 ' |
(i Ф /) |
все двойные |
|
ошибки обнаруживаются, |
так как число |
2! + |
2' |
и — |
(2‘ 4- 2’) не |
может иметь остаток, кратный семи. При разных знаках для выражения
двойных |
ошибок значения 21 — 2' |
или — 2‘ |
+ 2' имеют остаток по |
модулю, |
кратный семи для случая, |
когда i и / |
отличаются на ± 3, ± 6 , |
± 9 и т. д. А это может быть в 1/6 от всех возможных комбинаций i и /, следовательно, с вероятностью 5/6 все двойные ошибки будут обнару жены. Подобный анализ показывает возможность обнаружения в этом случае тройных ошибок с вероятностью 8/9.
Для реализации контроля по модулю в состав операционных блоков вводят узлы выработки остатков и операционные узлы для действий над остатками. Если в операционном блоке выполняется некоторая операция над числами А х и А г и имеется конечный результат А 3, то контрольный операционный узел выполняет действия над остатками:
Л ^ Л 2 = Л3; /?(Л 1)* /?(Л а) = /?*:
Правильный результат соответствует случаям, когда R (Л3) = R * . Для того чтобы исключить контрольный операционный узел, можно изменить метод кодирования. Умножим исходные числа Л х и А 2 на
значение mod т. Тогда при выполнении операций будем иметь:
т Аг * т Аг = т {Аг * Лг).
273
Если выражение R [т (Лх * Л2)] Ф 0, то, следовательно, при выполнении операции произошла ошибка и необходимо принять меры
кобнаружению причин ее возникновения и их устранению. Электронные узлы для образования контрольного кода .по модулю
называют схемами свертки. Они обычно представляют собой комбина ционные схемы суммирования с последовательным переносом сигналов при образовании частичных сумм или пирамидальные схемы с сокра щенным временем образования остатка.
Контроль правильности выполнения логических операций. По скольку основные логические операции в ЦВМ и ВС выполняются поразрядно, то их прямой контроль схемными средствами достаточно сложен. Например, можно показать, что при контроле логических операций по модулю модуль результата определяется более сложно, чем при выполнении арифметических операций.
Действительно, при выполнении логических операций операнды выступают как несвязанный набор «О» и «1» значений, а результат t-го разряда не зависит от всех разрядов, кроме t-x разрядов операндов. Для контроля по модулю логических операций сложения, умножения и поразрядного сравнения справедливы, следующие соотношения
С = А + В, |
R (С) = [R (Л) + R (В) - R (С)] mod m; |
С' = А -В , |
R (С) = [R (Л) + R ( B ) - R (C')j mod m; |
С" = А ф В , |
R (С") = [R (Л) + R ( B ) - 2R (С")] mod т. |
Для контроля операции инвертирования (получения обратного кода), когда величина Л = (2я — 1), где п — число разрядов в коде, модуль отрицания
R (А) = [R (Е) — R (Л)] mod т,
где R (Е) — постоянная, зависящая от числа разрядов п и mod m. Величину R (Е) вычисляют из соотношения:
R (Е) = (2п — 1) mod т.
Приведем правила корректировки контрольных разрядов при выпол нении операции сдвига.
При сдвиге влево на один разряд остаток сдвинутого числа
Ru (2Л) = 2R (Л) mod гп.
При сдвиге на один разряд вправо величина остатка
Rln (Л/2) = (7? (Л) mod m]/2.
Контроль правильности работы блоков управления процессора.
Возникновение неисправностей в блоках управления работой процес сора может привести к существенным последствиям для выполняемых программ и работы ЦВМ и ВС в целом. В частности, при мультипро граммной работе может произойти искажение программ при неисправ ностях выполнения рабочей программы. Ранее были рассмотрены ме
274
тоды защиты информации в ОЗУ, позволяющие осуществить успешную мультипрограммную работу.
При работе по рабочей программе неисправность управляющих блоков может в частности вызвать: 1) изменение порядка следования команд; 2) пропуск некоторого количества команд или многократное повторение одной команды; 3) изменение кода операции и адреса (адре сов) операндов в пределах отведенных границ массива; 4) потерю части управляющих сигналов цикла или появление дополнительных управля ющих сигналов и т. д.
Контроль работы блоков управления процессоров, несмотря на свою' большую важность, вследствие сложности и нерегулярности построения процессоров очень трудно осуществим. В микропрограм мных блоках управления контроль может производиться методами, применяемыми для контроля правильности работыЗУ. Расширение использования оперативных и постоянных ЗУ в устройствах управле
ния процессоров |
является |
характерным для |
разрабатываемых ЦВМ |
и ВС. |
вопроса |
о методе контроля |
и защиты информаций |
При решении |
в оперативных и постоянных ЗУ следует рассматривать три основ ные части ЗУ: цепи адресной выборки, разрядно-считывающие цепи и накопитель информации.
Сложность защиты цепей адресной выборки связана с особенно
стями его работы; только на одной из N или на одной из У 1'2 двух систем выходных шин должен быть сформирован выходной токовый сигнал соответствующей мощности (N — информационная емкость накопи теля информации). В принципе здесь не может быть использована кодовая защита по выходу. Единственной возможностью обеспече ния защиты необходимого сигнала выборки является выполнение токоформирующих элементов по схеме Шеннона — Мура с параллель но-последовательным включением четырех компонентов. Оставшиеся электронные цепи адресного тракта могут быть защищены, например, мажоритарным способом (три адресных регистра, три предваритель ных дешифратора первой ступени и четыре мажоритарных элемента, объединяющих сигналы с дешифраторов первой ступени, для возбу ждения четырех входов токоформирующего элемента, выполненного по схеме Шеннона — Мура). При такой схеме адресного тракта все одиночные отказы элементов будут исправлены.
Защита магнитного накопителя информации при выполнении токоформирующих элементов по схеме Шеннона — Мура может быть обеспечена лишь дублированием соединений. (При этом предпола гается, что собственная надежность магнитных элементов и внутренних связей накопителя достаточно высока.)
Для обнаружения неисправности и защиты по схемам разрядносчитывающего тракта можно применить любой корректирующий код. В этом случае избыточность разрядно-считывающей части и накопи теля позволит увеличить надежность ОЗУ.
Хотя рассмотренный вариант обеспечивает эффективный конт роль и защиту ОЗУ, существенными недостатками его являются значительные затраты и сложность диагностики отказавших элементов.
2 7 5
Надежным способом контроля правильности работы блоков упра вления процессором, в том числе и ЗУ, является дублирование. Сов падение сигналов на выходе схемы сравнения свидетельствует о пра вильности работы блока, так как вероятность одинаковых ошибок в дублируемых блоках очень мала. Но отказ при этом одного из блоков приводит к отказу всей системы. Для исправления одиночных отказов можно использовать тройное резервирование с мажоритарной обра боткой выходных сигналов, когда выходная схема выбирает сигналы по принципу «2 из 3».
Поскольку обеспечение надежности работы блоков управления процессоров требует больших аппаратных затрат, то выбор метода контроля правильности работы блока и их защиты должен проводиться конкретно в каждом случае заданных требований к ЦВМ и ВС.
Г л а в а 6
УСТРОЙСТВА ВВОДА — ВЫВОДА ИНФОРМАЦИИ
§6.1. ОРГАНИЗАЦИЯ ВВОДА—ВЫВОДА ИНФОРМАЦИИ
ВЦВМ И ВС
Всовременных ЦВМ и ВС используют значительное количество различных по номенклатуре устройств ввода — вывода информации (УВВ) как периферийных, так и дистанционных. Применение унифи цированных каналов обмена, представляющих собой по существу спе циализированные вычислительные машины, позволяет осуществить
подключение и обеспечить функционирование всего парка УВВ инфор мации.
Как было сказано в гл. 1, унификация технических средств и вида информации при вводе и выводе дает одинаковый формат информа ционных и управляющих сигналов, обеспечивает возможность подклю чения различных устройств и позволяет управлять операциями ввода — вывода в мультиплексном или селекторном режиме.
Перфораторы для лент и карт, печатающие и графические устрой ства, экранные пульты, УВВ информации в реальном масштабе вре мени, сопрягающиеся с объектами через аналого-цифровые и цифроаналоговые преобразователи, являются периферийными УВВ.
Количество УВВ информации и соответственно количество кана лов ВС определяются параметрами процессора и алгоритмами реше ния задач. Суммарная производительность каналов должна обеспе чить загрузку процессора при наименьших затратах на простои при выполнении операций ввода — вывода.
Периферийные устройства по скорости передачи информации составляют следующие группы:
1)высокоскоростные магнитные устройства последовательного дей ствия, в которых скорость передачи байтов информации составляет от сотни тысяч до миллиона байтов в секунду;
2)среднескоростные электромеханические устройства со скоро
стью передачи от сотен до нескольких тысяч байт в секунду, например устройства с перфоносителями, печатающие, считывающие и т. д.;
3) низкоскоростные устройства преимущественно ручного ввода со скоростью передачи порядка нескольких байт в секунду, например пишущие машинки, клавиатуры и т. д.
ВЦВМ и ВС, как правило, используют один мультиплексный канал
сприблизительно ста подканалами и несколько селекторных каналов,
ккаждому из которых может подключаться несколько устройств
ввода — вывода. При использовании режима разделения времени и
277
значительного количества дистанционных пультов количество при меняемых мультиплексных каналов увеличивается.
При разработке ЦВМ и ВС решается комплексная задача опреде ления средств подготовки и ввода в них информации, ее преобразова ние по заданным алгоритмам и вывода полученных результатов в форме, удобной для дальнейшего использования. Так как форма представления информации на входе и выходе ВС и темп ее прохождения зависят от источников и приемников информации, то особенности последних значительно влияют на характер работы и структуру УВВ инфор мации.
Рассмотрим наиболее распространенные способы представления информации и УВВ при непосредственном общении человека и ма шины, когда используется только акустическое (звуковое) и зритель ное ее восприятие. Исследование акустического восприятия информа ции человеком показывает, что скорость ввода произвольной звуковой информации не превышает 1,2 бит/'с, но она возрастает до 18 бит/с при восприятии речи, что, очевидно, определяется лексикой, лингви стической и грамматической особенностями построения речевых сообщений.
Наибольшее количество информации (около 70%) человек воспри нимает зрительными органами. Не рассматривая статистического усреднения и других особенностей зрительного восприятия, отметим, что пропускная способность сетчатки глаза оценивается в несколько десятков миллионов бит в секунду. В то же время максимальное число одновременно воспринимаемых предметов при коротких экспо зициях составляет 7 ± 2 («магическое число» инженерной психоло гии). Средняя скорость восприятия зрительной информации оце нивается в 25 бит/с. Память человека, с которой посредством органов чувств происходит обмен информацией с окружающей средой, обладает по умеренным оценкам информационной емкостью 1015 бит. Для срав нения можно указать, что общее количество информации книжного фонда библиотеки им. Ленина в Москве составляет около 1013 бит.
Сравнительно низкая скорость восприятия внешней информации человеком обусловлена малыми скоростями распространения возбу ждений вдоль волокон нервных систем, составляющих 100— 150 м/с.
Поскольку скорость обработки информации ВС определяется только скоростью протекания электронных процессов в ее элементах, узлах и блоках, то быстродействие каналов передачи информации вычислительной системы значительно выше скорости восприятия информации человеком.
Для того чтобы согласовать скорости передачи и восприятия информации, а также представить информацию в виде, удобном для обработки человеком, разработано значительное количество У В В информации цифровых вычислительных систем, являющихся в основ ном электромеханическими. В этих устройствах возможна обработка только определенным образом формализованных форматов информа ции. Дальнейшее развитие У В В идет по пути замены электромеханиче ских принципов построения последних электронными и расширения возможностей обработки информации, свойственной повседневной дея
27 8
тельности человека. Из этих направлений наиболее интересными яв ляются речевой ввод — вывод и разработка «читающих» автоматов, способных воспринимать обычный рукописный или печатный текст,
атакже диаграммы, схемы и т. д.
§6. 2. БУФЕРНОЕ НАКОПЛЕНИЕ ИНФОРМАЦИИ ПРИ ЕЕ ВВОДЕ И ВЫВОДЕ
Вследствие значительных различий в скоростях работы процес сорных и внешних устройств важнейшую проблему представляет передача информации в ВС. Для типичных внешних устройств обмен
информации производят |
по частям слова, по |
) 1 I П П 1 |
|||||
скольку |
физические параметры |
носителей |
|||||
информации не позволяют проводить запись |
|||||||
полных |
форматов слов. |
Поэтому |
при |
непо |
БИРг [ /7[ 2ff]7ff| »g| 55\ S 5 1751gff| |
||
средственном обмене |
информацией |
между |
' |
!«»• |
|||
внешним устройством и ОЗУ при передаче, |
|||||||
|
|
||||||
например восьмибайтового слова, вначале |
Рис. 6.1. Прием и переда |
||||||
последовательно считываются восемь байтов, |
|||||||
и только затем слово параллельно передается |
ча информации |
в устрой |
|||||
стве обмена с |
буферным |
||||||
в ОЗУ. Такой обмен информацией приводит |
информационным регист |
||||||
к значительным простоям всех устройств, по |
ром |
|
|||||
скольку в машинах первых поколений накоп |
|
|
|||||
ление байтов происходило только в арифметическом устройстве. Вве дение буферных регистров в состав УВВ позволяет последователь ную гю-байтовую обработку информации вести в буферном регистре.
Рассмотрим прием и передачу информации в устройстве обмена с информационным регистром (рис. 6.1). Восьмибайтовое слово из ОЗУ записывается1 в буферный информационный
030регистр БИРг. Цепи сдвига регистра Сдв обеспе чивают сдвиг кода вправо на девять разрядов, при этом на выходных шинах Вых появляется девяти разрядный код, который фиксируется на носителе информации внешнего устройства. Восьмикратная передача байтов обеспечивает передачу всего числа.
При приеме информации первый байт числа принимается по входным Вх шинам и записывается в девять младших разрядов регистра. Затем эти
разряды сдвигаются влево и принимается следую щий байт информации и т. д. После приема пол ного слова оно параллельно передается в ОЗУ.
Дальнейшим развитием техники ■обмена может быть введение буферного запоминающего устрой ства (рис. 6.2). Поскольку обмен между ОЗУ
и УВВ осуществляется массивами (страницами или зонами) инфор мации, то емкость буферного запоминающего устройства (БЗУ) выби рается равной информационной емкости массива. Если время пере
дачи массива из |
ОЗУ в БЗУ составляет Atu а время его передачи |
из БЗУ в УВВ |
равно At2, то в этом случае выигрыш во времени |
279
