RU2758065C1 - Fault-tolerant processor with error correction in a byte of information - Google Patents

Fault-tolerant processor with error correction in a byte of information Download PDF

Info

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

Links

Images

Classifications

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

Landscapes

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

Abstract

FIELD: computer technology.
SUBSTANCE: invention relates to computer technology. A fault-tolerant processor with error correction in a byte of information uses an algebraic linear code for detecting and correcting errors in a byte of information, which is adapted for detecting and correcting errors when performing arithmetic and logical operations by the processor.
EFFECT: correcting errors in a byte of information that occur in the computer processor when performing arithmetic and logical operations due to the absence or occurrence of unnecessary transfers.
1 cl, 1 tbl, 3 dwg

Description

Изобретение относится к вычислительной технике. Известно устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации (Патент на изобретение № 2448359 «Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации» / Борисов К.Ю., Малофеев Ю.Г., Осипенко П.Н., Павлов А.А., Павлов П.А., Павлов А.А., Хоруженко О.В., Царьков А.Н., от 05.04.2011 г.), содержащие узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, коммутатор, блок коммутаторов, корректор, блок корректоров, отличающаяся тем, что оно дополнительно содержит первый блок элементов ИЛИ, второй блок элементов ИЛИ, инвертор, элемент И, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, двадцати четырех разрядные информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования который формирует значения контрольных разрядов r1, r2, r3, r4, r5, r6, r7, r8 путем сложения по модулю 2 информационных символов x1 x2 х3, z1 z2 z3, a1 а2 а3, c1 с2 с3, e1 е2 е3, f1 f2 f3, g1 g2 g3, h1 h2 h3, поступающих на входы входного блока кодирования, в соответствии с правилом: r1=x1⊕z1⊕a1⊕c1⊕e1⊕f1⊕g1⊕h1; r2=x2⊕z2⊕a2⊕c2⊕e2⊕f2⊕g2⊕h2; r3=x3⊕z3⊕a3⊕c3⊕e3⊕f3⊕g3⊕h3; r4=x1⊕z3⊕a2⊕a3⊕c2⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3; r5=x2⊕x3⊕z1⊕а3⊕c1⊕c3⊕e1⊕e2⊕f2⊕g1⊕g2⊕g3; r6=x3⊕z2⊕z3⊕a1⊕c1⊕c2⊕e2⊕f1⊕f3⊕g1⊕g2⊕g3; r7=x3⊕z3⊕a1⊕a3⊕c2⊕e1⊕f2⊕g1⊕g2⊕g3; r8=x1⊕x2⊕z2⊕a2⊕а3⊕с3⊕е3⊕f2⊕f3⊕g1⊕g2⊕g3, которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r, r, r, r, r, r r r путем сложения по модулю 2 информационных символов x x x, z z z, a a a, cc c, e e e, f f f, g g g, h h h, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом: r=x⊕z⊕a⊕c⊕e⊕f⊕g⊕h; r=x⊕z⊕a⊕c⊕e⊕f⊕g⊕h; r=x⊕z⊕a⊕c⊕e⊕f⊕g⊕h; r=x⊕z⊕a⊕а⊕с⊕e⊕е⊕f⊕f⊕g⊕g⊕g; r⊕х⊕z⊕а⊕c⊕с⊕е⊕е⊕f⊕g⊕g⊕g; r⊕z⊕z⊕a⊕c⊕с⊕е⊕f⊕f⊕g⊕g⊕g; r=x⊕z⊕a⊕а⊕c⊕e⊕f⊕g⊕g⊕g; r=x⊕x⊕z⊕а⊕а⊕с⊕е⊕f⊕f⊕g⊕g⊕g, выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки к вторым входам которого, подключены выходы контрольных разрядов узла памяти, первые выходы блока вычисления синдрома ошибки подключены к первым входам дешифратора, к первым входам коммутатора, к входам первого блока элементов ИЛИ и к первым входам блока коммутаторов, вторые выходы блока вычисления синдрома ошибки подключены к вторым входам дешифратора и к вторым входам первого блока элементов ИЛИ, выходы дешифратора подключены к входам второго блока элементов ИЛИ, при этом первый выход дешифратора подключен к второму входу коммутатора, а вторые выходы подключены к вторым входам блока коммутаторов, выход второго блока элементов ИЛИ через инвертор подключен к первому входу элемента И, второй вход которого подключен к выходу первого блока элементов ИЛИ, выход элемента И является выходом сигнала «ошибка», выходы коммутатора подключены к вторым входам корректора, выходы блока коммутаторов подключены к вторым входам блока корректоров, выходы корректора и блока корректоров подключены к вторым входам блока элементов И, выходы которого являются информационными выходами устройства.The invention relates to computing. Known device for storing and transmitting data with error correction in information bytes and error detection in information bytes (Patent for invention No. 2448359 "Device for storing and transmitting data with error correction in information bytes and error detection in information bytes" / Borisov K.Yu., Malofeev Yu.G., Osipenko P.N., Pavlov A.A., Pavlov P.A., Pavlov A.A., Horuzhenko O.V., Tsar'kov A.N., dated 05.04.2011), containing a memory node, an input coding unit, an output coding unit, an error syndrome computation unit, a decoder, a switch, a switch unit, a corrector, a corrector unit, characterized in that it additionally contains a first block of OR elements, a second block of OR elements, an inverter, an AND element , block of elements AND, input of setting the device to zero state, write input, read input, address inputs, twenty-four-bit information inputs, synchronization input, information outputs, signal output "error", input of setting to zero, write input , the read input, address inputs, are connected respectively to the first, second, third and fourth inputs of the memory unit, the synchronization input is connected to the fifth input of the memory unit and to the first input of the block of elements AND, information inputs are connected to the sixth inputs of the memory unit and to the inputs of the input unit coding which forms the values of the check bits r 1 , r 2 , r 3 , r 4 , r 5 , r 6 , r 7 , r 8 by adding modulo 2 information symbols x 1 x 2 x 3 , z 1 z 2 z 3 , a 1 a 2 a 3 , c 1 c 2 c 3 , e 1 e 2 e 3 , f 1 f 2 f 3 , g 1 g 2 g 3 , h 1 h 2 h 3 , arriving at the inputs of the input coding unit, in according to the rule: r 1 = x 1 ⊕z 1 ⊕a 1 ⊕c 1 ⊕e 1 ⊕f 1 ⊕g 1 ⊕h 1 ; r 2 = x 2 ⊕z 2 ⊕a 2 ⊕c 2 ⊕e 2 ⊕f 2 ⊕g 2 ⊕h 2 ; r 3 = x 3 ⊕z 3 ⊕a 3 ⊕c 3 ⊕e 3 ⊕f 3 ⊕g 3 ⊕h 3 ; r 4 = x 1 ⊕z 3 ⊕a 2 ⊕a 3 ⊕c 2 ⊕e 1 ⊕e 3 ⊕f 1 ⊕f 2 ⊕g 1 ⊕g 2 ⊕g 3 ; r 5 = x 2 ⊕x 3 ⊕z 1 ⊕а 3 ⊕c 1 ⊕c 3 ⊕e 1 ⊕e 2 ⊕f 2 ⊕g 1 ⊕g 2 ⊕g 3 ; r 6 = x 3 ⊕z 2 ⊕z 3 ⊕a 1 ⊕c 1 ⊕c 2 ⊕e 2 ⊕f 1 ⊕f 3 ⊕g 1 ⊕g 2 ⊕g 3 ; r 7 = x 3 ⊕z 3 ⊕a 1 ⊕a 3 ⊕c 2 ⊕e 1 ⊕f 2 ⊕g 1 ⊕g 2 ⊕g 3 ; r 8 = x 1 ⊕x 2 ⊕z 2 ⊕a 2 ⊕а 3 ⊕с 3 ⊕е 3 ⊕f 2 ⊕f 3 ⊕g 1 ⊕g 2 ⊕g 3 , which arrive at the seventh inputs of the memory node, the information outputs of the node memory are connected, respectively, to the first inputs of the equalizer, the block of correctors and to the inputs of the output coding unit, which forms the values of the check check digits r 1P , r 2P , r 3P , r 4P , r 5P , r 6P r 7P r 8P by adding modulo 2 information characters x 1P x 2P x 3P , z 1P z 2P z 3P , a 1P a 2P a 3P , c 1P c 2P c 3P , e 1P e 2P e 3P , f 1P f 2P f 3P , g 1P g 2P g 3P , h 1P h 2P h 3P arriving at the inputs of the input coding block from the information outputs of the memory node, in accordance with the rule: r 1P = x 1P ⊕z 1P ⊕a 1P ⊕c 1P ⊕e 1P ⊕f 1P ⊕g 1P ⊕h 1P ; r 2P = x 2P ⊕z 2P ⊕a 2P ⊕c 2P ⊕e 1P ⊕f 1P ⊕g 1P ⊕h 1P ; r 3P = x 3P ⊕z 3P ⊕a 3P ⊕c 3P ⊕e 3P ⊕f 3P ⊕g 3P ⊕h 3P ; r 4P = x 1P ⊕z 3P ⊕a 2P ⊕a 3P ⊕s 2P ⊕e 1P ⊕е 3P ⊕f 1P ⊕f 2P ⊕g 1P ⊕g 2P ⊕g 3P ; r 5P = x 2P ⊕x 3P ⊕z 1P ⊕a 3P ⊕c 1P ⊕s 3P ⊕e 1P ⊕e 2P ⊕f 2P ⊕g 1P ⊕g 2P ⊕g 3P ; r 6P = x 3P ⊕z 2P ⊕z 3P ⊕a 1P ⊕c 1P ⊕s 2P ⊕е 2P ⊕f 1P ⊕f 3P ⊕g 1P ⊕g 2P ⊕g 3P ; r 7P = x 3P ⊕z 3P ⊕a 1P ⊕a 3P ⊕c 2P ⊕e 1P ⊕f 2P ⊕g 1P ⊕g 2P ⊕g 3P ; r 8P = x 1P ⊕x 2P ⊕z 2P ⊕a 2P ⊕a 3P ⊕s 3P ⊕e 3P ⊕f 2P ⊕f 3P ⊕g 1P ⊕g 2P ⊕g 3P , the outputs of the output coding block are connected to the first inputs of the syndrome computation unit errors to the second inputs of which, the outputs of the control bits of the memory unit are connected, the first outputs of the error syndrome calculation unit are connected to the first inputs of the decoder, to the first inputs of the switch, to the inputs of the first block of OR elements and to the first inputs of the switch unit, the second outputs of the error syndrome calculation unit are connected to the second inputs of the decoder and to the second inputs of the first block of OR elements, the outputs of the decoder are connected to the inputs of the second block of OR elements, while the first output of the decoder is connected to the second input of the switch, and the second outputs are connected to the second inputs of the block of switches, the output of the second block of OR elements through the inverter is connected to the first input of the AND element, the second input of which is connected to the output of the first block of OR elements, the output of the AND element is the output of the "error" signal, the outputs of the comm The outputs of the corrector unit are connected to the second inputs of the corrector, the outputs of the switch unit are connected to the second inputs of the correctors unit, the outputs of the corrector unit and the corrector unit are connected to the second inputs of the I element block, the outputs of which are information outputs of the device.

Недостатком устройства является ограниченная область его применения, так как оно не позволяет корректировать ошибки в устройствах обработки информации.The disadvantage of the device is the limited scope of its application, since it does not allow correcting errors in information processing devices.

Наиболее близким по техническому решению является процессор повышенной достоверности функционирования (Патент на изобретение № 2439667 «Процессор повышенной достоверности функционирования», авторы: Бобков С.Г., Осипенко П.Н., Павлов А.А., Павлов П.А., Павлов А.А., Хоруженко О.В., Царьков А.Н., от 08. 07. 2010 г.), содержащий управляющий узел, операционный узел, первые входы управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных, отличающееся тем, что он дополнительно содержит дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок контроля, управляющую память, блок логических операций и контроля, включающий блок логического сложения по mod2, блок инвертирования, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, элемент задержки, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, первые выходы которой подключены к первым входам блока контроля, второй выход блока управления подключен к второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен соответственно к вторым входам блока контроля, к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первой группе входов блока логических операций и контроля и является выходом синхроимпульсов, второй, третий, четвертый пятый выходы управляющей памяти подключены к третьим и четвертым пятым и шестым входам блока контроля, при этом второй выход подключен к четвертому входу второго коммутатора, а третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первой группе входов блока логических операций и контроля и являются выходам управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, шестой выход блока управляющей памяти подключен к пятому входу блока управления, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к пятым входам второго коммутатора, выход счетчика сдвигов подключен к шестым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к вторым входам блока логических операций и контроля, выходы сумматора подключены к третьим входам блока логических операций и контроля, вторые, третьи, четвертые, пятые, шестые, седьмые и восьмые выходы третьего коммутатора подключены к четвертым, пятым, шестым, седьмым, восьмым, девятым и десятым входам блока логических операции и контроля, выходы которого подключены к седьмым, восьмым и девятым входам второго коммутатора.The closest in technical solution is a processor with increased reliability of functioning (Patent for invention No. 2439667 "Processor with increased reliability of functioning", authors: Bobkov S.G., Osipenko P.N., Pavlov A.A., Pavlov P.A., Pavlov A.A., Horuzhenko O.V., Tsar'kov A.N., dated 08.07.2010), containing a control node, an operational node, the first inputs of the control node are processor inputs, the second group of inputs of the control node is connected to the first the 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, characterized in that it additionally contains an operation code decoder, a clock pulse generator, a control unit, the first switch, the second switch, third switch, command counter, shift counter, address register, number register, adder register, additional register, complementary code register, adder, block to control, control memory, block of logical operations and control, including block of logical addition according to mod2, inverting block, block of logical addition, block of logical multiplication, functional diagram of correction formation when performing arithmetic operations, functional diagram of correction formation when performing OR operation, functional diagram forming a correction when performing an AND operation, a functional diagram of forming a correction when performing a shift operation, a delay element, a first block of unequal elements, a second block of unequal elements, a third block of unequal elements, a first block of OR elements, a second block of OR elements, a coding block, a first block of elements And, the second block of elements AND, the element And, the outputs of the exchange device are connected to the first input of the control unit and to the first input of the second switch, the second inputs of which are connected to the outputs of the memory device, the first outputs of the second switch go to the input of the devices and exchange, the second outputs go to the input of the memory device, and the third outputs are connected, respectively, to the first inputs of the command counter, shift counter, number register, 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 and the fourth input is connected to the outputs of the clock pulse generator, and the fifth input is connected to the first output of the control memory, the first output of the control unit connected to the input of the control memory, the first outputs of which are connected to the first inputs of the control unit, the second output of the control unit is connected to the second input of the first switch, the third and fourth inputs of which are connected respectively to the outputs of the address register and the command counter, and the address of the memory cell is removed from the second output memorize operating device, the third output of the control unit is connected, respectively, to the second inputs of the control unit, to the second inputs of the command counter, shift counter, address register, number register, adder register, additional register, additional code register, to the first group of inputs of the third switch, to the third group inputs of the second switch, to the first group of inputs of the block of logical operations and control and is the output of sync pulses, the second, third, fourth fifth outputs of the control memory are connected to the third and fourth fifth and sixth inputs of the control unit, while the second output is connected to the fourth input of the second switch, and the third, fourth and fifth outputs of the control memory unit are connected, respectively, to the third, fourth, fifth and sixth inputs of the command counter, shift counter, address register, number register, adder register, additional register, additional code register, to the first group of inputs of the third switch, to the third group of entrances of the WTO switch, to the first group of inputs of the logical operations and control unit and are outputs of control signals, read signals, write signals, signals for setting devices to zero state, the sixth output of the control memory unit is connected to the fifth input of the control unit, outputs of the number register, adder register, an additional register, an 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 outputs of the third switch are connected, respectively, to the inputs of the adder and to the second inputs of the logical operations and control unit, the outputs of the adder connected to the third inputs of the block of logical operations and control, the second, third, fourth, fifth, sixth, seventh and eighth outputs of the third switch are connected to the fourth, fifth, sixth, seventh, eighth, ninth and tenth inputs of the block of logical operations and control, the outputs of which connected to with the eighth, eighth and ninth inputs of the second switch.

Недостатком устройства является недостаточная отказоустойчивость процессора, так как не обеспечивается коррекция возникающих ошибок.The disadvantage of the device is the insufficient fault tolerance of the processor, since no correction of the arising errors is provided.

Задачей изобретения является коррекция ошибок в байте информации, возникающих в процессоре ЭВМ при выполнении арифметических и логических операций из-за отсутствия или возникновения лишних переносов.The objective of the invention is to correct errors in a byte of information arising in the computer processor when performing arithmetic and logical operations due to the absence or occurrence of unnecessary transfers.

Сущность изобретения заключается в том, что процессор, содержащий, управляющий узел, операционный узел, дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок логических операций и контроля, включающий блок логического сложения по mod2, блок инвертирования, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, элемент задержки, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, первый, вторые, третьи, четвертые, пятые входы блока логических операций и контроля, первые, вторые, третьи выходы блока логических операций и контроля, управляющую память, входы от устройства обмена, входы данных из запоминающего устройства, выход на устройство обмена, выходы данных на запоминающее устройство, выход адрес запоминающего устройства, выходы синхроимпульсов, выходы для сигналов управления, выходы для команды считывание, выходы для сигналов записи, выходы для сигналов установки в нулевое состояние, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, второй выход блока управления подключен к второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первому входу блока логических операций и контроля и является входом синхроимпульсов, вторые, третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к вторым входам блока логических операций и контроля и являются выходами управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к четвертым входам второго коммутатора, выход счетчика сдвигов подключен к пятым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к третьим входам блока логических операций и контроля, выходы сумматора подключены к четвертым входам блока логических операций и контроля, вторые выходы третьего коммутатора подключены к пятым входам блока логических операции и контроля, отличающееся тем, что он дополнительно содержит дешифратор, блок элементов ИЛИ, блок элементов И, корректор, причем первые выходы блока логических операций и контроля подключены к первым входам корректора, вторые выходы подключены к шестым входам второго коммутатора, третьи выходы блока логических операций и контроля подключены к первым входам блока элементов И и к входам дешифратора, первая группа выходов которого подключена к вторым входам блока элементов И, третий вход которого подключен к третьему выходу блока управления, а выход подключен к второму входу корректора, выходы корректора подключены к седьмым входам второго коммутатора, вторая группа выходов дешифратора подключена к входам блока элементов ИЛИ, выход которого подключен к восьмому входу второго коммутатора.The essence of the invention lies in the fact that a processor containing a control unit, an operating unit, an operation code decoder, a clock pulse generator, a control unit, a first switch, a second switch, a third switch, a command counter, a shift counter, an address register, a number register, a register adder, additional register, additional code register, adder, block of logical operations and control, including block of logical addition according to mod2, block of inversion, block of logical addition, block of logical multiplication, functional diagram of correction formation when performing arithmetic operations, functional diagram of correction formation during execution OR operations, a functional diagram of the correction generation when performing an AND operation, a functional diagram of a correction generation when performing a shift operation, a delay element, the first block of unequal elements, the second block of unequal elements, the third block of unequal elements, the first block of elements OR, second block of OR elements, coding block, first block of AND elements, second block of AND elements, AND element, first, second, third, fourth, fifth inputs of logical operations and control block, first, second, third outputs of logical operations and control block , control memory, inputs from an exchange device, data inputs from a memory device, an output to an exchange device, data outputs to a memory device, an output address of a memory device, sync pulse outputs, outputs for control signals, outputs for a read command, outputs for write signals, outputs for signals setting to zero, the outputs of the exchange device are connected to the first input of the control unit and to the first input of the second switch, the second inputs of which are connected to the outputs of the memory 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 memory device, and the third outputs are connected respectively to the first inputs of the counter commands, shift counter, number register, 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, and the fourth input is connected to the outputs of the clock pulse 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 second output of the control unit is connected to the second input of the first switch, the third and the fourth inputs of which are connected respectively to the outputs of the address register and the command counter, and from the second output the address of the memory cell of the memory device is removed, the third output of the control unit is connected to the second inputs of the command counter, 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, to the first input of the logical operations and control unit and is the input of sync pulses, the second, third, fourth and fifth outputs of the control memory unit are connected respectively to the third, fourth, fifth and sixth to the inputs of the command counter, shift counter, address register, number register, adder register, additional register, additional code register, to the first group of inputs of the third switch, to the third group of inputs of the second switch, to the second inputs of the block of logical operations and control and are the outputs of control signals , read signals, recording signals, signals for setting devices to a zero state, the 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 fourth inputs of the second switch, the output of the shift counter is connected to the fifth inputs of the second switch. mutator, the first outputs of the third switch are connected, respectively, to the adder inputs and to the third inputs of the logical operations and control unit, the adder outputs are connected to the fourth inputs of the logical operations and control unit, the second outputs of the third switch are connected to the fifth inputs of the logical operations and control unit, which differs in that it additionally contains a decoder, a block of OR elements, a block of AND elements, a corrector, and the first outputs of the logical operations and control block are connected to the first inputs of the corrector, the second outputs are connected to the sixth inputs of the second switch, the third outputs of the logical operations and control block are connected to the first inputs block of I elements and to the inputs of the decoder, the first group of outputs of which is connected to the second inputs of the block of elements I, the third input of which is connected to the third output of the control unit, and the output is connected to the second input of the corrector, the outputs of the corrector are connected to the seventh inputs of the second switch, the second group of outputs d The encoder is connected to the inputs of the OR element block, the output of which is connected to the eighth input of the second switch.

Процессор (фиг. 1) содержит управляющий узел 1, операционный узел 2, дешифратор 3 кода операции, генератор 4 тактовых импульсов, блок 5 управления, первый коммутатор 6, второй коммутатор 7, третий коммутатор 8, счетчик 9 команд, счетчик 10 сдвигов, регистр 11 адреса, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 17 логических операций и контроля, первый 18, второй 19, третий 20, четвертый 21, пятый 22 входы блока 17 логических операций и контроля, первый 23, второй 24, третий 25 выходы блока 17 логических операций и контроля, управляющая память 26, входы 27 устройства обмена, входы 28 данные из запоминающего устройства, выход 29 на устройство обмена, выходы 30 данные на запоминающее устройство, выход 31 адрес запоминающего устройства, выходы 32 синхроимпульсов, выходы 33 для сигналов управления, выходы 34 для команды считывание, выходы 35 для сигналов записи, выходы 36 для сигналов установки в нулевое состояние, дешифратор 37, блок 38 элементов ИЛИ, блок 39 элементов И, корректор 40.The processor (Fig. 1) contains a control unit 1, an operating unit 2, an opcode decoder 3, a clock generator 4, a control unit 5, a first switch 6, a second switch 7, a third switch 8, a command counter 9, a shift counter 10, a register 11 addresses, register 12 numbers, register 13 adder, additional register 14, additional register 15, adder 16, block 17 of logical operations and control, first 18, second 19, third 20, fourth 21, fifth 22 inputs of block 17 of logical operations and control, first 23, second 24, third 25 outputs of block 17 of logical operations and control, control memory 26, inputs 27 of the exchange device, inputs 28 data from the memory device, output 29 to the exchange device, outputs 30 data to the memory device, output 31 address memory device, outputs 32 sync pulses, outputs 33 for control signals, outputs 34 for the read command, outputs 35 for write signals, outputs 36 for signals to set to zero, de encoder 37, block 38 of OR elements, block 39 of AND elements, corrector 40.

Блок 17 логических операций и контроля (фиг. 2) содержит блок 41 сложения по mod2, блок 42 логического сложения, блок 43 логического умножения, функциональную схему 44 формирования поправки при выполнении арифметических операций, функциональную схему 45 формирования поправки при выполнении операции ИЛИ, функциональную схему 46 формирования поправки при выполнении операции И, функциональную схему 47 формирования поправки при выполнении операции сдвига, элемент 48 задержки, первый блок 49 элементов неравнозначности, второй блок 50 элементов неравнозначности, третий блок 51 элементов неравнозначности, первый блок 52 элементов ИЛИ, второй блок 53 элементов ИЛИ, первый блок 54 кодирования, второй блок 55 кодирования, первый блок 56 элементов И, второй блок 57 элементов И.The block 17 of logical operations and control (Fig. 2) contains a block 41 of addition mod2, block 42 of logical addition, block 43 of logical multiplication, a functional circuit 44 for generating a correction when performing arithmetic operations, a functional circuit 45 for generating a correction when performing an OR operation, a functional circuit 46 for generating a correction when performing an AND operation, a functional circuit 47 for generating a correction when performing a shift operation, a delay element 48, a first block 49 of unequal elements, a second block 50 of unequal elements, a third block 51 of unequal elements, a first block 52 of OR elements, a second block 53 of elements OR, first coding block 54, second coding block 55, first AND block 56, second AND block 57.

Функциональная схема 44 формирования поправки при выполнении арифметических операций (фиг. 3) содержит первый элемент 58 И, второй элемент 59 И, третий элемент 60 И, четвертый элемент 61 И, пятый элемент 62 И, шестой элемент 63 И, первый элемент 64 ИЛИ, второй элемент 65 ИЛИ, третий элемент 66 ИЛИ, четвертый элемент 67 ИЛИ, пятый элемент 68 ИЛИ, шестой элемент 69 ИЛИ.The functional diagram 44 of the formation of the correction when performing arithmetic operations (Fig. 3) contains the first element 58 AND, the second element 59 AND, the third element 60 AND, the fourth element 61 AND, the fifth element 62 AND, the sixth element 63 AND, the first element 64 OR, second element 65 OR, third element 66 OR, fourth element 67 OR, fifth element 68 OR, sixth element 69 OR.

Функциональная схема 47 формирования поправки при выполнении операции сдвига.Functional diagram 47 for generating a correction when performing a shift operation.

Выходы 27 устройства обмена подключены к первому входу блока 5 управления и к первому входу второго коммутатора 7, вторые входы 28 которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора 7 поступают на вход 29 устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к входам дешифратора 3 кода операции, к вторым входам блока 5 управления, к первому входу первого коммутатора 6, первый выход которого подключен к первому входу регистра 11 адреса, третий вход блока 5 управления подключен к выходам дешифратора 3 кода операции, а четвертый вход подключен к выходам генератора 4 тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти 26, первый выход блока 5 управления подключен к входу управляющей памяти 26, второй выход блока 5 управления подключен к второму входу первого коммутатора 6, третьи и четвертые входы которого подключены соответственно к выходам регистра 11 адреса и счетчика 9 команд, а с второго выхода 31 снимается адрес ячейки памяти запоминающего устройства, третий выход блока 5 управления подключен к вторым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8, к третьей группе входов второго коммутатора 7, к первому входу 18 блока 17 логических операций и контроля и является входом синхроимпульсов, вторые, третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8, к третьей группе входов второго коммутатора 7, к вторым входам 19 блока 17 логических операций и контроля и являются выходами управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода подключены к вторым входам третьего коммутатора 8 и к четвертым входам второго коммутатора 7, выход счетчика 10 сдвигов подключен к пятым входам второго коммутатора 7, первые выходы третьего коммутатора 8 подключены соответственно к входам сумматора 16 и к третьим входам 20 блока 17 логических операций и контроля, выходы сумматора 16 подключены к четвертым входам 21 блока 17 логических операций и контроля, вторые выходы третьего коммутатора 8 подключены к пятым входам 22 блока 17 логических операции и контроля, отличающееся тем, что он дополнительно содержит дешифратор 37, блок 38 элементов ИЛИ, блок 39 элементов И, корректор 40, причем первые выходы блока 17 логических операций и контроля подключены к первым входам корректора 40, вторые выходы подключены к шестым входам второго коммутатора 7, третьи выходы блока 17 логических операций и контроля подключены к первым входам блока 30 элементов И и к входам дешифратора 37, первая группа выходов которого подключена к вторым входам блока 39 элементов И, третий вход которого подключен к третьему выходу блока 5 управления, а выход подключен к второму входу корректора 40, выходы корректора 40 подключены к седьмым входам второго коммутатора 7, вторая группа выходов дешифратора 37 подключена к входам блока 38 элементов ИЛИ, выход которого подключен к восьмому входу второго коммутатора 7.The outputs 27 of the exchange device are connected to the first input of the control unit 5 and to the first input of the second switch 7, the second inputs 28 of which are connected to the outputs of the storage device, the first outputs of the second switch 7 are fed to the input 29 of the exchange device, the second outputs are fed to the input of the storage device, and the third outputs are connected, respectively, to the first inputs of the command counter 9, the shift counter 10, the number register 12, the adder register 13, the additional register 14, the additional code register 15, to the inputs of the operation code decoder 3, to the second inputs of the control unit 5, to the first input 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 5 is connected to the outputs of the decoder 3 of the operation code, and the fourth input is connected to the outputs of the clock generator 4, and the fifth input is connected to the first output of the control memory 26, the first the output of the control unit 5 is connected to the input of the control memory 26, the second you the stroke of the control unit 5 is connected to the second input of the first switch 6, the third and fourth inputs of which are connected, respectively, to the outputs of the address register 11 and the command counter 9, and the memory cell address is removed from the second output 31, the third output of the control unit 5 is connected to the second inputs counter 9 commands, counter 10 shifts, register 11 address, register 12 number, 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, to the first input 18 of the block 17 logical operations and control and is the input of sync pulses, the second, third, fourth and fifth outputs of the control memory unit are connected, respectively, to the third, fourth, fifth and sixth inputs of the command counter 9, shift counter 10, address register 11, number register 12, adder register 13 , register 14 additional, register 15 additional code, to the first group of inputs the third th switch 8, to the third group of inputs of the second switch 7, to the second inputs 19 of the block 17 of logical operations and control and are the outputs of control signals, read signals, write signals, signals to set devices to zero, register outputs 12, register 13 of the adder, additional register 14, additional code register 15 are connected to the second inputs of the third switch 8 and to the fourth inputs of the second switch 7, the output of the shift counter 10 is connected to the fifth inputs of the second switch 7, the first outputs of the third switch 8 are connected, respectively, to the inputs of the adder 16 and to the third inputs 20 of the block 17 of logical operations and control, the outputs of the adder 16 are connected to the fourth inputs 21 of the block 17 of logical operations and control, the second outputs of the third switch 8 are connected to the fifth inputs 22 of the block 17 of logical operations and control, characterized in that it additionally contains a decoder 37, block 38 OR elements, block 39 AND elements, corrector 4 0, and the first outputs of the block 17 of logical operations and control are connected to the first inputs of the equalizer 40, the second outputs are connected to the sixth inputs of the second switch 7, the third outputs of the block 17 of logical operations and control are connected to the first inputs of the block 30 of the AND elements and to the inputs of the decoder 37, the first group of outputs of which is connected to the second inputs of the block 39 of the elements And, the third input of which is connected to the third output of the control unit 5, and the output is connected to the second input of the equalizer 40, the outputs of the equalizer 40 are connected to the seventh inputs of the second switch 7, the second group of outputs of the decoder 37 is connected to the inputs of the OR element block 38, the output of which is connected to the eighth input of the second switch 7.

Процессор предназначен для обработки информации, поступающей с оперативного запоминающего устройства на вход 28.The processor is designed to process information coming from the random access memory to input 28.

Для обнаружения и исправления ошибок в оперативном запоминающем устройстве используются коды с обнаружением и исправлением байтов ошибок (в этом случае, под байтом ошибок понимаются ошибки, кратность которых не превышает число разрядов b блока информации).To detect and correct errors in the random access memory, codes with the detection and correction of error bytes are used (in this case, the error byte means errors whose multiplicity does not exceed the number of bits b of the information block).

В этом случае имеем кодовый набор:In this case, we have a code set:

Figure 00000001
Figure 00000001

Значение контрольных разрядов

Figure 00000002
позволяют сформировать значение синдрома ошибки при этом, первая часть контрольных разрядов
Figure 00000003
определяет вектор ошибки (ошибочные разряды в блоке информации), а значение второй части контрольных разрядов
Figure 00000004
предназначено для определения номер ошибочного блока (байта) информации.Check digit value
Figure 00000002
allow you to form the value of the error syndrome in this case, the first part of the control digits
Figure 00000003
determines the error vector (erroneous bits in the information block), and the value of the second part of the check bits
Figure 00000004
is intended to determine the number of the erroneous block (byte) of information.

Число байтов информации определяется по формуле: w=2b The number of bytes of information is determined by the formula: w = 2 b

Таким образом, кодовый набор передается в виде:Thus, the code set is transmitted as:

Figure 00000005
Figure 00000005

Результат сложения по mod2 переданных значений контрольных разрядов ri f, ri g и контрольных разрядов ri , ri сформированных относительно полученных информационных разрядов даст значение синдрома ошибки, включающего две части:The result of mod2 addition of the transmitted values of the check bits r i f , r i g and check bits r i , r i formed with respect to the received information bits will give the value of the error syndrome, which includes two parts:

Figure 00000006
Figure 00000006

Значение синдрома ошибки Sf определяет вектор ошибки (ошибочные разряды в блоке информации), а значение синдрома ошибки Sg определяет номер ошибочного блока (байта) информации.The value of the error syndrome S f determines the error vector (erroneous bits in the information block), and the value of the error syndrome S g determines the number of the erroneous block (byte) of information.

Стратегия декодирования заключается на следующих положениях:The decoding strategy is based on the following provisions:

1. Sf=0; Sg=0. Ошибок нет.1. S f = 0; S g = 0. There are no errors.

2. Sf=0; Sg≠0. Произошла ошибка в контрольных разрядах или не корректируемая ошибка в байтах информации.2. S f = 0; S g ≠ 0. An error occurred in the check bits or an uncorrectable error in the information bytes.

3. Sf≠0; Sg≠0 (Sg=0). Произошла ошибка в информационных байтах (в одном байте- корректируемая, в двух - обнаруживаемая).3. S f ≠ 0; S g ≠ 0 (S g = 0). An error occurred in information bytes (one byte - corrected, two - detectable).

Для кода (32,8) значение второй части контрольных разрядов формируется проверками:For the code (32.8), the value of the second part of the check bits is formed by checks:

r1=x1⊕z1⊕a1⊕c1⊕e1⊕f1⊕g1⊕h1;r 1 = x 1 ⊕z 1 ⊕a 1 ⊕c 1 ⊕e 1 ⊕f 1 ⊕g 1 ⊕h 1 ;

r2=x2⊕z2⊕а2⊕с2⊕е2⊕f2⊕g2⊕h2;r 2 = x 2 ⊕z 2 ⊕а 2 ⊕с 2 ⊕е 2 ⊕f 2 ⊕g 2 ⊕h 2 ;

r33⊕z3⊕а3⊕с3⊕е3⊕f3⊕g3⊕h3;r 3 = x 3 ⊕z 3 ⊕a 3 ⊕с 3 ⊕е 3 ⊕f 3 ⊕g 3 ⊕h 3 ;

r4=x1⊕z3⊕а2⊕a3⊕c2⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3;r 4 = x 1 ⊕z 3 ⊕a 2 ⊕a 3 ⊕c 2 ⊕e 1 ⊕e 3 ⊕f 1 ⊕f 2 ⊕g 1 ⊕g 2 ⊕g 3 ;

r5=x2⊕х3⊕z1⊕a3⊕c1⊕c3⊕e1⊕e2⊕f2⊕g1⊕g2⊕g3;r 5 = x 2 ⊕х 3 ⊕z 1 ⊕a 3 ⊕c 1 ⊕c 3 ⊕e 1 ⊕e 2 ⊕f 2 ⊕g 1 ⊕g 2 ⊕g 3 ;

r63⊕z2⊕z3⊕a1⊕c1⊕c2⊕e2⊕f1⊕f3⊕g1⊕g2⊕g3;r 6 = x 3 ⊕z 2 ⊕z 3 ⊕a 1 ⊕c 1 ⊕c 2 ⊕e 2 ⊕f 1 ⊕f 3 ⊕g 1 ⊕g 2 ⊕g 3 ;

r73⊕z3⊕a1⊕a3⊕c2⊕e1⊕f2⊕g1⊕g2⊕g3;r 7 = x 3 ⊕z 3 ⊕a 1 ⊕a 3 ⊕c 2 ⊕e 1 ⊕f 2 ⊕g 1 ⊕g 2 ⊕g 3 ;

r8=x1⊕x2⊕z2⊕а2⊕а3⊕c3⊕e3⊕f2⊕f3⊕g1⊕g2⊕g3.r 8 = x 1 ⊕x 2 ⊕z 2 ⊕a 2 ⊕a 3 ⊕c 3 ⊕e 3 ⊕f 2 ⊕f 3 ⊕g 1 ⊕g 2 ⊕g 3 .

В табл. 1 представлены значения синдромов ошибок кода (32,8), исправляющего кратные ошибки в блоке информации и обнаруживающего ошибки в произвольных блоках информации.Table 1 shows the values of error syndromes of the code (32,8), which corrects multiple errors in a block of information and detects errors in arbitrary blocks of information.

Процессор включает в себя два основных устройства: управляющий узел 1 и операционный узел 2.The processor includes two main devices: control node 1 and operation node 2.

Управляющий узел 1 координирует действия узлов операционного узла 2 между собой и с другими устройствами ЭВМ, а также выполняет набор операций, включающих команды обращения к памяти. Он вырабатывает в определенной временной последовательности управляющие сигналы, под действием которых в узлах операционного узла 2 выполняются требуемые действия.The control unit 1 coordinates the actions of the units of the operational unit 2 with each other and with other computer devices, and also performs a set of operations, including commands for accessing memory. It generates control signals in a certain time sequence, under the action of which the required actions are performed in the nodes of the operating unit 2.

Каждое такое элементарное действие, выполняемое в операционном узле 2 в течение одного тактового периода, называется микрооперацией.Each such elementary action performed in the operational node 2 during one clock period is called a micro-operation.

В определенные тактовые периоды одновременно могут выполняться несколько микроопераций. Такая совокупность одновременно выполняемых микроопераций называется микрокомандой, а весь набор микрокоманд, предназначенных для решения определенной задачи называется микропрограммой.Several micro-ops can be executed simultaneously at certain clock periods. Such a set of simultaneously executed micro-operations is called a microinstruction, and the entire set of microinstructions designed to solve a specific task is called a microprogram.

Общий временной интервал, в течение которого происходит выборка, хранение и преобразование одной команды в набор управляющих сигналов, называется циклом работы управляющего узла 1.The total time interval during which the sampling, storage and transformation of one command into a set of control signals takes place is called the cycle of operation of the control node 1.

Таким образом, управляющий узел 1 осуществляет преобразование команды в соответствующий набор управляющих сигналов и обеспечивает:Thus, the control unit 1 converts the command into a corresponding set of control signals and provides:

чтение команды, находящейся в очередной ячейке памяти;reading a command located in the next memory cell;

расшифровку кода операции (команды);decoding 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 for performing the actions on them specified in the command operation code.

В данном случае используется микропрограммный управляющий узел 1, в котором микрокоманды хранятся в управляющей памяти 19.In this case, microprogram control unit 1 is used, in which microinstructions are stored in control memory 19.

В этом случае, слова, отображающие команды хранятся в памяти в последовательно пронумерованных ячейках, что позволяет формировать адрес очередной команды, добавлением единицы к адресу предыдущей команды, при этом слово состоит из нескольких частей: например, кода операции, указывающего вид операции и адресов чисел, над которыми должна быть произведена соответствующая операция.In this case, words representing commands are stored in memory in sequentially numbered cells, which allows you to form the address of the next command by adding one 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 performed.

Дешифратор 3 кода операций по выбранной из оперативной памяти команде определяет номер требуемой микропрограммы в управляющей памяти 26.The decoder 3 of the opcode according to the command selected from the main memory determines the number of the required firmware in the control memory 26.

Генератор 4 тактовых импульсов предназначен для формирования тактовых и синхронизирующих импульсов.The generator of 4 clock pulses is designed to generate clock and synchronizing pulses.

Счетчик 9 команд предназначен для формирования адреса ячейки памяти очередной команды, путем естественной выборки, т.е. прибавлением к его содержимому единицы.The counter 9 commands is designed to form the address of the memory cell of the next command, by natural sampling, i.e. adding one to its content.

Регистр 11 адреса предназначен для формирования адреса ячейки памяти при командах условного или безусловного перехода с возвратом.Register 11 address is designed to form the address of the memory cell in the instructions of the conditional or unconditional jump with return.

Блок 5 управления предназначен для определения адреса очередной микрокоманды в управляющей памяти 20, формирования адреса очередной команды (управления работой первого коммутатора 6), координации работы (выдачи синхроимпульсов) устройств процессора 1.The control unit 5 is designed to determine the address of the next micro-command in the control memory 20, generate the address of the next command (control the operation of the first switch 6), coordinate the work (issue sync pulses) of processor 1 devices.

Управляющая память 26 представляет собой постоянное запоминающее устройство и предназначена для выдачи (в зависимости от кода операции) выдачи управляющих сигналов (сигналов управления, сигналов считывания, сигналов записи, сигналов установки в нулевое состояние) на функциональные узлы процессора. При этом слово памяти содержит информационные разряды (для управляющих сигналов) и контрольные разряды, сформированные на основе предлагаемого метода кодирования.The control memory 26 is a read-only memory and is intended for issuing (depending on the operation code) control signals (control signals, read signals, write signals, signals for setting to zero) to the functional units of the processor. In this case, the memory word contains information bits (for control signals) and control bits formed on the basis of the proposed coding method.

Операционный узел 2 предназначен для выполнения арифметических и логических операций и включает в свой состав (фиг. 1) счетчик 10 сдвигов, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 17 логических операций и контроля.Operational unit 2 is designed to perform arithmetic and logical operations and includes (Fig. 1) shift counter 10, number register 12, adder register 13, additional register 14, additional code register 15, adder 16, logical operations and control unit 17 ...

Счетчик 10 сдвигов предназначен для подсчета количества сдвигов при выполнении операций умножения и деления, количества сдвигов промежуточных результатов и нормализации.The counter 10 shifts is designed to count the number of shifts when performing multiplication and division operations, the number of shifts of intermediate results and normalization.

Регистр 11 адреса представляет собой регистр памяти и предназначен для хранения адресе очередной команды.Register 11 address is a memory register and is designed to store the address of the next command.

Регистр 12 числа представляет собой регистр памяти и предназначен для хранения операндов при выполнении арифметических и логических операций (хранения множимого, при выполнении операции умножения и делителя при выполнении операции деления).The register 12 of the number is a memory register and is intended for storing operands when performing arithmetic and logical operations (storing the multiplicand when performing a multiplication operation and a divisor when performing a division operation).

Регистр 13 сумматора (аккумулятора) представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления), и предназначен для хранения делимого старших разрядов результата умножения.The register 13 of the adder (accumulator) is a shift register (to the right - when performing a multiplication operation and to the left - when performing a division operation), and is designed 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 bit of the number register 12 and the adder register 13.

Регистр 14 дополнительный представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления), и предназначен для хранения множителя и младших разрядов результата умножения при выполнении операции умножения и результата деления при выполнении операции деления).The additional register 14 is a shift register (to the right - when performing a multiplication operation and to the left - when performing a division operation), and is intended to store the multiplier and the least significant bits of the multiplication result when performing a multiplication operation and the result of division when performing a division operation).

Заметим, что при выполнении операции умножения, блоком 5 управления анализируется значение младшего разряда регистра 14 дополнительного.Note that when performing the multiplication operation, the control unit 5 analyzes the value of the least significant bit of the additional register 14.

Регистр 15 дополнительного кода представляет собой регистр памяти и предназначен для хранения отрицательного числа в дополнительном коде (при выполнении операции вычитания и операции деления).The complement register 15 is a memory register and is designed to store a negative two's complement number (when performing subtraction and division operations).

Блок 17 логических операций и контроля (фиг. 2) предназначен для обнаружения и коррекции ошибок, возникающих при выполнении арифметических и логических операций.Block 17 of logical operations and control (Fig. 2) is designed to detect and correct errors that occur when performing arithmetic and logical operations.

Сумматор 16 представляет собой параллельный п- разрядный сумматор и предназначен для выполнения операции сложения чисел, например, двух кодовых наборов:The adder 16 is a parallel n-bit adder and is designed to perform the operation of adding numbers, for example, two code sets:

Figure 00000007
Figure 00000007

В результате арифметического сложения информационных разрядов и сложения по mod2 значений контрольных получим результат:As a result of arithmetic addition of information bits and mod2 addition of control values, we get the result:

Figure 00000008
Figure 00000008

Анализ полученного результата, позволяет сделать вывод, что значения контрольных не соответствуют результату суммы информационных разрядов.Analysis of the result obtained allows us to conclude that the control values do not correspond to the result of the sum of information bits.

Для формирования требуемого значения контрольных разрядов для к полученному значению контрольных разрядов прибавляется поправка, сформированная относительно функции переносов, путем кодирования ее рассматриваемым методом кодирования информации.To form the required value of the check digits for the obtained value of the check digits, an amendment formed with respect to the transfer function is added by encoding it with the considered information coding method.

Функциональная схема 44 формирования поправки при выполнении арифметических операций (Фиг. 3) формирует функцию переносов относительно рассматриваемых слагаемых:Functional diagram 44 of the formation of the amendment when performing arithmetic operations (Fig. 3) forms the function of transfers with respect to the terms under consideration:

Figure 00000009
Figure 00000009

Для рассматриваемого примера имеем функцию переносов:For the example under consideration, we have the carry function:

Figure 00000010
Figure 00000010

Значения разрядов функции переносов через первый блок 52 элементов ИЛИ поступают на вход первого блока 54 кодирования, с выходов которого снимается значения поправки к значениям контрольных разрядов при выполнении арифметических операций.The values of the digits of the carry function through the first block 52 of OR elements are fed to the input of the first coding block 54, from the outputs of which the values of the correction to the values of the check digits are removed when performing arithmetic operations.

Для полученной функции переносов значение поправки равно:For the resulting transfer function, the correction value is:

Figure 00000011
Figure 00000011

В первом блоке 49 элементов неравнозначности осуществляется поразрядное сложение по mod2 значений контрольных разрядов слагаемых. Во втором блоке 50 элементов неравнозначности осуществляется поразрядное сложение результата суммы значений контрольных разрядов с значениями разрядов поправки. В результате имеем правильное значение контрольных разрядов для арифметической операции сложения. Для нашего примера получим значение контрольных разрядов:In the first block 49 of unequal elements, the bitwise addition mod2 of the values of the check digits of the addends is carried out. In the second block 50 unequal elements, the bitwise addition of the result of the sum of the values of the check digits with the values of the correction digits is carried out. As a result, we have the correct value of the check digits for the arithmetic addition operation. For our example, we get the value of the check digits:

Figure 00000012
Figure 00000012

Вторым блоком 55 кодирования осуществляется кодирование результата суммы слагаемых, поступающего с выходов сумматора 16.The second coding unit 55 encodes the result of the sum of the terms coming from the outputs of the adder 16.

Третьим блоком 51 неравнозначности осуществляется поразрядное сравнение значений контрольных разрядов сформированных относительно полученной арифметической суммы и сформированных на втором блоке 50 элементов неравнозначности. С выходов третьего блока 51 снимается значение синдрома ошибки.The third block 51 unequalities is a bitwise comparison of the values of the check bits formed with respect to the received arithmetic sum and generated on the second block 50 unequal elements. The value of the error syndrome is removed from the outputs of the third block 51.

При сдвиге вправо, функциональная схема 47 формирования поправки при выполнении операции сдвига формирует функцию сдвига на основе исходных значений информационных разрядов следующим образом:When shifting to the right, the correction generation functional circuit 47, when performing the shift operation, generates a shift function based on the initial values of the information bits as follows:

Figure 00000013
Figure 00000013

где z1 - значение сигнала переноса из другого регистра, например, в старший разряд регистра дополнительного из младшего разряда регистра сумматора при выполнении операции умножения.where z 1 is the value of the transfer signal from another register, for example, to the high-order bit of the additional register from the low-order bit of the adder register when performing the multiplication operation.

Значение разрядов функции сдвигов через первый блок 52 элементов ИЛИ поступают на вход первого блока 54 кодирования, с входов которого снимается значение поправки к контрольным разрядам при сдвиге вправо.The value of the bits of the function of shifts through the first block 52 of OR elements are fed to the input of the first block 54 of the coding, from the inputs of which the value of the correction to the check digits is removed when shifting to the right.

Во втором блоке 50 элементов неравнозначности осуществляется поразрядное сложение значений поправки с значениями контрольных разрядов сдвигаемой информации.In the second block 50 of unequal elements, the bitwise addition of the correction values with the values of the check bits of the shifted information is carried out.

Одновременно результаты сдвига информационных разрядов, через блок 52 элементов ИЛИ поступают на вход второго блока 54 кодирования. Результаты значений контрольных разрядов сформированных на втором блоке 50 элементов неравнозначности и поступающих с выходов второго блока 55 кодирования поразрядно сравниваются третьим блоком 51 элементов неравнозначности, с выходов которого снимается значение синдрома ошибки.At the same time, the results of the shift of information bits, through the block 52 of the OR elements, are fed to the input of the second coding block 54. The results of the values of the check bits formed on the second block 50 of the unequal elements and coming from the outputs of the second coding block 55 are bitwise compared by the third block 51 of the unequal elements, from the outputs of which the value of the error syndrome is taken.

Например, при сдвиге вправо и отсутствии переноса из другого регистра кодового набора:For example, with a right shift and no carry over from another code set register:

Figure 00000014
Figure 00000014

При кодировании данного набора с помощью предложенного метода первым блоком 54 кодирования значение поправки составит Р=110 10111. Сложение по mod2 вторым блоком 50 элементов неравнозначности исходного значения контрольных разрядов и значения поправки приведет к правильному значению контрольных разрядов при сдвиге информационных разрядов вправо:When coding this set using the proposed method by the first coding block 54, the correction value will be P = 110 10111. Addition of mod2 by the second block of 50 non-equal elements of the original check bit value and the correction value will lead to the correct check bit value when the information bits are shifted to the right:

Figure 00000015
Figure 00000015

где SП - результат, полученный при сдвиге исходного кодового набора вправо.where S P is the result obtained by shifting the original code set to the right.

Значения символов поправки при сдвиге влево формируются на основе исходного значения информационных разрядов следующим образом:The values of the correction symbols when shifting to the left are formed on the basis of the initial value of the information bits as follows:

Figure 00000016
Figure 00000016

где z1 - значение сигнала переноса старшего разряда одного регистра в младший разряд регистра сдвига.where z 1 is the value of the signal for transferring the high-order bit of one register to the low-order bit of the shift register.

Формирование синдрома ошибки при сдвиге влево осуществляется аналогичным образом.The formation of the error syndrome when shifting to the left is carried out in a similar way.

При выполнении операции логического сложения, значение вектора для вычисления поправки к контрольным разрядам осуществляется схемой 46 формирования поправки при выполнении операции ИЛИ путем выполнения операции И относительно одноименных разрядов слагаемых и кодирования полученного результата рассматриваемым методом..When performing the operation of logical addition, the value of the vector for calculating the correction to the check bits is carried out by the circuit 46 for generating the correction when performing the OR operation by performing the AND operation with respect to the bits of the addends of the same name and encoding the result obtained by the method in question.

Так, например, при выполнении операции ИЛИ относительно информационных разрядов блоком 42 элементов ИЛИ и сложения по mod2 контрольных разрядов первым блоком 49 элементов неравнозначности (фиг. 2) чисел А и В имеем результат:So, for example, when performing the OR operation with respect to the information bits by the block 42 of OR elements and adding mod2 control bits by the first block 49 of unequal elements (Fig. 2) of the numbers A and B, we have the result:

Figure 00000017
Figure 00000017

Функциональную схему 45 формирования поправки при выполнении операции ИЛИ выполняет операцию И относительно информационных разрядов даст значение вектора для вычисления поправки:The functional diagram 45 of the formation of the correction when performing the OR operation performs the AND operation with respect to the information bits will give the value of the vector for calculating the correction:

Figure 00000018
Figure 00000018

В этом случае первый блок 54 кодирования сформирует значение поправки: Р=10000010.In this case, the first coding unit 54 will generate the correction value: P = 10000010.

В результате сложения по mod2 вторым блоком 50 элементов неравнозначности значения поправки и значений контрольных разрядов, поступающих с первого блока 49 элементов неравнозначности, получим результат: 10010100, т.е. имеем правильное значение контрольных разрядов для операции ИЛИ.As a result of addition mod2 by the second block of 50 unequal elements of the correction value and the values of the check digits coming from the first block of 49 unequal elements, we get the result: 10010100, i.e. we have the correct value of the check digits for the OR operation.

Результаты значений контрольных разрядов сформированных на втором блоке 50 элементов неравнозначности и поступающих с выходов второго блока 55 кодирования поразрядно сравниваются третьим блоком 51 элементов неравнозначности, с выходов которого снимается значение синдрома ошибки.The results of the values of the check bits formed on the second block 50 of the unequal elements and coming from the outputs of the second coding block 55 are bitwise compared by the third block 51 of the unequal elements, from the outputs of which the value of the error syndrome is taken.

Аналогичным образом формируется поправка при выполнении логического умножения, только при формировании вектора поправки схемой 46 формирования поправки при выполнении операции И, реализуется поразрядная операция ИЛИ относительно одноименных разрядов множимого и множителя.Similarly, an amendment is formed when performing logical multiplication, only when the correction vector is generated by the correction generation circuit 46 when the AND operation is performed, a bitwise OR operation is performed with respect to the same-named digits of the multiplier and the multiplier.

Для операций логического сложения по mod2 блоком 41 сложения по mod2 формирование поправки к контрольным разрядам не требуется.For the operations of logical addition mod2 by the mod2 addition unit 41, the formation of a correction to the check bits is not required.

Так, например, при выполнении операции сложения по mod2 информационных разрядов блоком 41 сложения по mod2 и контрольных разрядов первым блоком 49 элементов неравнозначности (фиг. 2) чисел А и В имеем результат:So, for example, when performing the operation of addition mod2 of information bits by the block 41 of addition mod2 and check bits by the first block 49 of unequal elements (Fig. 2) of numbers A and B, we have the result:

Figure 00000019
Figure 00000019

Значения контрольных разрядов, сформированные вторым блоком 55 кодирования относительно информационных разрядов, полученных при выполнении арифметических и логических операций, поразрядно сравниваются третьим блоком 51 элементов неравнозначности с переданными значениями контрольными разрядами с учетом поправки.The check bit values generated by the second coding unit 55 with respect to the information bits obtained when performing arithmetic and logical operations are bitwise compared by the third unequal element block 51 with the transmitted check bit values, taking into account the correction.

При отсутствии ошибок на его выходах имеем нулевое значение сигналов.In the absence of errors at its outputs, we have a zero signal value.

Работа процессора начинается с приходом сигнала "Пуск" по входной группе 27 входов устройства обмена процессора с периферийными блоками. По этой команде блок 5 выдает команду на считывание с управляющей памяти 26 содержимого первой ячейки памяти.The processor starts working with the arrival of the "Start" signal through the input group 27 of the inputs of the processor exchange device with peripheral units. On this command, block 5 issues a command to read the contents of the first memory cell from the control memory 26.

В первой ячейке памяти расположена команда "Сброс системы", которая устанавливает в исходное состояние регистры и блоки процессора,The first memory cell contains the "System Reset" command, which initializes the registers and blocks of the processor,

В счетчик 9 команд записывается "1", устройство управления 1 выдает микрокоманды в следующей последовательности:The command counter 9 is written "1", the control unit 1 issues micro-commands in the following sequence:

1) на первом такте сигналы микрокоманды поступает на вход считывания счетчика 9 команд и на вход записи регистра 11 адреса, при этом содержимое счетчика 9 команд пересылается в регистр 11 адреса (или через первый коммутатор 6 на адресные входы запоминающего устройства при естественной выборке команд непосредственно со счетчика 9 команд);1) on the first clock cycle, the micro-command signals are fed to the read input of the command counter 9 and to the write input of the address register 11, while the contents of the command counter 9 are sent to the address register 11 (or through the first switch 6 to the address inputs of the memory device with natural sampling of commands directly from counter of 9 teams);

2) на втором такте к содержимому счетчика 9 команд прибавляется единица - подготавливается адрес следующей команды;2) on the second cycle, one is added to the contents of the counter 9 of the commands - the address of the next command is prepared;

3) на третьем такте сигналы микрокоманды поступают на вход считывания регистра 11 адреса и на вход считывания содержимого ячейки памяти запоминающего устройства по указанному адресу. При этом команда, хранящаяся в первой ячейке памяти, записывается в регистр 12 числа;3) on the third clock cycle, the microinstruction signals are fed to the read input of the address register 11 and to the read input of the contents of the memory cell at the specified address. In this case, the command stored in the first memory cell is written to register 12 of the number;

4) на четвертом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, вход второго коммутатора 7 и на вход дешифратора 3 кода операции, где раскодируются, после чего управляющий узел 1 переходит ко второму этапу работы.4) on the fourth clock cycle, the micro-command signals are fed to the input of reading the number register 12, 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 goes to the second stage of operation.

Для примера рассмотрим порядок исполнения одной из команд, записанной в регистре 12 числа после выполнения первых четырех тактов.For example, consider the order of execution of one of the instructions written in register 12 after the first four clock cycles.

Пусть в поле кода операции команды содержимого регистра 12 числа записана команда сложения содержимого регистра 13 сумматора с числом расположенным запоминающем устройстве по адресу, указанному в поле адреса регистра 12 числа. (при использовании одноадресной команды).Let the command of adding the contents of the register 13 of the adder with the number located in the memory device at the address indicated in the address field of the register 12 of the number is written in the field of the operation code of the instruction of the contents of the register 12. (when using a unicast command).

Управляющий узел 1 при этом выдает следующие микрокоманды:In this case, the control node 1 issues the following microcommands:

5) на пятом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, на вход второго коммутатора 7, первого коммутатора 6 и на вход записи регистра 11 адреса (адрес, хранящийся в регистре 12 числа записывается в регистр 11 адреса, содержимое регистра 12 числа обнуляется);5) on the fifth clock cycle, the microinstruction signals are fed to the input of reading the register 12 of the number, to the input of the second switch 7, the first switch 6 and to the write input of the register 11 of the address (the address stored in the register 12 of the number is written to the register 11 of the address, the contents of the register 12 of the number are reset to zero );

6) на шестом такте сигналы микрокоманды подаются на вход считывания регистра 11 адреса, на вход первого коммутатора 6, на вход считывания запоминающего устройства и на вход записи регистра 12 числа (из запоминающего устройства в регистр 12 числа записывается второе слагаемое (считаем, что первое слагаемое уже находится в регистре 13 сумматора);6) on the sixth clock cycle, the microinstruction signals are fed to the read input of the address register 11, to the input of the first switch 6, to the read input of the memory device and to the write input of the number register 12 (the second summand is written from the memory device to the number register 12 (we assume that the first summand already in register 13 of the adder);

7) на седьмом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа и регистра 13 сумматора, при этом арифметико-логическое устройство осуществляет операцию сложения и запись результата сложения в регистр 13 сумматора следующим образом.7) on the seventh clock cycle, the microinstruction signals are fed to the read input of the number register 12 and the adder register 13, while the arithmetic logic unit performs the addition operation and writes the result of the addition to the adder register 13 as follows.

Результат суммы с выхода сумматора 16, поступает на блок 17 логических операций и контроля (фиг. 2), далее устройство работает в соответствии с примером выполнения арифметических операций, приведенном выше.The result of the sum from the output of the adder 16 is fed to the block 17 of logical operations and control (Fig. 2), then the device operates in accordance with the example of performing arithmetic operations given above.

Figure 00000020
Figure 00000020

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

Figure 00000021
As a result of arithmetic addition of information bits and mod2 addition of control values and correction values, we get the result:
Figure 00000021

При этом сформированные значения контрольных разрядов относительно полученной операции сравниваются с переданными значениями контрольных разрядов третьим блоком 51 элементов неравнозначности (фиг. 2). При отсутствии ошибки на его выходах имеем нулевые значения сигналов.In this case, the generated values of the check bits with respect to the operation obtained are compared with the transmitted values of the check bits by the third block 51 of unequal elements (Fig. 2). In the absence of an error at its outputs, we have zero signal values.

При возникновении ошибки в результате суммирования, например в третьем разряде суммы блока информации - X, получим результат:If an error occurs as a result of summation, for example, in the third bit of the sum of the information block - X, we get the result:

Figure 00000022
Figure 00000022

В этом случае на выходе третьего блока 51 элементов неравнозначности (фиг. 2) получим значение синдрома ошибки:In this case, at the output of the third block 51 of unequal elements (Fig. 2), we obtain the value of the error syndrome:

Figure 00000023
Figure 00000023

Совокупность значений разрядов синдрома ошибки определяет адрес байта информации, имеющего ошибку, при этом значения первых трех разрядов синдрома ошибки являются вектором ошибки и определяют ошибочный разряд в байте информации. В соответствии с таблицей 1, полученный синдром ошибки указывает на ошибку в третьем разряде байта информации - Х.The set of values of the bits of the error syndrome determines the address of the information byte having an error, while the values of the first three bits of the error syndrome are the error vector and determine the erroneous bit in the information byte. According to Table 1, the resulting error syndrome indicates an error in the third bit of the information byte - X.

Figure 00000024
Figure 00000024

Figure 00000025
Figure 00000025

Значения вектора ошибки поступают на первые входы блока 39 элементов И. С выхода дешифратора 37 на второй вход блока 39 элементов И поступает сигнал, указывающий адрес байта информации, имеющего ошибку. На первые входы корректора 40 с выходов 23 блока 17 логических операций и контроля поступают значения информационных разрядов, а на вторые входы корректора 40, при поступлении синхроимпульса на третьи входы блока 39 элементов И, поступают значения вектора ошибки. В корректоре 40 осуществляется коррекция ошибочных информационных разрядов, путем поразрядного сложения по mod2 значений вектора ошибки с информационными разрядами байта информации, имеющего ошибку.The values of the error vector are fed to the first inputs of the block 39 of the elements And. From the output of the decoder 37 to the second input of the block 39 of the elements And a signal is received indicating the address of the information byte having an error. The first inputs of the corrector 40 from the outputs 23 of the block 17 of logical operations and control receive the values of the information bits, and the second inputs of the corrector 40, when the sync pulse arrives at the third inputs of the block 39 of the AND elements, the values of the error vector are received. In the corrector 40, the erroneous information bits are corrected by bitwise addition mod2 of the values of the error vector with the information bits of the information byte having the error.

С выходов корректора 40, значения информационных разрядов и значения контрольных разрядов с выходов 24 блока 17 логических операций и контроля поступают на входы второго коммутатора 7.From the outputs of the equalizer 40, the values of the information bits and the values of the control bits from the outputs 24 of the block 17 of logical operations and control are fed to the inputs of the second switch 7.

Аналогичным образом процессор функционирует при выполнении логических операций.The processor functions in a similar way when performing logical operations.

При возникновении некорректируемой ошибки, сигналы с выходов дешифратора 37 через блок 38 элементов ИЛИ и второй коммутатор 7 поступают в систему прерывания, где формируется сигнал «Отказ процессора».When an uncorrectable error occurs, the signals from the outputs of the decoder 37 through the OR element block 38 and the second switch 7 enter the interrupt system, where the processor failure signal is generated.

8) На восьмом такте выдается микрокоманда «Конец операций» осуществляется переход на следующую операцию, блок 5 управления приводится в исходное состояние и выдает разрешение на начало выполнения следующей команды, адрес которой указан в счетчике 9 команд.8) On the eighth cycle, the micro-command "End of operations" is issued, the transition to the next operation is carried out, the control unit 5 is reset and gives permission to start the execution of the next command, the address of which is indicated in the counter 9 of commands.

Claims (1)

Отказоустойчивый процессор с коррекцией ошибок в байте информации, содержащий управляющий узел, операционный узел, дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок логических операций и контроля, включающий блок логического сложения по mod2, блок инвертирования, блок логического сложения, блок логического умножения, функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции сдвига, элемент задержки, первый блок элементов неравнозначности, второй блок элементов неравнозначности, третий блок элементов неравнозначности, первый блок элементов ИЛИ, второй блок элементов ИЛИ, блок кодирования, первый блок элементов И, второй блок элементов И, элемент И, первый, вторые, третьи, четвертые, пятые входы блока логических операций и контроля, первые, вторые, третьи выходы блока логических операций и контроля, управляющую память, входы от устройства обмена, входы данных из запоминающего устройства, выход на устройство обмена, выходы данных на запоминающее устройство, выход адреса запоминающего устройства, выходы синхроимпульсов, выходы для сигналов управления, выходы для команды считывание, выходы для сигналов записи, выходы для сигналов установки в нулевое состояние, выходы устройства обмена подключены к первому входу блока управления и к первому входу второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, а четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, второй выход блока управления подключен к второму входу первого коммутатора, третьи и четвертые входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к первому входу блока логических операций и контроля и является входом синхроимпульсов, вторые, третьи, четвертые и пятые выходы блока управляющей памяти подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, к вторым входам блока логических операций и контроля и являются выходами управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к четвертым входам второго коммутатора, выход счетчика сдвигов подключен к пятым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к третьим входам блока логических операций и контроля, выходы сумматора подключены к четвертым входам блока логических операций и контроля, вторые выходы третьего коммутатора подключены к пятым входам блока логических операции и контроля, отличающийся тем, что он дополнительно содержит дешифратор, блок элементов ИЛИ, блок элементов И, корректор, причем первые выходы блока логических операций и контроля подключены к первым входам корректора, вторые выходы подключены к шестым входам второго коммутатора, третьи выходы блока логических операций и контроля подключены к первым входам блока элементов И и к входам дешифратора, первая группа выходов которого подключена к вторым входам блока элементов И, третий вход которого подключен к третьему выходу блока управления, а выход подключен к второму входу корректора, выходы корректора подключены к седьмым входам второго коммутатора, вторая группа выходов дешифратора подключена к входам блока элементов ИЛИ, выход которого подключен к восьмому входу второго коммутатора.Fault-tolerant processor with error correction in the information byte, containing the control node, the operational node, the operation code decoder, the clock pulse generator, the control unit, the first switch, the second switch, the third switch, the command counter, the shift counter, the address register, the number register, the adder register , an additional register, an additional code register, an adder, a block of logical operations and control, including a logical addition block according to mod2, an inverting block, a logical addition block, a logical multiplication block, a functional diagram for generating a correction when performing arithmetic operations, a functional diagram for generating a correction when performing an operation OR, a functional diagram for generating a correction when performing an AND operation, a functional diagram for generating a correction when performing a shift operation, a delay element, a first block of unequal elements, a second block of unequal elements, a third block of unequal elements, a first block OR gates, second block of OR gates, coding block, first block of AND gates, second block of AND gates, AND gate, first, second, third, fourth, fifth inputs of logical operations and control block, first, second, third outputs of logical operations block and control, control memory, inputs from an exchange device, data inputs from a storage device, an output to an exchange device, data outputs to a storage device, an output of a storage device address, sync pulse outputs, outputs for control signals, outputs for a read command, outputs for write signals, outputs for signals of setting to zero, outputs of the exchange device are connected to the first input of the control unit and to the first input of the second switch, the second inputs of which are connected to the outputs of the memory 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 memory device , and the third outputs are connected respectively to the first inputs I will give a command counter, a shift counter, a number register, an adder register, an additional register, an 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 the control unit is connected to the outputs of the operation code decoder, and the fourth input is connected to the outputs of the clock pulse 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 second output of the control unit is connected to the second input of the first switch, the third and fourth inputs of which are connected, respectively, to the outputs of the address register and the command counter, and from the second output the address of the memory cell is removed, the third output of the control unit is connected to the second inputs of the command counter, shift counter, address register, number register, adder register, register additional o, additional code register, to the first group of inputs of the third switch, to the third group of inputs of the second switch, to the first input of the logical operations and control unit and is the input of sync pulses, the second, third, fourth and fifth outputs of the control memory unit are connected respectively to the third, fourth the fifth and sixth inputs of the command counter, shift counter, address register, number register, adder register, additional register, additional code register, to the first group of inputs of the third switch, to the third group of inputs of the second switch, to the second inputs of the logical operations and control unit and are outputs of control signals, read signals, recording signals, signals for setting devices to a zero state, the 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 fourth inputs of the second switch, the output of the shift counter is connected to the fifth input m of the second switch, the first outputs of the third switch are connected respectively to the inputs of the adder and to the third inputs of the logical operations and control unit, the outputs of the adder are connected to the fourth inputs of the logical operations and control unit, the second outputs of the third switch are connected to the fifth inputs of the logical operations and control unit, which is different in that it additionally contains a decoder, a block of OR elements, a block of AND elements, a corrector, and the first outputs of the logical operations and control block are connected to the first inputs of the corrector, the second outputs are connected to the sixth inputs of the second switch, the third outputs of the logical operations and control block are connected to the first inputs of the block of elements AND and to the inputs of the decoder, the first group of outputs of which is connected to the second inputs of the block of elements I, the third input of which is connected to the third output of the control unit, and the output is connected to the second input of the corrector, the outputs of the corrector are connected to the seventh inputs of the second switch, the second group pa outputs of the decoder is connected to the inputs of the OR element block, the output of which is connected to the eighth input of the second switch.
RU2021101726A 2021-01-26 2021-01-26 Fault-tolerant processor with error correction in a byte of information RU2758065C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2021101726A RU2758065C1 (en) 2021-01-26 2021-01-26 Fault-tolerant processor with error correction in a byte of information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2021101726A RU2758065C1 (en) 2021-01-26 2021-01-26 Fault-tolerant processor with error correction in a byte of information

Publications (1)

Publication Number Publication Date
RU2758065C1 true RU2758065C1 (en) 2021-10-26

Family

ID=78289586

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2021101726A RU2758065C1 (en) 2021-01-26 2021-01-26 Fault-tolerant processor with error correction in a byte of information

Country Status (1)

Country Link
RU (1) RU2758065C1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933436A (en) * 1995-03-16 1999-08-03 Kabushiki Kaisha Toshiba Error correction/detection circuit and semiconductor memory device using the same
RU2403615C2 (en) * 2009-01-27 2010-11-10 Межрегиональное общественное учреждение "Институт инженерной физики" Device for storing and transferring information with double error detection
RU2448359C1 (en) * 2011-04-05 2012-04-20 Межрегиональное общественное учреждение "Институт инженерной физики" Apparatus for storing and transmitting data with error correction in data byte and error detection in data bytes
RU2450331C1 (en) * 2011-04-05 2012-05-10 Межрегиональное общественное учреждение "Институт инженерной физики" Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933436A (en) * 1995-03-16 1999-08-03 Kabushiki Kaisha Toshiba Error correction/detection circuit and semiconductor memory device using the same
RU2403615C2 (en) * 2009-01-27 2010-11-10 Межрегиональное общественное учреждение "Институт инженерной физики" Device for storing and transferring information with double error detection
RU2448359C1 (en) * 2011-04-05 2012-04-20 Межрегиональное общественное учреждение "Институт инженерной физики" Apparatus for storing and transmitting data with error correction in data byte and error detection in data bytes
RU2450331C1 (en) * 2011-04-05 2012-05-10 Межрегиональное общественное учреждение "Институт инженерной физики" Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes

Similar Documents

Publication Publication Date Title
US4402045A (en) Multi-processor computer system
RU2439667C1 (en) Processor of higher functioning reliability
US3986015A (en) Arithmetic unit for use in a digital data processor and having an improved system for parity check bit generation and error detection
US4994993A (en) System for detecting and correcting errors generated by arithmetic logic units
RU2417409C2 (en) Fault-tolerant processor
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
RU2758410C1 (en) Fail-safe processor with error correction in two bytes of information
Medwed et al. Arithmetic logic units with high error detection rates to counteract fault attacks
RU204690U1 (en) FAIL-SAFE PROCESSOR WITH ERROR CORRECTION IN TWO BYTES OF INFORMATION
RU102407U1 (en) CPU COMPUTER
RU51428U1 (en) FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY
RU2816550C1 (en) Information storage and reading device with single error correction
RU106771U1 (en) DEVICE FOR STORAGE AND TRANSFER OF DATA WITH CORRECTION OF ERRORS IN THE BYTE OF INFORMATION AND DETECTION OF ERRORS IN THE BYtes OF INFORMATION
US9218239B2 (en) Apparatuses and methods for error correction
RU2708956C2 (en) Processor with high reliability of operation
RU186547U1 (en) PROCESSOR OF INCREASED OPERATING RELIABILITY
RU76479U1 (en) MEMORY DEVICE WITH DUAL ERROR DETECTION
RU2211492C2 (en) Fault-tolerant random-access memory
US3196259A (en) Parity checking system
Bu et al. A hybrid self-diagnosis mechanism with defective nodes locating and attack detection for parallel computing systems
RU2421786C1 (en) Device to store information of higher functioning validity
RU51427U1 (en) FAULT-RESISTANT MEMORY DEVICE FOR HIGHER FUNCTIONING RELIABILITY
RU169207U1 (en) ERROR DATA STORAGE AND TRANSMISSION DEVICE
RU83859U1 (en) FAST-RESISTANT DEVICE FOR ACCELERATED REPRODUCTION