RU2708956C2 - Процессор повышенной достоверности функционирования - Google Patents
Процессор повышенной достоверности функционирования Download PDFInfo
- Publication number
- RU2708956C2 RU2708956C2 RU2018116998A RU2018116998A RU2708956C2 RU 2708956 C2 RU2708956 C2 RU 2708956C2 RU 2018116998 A RU2018116998 A RU 2018116998A RU 2018116998 A RU2018116998 A RU 2018116998A RU 2708956 C2 RU2708956 C2 RU 2708956C2
- Authority
- RU
- Russia
- Prior art keywords
- inputs
- outputs
- register
- control
- block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
- Hardware Redundancy (AREA)
Abstract
Изобретение относится к области вычислительной техники. Технический результат заключается в повышении обнаруживающей способности двойных ошибок в работе процессора. Технический результат достигается за счет процессора повышенной достоверности функционирования, первый и второй блоки кодирования которого дополнительно содержат по третьему выходу, причем первый блок кодирования формирует значения разрядов поправки на своем первом, втором и третьем выходе путем сложения по модулю 2 информационных символов, поступающих с первых выходов блока логических операций и контроля на входы первого блока кодирования, второй блок кодирования, формирует значения проверочных контрольных разрядов на первом, втором и третьем выходах путем сложения по модулю 2 значений информационных символов, полученных при выполнении арифметических и логических операций и поступающих со вторых выходов блока логических операции и контроля на входы второго блока кодирования. 2 ил.
Description
Изобретение относится к области вычислительной техники и предназначено для повышения достоверности функционирования ЭВМ, за счет обнаружения 100% одиночных ошибок и максимального количества двойных ошибок при минимальных временных и аппаратурных затратах.
Известен процессор (Калабеков Б.А, Микропроцессоры и их применение в системах передачи и обработки сигналов, М.: Радио и связь, 1988, 368 с. (стр. 30, рис. 1.3)), содержащий управляющий узел, операционный узел, первая группа входов управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы, которого являются входами данных, а вторые выходы являются выходами данных.
Недостатком устройства является низкая достоверность функционирования процессора, так как не обеспечивается обнаружение ошибок при выполнении арифметических и логических операций - преобразователей информации сумматора, регистров сдвига, устройств выполнения логических операций.
Наиболее близким по техническому решению является процессор повышенной достоверности функционирования по патенту №2439667 от 2012 г., содержащий управляющий узел, операционный узел, дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок контроля, управляющую память, блок логических операций и контроля, включающий блок логического сложения по mod2, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, первые входы управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, первые выходы которой подключены к первым входам блока контроля, второй выход блока управления подключен к второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен соответственно к вторым входам блока контроля, к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первой группе входов блока логических операций и контроля и является выходом синхроимпульсов, второй, третий, четвертый пятый выходы управляющей памяти подключены к третьим и четвертым пятым и шестым входам блока контроля при этом второй выход подключен к четвертому входу второго коммутатора, а третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первой группе входов блока логических операций и контроля и являются выходам управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, шестой выход блока управляющей памяти подключен к пятому входу блока управления, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к пятым входам второго коммутатора, выход счетчика сдвигов подключен к шестым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к вторым входам блока логических операций и контроля, выходы сумматора подключены к третьим входам блока логических операций и контроля, вторые, третьи, четвертые, пятые, шестые и седьмые выходы третьего коммутатора подключены к четвертым, пятым, шестым, седьмым, восьмым и девятым входам блока логических операций и контроля, выходы которого подключены к седьмым, восьмым и девятым входам второго коммутатора.
Недостатком устройства является низкая обнаруживающая способность двойных ошибок при выполнении арифметических и логических операций.
Задачей изобретения является повышение обнаруживающей способности двойных ошибок в работе процессора встроенными средствами контроля при выполнении арифметических и логических операций.
Сущность изобретения заключается в том, что в процессоре повышенной достоверности функционирования, содержащем управляющий узел, операционный узел, дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок контроля, управляющую память, первый блок кодирования, второй блок кодирования, блок логических операций и контроля, включающий блок логического сложения по mod2, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, элемент задержки, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, первые входы управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, первые выходы которой подключены к первым входам блока контроля, второй выход блока управления подключен к второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен соответственно к вторым входам блока контроля, к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первой группе входов блока логических операций и контроля и является выходом синхроимпульсов, второй, третий, четвертый пятый выходы управляющей памяти подключены к третьим и четвертым пятым и шестым входам блока контроля при этом второй выход подключен к четвертому входу второго коммутатора, а третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к второй группе входов блока логических операций и контроля и являются выходам управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, сигналов сдвига, шестой выход блока управляющей памяти подключен к пятому входу блока управления, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к пятым входам второго коммутатора, выход счетчика сдвигов подключен к шестым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к третьим входам блока логических операций и контроля, выходы сумматора подключены к четвертым входам блока логических операций и контроля, вторые, третьи, четвертые, пятые, шестые и седьмые выходы третьего коммутатора подключены к пятым, шестым, седьмым, восьмым, девятым и десятым входам блока логических операций и контроля, первые выходы блока логических операций и контроля подключены к входам первого блока кодирования, первый и второй выходы первого блока кодирования подключены соответственно к двенадцатому и тринадцатому входам блока логических операций и контроля, вторые выходы блока логических операций и контроля подключены к входам второго блока кодирования, первый и второй выходы второго блока кодирования подключены соответственно к четырнадцатому и пятнадцатому входам блока логических операций и контроля, третий, четвертый и пятый выходы блока логических операций и контроля подключены к входам второго коммутатора.
На фиг. 1 представлена блок-схема устройства, на фиг. 2 - таблица 1, где представлены сравнительные характеристики предлагаемого кода.
В процессоре повышенной достоверности функционирования первый и второй блоки кодирования содержат по третьему выходу, причем первый блок 20 кодирования формирует значения разрядов поправки на своем первом p1, втором р2 и третьем р3 выходе путем сложения по модулю 2 информационных символов s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, поступающих с первых выходов блока 19 логических операций и контроля на входы первого блока кодирования, в соответствии с правилом: p1=s3 ⊕ s6 ⊕ s7 ⊕ s8 ⊕ s9 ⊕ s10 ⊕ s11, р2=s2 ⊕ s4 ⊕ s5 ⊕ s8 ⊕ s9 ⊕ s10 ⊕ s11, р3=s1 ⊕ s4 ⊕ s5 ⊕ s6 ⊕ s7 ⊕ s10 ⊕ s11 ⊕ s12, первый, второй выходы первого блока 20 кодирования подключены соответственно к двенадцатому и тринадцатому входам блока 19 логических операций и контроля, а третий выход подключен к шестнадцатому входу блока 19 логических операций и контроля, второй блок 21 кодирования, формирующий значения проверочных контрольных разрядов на первом r1C, втором r2C и третьем r3C выходах путем сложения по модулю 2 значений информационных символов y1C, y2C, y3C, y4C, y5C, y9C, y7C, y8C, у9С, y10C, y11C, y12C, полученных при выполнении арифметических и логических операций и поступающих со вторых выходов блока 19 логических операций и контроля на входы второго блока кодирования в соответствии с правилом: r1C=y3C ⊕ y6C ⊕ y7C ⊕ y8C ⊕ y9C ⊕ y10C ⊕ y11C, r2C=y2C ⊕ y4C ⊕ y5C ⊕ y8C ⊕ y9C ⊕ y10C ⊕ y11C, r3C=y1C ⊕ y4C ⊕ y5C ⊕ y6C ⊕ y7C ⊕ y10C ⊕ y11C ⊕ y12C, первый и второй выходы второго блока 21 кодирования подключены соответственно к четырнадцатому и пятнадцатому входам блока 19 логических операций и контроля, а третий выход подключен к семнадцатому входу блока 19 логических операций и контроля.
Работа схемы формирования поправки при выполнении арифметических операций аналогична работе схемы формирования поправки при выполнении арифметических операций прототипа и формирует значения переносов по правилу:
Так, при выполнении арифметических операций, результат суммы с выхода сумматора 16, поступает на второй вход блока 19 логических операций и контроля. Одновременно значения информационных разрядов слагаемых поступают на четвертый вход блока 19 логических операций и контроля при этом, схема формирования поправки при выполнении арифметических операций формирует вектор переносов s1, s2…s12.
Требуется сложить два числа, содержащих по 12 информационных разрядов:
АК=001 011 111 001 000, ВК=001 100 110 011 100.
Номера разрядов проставлены справа налево, начиная с первого по двенадцатый не считая контрольные разряды.
Сложение по mod 2 значений контрольных разрядов первым блоком элементов неравнозначности и арифметическое суммирование значений информационных разрядов сумматором 16, с учетом переносов, даст результат:
При сложении информационных разрядов перенос единичных значений сигналов осуществляется во второй, третий, шестой, седьмой, восьмой, девятый, десятый и одиннадцатый разряды.
В результате на выходе схемы формирования поправки при выполнении арифметических операций получаем значения разрядов переносов: SП=011 111 100 110, которые через первый блок 61 элементов ИЛИ поступают на вход первого блока 20 кодирования.
Первый блок 20 кодирования формирует значения разрядов поправки на своем первом p1, втором р2 и третьем р3 выходе путем сложения по модулю 2 информационных символов s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, поступающих с первых выходов блока 19 логических операций и контроля, в соответствии с правилом: p1=s3 ⊕ s6 ⊕ s7 ⊕ s8 ⊕ s9 ⊕ s10 ⊕ s11 , р2=s2 ⊕ s4 ⊕ s5 ⊕ s8 ⊕ s9 ⊕ s10 ⊕ s11, р3=s1 ⊕ s4 ⊕ s5 ⊕ s6 ⊕ s7 ⊕ s10 ⊕ s11 ⊕ s12
- разряды переносов пронумерованы слева направо.
Кодирование значений переносов предлагаемым кодом даст значение поправки Рк=110.
Поразрядное сложение по mod2 вторым блоком элементов неравнозначности значения поправки Рк=110 и значения Sk mod2=100, полученного на выходе первого блока элементов неравнозначности и даст правильное значение контрольных разрядов для полученной арифметической суммы: Sк=011 000 101 100 010.
Второй блок 21 кодирования формирует значения проверочных контрольных разрядов на первом r1C, втором r2C и третьем r3C выходах путем сложения по модулю 2 значений информационных символов y1C, у2, y3C, y4C, y5C, y9C, y7C, y8C, у9С, y10C, y11C, y12C, полученных при выполнении арифметической операции (результата суммы S=011 000 101 100) в соответствии с правилом: r1C= y3C ⊕ y6C ⊕ y7C ⊕ y8C ⊕ y9C ⊕ y10C ⊕ y11C, r2C=y2C ⊕ y4C ⊕ y5C ⊕ y8C ⊕ y9C ⊕ y10C ⊕ y11C ⊕ y12C, r3C=y1C ⊕ y4C ⊕ y5C ⊕ y6C ⊕ y7C ⊕ y10C ⊕ y11C ⊕ y12C. В результате получим значения проверочных разрядов: r1C=0; r2C=1; r3C=0.
Сравнение контрольных разрядов сформированных относительно результата суммирования вторым блоком 21 кодирования с значением переданных контрольных разрядов с учетом поправки третьим блоком элементов неравнозначности даст нулевой результат, что свидетельствует об отсутствии ошибки. При контроле операции сдвига вправо, схема формирования поправки при выполнении операции сдвига формирует относительно исходной информации значения разрядов для вычисления поправки в соответствии с выражениями:
s12=z1⊕y12; s11=y12⊕y11; s10=y11⊕y10; s9=y10⊕y9; s8=y9⊕y8; s7=y8⊕y7; s6=y7⊕y6; s5=y6⊕y5; s4=y5⊕y4; s3=y4⊕y3; s2=y3⊕y2; s1=y2⊕y1.
При сдвиге вправо, при отсутствии переноса из другого регистра АК=001 011 111 001 000 получим двоичный набор для получения поправки Р равный: SP=001 110 000 101.
При кодировании данного набора первым блоком 20 кодирования получим значение поправки Р=010.
Сложение по mod2 вторым блоком элементов неравнозначности значений контрольных разрядов с значением поправки даст правильное значение контрольных разрядов при сдвиге информационных разрядов вправо:
Второй блок 21 кодирования формирует значения контрольных разрядов относительно информации, полученной при сдвиге вправо.
Третьим блоком элементов неравнозначности осуществляется сравнение значений контрольных разрядов полученных при операции сдвига информации вправо и сформированных значений контрольных разрядов с учетом поправки относительно исходной информации.
Значение символов для формирования поправки при сдвиге влево, формируются на основе исходного значения информационных разрядов следующим образом: s1=z1⊕y1; s2=y1⊕y2; s3=y2⊕y3; xs4=y3⊕y4; s5=y4⊕y5; s6=y5⊕y6; s7=y6⊕y7; s8=y7⊕y8; s9=y8⊕y9; s10=y9⊕y10; s11=y10⊕y11; s12=y11⊕y12.
При проведении операции сдвига влево, при отсутствии переноса из другого регистра, на один разряд для двоичного набора АК=001 011 111 001 000, получаем кодовый набор: АКЛ=010 111 110 010 000, у которого значение контрольных разрядов не соответствует полученному результату, значению контрольных разрядов равного 110.
Информация на выходе схемы формирования поправки при выполнении операции сдвига имеет вид: SL=011 100 001 010. При кодировании данного набора первым блоком 20 кодирования получим значение поправки Р=110.
Сложение по mod2 вторым блоком элементов неравнозначности исходного значения контрольных разрядов с значением поправки даст правильное значение контрольных разрядов при сдвиге информационных разрядов влево:
Второй блок 21 кодирования формирует значения контрольных разрядов относительно информации, полученной при сдвиге влево.
Третьим блоком элементов неравнозначности осуществляется сравнение значений контрольных разрядов, полученных при операции сдвига информации влево и сформированных значений контрольных разрядов с учетом значения поправки относительно исходной информации.
При выполнении логического сложения, значение вектора для вычисления поправки к контрольным разрядам осуществляется схемой формирования поправки при выполнении операции ИЛИ, путем выполнения операции И относительно одноименных разрядов слагаемых.
Так, например, при выполнении операции ИЛИ относительно информационных разрядов и сложения по mod2 контрольных разрядов первым блоком элементов неравнозначности чисел АК=001 001 111 001 110 и ВК=001 100 110 010 101.
Логическое сложение информационных разрядов кодовых наборов и сложение по mod 2 контрольных разрядов даст результат:
В данном случае полученное значение контрольных разрядов 011 не соответствует требуемому значению контрольных разрядов: 010.
Функциональная схема формирования поправки при выполнении операции ИЛИ выполняет логическую операцию И относительно информационных разрядов рассматриваемых чисел, в результате получим кодовый набор:
Кодирование полученного двоичного набора первым блоком 20 кодирования даст значения поправки к контрольным разрядам при выполнении операции ИЛИ: РИЛИ =001.
Сложение по mod2 полученного значения контрольных разрядов с значением поправки даст правильное значение контрольных разрядов для рассматриваемого примера.
Аналогичным образом формируется поправка при выполнении логического умножения, только при формировании вектора поправки схемой формирования поправки при выполнении операции И, реализуется поразрядная операция ИЛИ относительно одноименных разрядов множимого и множителя. Для операций сложения по mod2 блоком сложения по mod2 формирование поправки к контрольным разрядам не требуется.
Значения контрольных разрядов, сформированные вторым блоком кодирования относительно информационных разрядов, полученных при выполнении арифметических и логических операций, поразрядно сравниваются третьим блоком элементов неравнозначности с переданными значениями контрольными разрядами с учетом поправки. При отсутствии ошибок на его выходах получаем нулевое значение сигналов.
Работа процессора начинается с приходом сигнала "Пуск" по входной группе 22 входов устройства обмена процессора с периферийными блоками. По этой команде блок 5 выдает команду на считывание с управляющей памяти 18 содержимого первой ячейки памяти.
В первой ячейке памяти расположена команда "Сброс системы", которая устанавливает в исходное состояние регистры и блоки процессора, В счетчик 9 команд записывается "1", устройство управления 1 выдает микрокоманды в следующей последовательности:
1) На первом такте сигналы микрокоманды и значения контрольных разрядов поступают на выход блока 17 контроля, где проводится обнаружение и коррекция возникающих ошибок.
В этом случае, при считывании микрокоманды, кодирующей схемой блока 17 контроля проводится формирование контрольных разрядов принятого кодового набора.
Схемой обнаружения ошибки блока 17 контроля производится поразрядное сравнения сформированных и переданных значений контрольных разрядов.
В случае возникновения ошибок, на выходе блока 17 контроля, появится единичный сигнал, свидетельствующий о ее наличии, который при поступлении синхроимпульса через второй коммутатор 7 поступает на устройство обмена.
Если ошибок нет, набор микрокоманд поступает на вход считывания счетчика 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 логических операций и контроля, далее устройство работает в соответствии с примером выполнения арифметических операций, приведенном выше. При этом сформированные значения контрольных разрядов относительно полученной операции сравниваются с переданными значениями контрольных разрядов в блоке 19 логических операций и контроля. При отсутствии ошибки на его выходах имеем нулевые значения сигналов. При наличии ошибки на выходе блока 19 логических операций и контроля появится единичное значение сигнала.
Аналогичным образом процессор функционирует при выполнении логических операций.
8) На восьмом такте выдается микрокоманда "Конец операций" осуществляется переход на следующую операцию, блок 5 управления приводится в исходное состояние и выдает разрешение на начало выполнения следующей команды, адрес которой указан в счетчике 9 команд.
Алгебраический линейный код, используемый в предлагаемом изобретении, имеет большую обнаруживающую способность двойных ошибок по отношению к коду, используемому в прототипе.
В прототипе изобретения представлен алгебраический линейный код с двумя контрольными разрядами, проверочная матрица которого имеет вид:
где два последних столбца соответствуют контрольным разрядам.
В аналитическом виде, значений двух контрольных разрядов формируется по правилу:
Представленный линейный код обнаруживает 100% одиночных ошибок и, в зависимости от числа информационных разрядов, следующий процент двойных ошибок: в шестиразрядном двоичном коде - PO6=75%, для девятиразрядного двоичного кода - PO9=74,5%, для двенадцатиразрядного - PO12=74%, пятнадцатиразрядного - PO15=73%, восемнадцатиразрядного - PO18=72%, двадцатиодногоразрядного -PO21=70%, для двадцатичетырехразрядного - PO24=69,5%, для двадцатисемиразрядного - PO27=69%„ для шестидесятиразрядного -PO60=67%.
Проверочная матрица H для предлагаемого кода имеет вид:
Проверки для формирования значений контрольных разрядов определяются выражением:
r1=y3 ⊕ y6 ⊕ y7 ⊕ y8 ⊕ y9 ⊕ y10 ⊕ y11;
r2=y2 ⊕ y4 ⊕ y5 ⊕ y8 ⊕ y9 ⊕ y10 ⊕ y11;
r3=y1 ⊕ y4 ⊕ y5 ⊕ y6 ⊕ y7 ⊕ y10 ⊕ y11 ⊕ y12.
на фигуре 2 представлены сравнительные обнаруживающие способности двойных ошибок (Робн2) предлагаемого кода с кодом Хэмминга, алгебраического линейного кода с кодовым расстоянием d=3, обнаруживающим 100% двойных ошибок, в зависимости от числа информационных разрядов- k (проверочных разрядов-r).
Рассматриваемый код, по сравнению с кодом используемым в прототипе, имеет большую обнаруживающую способность, а по отношению к линейному коду с кодовым расстоянием d=3, при незначительном снижении вероятности обнаружения двойных ошибок, код имеет меньше проверочных разрядов, меньше аппаратурных затрат на построение кодирующего и декодирующего устройства, а также меньше аппаратурных затрат, связанных с хранение значений проверочных разрядов, что позволяет обеспечить выигрыш в достоверности функционирования контролируемого устройства.
Claims (1)
- Процессор повышенной достоверности функционирования, содержащий управляющий узел, операционный узел, дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок контроля, управляющую память, первый блок кодирования, второй блок кодирования, блок логических операций и контроля, включающий блок логического сложения по mod2, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, первые входы управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, первые выходы которой подключены к первым входам блока контроля, второй выход блока управления подключен к второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен соответственно к вторым входам блока контроля, к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первой группе входов блока логических операций и контроля и является выходом синхроимпульсов, второй, третий, четвертый пятый выходы управляющей памяти подключены к третьим и четвертым пятым и шестым входам блока контроля, при этом второй выход подключен к четвертому входу второго коммутатора, а третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым, пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к второй группе входов блока логических операций и контроля и являются выходами управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, сигналов сдвига, шестой выход блока управляющей памяти подключен к пятому входу блока управления, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к пятым входам второго коммутатора, выход счетчика сдвигов подключен к шестым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к третьим входам блока логических операций и контроля, выходы сумматора подключены к четвертым входам блока логических операций и контроля, вторые, третьи, четвертые, пятые, шестые и седьмые выходы третьего коммутатора подключены к пятым, шестым, седьмым, восьмым, девятым и десятым входам блока логических операций и контроля, первые выходы блока логических операций и контроля подключены к входам первого блока кодирования, первый и второй выходы которого подключены соответственно к двенадцатому и тринадцатому входам блока логических операций и контроля, вторые выходы блока логических операций и контроля подключены к входам второго блока кодирования, первый и второй выходы которого подключены соответственно к четырнадцатому и пятнадцатому входам блока логических операций и контроля, третий, четвертый и пятый выходы блока логических операций и контроля подключены к входам второго коммутатора, отличающийся тем, что первый и второй блоки кодирования дополнительно содержат по третьему выходу, причем первый блок кодирования формирует значения разрядов поправки на своем первом p1, втором р2 и третьем р3 выходе путем сложения по модулю 2 информационных символов s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, поступающих с первых выходов блока логических операций и контроля на входы первого блока кодирования, в соответствии с правилом: p1=s3 ⊕ s6 ⊕ s7 ⊕ s8 ⊕ s9 ⊕ s10 ⊕ s11, р2=s2 ⊕ s4 ⊕ s5 ⊕ s8 ⊕ s9 ⊕ s10 ⊕ s11, р3=s1 ⊕ s4 ⊕ s5 ⊕ s6 ⊕ s7 ⊕ s10 ⊕ s11 ⊕ s12, первый, второй выходы первого блока кодирования подключены соответственно к двенадцатому и тринадцатому входам блока логических операций и контроля, а третий выход подключен к шестнадцатому входу блока логических операций и контроля, второй блок кодирования, формирующий значения проверочных контрольных разрядов на первом r1C, втором r2C и третьем r3C выходах путем сложения по модулю 2 значений информационных символов y1C, y2C, y3C, y4C, y5C, y6C, y7C, y8C, y9C, y10C, y11C, y12C, полученных при выполнении арифметических и логических операций и поступающих со вторых выходов блока логических операций и контроля на входы второго блока кодирования в соответствии с правилом: r1C=y3C ⊕ y6C ⊕ y7C ⊕ y8C ⊕ y9C ⊕ y10C ⊕ Y11C, r2C=y2C ⊕ y4C ⊕ y5C ⊕ y8C ⊕ y9C ⊕ y10C ⊕ y11C, r3C=y1C ⊕ y4C ⊕ y5C ⊕ y6C ⊕ y7C ⊕ y10C ⊕ y11C ⊕ y12C, первый и второй выходы второго блока кодирования подключены соответственно к четырнадцатому и пятнадцатому входам блока логических операций и контроля, а третий выход подключен к семнадцатому входу блока логических операций и контроля.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018116998A RU2708956C2 (ru) | 2018-05-07 | 2018-05-07 | Процессор повышенной достоверности функционирования |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018116998A RU2708956C2 (ru) | 2018-05-07 | 2018-05-07 | Процессор повышенной достоверности функционирования |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2018116998A3 RU2018116998A3 (ru) | 2019-11-07 |
RU2018116998A RU2018116998A (ru) | 2019-11-07 |
RU2708956C2 true RU2708956C2 (ru) | 2019-12-12 |
Family
ID=68500343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018116998A RU2708956C2 (ru) | 2018-05-07 | 2018-05-07 | Процессор повышенной достоверности функционирования |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2708956C2 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2775259C1 (ru) * | 2022-01-13 | 2022-06-28 | Федеральное государственное казённое военное образовательное учреждение высшего образования "Военная академия воздушно-космической обороны имени Маршала Советского Союза Г.К. Жукова" Министерства обороны Российской Федерации | Способ отказоустойчивого функционирования вычислительных комплексов для систем обработки информации военного назначения и устройство его реализующее |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU51428U1 (ru) * | 2004-10-19 | 2006-02-10 | Алексей Николаевич Царьков | Отказоустойчивый процессор повышенной достоверности функционирования |
RU102407U1 (ru) * | 2010-07-22 | 2011-02-27 | Межрегиональное общественное учреждение "Институт инженерной физики" | Процессор эвм |
RU2417409C2 (ru) * | 2009-01-27 | 2011-04-27 | Межрегиональное общественное учреждение "Институт инженерной физики" | Отказоустойчивый процессор |
RU2439667C1 (ru) * | 2010-07-08 | 2012-01-10 | Межрегиональное общественное учреждение "Институт инженерной физики" | Процессор повышенной достоверности функционирования |
JP2014229130A (ja) * | 2013-05-23 | 2014-12-08 | 株式会社日立製作所 | 高信頼プロセッサおよびそれを用いた高信頼制御装置 |
-
2018
- 2018-05-07 RU RU2018116998A patent/RU2708956C2/ru active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU51428U1 (ru) * | 2004-10-19 | 2006-02-10 | Алексей Николаевич Царьков | Отказоустойчивый процессор повышенной достоверности функционирования |
RU2417409C2 (ru) * | 2009-01-27 | 2011-04-27 | Межрегиональное общественное учреждение "Институт инженерной физики" | Отказоустойчивый процессор |
RU2439667C1 (ru) * | 2010-07-08 | 2012-01-10 | Межрегиональное общественное учреждение "Институт инженерной физики" | Процессор повышенной достоверности функционирования |
RU102407U1 (ru) * | 2010-07-22 | 2011-02-27 | Межрегиональное общественное учреждение "Институт инженерной физики" | Процессор эвм |
JP2014229130A (ja) * | 2013-05-23 | 2014-12-08 | 株式会社日立製作所 | 高信頼プロセッサおよびそれを用いた高信頼制御装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2775259C1 (ru) * | 2022-01-13 | 2022-06-28 | Федеральное государственное казённое военное образовательное учреждение высшего образования "Военная академия воздушно-космической обороны имени Маршала Советского Союза Г.К. Жукова" Министерства обороны Российской Федерации | Способ отказоустойчивого функционирования вычислительных комплексов для систем обработки информации военного назначения и устройство его реализующее |
Also Published As
Publication number | Publication date |
---|---|
RU2018116998A3 (ru) | 2019-11-07 |
RU2018116998A (ru) | 2019-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017124237A1 (zh) | 内存设备及基于多层rram交叉阵列的数据处理方法 | |
TW201428756A (zh) | 更新可靠度資料 | |
RU2439667C1 (ru) | Процессор повышенной достоверности функционирования | |
CN109753369B (zh) | 一种寄存器及内存中顺序数组的数据编码及校验方法 | |
Wang et al. | Reliable and secure memories based on algebraic manipulation correction codes | |
RU2417409C2 (ru) | Отказоустойчивый процессор | |
RU2708956C2 (ru) | Процессор повышенной достоверности функционирования | |
US3218612A (en) | Data transfer system | |
RU186547U1 (ru) | Процессор повышенной достоверности функционирования | |
US9218239B2 (en) | Apparatuses and methods for error correction | |
RU2450332C1 (ru) | Устройство хранения информации с обнаружением одиночных и двойных ошибок | |
RU51428U1 (ru) | Отказоустойчивый процессор повышенной достоверности функционирования | |
CN101931415B (zh) | 编码装置及方法、译码装置及方法和纠错系统 | |
RU102407U1 (ru) | Процессор эвм | |
RU204275U1 (ru) | Отказоустойчивый процессор с коррекцией ошибок в байте информации | |
RU2758065C1 (ru) | Отказоустойчивый процессор с коррекцией ошибок в байте информации | |
RU204690U1 (ru) | Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации | |
JP2665268B2 (ja) | サイクリックコードのステップ・バイ・ステップ型復号方法及び復号器 | |
RU2816550C1 (ru) | Устройство хранения и считывания информации с коррекцией одиночных ошибок | |
CN111427717A (zh) | 用于在存储器系统中编码和解码数据的方法和装置 | |
Bu et al. | A hybrid self-diagnosis mechanism with defective nodes locating and attack detection for parallel computing systems | |
US20240289216A1 (en) | Balanced error correction code including explicit quantized knuth index | |
RU102403U1 (ru) | Устройство хранения информации | |
TWI804359B (zh) | 低密度奇偶校檢碼的解碼方法及裝置 | |
RU2297030C2 (ru) | Самокорректирующееся устройство хранения информации |