RU2758410C1 - Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации - Google Patents

Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации Download PDF

Info

Publication number
RU2758410C1
RU2758410C1 RU2021101727A RU2021101727A RU2758410C1 RU 2758410 C1 RU2758410 C1 RU 2758410C1 RU 2021101727 A RU2021101727 A RU 2021101727A RU 2021101727 A RU2021101727 A RU 2021101727A RU 2758410 C1 RU2758410 C1 RU 2758410C1
Authority
RU
Russia
Prior art keywords
block
inputs
outputs
register
control
Prior art date
Application number
RU2021101727A
Other languages
English (en)
Inventor
Александр Вениаминович Долговязов
Егор Александрович Егоров
Алексей Николаевич Лесов
Александр Александрович Михеев
Александр Алексеевич Павлов
Александр Юрьевич Романенко
Алексей Николаевич Царьков
Original Assignee
Межрегиональное общественное учреждение "Институт инженерной физики"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Межрегиональное общественное учреждение "Институт инженерной физики" filed Critical Межрегиональное общественное учреждение "Институт инженерной физики"
Priority to RU2021101727A priority Critical patent/RU2758410C1/ru
Application granted granted Critical
Publication of RU2758410C1 publication Critical patent/RU2758410C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

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

Description

Изобретение относится к вычислительной технике. Известно устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации (Патент на изобретение №2534499 «Устройство хранения и передачи данных с исправлением ошибок в двух байтах информации» авторы: Борисов К.Ю., Павлов А.А., Царьков А,Н., Хоруженко О.В., Гусев А.В. от 25.04.2013 г.), содержащие узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, корректор, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы отличающееся тем, что дополнительно содержит блок хранения векторов ошибок, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования который, формирует значения контрольных разрядов
Figure 00000001
,
Figure 00000002
, путем сложения по модулю 2 информационных символов а0 a1 а2 а3, b0 b1 b32b3, с0 c1c2c3, d0 d1 d2 d3, e0 e1 e2 е3, f0 f1 f2 f3, g0 g1 g2 g3, h0 h1 h2 h3, i0 i1 i2 i3, j0 j1 j2 j3, k0 k1 k2 k3, l0 l1 l2 l3, m0 m1 m2 m3, n0 n1 n2 n3, o0 o1 o2 o3, p0 p1 p2 р3, поступающих на входы входного блока кодирования, в соответствии с правилом:
Figure 00000003
Figure 00000004
Figure 00000005
выходы входного блока кодирования подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов
Figure 00000006
Figure 00000007
Figure 00000008
путем сложения по модулю 2 информационных символов а а а а, b b b b, с ссс, d d d d, е е е2 Пе, f f f f, g g g g, h h h h, i i i i, j j j j, k k k k, l l l l, m m m m, n n n n, о о о о, р p р р, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом:
Figure 00000009
Figure 00000010
Figure 00000011
выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого, подключены выходы контрольных разрядов узла памяти, выходы блока вычисления синдрома ошибки подключены к входам дешифратора выходы которого, подключены к входам блока хранения векторов ошибок, выходы блока хранения векторов ошибок подключены к вторым входам корректора выходы которого, подключены к вторым входам блока элементов И, выходы блока элементов И являются выходами устройства.
Недостатком устройства является ограниченная область его применения, так как оно не позволяет корректировать ошибки в устройствах обработки информации.
Наиболее близким по техническому решению является процессор повышенной достоверности функционирования (Патент на изобретение №2439667 «Процессор повышенной достоверности функционирования» / / Бобков С.Г., Осипенко П.Н., Павлов А.А., Павлов П.А., Павлов А.А., Хоруженко О.В., Царьков А.Н., от 08.07.2010 г.), содержащий управляющий узел, операционный узел, первые входы управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных, отличающееся тем, что он дополнительно содержит дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок контроля, управляющую память, блок логических операций и контроля, включающий блок логического сложения по mod2, блок инвертирования, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, элемент задержки, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключ6ен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, первые выходы которой подключены к первым входам блока контроля, второй выход блока управления подключен к второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен соответственно к вторым входам блока контроля, к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первой группе входов блока логических операций и контроля и является выходом синхроимпульсов, второй, третий, четвертый пятый выходы управляющей памяти подключены к третьим и четвертым пятым и шестым входам блока контроля при этом второй выход подключен к четвертому входу второго коммутатора, а третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первой группе входов блока логических операций и контроля и являются выходам управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, шестой выход блока управляющей памяти подключен к пятому входу блока управления, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к пятым входам второго коммутатора, выход счетчика сдвигов подключен к шестым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к вторым входам блока логических операций и контроля, выходы сумматора подключены к третьим входам блока логических операций и контроля, вторые, третьи, четвертые, пятые, шестые, седьмые и восьмые выходы третьего коммутатора подключены к четвертым, пятым, шестым, седьмым, восьмым, девятым и десятым входам блока логических операций и контроля, выходы которого подключены к седьмым, восьмым и девятым входам второго коммутатора.
Недостатком устройства является недостаточная отказоустойчивость процессора, так как не обеспечивается коррекция возникающих ошибок.
Задачей изобретения является коррекция ошибок в двух байтах информации, возникающих в процессоре ЭВМ при выполнении арифметических и логических операций, например, из-за отсутствия или возникновения лишних переносов.
Сущность изобретения заключается в том, что процессор, содержащий, управляющий узел, операционный узел, дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок логических операций и контроля, включающий блок логического сложения по mod2, блок инвертирования, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, элемент задержки, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, первый, вторые, третьи, четвертые, пятые входы блока логических операций и контроля, первые, вторые, третьи выходы блока логических операций и контроля, управляющую память, входы от устройства обмена, входы данных из запоминающего устройства, выход на устройство обмена, выходы данных на запоминающее устройство, выход адрес запоминающего устройства, выходы синхроимпульсов, выходы для сигналов управления, выходы для команды считывание, выходы для сигналов записи, выходы для сигналов установки в нулевое состояние, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, второй выход блока управления подключен к второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первому входу блока логических операций и контроля и является входом синхроимпульсов, вторые, третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к вторым входам блока логических операций и контроля и являются выходами управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к четвертым входам второго коммутатора, выход счетчика сдвигов подключен к пятым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к третьим входам блока логических операций и контроля, выходы сумматора подключены к четвертым входам блока логических операций и контроля, вторые выходы третьего коммутатора подключены к пятым входам блока логических операции и контроля, отличающееся тем, что он дополнительно содержит дешифратор, блок элементов ИЛИ, блок элементов И, корректор, блок памяти, причем первые выходы блока логических операций и контроля подключены к первым входам корректора, вторые выходы подключены к шестым входам второго коммутатора, третьи выходы блока логических операций и контроля подключены к входам дешифратора, первая группа выходов которого подключена к входам блока памяти, выходы блока памяти подключены к первым входам блока элементов И, второй вход которого подключен к третьему выходу блока управления, а выход подключен к второму входу корректора, выходы корректора подключены к седьмым входам второго коммутатора, вторая группа выходов дешифратора подключена к входам блока элементов ИЛИ, выход которого подключен к восьмому входу второго коммутатора.
Процессор (фиг. 1) содержит управляющий узел 1, операционный узел 2, дешифратор 3 кода операции, генератор 4 тактовых импульсов, блок 5 управления, первый коммутатор 6, второй коммутатор 7, третий коммутатор 8, счетчик 9 команд, счетчик 10 сдвигов, регистр 11 адреса, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 17 логических операций и контроля, первый 18, второй 19, третий 20, четвертый 21, пятый 22 входы блока 17 логических операций и контроля, первый 23, второй 24, третий 25 выходы блока 17 логических операций и контроля, управляющая память 26, входы 27 устройства обмена, входы 28 данные из запоминающего устройства, выход 29 на устройство обмена, выходы 30 данные на запоминающее устройство, выход 31 адрес запоминающего устройства, выходы 32 синхроимпульсов, выходы 33 для сигналов управления, выходы 34 для команды считывание, выходы 35 для сигналов записи, выходы 36 для сигналов установки в нулевое состояние, дешифратор 37, блок 38 элементов ИЛИ, блок 39 элементов И, корректор 40, блок 41 памяти.
Блок 17 логических операций и контроля (фиг. 2) содержит блок 42 сложения по mod2, блок 43 логического сложения, блок 44 логического умножения, функциональную схему 45 формирования поправки при выполнении арифметических операций, функциональную схему 46 формирования поправки при выполнении операции ИЛИ, функциональную схему 47 формирования поправки при выполнении операции И, функциональную схему 48 формирования поправки при выполнении операции сдвига, элемент 49 задержки, первый блок 50 элементов неравнозначности, второй блок 51 элементов неравнозначности, третий блок 52 элементов неравнозначности, первый блок 53 элементов ИЛИ, второй блок 54 элементов ИЛИ, первый блок 55 кодирования, второй блок 56 кодирования, первый блок 57 элементов И, второй блок 58 элементов И.
Функциональная схема 45 формирования поправки при выполнении арифметических операций (фиг. 3) содержит первый элемент 59 И, второй элемент 60 И, третий элемент 61 И, четвертый элемент 62 И, пятый элемент 63 И, шестой элемент 64 И, первый элемент 65 ИЛИ, второй элемент 66 ИЛИ, третий элемент 67 ИЛИ, четвертый элемент 68 ИЛИ, пятый элемент 69 ИЛИ, шестой элемент 70 ИЛИ.
Функциональная схема 48 формирования поправки при выполнении операции сдвига.
Выходы 27 устройства обмена подключены к первому входу блока 5 управления и к первому входу второго коммутатора 7, вторые входы 28 которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора 7 поступают на вход 29 устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к входам дешифратора 3 кода операции, к вторым входам блока 5 управления, к первому входу первого коммутатора 6, первый выход которого подключ6ен к первому входу регистра 11 адреса, третий вход блока 5 управления подключен к выходам дешифратора 3 кода операции, а четвертый вход подключен к выходам генератора 4 тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти 26, первый выход блока 5 управления подключен к входу управляющей памяти 26, второй выход блока 5 управления подключен к второму входу первого коммутатора 6, третьи и четвертые входы которого подключены соответственно к выходам регистра 11 адреса и счетчика 9 команд, а с второго выхода 31 снимается адрес ячейки памяти запоминающего устройства, третий выход блока 5 управления подключен к вторым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8, к третьей группе входов второго коммутатора 7, к первому входу 18 блока 17 логических операций и контроля и является входом синхроимпульсов, вторые, третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8, к третьей группе входов второго коммутатора 7, к вторым входам 19 блока 17 логических операций и контроля и являются выходами управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода подключены к вторым входам третьего коммутатора 8 и к четвертым входам второго коммутатора 7, выход счетчика 10 сдвигов подключен к пятым входам второго коммутатора 7, первые выходы третьего коммутатора 8 подключены соответственно к входам сумматора 16 и к третьим входам 20 блока 17 логических операций и контроля, выходы сумматора 16 подключены к четвертым входам 21 блока 17 логических операций и контроля, вторые выходы третьего коммутатора 8 подключены к пятым входам 22 блока 17 логических операции и контроля, отличающееся тем, что он дополнительно содержит дешифратор 37, блок 38 элементов ИЛИ, блок 39 элементов И, корректор 40, блок 41 памяти, причем первые выходы блока 17 логических операций и контроля подключены к первым входам корректора 40, вторые выходы подключены к шестым входам второго коммутатора 7, третьи выходы блока 17 логических операций и контроля подключены к входам дешифратора 37, первая группа выходов которого подключена к входам блока 41 памяти, выходы блока 41 памяти подключены к первым входам блока 39 элементов И, второй вход которого подключен к третьему выходу блока 5 управления, а выход подключен к второму входу корректора 40, выходы корректора подключены к седьмым входам второго коммутатора 7, вторая группа выходов дешифратора 37 подключена к входам блока 38 элементов ИЛИ, выход которого подключен к восьмому входу второго коммутатора 7.
Процессор предназначен для обработки информации, поступающей с оперативного запоминающего устройства на вход 28.
Для обнаружения и исправления ошибок используем код, исправляющий ошибки в двух байтах информации, реализующий линейную процедуру построения корректирующего кода с синдромным декодированием. Для этого двоичный набор Y, содержащий k информационных символов, разбивается на w=k/b байтов информации (под байтом информации понимается число информационных разрядов не превышающих значение b и пусть b кратно k).
В этом случае двоичный набор может быть представлен в виде:
Figure 00000012
Результат сложения одноименных разрядов переданных и полученных байтов информации будем называть вектором ошибки.
Для формирования первого вектора ошибки осуществим сложение по mod2 одноименных разрядов байтов информации начиная с первого по (b-1) - блок информации, а для формирования второго вектора ошибки осуществим сложение по mod2 одноименных разрядов байтов информации начиная с второго по b - блок информации (осуществим операцию перемежения) и результат суммирования добавим к двоичному набору Y.
В результате получим кодовый набор YK1:
Figure 00000013
Для исправления ошибочных разрядов информации, возникает необходимость формирования совокупности проверок (разработки правила кодирования информации), позволяющих определить блок (байт) информации, содержащий ошибку.
С этой целью, осуществим кодирование блоков информации, используя w матриц кодирования.
Каждая матрица кодирования содержит gH=[log2(k+1)] сток при нечетном значении b и gЧ=[log2(k+1)]+1 - при четном значении b.
Каждая строка матрицы кодирования содержит b разрядов.
Примечание: Квадратные скобки означают округление результата в большую сторону.
Представим одноименные строки матриц кодирования двоичным набором, соответствующим одному из значений множества {2b} таким образом, чтобы результат проверки на четность строк матрицы кодирования в двоичном наборе образовывал номер ui, принадлежащий множеству {2 gH} при нечетном значении b и множеству {2 gЧ} - при четном значении b и при этом для полученных значений номеров выполнялось условие uj--ui≥2t.
Значения контрольных проверок (значений контрольных разрядов) матрицы кодирования формируются сложением по mod2 элементов строк матрицы, имеющих единичные значения.
Для исключения совпадения синдромов ошибок (при k=b2b) для второй части синдромов ошибок требуется r=[log2(2b2b)+1] - контрольных разрядов при четном значении b, и rgH=log2(2b2b) - при нечетном.
В этом случае, число дополнительных контрольных разрядов (строк матрицы кодирования) составит rДОПЧ=[log2(2b2b)+1-b] при четном значении b, и rДОПЧН=[log2(2b2b)-b] - при нечетном.
Граница числа контрольных разрядов для кода, корректирующего ошибки в двух байтах информации с формированием аддитивного вектора ошибки, оценивается выражением:
Figure 00000014
Объединяя по mod2 одноименные контрольные проверки для всех матриц кодирования, получим значения второй части контрольных разрядов
Figure 00000015
Таким образом, имеем регулярную процедуру построения кодового набора с аддитивным формирование вектора ошибки:
Figure 00000016
Результат сложения по mod2 переданных значений контрольных разрядов
Figure 00000017
и контрольных разрядов
Figure 00000018
сформированных относительно полученных информационных разрядов даст значение синдрома ошибки, включающего две части:
Figure 00000019
Значение синдрома ошибки
Figure 00000020
представляют собой векторы ошибки (указывают ошибочные разряды в блоках информации), а значение синдрома ошибки Sg определяет номера ошибочных блоков (байтов) информации.
Декодирования включает следующую стратегию:
Figure 00000021
Для коррекции ошибок в двух байтах информации кратности 4, в двоичном наборе, содержащем 64 информационных разряда, используем код (84,20). Матрицы кодирования информации для формирования второй части контрольных разрядов рассматриваемого кода: -
Figure 00000022
представлены в таблице 1.
Figure 00000023
Figure 00000024
Контрольные проверки (значения второй части контрольных разрядов), полученные относительно полученных матриц кодирования имеют вид:
Figure 00000025
Figure 00000026
В таблице 2 представлена часть значений синдромов ошибок для кода 84,20.
Figure 00000027
Figure 00000028
Figure 00000029
Figure 00000030
Предлагаемый код позволяет осуществлять коррекцию ошибок в двух байтах информации, сократить временные затраты на кодирование и декодирование информации и обеспечить работу канала передачи данных в реальном масштабе времени.
Процессор включает в себя два основных устройства: управляющий узел 1 и операционный узел 2.
Управляющий узел 1 координирует действия узлов операционного узла 2 между собой и с другими устройствами ЭВМ, а также выполняет набор операций, включающих команды обращения к памяти. Он вырабатывает в определенной временной последовательности управляющие сигналы, под действием которых в узлах операционного узла 2 выполняются требуемые действия.
Каждое такое элементарное действие, выполняемое в операционном узле 2 в течение одного тактового периода, называется микрооперацией.
В определенные тактовые периоды одновременно могут выполняться несколько микроопераций. Такая совокупность одновременно выполняемых микроопераций называется микрокомандой, а весь набор микрокоманд, предназначенных для решения определенной задачи называется микропрограммой.
Общий временной интервал, в течение которого происходит выборка, хранение и преобразование одной команды в набор управляющих сигналов, называется циклом работы управляющего узла 1.
Таким образом, управляющий узел 1 осуществляет преобразование команды в соответствующий набор управляющих сигналов и обеспечивает:
чтение команды, находящейся в очередной ячейке памяти;
расшифровку кода операции (команды);
отыскание операндов (чисел) по указанному адресу, содержащемуся в команде;
обеспечить выдачу управляющих сигналов в операционный узел для выполнения над ними действий, указанных в коде операции команды.
В данном случае используется микропрограммный управляющий узел 1, в котором микрокоманды хранятся в управляющей памяти 19.
В этом случае, слова, отображающие команды хранятся в памяти в последовательно пронумерованных ячейках, что позволяет формировать адрес очередной команды, добавлением единицы к адресу предыдущей команды, при этом слово состоит из нескольких частей: например, кода операции, указывающего вид операции и адресов чисел, над которыми должна быть произведена соответствующая операция.
Дешифратор 3 кода операций по выбранной из оперативной памяти команде определяет номер требуемой микропрограммы в управляющей памяти 26.
Генератор 4 тактовых импульсов предназначен для формирования тактовых и синхронизирующих импульсов.
Счетчик 9 команд предназначен для формирования адреса ячейки памяти очередной команды, путем естественной выборки, т.е. прибавлением к его содержимому единицы.
Регистр 11 адреса предназначен для формирования адреса ячейки памяти при командах условного или безусловного перехода с возвратом.
Блок 5 управления предназначен для определения адреса очередной микрокоманды в управляющей памяти 20, формирования адреса очередной команды (управления работой первого коммутатора 6), координации работы (выдачи синхроимпульсов) устройств процессора 1.
Управляющая память 26 представляет собой постоянное запоминающее устройство и предназначена для выдачи (в зависимости от кода операции) выдачи управляющих сигналов (сигналов управления, сигналов считывания, сигналов записи, сигналов установки в нулевое состояние) на функциональные узлы процессора. При этом слово памяти содержит информационные разряды (для управляющих сигналов) и контрольные разряды, сформированные на основе предлагаемого метода кодирования.
Операционный узел 2 предназначен для выполнения арифметических и логических операций и включает в свой состав (фиг. 1) счетчик 10 сдвигов, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 17 логических операций и контроля.
Счетчик 10 сдвигов предназначен для подсчета количества сдвигов при выполнении операций умножения и деления, количества сдвигов промежуточных результатов и нормализации.
Регистр 11 адреса представляет собой регистр памяти и предназначен для хранения адресе очередной команды.
Регистр 12 числа представляет собой регистр памяти и предназначен для хранения операндов при выполнении арифметических и логических операций (хранения множимого, при выполнении операции умножения и делителя при выполнении операции деления).
Регистр 13 сумматора (аккумулятора) представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления), и предназначен для хранения делимого старших разрядов результата умножения.
Заметим, что при выполнении операции деления, блоком 5 управления анализируется значение знакового разряда регистра 12 числа и регистра 13 сумматора.
Регистр 14 дополнительный представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления), и предназначен для хранения множителя и младших разрядов результата умножения при выполнении операции умножения и результата деления при выполнении операции деления).
Заметим, что при выполнении операции умножения, блоком 5 управления анализируется значение младшего разряда регистра 14 дополнительного.
Регистр 15 дополнительного кода представляет собой регистр памяти и предназначен для хранения отрицательного числа в дополнительном коде (при выполнении операции вычитания и операции деления).
Блок 17 логических операций и контроля (фиг. 2) предназначен для обнаружения и коррекции ошибок, возникающих при выполнении арифметических и логических операций.
Сумматор 16 представляет собой параллельный n-разрядный сумматор и предназначен для выполнения операции сложения чисел, например, двух двоичных наборов:
Figure 00000031
В результате кодирования информации получим значения контрольных разрядов:
Figure 00000032
Совокупность значений контрольных разрядов r1 r2 r3 r4 r5 r6 r7 r8 при формировании синдрома ошибки указывают ошибочные разряды в блоках информации, а значение контрольных разрядов r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 указывают номера ошибочных блоков (байтов) информации.
Figure 00000033
В результате арифметического сложения информационных разрядов и сложения по mod2 значений контрольных получим результат:
Figure 00000034
Анализ полученного результата, позволяет сделать вывод, что значения контрольных не соответствуют результату суммы информационных разрядов.
Для формирования требуемого значения контрольных разрядов для к полученному значению контрольных разрядов прибавляется поправка, сформированная относительно функции переносов, путем кодирования ее рассматриваемым методом кодирования информации.
Функциональная схема 45 формирования поправки при выполнении арифметических операций (Фиг. 3) формирует функцию переносов относительно рассматриваемых слагаемых:
Figure 00000035
Для рассматриваемого примера имеем функцию переносов:
Figure 00000036
Значения разрядов функции переносов через первый блок 53 элементов ИЛИ поступают на вход первого блока 55 кодирования, с выходов которого снимается значения поправки к значениям контрольных разрядов при выполнении арифметических операций.
Для полученной функции переносов значение поправки равно:
Figure 00000037
В первом блоке 50 элементов неравнозначности осуществляется поразрядное сложение по mod2 значений контрольных разрядов слагаемых. Во втором блоке 51 элементов неравнозначности осуществляется поразрядное сложение результата суммы значений контрольных разрядов с значениями разрядов поправки. В результате имеем правильное значение контрольных разрядов для арифметической операции сложения. Для нашего примера получим значение контрольных разрядов:
Figure 00000038
Вторым блоком 56 кодирования осуществляется кодирование результата суммы слагаемых, поступающего с выходов сумматора 16.
Третьим блоком 52 неравнозначности осуществляется поразрядное сравнение значений контрольных разрядов сформированных относительно полученной арифметической суммы и сформированных на втором блоке 51 элементов неравнозначности. С выходов третьего блока 52 снимается значение синдрома ошибки.
При сдвиге вправо, функциональная схема 48 формирования поправки при выполнении операции сдвига формирует функцию сдвига на основе исходных значений информационных разрядов следующим образом:
Figure 00000039
где: z1 - значение сигнала переноса из другого регистра, например в старший разряд регистра дополнительного из младшего разряда регистра сумматора при выполнении операции умножения; нумерация информационных разрядов осуществляется справа налево.
Значение разрядов функции сдвигов через первый блок 53 элементов ИЛИ поступают на вход первого блока 55 кодирования, с входов которого снимается значение поправки к контрольным разрядам при сдвиге вправо.
Во втором блоке 51 элементов неравнозначности осуществляется поразрядное сложение значений поправки с значениями контрольных разрядов сдвигаемой информации.
Одновременно результаты сдвига информационных разрядов, через блок 53 элементов ИЛИ поступают на вход второго блока 55 кодирования. Результаты значений контрольных разрядов сформированных на втором блоке 51 элементов неравнозначности и поступающих с выходов второго блока 56 кодирования поразрядно сравниваются третьим блоком 52 элементов неравнозначности, с выходов которого снимается значение синдрома ошибки.
Например, при сдвиге вправо и отсутствии переноса из другого регистра кодового набора:
Figure 00000040
получим двоичный набор для формирования поправки Р:
Figure 00000041
При кодировании данного набора с помощью предложенного метода первым блоком 55 кодирования значение поправки составит
Figure 00000042
. Сложение по mod2 вторым блоком 51 элементов неравнозначности исходного значения контрольных разрядов и значения поправки приведет к правильному значению контрольных разрядов при сдвиге информационных разрядов вправо:
Figure 00000043
где SП - результат, полученный при сдвиге исходного кодового набора вправо.
Значения символов поправки при сдвиге влево формируются на основе исходного значения информационных разрядов следующим образом:
Figure 00000044
где z1 - значение сигнала переноса старшего разряда одного регистра в младший разряд регистра сдвига.
Формирование синдрома ошибки при сдвиге влево осуществляется аналогичным образом.
При выполнении операции логического сложения, значение вектора для вычисления поправки к контрольным разрядам осуществляется схемой 46 формирования поправки при выполнении операции ИЛИ путем выполнения операции И относительно одноименных разрядов слагаемых и кодирования полученного результата рассматриваемым методом..
Так, например, при выполнении операции ИЛИ относительно информационных разрядов блоком 43 элементов ИЛИ и сложения по mod2 контрольных разрядов первым блоком 50 элементов неравнозначности (фиг. 2) чисел А и В имеем результат:
Figure 00000045
Функциональную схему 46 формирования поправки при выполнении операции ИЛИ выполняет операцию И относительно информационных разрядов даст значение вектора для вычисления поправки:
Figure 00000046
В этом случае первый блок 55 кодирования сформирует значение поправки:
Figure 00000047
.
В результате сложения по mod2 вторым блоком 51 элементов неравнозначности значения поправки и значений контрольных разрядов, поступающих с первого блока 50 элементов неравнозначности, получим результат:
Figure 00000048
, т.е. имеем правильное значение контрольных разрядов для операции ИЛИ.
Результаты значений контрольных разрядов сформированных на втором блоке 51 элементов неравнозначности и поступающих с выходов второго блока 56 кодирования поразрядно сравниваются третьим блоком 52 элементов неравнозначности, с выходов которого снимается значение синдрома ошибки.
Аналогичным образом формируется поправка при выполнении логического умножения, только при формировании вектора поправки схемой 47 формирования поправки при выполнении операции И, реализуется поразрядная операция ИЛИ относительно одноименных разрядов множимого и множителя.
Для операций логического сложения по mod2 блоком 41 сложения по mod2 формирование поправки к контрольным разрядам не требуется.
Так, например, при выполнении операции сложения по mod2 информационных разрядов блоком 41 сложения по mod2 и контрольных разрядов первым блоком 49 элементов неравнозначности (фиг. 2) чисел А и В имеем результат:
Figure 00000049
Значения контрольных разрядов, сформированные вторым блоком 56 кодирования относительно информационных разрядов, полученных при выполнении арифметических и логических операций, поразрядно сравниваются третьим блоком 52 элементов неравнозначности с переданными значениями контрольными разрядами с учетом поправки.
При отсутствии ошибок на его выходах имеем нулевое значение сигналов.
Работа процессора начинается с приходом сигнала "Пуск" по входной группе 27 входов устройства обмена процессора с периферийными блоками. По этой команде блок 5 выдает команду на считывание с управляющей памяти 26 содержимого первой ячейки памяти.
В первой ячейке памяти расположена команда "Сброс системы", которая устанавливает в исходное состояние регистры и блоки процессора, В счетчик 9 команд записывается "1", устройство управления 1 выдает микрокоманды в следующей последовательности:
1) На первом такте сигналы микрокоманды поступает на вход считывания счетчика 9 команд и на вход записи регистра 11 адреса, при этом содержимое счетчика 9 команд пересылается в регистр 11 адреса (или через первый коммутатор 6 на адресные входы запоминающего устройства при естественной выборке команд непосредственно со счетчика 9 команд);
2) На втором такте к содержимому счетчика 9 команд прибавляется единица - подготавливается адрес следующей команды;
1) На третьем такте сигналы микрокоманды поступают на вход считывания регистра 11 адреса и на вход считывания содержимого ячейки памяти запоминающего устройства по указанному адресу. При этом команда, хранящаяся в первой ячейке памяти, записывается в регистр 12 числа;
2) На четвертом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, вход второго коммутатора 7 и на вход дешифратора 3 кода операции, где раскодируются, после чего управляющий узел 1 переходит ко второму этапу работы.
Для примера рассмотрим порядок исполнения одной из команд, записанной в регистре 12 числа после выполнения первых четырех тактов.
Пусть в поле кода операции команды содержимого регистра 12 числа записана команда сложения содержимого регистра 13 сумматора с числом расположенным запоминающем устройстве по адресу, указанному в поле адреса регистра 12 числа, (при использовании одноадресной команды).
Управляющий узел 1 при этом выдает следующие микрокоманды:
3) на пятом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, на вход второго коммутатора 7, первого коммутатора 6 и на вход записи регистра 11 адреса (адрес, хранящийся в регистре 12 числа записывается в регистр 11 адреса, содержимое регистра 12 числа обнуляется);
4) На шестом такте сигналы микрокоманды подаются на вход считывания регистра 11 адреса, на вход первого коммутатора 6, на вход считывания запоминающего устройства и на вход записи регистра 12 числа (из запоминающего устройства в регистр 12 числа записывается второе слагаемое (считаем, что первое слагаемое уже находится в регистре 13 сумматора);
5) На седьмом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа и регистра 13 сумматора, при этом арифметико-логическое устройство осуществляет операцию сложения и запись результата сложения в регистр 13 сумматора следующим образом.
Результат суммы с выхода сумматора 16, поступает на блок 17 логических операций и контроля (фиг. 2), далее устройство работает в соответствии с примером выполнения арифметических операций, приведенном выше.
При этом сформированные значения контрольных разрядов относительно полученной операции сравниваются с переданными значениями контрольных разрядов третьим блоком 52 элементов неравнозначности (фиг. 2). При отсутствии ошибки на его выходах имеем нулевые значения сигналов.
Пусть, произошла одиночная ошибка в четвертом разряде шестнадцатого блока информации (Р=0001*),
На выходе третьего блоке 52 элементов неравнозначности получим значение синдрома ошибки:
Figure 00000050
В этом случае, синдром ошибки указывает четвертый ошибочный разряд блока Р (вторая строка табл.2).
На выходе дешифратора 37 появится единичное значение сигнала, которое формирует адрес блока информации, имеющего ошибку и значение вектора ошибки, которые поступают на вход блока 39 элементов И.
При поступлении синхроимпульса на второй вход блока 39 элементов И, значения вектора ошибки поступает на входы корректора 40.
В корректоре 40 осуществляется коррекция ошибочных информационных разрядов, путем поразрядного сложения по mod2 значений вектора ошибки с информационными разрядами байта информации, имеющего ошибку.
С выходов корректора 40, значения информационных разрядов и значения контрольных разрядов с выходов 24 блока 17 логических операций и контроля поступают на входы второго коммутатора 7.
Аналогичным образом процессор функционирует при выполнении логических операций.
При возникновении некорректируемой ошибки, сигналы с выходов дешифратора 37 через блок 38 элементов ИЛИ и второй коммутатор 7 поступают в систему прерывания, где формируется сигнал «Отказ процессора».
8) На восьмом такте выдается микрокоманда "Конец операций" осуществляется переход на следующую операцию, блок 5 управления приводится в исходное состояние и выдает разрешение на начало выполнения следующей команды, адрес которой указан в счетчике 9 команд.

Claims (35)

  1. Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации, содержащий управляющий узел, операционный узел, дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок логических операций и контроля, включающий блок логического сложения по mod2, блок инвертирования, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, элемент задержки, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, первый, вторые, третьи, четвертые, пятые входы блока логических операций и контроля, первые, вторые, третьи выходы блока логических операций и контроля, управляющую память, входы от устройства обмена, входы данных из запоминающего устройства, включающих значения контрольных разрядов r1 f, r2 f, r3 f, r4 f, r5 f, r6 f, r7 f, r8 f, r9 g, r10 g, r11 g, r12 g, r13 g, r14 g, r15 g, r16 g, r17 g, r18 g, r19 g, r20 g, сформированных путем сложения по модулю 2 информационных символов а0 a1 а2 а3, b0 b1 b32b3, с0 c1c2c3, d0 d1 d2 d3, e0 e1 e2 e3, f0 f1 f2 f3, g0 g1 g2 g3, h0 h1 h2 h3, i0 i1 i2 i3, j0 j1 j2 j3, k0 k1 k2 k3, l0 l1 l2 l3, m0 m1 m2 m3, n0 n1 n2 n3, o0 o1 o2 o3, p0 p1 p2 р3 в соответствии с правилом кодирования информации:
  2. Figure 00000051
  3. Figure 00000052
  4. Figure 00000053
  5. Figure 00000054
  6. Figure 00000055
  7. Figure 00000056
  8. Figure 00000057
  9. Figure 00000058
  10. Figure 00000059
  11. Figure 00000060
  12. Figure 00000061
  13. Figure 00000062
  14. Figure 00000063
  15. Figure 00000064
  16. Figure 00000065
  17. Figure 00000066
  18. Figure 00000067
  19. Figure 00000068
  20. Figure 00000069
  21. Figure 00000070
  22. Figure 00000071
  23. Figure 00000072
  24. Figure 00000073
  25. Figure 00000074
  26. Figure 00000075
  27. Figure 00000076
  28. Figure 00000077
  29. Figure 00000078
  30. Figure 00000079
  31. Figure 00000080
  32. Figure 00000081
  33. Figure 00000082
  34. Figure 00000083
  35. выход на устройство обмена, выходы данных на запоминающее устройство, выход адрес запоминающего устройства, выходы синхроимпульсов, выходы для сигналов управления, выходы для команды считывание, выходы для сигналов записи, выходы для сигналов установки в нулевое состояние, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, ко вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, второй выход блока управления подключен ко второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а со второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен ко вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первому входу блока логических операций и контроля и является входом синхроимпульсов, вторые, третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым, пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, ко вторым входам блока логических операций и контроля и являются выходами управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены ко вторым входам третьего коммутатора и к четвертым входам второго коммутатора, выход счетчика сдвигов подключен к пятым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к третьим входам блока логических операций и контроля, выходы сумматора подключены к четвертым входам блока логических операций и контроля, вторые выходы третьего коммутатора подключены к пятым входам блока логических операций и контроля, отличающийся тем, что он дополнительно содержит дешифратор, блок элементов ИЛИ, блок элементов И, корректор, блок памяти, причем первые выходы блока логических операций и контроля подключены к первым входам корректора, вторые выходы подключены к шестым входам второго коммутатора, третьи выходы блока логических операций и контроля подключены к входам дешифратора, первая группа выходов которого подключена к входам блока памяти, выходы блока памяти подключены к первым входам блока элементов И, второй вход которого подключен к третьему выходу блока управления, а выход подключен ко второму входу корректора, выходы корректора подключены к седьмым входам второго коммутатора, вторая группа выходов дешифратора подключена к входам блока элементов ИЛИ, выход которого подключен к восьмому входу второго коммутатора, для обнаружения и коррекции ошибок, возникающих при выполнении арифметической операции сложения, в блоке логических операций и контроля, осуществляется поразрядное сложение по mod2 значений контрольных разрядов слагаемых и поразрядное сложение по mod2 полученного результата со значением поправки, полученной путем формирования функции переносов и кодирования ее рассматриваемым методом кодирования информации, 64-разрядная функция переносов формируется по правилу: s1=0, S2=y1A ^ y1B, s32A ^ y2B v (у2A ^ у2B) ^ s2. s43A ^ у3B v (у ^ у3B) ^ s3, s5 ^ у4B v (у ^ у) ^ s4, …, s6463А ^ у63В v (у63А ^ у63B) ^ s63, в результате поразрядного сложения по mod2 полученных значений контрольных разрядов со значением контрольных разрядов, сформированных от результата арифметической суммы информационных разрядов, получим значение синдрома ошибки, для обнаружения и коррекции ошибок, возникающих при выполнении логической операции И в блоке логических операций и контроля, осуществляется поразрядное сложение по mod2 значений контрольных разрядов операндов и поразрядное сложение по mod2 полученного результата со значением поправки, сформированной функциональной схемой формирования поправки при выполнении операции И, в которой относительно рассматриваемых операндов реализуется логическая операция ИЛИ, а ее результат кодируется рассматриваемым методом кодирования информации, в результате поразрядного сложения по mod2 полученных значений контрольных разрядов со значением контрольных разрядов, сформированных от результата логического умножения, получим значение синдрома ошибки, для обнаружения и коррекции ошибок, возникающих при выполнении логической операции ИЛИ в блоке логических операций и контроля, осуществляется поразрядное сложение по mod2 значений контрольных разрядов операндов и поразрядное сложение по mod2 полученного результата со значением поправки, сформированной функциональной схемой формирования поправки при выполнении операции ИЛИ, в которой относительно рассматриваемых операндов реализуется логическая операция И, а ее результат кодируется рассматриваемым методом кодирования информации, в результате поразрядного сложения по mod2 полученных значений контрольных разрядов со значением контрольных разрядов, сформированных от результата логического сложения, получим значение синдрома ошибки, для обнаружения и коррекции ошибок, возникающих при выполнении логической операции сдвига вправо, в блоке логических операций и контроля, осуществляется поразрядное сложение по mod2 исходных значений контрольных разрядов со значением поправки, сформированной функциональной схемой формирования поправки при выполнении операции сдвига, полученной путем формирования функции сдвига вправо и кодирования ее рассматриваемым методом кодирования информации, 64-разрядная функция сдвига вправо формируется по правилу: s64= z ⊕ у64, s63= у63 ⊕ у64, s62= у61 ⊕ у62, …, s12 ⊕ y1, в результате поразрядного сложения по mod2 полученных значений контрольных разрядов со значением контрольных разрядов, сформированных от результата сдвига информационных разрядов вправо, получим значение синдрома ошибки, для обнаружения и коррекции ошибок, возникающих при выполнении логической операции сдвига влево, в блоке логических операций и контроля, осуществляется поразрядное сложение по mod2 исходных значений контрольных разрядов со значением поправки, сформированной функциональной схемой формирования поправки при выполнении операции сдвига, полученной путем формирования функции сдвига влево и кодирования ее рассматриваемым методом кодирования информации, 64-разрядная функция сдвига влево формируется по правилу: s1= z ⊕ у1, s2= y1 ⊕ у2, s3= у2 ⊕ у3, …, s64= у63 ⊕ у64, в результате поразрядного сложения по mod2 полученных значений контрольных разрядов со значением контрольных разрядов, сформированных от результата сдвига информационных разрядов влево, получим значение синдрома ошибки, для обнаружения и коррекции ошибок, возникающих при выполнении операции логического сложения по mod2, в блоке логических операций и контроля, осуществляется поразрядное сложение по mod2 значений информационных разрядов и значений контрольных разрядов слагаемых, формирование поправки к полученной сумме контрольных разрядов не требуется, в результате поразрядного сложения по mod2 полученных значений контрольных разрядов со значением контрольных разрядов, сформированных от результата логического сложения по mod2 информационных разрядов, получим значение синдрома ошибки.
RU2021101727A 2021-01-26 2021-01-26 Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации RU2758410C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2021101727A RU2758410C1 (ru) 2021-01-26 2021-01-26 Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2021101727A RU2758410C1 (ru) 2021-01-26 2021-01-26 Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации

Publications (1)

Publication Number Publication Date
RU2758410C1 true RU2758410C1 (ru) 2021-10-28

Family

ID=78466583

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2021101727A RU2758410C1 (ru) 2021-01-26 2021-01-26 Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации

Country Status (1)

Country Link
RU (1) RU2758410C1 (ru)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933436A (en) * 1995-03-16 1999-08-03 Kabushiki Kaisha Toshiba Error correction/detection circuit and semiconductor memory device using the same
RU2403615C2 (ru) * 2009-01-27 2010-11-10 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи информации с обнаружением двойных ошибок
RU2448359C1 (ru) * 2011-04-05 2012-04-20 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
RU2450331C1 (ru) * 2011-04-05 2012-05-10 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933436A (en) * 1995-03-16 1999-08-03 Kabushiki Kaisha Toshiba Error correction/detection circuit and semiconductor memory device using the same
RU2403615C2 (ru) * 2009-01-27 2010-11-10 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи информации с обнаружением двойных ошибок
RU2448359C1 (ru) * 2011-04-05 2012-04-20 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
RU2450331C1 (ru) * 2011-04-05 2012-05-10 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации

Similar Documents

Publication Publication Date Title
US4402045A (en) Multi-processor computer system
US8010875B2 (en) Error correcting code with chip kill capability and power saving enhancement
Avizienis Arithmetic error codes: Cost and effectiveness studies for application in digital system design
Avizienis Arithmetic algorithms for error-coded operands
RU2439667C1 (ru) Процессор повышенной достоверности функционирования
RU2403615C2 (ru) Устройство хранения и передачи информации с обнаружением двойных ошибок
EP0366331A2 (en) System and method for error detection in the result of an arithmetic operation
RU2417409C2 (ru) Отказоустойчивый процессор
US3218612A (en) Data transfer system
RU2758410C1 (ru) Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации
RU204690U1 (ru) Отказоустойчивый процессор с коррекцией ошибок в двух байтах информации
RU164633U1 (ru) Устройство хранения и передачи информации с обнаружением ошибок
RU2758065C1 (ru) Отказоустойчивый процессор с коррекцией ошибок в байте информации
RU204275U1 (ru) Отказоустойчивый процессор с коррекцией ошибок в байте информации
CN108665940B (zh) Ecc编码电路、解码电路以及存储器控制器
RU51428U1 (ru) Отказоустойчивый процессор повышенной достоверности функционирования
WO2022151724A1 (zh) 纠错系统
JP2732862B2 (ja) データ伝送試験装置
RU102407U1 (ru) Процессор эвм
RU2622881C1 (ru) Устройство для вычисления сумм парных произведений в полиномиальной системе классов вычетов
RU2450332C1 (ru) Устройство хранения информации с обнаружением одиночных и двойных ошибок
RU2542665C1 (ru) Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации
RU106771U1 (ru) Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
RU2816550C1 (ru) Устройство хранения и считывания информации с коррекцией одиночных ошибок
RU186547U1 (ru) Процессор повышенной достоверности функционирования