Отказоустойчивый процессор повышенной достоверности функционирования

 

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

Полезная модель относится к вычислительной технике и может быть использована для повышения достоверности функционирования работы процессора ЭВМ.

Известно самокорректирующееся дискретное устройство [1], содержащие исходную схему, первое кодирующее устройство, схему синдрома ошибки, дешифратор ошибки, корректор, второе, третье и четвертое кодирующие устройства, с первой по четвертую схемы свертки, схему признака ошибки, элемент ИЛИ, входы устройства подключены к исходной схеме и к входам первого кодирующего устройства, к входам второго кодирующего устройства, а выходы исходной схемы подключены к входам третьего и четвертого кодирующих устройств, к первым входам корректора, выходы которого являются выходами устройства, выходы с первого по четвертое кодирующих устройств подключены соответственно к входам с первой по четвертую схем свертки, выходы первой и третьей схем свертки подключены к входам схемы синдрома ошибки, выходы второй и четвертой схем свертки подключены к входам схемы признака ошибки, выходы схемы синдрома ошибки и признака ошибки подключены к входам дешифратора ошибки, первая группа выходов дешифратора ошибки подключена к вторым входам корректора, а вторая группа выходов подключена к входу элемента ИЛИ, с выхода которого снимается сигнал "отказ устройства".

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

Наиболее близким по техническому решению является процессор [2], содержащий управляющий узел, операционный узел, первая группа входов

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

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

Целью изобретения является повышение достоверности функционирования процессора за счет обнаружения и коррекции возникающих ошибок.

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

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

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

На фиг.1 представлена блок-схема устройства; на фиг.2 - функциональная схема блока коррекции; на фиг.3 - функциональная схема блока контроля; на фиг.4 - функциональная схема формирования поправки при выполнении арифметических операций; на фиг.5 - функциональная схема формирования поправки при выполнении операции сдвига; на фиг.6 - функциональная схема формирования поправки при выполнении операции ИЛИ; на фиг.7 - функциональная схема формирования поправки при выполнении операции И; на фиг.8 - функциональная схема формирования поправки при выполнении операции НЕ.

Процессор (фиг.1) содержит управляющий узел 1, операционный узел 2, дешифратор 3 кода операции, генератор 4 тактовых импульсов, блок 5 управления, первый коммутатор 6, второй коммутатор 7, третий коммутатор 8, счетчик 9 команд, счетчик 10 сдвигов, регистр 11 адреса, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 17 коррекции, блок 18 логических операций, блок 19 контроля, управляющая память 20, первые входы 21 блока 17 коррекции, вторые входы 22 блока 17 коррекции, первые выходы 23

блока 17 коррекции, вторые выходы 24 блока 17 коррекции, вторые входы 25 блока 19 контроля, первые входы 26 блока 19 контроля, третьи входы 27 блока 19 контроля, первые выходы 28 блока 19 контроля, вторые выходы 29 блока 19 контроля (выход 291 -ошибка в контрольных разрядах, выход 292 -ошибка некорректируемая ошибка, выход 293 -корректируемая ошибка), выходы 30 устройства обмена, выходы 31 запоминающего устройства, выходы 32 на устройство обмена, выходы 33 для формирования адреса запоминающего устройства, выходы 34 для считывания операндов на запоминающее устройство, выходы 35 синхроимпульсов, выходы 36 для сигналов управления, выходы 37 для команды считывание, выходы 38 для сигналов записи, выходы 39 для сигналов установки в нулевое состояние.

Блок 17 коррекции (фиг.2) содержит кодирующую схему 40, схему 41 сравнения, первую группу 42 элементов ИЛИ, вторую группу 43 элементов ИЛИ, третью группу 44 элементов ИЛИ, четвертую группу 45 элементов ИЛИ, пятую группу 46 элементов ИЛИ, шестую группу 47 элементов ИЛИ, седьмую группу 48 элементов ИЛИ, элемент 49 НЕ, первую группу 50 элементов И, вторую группу 51 элементов И, корректор 52, дешифратор 53, выходы 21 управляющей памяти 20, вход 22 разрешающий считывание выходной информации, выход 23 "Отказ процессора", выходы 24 для сигналов управления функциональными узлами процессора.

Блок 19 контроля (фиг.3) содержит первую группу 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 формирователя поправки 83, вторые входы 87 формирователя 83 поправки, третьи входы 88 формирователя 83 поправки, первые выходы 89 формирователя 83 поправки, вторые выходы 90 формирователя 83 поправки, третьи выходы 91 формирователя 83 поправки.

Функциональная схема формирования поправки при выполнении арифметических операций (фиг.4) содержит первый элемент 92 И, второй элемент 93 И, третий элемент 94 И, четвертый элемент 95 И, пятый элемент 96 И, шестой элемент 97 И, первый элемент98 ИЛИ, второй элемент 99 ИЛИ, третий элемент 100 ИЛИ, четвертый элемент 101 ИЛИ, регистр 102, группу элементов 103 неравнозначности, информационные входы 87, вход 86 разрешающий считывание выходной информации, информационные выходы 89, 90 функциональной схемы формирования поправки при выполнении арифметических операций.

Функциональная схема формирования поправки при выполнении операции сдвига (фиг.5) содержит первый элемент 104 неравнозначности, второй элемент 105 неравнозначности, третий элемент 106 неравнозначности, первый элемент 107 И, второй элемент 108 И, третий элемент 109 И, четвертый элемент 110 И, пятый элемент 111 И, шестой элемент 112 И, седьмой элемент 113 И, восьмой элемент 114 И, девятый

элемент 115 И, десятый элемент 116 И, одиннадцатый элемент 117 И, двенадцатый элемент 118 И, первый элемент 119 ИЛИ, второй элемент 120 ИЛИ, третий элемент 121 ИЛИ, четвертый элемент 122 ИЛИ, информационные входы 87, вход 86 1 управляющего сигнала сдвиг вправо, вход 86 2 управляющего сигнала сдвиг влево, вход 86 разрешающий считывание выходной информации, выходы 89, 91 схемы формирования поправки при выполнении операции сдвига.

Функциональная схема формирования поправки при выполнении логической операции ИЛИ (фиг.6) содержит первый элемент 123 И, второй элемент 124 И, третий элемент 125 И, четвертый элемент 126 И, пятый элемент 127 И, шестой элемент 128 И, седьмой элемент 129 И, восьмой элемент 130 И, информационные входы 87, вход 86 разрешающий считывание выходной информации, информационные выходы 89, 91 функциональной схемы формирования поправки при выполнении логической операции ИЛИ.

Функциональная схема формирования поправки при выполнении логической операции И (фиг.7) содержит первый элемент 131 ИЛИ, второй элемент 132 ИЛИ, третий элемент 133 ИЛИ, четвертый элемент 134 ИЛИ, первый элемент 135 И, второй элемент 136 И, третий элемент 137 И, четвертый элемент 138 И, информационные входы 87, вход 86 разрешающий считывание выходной информации, информационные выходы 89, 91 функциональной схемы формирования поправки при выполнении логической операции И.

Функциональная схема формирования поправки при выполнении логической операции НЕ (фиг.8) содержит первый элемент 139 НЕ, второй элемент 140 НЕ, третий элемент 141 НЕ, четвертый элемент 142 НЕ, первый элемент 143 неравнозначности, второй элемент 144 неравнозначности, третий элемент 145 неравнозначности, четвертый элемент 146 неравнозначности, первый элемент 147 И, второй элемент 148 И, третий элемент 149 И, четвертый элемент 150 И, пятый элемент 151 И, шестой

элемент 152 И, информационные входы 87, вход 86 разрешающий считывание выходной информации, входы 88 разрядов четности контрольных разрядов, информационные выходы 89, 91 функциональной схемы формирования поправки при выполнении логической операции НЕ.

Входы 30 устройства обмена подключены к первому входу блока 5 управления и к первым входам второго коммутатора 7, вторые входы 31 которого подключены к выходам запоминающего устройства, первые выходы 32 второго коммутатора 7 поступают на вход устройства обмена, вторые выходы поступают на вход 34 запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к входам дешифратора 3 кода операции, к вторым входам блока 5 управления, к первым входам первого коммутатора 6, первый выход которого подключен к первому входу регистра 11 адреса, третий вход блока управления подключен к выходам дешифратора 3 кода операции, четвертый вход подключен к выходам генератора 4 тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти 20, первый выход блока 5 управления подключен к входу управляющей памяти 20, выходы которой подключены к первым входам блока 17 коррекции, второй выход блока 5 управления подключен к второму входу первого коммутатора 6, вторые и третьи входы которого подключены соответственно к выходам регистра 11 адреса и счетчика 9 команд, а с второго выхода 33 снимается адрес ячейки памяти запоминающего устройства, третий выход блока 5 управления подключен соответственно к вторым входам блока 17 коррекции, к вторым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8 и к третьей группе входов второго коммутатора 7 и является выходом 35 синхроимпульсов, первый выход блока 17 коррекции подключен к

четвертому входу второго коммутатора 7, а вторые, третьи, четвертые и пятые выходы блока коррекции подключены соответственно к третьим, четвертым пятым и шестым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8, к третьей группе входов второго коммутатора 7, и являются выходами 36 управляющих сигналов, сигналов 37 считывания, сигналов 38 записи, сигналов 39 установки устройств в нулевое состояние, выходы регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода подключены к вторым входам третьего коммутатора 8 и к пятым входам второго коммутатора 7, выход счетчика 10 сдвигов подключен к шестым входам второго коммутатора 7, первые, вторые и третьи выходы третьего коммутатора 8 подключены соответственно к входам сумматора 16, блока 18 логических операций и к первым входам блока 19 контроля, выходы сумматора 16 и блока 18 логических операций подключены соответственно к вторым и третьим входам блока 19 контроля, выходы которого подключены к седьмым входам второго коммутатора 7.

Процессор включает в себя два основных устройства: управляющий узел 1 и операционный узел 2.

Управляющий узел 1 координирует действия узлов операционного узла 2 между собой и с другими устройствами ЭВМ, а также выполняет набор операций, включающих команды обращения к памяти. Он вырабатывает в определенной временной последовательности управляющие сигналы, под действием которых в узлах операционного узла 2 выполняются требуемые действия.

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

В определенные тактовые периоды одновременно могут выполняться несколько микроопераций. Такая совокупность одновременно выполняемых

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

Общий временной интервал, в течение которого происходит выборка, хранение и преобразование одной команды в набор управляющих сигналов, называется циклом работы управляющего узла 1.

Таким образом, управляющий узел 1 осуществляет преобразование команды в соответствующий набор управляющих сигналов и обеспечивает:

чтение команды, находящейся в очередной ячейке памяти;

расшифровку кода операции (команды);

отыскание операндов (чисел) по указанному адресу, содержащемуся в команде;

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

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

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

Дешифратор 3 кода операций по выбранной из оперативной памяти команде определяет номер требуемой микропрограммы в управляющей памяти 20.

Генератор 4 тактовых импульсов предназначен для формирования тактовых и синхронизирующих импульсов.

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

Регистр 11 адреса предназначен для формирования адреса ячейки памяти при командах условного или безусловного перехода с возвратом.

Блок 5 управления предназначен для определения адреса очередной микрокоманды в управляющей памяти 20, формирования адреса очередной команды (управления работой первого коммутатора 6), координации работы (выдачи синхроимпульсов) устройств процессора 1.

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

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

,

при этом:

1) для каждой строки информационной матрицы организуется проверка на четность;

2) проводятся правые и левые диагональные проверки. Число диагональных проверок (число контрольных разрядов диагональных проверок) определяется по формуле (разряды на четность не передаются):

R Д=k+4.

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

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

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

Схема 41 сравнения представляют собой схему поразрядного сравнения и предназначена для формирования значений синдрома ошибки на основе передаваемой и полученной информации.

Результат сложения по mod 2 значений сигналов переданных и сформированных контрольных разрядов даст синдром ошибки:

E=e 1e2e3.........e k+4.

Дешифратор 53 блока 17 коррекции содержит k+4 входа (число разрядов синдрома ошибки) и L=l1 +l2+l3 выходов (по числу схем совпадения, представляющих собой k+4 - входовые схемы И), где

- l1 - группа элементов И (для различных синдромов, характеризующих ошибки только в информационных разрядах;

- l2 - группа элементов И (для различных синдромов, характеризующих ошибок только в контрольных разрядах;

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

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

Выходы дешифратора 53 объединены соответственно в один выход с помощью первой группы 42 элементов ИЛИ, второй группы 43 элементов ИЛИ, третьей группы 44 элементов ИЛИ, четвертой группы 45 элементов ИЛИ, пятой группы 46 элементов ИЛИ, шестой группы 47

элементов ИЛИ (со второй по треть группы элементов ИЛИ предназначены для формирования управляющих сигналов на корректор 52, соответственно для коррекции первого, второго ... k-го информационных разрядов).

Седьмая группа 47 элементов ИЛИ объеденяет выходы дешифратора 53, (выходы схем И,) принадлежащие подмножеству l 2 и соответствующих возникновению ошибок только в контрольных разрядах (для которых не требуется формирование управляющих сигналов на корректор 52).

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

При возникновении ошибок, принадлежащих подмножеству n1 - для одинаковых синдромов, указывающих на ошибку в различных информационных разрядах (имеющих одинаковое значение синдромов и дополнительных проверок, см. приложение), характеризующихся наличием единичных значений на выходе первой группы 42 элементов ИЛИ и отсутствие единичных значений на выходах с второй 43 по шестую группу 47 элементов ИЛИ, с помощью седьмой группы 48 элементов ИЛИ, второй группы 42 элементов ИЛИ, элемента 49 НЕ, элемента 50 И формируется сигнал 'Отказ процессора'.

Операционный узел 2 предназначен для выполнения арифметических и логических операций и включает в свой состав (фиг.1) счетчик 10 сдвигов, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 18 логических операций, блок 19 контроля.

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

Регистр 11 адреса представляет собой регистр памяти и предназначен для хранения адресе очередной команды.

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

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

Заметим, что при выполнении операции деления, блоком 5 управления анализируется значение знакового разряда регистра 12 числа и регистра 13 сумматора дополнительного.

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

Заметим, что при выполнении операции умножения, блоком 5 управления анализируется значение младшего разряда регистра 14 дополнительного.

Регистр 15 дополнительного кода представляет собой регистр памяти и предназначен для хранения отрицательного числа в дополнительном коде (при выполнении операции вычитания и операции деления).

Сумматор 16 представляет собой параллельный n - разрядный сумматор и предназначен для выполнения операции сложения чисел.

Блок 18 логических операций предназначен для выполнения логических операций И, ИЛИ, НЕ, суммирования по mod2).

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

Так, при выполнении операции арифметических операций, результат суммы с выхода сумматора 16,через открытую вторую группу 71 элементов И, вторую группу 58 элементов ИЛИ поступает на вход второй кодирующей схемы 85 в котором формируются значения контрольных разрядов относительно принятой информации.

Одновременно значения контрольных разрядов слагаемых с выходов 26 третьего коммутатора 8 поступают на входы первой группы 54 элементов неравнозначности, где производится суммирование одноименных контрольных разрядов по mod2. В то же время значения информационных разрядов слагаемых поступают на вход 87 блока 83 формирователя поправки.

В данном случае значения информационных разрядов поступают на вход схемы формирования поправки при выполнении арифметических операций (фиг.4). При помощи групп 92-97 элементов И, групп 95-96 элементов ИЛИ формируются значения сигналов переноса Сi в соответствии с положениями рассмотренными в приложении. Так например, при сложении числа А=0010 и числа В=0110 открывается группа элементов 93 И что приводит к формированию сигнала переноса С 2, а наличие единичного сигнала в третьем разряде одного из слагаемых и сигнала С2 приводит к открытию элемента 96 И, что в свою очередь приводит к появлению сигнала С3. В регистре 102 памяти записаны значения разрядов информационных матриц поправок. Сигналу переноса С 2 соответствует информационная матрица:

а сигналу переноса С3 соответствует информационная матрица:

Таким образом, сигналы Сi определяют адреса разрядов информационных матриц поправок. Сложение по mod2 одноименных разрядов на группе 103 сумматоров по mod2 даст требуемую информационную матрицу поправок.

При поступлении разрешающего сигнала на входе 86, открывается элемент 97 И и полученная информация поступает на выходы 89, 90 формирователя 83 поправок (фиг.3). При этом с выхода 89 поступают значения сигналов проверок на четность строк информационной матрицы поправок, а с выходов 90 значения информационных разрядов информационной матрицы поправок АМтр. Данная информация через элементы 59, 60 ИЛИ поступает на входы первой кодирующей схемы 84, где организуются правые и левые диагональные проверки.

В результате получим значение поправки: 1100 0110, которая по сигналу открывающему элемент 73 И поступает на первые входы второй группы 55 элементов неравнозначности.

Для рассматриваемого примера суммирование по mod2 значений сигналов контрольных разрядов первой группой 54 элементов неравнозначности даст результат:

который поступает на вторые входы второй группы 55 элементов неравнозначности. В результате на выходе второй группы 55 элементов неравнозначности получим скорректированное значение контрольных разрядов для полученного результата суммы:

которое при правильном суммировании чисел А и В:

соответствует правильному значению контрольных разрядов, поступающему с выходов второй кодирующей схемы 85 (10100101) на первые входы третьей группы 56 элементов неравнозначности, на вторые входы которой, чрез элемент 62 ИЛИ поступают скорректированные значения контрольных разрядов 10100101.

Если значения контрольных разрядов, поступающие с выходов первой кодирующей схемы 84, совпадают с значениями контрольных разрядов, поступающих с выходов второй кодирующей схемы 85 совпадают, то на выходе третьей группы 56 элементов неравнозначности имеем нулевые значения, т.е. операция суммирования проведена правильно, если не совпадают - произошла ошибка.

Значения сигналов с выходов третьей группы 56 элементов неравнозначности поступают на входы дешифратора 81.

Дешифратор 81 содержит k+4 входа (число разрядов синдрома ошибки) и L=l 1+l2+l3 выходов (по числу схем совпадения, представляющих собой k+4 - входовые схемы И), где

- l1 - группа элементов И (для различных синдромов, характеризующих ошибки только в информационных разрядах;

- l2 - группа элементов И (для различных синдромов, характеризующих ошибок только в контрольных разрядах;

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

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

Выходы дешифратора 81 объединены соответственно в один выход с помощью седьмой группы 63 элементов ИЛИ, восьмой группы 64

элементов ИЛИ, девятой группы 65 элементов ИЛИ, десятой (k-й) группы 66 элементов ИЛИ, для формирования управляющих сигналов на корректор, соответственно для коррекции первого, второго ... k-го информационных разрядов.

Одиннадцатая группа 67 элементов ИЛИ объеденяет выходы дешифратора 81, (выходы схем И,) принадлежащие подмножеству l2 и соответствующих возникновению ошибок только в контрольных разрядах (для которых не требуется формирование управляющих сигналов на корректор), с которых снимается сигнал "Ошибка в контрольных разрядах" - выход 29 1 блока 19 контроля.

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

Корректор 82 включает k-элементов неравнозначности и предназначен для исправления ошибок, возникающих в информационных разрядах.

При исправлении ошибок реализуется функция по mod2 относительно управляющих сигналов поступающих с выходов элементов ИЛИ:

При возникновении ошибок, принадлежащих подмножеству n1 - для одинаковых синдромов, указывающих на ошибку в различных информационных разрядах (имеющих одинаковое значение синдромов и дополнительных проверок, см. приложение), характеризующихся наличием единичных значений на выходах третьей группы 56 элементов неравнозначности (двенадцатой группы 68 элементов ИЛИ и отсутствие единичных значений на выходах с седьмой 63 по одиннадцатую 67 элементов ИЛИ 13, с помощью тринадцатой группы 69 элементов ИЛИ, элемента 79 НЕ, восьмого элемента 77 И формируется сигнал 'Отказ устройства', который поступает на выход 292.

Отсутствие сигнала на выходах 291, 29 2 и наличие сигнала на выходе 293 свидетельствует о наличие корректируемых ошибок в информационных разрядах.

Таким образом, сигналы информационных разрядов с выхода сумматора 16 через группу 61 элементов ИЛИ поступают на корректор 82. (при наличии в них ошибок корректируются) и при наличии разрешающего сигнала через группу 75 элементов И совместно с сигналами в контрольных разрядах (при отсутствии в них ошибок) поступают на выход блока 19 контроля.

При контроле операций сдвига содержимых регистров формирователь 83 поправки реализует логику работы функциональной схемы формирования поправки при выполнении операции сдвига (фиг.5).

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

После выполнения операции сдвига вправо и проведения кодирования во второй кодирующей схеме получим кодовый набор: s=0110 00111001.

В этом случае разряды матрицы поправок формируются по исходным значениям информационных разрядов в соответствии с выражениями представленными в приложении:

r4=0у4; (берется 0, так как в старший разряд регистра сумматора нет переноса) r34у3; r2 3у2; r1 2у1.

При этом на первых входах элементов 107, 108, 109, 110 И (фиг.5) схемы формирования поправки при выполнении операции сдвига вправо имеем значения сигналов соответственно 1011, которые при подаче управляющего сигнала 861 сдвиг в право через элементы 119, 120, 121, 122 ИЛИ и подачи разрешающего сигнала на элементы 115, 116, 117, 118 И поступают на выходы 89, 91 формирователя 83 поправок. Информация с выходов 91 поступает на формирователь 80 который, формирует разряды четности строк

информационной матрицы поправок. Значения разрядов четности информационной матрицы поправок и значения информационных разрядов матрицы поправок поступают на входы первой кодирующей схемы 84.

После проведения диагональных проверок на выходе первого кодирующего устройства 84 имеем значение поправки: 1100 1001.

Выполнив операцию сложения по mod2 во второй группе 55 исходного значения контрольных разрядов с значением поправки получим результат:

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

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

Если операция сдвига вправо проводится для регистра 14 дополнительного, то учитывается перенос значения младшего разряда регистра 13 сумматора в старший разряд регистра 14 дополнительного, т.е. функциональная схема (фиг.5) формирования поправки при выполнении операции сдвига реализует функцию:

r41RGу4; r3 4у3; r2 3у2; r1 2у1.

При выполнении операции сдвига влево (при выполнении операции деления) функциональная схема формирования поправки при выполнении операции сдвига реализует функцию: r44у3; r3 3у2; r2 2у1; r1=0у1.

В этом случае подаются управляющие сигналы на входы 862, 86, далее схема работает аналогичным образом.

При выполнении логической операции ИЛИ формирователь поправки работает следующим образом. Значения контрольных разрядов операндов

суммируются по модулю в первой группе 54 сумматоров по mod2, после чего результат поступает на первые входы второй группы 55 сумматоров по mod2, на вторые входы которого поступает значение поправки. При этом функциональная схема формирования поправки при выполнении логической операции ИЛИ (фиг.6), для формирования информационной матрицы поправки, реализует логическую функцию И относительно одноименных разрядов операндов.

Так, например для чисел А=0101 01010101 и В=0011 01101100 после выполнения выполнении операции ИЛИ для информационных разрядов и сложения по mod2 контрольных разрядов рассматриваемых слагаемых, получим кодовый набор 0111 00111001, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 00001111 для полученного значения информационных разрядов 0111.

В этом случае, логические операции И, выполненные относительно информационных разрядов рассматриваемых операндов на элементах 123, 124, 125, 126 И (фиг.6) дадут результат: 0001 (операция И выполняется для младших разрядов операндов).

Тогда матрица поправок операции ИЛИ имеет вид:

правые и левые диагональные проверки данной матрицы дадут результат поправки: 00110110.

Сложение результата суммирования первой группой 54 сумматоров по mod2 с значением поправки дадут правильное значение контрольных разрядов:

Если произошла ошибка, то ее обнаружение и коррекция осуществляется как и для операций описанных выше.

При выполнении логической операции И формирователь поправки работает следующим образом. Значения контрольных разрядов операндов суммируются по модулю в первой группе 54 сумматоров по mod2, после чего результат поступает на первые входы второй группы 55 сумматоров по mod2, на вторые входы которого поступает значение поправки. При этом функциональная схема формирования поправки при выполнении логической операции И (фиг.7), для формирования информационной матрицы поправки, реализует логическую функцию ИЛИ относительно одноименных разрядов операндов на группе логических элементов 131, 132, 133, 134 ИЛИ. Далее формирование поправки, обнаружение и коррекция возникающих ошибок проводится аналогичным способом.

При контроле логической операции НЕ формирование поправки осуществляется функциональной схемой формирования поправки при выполнении логической операции НЕ (фиг.8), которая формирует единичные значения информационных разрядов матрицы поправок на основе использования элементов 148, 149, 150, 151, 152 И, значения разрядов четности строк инверсной матрицы на элементах соответственно: 139, 140, 143 и 141, 142 144, их сравнения с текущими значениями четности разрядов четности, поступающими на входы 88, выдачи на выход 89 значений информационных разрядов (входы третьей группы 59 элементов ИЛИ) и значений разрядов четности на выход 90 (вход четвертой группы 60 элементов ИЛИ). Далее устройство работает аналогичным образом.

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

Работа процессора начинается с приходом сигнала "Пуск" по входной группе 30 входов устройства обмена процессора с периферийными блоками. По этой команде блок 5 выдает команду на считывание с управляющей памяти 20 содержимого первой ячейки памяти.

В первой ячейке памяти расположена команда "Сброс системы", которая устанавливает в исходное состояние регистры и блоки процессора, В счетчик 9 команд записывается "1", устройство управления 1 выдает микрокоманды в следующей последовательности:

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

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

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

Схема 41 сравнения формирует значения синдрома ошибки на основе передаваемой и полученной информации.

Результат сложения по mod 2 значений сигналов переданных и сформированных контрольных разрядов даст синдром ошибки:

E=e 1e2e3.........e k+4.

В случае возникновения ошибок, на одном из выходов дешифратора 53 формируется единичный сигнал.

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

исправлении ошибок реализуется функция по mod2 относительно управляющих сигналов информационных разрядов управляющей памяти 20.

При возникновении ошибок, принадлежащих подмножеству n1 - для одинаковых синдромов, указывающих на ошибку в различных информационных разрядах (имеющих одинаковое значение синдромов и дополнительных проверок, см. приложение), характеризующихся наличием единичных значений на выходе первой группы 42 элементов ИЛИ 17 и отсутствие единичных значений на выходах с второй 43 по шестую группу 47 элементов ИЛИ, с помощью седьмой группы 48 элементов ИЛИ, второй группы 42 элементов ИЛИ, элемента 49 НЕ, элемента 50 И формируется сигнал 'Отказ устройства'.

Аналогичным образом блок коррекции 17 работает при считывании микрокоманд на всех последующих тактах.

Если ошибок нет, или возникла корректируемая ошибка, набор микрокоманд поступает на вход считывания счетчика 9 команд и на вход записи регистра 11 адреса, при этом содержимое счетчика 9 команд пересылается в регистр 11 адреса (или через первый коммутатор 6 на адресные входы запоминающего устройства при естественной выборке команд непосредственно со счетчика 9 команд);

2) На втором такте к содержимому счетчика 9 команд прибавляется единица - подготавливается адрес следующей команды;

3) На третьем такте сигналы микрокоманды поступают на вход считывания регистра 11 адреса и на вход считывания содержимого ячейки памяти запоминающего устройства по указанному адресу. При этом команда, хранящаяся в первой ячейке памяти, записывается в регистр 12 числа;

4) На четвертом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, вход второго коммутатора 7 и на вход дешифратора 3 кода операции, где раскодируются, после чего управляющий узел 1 переходит ко второму этапу работы.

Для примера рассмотрим порядок исполнения одной из команд, записанной в регистре 12 числа после выполнения первых четырех тактов.

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

Управляющий узел 1 при этом выдает следующие микрокоманды:

5) на пятом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, на вход второго коммутатора 7, первого коммутатора 6 и на вход записи регистра 11 адреса (адрес, хранящийся в регистре 12 числа записывается в регистр 11 адреса, содержимое регистра 12 числа обнуляется);

6) На шестом такте сигналы микрокоманды подаются на вход считывания регистра 11 адреса, на вход первого коммутатора 6, на вход считывания запоминающего устройства и на вход записи регистра 12 числа (из запоминающего устройства в регистр 12 числа записывается второе слагаемое (считаем, что первое слагаемое уже находится в регистре 13 сумматора);

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

Результат суммы с выхода сумматора 16, поступает на блок 19 контроля (фиг.3), в котором через открытую вторую группу 71 элементов И, вторую группу 58 элементов ИЛИ поступает на вход второй кодирующей схемы 85 в котором формируются значения контрольных разрядов относительно принятой информации.

Одновременно значения контрольных разрядов слагаемых с выходов 26 третьего коммутатора 8 поступают на входы первой группы 54 элементов

неравнозначности, где производится суммирование одноименных контрольных разрядов по mod2. В то же время значения информационных разрядов слагаемых поступают на вход 87 блока 83 формирователя поправки.

В данном случае значения информационных разрядов поступают на вход схемы формирования поправки при выполнении арифметических операций (фиг.4). При помощи групп 92-97 элементов И, групп 95-96 элементов ИЛИ формируются значения сигналов переноса Ci в соответствии с положениями рассмотренными в приложении. Так например, при сложении числа А=0010 и числа В=0110 открывается группа элементов 93 И что приводит к формированию сигнала переноса C2, а наличие единичного сигнала в третьем разряде одного из слагаемых и сигнала С 2 приводит к открытию элемента 96 И, что в свою очередь приводит к появлению сигнала С3. В регистре 102 памяти записаны значения разрядов информационных матриц поправок. Сигналу переноса С2 соответствует информационная матрица:

а сигналу переноса С3 соответствует информационная матрица:

Таким образом, сигналы Сi определяют адреса разрядов информационных матриц поправок. Сложение по mod2 одноименных разрядов на группе 103 сумматоров по mod2 даст требуемую информационную матрицу поправок.

При поступлении разрешающего сигнала на входе 86, открывается элемент 97 И и полученная информация поступает на выходы 89, 90 формирователя 83 поправок (фиг.3). При этом с выхода 89 поступают значения сигналов проверок на четность строк информационной матрицы

поправок, а с выходов 90 значения информационных разрядов информационной матрицы поправок АМтр . Данная информация через элементы 59, 60 ИЛИ поступает на входы первой кодирующей схемы 84, где организуются правые и левые диагональные проверки.

В результате получим значение поправки: 1100 0110, которая по сигналу открывающему элемент 73 И поступает на первые входы второй группы 55 элементов неравнозначности.

Для рассматриваемого примера суммирование по mod2 значений сигналов контрольных разрядов первой группой 54 элементов неравнозначности даст результат:

который поступает на вторые входы второй группы 55 элементов неравнозначности. В результате на выходе второй группы 55 элементов неравнозначности получим скорректированное значение контрольных разрядов для полученного результата суммы:

которое при правильном суммировании чисел А и В:

соответствует правильному значению контрольных разрядов, поступающему с выходов второй кодирующей схемы 85 (10100101) на первые входы третьей группы 56 элементов неравнозначности, на вторые входы которой, чрез элемент 62 ИЛИ поступают скорректированные значения контрольных разрядов 10100101.

Если значения контрольных разрядов, поступающие с первой кодирующей схемы 84, совпадают с значениями контрольных разрядов, поступающих с выходов второй кодирующей схемы 85 совпадают, то на выходе третьей группы 56 элементов неравнозначности имеем нулевые значения, т.е. операция суммирования проведена правильно, если не совпадают - произошла ошибка.

Значения сигналов с выходов третьей группы 56 элементов неравнозначности поступают на входы дешифратора 81.

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

Выходы дешифратора 81 объединены соответственно в один выход с помощью седьмой группы 63 элементов ИЛИ, восьмой группы 64 элементов ИЛИ, девятой группы 65 элементов ИЛИ, десятой (k-й) группы 66 элементов ИЛИ, для формирования управляющих сигналов на корректор, соответственно для коррекции первого, второго ... k-го информационных разрядов.

Одиннадцатая группа 67 элементов ИЛИ объединяет выходы дешифратора 81, (выходы схем И,) принадлежащие подмножеству 12 и соответствующих возникновению ошибок только в контрольных разрядах (для которых не требуется формирование управляющих сигналов на корректор), с которых снимается сигнал "Ошибка в контрольных разрядах" - выход 29 1 блока 19 контроля.

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

Корректор 82 включает k-элементов неравнозначности и предназначен для исправления ошибок, возникающих в информационных разрядах.

При исправлении ошибок реализуется функция по mod2 относительно управляющих сигналов поступающих с выходов элементов ИЛИ:

При возникновении ошибок, принадлежащих подмножеству n1 - для одинаковых синдромов, указывающих на ошибку в различных информационных разрядах (имеющих одинаковое значение синдромов и дополнительных проверок, см. приложение), характеризующихся наличием единичных значений на выходах третьей группы 56 элементов неравнозначности (двенадцатой группы 68 элементов ИЛИ и отсутствие единичных значений на выходах с седьмой 63 по одиннадцатую 67 элементов ИЛИ 13, с помощью тринадцатой группы 69 элементов ИЛИ, элемента 79 НЕ, восьмого элемента 77 И формируется сигнал 'Отказ устройства', который поступает на выход 292.

Отсутствие сигнала на выходах 291, 29 2 и наличие сигнала на выходе 293 свидетельствует о наличие корректируемых ошибок в информационных разрядах.

Таким образом, сигналы информационных разрядов с выхода сумматора 16 через группу 61 элементов ИЛИ поступают на корректор 82. (при наличии в них ошибок корректируются) и при наличии разрешающего сигнала через группу 75 элементов И совместно с сигналами в контрольных разрядах (при отсутствии в них ошибок) поступают на выход 28 блока 19 контроля и далее через второй коммутатор 7 поступают в регистр 13 сумматора.

Аналогичным образом процессор функционирует при выполнении логических операций.

8) На восьмом такте выдается микрокоманда "Конец операций" осуществляется переход на следующую операцию, блок 5 управления приводится в исходное состояние и выдает разрешение на начало выполнения следующей команды, адрес которой указан в счетчике 9 команд.

ПРИЛОЖЕНИЕ 1.

1. Способ защиты устройств хранения информации ЭВМ

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

Процедура построения двумерного итеративного кода состоит в следующем [3]. Заданную совокупность информационных символов делят на группы (блоки, модули) информации, по b - разрядов в каждой группе. Полученные модули информации представляют в виде информационной матрицы (1):

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

где Н=h1, h 2,..., hm - вектор четности строк; Z=z1, z2,..., z b - вектор четности столбцов. Вектора четности строк и столбцов образуют совокупность контрольных разрядов R 1={r1, r2, rm, rm+1,..., r b}. При получении кодовой комбинации относительно информационных разрядов повторно формируется значения контрольных разрядов . В данном случае, разница между переданными значениями контрольных разрядов и полученными после приема информации образует синдром ошибки E:

При этом, разряды синдрома ошибки e 1e2...еm (полученные относительно вектора четности строк) указывают модуль информации, имеющей ошибку, а разряды еmе m+1...еb (полученные относительно вектора четности столбцов) указывают ошибочный разряд в модуле информации.

Так как кодовые комбинации строк и столбцов имеют минимальное расстояние d=2, то минимальное расстояние данного кода d=4. Этот код позволяет исправлять любую одиночную ошибку и обнаруживать значительную долю кратных ошибок.

Структуры ошибок, не обнаруживаемых двумерным итеративным кодом показаны на рисунке:

Рис.1 Структуры ошибок, не обнаруживаемых двумерным итеративным кодом: а) - ошибки кратности 4; б) - ошибки кратности 6.

Рис.2 Структуры ошибок двумерного итеративного кода, приводящие к ошибочной коррекции: а) - ошибки кратности 5; б) - ошибки кратности 7.

В общем случае можно строить итеративные коды более высокой размерности (трехмерные, четырех мерные и т.д.), где каждый

информационный символ будет являться компонентой одновременно х различных кодовых слов. Параметры итеративных кодов размерности х таковы [3]:

где ni, k i, di - соответственно длина, количество информационных разрядов, минимальное расстояние кодовых наборов строк и столбцов.

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

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

Структура диагональных проверок, обнаруживающих рассматриваемые ошибки имеет вид, представленный на рис.3.

Рис.3. Структура диагональных проверок:

- результаты правых диагональных проверок; - результаты левых диагональных проверок

Левые диагональные проверки образуются по правилу:

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

В этом случае, общее число диагональных проверок равно 2l, или:

Пример 1. Пусть рассматриваемое слово состоит из четырех информационных разрядов, которые имеют нулевые значения. Для данного кодового набора информационная матрица имеет вид:

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

В то же время правые и левые диагональные проверки дадут результат 101.

Утверждение 1. Итеративный код, реализующий правые и левые диагональные проверки, обнаруживает все четные ошибки не обнаруживаемые двумерным итеративным кодом и выявляет нечетные ошибки воспринимаемые двумерным итеративным кодом как корректируемые.

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

Рис.4 Структуры ошибок не обнаруживаемых диагональными проверками и проверками строк и столбцов.

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

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

Утверждение 2. Для информационной матрицы Ьх2 итеративный код, реализующий правые и левые диагональные проверки, обнаруживает максимальное количество возможных ошибок (за исключением множества 2k-1 запрещенных кодовых наборов, трансформируемых в разрешенные кодовые наборы).

Таким образом, при использовании итеративного кода, реализующего правые и левые диагональные проверки, кодовый набор передается в виде:

Для рассматриваемого примера кодирование информации осуществляется следующим образом: r1=y 1; r22у3; r3=y 4; r4=y3; r 5=y1y4; r6=y 2.

Результат сложения значений сигналов контрольных разрядов переданных и полученных даст синдром ошибки:

где разряды вектора ошибки r 1, r2,............r l - соответствуют правым диагональным проверка, r l, rl+1,............r 2l - левым и сформированным относительно полученных информационных разрядов;

- значения полученных контрольных разрядов.

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

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

Таким образом, каждой ошибке из множества ошибок М=(2n)k можно поставить в соответствие значение синдрома ошибки и значение дополнительных диагональных проверок.

Свойство 2. Каждой совокупности значения синдрома ошибок и значения дополнительных проверок соответствует подмножество Q-ошибок различной конфигурации.

Следствие 1. Для различения ошибок, принадлежащих данному подмножеству, следует ограничить кратность исправляемых ошибок и увеличить число контрольных разрядов (осуществить дополнительное кодирование информационных разрядов).

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

1) для того чтобы обеспечить коррекцию около 50% возникающих ошибок целесообразно ограничится исправлением ошибок, кратность которых не превышает k-1;

2) для каждой строки информационной матрицы организуется проверка на четность, т.е. информационная матрица представляется в виде:

3) для полученной информационной матрицы организуются правые и левые диагональные проверки. Число диагональных проверок (число контрольных разрядов диагональных проверок) определяется по формуле:

4) кодовый набор передается в виде:

5) результат сложения значений сигналов переданных и сформированных контрольных разрядов даст синдром ошибки:

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

7) в результате имеем множество ошибок заданной кратности (в данном случае от одиночной до кратности k-1, определяемое выражением: ), характеризующихся определенными значением синдрома ошибки и дополнительной проверки.

8) множество N разбивается на четыре подмножества N=n1+n 2+n3+n4,

где

n1 - синдромы, имеющие одинаковые дополнительные проверки (некорректируемые ошибки, признак отказа устройства);

n2 - подмножество групп (каждая группа включает 2k - одинаковых значений синдромов) при наличии ошибок только в информационных разрядах;

n3 - подмножество групп (каждая группа включает 2k - одинаковых значений синдромов) при наличии ошибок только в контрольных разрядах;

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

Заметим, что для ошибок, не превышающих кратность k-1 нет ошибочных кодовых наборов, трансформируемых в разрешенные (исправные) кодовые наборы.

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

1) выявляются одинаковые дополнительные проверки, по которым из множества N исключается синдромы ошибок, принадлежащие подмножеству n1 (выявляются некорректируемые ошибки, для которых формируется сигнал "Отказ устройства");

2) определяются группы одинаковых синдромов (указывающих на ошибку в соответствующих информационных разрядах) для подмножества n2;

3) определяются группы синдромов ошибок, принадлежащих подмножеству n3, для которых не требуется коррекция информационных разрядов;

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

Для рассматриваемого примера, реализующего предлагаемый метод кодирования имеем:

- общее количество ошибок - 4768

- число одинаковых синдромов ошибок, имеющих одинаковые дополнительные проверки (подмножество n1) - 2544 (число обнаруживаемых ошибок);

- 2224 - число корректируемых ошибок (46%);

- число ошибок только в информационных разрядах - 224 (l1=14 - групп, каждая из которых включает по 16 одинаковых синдромов);

- число ошибок только в контрольных разрядах - 592 (l2=37 - групп, каждая из которых включает по 16 одинаковых синдромов);

- число ошибок, имеющих искажения одновременно в информационных и контрольных разрядах - 1408 (l3=88 - групп, каждая из которых включает по 16 одинаковых синдромов).

В табл.1 представлены часть значений синдромов ошибок для подмножеств n2, n3 , n4. (исключены синдромы ошибок подмножества n1, имеющие одинаковые значения дополнительных проверок).

ТАБЛИЦА 1.
ОШИБКАИнф. разр.Принятые КРСформирован. КР Синдром
у1 у2у3у 4r1r 2r3r4r 5r6r7r 8r9r10r1r2 r3r4r 5r6r7r 8r9r10e1е2 е3е4е 5e6e7e 8e9e10
Только в контрольных
Только в информационных
И в контрольных и в информационных

Предлагаемый способ кодирования позволяет:

корректировать ошибку заданной кратности;

обнаруживать максимальное количество ошибок (за исключением ошибочных кодовых наборов, трансформируемых в разрешенные кодовые наборы);

сигнализировать о неисправности устройства памяти при возникновении некорректируемой ошибки.

2. Способ обнаружения ошибок преобразователей информации

2.1. Общие положения

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

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

В качестве простейшего метода контроля работы сумматора может быть использован контроль по четности [4]. При сложении чисел а и b разряды суммы s образуются в соответствии с выражениями:

Сложив все n вышеприведенных равенств по модулю 2, получим:

ps=papbps,

где ps - четность суммы; pа, p b - четность слагаемых; рc - четность переносов. Данная схема контроля позволяет обнаруживать только одиночные и нечетное число ошибок, кроме этого не обнаруживаются ошибки в цепи переноса, так как это приводит к четному числу ошибок - в разряде переноса и в разряде суммы.

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

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

2.2. Контроль работы сумматора

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

Рассмотрим основные положения способа контроля операции сложения на примере.

Допустим, требуется сложить два четырех разрядных числа:

А=0111 и В=0011, которые хранятся в отказоустойчивом ОЗУ, т.е. кодируется рассмотренным способом.

В этом случае информационная матрица для числа А имеет вид:

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

Соответственно правые и левые диагональные проверки информационной матрицы дадут результат:

0000 1111.

Таким образом, из ОЗУ в операционное устройство процессора число А поступает в виде: 0111 0000 1111.

Информационная матрица числа В имеет вид:

при этом число В поступает на вход сумматора в виде:

0011 01101100.

Арифметическое суммирование информационных разрядов даст результат:

Информационная матрица SM имеет вид:

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

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

Однако, арифметическое сложение контрольных разрядов слагаемых даст результат:

который отличается от правильного значения: 11111111.

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

который тоже отличается от правильного значения.

В связи с этим, для формирования правильных значений контрольных разрядов возникает необходимость определения поправки, например к значению контрольных разрядов Sk mod2 .

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

Свойство 3. При одновременном наличии единиц в младших информационных разрядах слагаемых и отсутствии цепи переноса в остальных разрядах, значение поправки равно: C1=01011010, которое получается в результате арифметического сложения чисел A 1=0001, B1=0001, формирования информационной матрицы из полученного результата 0010:

и кодирования данной матрицы путем проведения правых и левых диагональных проверок: 01011010.

Свойство 4. При одновременном наличии единиц во вторых разрядах слагаемых и отсутствии цепи переноса (наличии единиц в одноименных разрядах слагаемых или наличии единицы в рассматриваемом разряде одного из слагаемых и поступлении переноса из младшего разряда в данный разряд) в остальных разрядах, поправка формируется на основе информационной матрицы:

и равна: С2=01100011.

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

поправка формируется на основе информационной матрицы:

и равна: С3=10100101.

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

Свойство 5 При наличии цепи переноса в первых и вторых разрядах слагаемых значение поправки равно:

или получается на основе информационной матрицы АM4, сформированной на основе сложения по mod2 одноименных разрядов информационных матриц AM 1 и АM2:

Свойство 6 При наличии цепи переноса в первых и третьих разрядах слагаемых значение поправки равно:

или получается на основе информационной матрицы АM5, сформированной на основе сложения по mod2 одноименных разрядов информационных матриц A M1 и АM3:

Свойство 7 При наличии цепи переноса во вторых и третьих разрядах слагаемых значение поправки равно:

или на основе информационных матриц А M2 и АM3:

Свойство 8. При наличии цепи переноса в первых, вторых и третьих разрядах слагаемых значение поправки равно:

или на основе информационных матриц A M1, АM2 и АM3 .

Свойство 9. При отсутствии цепи переноса в информационных разрядах (отсутствии единиц в одноименных разрядах слагаемых) значение поправки равно: 0000 0000.

Для рассматриваемого примера (сложения чисел А=0111 и В=0011) требуется поправка С 7=1001 110.

Тогда сложение по mod2 значений контрольных разрядов данных слагаемых и поправки даст результат:

который, соответствует правильному значению контрольных разрядов для результата суммы S=1010, полученного в результате арифметического сложения чисел А=0111 и В=0011.

Предлагаемый способ позволяет контролировать работу сумматора АЛУ и при этом позволяет:

обнаруживать максимальное количество ошибок (за исключением ошибок, трансформируемых в разрешенные кодовые наборы);

корректировать ошибочную работу сумматора (информационных разрядов) по сформированным значениям контрольных разрядов (кратность исправляемой ошибки до k-1) по правилам исправления ошибок ЗУ;

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

сигнализировать о возникновении некорректируемых ошибок.

2.3 Контроль операции сложенья по mod2

Рассмотрим основные положения способа контроля операции сложения по mod2 на примере.

Допустим, требуется сложить два четырех разрядных числа:

A=0101 и В=0011, которые хранятся в отказоустойчивом ОЗУ, т.е. кодируется рассмотренным способом.

В этом случае из ОЗУ в операционное устройство процессора число А поступает в виде кодового набора: 0101 0101 0101, А число В поступает в виде: 0011 0110 1100.

При выполнении операции сложения по mod2 информационных и контрольных разрядов рассматриваемых слагаемых получим кодовый набор 0110 0011 1001.

Информационная матрица полученного результата имеет вид:

правые и левые диагональные проверки данной матрицы дадут результата: 00111001, что позволяет сформулировать свойство 10.

Свойство 10. Результат сложения по mod2 контрольных разрядов слагаемых соответствует результату сложения по mod2 информационных разрядов рассматриваемых слагаемых.

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

2.4. Контроль операции сдвига

Рассмотрим основные положения способа контроля операции сдвига на примере кодового набора: 0111 0000 1111

Пусть требуется провести операцию сдвига вправо на один разряд, в результате получим кодовый набор: 0011.

Информационная матрица полученного результата имеет вид:

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

В связи с этим возникает необходимость формирования поправки к исходному кодовому набору, позволяющей получить набор контрольных разрядов соответствующий значению информационных разрядов, полученных при сдвиге вправо. С этой целью построим матрицу поправок при сдвиге вправо, разряды которой формируются следующим образом: r4 =0у4; (0 если в старший разряд не переносится единица из другого регистра в противном случае r 4==у1iу4, где y1i значение сигнала переноса из другого регистра, например в старший разряд регистра дополнительного из младшего разряда регистра сумматора при выполнении операции умножения) r34у3; r2 3у2; r1 2у1.

Для рассматриваемого примера получим кодовый набор: 0100.

В этом случае матрица поправок при сдвиге вправо имеет вид:

.

При кодировании данной матрицы предлагаемым методом получим значение поправки: 01100011.

Сложение по mod2 исходного значения контрольных разрядов с значением поправки даст правильное значение контрольных разрядов при сдвиге информационных разрядов вправо:

При сдвиге информационных разрядов влево разряды матрицы поправок формируются следующим образом: r 44у3; r3 3у2; r2 2у1; r1=0у1

Для рассматриваемого примера получим значения разрядов матрицы поправок при сдвиге влево: 1001, соответственно матрица поправок при сдвиге вправо имеет вид:

Правые и левые диагональные проверки данной матрицы дадут результат: 10010011.

При сложении по mod2 исходного набора контрольных разрядов и значения поправки получим результат:

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

Действительно при сдвиге информационных разрядов рассматриваемого примера имеем: 1110.

Соответственно матрица информационных разрядов имеет вид:

для которой имеем набор значений контрольных разрядов: 10011100.

Свойство 11. Сложение по mod2 исходного значения контрольных разрядов с значением поправки при сдвиге вправо (влево) даст правильное значение контрольных разрядов при сдвиге информационных разрядов.

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

2.5. Контроль выполнения логической операции ИЛИ

Рассмотрим основные положения способа контроля операции ИЛИ на примере.

Допустим, требуется выполнить логическую операцию ИЛИ относительно двух четырех разрядных числа:

А=0101 и В=0011, которые хранятся в отказоустойчивом ОЗУ, т.е. кодируется рассмотренным способом.

В этом случае из ОЗУ в операционное устройство процессора число А поступает в виде кодового набора: 0101 01010101, А число В поступает в виде: 0011 01101100.

При выполнении операции ИЛИ для информационных разрядов и сложения по mod2 контрольных разрядов рассматриваемых слагаемых получим кодовый набор 0111 00111001, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 00001111 для полученного значения информационных разрядов 0111.

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

В этом случае матрица поправок операции ИЛИ имеет вид:

правые и левые диагональные проверки данной матрицы дадут результат поправки:00110110.

Свойство 12. Операция сложения по mod2 полученных значений контрольных разрядов и значения поправки, сформированной на основе матрицы поправок для логической операции ИЛИ, даст правильное значение контрольных разрядов.

Действительно, для рассматриваемого примера имеем результат:

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

2.6. Контроль выполнения логической операции И

Рассмотрим основные положения способа контроля операции И на примере.

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

А=0101 и В=0011, которые хранятся в отказоустойчивом ОЗУ, т.е. кодируется рассмотренным способом.

В этом случае из ОЗУ в операционное устройство процессора число А поступает в виде кодового набора: 0101 01010101, А число В поступает в виде: 0011 01101100.

При выполнении операции И для информационных разрядов и сложения по mod2 контрольных разрядов рассматриваемых операндов получим кодовый набор 0001 00111001, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 00110110 для полученного значения информационных разрядов 0001.

Для формирования поправки построим матрицу поправок, используя операцию логическую ИЛИ относительно информационных разрядов рассматриваемых операндов, в результате получим кодовый набор: 0111.

В этом случае матрица поправок операции И имеет вид:

правые и левые диагональные проверки данной матрицы дадут результат поправки: 00001111.

Свойство 13. Операция сложения по mod2 полученных значений контрольных разрядов и значения поправки, сформированной на основе матрицы поправок для логической операции И, даст правильное значение контрольных разрядов.

Действительно, для рассматриваемого примера имеем результат:

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

2.7. Контроль выполнения логической операции НЕ

Рассмотрим основные положения способа контроля операции инверсии на примере.

Допустим, требуется выполнить логическую операцию НЕ для четырех разрядного числа: А=0101 которое, хранятся в отказоустойчивом ОЗУ и, кодируется рассмотренным методом.

В этом случае из ОЗУ в операционное устройство процессора число А поступает в виде кодового набора: 0101 01010101.

Информационная матрица исходного числа А имеет вид:

При выполнении операции НЕ для информационных разрядов получим кодовый набор 1010 01010101, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 11111111 для полученного значения информационных разрядов 1010. Соответственно информационная матрица, построенная относительного инверсного значения числа имеет вид:

Для формирования поправки используем матрицу поправок для логической операции НЕ, которая получена путем сложения по mod2 одноименных разрядов исходной информационной матрицы и информационной матрицы построенной относительно инверсного значения исходного числа. В результате имеем:

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

Правые и левые диагональные проверки данной матрицы дадут результат поправки: 10101010.

Свойство 13. Операция сложения по mod2 полученных значений контрольных разрядов и значения поправки, сформированной на основе матрицы поправок для логической операции НЕ, даст правильное значение контрольных разрядов.

Действительно, для рассматриваемого примера имеем результат:

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

Предлагаемый способ позволяет контролировать работу процессора и при этом позволяет:

обнаруживать максимальное количество ошибок (за исключением ошибок, трансформируемых в разрешенные кодовые наборы);

корректировать ошибочную работу процессора при выполнении арифметических и логических операций;

обнаруживать и исправлять ошибки произвольной конфигурации в контрольных разрядах (передаются контрольные разряды, полученные в результате кодирования результатов операций);

сигнализировать о возникновении некорректируемых ошибок.

ИСТОЧНИКИ ИНФОРМАЦИИ

1. Патент на изобретение №2210805 по заявке 99111190/09 от 31.05.09, авторы: Царьков А.Н., Безродный Б.Ю., Новиков Н.Н., Романенко Ю.А., Павлов А.А.

2. Калабеков Б.А., Микропроцессоры и их применение в системах передачи и обработки сигналов, М.: Радио и связь, 1988, 368 с. (стр.30, рис.1.3).

3. Хетагуров Я.А. Руднев Ю.П. Повышение надежности цифровых устройств методами избыточного кодирования. М.: Энергия, 1974, 270 с.

4. Орлов И.А., Корнюшко В.Ф., Бурляев В.В. Эксплуатация и ремонт ЭВМ, организация работы вычислительного центра. М.: Энергоатомиздат, 1989, 400 с.

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

2. Отказоустойчивый процессор повышенной достоверности функционирования по п.1, отличающийся тем, что блок коррекции содержит кодирующую схему, схему сравнения, первую группу элементов ИЛИ, вторую группу элементов ИЛИ, третью группу элементов ИЛИ, четвертую группу элементов ИЛИ, пятую группу элементов ИЛИ, шестую группу элементов ИЛИ, седьмую группу элементов ИЛИ, элемент НЕ, первую группу элементов И, вторую группу элементов И, корректор, дешифратор, первые выходы управляющей памяти подключены к первым входам корректора и к входам кодирующей схемы, выходы которого подключены к первым входам схемы сравнения, вторые входы схемы сравнения подключены к вторым выходам управляющей памяти, а выходы подключены к входам дешифратора и к входам первой группы элементов ИЛИ, выходы которой подключены к первому входу первого элемента И, выходы дешифратора объединены в группы соответственно второй группой элементов ИЛИ, третьей группой элементов ИЛИ, четвертой группой элементов ИЛИ пятой группой элементов ИЛИ, шестой группой элементов ИЛИ, выходы со второй по пятую группу элементов ИЛИ подключены с первого по четвертый вход седьмой группы элементов ИЛИ и с первого по четвертый вход второй группы элементов И, пятый вход которой подключен к разрешающему входу, а выходы подключены к вторым входам корректора, выход шестой группы элементов ИЛИ подключен к пятому входу седьмой группы элементов ИЛИ, выход которой через элемент НЕ подключен к второму входу первого элемента И, выход первого элемента И является выходом "Отказ процессора", выходы корректора являются выходами управляющих сигналов.

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

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

5. Отказоустойчивый процессор повышенной достоверности функционирования по п.1, отличающийся тем, что функциональная схема формирования поправки при выполнении операции сдвига содержит первый элемент неравнозначности, второй элемент неравнозначности, третий элемент неравнозначности, первый элемент И, второй элемент И, третий элемент И, четвертый элемент И, пятый элемент И, шестой элемент И, седьмой элемент И, восьмой элемент И, девятый элемент И, десятый элемент И, одиннадцатый элемент И, двенадцатый элемент И, первый элемент ИЛИ, второй элемент ИЛИ, третий элемент ИЛИ, четвертый элемент ИЛИ, информационные входы, вход управляющего сигнала сдвиг вправо, вход управляющего сигнала сдвиг влево, вход разрешающий считывание выходной информации, выходы схемы формирования поправки при выполнении операции сдвига, четвертый разряд информационных входов подключен к первому входу первого элемента неравнозначности и к первому входу первого элемента И, выход которого подключен к первому входу первого элемента ИЛИ, третий разряд информационных входов подключен к первому входу второго элемента неравнозначности и к второму входу первого элемента неравнозначности, выход которого подключен к первому входу второго элемента И и к первому входу пятого элемента И, второй разряд информационных входов подключен к первому входу третьего элемента неравнозначности и к второму входу второго элемента неравнозначности, выход которого подключен к первому входу третьего элемента И и к первому входу шестого элемента И, первый разряд информационных входов подключен к первому входу восьмого элемента И и к второму входу третьего элемента неравнозначности, выход которого подключен к первому входу четвертого элемента И и к первому входу седьмого элемента И, вход управляющего сигнала "сдвиг вправо" подключен к вторым входам с первого по четвертый элементов И, вход управляющего сигнала "сдвиг влево" подключен к вторым входам с пятого по шестой элементов И, выходы второго, третьего и четвертого элементов И подключены соответственно к первым входам второго, третьего и четвертого элементов ИЛИ, выходы пятого, шестого, седьмого и восьмого элементов И подключены соответственно к вторым входам первого, второго, третьего и четвертого элементов ИЛИ, выходы которых подключены к первым входам девятого, десятого, одиннадцатого и двенадцатого элементов И, вторые входы которых подключены к входу разрешающему считывание выходной информации, выходы с девятого по двенадцатый элементов И являются выходами схемы формирования поправки при выполнении операции сдвига.

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

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

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



 

Похожие патенты:

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