+7(495)926-7456
+7(495)926-7456
Электронные компоненты  Мануалы 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [ 21 ] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135

разряда, m из которых есть разряды Хемминга или разряды контроля, а 2" - т - 1 - разряды данных, например:

Общее число двоичных разрядов

Разряды Хемминга

Разряды данных

Таким образом, три дополнительных разряда (Хемминга) могут обеспечить исправление ошибки 4-разрядных слов дан-

Последобателбнб/й g}op/u/7offamej7o четтстли-

лроВерш vemmcmu

Лослейо-бателйнб/е Ратые


/Jspedava

Последо батемные

датые

J а CP

И а

Рис. 8.43. Последовательное формирование и индикация четности.

ных. Эти семь разрядов расположены следующим образом;

Ро, Р 1> /)о» 2> 1 2>

где Do> 1. 3 - четыре разряда данных,

Ро - нечетность по разрядам Do, D-,

Pi - нечетность по разрядам Do, Do, D3; Р2 - нечетность по разрядам Dj, D,, D3.

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

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



\(Eo-i) включением принимаемых контрольных разрядов с проверку четности:

Во - нечетность по разрядам Pq, Dq, D, D;

El - нечетность по разрядам Pj, Dq, D,

E2 - нечетность по разрядам Pg, D, D, D.

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

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

64-штырьковая микросхема МВ1412А фирмы Fujitsu работает на 8 разрядов с возможностью расширения до 64 разрядов.

48-щтырьковая микросхема AMD 8160 работает на 16 разрядов с расширением до 32 и 64 разрядов. Она оперирует байтами и имеет выходы признаков для расположения ошибок, а также диагностические режимы для проверки памяти.

28-штырьковая микросхема TI74630 работает с 16-разрядными данными. Она не рассчитана на работу с байтами, и в ней отсутствуют выходы признаков и диагностика, предусмотренные в микросхеме 8160.

С более детальной информацией по указанным типам интегральных схем можно ознакомиться в материалах фирм-изготовителей: Fujitsu America, Santa Clara, Calif.; Advanced, Micro Devices, Sunnyvale, Calif.; Texas Instruments, Inc., Dallas, Tex..

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



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

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

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

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

Преобразователь двузначного двоично-десятичного числа в 7-разрядное двоичное число с помощью сумматоров. Преобразование двузначного двоично-десятичного числа в 7-разрядное двоичное число просто и экономично выполняется двумя 4-разрядными сумматорами. Необходимые соединения определяются прежде всего выражением каждого из весомозначных двоично-десятичных разрядов через числа, являющиеся разными степенями 2:

80 = 64 + 16 = 26 + 2\

40 = 32 + 8 = 26 + 23 и т. д.

Располагая двоично-десятичные и двоичные числа в упоря-дочные ряды, как это показано в табл. 8.3, легко увидеть, какие из двоично-десятичных входов должны быть просуммированы для получения различных двоичных выходов. Например, выход 2" соответствует младшему значащему разряду двоично-десятичного знака единиц, в то время как- для получения выхода 2 необходимо просуммировать входы 2 и 10. Заметим, что сумма 2 имеет более двух входов (8, 10 и 40) и поэтому не может быть реализована одиночным каскадом сумматора.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [ 21 ] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135