RU51428U1 - FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY - Google Patents
FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY Download PDFInfo
- Publication number
- RU51428U1 RU51428U1 RU2004130144/22U RU2004130144U RU51428U1 RU 51428 U1 RU51428 U1 RU 51428U1 RU 2004130144/22 U RU2004130144/22 U RU 2004130144/22U RU 2004130144 U RU2004130144 U RU 2004130144U RU 51428 U1 RU51428 U1 RU 51428U1
- Authority
- RU
- Russia
- Prior art keywords
- inputs
- elements
- group
- outputs
- input
- Prior art date
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
Полезная модель относится к области автоматики и вычислительной техники и предназначено для повышения достоверности функционирования процессора, за счет коррекции 46% ошибок, кратность которых не превышает k-1, при условии обнаружения максимального количества ошибок в кодовом наборе. Это достигается за счет введения блока коррекции для обнаружения и исправления шибок управляющей памяти процессора, введением блока контроля позволяющего обнаруживать и корректировать ошибки арифметическо-логического устройства при выполнении арифметических и логических операций.The utility model relates to the field of automation and computer technology and is intended to increase the reliability of the processor by correcting 46% of errors, the multiplicity of which does not exceed k-1, provided that the maximum number of errors in the code set is detected. This is achieved by introducing a correction block for detecting and correcting errors in the control memory of the processor, by introducing a control block to detect and correct errors of the arithmetic-logical device when performing arithmetic and logical operations.
Description
Полезная модель относится к вычислительной технике и может быть использована для повышения достоверности функционирования работы процессора ЭВМ.The utility model relates to computer technology and can be used to increase the reliability of the functioning of the computer processor.
Известно самокорректирующееся дискретное устройство [1], содержащие исходную схему, первое кодирующее устройство, схему синдрома ошибки, дешифратор ошибки, корректор, второе, третье и четвертое кодирующие устройства, с первой по четвертую схемы свертки, схему признака ошибки, элемент ИЛИ, входы устройства подключены к исходной схеме и к входам первого кодирующего устройства, к входам второго кодирующего устройства, а выходы исходной схемы подключены к входам третьего и четвертого кодирующих устройств, к первым входам корректора, выходы которого являются выходами устройства, выходы с первого по четвертое кодирующих устройств подключены соответственно к входам с первой по четвертую схем свертки, выходы первой и третьей схем свертки подключены к входам схемы синдрома ошибки, выходы второй и четвертой схем свертки подключены к входам схемы признака ошибки, выходы схемы синдрома ошибки и признака ошибки подключены к входам дешифратора ошибки, первая группа выходов дешифратора ошибки подключена к вторым входам корректора, а вторая группа выходов подключена к входу элемента ИЛИ, с выхода которого снимается сигнал "отказ устройства".It is known self-correcting discrete device [1], containing the original circuit, the first encoding device, the scheme of the error syndrome, error decoder, corrector, the second, third and fourth encoding devices, the first to fourth convolution schemes, the error indicator circuit, the OR element, the device inputs are connected to the original circuit and to the inputs of the first encoder, to the inputs of the second encoder, and the outputs of the original circuit are connected to the inputs of the third and fourth encoders, to the first inputs of the corrector, the outputs to They are the device outputs, the outputs from the first to fourth encoding devices are connected respectively to the inputs from the first to fourth convolution schemes, the outputs of the first and third convolution schemes are connected to the inputs of the error syndrome circuit, the outputs of the second and fourth convolution schemes are connected to the inputs of the error symptom circuit, the outputs schemes of the error syndrome and the error sign are connected to the inputs of the error decoder, the first group of outputs of the error decoder is connected to the second inputs of the corrector, and the second group of outputs is connected to the input of the element OR, from the output of which the "device failure" signal is removed.
Недостатком устройства является ограниченная область его применения, так как оно позволяет обеспечить высокую достоверность функционирования только запоминающих устройств ЭВМ.The disadvantage of this device is the limited scope of its application, since it allows to ensure high reliability of the operation of only computer storage devices.
Наиболее близким по техническому решению является процессор [2], содержащий управляющий узел, операционный узел, первая группа входов The closest in technical solution is the processor [2], containing a control node, an operational node, the first group of inputs
управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных.the control node is the processor inputs, the second group of inputs of the control node is connected to the first outputs of the operational node, the outputs of the control node are connected to the first inputs of the operational node, the second inputs of which are data inputs, and the second outputs are data outputs.
Недостатком устройства является низкая достоверность функционирования, так как не обеспечивается обнаружение и коррекция ошибок при выполнении арифметических и логических операций (преобразователей информации: сумматора, регистров сдвига, устройств выполнения логических операций).The disadvantage of this device is the low reliability of operation, since it does not provide for the detection and correction of errors when performing arithmetic and logical operations (information converters: adder, shift registers, devices for performing logical operations).
Целью изобретения является повышение достоверности функционирования процессора за счет обнаружения и коррекции возникающих ошибок.The aim of the invention is to increase the reliability of the processor due to the detection and correction of errors.
Поставленная цель достигается тем, что процессор, содержащий управляющий узел, операционный узел, первые входы управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных, отличающееся тем, что он дополнительно содержит дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок коррекции, блок логических операций, управляющую память, блок контроля, включающий формирователь поправки, который в свою очередь содержит функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции сдвига, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему This goal is achieved in that the processor containing the control unit, the operation unit, the first inputs of the control unit are the inputs of the processor, the second group of inputs of the control unit is connected to the first outputs of the operation unit, the outputs of the control unit are connected to the first inputs of the operation unit, the second inputs of which are inputs data, and the second outputs are data outputs, characterized in that it further comprises an operation code decoder, a clock, a control unit, a first comm tator, second switch, third switch, command counter, shift counter, address register, number register, adder register, additional register, additional code register, adder, correction block, logical operations unit, control memory, control unit, including correction shaper, which in turn, contains a functional diagram of the amendment when performing arithmetic operations, a functional diagram of the amendment when performing the shift operation, a functional diagram of the amendment when performing the OR operation, functional diagram
формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции НЕ, входы устройства обмена подключены к первому входу блока управления и к первым входам второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора первый выход которого подключбен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, выходы которой подключены к первым входам блока коррекции, второй выход блока управления подключен к второму входу первого коммутатора, вторые и третьи входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен соответственно к вторым входам блока коррекции, к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора и к третьей группе входов второго коммутатора и является выходом синхроимпульсов, первый выход блока коррекции подключен к четвертому входу второго коммутатора, а вторые, третьи, четвертые и пятые выходы блока коррекции подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра forming corrections during operation AND, a functional diagram for generating corrections during operation NOT, the inputs of the exchange device are connected to the first input of the control unit and to the first inputs of the second switch, the second inputs of which are connected to the outputs of the storage device, the first outputs of the second switch go to the input of the exchange device , the second outputs go to the input of the storage device, and the third outputs are connected respectively to the first inputs of the command counter, shift counter, register numbers, reg the adder register, additional register, additional code register, to the inputs of the operation code decoder, to the second inputs of the control unit, to the first input of the first switch, the first output of which is connected to the first input of the address register, the third input of the control unit is connected to the outputs of the operation code decoder, fourth input connected to the outputs of the clock generator, and the fifth input is connected to the first output of the control memory, the first output of the control unit is connected to the input of the control memory, the outputs of which are connected to the first inputs of the correction unit, the second output of the control unit is connected to the second input of the first switch, the second and third inputs of which are connected respectively to the outputs of the address register and command counter, and the memory cell address is taken from the second output, the third output of the control unit is connected respectively to the second inputs of the correction block, to the second inputs of the command counter, shift counter, address register, number register, adder register, additional register, additional code register, to p the first group of inputs of the third switch and the third group of inputs of the second switch is the output of the clock pulses, the first output of the correction unit is connected to the fourth input of the second switch, and the second, third, fourth and fifth outputs of the correction unit are connected respectively to the third, fourth fifth and sixth inputs of the counter commands, shift counter, address register, number register, adder register, additional register, register
дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, и являются выходам управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к пятым входам второго коммутатора, выход счетчика сдвигов подключен к шестым входам второго коммутатора, первые, вторые и третьи выходы третьего коммутатора подключены соответственно к входам сумматора, блока логических операций и первым входам блока контроля, выходы сумматора и блока логических операций подключены соответственно к вторым и третьим входам блока контроля, выходы которого подключены к седьмым входам второго коммутатора.additional code, to the first group of inputs of the third switch, to the third group of inputs of the second switch, and are the outputs of control signals, read signals, write signals, signals to set the devices to zero, outputs of the number register, adder register, additional register, additional code register are connected to the second inputs of the third switch and to the fifth inputs of the second switch, the output of the shift counter is connected to the sixth inputs of the second switch, the first, second and third outputs of the third utatora respectively connected to the inputs of the adder, logic unit operations and control inputs of the first unit block and the adder outputs logical operations are connected respectively to second and third inputs of the control unit which outputs are connected to second inputs of the seventh switch.
На фиг.1 представлена блок-схема устройства; на фиг.2 - функциональная схема блока коррекции; на фиг.3 - функциональная схема блока контроля; на фиг.4 - функциональная схема формирования поправки при выполнении арифметических операций; на фиг.5 - функциональная схема формирования поправки при выполнении операции сдвига; на фиг.6 - функциональная схема формирования поправки при выполнении операции ИЛИ; на фиг.7 - функциональная схема формирования поправки при выполнении операции И; на фиг.8 - функциональная схема формирования поправки при выполнении операции НЕ.Figure 1 presents a block diagram of a device; figure 2 is a functional block diagram of the correction; figure 3 is a functional diagram of a control unit; figure 4 is a functional diagram of the formation of the amendment when performing arithmetic operations; figure 5 is a functional diagram of the formation of the amendment when performing the shift operation; figure 6 is a functional diagram of the formation of the amendment when performing the OR operation; Fig.7 is a functional diagram of the formation of the amendment when performing the operation And; on Fig is a functional diagram of the formation of the amendment when performing the operation is NOT.
Процессор (фиг.1) содержит управляющий узел 1, операционный узел 2, дешифратор 3 кода операции, генератор 4 тактовых импульсов, блок 5 управления, первый коммутатор 6, второй коммутатор 7, третий коммутатор 8, счетчик 9 команд, счетчик 10 сдвигов, регистр 11 адреса, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 17 коррекции, блок 18 логических операций, блок 19 контроля, управляющая память 20, первые входы 21 блока 17 коррекции, вторые входы 22 блока 17 коррекции, первые выходы 23 The processor (figure 1) contains a control node 1, an operation node 2, an operation code decoder 3, a clock pulse generator 4, a control unit 5, a first switch 6, a second switch 7, a third switch 8, a command counter 9, a counter 10 shifts, a register 11 addresses, number 12 register, adder register 13, additional register 14, additional code register 15, adder 16, correction unit 17, logical operation unit 18, control unit 19, control memory 20, first inputs 21 of correction unit 17, second inputs 22 block 17 correction, the first outputs 23
блока 17 коррекции, вторые выходы 24 блока 17 коррекции, вторые входы 25 блока 19 контроля, первые входы 26 блока 19 контроля, третьи входы 27 блока 19 контроля, первые выходы 28 блока 19 контроля, вторые выходы 29 блока 19 контроля (выход 291-ошибка в контрольных разрядах, выход 292-ошибка некорректируемая ошибка, выход 293-корректируемая ошибка), выходы 30 устройства обмена, выходы 31 запоминающего устройства, выходы 32 на устройство обмена, выходы 33 для формирования адреса запоминающего устройства, выходы 34 для считывания операндов на запоминающее устройство, выходы 35 синхроимпульсов, выходы 36 для сигналов управления, выходы 37 для команды считывание, выходы 38 для сигналов записи, выходы 39 для сигналов установки в нулевое состояние.correction block 17, second outputs 24 of correction block 17, second inputs 25 of control block 19, first inputs 26 of control block 19, third inputs of control block 19, first outputs 28 of control block 19, second outputs 29 of control block 19 (output 29 1 - error in the control bits, output 29 2 — error non-correctable error, output 29 3 — correctable error), outputs 30 of the exchange device, outputs 31 of the storage device, outputs 32 to the exchange device, outputs 33 for generating the address of the storage device, outputs 34 for reading operands to storage device O clock outputs 35, 36 outputs control signals to outputs 37 for commands reading, outputs 38 for recording signals 39 outputs signals for setting to zero.
Блок 17 коррекции (фиг.2) содержит кодирующую схему 40, схему 41 сравнения, первую группу 42 элементов ИЛИ, вторую группу 43 элементов ИЛИ, третью группу 44 элементов ИЛИ, четвертую группу 45 элементов ИЛИ, пятую группу 46 элементов ИЛИ, шестую группу 47 элементов ИЛИ, седьмую группу 48 элементов ИЛИ, элемент 49 НЕ, первую группу 50 элементов И, вторую группу 51 элементов И, корректор 52, дешифратор 53, выходы 21 управляющей памяти 20, вход 22 разрешающий считывание выходной информации, выход 23 "Отказ процессора", выходы 24 для сигналов управления функциональными узлами процессора.Correction block 17 (FIG. 2) contains a coding circuit 40, a comparison circuit 41, a first group of OR elements 42, a second group of 43 OR elements, a third group of 44 OR elements, a fourth group of 45 OR elements, a fifth group of 46 OR elements, a sixth group 47 OR elements, the seventh group of 48 OR elements, the element 49 NOT, the first group of 50 AND elements, the second group of 51 AND elements, the corrector 52, the decoder 53, the outputs 21 of the control memory 20, the input 22 allowing reading of the output information, the output 23 "Processor failure" outputs 24 for control signals of functional units processor s.
Блок 19 контроля (фиг.3) содержит первую группу 54 элементов неравнозначности, вторую группу 55 элементов неравнозначности, третью группу 56 элементов неравнозначности, первую группу 57 элементов ИЛИ, вторую группу 58 элементов ИЛИ, третью группу 59 элементов ИЛИ, четвертую группу 60 элементов ИЛИ, пятую группу 61 элементов ИЛИ, шестую группу 62 элементов ИЛИ, седьмую группу 63 элементов ИЛИ, восьмую группу 64 элементов ИЛИ, девятую группу 65 элементов ИЛИ, десятую группу 66 элементов ИЛИ, одиннадцатую группу 67 элементов ИЛИ, двенадцатую группу 68 элементов ИЛИ, тринадцатую группу 69 элементов ИЛИ, первую группу 70 элементов И, вторую группу 71 элементов The control unit 19 (Fig. 3) contains a first group of 54 disambiguation elements, a second group of 55 discontinuity elements, a third group of 56 discontinuity elements, a first group of 57 OR elements, a second group of 58 OR elements, a third group of 59 OR elements, a fourth group of 60 OR elements , the fifth group of 61 OR elements, the sixth group of 62 OR elements, the seventh group of 63 OR elements, the eighth group of 64 OR elements, the ninth group of 65 OR elements, the tenth group of 66 OR elements, the eleventh group of 67 OR elements, the twelfth group of 68 elements OR, the thirteenth group of 69 elements OR, the first group of 70 elements AND, the second group of 71 elements
И, третью группу 72 элементов И, четвертую группу 73 элементов И, пятую группу 74 элементов И, шестую группу 75 элементов И, седьмую группу 76 элементов И, восьмую группу 77 элементов И, первый элемент 78 НЕ, второй элемент 79 НЕ, формирователь 80, дешифратор 81, корректор 82, формирователь 83 поправки, который содержит функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции сдвига, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции НЕ, первую кодирующую схему 84, вторую кодирующую схему 85, первые входы 86 формирователя поправки 83, вторые входы 87 формирователя 83 поправки, третьи входы 88 формирователя 83 поправки, первые выходы 89 формирователя 83 поправки, вторые выходы 90 формирователя 83 поправки, третьи выходы 91 формирователя 83 поправки.And, the third group of 72 AND elements, the fourth group of 73 AND elements, the fifth group of 74 AND elements, the sixth group of 75 AND elements, the seventh group of 76 AND elements, the eighth group of 77 AND elements, the first element 78 NOT, the second element 79 NOT, the shaper 80 , a decoder 81, a corrector 82, a shaper 83 of the amendment, which contains a functional diagram of the formation of the amendment when performing arithmetic operations, a functional diagram of the formation of the amendment when performing the shift operation, a functional diagram of the formation of the amendment when performing the OR operation, func an ion correction circuit for performing the operation AND, a functional correction circuit for performing the operation NOT, the first coding circuit 84, the second coding circuit 85, the first inputs 86 of the shaper 83 of the amendment, the second inputs 87 of the shaper 83 of the amendment, the third inputs 88 of the shaper 83 of the amendment, the first outputs 89 of the shaper 83 of the amendment, the second outputs 90 of the shaper 83 of the amendment, the third outputs 91 of the shaper 83 of the amendment.
Функциональная схема формирования поправки при выполнении арифметических операций (фиг.4) содержит первый элемент 92 И, второй элемент 93 И, третий элемент 94 И, четвертый элемент 95 И, пятый элемент 96 И, шестой элемент 97 И, первый элемент98 ИЛИ, второй элемент 99 ИЛИ, третий элемент 100 ИЛИ, четвертый элемент 101 ИЛИ, регистр 102, группу элементов 103 неравнозначности, информационные входы 87, вход 86 разрешающий считывание выходной информации, информационные выходы 89, 90 функциональной схемы формирования поправки при выполнении арифметических операций.Functional diagram of the correction when performing arithmetic operations (figure 4) contains the first element 92 AND, the second element 93 AND, the third element 94 AND, the fourth element 95 AND, the fifth element 96 AND, the sixth element 97 AND, the first element 98 OR, the second element 99 OR, the third element 100 OR, the fourth element 101 OR, the register 102, a group of elements 103 discontinuities, information inputs 87, input 86 that allows the reading of output information, information outputs 89, 90 of the functional circuit for generating corrections when performing arithmetic operations.
Функциональная схема формирования поправки при выполнении операции сдвига (фиг.5) содержит первый элемент 104 неравнозначности, второй элемент 105 неравнозначности, третий элемент 106 неравнозначности, первый элемент 107 И, второй элемент 108 И, третий элемент 109 И, четвертый элемент 110 И, пятый элемент 111 И, шестой элемент 112 И, седьмой элемент 113 И, восьмой элемент 114 И, девятый Functional diagram of the correction during the shift operation (Fig. 5) contains the first discontinuity element 104, the second discontinuity element 105, the third discontinuity element 106, the first element 107 I, the second element 108 I, the third element 109 I, the fourth element 110 I, the fifth element 111 AND, the sixth element 112 AND, the seventh element 113 AND, the eighth element 114 AND, the ninth
элемент 115 И, десятый элемент 116 И, одиннадцатый элемент 117 И, двенадцатый элемент 118 И, первый элемент 119 ИЛИ, второй элемент 120 ИЛИ, третий элемент 121 ИЛИ, четвертый элемент 122 ИЛИ, информационные входы 87, вход 861 управляющего сигнала сдвиг вправо, вход 862 управляющего сигнала сдвиг влево, вход 86 разрешающий считывание выходной информации, выходы 89, 91 схемы формирования поправки при выполнении операции сдвига.element 115 AND, tenth element 116 AND, eleventh element 117 AND, twelfth element 118 AND, first element 119 OR, second element 120 OR, third element 121 OR, fourth element 122 OR, information inputs 87, input 86 1 of the control signal shift to the right , input 86 2 of the control signal, shift to the left, input 86 allowing reading of the output information, outputs 89, 91 of the correction circuit when performing the shift operation.
Функциональная схема формирования поправки при выполнении логической операции ИЛИ (фиг.6) содержит первый элемент 123 И, второй элемент 124 И, третий элемент 125 И, четвертый элемент 126 И, пятый элемент 127 И, шестой элемент 128 И, седьмой элемент 129 И, восьмой элемент 130 И, информационные входы 87, вход 86 разрешающий считывание выходной информации, информационные выходы 89, 91 функциональной схемы формирования поправки при выполнении логической операции ИЛИ.Functional diagram of the correction when performing the logical operation OR (Fig.6) contains the first element 123 AND, the second element 124 AND, the third element 125 AND, the fourth element 126 AND, the fifth element 127 AND, the sixth element 128 AND, the seventh element 129 AND, the eighth element 130 AND, information inputs 87, input 86 permits reading of the output information, information outputs 89, 91 of the functional circuit for generating corrections when performing the logical OR operation.
Функциональная схема формирования поправки при выполнении логической операции И (фиг.7) содержит первый элемент 131 ИЛИ, второй элемент 132 ИЛИ, третий элемент 133 ИЛИ, четвертый элемент 134 ИЛИ, первый элемент 135 И, второй элемент 136 И, третий элемент 137 И, четвертый элемент 138 И, информационные входы 87, вход 86 разрешающий считывание выходной информации, информационные выходы 89, 91 функциональной схемы формирования поправки при выполнении логической операции И.Functional diagram of the correction when performing the logical operation AND (Fig. 7) contains the first element 131 OR, the second element 132 OR, the third element 133 OR, the fourth element 134 OR, the first element 135 AND, the second element 136 AND, the third element 137 AND, the fourth element 138 And, the information inputs 87, the input 86 permits the reading of the output information, the information outputs 89, 91 of the functional circuit for generating corrections when performing logical operation I.
Функциональная схема формирования поправки при выполнении логической операции НЕ (фиг.8) содержит первый элемент 139 НЕ, второй элемент 140 НЕ, третий элемент 141 НЕ, четвертый элемент 142 НЕ, первый элемент 143 неравнозначности, второй элемент 144 неравнозначности, третий элемент 145 неравнозначности, четвертый элемент 146 неравнозначности, первый элемент 147 И, второй элемент 148 И, третий элемент 149 И, четвертый элемент 150 И, пятый элемент 151 И, шестой The correction correction flowchart when performing the logical operation NOT (Fig. 8) contains the first element 139 NOT, the second element 140 NOT, the third element 141 NOT, the fourth element 142 NOT, the first element 143 of unequality, the second element 144 of unevenness, the third element 145 of ambiguity, the fourth element 146 of ambiguity, the first element 147 And, the second element 148 And, the third element 149 And, the fourth element 150 And, the fifth element 151 And, the sixth
элемент 152 И, информационные входы 87, вход 86 разрешающий считывание выходной информации, входы 88 разрядов четности контрольных разрядов, информационные выходы 89, 91 функциональной схемы формирования поправки при выполнении логической операции НЕ.element 152 And, information inputs 87, input 86 permitting the reading of output information, inputs 88 of the parity bits of the control bits, information outputs 89, 91 of the correction correction functional circuit when performing the logical operation NOT.
Входы 30 устройства обмена подключены к первому входу блока 5 управления и к первым входам второго коммутатора 7, вторые входы 31 которого подключены к выходам запоминающего устройства, первые выходы 32 второго коммутатора 7 поступают на вход устройства обмена, вторые выходы поступают на вход 34 запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к входам дешифратора 3 кода операции, к вторым входам блока 5 управления, к первым входам первого коммутатора 6, первый выход которого подключен к первому входу регистра 11 адреса, третий вход блока управления подключен к выходам дешифратора 3 кода операции, четвертый вход подключен к выходам генератора 4 тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти 20, первый выход блока 5 управления подключен к входу управляющей памяти 20, выходы которой подключены к первым входам блока 17 коррекции, второй выход блока 5 управления подключен к второму входу первого коммутатора 6, вторые и третьи входы которого подключены соответственно к выходам регистра 11 адреса и счетчика 9 команд, а с второго выхода 33 снимается адрес ячейки памяти запоминающего устройства, третий выход блока 5 управления подключен соответственно к вторым входам блока 17 коррекции, к вторым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8 и к третьей группе входов второго коммутатора 7 и является выходом 35 синхроимпульсов, первый выход блока 17 коррекции подключен к The inputs 30 of the exchange device are connected to the first input of the control unit 5 and to the first inputs of the second switch 7, the second inputs of which 31 are connected to the outputs of the storage device, the first outputs 32 of the second switch 7 go to the input of the exchange device, the second outputs go to the input 34 of the storage device and the third outputs are connected respectively to the first inputs of the counter 9 commands, counter 10 shifts, register 12 numbers, register 13 adder, register 14 additional, register 15 additional code, to the inputs of the decoder 3 code o operation to the second inputs of the control unit 5, to the first inputs of the first switch 6, the first output of which is connected to the first input of the address register 11, the third input of the control unit is connected to the outputs of the decoder 3 operation code, the fourth input is connected to the outputs of the generator 4 clock pulses, and the fifth input is connected to the first output of the control memory 20, the first output of the control unit 5 is connected to the input of the control memory 20, the outputs of which are connected to the first inputs of the correction unit 17, the second output of the control unit 5 is connected to the second input the first switch 6, the second and third inputs of which are connected respectively to the outputs of the address register 11 and the command counter 9, and the address of the memory cell of the storage device is removed from the second output 33, the third output of the control unit 5 is connected respectively to the second inputs of the correction unit 17, to the second inputs counter 9 commands, counter 10 shifts, register 11 addresses, register 12 numbers, register 13 adders, register 14 additional, register 15 additional code, to the first group of inputs of the third switch 8 and to the third group of inputs of the next switch 7 and is the output of 35 clock pulses, the first output of the correction unit 17 is connected to
четвертому входу второго коммутатора 7, а вторые, третьи, четвертые и пятые выходы блока коррекции подключены соответственно к третьим, четвертым пятым и шестым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8, к третьей группе входов второго коммутатора 7, и являются выходами 36 управляющих сигналов, сигналов 37 считывания, сигналов 38 записи, сигналов 39 установки устройств в нулевое состояние, выходы регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода подключены к вторым входам третьего коммутатора 8 и к пятым входам второго коммутатора 7, выход счетчика 10 сдвигов подключен к шестым входам второго коммутатора 7, первые, вторые и третьи выходы третьего коммутатора 8 подключены соответственно к входам сумматора 16, блока 18 логических операций и к первым входам блока 19 контроля, выходы сумматора 16 и блока 18 логических операций подключены соответственно к вторым и третьим входам блока 19 контроля, выходы которого подключены к седьмым входам второго коммутатора 7.the fourth input of the second switch 7, and the second, third, fourth and fifth outputs of the correction unit are connected respectively to the third, fourth fifth and sixth inputs of the counter 9 commands, counter 10 shifts, register 11 addresses, register 12 numbers, register 13 adder, register 14 additional register 15 additional code to the first group of inputs of the third switch 8, to the third group of inputs of the second switch 7, and are outputs 36 of the control signals, read signals 37, write signals 38, signals 39 setting the devices to zero status, outputs of register 12, register 13 of adder, register 14 of additional, register 15 of additional code are connected to the second inputs of the third switch 8 and to the fifth inputs of the second switch 7, the output of the counter 10 shifts is connected to the sixth inputs of the second switch 7, the first, second and the third outputs of the third switch 8 are connected respectively to the inputs of the adder 16, the logical operation unit 18 and to the first inputs of the control unit 19, the outputs of the adder 16 and the logical operation unit 18 are connected to the second and third inputs, respectively m control unit 19, which outputs are connected to second inputs of the seventh switch 7.
Процессор включает в себя два основных устройства: управляющий узел 1 и операционный узел 2.The processor includes two main devices: the control node 1 and the operational node 2.
Управляющий узел 1 координирует действия узлов операционного узла 2 между собой и с другими устройствами ЭВМ, а также выполняет набор операций, включающих команды обращения к памяти. Он вырабатывает в определенной временной последовательности управляющие сигналы, под действием которых в узлах операционного узла 2 выполняются требуемые действия.The control node 1 coordinates the actions of the nodes of the operational node 2 with each other and with other computer devices, and also performs a set of operations including memory access commands. It generates control signals in a certain time sequence, under the action of which the required actions are performed in the nodes of the operational node 2.
Каждое такое элементарное действие, выполняемое в операционном узле 2 в течение одного тактового периода, называется микрооперацией.Each such elementary action performed in the operating unit 2 during one clock period is called microoperation.
В определенные тактовые периоды одновременно могут выполняться несколько микроопераций. Такая совокупность одновременно выполняемых In certain clock periods, several microoperations can be performed simultaneously. This set of simultaneously executed
микроопераций называется микрокомандой, а весь набор микрокоманд, предназначенных для решения определенной задачи называется микропрограммой.microoperation is called a microcommand, and the whole set of microcommands designed to solve a specific problem is called a microprogram.
Общий временной интервал, в течение которого происходит выборка, хранение и преобразование одной команды в набор управляющих сигналов, называется циклом работы управляющего узла 1.The total time interval during which sampling, storage and conversion of one command into a set of control signals takes place is called the operation cycle of control unit 1.
Таким образом, управляющий узел 1 осуществляет преобразование команды в соответствующий набор управляющих сигналов и обеспечивает:Thus, the control node 1 converts the command into an appropriate set of control signals and provides:
чтение команды, находящейся в очередной ячейке памяти;reading a command located in the next memory cell;
расшифровку кода операции (команды);decryption of the operation code (command);
отыскание операндов (чисел) по указанному адресу, содержащемуся в команде;finding operands (numbers) at the specified address contained in the command;
обеспечить выдачу управляющих сигналов в операционный узел для выполнения над ними действий, указанных в коде операции команды.ensure the issuance of control signals to the operating unit to perform actions on them specified in the command operation code.
В данном случае используется микропрограммный управляющий узел 1, в котором микрокоманды хранятся в управляющей памяти 20.In this case, the firmware control unit 1 is used, in which the micro-commands are stored in the control memory 20.
В этом случае, слова, отображающие команды хранятся в памяти в последовательно пронумерованных ячейках, что позволяет формировать адрес очередной команды, добавлением единицы к адресу предыдущей команды, при этом слово состоит из нескольких частей: например, кода операции, указывающего вид операции и адресов чисел, над которыми должна быть произведена соответствующая операция.In this case, the words representing the commands are stored in memory in sequentially numbered cells, which allows you to form the address of the next command by adding a unit to the address of the previous command, while the word consists of several parts: for example, an operation code indicating the type of operation and addresses of numbers, over which the corresponding operation should be made.
Дешифратор 3 кода операций по выбранной из оперативной памяти команде определяет номер требуемой микропрограммы в управляющей памяти 20.The decoder 3 operation code for the selected from the RAM command determines the number of the required firmware in the control memory 20.
Генератор 4 тактовых импульсов предназначен для формирования тактовых и синхронизирующих импульсов.The clock generator 4 is designed to generate clock and clock pulses.
Счетчик 9 команд предназначен для формирования адреса ячейки памяти очередной команды, путем естественной выборки, т.е. прибавлением к его содержимому единицы.The counter 9 commands is designed to generate the address of the memory cell of the next command, by natural sampling, i.e. adding to its contents a unit.
Регистр 11 адреса предназначен для формирования адреса ячейки памяти при командах условного или безусловного перехода с возвратом.The register 11 addresses is designed to generate the address of the memory cell when the commands conditional or unconditional jump return.
Блок 5 управления предназначен для определения адреса очередной микрокоманды в управляющей памяти 20, формирования адреса очередной команды (управления работой первого коммутатора 6), координации работы (выдачи синхроимпульсов) устройств процессора 1.The control unit 5 is designed to determine the address of the next microcommand in the control memory 20, generate the address of the next command (control the operation of the first switch 6), coordinate the work (issuing clock pulses) of the devices of the processor 1.
Управляющая память 20 представляет собой постоянное запоминающее устройство и предназначена для выдачи (в зависимости от кода операции) выдачи управляющих сигналов (сигналов управления, сигналов считывания, сигналов записи, сигналов установки в нулевое состояние) на функциональные узлы процессора. При этом слово памяти содержит информационные разряды (для управляющих сигналов) и контрольные разряды, сформированные на основе предлагаемого метода кодирования.The control memory 20 is a permanent storage device and is designed to issue (depending on the operation code) the issuance of control signals (control signals, read signals, write signals, set signals to zero state) to the functional units of the processor. Moreover, the memory word contains information bits (for control signals) and control bits formed on the basis of the proposed coding method.
В этом случае, для формирования значений контрольных разрядов управляющей памяти 20, информационные разряды представляются в виде двухстрочной информационной матрицы:...In this case, to form the values of the control bits of the control memory 20, information bits are represented as a two-line information matrix: ...
, ,
при этом:wherein:
1) для каждой строки информационной матрицы организуется проверка на четность;1) a parity check is organized for each row of the information matrix;
2) проводятся правые и левые диагональные проверки. Число диагональных проверок (число контрольных разрядов диагональных проверок) определяется по формуле (разряды на четность не передаются):2) right and left diagonal checks are carried out. The number of diagonal checks (the number of control bits of diagonal checks) is determined by the formula (parity bits are not transmitted):
RД=k+4.R D = k + 4.
Блок 17 коррекции (фиг.2) предназначен для обнаружения и исправления ошибок, возникающих при считывании информации с Block 17 correction (figure 2) is designed to detect and correct errors that occur when reading information from
управляющей памяти 20. В этом случае, при считывании микрокоманды, кодирующей схемой 40 проводится формирование (аналогичным образом) вектора контрольных разрядов RП принятого кодового набора.control memory 20. In this case, when reading the microcommands, the encoding circuit 40 generates (in the same way) the vector of control bits R P of the received code set.
Таким образом, в период считывания информации, на входах схемы 41 сравнения имеем соответственно векторы контрольных разрядовThus, during the information reading period, at the inputs of the comparison circuit 41, we have, respectively, the vectors of the control bits
Схема 41 сравнения представляют собой схему поразрядного сравнения и предназначена для формирования значений синдрома ошибки на основе передаваемой и полученной информации.The comparison circuit 41 is a bitwise comparison circuit and is intended to generate error syndrome values based on the transmitted and received information.
Результат сложения по mod 2 значений сигналов переданных и сформированных контрольных разрядов даст синдром ошибки:The result of adding, according to mod 2, the signal values of the transmitted and generated control bits will give an error syndrome:
E=e1e2e3.........ek+4.E = e 1 e 2 e 3 ......... e k + 4 .
Дешифратор 53 блока 17 коррекции содержит k+4 входа (число разрядов синдрома ошибки) и L=l1+l2+l3 выходов (по числу схем совпадения, представляющих собой k+4 - входовые схемы И), гдеThe decoder 53 of the correction block 17 contains k + 4 inputs (the number of bits of the error syndrome) and L = l 1 + l 2 + l 3 outputs (according to the number of matching circuits, which are k + 4 - input circuits I), where
- l1 - группа элементов И (для различных синдромов, характеризующих ошибки только в информационных разрядах;- l 1 - group of elements And (for various syndromes that characterize errors only in information bits;
- l2 - группа элементов И (для различных синдромов, характеризующих ошибок только в контрольных разрядах;- l 2 - group of elements And (for various syndromes that characterize errors only in the control bits;
- l3 - группа группа элементов И (для синдромов, характеризующих ошибки, возникающие одновременно в информационных и контрольных разрядах.- l 3 - group a group of elements And (for syndromes characterizing errors that occur simultaneously in the information and control bits.
В случае возникновения ошибок, на одном из его выходов формируется единичный сигналIn case of errors, a single signal is generated at one of its outputs
Выходы дешифратора 53 объединены соответственно в один выход с помощью первой группы 42 элементов ИЛИ, второй группы 43 элементов ИЛИ, третьей группы 44 элементов ИЛИ, четвертой группы 45 элементов ИЛИ, пятой группы 46 элементов ИЛИ, шестой группы 47 The outputs of the decoder 53 are combined into one output, respectively, using the first group of 42 OR elements, the second group of 43 OR elements, the third group of 44 OR elements, the fourth group of 45 OR elements, the fifth group of 46 OR elements, the sixth group 47
элементов ИЛИ (со второй по треть группы элементов ИЛИ предназначены для формирования управляющих сигналов на корректор 52, соответственно для коррекции первого, второго ... k-го информационных разрядов).OR elements (from the second to third groups of OR elements are intended for generating control signals to the corrector 52, respectively, for the correction of the first, second ... k-th information bits).
Седьмая группа 47 элементов ИЛИ объеденяет выходы дешифратора 53, (выходы схем И,) принадлежащие подмножеству l2 и соответствующих возникновению ошибок только в контрольных разрядах (для которых не требуется формирование управляющих сигналов на корректор 52).The seventh group of 47 OR elements combines the outputs of the decoder 53, (the outputs of the circuits AND,) belonging to the subset l 2 and corresponding to the occurrence of errors only in the control bits (for which the formation of control signals to the corrector 52 is not required).
Корректор 52 включает k-элементов неравнозначности и предназначен для исправления ошибок, возникающих в информационных разрядах управляющей памяти 20. При исправлении ошибок реализуется функция по mod2 относительно управляющих сигналов информационных разрядов управляющей памяти 20.The corrector 52 includes k-elements of ambiguity and is designed to correct errors that occur in the information bits of the control memory 20. When correcting errors, a function is implemented in mod2 relative to the control signals of the information bits of the control memory 20.
При возникновении ошибок, принадлежащих подмножеству n1 - для одинаковых синдромов, указывающих на ошибку в различных информационных разрядах (имеющих одинаковое значение синдромов и дополнительных проверок, см. приложение), характеризующихся наличием единичных значений на выходе первой группы 42 элементов ИЛИ и отсутствие единичных значений на выходах с второй 43 по шестую группу 47 элементов ИЛИ, с помощью седьмой группы 48 элементов ИЛИ, второй группы 42 элементов ИЛИ, элемента 49 НЕ, элемента 50 И формируется сигнал 'Отказ процессора'.If errors occur that belong to a subset of n 1 - for the same syndromes, indicating an error in different information bits (having the same meaning of the syndromes and additional checks, see the appendix), characterized by the presence of single values at the output of the first group of 42 OR elements and the absence of single values on outputs from the second 43 to the sixth group of 47 OR elements, using the seventh group of 48 OR elements, the second group of 42 OR elements, the element 49 NOT, the element 50 AND the signal 'Processor failure' is generated.
Операционный узел 2 предназначен для выполнения арифметических и логических операций и включает в свой состав (фиг.1) счетчик 10 сдвигов, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 18 логических операций, блок 19 контроля.The operation node 2 is designed to perform arithmetic and logical operations and includes (Fig. 1) a shift counter 10, a number register 12, an ad register 13, an additional register 14, an additional code register 15, an adder 16, a logical operation block 18, a block 19 controls.
Счетчик 10 сдвигов предназначен для подсчета количества сдвигов при выполнении операций умножения и деления, количества сдвигов промежуточных результатов и нормализации.The counter 10 shifts is designed to count the number of shifts when performing operations of multiplication and division, the number of shifts of intermediate results and normalization.
Регистр 11 адреса представляет собой регистр памяти и предназначен для хранения адресе очередной команды.The address register 11 is a memory register and is intended to store the address of the next command.
Регистр 12 числа представляет собой регистр памяти и предназначен для хранения операндов при выполнении арифметических и логических операций (хранения множимого, при выполнении операции умножения и делителя при выполнении операции деления).The 12th register is a memory register and is intended for storing operands when performing arithmetic and logical operations (storing the multiplicable when performing the multiplication and divisor when performing the division operation).
Регистр 13 сумматора (аккумулятора) представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления), и предназначен для хранения делимого старших разрядов результата умножения.The register 13 of the adder (accumulator) is a shift register (to the right when performing the multiplication operation and to the left when performing the division operation), and is intended to store the divisible high order bits of the multiplication result.
Заметим, что при выполнении операции деления, блоком 5 управления анализируется значение знакового разряда регистра 12 числа и регистра 13 сумматора дополнительного.Note that when performing the division operation, the control unit 5 analyzes the value of the sign discharge of the register 12 of the number and register 13 of the additional adder.
Регистр 14 дополнительный представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления), и предназначен для хранения множителя и младших разрядов результата умножения при выполнении операции умножения и результата деления при выполнении операции деления).The additional register 14 is a shift register (to the right - when performing the multiplication operation and to the left - when performing the division operation), and is intended to store the multiplier and the least significant bits of the multiplication result when performing the multiplication operation and the division result when performing the division operation).
Заметим, что при выполнении операции умножения, блоком 5 управления анализируется значение младшего разряда регистра 14 дополнительного.Note that when performing the multiplication operation, the control unit 5 analyzes the low-order value of the additional register 14.
Регистр 15 дополнительного кода представляет собой регистр памяти и предназначен для хранения отрицательного числа в дополнительном коде (при выполнении операции вычитания и операции деления).The register 15 of the additional code is a memory register and is intended to store a negative number in the additional code (when performing the subtraction and division operations).
Сумматор 16 представляет собой параллельный n - разрядный сумматор и предназначен для выполнения операции сложения чисел.The adder 16 is a parallel n - bit adder and is designed to perform the operation of adding numbers.
Блок 18 логических операций предназначен для выполнения логических операций И, ИЛИ, НЕ, суммирования по mod2).Block 18 of logical operations is designed to perform logical operations AND, OR, NOT, summing mod2).
Блок 19 контроля (фиг.3) предназначен для обнаружения и коррекции ошибок, возникающих при выполнении арифметических и логических операций.The control unit 19 (figure 3) is designed to detect and correct errors that occur when performing arithmetic and logical operations.
Так, при выполнении операции арифметических операций, результат суммы с выхода сумматора 16,через открытую вторую группу 71 элементов И, вторую группу 58 элементов ИЛИ поступает на вход второй кодирующей схемы 85 в котором формируются значения контрольных разрядов относительно принятой информации.So, when performing an arithmetic operation, the result of the sum from the output of the adder 16, through the open second group of 71 AND elements, the second group of 58 OR elements is fed to the input of the second coding circuit 85 in which the values of the control bits relative to the received information are generated.
Одновременно значения контрольных разрядов слагаемых с выходов 26 третьего коммутатора 8 поступают на входы первой группы 54 элементов неравнозначности, где производится суммирование одноименных контрольных разрядов по mod2. В то же время значения информационных разрядов слагаемых поступают на вход 87 блока 83 формирователя поправки.At the same time, the values of the control bits of the terms from the outputs 26 of the third switch 8 are fed to the inputs of the first group of 54 elements of ambiguity, where the summation of the same name control bits by mod2 is performed. At the same time, the values of the information bits of the terms go to the input 87 of the block 83 of the amendment shaper.
В данном случае значения информационных разрядов поступают на вход схемы формирования поправки при выполнении арифметических операций (фиг.4). При помощи групп 92-97 элементов И, групп 95-96 элементов ИЛИ формируются значения сигналов переноса Сi в соответствии с положениями рассмотренными в приложении. Так например, при сложении числа А=0010 и числа В=0110 открывается группа элементов 93 И что приводит к формированию сигнала переноса С2, а наличие единичного сигнала в третьем разряде одного из слагаемых и сигнала С2 приводит к открытию элемента 96 И, что в свою очередь приводит к появлению сигнала С3. В регистре 102 памяти записаны значения разрядов информационных матриц поправок. Сигналу переноса С2 соответствует информационная матрица:In this case, the values of information bits enter the input of the correction formation circuit when performing arithmetic operations (figure 4). Using groups of 92-97 AND elements, groups of 95-96 OR elements, the values of the transfer signals C i are formed in accordance with the provisions discussed in the appendix. So, for example, when adding the number A = 0010 and the number B = 0110, a group of elements 93 opens and this leads to the formation of a transport signal C 2 , and the presence of a single signal in the third category of one of the terms and the signal C 2 leads to the opening of the 96 And element, which in turn leads to the appearance of a signal With 3 . In the register 102 of the memory recorded values of the bits of the information matrix corrections. The transfer signal C 2 corresponds to the information matrix:
а сигналу переноса С3 соответствует информационная матрица:and the transfer signal C 3 corresponds to the information matrix:
Таким образом, сигналы Сi определяют адреса разрядов информационных матриц поправок. Сложение по mod2 одноименных разрядов на группе 103 сумматоров по mod2 даст требуемую информационную матрицу поправок.Thus, the signals C i determine the addresses of the bits of the information matrix corrections. The addition of the same-rank bits in mod2 on the group of 103 adders in mod2 will give the required information matrix of corrections.
При поступлении разрешающего сигнала на входе 86, открывается элемент 97 И и полученная информация поступает на выходы 89, 90 формирователя 83 поправок (фиг.3). При этом с выхода 89 поступают значения сигналов проверок на четность строк информационной матрицы поправок, а с выходов 90 значения информационных разрядов информационной матрицы поправок АМтр. Данная информация через элементы 59, 60 ИЛИ поступает на входы первой кодирующей схемы 84, где организуются правые и левые диагональные проверки.Upon receipt of the enabling signal at input 86, the element 97 And opens and the received information goes to the outputs 89, 90 of the shaper 83 amendments (figure 3). At the same time, output 89 receives the values of the signals of the parity of the rows of the information matrix of amendments, and outputs 90 the values of the information bits of the information matrix of amendments A Mtr . This information through the elements 59, 60 OR is fed to the inputs of the first coding circuit 84, where the right and left diagonal checks are organized.
В результате получим значение поправки: 1100 0110, которая по сигналу открывающему элемент 73 И поступает на первые входы второй группы 55 элементов неравнозначности.As a result, we obtain the correction value: 1100 0110, which, upon a signal to the opening element 73 AND, is supplied to the first inputs of the second group of 55 elements of unequality.
Для рассматриваемого примера суммирование по mod2 значений сигналов контрольных разрядов первой группой 54 элементов неравнозначности даст результат:For this example, the summation over mod2 of the values of the signals of the control bits of the first group of 54 elements of unequality will give the result:
который поступает на вторые входы второй группы 55 элементов неравнозначности. В результате на выходе второй группы 55 элементов неравнозначности получим скорректированное значение контрольных разрядов для полученного результата суммы:which goes to the second inputs of the second group of 55 elements of disambiguation. As a result, at the output of the second group of 55 elements of ambiguity, we obtain the adjusted value of the control bits for the result of the sum:
которое при правильном суммировании чисел А и В:which, with the correct summation of numbers A and B:
соответствует правильному значению контрольных разрядов, поступающему с выходов второй кодирующей схемы 85 (10100101) на первые входы третьей группы 56 элементов неравнозначности, на вторые входы которой, чрез элемент 62 ИЛИ поступают скорректированные значения контрольных разрядов 10100101.corresponds to the correct value of the control bits coming from the outputs of the second coding circuit 85 (10100101) to the first inputs of the third group 56 of unequal elements, the second inputs of which, through the element 62 OR receive the corrected values of the control bits 10100101.
Если значения контрольных разрядов, поступающие с выходов первой кодирующей схемы 84, совпадают с значениями контрольных разрядов, поступающих с выходов второй кодирующей схемы 85 совпадают, то на выходе третьей группы 56 элементов неравнозначности имеем нулевые значения, т.е. операция суммирования проведена правильно, если не совпадают - произошла ошибка.If the values of the control bits coming from the outputs of the first coding circuit 84 coincide with the values of the control bits coming from the outputs of the second coding circuit 85, then at the output of the third group 56 of unequal elements we have zero values, i.e. summation operation is carried out correctly, if they do not match, an error has occurred.
Значения сигналов с выходов третьей группы 56 элементов неравнозначности поступают на входы дешифратора 81.The values of the signals from the outputs of the third group 56 elements of disambiguity are fed to the inputs of the decoder 81.
Дешифратор 81 содержит k+4 входа (число разрядов синдрома ошибки) и L=l1+l2+l3 выходов (по числу схем совпадения, представляющих собой k+4 - входовые схемы И), гдеThe decoder 81 contains k + 4 inputs (the number of bits of the error syndrome) and L = l 1 + l 2 + l 3 outputs (according to the number of matching circuits, which are k + 4 - input circuits And), where
- l1 - группа элементов И (для различных синдромов, характеризующих ошибки только в информационных разрядах;- l 1 - group of elements And (for various syndromes that characterize errors only in information bits;
- l2 - группа элементов И (для различных синдромов, характеризующих ошибок только в контрольных разрядах;- l 2 - group of elements And (for various syndromes that characterize errors only in the control bits;
- l3 - группа группа элементов И (для синдромов, характеризующих ошибки, возникающие одновременно в информационных и контрольных разрядах.- l 3 - group a group of elements And (for syndromes characterizing errors that occur simultaneously in the information and control bits.
В случае возникновения ошибок, на одном из его выходов формируется единичный сигналIn case of errors, a single signal is generated at one of its outputs
Выходы дешифратора 81 объединены соответственно в один выход с помощью седьмой группы 63 элементов ИЛИ, восьмой группы 64 The outputs of the decoder 81 are combined, respectively, in one output using the seventh group of 63 elements OR, the eighth group of 64
элементов ИЛИ, девятой группы 65 элементов ИЛИ, десятой (k-й) группы 66 элементов ИЛИ, для формирования управляющих сигналов на корректор, соответственно для коррекции первого, второго ... k-го информационных разрядов.OR elements, the ninth group of 65 OR elements, the tenth (k-th) group of 66 OR elements, for generating control signals to the corrector, respectively, for correcting the first, second ... k-th information bits.
Одиннадцатая группа 67 элементов ИЛИ объеденяет выходы дешифратора 81, (выходы схем И,) принадлежащие подмножеству l2 и соответствующих возникновению ошибок только в контрольных разрядах (для которых не требуется формирование управляющих сигналов на корректор), с которых снимается сигнал "Ошибка в контрольных разрядах" - выход 291 блока 19 контроля.The eleventh group of 67 OR elements combines the outputs of the decoder 81, (the outputs of the circuits AND,) belonging to the subset l 2 and corresponding to the occurrence of errors only in the control bits (for which the formation of control signals to the corrector is not required), from which the signal "Error in control bits" is removed - output 29 1 of the control unit 19.
В этом случае через элемент 78 НЕ закрывается группа 74 элементов И и запрещается выдача значений контрольных разрядов на выход блока 19 контроля, принимается решение кодирования информационных разрядов кодирующим устройством при записи в оперативное запоминающее устройство.In this case, the AND group of 74 elements is NOT closed through the element 78, and it is forbidden to output the values of the control bits to the output of the control unit 19, a decision is made to encode information bits by the encoding device when writing to the random access memory.
Корректор 82 включает k-элементов неравнозначности и предназначен для исправления ошибок, возникающих в информационных разрядах.The corrector 82 includes k-elements of discontinuity and is intended to correct errors that occur in information bits.
При исправлении ошибок реализуется функция по mod2 относительно управляющих сигналов поступающих с выходов элементов ИЛИ:When correcting errors, a function is implemented according to mod2 with respect to the control signals coming from the outputs of the OR elements:
При возникновении ошибок, принадлежащих подмножеству n1 - для одинаковых синдромов, указывающих на ошибку в различных информационных разрядах (имеющих одинаковое значение синдромов и дополнительных проверок, см. приложение), характеризующихся наличием единичных значений на выходах третьей группы 56 элементов неравнозначности (двенадцатой группы 68 элементов ИЛИ и отсутствие единичных значений на выходах с седьмой 63 по одиннадцатую 67 элементов ИЛИ 13, с помощью тринадцатой группы 69 элементов ИЛИ, элемента 79 НЕ, восьмого элемента 77 И формируется сигнал 'Отказ устройства', который поступает на выход 292.If errors occur that belong to the subset n 1 for the same syndromes, indicating an error in different information categories (having the same meaning of the syndromes and additional checks, see the appendix), characterized by the presence of single values at the outputs of the third group of 56 elements of ambiguity (twelfth group of 68 elements OR and the absence of unit values at the outputs from the seventh 63 to the eleventh 67 elements OR 13, using the thirteenth group of 69 elements OR, element 79 NOT, the eighth element 77 And form The 'Device Failure' signal is output, which is output 29 2 .
Отсутствие сигнала на выходах 291, 292 и наличие сигнала на выходе 293 свидетельствует о наличие корректируемых ошибок в информационных разрядах.The absence of a signal at the outputs 29 1 , 29 2 and the presence of a signal at the output 29 3 indicates the presence of correctable errors in the information bits.
Таким образом, сигналы информационных разрядов с выхода сумматора 16 через группу 61 элементов ИЛИ поступают на корректор 82. (при наличии в них ошибок корректируются) и при наличии разрешающего сигнала через группу 75 элементов И совместно с сигналами в контрольных разрядах (при отсутствии в них ошибок) поступают на выход блока 19 контроля.Thus, the signals of the information bits from the output of the adder 16 through the group of 61 OR elements are fed to the corrector 82. (if errors are corrected in them) and if there is an enable signal through the group of 75 AND elements together with the signals in the control bits (in the absence of errors ) go to the output of the control unit 19.
При контроле операций сдвига содержимых регистров формирователь 83 поправки реализует логику работы функциональной схемы формирования поправки при выполнении операции сдвига (фиг.5).When monitoring the shift operations of the contents of the registers, the shaper 83 of the amendment implements the logic of the functional circuit of the formation of the amendment when performing the shift operation (Fig. 5).
Допустим необходимо выполнить операцию сдвига вправо содержимое 1101 (результаты частных произведений) регистра 13 сумматора, для которого имеем следующие значения контрольных разрядов 11110000.Suppose you want to perform a shift operation to the right, the contents 1101 (results of private products) of register 13 of the adder, for which we have the following values of the control bits 11110000.
После выполнения операции сдвига вправо и проведения кодирования во второй кодирующей схеме получим кодовый набор: s=0110 00111001.After performing the shift operation to the right and performing coding in the second coding scheme, we obtain a code set: s = 0110 00111001.
В этом случае разряды матрицы поправок формируются по исходным значениям информационных разрядов в соответствии с выражениями представленными в приложении:In this case, the bits of the correction matrix are formed according to the initial values of the information bits in accordance with the expressions presented in the appendix:
r4=0⊕у4; (берется 0, так как в старший разряд регистра сумматора нет переноса) r3=у4⊕у3; r2=у3⊕у2; r1=у2⊕у1.r 4 = 0⊕u 4 ; (0 is taken, since there is no transfer to the high order of the adder register) r 3 = у 4 ⊕у 3 ; r 2 = y 3 ⊕y 2 ; r 1 = y 2 ⊕y 1 .
При этом на первых входах элементов 107, 108, 109, 110 И (фиг.5) схемы формирования поправки при выполнении операции сдвига вправо имеем значения сигналов соответственно 1011, которые при подаче управляющего сигнала 861 сдвиг в право через элементы 119, 120, 121, 122 ИЛИ и подачи разрешающего сигнала на элементы 115, 116, 117, 118 И поступают на выходы 89, 91 формирователя 83 поправок. Информация с выходов 91 поступает на формирователь 80 который, формирует разряды четности строк At the same time, at the first inputs of the elements 107, 108, 109, 110 And (Fig. 5) of the correction formation circuit when performing the shift operation to the right, we have the values of the signals, respectively, 1011, which when the control signal 86 1 is shifted to the right through the elements 119, 120, 121 , 122 OR, and the supply of the enable signal to the elements 115, 116, 117, 118 And enter the outputs 89, 91 of the shaper 83 amendments. The information from the outputs 91 is fed to the shaper 80 which generates line parity bits
информационной матрицы поправок. Значения разрядов четности информационной матрицы поправок и значения информационных разрядов матрицы поправок поступают на входы первой кодирующей схемы 84.information matrix amendments. The values of the parity bits of the information matrix of the amendments and the values of the information bits of the matrix of corrections are supplied to the inputs of the first coding circuit 84.
После проведения диагональных проверок на выходе первого кодирующего устройства 84 имеем значение поправки: 1100 1001.After conducting diagonal checks at the output of the first encoder 84, we have the correction value: 1100 1001.
Выполнив операцию сложения по mod2 во второй группе 55 исходного значения контрольных разрядов с значением поправки получим результат:Having performed the addition operation by mod2 in the second group 55 of the initial value of the control bits with the correction value, we obtain the result:
который соответствует значению контрольных разрядов s, полученных для информационных разрядов после выполнения операции сдвига.which corresponds to the value of the control bits s obtained for the information bits after the shift operation.
Если значения контрольных разрядов, сформированные первой кодирующей схемой 84 и второй кодирующей схемой совпадают, то операция сдвига выполнена правильно, если нет, то произошла ошибка. В этом случае обнаружение и коррекция возникающих ошибок осуществляется точно также как и при выполнении арифметических операций.If the values of the control bits generated by the first coding circuit 84 and the second coding circuit coincide, then the shift operation is performed correctly, if not, an error has occurred. In this case, the detection and correction of errors that occur is carried out in exactly the same way as when performing arithmetic operations.
Если операция сдвига вправо проводится для регистра 14 дополнительного, то учитывается перенос значения младшего разряда регистра 13 сумматора в старший разряд регистра 14 дополнительного, т.е. функциональная схема (фиг.5) формирования поправки при выполнении операции сдвига реализует функцию:If the shift operation to the right is performed for the additional register 14, then the transfer of the low-order value of the adder register 13 to the high-order bit of the additional register 14 is taken into account, i.e. functional diagram (figure 5) of the formation of the amendment when performing the shift operation implements the function:
r4=у1 RG⊕у4; r3=у4⊕у3; r2=у3⊕у2; r1=у2⊕у1.r 4 = y 1 RG ⊕y 4 ; r 3 = y 4 ⊕y 3 ; r 2 = y 3 ⊕y 2 ; r 1 = y 2 ⊕y 1 .
При выполнении операции сдвига влево (при выполнении операции деления) функциональная схема формирования поправки при выполнении операции сдвига реализует функцию: r4=у4⊕у3; r3=у3⊕у2; r2=у2⊕у1; r1=0⊕у1.When performing the shift operation to the left (when performing the division operation), the functional diagram for generating the correction when performing the shift operation implements the function: r 4 = у 4 ⊕у 3 ; r 3 = y 3 ⊕y 2 ; r 2 = y 2 ⊕y 1 ; r 1 = 0⊕у 1 .
В этом случае подаются управляющие сигналы на входы 862, 86, далее схема работает аналогичным образом.In this case, control signals are supplied to the inputs 86 2 , 86, then the circuit works in a similar way.
При выполнении логической операции ИЛИ формирователь поправки работает следующим образом. Значения контрольных разрядов операндов When performing a logical operation OR, the shaper corrections works as follows. Values of control bits of operands
суммируются по модулю в первой группе 54 сумматоров по mod2, после чего результат поступает на первые входы второй группы 55 сумматоров по mod2, на вторые входы которого поступает значение поправки. При этом функциональная схема формирования поправки при выполнении логической операции ИЛИ (фиг.6), для формирования информационной матрицы поправки, реализует логическую функцию И относительно одноименных разрядов операндов.are summed modulo in the first group of 54 adders in mod2, after which the result is fed to the first inputs of the second group of 55 adders in mod2, the second input of which receives the correction value. In this case, the functional diagram of the formation of the correction when performing the logical operation OR (Fig.6), for the formation of the information matrix of the correction, implements the logical function AND relative to the same bits of the operands.
Так, например для чисел А=0101 01010101 и В=0011 01101100 после выполнения выполнении операции ИЛИ для информационных разрядов и сложения по mod2 контрольных разрядов рассматриваемых слагаемых, получим кодовый набор 0111 00111001, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 00001111 для полученного значения информационных разрядов 0111.So, for example, for the numbers A = 0101 01010101 and B = 0011 01101100, after performing the OR operation for information bits and adding the control bits of the terms under consideration in mod2, we obtain the code set 0111 00111001, for which the values of the control bits differ from the correct set of control bits 00001111 for the obtained value of information bits 0111.
В этом случае, логические операции И, выполненные относительно информационных разрядов рассматриваемых операндов на элементах 123, 124, 125, 126 И (фиг.6) дадут результат: 0001 (операция И выполняется для младших разрядов операндов).In this case, the logical operations AND performed on the information bits of the operands under consideration on the elements 123, 124, 125, 126 AND (Fig.6) will give the result: 0001 (the operation AND is performed for the lower bits of the operands).
Тогда матрица поправок операции ИЛИ имеет вид:Then the matrix of corrections of the OR operation has the form:
правые и левые диагональные проверки данной матрицы дадут результат поправки: 00110110.the right and left diagonal checks of this matrix will give the result of the correction: 00110110.
Сложение результата суммирования первой группой 54 сумматоров по mod2 с значением поправки дадут правильное значение контрольных разрядов:Adding the summation result of the first group of 54 adders in mod2 with the correction value will give the correct value for the control bits:
Если произошла ошибка, то ее обнаружение и коррекция осуществляется как и для операций описанных выше.If an error occurs, then its detection and correction is carried out as for the operations described above.
При выполнении логической операции И формирователь поправки работает следующим образом. Значения контрольных разрядов операндов суммируются по модулю в первой группе 54 сумматоров по mod2, после чего результат поступает на первые входы второй группы 55 сумматоров по mod2, на вторые входы которого поступает значение поправки. При этом функциональная схема формирования поправки при выполнении логической операции И (фиг.7), для формирования информационной матрицы поправки, реализует логическую функцию ИЛИ относительно одноименных разрядов операндов на группе логических элементов 131, 132, 133, 134 ИЛИ. Далее формирование поправки, обнаружение и коррекция возникающих ошибок проводится аналогичным способом.When performing the logical operation AND the shaper corrections works as follows. The values of the control bits of the operands are summed modulo in the first group of 54 adders by mod2, after which the result is fed to the first inputs of the second group of 55 adders by mod2, the second inputs of which receive the correction value. In this case, the functional diagram of the formation of the correction when performing the logical operation AND (Fig. 7), to form the information matrix of the correction, implements the logical function OR relative to the same bits of the operands on the group of logical elements 131, 132, 133, 134 OR. Further, the formation of the correction, the detection and correction of errors that occur is carried out in a similar way.
При контроле логической операции НЕ формирование поправки осуществляется функциональной схемой формирования поправки при выполнении логической операции НЕ (фиг.8), которая формирует единичные значения информационных разрядов матрицы поправок на основе использования элементов 148, 149, 150, 151, 152 И, значения разрядов четности строк инверсной матрицы на элементах соответственно: 139, 140, 143 и 141, 142 144, их сравнения с текущими значениями четности разрядов четности, поступающими на входы 88, выдачи на выход 89 значений информационных разрядов (входы третьей группы 59 элементов ИЛИ) и значений разрядов четности на выход 90 (вход четвертой группы 60 элементов ИЛИ). Далее устройство работает аналогичным образом.When monitoring the logical operation NOT, the formation of the correction is carried out by the functional diagram of the formation of the correction when the logical operation is NOT (Fig. 8), which generates the unit values of the information bits of the correction matrix based on the use of elements 148, 149, 150, 151, 152 AND, the values of the parity bits of the lines inverse matrix on the elements, respectively: 139, 140, 143 and 141, 142 144, their comparison with the current parity values of the parity bits received at inputs 88, outputting 89 values of information bits to the output (inputs of Group 59 elements tey OR) values and parity bits 90 to the output (input of the fourth group 60 elements OR). Further, the device operates in a similar manner.
При контроле выполнения операции сложения по mod2 не требуется формирования поправки к результату суммирования по mod2 значений контрольных разрядов операндов. В этом случае результат суммирования с выходов первой группы элементов 54 неравнозначности через третью группу элементов 72 И, шестую группу 62 элементов ИЛИ поступает на ходы третьей группы 56 элементов неравнозначности, где сравнивается с значениями контрольных разрядов сформированных на выходах второй кодирующей схемы 85. Далее устройство работает аналогичным образом.When controlling the execution of the addition operation by mod2, it is not necessary to form an amendment to the result of summing, by mod2, the values of the control bits of the operands. In this case, the result of summing from the outputs of the first group of elements 54 of ambiguity through the third group of elements 72 AND, the sixth group 62 of elements OR comes to the moves of the third group 56 of elements of ambiguity, where it is compared with the values of the control bits generated at the outputs of the second coding circuit 85. Next, the device operates the same way.
Работа процессора начинается с приходом сигнала "Пуск" по входной группе 30 входов устройства обмена процессора с периферийными блоками. По этой команде блок 5 выдает команду на считывание с управляющей памяти 20 содержимого первой ячейки памяти.The processor starts with the arrival of the Start signal at the input group of 30 inputs of the processor exchange device with peripheral units. By this command, block 5 issues a command to read the contents of the first memory cell from the control memory 20.
В первой ячейке памяти расположена команда "Сброс системы", которая устанавливает в исходное состояние регистры и блоки процессора, В счетчик 9 команд записывается "1", устройство управления 1 выдает микрокоманды в следующей последовательности:The "System Reset" command is located in the first memory cell, which sets the registers and blocks of the processor to the initial state. "1" is written to the 9 command counter, control device 1 issues micro-commands in the following sequence:
1) На первом такте сигналы микрокоманды и значения контрольных разрядов поступают на выход блока 17 коррекции, где проводится обнаружение и коррекция возникающих ошибок в соответствии с функциональной схемой, представленной на фиг.2.1) At the first clock, the microcommand signals and the values of the control bits are sent to the output of the correction unit 17, where the detection and correction of errors that occur is carried out in accordance with the functional diagram presented in figure 2.
В этом случае, при считывании микрокоманды, кодирующей схемой 40 проводится формирование вектора контрольных разрядов R" принятого кодового набора.In this case, when reading the micro-command by the encoding circuit 40, the control bit vector R ″ of the received code set is formed.
Таким образом, в период считывания информации, на входах схемы 41 сравнения имеем соответственно векторы контрольных разрядовThus, during the information reading period, at the inputs of the comparison circuit 41, we have, respectively, the vectors of the control bits
Схема 41 сравнения формирует значения синдрома ошибки на основе передаваемой и полученной информации.The comparison circuit 41 generates error syndrome values based on the transmitted and received information.
Результат сложения по mod 2 значений сигналов переданных и сформированных контрольных разрядов даст синдром ошибки:The result of adding, according to mod 2, the signal values of the transmitted and generated control bits will give an error syndrome:
E=e1e2e3.........ek+4.E = e 1 e 2 e 3 ......... e k + 4 .
В случае возникновения ошибок, на одном из выходов дешифратора 53 формируется единичный сигнал.In the event of errors, a single signal is generated at one of the outputs of the decoder 53.
В этом случае корректор 52 осуществляет исправление ошибок, возникающих в информационных разрядах управляющей памяти 20. При In this case, the corrector 52 corrects errors that occur in the information bits of the control memory 20. When
исправлении ошибок реализуется функция по mod2 относительно управляющих сигналов информационных разрядов управляющей памяти 20.error correction is implemented by the function mod2 relative to the control signals of the information bits of the control memory 20.
При возникновении ошибок, принадлежащих подмножеству n1 - для одинаковых синдромов, указывающих на ошибку в различных информационных разрядах (имеющих одинаковое значение синдромов и дополнительных проверок, см. приложение), характеризующихся наличием единичных значений на выходе первой группы 42 элементов ИЛИ 17 и отсутствие единичных значений на выходах с второй 43 по шестую группу 47 элементов ИЛИ, с помощью седьмой группы 48 элементов ИЛИ, второй группы 42 элементов ИЛИ, элемента 49 НЕ, элемента 50 И формируется сигнал 'Отказ устройства'.If errors occur that belong to the subset n 1 - for the same syndromes, indicating an error in different information categories (having the same meaning of syndromes and additional checks, see the appendix), characterized by the presence of single values at the output of the first group of 42 elements OR 17 and the absence of single values at the outputs from the second 43 through the sixth group of 47 OR elements, using the seventh group of 48 OR elements, the second group of 42 OR elements, the NOT element 49, the 50 AND element, the signal 'Device failure' is generated.
Аналогичным образом блок коррекции 17 работает при считывании микрокоманд на всех последующих тактах.Similarly, the correction unit 17 works when reading microcommands on all subsequent measures.
Если ошибок нет, или возникла корректируемая ошибка, набор микрокоманд поступает на вход считывания счетчика 9 команд и на вход записи регистра 11 адреса, при этом содержимое счетчика 9 команд пересылается в регистр 11 адреса (или через первый коммутатор 6 на адресные входы запоминающего устройства при естественной выборке команд непосредственно со счетчика 9 команд);If there are no errors, or a correctable error has occurred, the set of microcommands is sent to the input of the counter reading of 9 commands and to the input of the address register 11, while the contents of the counter of 9 commands are sent to the address register 11 (or through the first switch 6 to the address inputs of the storage device with natural sample commands directly from the counter 9 teams);
2) На втором такте к содержимому счетчика 9 команд прибавляется единица - подготавливается адрес следующей команды;2) On the second measure, the unit is added to the contents of the counter of 9 commands - the address of the next command is prepared;
3) На третьем такте сигналы микрокоманды поступают на вход считывания регистра 11 адреса и на вход считывания содержимого ячейки памяти запоминающего устройства по указанному адресу. При этом команда, хранящаяся в первой ячейке памяти, записывается в регистр 12 числа;3) At the third clock, the micro command signals are sent to the read input of the address register 11 and to the read input of the contents of the memory cell of the storage device at the specified address. In this case, the command stored in the first memory cell is recorded in the register 12 numbers;
4) На четвертом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, вход второго коммутатора 7 и на вход дешифратора 3 кода операции, где раскодируются, после чего управляющий узел 1 переходит ко второму этапу работы.4) At the fourth clock, the microcommand signals are fed to the read input of the 12th register, the input of the second switch 7, and to the input of the decoder 3 of the operation code, where they are decoded, after which the control unit 1 proceeds to the second stage of operation.
Для примера рассмотрим порядок исполнения одной из команд, записанной в регистре 12 числа после выполнения первых четырех тактов.For example, consider the execution order of one of the commands written in the register on the 12th day after the first four measures.
Пусть в поле кода операции команды содержимого регистра 12 числа записана команда сложения содержимого регистра 13 сумматора с числом расположенным запоминающем устройстве по адресу, указанному в поле адреса регистра 12 числа. (при использовании одноадресной команды).Let the command for adding the contents of the register 13 of the adder with the number located in the storage device at the address specified in the address field of the register of the 12th number be written in the operation code field of the command for the contents of the 12th register. (when using a unicast command).
Управляющий узел 1 при этом выдает следующие микрокоманды:The control node 1 thus issues the following microcommands:
5) на пятом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, на вход второго коммутатора 7, первого коммутатора 6 и на вход записи регистра 11 адреса (адрес, хранящийся в регистре 12 числа записывается в регистр 11 адреса, содержимое регистра 12 числа обнуляется);5) on the fifth clock, microcommand signals are fed to the read input of the 12th register, to the input of the second switch 7, the first switch 6, and to the write input of the address register 11 (the address stored in the 12th register is written to the address register 11, the contents of the 12th number register are reset );
6) На шестом такте сигналы микрокоманды подаются на вход считывания регистра 11 адреса, на вход первого коммутатора 6, на вход считывания запоминающего устройства и на вход записи регистра 12 числа (из запоминающего устройства в регистр 12 числа записывается второе слагаемое (считаем, что первое слагаемое уже находится в регистре 13 сумматора);6) At the sixth cycle, the microcommand signals are fed to the read input of address register 11, to the input of the first switch 6, to the read input of the storage device and to the write input of the 12th register (the second term is written from the storage device to the 12th register (we assume that the first term already in register 13 of the adder);
7) На седьмом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа и регистра 13 сумматора, при этом арифметико-логическое устройство осуществляет операцию сложения и запись результата сложения в регистр 13 сумматора следующим образом.7) On the seventh cycle, the microcommand signals are fed to the read input of the number register 12 and the adder register 13, while the arithmetic-logic device performs the addition operation and writes the addition result to the adder register 13 as follows.
Результат суммы с выхода сумматора 16, поступает на блок 19 контроля (фиг.3), в котором через открытую вторую группу 71 элементов И, вторую группу 58 элементов ИЛИ поступает на вход второй кодирующей схемы 85 в котором формируются значения контрольных разрядов относительно принятой информации.The result of the sum from the output of the adder 16 is sent to the control unit 19 (Fig. 3), in which, through an open second group of 71 AND elements, the second group of 58 OR elements is fed to the input of the second coding circuit 85 in which control bits are generated relative to the received information.
Одновременно значения контрольных разрядов слагаемых с выходов 26 третьего коммутатора 8 поступают на входы первой группы 54 элементов At the same time, the values of the control bits of the terms from the outputs 26 of the third switch 8 are supplied to the inputs of the first group of 54 elements
неравнозначности, где производится суммирование одноименных контрольных разрядов по mod2. В то же время значения информационных разрядов слагаемых поступают на вход 87 блока 83 формирователя поправки.ambiguities, where summation of the same-named control bits by mod2 is performed. At the same time, the values of the information bits of the terms go to the input 87 of the block 83 of the amendment shaper.
В данном случае значения информационных разрядов поступают на вход схемы формирования поправки при выполнении арифметических операций (фиг.4). При помощи групп 92-97 элементов И, групп 95-96 элементов ИЛИ формируются значения сигналов переноса Ci в соответствии с положениями рассмотренными в приложении. Так например, при сложении числа А=0010 и числа В=0110 открывается группа элементов 93 И что приводит к формированию сигнала переноса C2, а наличие единичного сигнала в третьем разряде одного из слагаемых и сигнала С2 приводит к открытию элемента 96 И, что в свою очередь приводит к появлению сигнала С3. В регистре 102 памяти записаны значения разрядов информационных матриц поправок. Сигналу переноса С2 соответствует информационная матрица:In this case, the values of information bits enter the input of the correction formation circuit when performing arithmetic operations (figure 4). Using groups of 92-97 AND elements, groups of 95-96 OR elements, the values of the transport signals C i are formed in accordance with the provisions considered in the appendix. So, for example, when adding the number A = 0010 and the number B = 0110, a group of elements 93 opens, and this leads to the formation of a transport signal C 2 , and the presence of a single signal in the third category of one of the terms and the signal C 2 leads to the opening of the 96 And element, which in turn leads to the appearance of a signal With 3 . In the register 102 of the memory recorded values of the bits of the information matrix corrections. The transfer signal C 2 corresponds to the information matrix:
а сигналу переноса С3 соответствует информационная матрица:and the transfer signal C 3 corresponds to the information matrix:
Таким образом, сигналы Сi определяют адреса разрядов информационных матриц поправок. Сложение по mod2 одноименных разрядов на группе 103 сумматоров по mod2 даст требуемую информационную матрицу поправок.Thus, the signals C i determine the addresses of the bits of the information matrix corrections. The addition of the same-rank bits in mod2 on the group of 103 adders in mod2 will give the required information matrix of corrections.
При поступлении разрешающего сигнала на входе 86, открывается элемент 97 И и полученная информация поступает на выходы 89, 90 формирователя 83 поправок (фиг.3). При этом с выхода 89 поступают значения сигналов проверок на четность строк информационной матрицы Upon receipt of the enabling signal at input 86, the element 97 And opens and the received information goes to the outputs 89, 90 of the shaper 83 amendments (figure 3). In this case, output 89 receives the values of the signals of the parity of the rows of the information matrix
поправок, а с выходов 90 значения информационных разрядов информационной матрицы поправок АМтр. Данная информация через элементы 59, 60 ИЛИ поступает на входы первой кодирующей схемы 84, где организуются правые и левые диагональные проверки.amendments, and from outputs 90 the values of the information bits of the information matrix of amendments A Mtr . This information through the elements 59, 60 OR is fed to the inputs of the first coding circuit 84, where the right and left diagonal checks are organized.
В результате получим значение поправки: 1100 0110, которая по сигналу открывающему элемент 73 И поступает на первые входы второй группы 55 элементов неравнозначности.As a result, we obtain the correction value: 1100 0110, which, upon a signal to the opening element 73 AND, is supplied to the first inputs of the second group of 55 elements of unequality.
Для рассматриваемого примера суммирование по mod2 значений сигналов контрольных разрядов первой группой 54 элементов неравнозначности даст результат:For this example, the summation over mod2 of the values of the signals of the control bits of the first group of 54 elements of unequality will give the result:
который поступает на вторые входы второй группы 55 элементов неравнозначности. В результате на выходе второй группы 55 элементов неравнозначности получим скорректированное значение контрольных разрядов для полученного результата суммы:which goes to the second inputs of the second group of 55 elements of disambiguation. As a result, at the output of the second group of 55 elements of ambiguity, we obtain the adjusted value of the control bits for the result of the sum:
которое при правильном суммировании чисел А и В:which, with the correct summation of numbers A and B:
соответствует правильному значению контрольных разрядов, поступающему с выходов второй кодирующей схемы 85 (10100101) на первые входы третьей группы 56 элементов неравнозначности, на вторые входы которой, чрез элемент 62 ИЛИ поступают скорректированные значения контрольных разрядов 10100101.corresponds to the correct value of the control bits coming from the outputs of the second coding circuit 85 (10100101) to the first inputs of the third group 56 of unequal elements, the second inputs of which, through the element 62 OR receive the corrected values of the control bits 10100101.
Если значения контрольных разрядов, поступающие с первой кодирующей схемы 84, совпадают с значениями контрольных разрядов, поступающих с выходов второй кодирующей схемы 85 совпадают, то на выходе третьей группы 56 элементов неравнозначности имеем нулевые значения, т.е. операция суммирования проведена правильно, если не совпадают - произошла ошибка.If the values of the control bits coming from the first coding circuit 84 coincide with the values of the control bits coming from the outputs of the second coding circuit 85, then at the output of the third group 56 of unequal elements we have zero values, i.e. summation operation is carried out correctly, if they do not match, an error has occurred.
Значения сигналов с выходов третьей группы 56 элементов неравнозначности поступают на входы дешифратора 81.The values of the signals from the outputs of the third group 56 elements of disambiguity are fed to the inputs of the decoder 81.
В случае возникновения ошибок, на одном из его выходов формируется единичный сигнал.In case of errors, a single signal is formed at one of its outputs.
Выходы дешифратора 81 объединены соответственно в один выход с помощью седьмой группы 63 элементов ИЛИ, восьмой группы 64 элементов ИЛИ, девятой группы 65 элементов ИЛИ, десятой (k-й) группы 66 элементов ИЛИ, для формирования управляющих сигналов на корректор, соответственно для коррекции первого, второго ... k-го информационных разрядов.The outputs of the decoder 81 are combined into one output, respectively, using the seventh group of 63 OR elements, the eighth group of 64 OR elements, the ninth group of 65 OR elements, the tenth (k-th) group of 66 OR elements, to generate control signals to the corrector, respectively, to correct the first , the second ... k-th information category.
Одиннадцатая группа 67 элементов ИЛИ объединяет выходы дешифратора 81, (выходы схем И,) принадлежащие подмножеству 12 и соответствующих возникновению ошибок только в контрольных разрядах (для которых не требуется формирование управляющих сигналов на корректор), с которых снимается сигнал "Ошибка в контрольных разрядах" - выход 291 блока 19 контроля.The eleventh group of 67 OR elements combines the outputs of the decoder 81, (the outputs of the circuits AND,) belonging to the subset 1 2 and corresponding to the occurrence of errors only in the control bits (for which the formation of control signals to the corrector is not required), from which the signal "Error in control bits" is removed - output 29 1 of the control unit 19.
В этом случае через элемент 78 НЕ закрывается группа 74 элементов И и запрещается выдача значений контрольных разрядов на выход блока 19 контроля, принимается решение кодирования информационных разрядов кодирующим устройством при записи в оперативное запоминающее устройство.In this case, the AND group of 74 elements is NOT closed through the element 78, and it is forbidden to output the values of the control bits to the output of the control unit 19, a decision is made to encode information bits by the encoding device when writing to the random access memory.
Корректор 82 включает k-элементов неравнозначности и предназначен для исправления ошибок, возникающих в информационных разрядах.The corrector 82 includes k-elements of discontinuity and is intended to correct errors that occur in information bits.
При исправлении ошибок реализуется функция по mod2 относительно управляющих сигналов поступающих с выходов элементов ИЛИ:When correcting errors, a function is implemented according to mod2 with respect to the control signals coming from the outputs of the OR elements:
При возникновении ошибок, принадлежащих подмножеству n1 - для одинаковых синдромов, указывающих на ошибку в различных информационных разрядах (имеющих одинаковое значение синдромов и дополнительных проверок, см. приложение), характеризующихся наличием единичных значений на выходах третьей группы 56 элементов неравнозначности (двенадцатой группы 68 элементов ИЛИ и отсутствие единичных значений на выходах с седьмой 63 по одиннадцатую 67 элементов ИЛИ 13, с помощью тринадцатой группы 69 элементов ИЛИ, элемента 79 НЕ, восьмого элемента 77 И формируется сигнал 'Отказ устройства', который поступает на выход 292.If errors occur that belong to the subset n 1 for the same syndromes, indicating an error in different information categories (having the same meaning of the syndromes and additional checks, see the appendix), characterized by the presence of single values at the outputs of the third group of 56 elements of ambiguity (twelfth group of 68 elements OR and the absence of unit values at the outputs from the seventh 63 to the eleventh 67 elements OR 13, using the thirteenth group of 69 elements OR, element 79 NOT, the eighth element 77 And form The 'Device Failure' signal is output, which is output 29 2 .
Отсутствие сигнала на выходах 291, 292 и наличие сигнала на выходе 293 свидетельствует о наличие корректируемых ошибок в информационных разрядах.The absence of a signal at the outputs 29 1 , 29 2 and the presence of a signal at the output 29 3 indicates the presence of correctable errors in the information bits.
Таким образом, сигналы информационных разрядов с выхода сумматора 16 через группу 61 элементов ИЛИ поступают на корректор 82. (при наличии в них ошибок корректируются) и при наличии разрешающего сигнала через группу 75 элементов И совместно с сигналами в контрольных разрядах (при отсутствии в них ошибок) поступают на выход 28 блока 19 контроля и далее через второй коммутатор 7 поступают в регистр 13 сумматора.Thus, the signals of the information bits from the output of the adder 16 through the group of 61 OR elements are fed to the corrector 82. (if errors are corrected in them) and if there is an enable signal through the group of 75 AND elements together with the signals in the control bits (in the absence of errors ) go to the output 28 of the control unit 19 and then through the second switch 7 go to the register 13 of the adder.
Аналогичным образом процессор функционирует при выполнении логических операций.Similarly, the processor operates when performing logical operations.
8) На восьмом такте выдается микрокоманда "Конец операций" осуществляется переход на следующую операцию, блок 5 управления приводится в исходное состояние и выдает разрешение на начало выполнения следующей команды, адрес которой указан в счетчике 9 команд.8) On the eighth step, the micro-command “End of operations” is issued, the transition to the next operation is carried out, the control unit 5 is initialized and gives permission to start the next command, the address of which is indicated in the counter of 9 commands.
ПРИЛОЖЕНИЕ 1.ANNEX 1.
1. Способ защиты устройств хранения информации ЭВМ1. A method of protecting computer storage devices
Коррекция ошибок заданной кратности, при условии обнаружения ошибок в остальных разрядах информации, может достигается на основе итеративного кода.Correction of errors of a given multiplicity, provided that errors are detected in the remaining bits of information, can be achieved based on an iterative code.
Процедура построения двумерного итеративного кода состоит в следующем [3]. Заданную совокупность информационных символов делят на группы (блоки, модули) информации, по b - разрядов в каждой группе. Полученные модули информации представляют в виде информационной матрицы (1):The procedure for constructing a two-dimensional iterative code is as follows [3]. A given set of information symbols is divided into groups (blocks, modules) of information, by b - bits in each group. The resulting information modules are presented in the form of an information matrix (1):
Затем осуществляется кодирование информации по методу четности (путем сложения по mod2 символов строк и столбцов полученной матрицы). В результате имеем двумерный итеративный код, позволяющий обнаруживать и исправлять любую одиночную ошибку:Then the information is encoded using the parity method (by adding mod2 to the characters of the rows and columns of the resulting matrix). As a result, we have a two-dimensional iterative code that allows us to detect and correct any single error:
где Н=h1, h2,..., hm - вектор четности строк; Z=z1, z2,..., zb - вектор четности столбцов. Вектора четности строк и столбцов образуют совокупность контрольных разрядов R1={r1, r2, rm, rm+1,..., rb}. При получении кодовой комбинации относительно информационных разрядов повторно формируется значения контрольных разрядов . В данном случае, разница между переданными значениями контрольных разрядов и полученными после приема информации образует синдром ошибки E:where H = h 1 , h 2 , ..., h m is the line parity vector; Z = z 1 , z 2 , ..., z b is the column parity vector. The parity vectors of rows and columns form the set of control bits R 1 = {r 1 , r 2 , r m , r m + 1 , ..., r b }. Upon receipt of a code combination with respect to information bits, the values of the control bits are re-formed . In this case, the difference between the transmitted values of the control bits and received after receiving the information forms the error syndrome E:
При этом, разряды синдрома ошибки e1e2...еm (полученные относительно вектора четности строк) указывают модуль информации, имеющей ошибку, а разряды еmеm+1...еb (полученные относительно вектора четности столбцов) указывают ошибочный разряд в модуле информации.Moreover, the bits of the error syndrome e 1 e 2 ... e m (obtained with respect to the row parity vector) indicate the module of information that has an error, and the bits e m e m + 1 ... e b (obtained with respect to the column parity vector) indicate erroneous bit in the information module.
Так как кодовые комбинации строк и столбцов имеют минимальное расстояние d=2, то минимальное расстояние данного кода d=4. Этот код позволяет исправлять любую одиночную ошибку и обнаруживать значительную долю кратных ошибок.Since code combinations of rows and columns have a minimum distance d = 2, the minimum distance of this code is d = 4. This code allows you to correct any single error and detect a significant proportion of multiple errors.
Структуры ошибок, не обнаруживаемых двумерным итеративным кодом показаны на рисунке:The structures of errors not detected by the two-dimensional iterative code are shown in the figure:
Рис.1 Структуры ошибок, не обнаруживаемых двумерным итеративным кодом: а) - ошибки кратности 4; б) - ошибки кратности 6.Fig. 1 Structures of errors not detected by a two-dimensional iterative code: a) errors of multiplicity 4; b) - errors of multiplicity 6.
Рис.2 Структуры ошибок двумерного итеративного кода, приводящие к ошибочной коррекции: а) - ошибки кратности 5; б) - ошибки кратности 7.Fig.2 Error structures of a two-dimensional iterative code, leading to erroneous correction: a) errors of multiplicity 5; b) - errors of multiplicity 7.
В общем случае можно строить итеративные коды более высокой размерности (трехмерные, четырех мерные и т.д.), где каждый In the general case, iterative codes of higher dimension can be constructed (three-dimensional, four-dimensional, etc.), where each
информационный символ будет являться компонентой одновременно х различных кодовых слов. Параметры итеративных кодов размерности х таковы [3]:an information symbol will be a component of simultaneously x different codewords. The parameters of iterative codes of dimension x are as follows [3]:
где ni, ki, di - соответственно длина, количество информационных разрядов, минимальное расстояние кодовых наборов строк и столбцов.where n i , k i , d i are the length, the number of information bits, the minimum distance of the code sets of rows and columns, respectively.
Исходя из этого, для построения итеративных кодов следует использовать проверки, имеющие наибольшую обнаруживающую способность.Based on this, to build iterative codes should use checks that have the highest detecting ability.
Так, организация диагональных проверок рассматриваемой матрицы, позволит выявить структуры ошибок, не обнаруживаемые итеративным кодом, реализующим проверки четности строк и столбцов.Thus, the organization of diagonal checks of the matrix under consideration will allow us to identify error structures that are not detected by iterative code that implements parity checks of rows and columns.
Структура диагональных проверок, обнаруживающих рассматриваемые ошибки имеет вид, представленный на рис.3.The structure of diagonal checks that detect the errors in question has the form shown in Fig. 3.
Рис.3. Структура диагональных проверок:Fig. 3. Diagonal check structure:
- результаты правых диагональных проверок; - результаты левых диагональных проверок - the results of the right diagonal checks; - results of left diagonal checks
Левые диагональные проверки образуются по правилу:Left diagonal checks are formed according to the rule:
Результаты правых диагональных проверок образуются при суммировании значений следующих информационных разрядов:The results of the right diagonal checks are formed by summing the values of the following information bits:
В этом случае, общее число диагональных проверок равно 2l, или:In this case, the total number of diagonal checks is 2l, or:
Пример 1. Пусть рассматриваемое слово состоит из четырех информационных разрядов, которые имеют нулевые значения. Для данного кодового набора информационная матрица имеет вид:Example 1. Let the word in question consists of four information bits that have zero meanings. For this code set, the information matrix has the form:
В этом случае проверки на четность строк и столбцов информационной матрицы дадут нулевые значения и, кроме этого будут иметь нулевые значения результаты всех правых и левых диагональных проверок. При возникновении ошибки во всех информационных разрядах имеем четную ошибку не обнаруживаемую двумерным итеративным кодом, т.к. проверки на четность строк и столбцов информационной матрицы имеют нулевые значения:In this case, the parity checks of the rows and columns of the information matrix will give zero values and, in addition, the results of all right and left diagonal checks will have zero values. If an error occurs in all information bits, we have an even error that cannot be detected by a two-dimensional iterative code, because parity checks of rows and columns of the information matrix have zero values:
В то же время правые и левые диагональные проверки дадут результат 101.At the same time, the right and left diagonal checks will give a result of 101.
Утверждение 1. Итеративный код, реализующий правые и левые диагональные проверки, обнаруживает все четные ошибки не обнаруживаемые двумерным итеративным кодом и выявляет нечетные ошибки воспринимаемые двумерным итеративным кодом как корректируемые.Proposition 1. An iterative code that implements right and left diagonal checks detects all even errors not detected by the two-dimensional iterative code and identifies odd errors perceived by the two-dimensional iterative code as being correctable.
В свою очередь существуют структуры ошибок не обнаруживаемые итеративным кодом, реализующим правые и левые диагональные проверки и проверками на четность строк и столбцов. Структуры рассматриваемых ошибок представлены на рис.4.In turn, there are error structures that are not detected by iterative code that implements right and left diagonal checks and checks for the parity of rows and columns. The structures of the considered errors are presented in Fig. 4.
Рис.4 Структуры ошибок не обнаруживаемых диагональными проверками и проверками строк и столбцов.Fig. 4 Error structures not detected by diagonal checks and checks of rows and columns.
Так, например, относительно информационной матрицы, имеющей нулевые значения, диагональными проверками не будет обнаружена следующая структура ошибки.So, for example, with respect to the information matrix having zero values, the following error structure will not be detected by diagonal checks.
Для того, чтобы исключить появление рассматриваемых ошибок, информационная матрица должна содержать не более двух строк.In order to exclude the occurrence of the considered errors, the information matrix should contain no more than two rows.
Утверждение 2. Для информационной матрицы Ьх2 итеративный код, реализующий правые и левые диагональные проверки, обнаруживает максимальное количество возможных ошибок (за исключением множества 2k-1 запрещенных кодовых наборов, трансформируемых в разрешенные кодовые наборы).Proposition 2. For the information matrix bx2, an iterative code that implements right and left diagonal checks detects the maximum number of possible errors (with the exception of the set 2 k -1 forbidden code sets that are transformed into allowed code sets).
Таким образом, при использовании итеративного кода, реализующего правые и левые диагональные проверки, кодовый набор передается в виде:Thus, when using iterative code that implements right and left diagonal checks, the code set is transmitted in the form:
Для рассматриваемого примера кодирование информации осуществляется следующим образом: r1=y1; r2=у2⊕у3; r3=y4; r4=y3; r5=y1⊕y4; r6=y2.For this example, the encoding of information is as follows: r 1 = y 1 ; r 2 = y 2 ⊕y 3 ; r 3 = y 4 ; r 4 = y 3 ; r 5 = y 1 ⊕y 4 ; r 6 = y 2 .
Результат сложения значений сигналов контрольных разрядов переданных и полученных даст синдром ошибки:The result of the addition of the values of the signals of the control bits transmitted and received will give an error syndrome:
где разряды вектора ошибки r1, r2,............rl - соответствуют правым диагональным проверка, rl, rl+1,............r2l - левым и сформированным относительно полученных информационных разрядов;where the bits of the error vector r 1 , r 2 , ............ r l - correspond to the right diagonal check, r l , r l + 1 , ............ r 2l - left and formed relative to the received information bits;
- значения полученных контрольных разрядов. - the values of the received control bits.
Свойство 1. Существуют такие конфигурации ошибок в информационных и контрольных разрядах, для которых синдромы ошибок имеют одинаковые значения.Property 1. There are such error configurations in information and control bits for which the error syndromes have the same meanings.
Для различения данных ошибок, при формировании значений синдромов ошибок, организуются дополнительные диагональные проверки:To distinguish these errors, when generating the values of the error syndromes, additional diagonal checks are organized:
Таким образом, каждой ошибке из множества ошибок М=(2n)k можно поставить в соответствие значение синдрома ошибки и значение дополнительных диагональных проверок.Thus, each error from the set of errors M = (2 n ) k can be associated with the value of the error syndrome and the value of additional diagonal checks.
Свойство 2. Каждой совокупности значения синдрома ошибок и значения дополнительных проверок соответствует подмножество Q-ошибок различной конфигурации.Property 2. Each set of values of the error syndrome and the value of additional checks corresponds to a subset of Q-errors of various configurations.
Следствие 1. Для различения ошибок, принадлежащих данному подмножеству, следует ограничить кратность исправляемых ошибок и увеличить число контрольных разрядов (осуществить дополнительное кодирование информационных разрядов).Corollary 1. To distinguish between errors belonging to this subset, it is necessary to limit the multiplicity of correctable errors and increase the number of control bits (perform additional coding of information bits).
В связи с этим, предлагаемый способ кодирования включает следующие положения:In this regard, the proposed encoding method includes the following provisions:
1) для того чтобы обеспечить коррекцию около 50% возникающих ошибок целесообразно ограничится исправлением ошибок, кратность которых не превышает k-1;1) in order to ensure the correction of about 50% of the errors that occur, it is advisable to limit to the correction of errors whose multiplicity does not exceed k-1;
2) для каждой строки информационной матрицы организуется проверка на четность, т.е. информационная матрица представляется в виде:2) for each row of the information matrix, a parity check is organized, i.e. the information matrix is presented in the form:
3) для полученной информационной матрицы организуются правые и левые диагональные проверки. Число диагональных проверок (число контрольных разрядов диагональных проверок) определяется по формуле:3) for the obtained information matrix, right and left diagonal checks are organized. The number of diagonal checks (the number of control bits of diagonal checks) is determined by the formula:
4) кодовый набор передается в виде:4) the code set is transmitted in the form:
5) результат сложения значений сигналов переданных и сформированных контрольных разрядов даст синдром ошибки:5) the result of adding the signal values of the transmitted and generated control bits will give an error syndrome:
6) при формировании синдрома ошибки относительно полученных и сформированных значений контрольных разрядов организуются дополнительные диагональные проверки, число которых определяется выражением:6) when the error syndrome is formed with respect to the received and generated values of the control bits, additional diagonal checks are organized, the number of which is determined by the expression:
7) в результате имеем множество ошибок заданной кратности (в данном случае от одиночной до кратности k-1, определяемое выражением: ), характеризующихся определенными значением синдрома ошибки и дополнительной проверки.7) as a result, we have many errors of a given multiplicity (in this case, from single to multiplicity k-1, defined by the expression: ) characterized by a certain value of the error syndrome and additional verification.
8) множество N разбивается на четыре подмножества N=n1+n2+n3+n4,8) the set N is divided into four subsets N = n 1 + n 2 + n 3 + n 4 ,
гдеWhere
n1 - синдромы, имеющие одинаковые дополнительные проверки (некорректируемые ошибки, признак отказа устройства);n 1 - syndromes having the same additional checks (uncorrectable errors, a sign of device failure);
n2 - подмножество групп (каждая группа включает 2k - одинаковых значений синдромов) при наличии ошибок только в информационных разрядах;n 2 - a subset of groups (each group includes 2 k - the same values of the syndromes) in the presence of errors only in information bits;
n3 - подмножество групп (каждая группа включает 2k - одинаковых значений синдромов) при наличии ошибок только в контрольных разрядах;n 3 - a subset of groups (each group includes 2 k - the same values of the syndromes) in the presence of errors only in the control bits;
n4 - подмножество групп (каждая группа включает 2k - одинаковых значений синдромов) при наличии ошибок одновременно в информационных и контрольных разрядах.n 4 - a subset of groups (each group includes 2 k - the same values of the syndromes) in the presence of errors simultaneously in the information and control bits.
Заметим, что для ошибок, не превышающих кратность k-1 нет ошибочных кодовых наборов, трансформируемых в разрешенные (исправные) кодовые наборы.Note that for errors not exceeding the multiplicity k-1 there are no erroneous code sets that can be transformed into allowed (serviceable) code sets.
На основе полученных правил кодирования формируется стратегия декодирования, решающая задачу различения ошибок в информационных и контрольных разрядах и, правила коррекции возникающих ошибок, которая включает следующие пункты:Based on the obtained coding rules, a decoding strategy is formed that solves the problem of distinguishing errors in information and control bits and the rules for correcting errors that arise, which includes the following points:
1) выявляются одинаковые дополнительные проверки, по которым из множества N исключается синдромы ошибок, принадлежащие подмножеству n1 (выявляются некорректируемые ошибки, для которых формируется сигнал "Отказ устройства");1) identical additional checks are revealed, according to which error syndromes belonging to the subset n 1 are excluded from the set N (uncorrectable errors are detected for which the "Device failure" signal is generated);
2) определяются группы одинаковых синдромов (указывающих на ошибку в соответствующих информационных разрядах) для подмножества n2;2) groups of identical syndromes (indicating an error in the corresponding information bits) are determined for the subset n 2 ;
3) определяются группы синдромов ошибок, принадлежащих подмножеству n3, для которых не требуется коррекция информационных разрядов;3) groups of error syndromes belonging to a subset of n 3 are determined for which correction of information bits is not required;
4) выявляются группы одинаковых значений синдромов ошибок, принадлежащих подмножеству n4 и позволяющих исправлять ошибки в соответствующих информационных разрядах.4) groups of the same values of the error syndromes belonging to the subset n 4 and that allow correcting errors in the corresponding information bits are revealed.
Для рассматриваемого примера, реализующего предлагаемый метод кодирования имеем:For the considered example that implements the proposed encoding method, we have:
- общее количество ошибок - 4768- total number of errors - 4768
- число одинаковых синдромов ошибок, имеющих одинаковые дополнительные проверки (подмножество n1) - 2544 (число обнаруживаемых ошибок);- the number of identical error syndromes having the same additional checks (subset n 1 ) - 2544 (the number of detected errors);
- 2224 - число корректируемых ошибок (46%);- 2224 - the number of correctable errors (46%);
- число ошибок только в информационных разрядах - 224 (l1=14 - групп, каждая из которых включает по 16 одинаковых синдромов);- the number of errors only in information categories is 224 (l 1 = 14 - groups, each of which includes 16 identical syndromes);
- число ошибок только в контрольных разрядах - 592 (l2=37 - групп, каждая из которых включает по 16 одинаковых синдромов);- the number of errors only in the control categories - 592 (l 2 = 37 - groups, each of which includes 16 identical syndromes);
- число ошибок, имеющих искажения одновременно в информационных и контрольных разрядах - 1408 (l3=88 - групп, каждая из которых включает по 16 одинаковых синдромов).- the number of errors having distortions simultaneously in the information and control bits is 1408 (l 3 = 88 - groups, each of which includes 16 identical syndromes).
В табл.1 представлены часть значений синдромов ошибок для подмножеств n2, n3, n4. (исключены синдромы ошибок подмножества n1, имеющие одинаковые значения дополнительных проверок).Table 1 shows a part of the values of the error syndromes for the subsets n 2 , n 3 , n 4 . (excluded are the syndromes of errors of the subset n 1 having the same values of additional checks).
Предлагаемый способ кодирования позволяет:The proposed encoding method allows you to:
корректировать ошибку заданной кратности;Correct an error of a given multiplicity;
обнаруживать максимальное количество ошибок (за исключением ошибочных кодовых наборов, трансформируемых в разрешенные кодовые наборы);detect the maximum number of errors (with the exception of erroneous code sets that are transformed into allowed code sets);
сигнализировать о неисправности устройства памяти при возникновении некорректируемой ошибки.signal a malfunction of the memory device when an uncorrectable error occurs.
2. Способ обнаружения ошибок преобразователей информации2. A method for detecting errors converters information
2.1. Общие положения2.1. General Provisions
По своему функциональному назначению дискретные устройства ЭВМ условно можно разделить на устройства хранения информации (накопитель запоминающего устройства, регистр числа, буферные регистры памяти и т.д.) и преобразователи информации (сумматоры, регистры сдвига и другие дискретные узлы операционного и управляющего устройства ЭВМ).According to their functional purpose, discrete computer devices can be conditionally divided into information storage devices (storage device, number register, buffer memory registers, etc.) and information converters (adders, shift registers and other discrete nodes of the operating and control computer devices).
В настоящее время наиболее широко корректирующие коды используются для обеспечения отказоустойчивости устройств хранения и передачи информации, в то же время недостаточно разработаны методы использования корректирующих кодов для обеспечения отказоустойчивости преобразователей информации.Currently, the most widely used correction codes are used to ensure fault tolerance of information storage and transmission devices; at the same time, methods for using correction codes to ensure fault tolerance of information converters are not sufficiently developed.
В качестве простейшего метода контроля работы сумматора может быть использован контроль по четности [4]. При сложении чисел а и b разряды суммы s образуются в соответствии с выражениями:As the simplest method of monitoring the operation of the adder can be used for parity [4]. When adding the numbers a and b, the digits of the sum s are formed in accordance with the expressions:
Сложив все n вышеприведенных равенств по модулю 2, получим:Adding all n of the above equalities modulo 2, we obtain:
ps=pa⊕pb⊕ps,p s = p a ⊕p b ⊕p s ,
где ps - четность суммы; pа, pb - четность слагаемых; рc - четность переносов. Данная схема контроля позволяет обнаруживать только одиночные и нечетное число ошибок, кроме этого не обнаруживаются ошибки в цепи переноса, так как это приводит к четному числу ошибок - в разряде переноса и в разряде суммы.where p s is the parity of the sum; p a , p b - the parity of the terms; p c - parity of transfers. This control scheme allows you to detect only single and odd number of errors, in addition, errors in the transfer chain are not detected, since this leads to an even number of errors - in the transfer discharge and in the discharge category.
Контроль работы сумматоров можно осуществлять с использованием дублирования или парафазной логики, однако это требует больших аппаратурных затрат, что не позволяет обеспечить требуемую достоверность функционирования данных устройств.The operation of the adders can be controlled using duplication or paraphase logic, however, this requires high hardware costs, which does not allow to provide the required reliability of the operation of these devices.
Использование рассмотренного выше метода защиты устройств хранения информации для обнаружения максимального количества ошибок, возникающих в преобразователях информации, позволяет наиболее полно удовлетворять указанным выше требованиям, но при этом существует необходимость решения ряда вопросов, связанных с адаптацией данного метода кодирования к функциональным и конструктивным особенностям данных устройств.Using the method of protection of information storage devices discussed above to detect the maximum number of errors that occur in information converters allows us to most fully satisfy the above requirements, but there is a need to address a number of issues related to adapting this encoding method to the functional and design features of these devices.
2.2. Контроль работы сумматора2.2. Adder operation control
Преимущественное распространение в современных вычислительных машинах имеют сумматоры параллельного действия, в которых передача чисел и образование суммы происходит одновременно для всех разрядов.Parallel-action adders, in which the transmission of numbers and the formation of the sum occurs simultaneously for all digits, have a predominant distribution in modern computers.
Рассмотрим основные положения способа контроля операции сложения на примере.Consider the main provisions of the method of controlling the operation of addition by example.
Допустим, требуется сложить два четырех разрядных числа:Suppose you want to add two four bit numbers:
А=0111 и В=0011, которые хранятся в отказоустойчивом ОЗУ, т.е. кодируется рассмотренным способом.A = 0111 and B = 0011, which are stored in fault-tolerant RAM, i.e. encoded by the considered method.
В этом случае информационная матрица для числа А имеет вид:In this case, the information matrix for the number A has the form:
правый столбец которой, содержит значения разрядов проверки на четность строк информационной матрицы.the right column of which contains the values of the bits of the parity check of the rows of the information matrix.
Соответственно правые и левые диагональные проверки информационной матрицы дадут результат:Accordingly, the right and left diagonal checks of the information matrix will give the result:
0000 1111.0000 1111.
Таким образом, из ОЗУ в операционное устройство процессора число А поступает в виде: 0111 0000 1111.Thus, from RAM to the operating device of the processor, the number A comes in the form: 0111 0000 1111.
Информационная матрица числа В имеет вид:The information matrix of the number B has the form:
при этом число В поступает на вход сумматора в виде:the number B is fed to the input of the adder in the form:
0011 01101100.0011 01101100.
Арифметическое суммирование информационных разрядов даст результат:Arithmetic summation of information bits will give the result:
Информационная матрица SM имеет вид:The information matrix S M has the form:
соответственно правые и левые диагональные проверки информационной матрицы дадут значения сигналов в контрольных разрядах: 11111111.accordingly, the right and left diagonal checks of the information matrix will give the signal values in the control bits: 11111111.
Таким образом, в результате выполнения операции сложения на выходе арифметического устройства должен быть сформирован кодовый набор: 1010 11111111.Thus, as a result of the addition operation, the code set should be generated at the output of the arithmetic device: 1010 11111111.
Однако, арифметическое сложение контрольных разрядов слагаемых даст результат:However, the arithmetic addition of the control bits of the terms will give the result:
который отличается от правильного значения: 11111111.which differs from the correct value: 11111111.
Аналогичным образом, сложение контрольных разрядов слагаемых по mod 2 даст результат:Similarly, the addition of control bits of the terms in mod 2 will give the result:
который тоже отличается от правильного значения.which is also different from the correct value.
В связи с этим, для формирования правильных значений контрольных разрядов возникает необходимость определения поправки, например к значению контрольных разрядов Sk mod2.In this regard, for the formation of the correct values of the control bits, it becomes necessary to determine the correction, for example, to the value of the control bits S k mod2 .
Правила формирования поправки, может быть получено на основе построения информационных матриц, учитывающих перенос единицы в старший разряд, при наличии единиц в одноименных разрядах.The rules for the formation of the amendment can be obtained by constructing information matrices that take into account the transfer of a unit to the senior level, if there are units in the same category.
Свойство 3. При одновременном наличии единиц в младших информационных разрядах слагаемых и отсутствии цепи переноса в остальных разрядах, значение поправки равно: C1=01011010, которое получается в результате арифметического сложения чисел A1=0001, B1=0001, формирования информационной матрицы из полученного результата 0010:Property 3. With the simultaneous presence of units in the lowest information bits of the terms and the absence of a transfer chain in the remaining bits, the correction value is: C 1 = 01011010, which is obtained as a result of arithmetic addition of the numbers A 1 = 0001, B 1 = 0001, the formation of the information matrix from the result 0010:
и кодирования данной матрицы путем проведения правых и левых диагональных проверок: 01011010.and coding this matrix by conducting right and left diagonal checks: 01011010.
Свойство 4. При одновременном наличии единиц во вторых разрядах слагаемых и отсутствии цепи переноса (наличии единиц в одноименных разрядах слагаемых или наличии единицы в рассматриваемом разряде одного из слагаемых и поступлении переноса из младшего разряда в данный разряд) в остальных разрядах, поправка формируется на основе информационной матрицы:Property 4. With the simultaneous presence of units in the second digits of the terms and the absence of a transfer chain (the presence of units in the same digits of the terms or the presence of a unit in the considered digit of one of the terms and the transfer of the transfer from the least significant bit to this category) in the remaining digits, the correction is based on the information matrices:
и равна: С2=01100011.and is equal to: C 2 = 01100011.
Свойство 5. При одновременном наличии единиц в третьих разрядах и отсутствии цепи переноса в остальных разрядах, поправкаProperty 5. With the simultaneous presence of units in the third digits and the absence of a transfer chain in the remaining digits, the amendment
поправка формируется на основе информационной матрицы:the amendment is formed on the basis of the information matrix:
и равна: С3=10100101.and is equal to: C 3 = 10100101.
Для рассматриваемого примера, при одновременном наличии единиц в четвертых разрядах слагаемых значение поправки не приводится, так как наличие единиц в четвертых разрядах слагаемых приводит к переполнению разрядной сетки.For the considered example, with the simultaneous presence of units in the fourth digits of the terms, the correction value is not given, since the presence of units in the fourth digits of the terms leads to overflow of the bit grid.
Свойство 5 При наличии цепи переноса в первых и вторых разрядах слагаемых значение поправки равно:Property 5 If there is a transfer chain in the first and second digits of the terms, the correction value is equal to:
или получается на основе информационной матрицы АM4, сформированной на основе сложения по mod2 одноименных разрядов информационных матриц AM1 и АM2:or it is obtained on the basis of the information matrix A M4 , formed on the basis of addition by mod2 of the same digits of the information matrices AM 1 and A M2 :
Свойство 6 При наличии цепи переноса в первых и третьих разрядах слагаемых значение поправки равно:Property 6 If there is a transfer chain in the first and third digits of the terms, the correction value is equal to:
или получается на основе информационной матрицы АM5, сформированной на основе сложения по mod2 одноименных разрядов информационных матриц AM1 и АM3:or it is obtained on the basis of the information matrix A M5 , formed on the basis of addition by mod2 of the same digits of the information matrices A M1 and A M3 :
Свойство 7 При наличии цепи переноса во вторых и третьих разрядах слагаемых значение поправки равно:Property 7 If there is a transfer chain in the second and third digits of the terms, the correction value is equal to:
или на основе информационных матриц АM2 и АM3:or based on information matrices A M2 and A M3 :
Свойство 8. При наличии цепи переноса в первых, вторых и третьих разрядах слагаемых значение поправки равно:Property 8. If there is a transfer chain in the first, second, and third digits of the terms, the correction value is equal to:
или на основе информационных матриц AM1, АM2 и АM3.or based on information matrices A M1 , A M2, and A M3 .
Свойство 9. При отсутствии цепи переноса в информационных разрядах (отсутствии единиц в одноименных разрядах слагаемых) значение поправки равно: 0000 0000.Property 9. In the absence of a transfer chain in the information bits (the absence of units in the equivalent bits of the terms), the correction value is: 0000 0000.
Для рассматриваемого примера (сложения чисел А=0111 и В=0011) требуется поправка С7=1001 110.For the example under consideration (the addition of the numbers A = 0111 and B = 0011), a correction of C 7 = 1001 110 is required.
Тогда сложение по mod2 значений контрольных разрядов данных слагаемых и поправки даст результат:Then, mod2 addition of the values of the control bits of these terms and the correction will give the result:
который, соответствует правильному значению контрольных разрядов для результата суммы S=1010, полученного в результате арифметического сложения чисел А=0111 и В=0011.which corresponds to the correct value of the control digits for the result of the sum S = 1010 obtained as a result of arithmetic addition of numbers A = 0111 and B = 0011.
Предлагаемый способ позволяет контролировать работу сумматора АЛУ и при этом позволяет:The proposed method allows you to control the operation of the ALU adder and at the same time allows you to:
обнаруживать максимальное количество ошибок (за исключением ошибок, трансформируемых в разрешенные кодовые наборы);detect the maximum number of errors (with the exception of errors that are transformed into allowed code sets);
корректировать ошибочную работу сумматора (информационных разрядов) по сформированным значениям контрольных разрядов (кратность исправляемой ошибки до k-1) по правилам исправления ошибок ЗУ;to correct the erroneous operation of the adder (information bits) according to the generated values of the control bits (the frequency of the error to be corrected to k-1) according to the rules for correcting memory errors;
обнаруживать и исправлять ошибки произвольной конфигурации в контрольных разрядах (передаются контрольные разряды, полученные в результате кодирования результата суммы);detect and correct errors of arbitrary configuration in the control bits (control bits received as a result of encoding the result of the sum are transmitted);
сигнализировать о возникновении некорректируемых ошибок.signal the occurrence of uncorrectable errors.
2.3 Контроль операции сложенья по mod22.3 Control operation of addition by mod2
Рассмотрим основные положения способа контроля операции сложения по mod2 на примере.Consider the main points of the method for controlling the addition operation by mod2 using an example.
Допустим, требуется сложить два четырех разрядных числа:Suppose you want to add two four bit numbers:
A=0101 и В=0011, которые хранятся в отказоустойчивом ОЗУ, т.е. кодируется рассмотренным способом.A = 0101 and B = 0011, which are stored in fault-tolerant RAM, i.e. encoded by the considered method.
В этом случае из ОЗУ в операционное устройство процессора число А поступает в виде кодового набора: 0101 0101 0101, А число В поступает в виде: 0011 0110 1100.In this case, from RAM to the operating device of the processor, the number A comes in the form of a code set: 0101 0101 0101, And the number B comes in the form: 0011 0110 1100.
При выполнении операции сложения по mod2 информационных и контрольных разрядов рассматриваемых слагаемых получим кодовый набор 0110 0011 1001.When performing the addition operation on mod2 of information and control bits of the considered terms, we obtain the code set 0110 0011 1001.
Информационная матрица полученного результата имеет вид:The information matrix of the result has the form:
правые и левые диагональные проверки данной матрицы дадут результата: 00111001, что позволяет сформулировать свойство 10.the right and left diagonal checks of this matrix will give the result: 00111001, which allows us to formulate property 10.
Свойство 10. Результат сложения по mod2 контрольных разрядов слагаемых соответствует результату сложения по mod2 информационных разрядов рассматриваемых слагаемых.Property 10. The result of adding modulo control bits of terms according to mod2 corresponds to the result of adding mod2 information bits of the terms being considered.
Данное свойство позволяет контролировать операцию сложения по mod2 и при этом обнаруживать и исправлять, возникающие ошибки по правилам предлагаемого метода кодирования.This property allows you to control the addition operation by mod2 and at the same time detect and correct errors that occur according to the rules of the proposed encoding method.
2.4. Контроль операции сдвига2.4. Shear control
Рассмотрим основные положения способа контроля операции сдвига на примере кодового набора: 0111 0000 1111Consider the main provisions of the method of controlling the shift operation on the example of a code set: 0111 0000 1111
Пусть требуется провести операцию сдвига вправо на один разряд, в результате получим кодовый набор: 0011.Let it be required to carry out a shift operation to the right by one bit, as a result we obtain a code set: 0011.
Информационная матрица полученного результата имеет вид:The information matrix of the result has the form:
правые и левые диагональные проверки данной матрицы дадут результата: 01101100, который отличается от исходного набора контрольных разрядов 00001111.the right and left diagonal checks of this matrix will give the result: 01101100, which differs from the initial set of control bits 00001111.
В связи с этим возникает необходимость формирования поправки к исходному кодовому набору, позволяющей получить набор контрольных разрядов соответствующий значению информационных разрядов, полученных при сдвиге вправо. С этой целью построим матрицу поправок при сдвиге вправо, разряды которой формируются следующим образом: r4=0⊕у4; (0 если в старший разряд не переносится единица из другого регистра в противном случае r4==у1 i⊕у4, где y1 i значение сигнала переноса из другого регистра, например в старший разряд регистра дополнительного из младшего разряда регистра сумматора при выполнении операции умножения) r3=у4⊕у3; r2=у3⊕у2; r1=у2⊕у1.In this regard, it becomes necessary to formulate an amendment to the original code set, which allows one to obtain a set of control bits corresponding to the value of information bits obtained by shifting to the right. To this end, we construct a matrix of corrections for a shift to the right, the digits of which are formed as follows: r 4 = 0⊕у 4 ; (0 if one unit from another register is not transferred to the high order; otherwise, r 4 == y 1 i ⊕у 4 , where y 1 i is the value of the transfer signal from another register, for example, to the high order of the register from the adder multiplication operations) r 3 = у 4 ⊕у 3 ; r 2 = y 3 ⊕y 2 ; r 1 = y 2 ⊕y 1 .
Для рассматриваемого примера получим кодовый набор: 0100.For this example, we get the code set: 0100.
В этом случае матрица поправок при сдвиге вправо имеет вид:In this case, the matrix of corrections when shifting to the right has the form:
. .
При кодировании данной матрицы предлагаемым методом получим значение поправки: 01100011.When coding this matrix by the proposed method, we obtain the correction value: 01100011.
Сложение по mod2 исходного значения контрольных разрядов с значением поправки даст правильное значение контрольных разрядов при сдвиге информационных разрядов вправо:Adding mod2 to the original value of the control bits with the correction value will give the correct value of the control bits when shifting the information bits to the right:
При сдвиге информационных разрядов влево разряды матрицы поправок формируются следующим образом: r4=у4⊕у3; r3=у3⊕у2; r2=у2⊕у1; r1=0⊕у1 When the information bits are shifted to the left, the bits of the correction matrix are formed as follows: r 4 = у 4 ⊕у 3 ; r 3 = y 3 ⊕y 2 ; r 2 = y 2 ⊕y 1 ; r 1 = 0⊕у 1
Для рассматриваемого примера получим значения разрядов матрицы поправок при сдвиге влево: 1001, соответственно матрица поправок при сдвиге вправо имеет вид:For the considered example, we obtain the values of the digits of the matrix of corrections when shifting to the left: 1001, respectively, the matrix of corrections when shifting to the right has the form:
Правые и левые диагональные проверки данной матрицы дадут результат: 10010011.The right and left diagonal checks of this matrix will give the result: 10010011.
При сложении по mod2 исходного набора контрольных разрядов и значения поправки получим результат:When mod2 is added to the initial set of control bits and the correction value, we obtain the result:
который соответствует значению информационных разрядов сдвинутых влево.which corresponds to the value of information bits shifted to the left.
Действительно при сдвиге информационных разрядов рассматриваемого примера имеем: 1110.Indeed, when shifting the information bits of the considered example, we have: 1110.
Соответственно матрица информационных разрядов имеет вид:Accordingly, the matrix of information bits looks like:
для которой имеем набор значений контрольных разрядов: 10011100.for which we have a set of values of control bits: 10011100.
Свойство 11. Сложение по mod2 исходного значения контрольных разрядов с значением поправки при сдвиге вправо (влево) даст правильное значение контрольных разрядов при сдвиге информационных разрядов.Property 11. Adding mod2 to the original value of the control bits with the correction value when shifting to the right (left) will give the correct value of the control bits when shifting the information bits.
Данное свойство позволяет контролировать операцию сдвига и при этом обнаруживать и исправлять, возникающие ошибки по правилам предлагаемого метода кодирования.This property allows you to control the shift operation and at the same time detect and correct errors that occur according to the rules of the proposed encoding method.
2.5. Контроль выполнения логической операции ИЛИ2.5. Monitoring the logical operation OR
Рассмотрим основные положения способа контроля операции ИЛИ на примере.Consider the main provisions of the method of controlling the operation OR by example.
Допустим, требуется выполнить логическую операцию ИЛИ относительно двух четырех разрядных числа:Suppose you want to perform a logical OR operation with respect to two four bit numbers:
А=0101 и В=0011, которые хранятся в отказоустойчивом ОЗУ, т.е. кодируется рассмотренным способом.A = 0101 and B = 0011, which are stored in fault-tolerant RAM, i.e. encoded by the considered method.
В этом случае из ОЗУ в операционное устройство процессора число А поступает в виде кодового набора: 0101 01010101, А число В поступает в виде: 0011 01101100.In this case, from RAM to the operating device of the processor, the number A comes in the form of a code set: 0101 01010101, and the number B comes in the form: 0011 01101100.
При выполнении операции ИЛИ для информационных разрядов и сложения по mod2 контрольных разрядов рассматриваемых слагаемых получим кодовый набор 0111 00111001, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 00001111 для полученного значения информационных разрядов 0111.When performing the OR operation for information bits and adding the control bits of the terms under consideration in mod2, we obtain the code set 0111 00111001, in which the values of the control bits differ from the correct set of control bits for the obtained value of information bits 0111.
Для формирования поправки построим матрицу поправок, используя операцию логическую И относительно информационных разрядов рассматриваемых операндов, в результате получим кодовый набор: 0001 (операция И выполняется для младших разрядов операндов).To form the correction, we construct the correction matrix using the logical AND operation with respect to the information bits of the operands under consideration, as a result we obtain the code set: 0001 (the AND operation is performed for the lower bits of the operands).
В этом случае матрица поправок операции ИЛИ имеет вид:In this case, the matrix of corrections of the OR operation has the form:
правые и левые диагональные проверки данной матрицы дадут результат поправки:00110110.the right and left diagonal checks of this matrix will give the result of the correction: 00110110.
Свойство 12. Операция сложения по mod2 полученных значений контрольных разрядов и значения поправки, сформированной на основе матрицы поправок для логической операции ИЛИ, даст правильное значение контрольных разрядов.Property 12. The addition operation in mod2 of the obtained values of the control bits and the correction value generated on the basis of the matrix of corrections for the logical OR operation will give the correct value of the control bits.
Действительно, для рассматриваемого примера имеем результат:Indeed, for the considered example, we have the result:
который является правильным для кодового набора 0111, полученным в результате логической операции ИЛИ, что позволяет контролировать операцию ИЛИ и при этом обнаруживать и исправлять, возникающие ошибки по правилам предлагаемого метода кодирования.which is correct for code set 0111, obtained as a result of the logical OR operation, which allows you to control the OR operation and at the same time detect and correct errors that occur according to the rules of the proposed encoding method.
2.6. Контроль выполнения логической операции И2.6. Monitoring the execution of a logical operation AND
Рассмотрим основные положения способа контроля операции И на примере.Consider the main provisions of the method of controlling the operation And on an example.
Допустим, требуется выполнить логическую операцию И для двух четырех разрядных числа:Suppose you want to perform the logical operation AND for two four bit numbers:
А=0101 и В=0011, которые хранятся в отказоустойчивом ОЗУ, т.е. кодируется рассмотренным способом.A = 0101 and B = 0011, which are stored in fault-tolerant RAM, i.e. encoded by the considered method.
В этом случае из ОЗУ в операционное устройство процессора число А поступает в виде кодового набора: 0101 01010101, А число В поступает в виде: 0011 01101100.In this case, from RAM to the operating device of the processor, the number A comes in the form of a code set: 0101 01010101, and the number B comes in the form: 0011 01101100.
При выполнении операции И для информационных разрядов и сложения по mod2 контрольных разрядов рассматриваемых операндов получим кодовый набор 0001 00111001, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 00110110 для полученного значения информационных разрядов 0001.When performing the And operation for information bits and addition of the control bits of the operands in question mod2, we obtain the code set 0001 00111001, in which the values of the control bits differ from the correct set of control bits 00110110 for the obtained value of the information bits 0001.
Для формирования поправки построим матрицу поправок, используя операцию логическую ИЛИ относительно информационных разрядов рассматриваемых операндов, в результате получим кодовый набор: 0111.To form the correction, we construct the correction matrix using the logical OR operation relative to the information bits of the operands under consideration, as a result we obtain the code set: 0111.
В этом случае матрица поправок операции И имеет вид:In this case, the correction matrix of the operation And has the form:
правые и левые диагональные проверки данной матрицы дадут результат поправки: 00001111.the right and left diagonal checks of this matrix will give the result of the correction: 00001111.
Свойство 13. Операция сложения по mod2 полученных значений контрольных разрядов и значения поправки, сформированной на основе матрицы поправок для логической операции И, даст правильное значение контрольных разрядов.Property 13. The operation of adding, by mod2, the obtained values of the control bits and the correction value generated on the basis of the correction matrix for the logical operation AND, will give the correct value of the control bits.
Действительно, для рассматриваемого примера имеем результат:Indeed, for the considered example, we have the result:
который является правильным для кодового набора 0001, полученным в результате логической операции И, что позволяет контролировать операцию И и при этом обнаруживать и исправлять, возникающие ошибки по правилам предлагаемого метода кодирования.which is correct for code set 0001, obtained as a result of the logical operation AND, which allows you to control the operation AND and at the same time detect and correct errors that occur according to the rules of the proposed encoding method.
2.7. Контроль выполнения логической операции НЕ2.7. Logical operation control is NOT
Рассмотрим основные положения способа контроля операции инверсии на примере.Consider the main provisions of the method of controlling the inversion operation by example.
Допустим, требуется выполнить логическую операцию НЕ для четырех разрядного числа: А=0101 которое, хранятся в отказоустойчивом ОЗУ и, кодируется рассмотренным методом.Suppose you want to perform a logical operation NOT for four bit numbers: A = 0101 which are stored in fault-tolerant RAM and encoded by the method considered.
В этом случае из ОЗУ в операционное устройство процессора число А поступает в виде кодового набора: 0101 01010101.In this case, from RAM to the operating device of the processor, the number A comes in the form of a code set: 0101 01010101.
Информационная матрица исходного числа А имеет вид:The information matrix of the initial number A has the form:
При выполнении операции НЕ для информационных разрядов получим кодовый набор 1010 01010101, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 11111111 для полученного значения информационных разрядов 1010. Соответственно информационная матрица, построенная относительного инверсного значения числа имеет вид:When performing the operation NOT for information bits, we obtain a code set 1010 01010101, for which the values of the control bits differ from the correct set of control bits 11111111 for the obtained value of information bits 1010. Accordingly, the information matrix constructed of the relative inverse value of the number has the form:
Для формирования поправки используем матрицу поправок для логической операции НЕ, которая получена путем сложения по mod2 одноименных разрядов исходной информационной матрицы и информационной матрицы построенной относительно инверсного значения исходного числа. В результате имеем:To form the correction, we use the correction matrix for the logical operation NOT, which is obtained by adding mod2 of the same digits of the original information matrix and the information matrix constructed with respect to the inverse value of the original number. As a result, we have:
Примечание: Крайний правый столбец матрицы поправок для логической операции НЕ представляет собой результат сложения по mod2 разрядов проверки на четность исходной и инверсной информационных матриц. Для матриц, содержащих четыре информационных разряда (в данном случае) данный столбец всегда имеет нулевые значения, что не характерно для матриц большей размерности. В то же время остальные столбцы рассматриваемой матрицы в своих разрядах всегда имеют только единичные значения.Note: The rightmost column of the correction matrix for a logical operation is NOT the result of adding mod2 bits of the parity check of the original and inverse information matrices. For matrices containing four information bits (in this case), this column always has zero values, which is not typical for matrices of higher dimension. At the same time, the remaining columns of the considered matrix in their digits always have only unit values.
Правые и левые диагональные проверки данной матрицы дадут результат поправки: 10101010.The right and left diagonal checks of this matrix will give the result of the correction: 10101010.
Свойство 13. Операция сложения по mod2 полученных значений контрольных разрядов и значения поправки, сформированной на основе матрицы поправок для логической операции НЕ, даст правильное значение контрольных разрядов.Property 13. The addition operation in mod2 of the obtained values of the control bits and the correction value generated on the basis of the correction matrix for the logical operation NOT gives the correct value of the control bits.
Действительно, для рассматриваемого примера имеем результат:Indeed, for the considered example, we have the result:
который является правильным для кодового набора 1010, полученным в результате логической операции НЕ, что позволяет контролировать операцию НЕ и при этом обнаруживать и исправлять, возникающие ошибки по правилам предлагаемого метода кодирования.which is correct for the code set 1010 obtained as a result of the logical operation NOT, which allows you to control the operation NOT and at the same time detect and correct errors that occur according to the rules of the proposed encoding method.
Предлагаемый способ позволяет контролировать работу процессора и при этом позволяет:The proposed method allows you to control the processor and at the same time allows you to:
обнаруживать максимальное количество ошибок (за исключением ошибок, трансформируемых в разрешенные кодовые наборы);detect the maximum number of errors (with the exception of errors that are transformed into allowed code sets);
корректировать ошибочную работу процессора при выполнении арифметических и логических операций;Correct erroneous operation of the processor when performing arithmetic and logical operations;
обнаруживать и исправлять ошибки произвольной конфигурации в контрольных разрядах (передаются контрольные разряды, полученные в результате кодирования результатов операций);detect and correct errors of arbitrary configuration in the control bits (control bits obtained as a result of encoding the results of operations are transmitted);
сигнализировать о возникновении некорректируемых ошибок.signal the occurrence of uncorrectable errors.
ИСТОЧНИКИ ИНФОРМАЦИИINFORMATION SOURCES
1. Патент на изобретение №2210805 по заявке 99111190/09 от 31.05.09, авторы: Царьков А.Н., Безродный Б.Ю., Новиков Н.Н., Романенко Ю.А., Павлов А.А.1. Patent for invention No. 2210805 according to application 99111190/09 dated 05/31/09, authors: Tsarkov A.N., Bezrodny B.Yu., Novikov N.N., Romanenko Yu.A., Pavlov A.A.
2. Калабеков Б.А., Микропроцессоры и их применение в системах передачи и обработки сигналов, М.: Радио и связь, 1988, 368 с. (стр.30, рис.1.3).2. Kalabekov B. A., Microprocessors and their use in signal transmission and processing systems, M.: Radio and communications, 1988, 368 S. (p. 30, fig. 1.3).
3. Хетагуров Я.А. Руднев Ю.П. Повышение надежности цифровых устройств методами избыточного кодирования. М.: Энергия, 1974, 270 с.3. Khetagurov Y. A. Rudnev Yu.P. Improving the reliability of digital devices using redundant coding methods. M .: Energy, 1974, 270 p.
4. Орлов И.А., Корнюшко В.Ф., Бурляев В.В. Эксплуатация и ремонт ЭВМ, организация работы вычислительного центра. М.: Энергоатомиздат, 1989, 400 с.4. Orlov I.A., Kornyushko V.F., Burlyaev V.V. Operation and repair of computers, organization of the computer center. M .: Energoatomizdat, 1989, 400 p.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2004130144/22U RU51428U1 (en) | 2004-10-19 | 2004-10-19 | FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2004130144/22U RU51428U1 (en) | 2004-10-19 | 2004-10-19 | FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY |
Publications (1)
Publication Number | Publication Date |
---|---|
RU51428U1 true RU51428U1 (en) | 2006-02-10 |
Family
ID=36050287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2004130144/22U RU51428U1 (en) | 2004-10-19 | 2004-10-19 | FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU51428U1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU186547U1 (en) * | 2018-10-16 | 2019-01-23 | Межрегиональное общественное учреждение "Институт инженерной физики" | PROCESSOR OF INCREASED OPERATING RELIABILITY |
RU188002U1 (en) * | 2018-10-31 | 2019-03-26 | Межрегиональное общественное учреждение "Институт инженерной физики" | FAILURE-RESISTANT COMPUTER |
RU2704325C1 (en) * | 2018-10-16 | 2019-10-29 | Межрегиональное общественное учреждение "Институт инженерной физики" | Fault-tolerant computer |
RU2708956C2 (en) * | 2018-05-07 | 2019-12-12 | ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ Военная академия Ракетных войск стратегического назначения имени Петра Великого МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ | Processor with high reliability of operation |
RU204275U1 (en) * | 2021-01-26 | 2021-05-18 | Межрегиональное общественное учреждение "Институт инженерной физики" | FAIL-SAFE PROCESSOR WITH ERROR CORRECTION IN THE DATA BYTE |
-
2004
- 2004-10-19 RU RU2004130144/22U patent/RU51428U1/en not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2708956C2 (en) * | 2018-05-07 | 2019-12-12 | ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ Военная академия Ракетных войск стратегического назначения имени Петра Великого МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ | Processor with high reliability of operation |
RU186547U1 (en) * | 2018-10-16 | 2019-01-23 | Межрегиональное общественное учреждение "Институт инженерной физики" | PROCESSOR OF INCREASED OPERATING RELIABILITY |
RU2704325C1 (en) * | 2018-10-16 | 2019-10-29 | Межрегиональное общественное учреждение "Институт инженерной физики" | Fault-tolerant computer |
RU188002U1 (en) * | 2018-10-31 | 2019-03-26 | Межрегиональное общественное учреждение "Институт инженерной физики" | FAILURE-RESISTANT COMPUTER |
RU204275U1 (en) * | 2021-01-26 | 2021-05-18 | Межрегиональное общественное учреждение "Институт инженерной физики" | FAIL-SAFE PROCESSOR WITH ERROR CORRECTION IN THE DATA BYTE |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4402045A (en) | Multi-processor computer system | |
US3831144A (en) | Multi-level error detection code | |
KR102673257B1 (en) | comparison system | |
KR20220104031A (en) | error correction system | |
RU2439667C1 (en) | Processor of higher functioning reliability | |
Wang et al. | Reliable and secure memories based on algebraic manipulation correction codes | |
RU51428U1 (en) | FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY | |
RU2417409C2 (en) | Fault-tolerant processor | |
WO2022151730A1 (en) | Memory system | |
US7203896B2 (en) | High-efficiency error detection and/or correction code | |
WO2022151724A1 (en) | Error correction system | |
RU102407U1 (en) | CPU COMPUTER | |
US7188294B2 (en) | High-efficiency error detection and/or correction code | |
RU2758410C1 (en) | Fail-safe processor with error correction in two bytes of information | |
RU2758065C1 (en) | Fault-tolerant processor with error correction in a byte of information | |
RU204275U1 (en) | FAIL-SAFE PROCESSOR WITH ERROR CORRECTION IN THE DATA BYTE | |
RU2297034C2 (en) | Fault-tolerant information storage device | |
RU2297030C2 (en) | Self-correcting information storage device | |
RU204690U1 (en) | FAIL-SAFE PROCESSOR WITH ERROR CORRECTION IN TWO BYTES OF INFORMATION | |
RU83859U1 (en) | FAST-RESISTANT DEVICE FOR ACCELERATED REPRODUCTION | |
RU2211492C2 (en) | Fault-tolerant random-access memory | |
RU2297035C2 (en) | Fault-tolerant memorizing device | |
RU2297032C2 (en) | Self-correcting memorizing device | |
RU186547U1 (en) | PROCESSOR OF INCREASED OPERATING RELIABILITY | |
RU42684U1 (en) | SELF-CORRECTING MEMORY DEVICE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Utility model has become invalid (non-payment of fees) |
Effective date: 20071020 |