ОТКАЗОУСТОЙЧИВАЯ ЭВМ

Полезная модель относится к вычислительной технике.
Известен процессор (Калабеков Б.А, Микропроцессоры и их применение в системах передачи и обработки сигналов, М.: Радио и связь, 1988, с. 30, рис. 1.3), содержащий управляющий узел, операционный узел, первая группа входов управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных.
Недостатком устройства является недостаточная отказоустойчивость процессора, так как не обеспечивается обнаружение и коррекция возникающих ошибок.
Наиболее близким по техническому решению является резервированная ЭВМ с постоянным замещением (Щербаков Н.С. Достоверность работы цифровых устройств. М.: Машиностроение, 1989. с. 35, рис. 1.1.), содержащая в своем составе две ЭВМ, каждая из которых контролируется схемами встроенного контроля, выходы которых подключены к входам решающего органа, который, в случае отказа одной из ЭВМ, подключает к выходам устройства исправный канал.
Недостатком устройства является большая аппаратурная избыточность схем встроенного контроля и дублирующего канала процессора ЭВМ.
Задачей полезной модели является сокращение аппаратурных затрат на резервирование за счет использования для обнаружения ошибок в ЭВМ алгебраического линейного кода с минимальной избыточностью и использования результатов кодирования информации для формирования дублирующего канала за счет функциональной избыточности процессора.
i
i
i
i
i
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
i
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
i
i
i
i
i
i
1
2
3
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
i
i
i
i
i
i
1
2
3
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
iA
iB
1
2
1A
1B
3
2A
2B
2A
2В
2
4
3A
3B
3А
3B
3
5
4A
4B
4А
4В
4
6
5А
5В
5A
5В
5
7
6А
6В
6А
6в
5
8
7A
7B
7A
7В
7
9
8A
8B
8А
8В
8
10
9A
9B
9А
9В
9
11
10A
10B
10А
10В
10
12
11А
11В
11А
11В
11
i
12
12
11
12
11
10
11
10
9
10
9
8
9
8
7
8
7
6
7
6
5
6
5
4
5
4
3
4
3
2
3
2
1
2
1
1
1
2
1
2
3
2
3
4
3
4
5
4
5
6
5
6
7
6
7
8
7
8
9
8
9
10
9
10
11
10
9
12
11
12
ЗУ1
ФП
ФС
И
ИJIИ
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
j
ij
ij
ij
ij
ij
ЗУ2
2
2
2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ1
AУ
m
И
ИЛИ
C
ф1
ф1
ф1
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ф1
ij
i
j
ij
ij
ij
ij
ij
ф1
ij
ij
ij
ij
ij
ij
ij
ф1
ij
ij
ij
ij
ij
ij
ij
ij
ЗУ2
m
mp
mИ
mИЛИ
mc
ф2
ф2
ф2
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ф2
ij
ij
ij
ij
ij
ij
ij
ф2
ij
ij
ij
ij
ij
ij
ij
ф2
ij
ij
ij
ij
ij
ij
ij
ij
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
Сущность полезной модели заключается в том, отказоустойчивая ЭВМ, содержащая управляющий узел, узел обмена, первый запоминающий узел, арифметико-логический узел, блок регистров, сумматор, блок сумматоров по mod 2, блок элементов И, блок элементов ИЛИ, отличающееся тем, что дополнительно содержит второй запоминающий узел, первый кодирующий блок, второй кодирующий блок, третий кодирующий блок, четвертый кодирующий блок, коммутатор, первую схему сравнения, вторую схему сравнения, резервный блок сумматоров по mod 2, блок формирования функции переносов, блок формирования функции сдвига, резервный регистр сдвига, причем первые входы узла обмена являются входами ЭВМ, первые выходы узла обмена являются выходами ЭВМ, вторые выходы узла обмена подключены к входам коммутатора, к входам первого кодирующего блока, к первым входам первого запоминающего узла, к первым входам второго запоминающего узла, к первому и второму входам блока суммирования поправки, к входам управляющего узла, третий выход узла обмена подключен к первым входам блока регистров, к первым входам резервного регистра сдвига, к первым входам сумматора, к первым входам блока сумматоров по mod 2, к первым входам резервного блока сумматоров по mod 2, к первым входам блока элементов И, к первым входам блока элементов ИЛИ, к первым входам блока формирования функции переносов, к первым входам блока формирования функции сдвига, выход управляющего узла подключен к вторым входам первого и второго запоминающих узлов, к вторым входам блока регистров, к вторым входам резервного регистра сдвига, к вторым входам сумматора, к вторым входам блока сумматоров по mod 2, к вторым входам резервного блока сумматоров по mod 2, к вторым входам блока элементов И, к вторым входам блока элементов ИЛИ, к вторым входам блока формирования функции переносов, к вторым входам блока формирования функции сдвига, к вторым входам коммутатора, к вторым входам узла обмена, выходы первого кодирующего блока подключены к третьим входам узла обмена и третьим входам первого запоминающего узла, выходы которого подключены к третьим входа коммутатора, выходы второго кодирующего блока подключены к третьим входам второго запоминающего узла, выходы которого подключены к четвертым входам коммутатора, выходы блока суммирования поправки подключены к пятым входам коммутатора, первые выходы которого подключены к четвертым входам узла обмена и к входам третьего кодирующего блока, а вторые входы подключены к первым входам первой схемы сравнения, третьи выходы коммутатора подключены к пятым входам узла обмена и к входам четвертого кодирующего блока, а четвертые выходы подключены к первым входам второй схемы сравнения, выходы третьего кодирующего блока подключены к вторым входам первой схемы сравнения, выходы четвертого кодирующего блока подключены к вторым входам второй схемы сравнения, выходы первой и второй схем сравнения подключены к шестым входам узла обмена, выходы блока регистров, резервного регистра сдвига, сумматора, блока сумматоров по mod 2, резервного блока сумматоров по mod 2, блока элементов И, блока элементов ИЛИ, блока формирования функции переносов, блока формирования функции сдвига, подключены к седьмым входам узла обмена, первый кодирующий блок, в зависимости от команд, поступающих с выходов управляющего узла на узел обмена, формирует значения контрольных разрядов относительно информационных символов y, поступающих с выходов узла обмена в первый запоминающий узел, или значения разрядов поправки относительно информационных символов у функции переносов, или значения разрядов поправки относительно информационных символов у функции сдвига, или значения разрядов поправки относительно информационных символов у при выполнении логической операции ИЛИ, или значения разрядов поправки относительно информационных символов y при выполнении логической операции И, на своем первом r1, втором r2 и третьем r3 выходе путем сложения по модулю 2 информационных символов y, у, у, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=y ⊕ y ⊕ y⊕ y, ⊕ y ⊕ y ⊕ y, r=y ⊕ y⊕ y ⊕ y, ⊕ y ⊕ y⊕y, r=y ⊕ y ⊕ y⊕ y, ⊕ y⊕ y⊕ y⊕ y, второй кодирующий блок, в зависимости от команд, поступающих с выходов управляющего узла на узел обмена, формирует значения контрольных разрядов относительно информационных символов у, поступающих с выходов узла обмена в второй запоминающий узел на своем первом r1, втором r2 и третьем r3 выходе путем сложения по модулю 2 информационных символов y, у, y, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=у ⊕ y ⊕ у ⊕ у, ⊕ y ⊕y ⊕ y, r=y ⊕ у ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ у, r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y ⊕ y, третий кодирующий блок, в зависимости от команд, поступающих с выходов управляющего узла на входы коммутатора, формирует значения контрольных разрядов относительно информационных символов y, считываемых с первого запоминающего узла, или значения разрядов суммы y, поступающих с выходов сумматора, или информационных разрядов у, поступающих с выходов блока сумматоров по mod 2, или значений информационных разрядов у, поступающих с выходов блока элементов И, или значений информационных разрядов y, поступающих с выходов блока элементов ИЛИ, или значений информационных разрядов у, поступающих с выходов блока регистров на своем первом r, втором r и третьем r выходе путем сложения по модулю 2 информационных символов y, у, у, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=y ⊕ y⊕ y ⊕ y, ⊕ y ⊕ y ⊕y, r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y, r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y ⊕y , четвертый кодирующий блок, в зависимости от команд, поступающих с выходов управляющего узла на входы коммутатора, формирует значения контрольных разрядов относительно информационных символов y, считываемых с второго запоминающего узла, или значения разрядов суммы у, поступающих с выходов блока сумматоров по mod 2 при выполнении арифметической операции, или информационных разрядов y, поступающих с выходов резервного блока сумматоров по mod 2 при выполнении логической операции суммирования по mod2, или значений информационных разрядов у, поступающих с выходов блока сумматоров по mod 2 при выполнении логической операции И, или значений информационных разрядов у, поступающих с выходов блока сумматоров по mod 2, при выполнении логической операции ИЛИ, или значений информационных разрядов y при выполнении операции сдвига, поступающих с выходов резервного блока сумматоров по mod 2 на своем первом r, втором r и третьем r выходе путем сложения по модулю 2 информационных символов y, у, у, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y, r=y ⊕ y ⊕ y ⊕ y, ⊕y ⊕ y ⊕ y, r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y ⊕ y, блок 13 формирования функции переносов формирует значение функции переносов относительно значений информационных разрядов слагаемых y и y в соответствии с правилом: s=0, s=yy, s=yy v (у v y) s, s=yy v (у v у)  s, s=yy v (у v у)  s, s=уу v (y v у)  s, s=уу v (у v у)  s, s=yy v (y v у)  s, s=yy v (у v у)  s, s=yy v (у v у)  s, s=yy v (у v у)  s, s=уу v (у v у)  s, блок формирования функции сдвига формирует значение функции сдвига вправо относительно исходных значений информационных разрядов у регистра сдвига в соответствии с правилом: s=y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y и значение функции сдвига влево в соответствии с правилом: s=y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y.
На фиг. 1 представлена блок-схема устройства.
Отказоустойчивая ЭВМ (фиг. 1) управляющий узел 1, узел 2 обмена, первый запоминающий узел 3, второй запоминающий узел 4, арифметико-логический узел 5, блок 6 регистров, резервный регистр 7 сдвига, сумматор 8, блок 9 сумматоров по mod 2, резервный блок 10 сумматоров по mod 2, блок 11 элементов И, блок 12 элементов ИЛИ, блок 13 формирования функции переносов, блок 14 формирования функции сдвига, коммутатор 15, первый кодирующий блок 16, второй кодирующий блок 17, третий кодирующий блок 18, четвертый кодирующий блок 19, первая схема 20 сравнения, вторая схема 21 сравнения, блок 22 суммирования поправки, вход 23 отказоустойчивой ЭВМ, выход 24 отказоустойчивой ЭВМ.
i
i
i
i
i
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
i
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
i
i
i
i
i
i
i
2
3
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
i
i
i
i
i
i
i
2
3
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
iA
iB
1
2
1A
1B
3
2A
2B
2A
2В
2
4
3A
3B
3А
3B
3
5
4A
4B
4А
4В
4
6
5А
5В
5A
5В
5
7
6А
6В
6А
6в
5
8
7A
7B
7A
7В
7
9
8A
8B
8А
8В
8
10
9A
9B
9А
9В
9
11
10A
10B
10А
10В
10
12
11А
11В
11А
11В
11
i
12
12
11
12
11
10
11
10
9
10
9
8
9
8
7
8
7
6
7
6
5
6
5
4
5
4
3
4
3
2
3
2
1
2
1
1
1
2
1
2
3
2
3
4
3
4
5
4
5
6
5
6
7
6
7
8
7
8
9
8
9
10
9
10
11
10
9
12
11
12
ЗУ1
ФП
ФС
И
ИЛИ
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
j
ij
ij
ij
ij
ij
ЗУ2
2
2
2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
ЗУ2
3У1
АУ
m
И
ИJIИ
C
ф1
ф1
ф1
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ф1
ij
i
j
ij
ij
ij
ij
ij
ф1
ij
ij
ij
ij
ij
ij
ij
ф1
ij
ij
ij
ij
ij
ij
ij
ij
ЗУ2
m
mp
mИ
mИJIИ
mc
ф2
ф2
ф2
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ф2
ij
ij
ij
ij
ij
ij
ij
ф2
ij
ij
ij
ij
ij
ij
ij
ф2
ij
ij
ij
ij
ij
ij
ij
ij
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
Первые входы узла 2 обмена являются входами ЭВМ, первые выходы узла 2 обмена являются выходами ЭВМ, вторые выходы узла 2 обмена подключены к входам коммутатора 15, к входам первого кодирующего блока 16, к первым входам первого запоминающего узла 3, к первым входам второго запоминающего узла 4, к первому и второму входам блока 22 суммирования поправки, к входам управляющего узла 1, третий выход узла 2 обмена подключен к первым входам блока 6 регистров, к первым входам резервного регистра 7 сдвига, к первым входам сумматора 8, к первым входам блока 9 сумматоров по mod 2, к первым входам резервного блока 10 сумматоров по mod 2, к первым входам блока 11 элементов И, к первым входам блока 12 элементов ИЛИ, к первым входам блока 13 формирования функции переносов, к первым входам блока 14 формирования функции сдвига, выход управляющего узла 1 подключен к вторым входам первого 3 и второго 4 запоминающих узлов, к вторым входам блока 6 регистров, к вторым входам резервного регистра 7 сдвига, к вторым входам сумматора 8, к вторым входам блока 9 сумматоров по mod 2, к вторым входам резервного блока 10 сумматоров по mod 2, к вторым входам блока 11 элементов И, к вторым входам блока 12 элементов ИЛИ, к вторым входам блока 13 формирования функции переносов, к вторым входам блока 14 формирования функции сдвига, к вторым входам коммутатора 15, к вторым входам узла 2 обмена, выходы первого кодирующего блока 16 подключены к третьим входам узла 2 обмена и третьим входам первого запоминающего узла 3, выходы которого подключены к третьим входа коммутатора 15, выходы второго кодирующего блока 17 подключены к третьим входам второго запоминающего узла 4, выходы которого подключены к четвертым входам коммутатора 15, выходы блока 22 суммирования поправки подключены к пятым входам коммутатора 15, первые выходы которого подключены к четвертым входам узла 2 обмена и к входам третьего кодирующего блока 18, а вторые входы подключены к первым входам первой схемы 20 сравнения, третьи выходы коммутатора 15 подключены к пятым входам узла 2 обмена и к входам четвертого кодирующего блока 19, а четвертые выходы подключены к первым входам второй схемы 21 сравнения, выходы третьего кодирующего блока 18 подключены к вторым входам первой схемы 20 сравнения, выходы четвертого кодирующего блока 19 подключены к вторым входам второй схемы 21 сравнения, выходы первой 20 и второй 21 схем сравнения подключены к шестым входам узла 2 обмена, выходы блока 6 регистров, резервного регистра 7 сдвига, сумматора 8, блока 9 сумматоров по mod 2, резервного блока 10 сумматоров по mod 2, блока 11 элементов И, блока 12 элементов ИЛИ, блока 13 формирования функции переносов, блока 14 формирования функции сдвига, подключены к седьмым входам узла 2 обмена, первый кодирующий блок 16, в зависимости от команд, поступающих с выходов управляющего узла 1 на узел 2 обмена, формирует значения контрольных разрядов относительно информационных символов y, поступающих с выходов узла 2 обмена в первый запоминающий узел 3, или значения разрядов поправки относительно информационных символов у функции переносов, или значения разрядов поправки относительно информационных символов y функции сдвига, или значения разрядов поправки относительно информационных символов y при выполнении логической операции ИЛИ, или значения разрядов поправки относительно информационных символов у при выполнении логической операции И, на своем первом r1, втором r2 и третьем r3 выходе путем сложения по модулю 2 информационных символов символов y, у, у, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=y ⊕ y ⊕ y⊕ y, ⊕ y ⊕ y ⊕ y, r=y ⊕ y⊕ y ⊕ y, ⊕ y ⊕ y⊕y, r=y ⊕ y ⊕ y⊕ y, ⊕ y⊕ y⊕ y⊕ y, второй кодирующий блок 17, в зависимости от команд, поступающих с выходов управляющего узла 1 на узел 2 обмена, формирует значения контрольных разрядов относительно информационных символов y, поступающих с выходов узла 2 обмена в второй запоминающий узел 4 на своем первом r1, втором r2 и третьем r3 выходе путем сложения по модулю 2 информационных символов y, у, y, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=у ⊕ y ⊕ у ⊕ у, ⊕ y ⊕y ⊕y, r=y ⊕ у ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ у, r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y⊕y, третий кодирующий блок 18, в зависимости от команд, поступающих с выходов управляющего узла 1 на входы коммутатора 15, формирует значения контрольных разрядов относительно информационных символов y, считываемых с первого запоминающего узла 3, или значения разрядов суммы у, поступающих с выходов сумматора 8, или информационных разрядов y, поступающих с выходов блока 9 сумматоров по mod 2, или значений информационных разрядов у, поступающих с выходов блока 11 элементов И, или значений информационных разрядов y, поступающих с выходов блока 12 элементов ИЛИ, или значений информационных разрядов y, поступающих с выходов блока 6 регистров на своем первом r, втором r и третьем r выходе путем сложения по модулю 2 информационных символов y, у, у, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=y ⊕ y⊕ y ⊕ y, ⊕ y ⊕ y ⊕y, r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y, r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y ⊕ y, четвертый кодирующий блок 19, в зависимости от команд, поступающих с выходов управляющего узла 1 на входы коммутатора 15, формирует значения контрольных разрядов относительно информационных символов y, считываемых с второго запоминающего узла 4, или значения разрядов суммы у, поступающих с выходов блока 9 сумматоров по mod 2 при выполнении арифметической операции, или информационных разрядов у, поступающих с выходов резервного блока 7 сумматоров по mod 2 при выполнении логической операции суммирования по mod2, или значений информационных разрядов y, поступающих с выходов блока 9 сумматоров по mod 2 при выполнении логической операции И, или значений информационных разрядов y, поступающих с выходов блока 9 сумматоров по mod 2, при выполнении логической операции ИЛИ, или значений информационных разрядов y при выполнении операции сдвига, поступающих с выходов резервного блока 10 сумматоров по mod 2 на своем первом r, втором r и третьем r выходе путем сложения по модулю 2 информационных символов y, у, у, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y, r=y ⊕ y ⊕ y ⊕ y, ⊕y ⊕ y ⊕ y, r=y ⊕ y ⊕ y ⊕ y, ⊕ y ⊕ y ⊕ y ⊕ y, блок 13 формирования функции переносов формирует значение функции переносов относительно значений информационных разрядов слагаемых y и y в соответствии с правилом s=0, s=yy, s=yy v (у v y) s, s=yy v (у v у)  s, s=yy v (у v у)  s, s=уу v (y v у)  s, s=уу v (у v у)  s, s=yy v (y v у)  s, s=yy v (у v у)  s, s=yy v (у v у)  S, s=yy v (у v у)  s, s=уу v (у v у)  s, блок 14 формирования функции сдвига формирует значение функции сдвига вправо относительно исходных значений информационных разрядов у регистра сдвига в соответствии с правилом: s=y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y и значение функции сдвига влево в соответствии с правилом: s=y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y.
Управляющий узел 1 координирует действия узлов операционного узла 2 между собой и с другими узлами ЭВМ, а также выполняет набор операций, включающих команды обращения к памяти. Он вырабатывает в определенной временной последовательности управляющие сигналы, под действием которых в узлах арифметико-логического узла 5 выполняются требуемые действия.
Таким образом, управляющий узел 1 осуществляет преобразование команды в соответствующий набор управляющих сигналов и обеспечивает:
запись информации в первый 3 и второй 4 запоминающий узел;
считывание команды, находящейся в очередной ячейке памяти запоминающих узлов;
расшифровку кода операции (команды);
отыскание операндов (чисел) по указанному адресу, содержащемуся в команде;
установку в нулевое состояние элементов памяти;
синхронизацию работы функциональных узлов ЭВМ;
коммутацию с помощью узла 2 обмена и коммутатора 15 входов и выходов функциональных узлов ЭВМ между собой;
обеспечивает выдачу управляющих сигналов в операционный узел для выполнения над операндами действий, указанных в коде операции команды.
В данном случае используется микропрограммный управляющий узел 1, в котором микрокоманды хранятся в управляющей памяти.
Узел 2 обмена предназначен для организации обмена информацией между функциональными узлами и периферийными устройствами ЭВМ.
Первый 3 и второй 4 запоминающие узлы представляют собой статические полупроводниковые запоминающие устройства.
Арифметико-логический узел 5 включает блок 6 регистров, резервный регистр 7 сдвига, которые предназначены для выполнения арифметических операций.
Блок 6 регистров содержит: регистр числа, регистр сумматора (аккумулятора), регистр дополнительный, регистр дополнительного кода.
Регистр числа представляет собой регистр памяти и предназначен для хранения операндов при выполнении арифметических и логических операций (хранения множимого, при выполнении операции умножения и делителя при выполнении операции деления).
Регистр сумматора (аккумулятора) представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления), и предназначен для хранения делимого старших разрядов результата умножения.
Заметим, что при выполнении операции деления, в управляющем узле 1 анализируется значение знакового разряда регистра числа и регистра дополнительного.
Регистр дополнительный представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления), и предназначен для хранения множителя и младших разрядов результата умножения при выполнении операции умножения и результата деления при выполнении операции деления).
Заметим, что при выполнении операции умножения, в управляющем узле 1 анализируется значение младшего разряда регистра дополнительного.
Регистр дополнительного кода представляет собой регистр памяти и предназначен для хранения отрицательного числа в дополнительном коде (при выполнении операции вычитания и операции деления).
Резервный регистр 7 сдвига, осуществляет сдвиг исходной информации с задержкой на один такт и предназначен для хранения исходной информации регистра сумматора (регистра дополнительного) при выполнении ими операции сдвига для формирования в этот период функции сдвига.
Сумматор 8 представляет собой параллельный n-разрядный сумматор и предназначен для выполнения операции сложения чисел.
Блок 9 сумматоров по mod 2 реализует функцию неравнозначности относительно информационных разрядов операндов. Резервный блок 10 сумматоров по mod 2 реализует функцию неравнозначности относительно информационных разрядов и контрольных разрядов операндов и является резервным блоком для блока 9 сумматоров по mod 2.
Блок 11 элементов И, блок 12 логических элементов ИЛИ предназначены соответственно для выполнения операций логического сложения и умножения, формирования значений поправки к контрольным разрядам при выполнении данных операций и совместно с блоком 9 сумматоров по mod 2 формирования дублирующего канала.
Блок 13 формирования функции переносов предназначен для формирования поправки к значениям контрольных разрядов для контроля выполнения арифметических операций в сумматоре 8 и совместно с резервным боком 10 сумматоров по mod 2 формирования дублирующего канала выполнения арифметической операции сложения.
Блок 14 формирования функции сдвига предназначен для формирования поправки к значениям контрольных разрядов при выполнении операции сдвига вправо (влево) и формирования дублирующего канала при выполнении данной операции.
Коммутатор 15 предназначен для коммутации входов и выходов функциональных узлов ЭВМ.
1
2
3
4
5
6
7
8
9
10
11
12
1
3
5
7
8
9
10
11
2
2
4
5
8
9
10
11
3
1
4
5
6
7
10
11
12
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
j
ij
ij
ij
ij
ij
Первый 16, второй 17, третий 18, четвертый 19 кодирующие блоки, в зависимости от команд, поступающих с выходов управляющего узла 1, формируют значения контрольных разрядов на своем первом r1, втором r2 и третьем r3 выходе путем сложения по модулю 2 информационных символов y, у, у, y, y, y, y, y, y, y, y, y в соответствии с правилом: r=y ⊕ y ⊕ y⊕ y, ⊕ y ⊕ y ⊕ y, r=y ⊕ y⊕ y ⊕ y, ⊕ y ⊕ y⊕y, r=y ⊕ y ⊕ y⊕ y, ⊕ y⊕ y⊕ y⊕ y.
Первая 20 и вторая 21 схемы сравнения предназначены для поразрядного сравнения (суммирования по mod 2) значений контрольных разрядов, которые должны соответствовать рассматриваемой операции с значениями контрольных разрядов сформированных после выполнения операции.
Блок 22 суммирования поправки осуществляет поразрядное сложение по mod 2 значений поправки, сформированной в первом кодирующем блоке 16 и значений контрольных разрядов, поступающих с выходов резервного блока 10 сумматоров по mod 2 и резервного регистра 7 сдвига.
Работа ЭВМ начинается с приходом сигнала "Пуск" по входной группе входов узла 2 обмена. По этой команде управляющий узел 1 выдает команду на считывание с управляющей памяти содержимого первой ячейки памяти.
В первой ячейке памяти расположена команда "Сброс системы", которая устанавливает в исходное состояние регистры и блоки процессора.
Далее, в зависимости от вида операции, узел 1 управления выдает микрокоманды на функциональные узлы ЭВМ.
При записи информации в первый 3 и второй 4 узлы памяти информационные разряды одновременно поступают на входы первого 16 и второго 17 кодирующих блоков, где формируются значения контрольных разрядов, которые записываются соответственно в первом 3 и втором 4 узлах памяти одновременно с значениями информационных разрядов.
При считывании информации с первого 3 и второго 4 узлов памяти, значения информационных разрядов, через коммутатор 15, поступают соответственно на входы третьего 18 и четвертого 19 кодирующих блоков, а значения контрольных разрядов поступают на первые входы первой 20 и второй 21 схем сравнения, на вторые входы которых поступают значения контрольных разрядов, сформированные относительно считываемых из узлов памяти значений информационных разрядов.
Первая 20 и вторая 21 схемы сравнения осуществляют поразрядное сравнении считываемых и сформированных значений контрольных разрядов. Если в считываемой информации ошибок не обнаружено, тона выходах схем сравнения имеем нулевые значения сигналов. В работе ЭВМ используется информации, считываемая с первого узла 3 памяти.
Появление единичного значения сигнала на выходе схемы сравнения свидетельствует о наличии ошибки. В этом случае, в зависимости от значений сигналов, поступающих с выходов схем сравнения, выбирается исправный канал.
При выполнении логической операции по mod 2 результат сложения по mod 2 контрольных разрядов слагаемых соответствует результату сложения по mod 2 информационных разрядов слагаемых.
Для формирования дублирующего канала для блока 9 сумматоров по mod 2 используем идентичный резервный бок 10 сумматоров по mod 2, в котором осуществляется поразрядное сложение информационных и контрольных разрядов.
Пример. Допустим, требуется сложить два кодовых набора, содержащих 12 информационных и три контрольных разряда.
к
к
При сложении значений информационных и контрольных разрядов кодовых наборов А=001 011 111 001 000; В=001 100 110 011 100 в резервном блоке 10 сумматоров по mod 2 получим результат:
В основном блоке сумматоров по mod 2 осуществляется сложение значений только информационных разрядов.
Результаты суммирования значений информационных разрядов блоком 9 сумматоров по mod 2 и резервным блоком 10 сумматоров по mod 2 через узел 2 обмена и коммутатор 15 поступают соответственно на входы третьего 18 и четвертого 19 кодирующих устройств, выходы которых подключены к первым входам первой 20 и второй 21 схем сравнения. На вторые входы первой и второй схем сравнения поступают значения контрольных разрядов сформированных в резервном блоке 10 сумматоров по mod 2.
Совпадение переданных и сформированных значений контрольных разрядов в схемах сравнения свидетельствует об отсутствии ошибок. При отказе одного из блоков сумматоров по mod 2, по значениям сигналов, поступающих с первой 20 и второй 21 схем сравнения в узле 2 обмена осуществляется подключение выходов исправного блока. При отказе двух каналов формируется сигнал «Отказ устройства».
Организация контроля выполнения арифметических операций и формирование дублирующего канала для выполнения арифметических операций основана на свойстве, которое заключается в том, что результат поразрядного суммирования по mod 2 значений функции переносов с результатом сложения по mod 2 слагаемых получим арифметическую сумму слагаемых.
Функция формирования переносов определяется выражением:
1
2
1A
1B
3
2A
2B
2A
2В
2
4
3A
3B
3А
3B
3
5
4A
4B
4А
4В
4
6
5А
5В
5A
5В
5
7
6А
6В
6А
6в
5
8
7A
7B
7A
7В
7
9
8A
8B
8А
8В
8
10
9A
9B
9А
9В
9
11
10A
10B
10А
10В
10
12
11А
11В
11А
11В
11
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
s=0, s=yy, s=yy v (у v y) s, s=yy v (у v у)  s, s=yy v (у v у)  s, s=уу v (y v у)  s, s=уу v (у v у)  s, s=yy v (y v у)  s, s=yy v (у v у)  s, s=yy v (у v у)  S, s=yy v (у v у)  s, s=уу v (у v у)  s,
п
Для рассматриваемого примера, значения разрядов функции переносов имеют вид: S=011 111 100 110.
В результате суммирования слагаемых в резервном блоке 10 по mod 2, получим значения суммы:
A
П
Арифметическая сумма слагаемых определяется сложением в блоке 9 сумматоров по mod 2 результаты суммы значений информационных разрядов, поступающих с выходов резервного блока 10 сумматоров по mod 2, с значениями функции переносов (S=S ⊕ S):
В результате имеем арифметическую сумму рассматриваемых слагаемых, однако полученное значение контрольных разрядов не соответствует полученной сумме.
к
кmod2
п
Формирование поправки П к значению контрольных разрядов S осуществляется кодированием функции переносов S выбранным методом кодирования информации в первом кодирующем блоке 16.
п
к
=
Для рассматриваемого примера, кодирование значения S011 111 100 110 с помощью предложенного метода кодирования, приведет к значению поправки П=110.
Значения контрольных разрядов с выходов резервного блока 10 сумматоров по mod 2, через узел 2 обмена, поступают на первые входы блока 22 суммирования поправки, на вторые входы которого поступают значения поправки с выходов первого кодирующего блока 16.
кmоd2
к
=
В результате поразрядного сложения по mod 2 в блоке 22 суммирования поправки значений контрольных разрядов, поступающих с выходов резервного блока 10 сумматоров по mod 2: S100 и значений разрядов поправки: П=110, получим правильное значение контрольных разрядов для найденной арифметической суммы. Оно примет вид
к
S=011 000 101 100 010.
Значения информационных разрядов сумматора 8 и блока 9 сумматоров по mod 2 (резервного канала) поступают на входы узла обмена и через коммутатор 15 поступают соответственно и на входы третьего 18 и четвертого 19 блоков, где формируются значения контрольных разрядов относительно полученной арифметической суммы, которые поступают соответственно на первые входы первой 20 и второй 21 схем сравнения. На вторые входы первой 20 и второй схем сравнения поступают значения контрольных разрядов с выходов блока 22 суммирования поправки. Выбор исправного канала осуществляется по алгоритму описанному выше.
Организация контроля и формирование дублирующего канала для выполнения операции сдвига основана том, что результат поразрядного суммирования по mod 2 значений функции сдвига вправо (влево) с исходным значением информационных разрядов определяет значение информационных разрядов при сдвиге вправо (влево).
i
12
12
11
12
11
10
11
10
9
10
9
8
9
8
7
8
7
6
7
6
5
6
5
4
5
4
3
4
3
2
3
2
1
2
1
1
1
2
1
2
3
2
3
4
3
4
5
4
5
6
5
6
7
6
7
8
7
8
9
8
9
10
9
10
11
10
9
12
11
12
Блок 14 формирования функции сдвига формирует значение функции сдвига вправо относительно исходных значений информационных разрядов у регистра сдвига в соответствии с правилом: s=y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y и значение функции сдвига влево в соответствии с правилом: s=y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y, s=y⊕y.
Формирование дублирующего канала для выполнения операции сдвига включает следующие действия:
1. Исходная информация записывается в основной 6 и резервный 7 регистры сдвига;
2. Считывание информации с резервного регистра 7 сдвига осуществляется с задержкой на один такт.
3. Блок 14 формирования функции сдвига формирует функцию сдвига вправо (влево) относительно значений информационных разрядов, поступающих с выходов резервного регистра 7 сдвига.
4. Значения разрядов функции сдвига поступают на вход первого кодирующего блока 16.
5. Значения контрольных разрядов, с выходов резервного регистра 7 сдвига, соответствующие исходной информации поступают на первые входы блока 22 суммирования поправки, на вторые входы которого поступает значение поправки с выходов первого кодирующего блока 16.
6. В резервном блоке 10 сумматоров по mod 2 осуществляется поразрядное сложение по mod 2 исходного значения информационных разрядов, поступающих с выходов резервного регистра 7 сдвига и значений разрядов функции сдвига, поступающих с выходов блока 14 формирования функции сдвига. В результате получим значения информационных разрядов при сдвиге вправо (влево).
7. Значения информационных разрядов с выходов основного регистра 6 сдвига поступают на вход третьего кодирующего блока 18, а значения информационных разрядов резервного блока 10 суммировании по mod 2 поступают на вход четвертого кодирующего блока 19.
8. Значения контрольных разрядов, соответствующие операции сдвига с выходов блока 22 суммирования поправки поступают на первые входы соответственно первой 20 и второй 21 схем сравнения, на вторые входы которых поступают значения контрольных разрядов, сформированных в третьем 18 и четвертом к 19 кодирующих блоках.
9. В зависимости от значений выходных сигналов первой 20 и второй 21 схем сравнения, к выходам узла обмена подключаются выходы основного или дублирующего канала.
к
П
При сдвиге вправо кодового набора A=00l 011 111 001 000 получим кодовый набор А=000 101 111 100 000.
P
Значение функции сдвига вправо имеет вид: S=001 110 000 101.
В результате поразрядного сложения в резервном блоке 9 сумматоров по mod 2 значений исходного кодового набора с значениями разрядов функции сдвига получим значения информационных разрядов при сдвиге вправо.
При кодировании функции сдвига с помощью предложенного метода значение поправки составит Р=010.
Сложение значений поправки с значениями контрольных разрядов приводит к правильному значению контрольных разрядов при сдвиге информационных разрядов вправо:
Контроль и формирование дублирующего канала для выполнения операции ИЛИ (И) основаны на том, что результат поразрядного суммирования по mod 2 результата выполнения логической операции И (ИЛИ) с результатом сложения по mod 2 исходных кодовых наборов определяет результат выполнения логической операции ИЛИ (И).
Формирование дублирующего канала для выполнения операции ИЛИ (И) реализует следующий алгоритм:
1. В блоке 12 элементов ИЛИ (блоке 11 элементов И) осуществляется выполнение логической операции ИЛИ относительно информационных разрядов;
2. Параллельно, в блоке 11 элементов И, относительно информационных разрядов осуществляется логическая операция И (ИЛИ);
3. В резервном блоке 10 сумматоров по mod 2 производится суммирование исходных кодовых наборов и суммирование по mod 2 контрольных разрядов;
4. Значения контрольных разрядов поступают на блок 22 суммирования поправки,
5. Значения информационных разрядов, полученных при выполнении логической операции И в блоке 11 элементов И, поступают на входы первого кодирующего блока 16 и на входы блока 9 сумматоров по mod 2 где суммируются с результатом, полученным на выходе резервного блока 10 сумматоров по mod 2 (результат сложения соответствует выполнению логической операции ИЛИ);
6. Полученный результат поступает на вход четвертого кодирующего блока 19;
7. Значение поправки, поступающее с выходов первого кодирующего блока 16, поступающее на входы блока 22 суммирования поправки, обеспечивает формирование значений контрольных разрядов, соответствующих рассматриваемой логической операции ИЛИ, которые поступают на первые входы первой 20 и второй 21 схем сравнения.
8. Первая 20 и вторая 21 схемами сравнения соответственно, осуществляют сравнение значений контрольных разрядов сформированных относительно основного и резервного каналов выполнения логической операции ИЛИ и выбора рабочего канала.
к
к
ИЛИ
И
ИЛИ
Для примера, рассматриваемого при организации контроля выполнения логической операции ИЛИ относительно двух 12-разрядных кодовых слов: А=001 001 111 001 110; В=001 100 110 010 101, при выполнении логической операции ИЛИ относительно информационных разрядов и суммирования по mod 2 контрольных разрядов получен результат: S=001 101 111 011 011, у которого значения контрольных разрядов не соответствует полученному результату. Для формирования поправки к полученным значениям контрольных разрядов осуществляется выполнение логической операции И, обеспечивающей получение результата: S=001 000 110 000, на основе которого формируется значение поправки к значениям контрольных разрядов при выполнении логической операции ИЛИ: Р=001.
При сложении по mod 2 исходных кодовых наборов получим результат:
Суммирование по mod 2 информационных разрядов, полученных при выполнении логической операции И, с результатом сложения по mod 2 исходных кодовых наборов, позволяет получить результат выполнения логической операции ИЛИ:
ИЛИ
ИЛИ.
П
В результате суммирования по mod 2 значения результата поправки Р=001 с значениями контрольных разрядов, сформированных при выполнении операции ИЛИ, получим значение контрольных соответствующее данной операции: S. =001 101 111 011 010.
Таким образом предлагаемое изобретение позволяет обеспечить сокращение аппаратурных затрат на резервирование за счет использования для обнаружения ошибок в ЭВМ алгебраического линейного кода с минимальной избыточностью и использования результатов кодирования информации для формирования дублирующего канала за счет функциональной избыточности процессора.