отказоустойчивый процессор

Классы МПК:G06F11/07 Реагирование на наличие ошибки, например отказоустойчивость
Автор(ы):, , , , , , , ,
Патентообладатель(и):Межрегиональное общественное учреждение "Институт инженерной физики" (RU)
Приоритеты:
подача заявки:
2009-01-27
публикация патента:

Изобретение относится к области автоматики и вычислительной техники и предназначено для повышения достоверности функционирования. Техническим результатом является повышение отказоустойчивости процессора за счет обнаружения и коррекции возникающих ошибок. Отказоустойчивый процессор включает в себя два основных устройства: управляющий узел и операционный узел. Управляющий узел включает в свой состав дешифратор кода операции, генератор тактовых импульсов, блок управления, счетчик команд, регистр адреса, блок коррекции. Операционный узел включает в свой состав счетчик сдвигов, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок контроля. Технический результат достигается за счет введения блока коррекции для обнаружения и исправления ошибок управляющей памяти процессора, а также за счет введения блока контроля, позволяющего обнаруживать и корректировать ошибки арифметическо-логического устройства при выполнении арифметических и логических операций. 7 з.п. ф-лы, 8 ил. отказоустойчивый процессор, патент № 2417409

отказоустойчивый процессор, патент № 2417409 отказоустойчивый процессор, патент № 2417409 отказоустойчивый процессор, патент № 2417409 отказоустойчивый процессор, патент № 2417409 отказоустойчивый процессор, патент № 2417409 отказоустойчивый процессор, патент № 2417409 отказоустойчивый процессор, патент № 2417409 отказоустойчивый процессор, патент № 2417409

Формула изобретения

1. Отказоустойчивый процессор, содержащий управляющий узел, операционный узел, первые входы управляющего узла являются входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных, отличающийся тем, что он дополнительно содержит дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок коррекции, блок логических операций, управляющую память, блок контроля, включающий формирователь поправки, который в свою очередь содержит функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции сдвига, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции НЕ, входы устройства обмена подключены к первому входу блока управления и к первым входам второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора подключены к входу устройства обмена, вторые выходы подключены к входу запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, выходы которой подключены к первым входам блока коррекции, второй выход блока управления подключен к второму входу первого коммутатора, вторые и третьи входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен соответственно к вторым входам блока коррекции, к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора и к третьей группе входов второго коммутатора и является выходом синхроимпульсов, первый выход блока коррекции подключен к четвертому входу второго коммутатора, а вторые, третьи, четвертые и пятые выходы блока коррекции подключены соответственно к третьим, четвертым пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора, и являются выходам сигналов, сигналов «считывание», сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к пятым входам второго коммутатора, выход счетчика сдвигов подключен к шестым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к первым входам блока контроля, выходы сумматора подключены к вторым входам блока контроля, вторые и третьи выходы третьего коммутатора подключены к третьим и четвертым входам блока контроля, выходы которого подключены к седьмым входам второго коммутатора.

2. Отказоустойчивый процессор по п.1, отличающийся тем, что блок коррекции содержит кодирующую схему, схему сравнения, первую группу элементов ИЛИ, вторую группу элементов ИЛИ, элемент НЕ, элемент И, формирователь вектора ошибки, корректор, дешифратор, первую группу элементов И, первые входы, вход «считывание», выход «отказ процессора», информационные выходы, выходы управляющей памяти подключены к первым входам корректора и к входам кодирующей схемы, выходы которой подключены к первым входам схемы сравнения, вторые входы схемы сравнения подключены к вторым выходам управляющей памяти, а выходы подключены к входам дешифратора и к входам первой группы элементов ИЛИ, выходы которой подключены к первому входу первого элемента И, выходы дешифратора подключены к входам формирователя вектора ошибки и к входам второй группы элементов ИЛИ, выход второй группы элементов ИЛИ через элемент НЕ подключен к второму входу элемента И выход которого является выходом «отказ процессора», выходы формирователя вектора ошибки подключен к второму входу корректора, выходы которого подключены к первым входам первой группы элементов И, второй вход которого подключен к входу «считывание», а выходы являются информационными выходами блока коррекции.

3. Отказоустойчивый процессор по п.1, отличающийся тем, что блок контроля содержит первую группу элементов неравнозначности, вторую группу элементов неравнозначности, третью группу элементов неравнозначности, первую группу элементов ИЛИ, вторую группу элементов ИЛИ, третью группу элементов ИЛИ, четвертую группу элементов ИЛИ, пятую группу элементов ИЛИ, шестую группу элементов ИЛИ, седьмую группу элементов ИЛИ, восьмую группу элементов ИЛИ, первую группу элементов И, вторую группу элементов И, третью группу элементов И, четвертую группу элементов И, пятую группу элементов И, шестую группу элементов И, седьмую группу элементов И, восьмую группу элементов И, девятую группу элементов И, элемент И, формирователь вектора ошибки, дешифратор, формирователь поправки, который содержит функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции сдвига, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции НЕ, корректор, первую кодирующую схему, вторую кодирующую схему, элемент НЕ, первые входы формирователя поправки, вторые входы формирователя поправки, первые выходы формирователя поправки (значения поправки при выполнении операций сдвига, И, ИЛИ, НЕ), вторые выходы формирователя поправки (значения поправки при выполнении арифметических операций), первые входы блока контроля (выходы сумматора) подключены к первым входам третьей группы элементов ИЛИ и к первым входам первой группы элементов И, выходы которой подключены к первым входам первой группы элементов ИЛИ, вторые входы подключены к первым входам третьей группы элементов И и к первым входам второй группы элементов И, выходы которой подключены к вторым входам третьей группы элементов ИЛИ и вторым входам первой группы элементов ИЛИ, третьи входы подключены к первым входам четвертой и пятой групп элементов И, четвертый вход подключен к второму входу второй группы элементов И, к второму входу первой группы элементов И, к первому входу восьмой группы элементов И, к вторым входам третьей, четвертой и пятой групп элементов И, к первому входу формирователя поправки, к первым входам шестой, седьмой, девятой групп элементов И и к первому входу формирователя вектора ошибки, выходы третьей группы элементов ИЛИ подключены к первым входам корректора, выходы которого подключены к вторым входам восьмой группы элементов И, выходы первой группы элементов ИЛИ подключены к входам второй кодирующей схемы, выходы которой подключены к вторым входа корректора и к первым входам третьей группы элементов неравнозначности, выходы третьей группы элементов И подключены к вторым входам формирователя поправки, первые выходы которого подключены к входам второй группы элементов ИЛИ, выходы четвертой группы элементов И подключены к первым входам четвертой группы элементов ИЛИ, выходы которой подключены к первым входам второй группы элементов неравнозначности, выходы пятой группы элементов И подключены к входам первой группы элементов неравнозначности, выходы которой подключены к вторым входам девятой группы элементов И и к вторым входам шестой группы элементов И, выходы которой подключены к первым входам пятой группы элементов ИЛИ, выходы девятой группы элементов И подключены к вторым входам четвертой группы элементов ИЛИ, выходы второй группы элементов ИЛИ подключен к входам первой кодирующей схемы, выходы которой подключены к вторым входам седьмой группы элементов И, выходы седьмой группы элементов И подключены к первым входам восьмой группы элементов ИЛИ, вторые выходы формирователя поправки подключены к вторым входам восьмой группы элементов ИЛИ, выходы которой подключены к вторым входам второй группы элементов неравнозначности, выходы которой, в свою очередь, подключены к вторым входам пятой группы элементов ИЛИ, выходы пятой группы элементов ИЛИ подключены к вторым входам третьей группы элементов неравнозначности, выходы которой подключены к входам дешифратора и к входам шестой группы элементов ИЛИ, выход которой подключен к первому входу элемента И, выход дешифратора подключен к входу формирователя вектора ошибки и к входам седьмой группы элементов ИЛИ, выход которой через элемент НЕ подключен к второму входу элемента И и является выходом «корректируемая ошибка», выходы формирователя вектора ошибки подключены к третьим входам корректора, выходы восьмой группы элементов И являются информационными выходами блока контроля, выход элемента И является выходом «отказ процессора».

4. Отказоустойчивый процессор по п.1, отличающийся тем, что функциональная схема формирования поправки при выполнении арифметических операций содержит первый элемент И, второй элемент И, третий элемент И, четвертый элемент И, пятый элемент И, шестой элемент И, седьмой элемент И, восьмой элемент И, блок элементов И, первый элемент ИЛИ, второй элемент ИЛИ, третий элемент ИЛИ, четвертый элемент ИЛИ, пятый элемент ИЛИ, шестой элемент ИЛИ, седьмой элемент ИЛИ, восьмой элемент ИЛИ, блок регистров, группу элементов неравнозначности, информационные входы, вход «считывание», информационные выходы, вход переноса из младшего полубайта подключен к первым входам пятого элемента И и блока регистров, входы младших информационных разрядов подключены к входам первого элемента И и первого элемента ИЛИ, выход которого подключен к второму входу пятого элемента И, выход первого элемента И подключен к первому входу пятого элемента ИЛИ, второй вход которого подключен к выходу пятого элемента И, а выход подключен к первому входу шестого элемента И и к второму входу блока регистров, входы вторых информационных разрядов подключены к входам второго элемента И и к входам второго элемента ИЛИ, выход которого подключен к второму входу шестого элемента И, выход шестого элемента И подключен к первому входу шестого элемента ИЛИ, второй вход которого подключен к выходу второго элемента И, третьи информационные входы подключены к входам третьего элемента И и к входам третьего элемента ИЛИ, выход которого подключен к первому входу седьмого элемента И, выход шестого элемента ИЛИ подключен к третьему входу блока регистров и к второму входу седьмого элемента И, выход которого подключен к первому входу седьмого элемента ИЛИ, выход третьего элемента И подключен к второму входу седьмого элемента ИЛИ, выход которого подключен к четвертому входу блока регистров и к первому входу восьмого элемента И, четвертые разряды информационных входов подключены к входам четвертого элемента И и к входам четвертого элемента ИЛИ, выход которого подключен к второму входу восьмого элемента И, выход восьмого элемента И подключен к первому входу восьмого элемента ИЛИ, второй вход которого подключен к выходу четвертого элемента И, а выход является выходом переноса в старший полубайт информации, выходы блока регистров подключены к входам блока элементов неравнозначности, выходы которого подключены к первым входам блока элемента И, второй вход блока элемента И подключен к входу «считывание», а выходы является выходами функциональной схемы формирования поправки при выполнении арифметических операций.

5. Отказоустойчивый процессор по п.1, отличающийся тем, что функциональная схема формирования поправки при выполнении операции сдвига содержит первый элемент неравнозначности, второй элемент неравнозначности, третий элемент неравнозначности, четвертый элемент неравнозначности, пятый элемент неравнозначности, первый элемент И, второй элемент И, третий элемент И, четвертый элемент И, пятый элемент И, шестой элемент И, седьмой элемент И, восьмой элемент И, девятый элемент И, десятый элемент И, одиннадцатый элемент И, двенадцатый элемент И, первый элемент ИЛИ, второй элемент ИЛИ, третий элемент ИЛИ, четвертый элемент ИЛИ, информационные входы, вход «сдвиг вправо», вход «сдвиг влево», вход, разрешающий считывание выходной информации, выходы схемы формирования поправки при выполнении операции сдвига, четвертый информационный разряд подключен к первым входам первого и второго элементов неравнозначности, информационный разряд младшего разряда старшего полубайта информации подключен к второму входу первого элемента неравнозначности, выход которого подключен к первому входу первого элемента И, третий информационный разряд подключен к первому входу третьего элемента неравнозначности и к второму входу второго элемента неравнозначности, выход которого подключен к первым входам второго и пятого элементов И, вход второго информационного разряда подключен к первому входу четвертого элемента неравнозначности и к второму входу третьего элемента неравнозначности, выход которого подключен к первым входам третьего и шестого элементов И, вход первого информационного разряда подключен к первому входу пятого элемента неравнозначности и к второму входу четвертого элемента неравнозначности, выход которого подключен к первым входам четвертого и седьмого элементов И, второй вход пятого элемента неравнозначности подключен к выходу старшего разряда младшего полубайта информации, а выход подключен к первому входу восьмого элемента И, вторые входы с первого по четвертый элементов И подключены к входу «сдвиг вправо», вторые входы с пятого по восьмой элементов И подключены к входу «сдвиг влево», выходы с первого по четвертый элементов И подключены соответственно к первым входам с первого по четвертый элементов ИЛИ, вторые входы которых подключены соответственно к выходам с пятого по восьмой элементов И, выходы с первого по четвертый элементов ИЛИ подключены соответственно к первым входам с девятого по двенадцатый элементов И, вторые входы которых подключены к входу «считывание», а выходы являются выходами функциональной схемы формирования поправки при выполнении операции сдвига.

6. Отказоустойчивый процессор по п.1, отличающийся тем, что функциональная схема формирования поправки при выполнении логической операции ИЛИ содержит первый элемент И, второй элемент И, третий элемент И, четвертый элемент И, пятый элемент И, шестой элемент И, седьмой элемент И, восьмой элемент И, информационные входы, вход «считывание», информационные выходы функциональной схемы формирования поправки при выполнении логической операции ИЛИ, первые разряды операндов информационных входов подключены к входам первого элемента И, выход которого подключен к первому входу пятого элемента И, вторые разряды операндов информационных входов подключены к входам второго элемента И, выход которого подключен к входу шестого элемента И, третьи разряды операндов информационных входов подключены к входам третьего элемента И, выход которого подключен к первому входу седьмого элемента И, четвертые разряды операндов информационных входов подключены к входам четвертого элемента И, выход которого подключен к первому входу восьмого элемента И, вход «считывание» подключен к вторым входам с пятого по восьмой элементов И, выходы которых являются выходами функциональной схемы формирования поправки при выполнении логической операции ИЛИ.

7. Отказоустойчивый процессор по п.1, отличающийся тем, что функциональная схема формирования поправки при выполнении логической операции И содержит первый элемент ИЛИ, второй элемент ИЛИ, третий элемент ИЛИ, четвертый элемент ИЛИ, первый элемент И, второй элемент И, третий элемент И, четвертый элемент И, информационные входы, вход «считывание», информационные выходы функциональной схемы формирования поправки при выполнении логической операции И, первые разряды операндов информационных входов подключены к входам первого элемента ИЛИ, выход которого подключен к первому входу первого элемента И, вторые разряды операндов информационных входов подключены к входам второго элемента ИЛИ, выход которого подключен к первому входу второго элемента И, третьи разряды операндов информационных входов подключены к входам третьего элемента ИЛИ, выход которого подключен к входу третьего элемента И, четвертые разряды операндов информационных входов подключены к входам четвертого элемента ИЛИ, выход которого подключен к первому входу четвертого элемента И, вторые входы с первого по четвертый элементов И подключены к входу «считывание», а выходы являются информационными выходами функциональной схемы формирования поправки при выполнении логической операции И.

8. Отказоустойчивый процессор по п.1, отличающийся тем, что функциональная схема формирования поправки при выполнении логической операции НЕ, содержит первый элемент И, второй элемент И, третий элемент И, четвертый элемент И, вход «считывание», информационные выходы функциональной схемы формирования поправки при выполнении логической операции НЕ, вход «считывание» подключен к первым и вторым входам с первого по четвертый элементов И, выходы которых являются информационными выходами функциональной схемы формирования поправки при выполнении логической операции НЕ.

Описание изобретения к патенту

Устройство относится к вычислительной технике и может быть использовано для обеспечения отказоустойчивости процессора ЭВМ.

Известно самокорректирующееся дискретное устройство [1], содержащие исходную схему, первое кодирующее устройство, схему синдрома ошибки, дешифратор ошибки, корректор, второе, третье и четвертое кодирующие устройства, с первой по четвертую схемы свертки, схему признака ошибки, элемент ИЛИ, входы устройства подключены к исходной схеме и к входам первого кодирующего устройства, к входам второго кодирующего устройства, а выходы исходной схемы подключены к входам третьего и четвертого кодирующих устройств, к первым входам корректора, выходы которого являются выходами устройства, выходы с первого по четвертое кодирующих устройств подключены соответственно к входам с первой по четвертую схем свертки, выходы первой и третьей схем свертки подключены к входам схемы синдрома ошибки, выходы второй и четвертой схем свертки подключены к входам схемы признака ошибки, выходы схемы синдрома ошибки и признака ошибки подключены к входам дешифратора ошибки, первая группа выходов дешифратора ошибки подключена к вторым входам корректора, а вторая группа выходов подключена к входу элемента ИЛИ, с выхода которого снимается сигнал "отказ устройства".

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

Наиболее близким по техническому решению является процессор [2], содержащий управляющий узел, операционный узел, первая группа входов управляющего узла является входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных.

Недостатком устройства является низкая отказоустойчивость процессора, так как не обеспечивается обнаружение и коррекция ошибок при выполнении арифметических и логических операций (преобразователей информации: сумматора, регистров сдвига, устройств выполнения логических операций).

Целью изобретения является повышение отказоустойчивости процессора за счет обнаружения и коррекции возникающих ошибок.

Поставленная цель достигается тем, что процессор, содержащий управляющий узел, операционный узел, первые входы управляющего узла являются входами процессора, вторая группа входов управляющего узла подключена к первым выходам операционного узла, выходы управляющего узла подключены к первым входам операционного узла, вторые входы которого являются входами данных, а вторые выходы являются выходами данных, отличается тем, что он дополнительно содержит дешифратор кода операции, генератор тактовых импульсов, блок управления, первый коммутатор, второй коммутатор, третий коммутатор, счетчик команд, счетчик сдвигов, регистр адреса, регистр числа, регистр сумматора, регистр дополнительный, регистр дополнительного кода, сумматор, блок коррекции, управляющую память, блок контроля, включающий формирователь поправки, который в свою очередь содержит функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции сдвига, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции НЕ, входы устройства обмена подключены к первому входу блока управления и к первым входам второго коммутатора, вторые входы которого подключены к выходам запоминающего устройства, первые выходы второго коммутатора поступают на вход устройства обмена, вторые выходы поступают на вход запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика команд, счетчика сдвигов, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к входам дешифратора кода операции, к вторым входам блока управления, к первому входу первого коммутатора, первый выход которого подключен к первому входу регистра адреса, третий вход блока управления подключен к выходам дешифратора кода операции, четвертый вход подключен к выходам генератора тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти, первый выход блока управления подключен к входу управляющей памяти, выходы которой подключены к первым входам блока коррекции, второй выход блока управления подключен к второму входу первого коммутатора, вторые и третьи входы которого подключены соответственно к выходам регистра адреса и счетчика команд, а с второго выхода снимается адрес ячейки памяти запоминающего устройства, третий выход блока управления подключен соответственно к вторым входам блока коррекции, к вторым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора и к третьей группе входов второго коммутатора и является выходом синхроимпульсов, первый выход блока коррекции подключен к четвертому входу второго коммутатора, а вторые, третьи, четвертые и пятые выходы блока коррекции подключены соответственно к третьим, четвертым, пятым и шестым входам счетчика команд, счетчика сдвигов, регистра адреса, регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода, к первой группе входов третьего коммутатора, к третьей группе входов второго коммутатора и являются выходами управляющих сигналов, сигналов считывания, сигналов записи, сигналов установки устройств в нулевое состояние, выходы регистра числа, регистра сумматора, регистра дополнительного, регистра дополнительного кода подключены к вторым входам третьего коммутатора и к пятым входам второго коммутатора, выход счетчика сдвигов подключен к шестым входам второго коммутатора, первые выходы третьего коммутатора подключены соответственно к входам сумматора и к первым входам блока контроля, выходы сумматора подключены к вторым входам блока контроля, вторые и третьи выходы третьего коммутатора подключены к третьим и четвертым входам блока контроля, выходы которого подключены к седьмым входам второго коммутатора.

На фиг.1 представлена блок-схема устройства; на фиг.2 - функциональная схема блока коррекции; на фиг.3 - функциональная схема блока контроля; на фиг.4 - функциональная схема формирования поправки при выполнении арифметических операций; на фиг.5 - функциональная схема формирования поправки при выполнении операции сдвига; на фиг.6 - функциональная схема формирования поправки при выполнении операции ИЛИ; на фиг.7 - функциональная схема формирования поправки при выполнении операции И; на фиг.8 - функциональная схема формирования поправки при выполнении операции НЕ.

Процессор (фиг.1) содержит управляющий узел 1, операционный узел 2, дешифратор 3 кода операции, генератор 4 тактовых импульсов, блок 5 управления, первый коммутатор 6, второй коммутатор 7, третий коммутатор 8, счетчик 9 команд, счетчик 10 сдвигов, регистр 11 адреса, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 17 коррекции, блок 18 контроля, управляющая память 19, первые входы 20 блока 17 коррекции, вторые входы 21 блока 17 коррекции, первые входы 21 блока 17 коррекции, первые выходы 22 блока 17 коррекции, вторые выходы 23 блока 17 коррекции, первые входы 24I блока 18 контроля, вторые входы 24 блока 18 контроля, третьи входы 25 блока 18 контроля, четвертые входы 26 блока 18 контроля, первые выходы 27 блока 18 контроля, вторые выходы 28 блока 18 контроля, третий выход 29 блока 18 контроля (выход 28 - некорректируемая ошибка, выход 29 - корректируемая ошибка), выходы 30 устройства обмена, выходы 31 запоминающего устройства, вход 30 с устройства обмена, выход 31 запоминающего устройства, выходы 32 на устройство обмена, выходы 33 для формирования адреса запоминающего устройства, выходы 34 для считывания операндов на запоминающее устройство, выходы 35 синхроимпульсов, выходы 36 для сигналов управления, выходы 37 для команды считывания, выходы 38 для сигналов записи, выходы 39 для сигналов установки в нулевое состояние.

Входы 30 устройства обмена подключены к первому входу блока 5 управления и к первым входам второго коммутатора 7, вторые входы 31 которого подключены к выходам запоминающего устройства, первые выходы 32 второго коммутатора 7 поступают на вход устройства обмена, вторые выходы поступают на вход 34 запоминающего устройства, а третьи выходы подключены соответственно к первым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к входам дешифратора 3 кода операции, к вторым входам блока 5 управления, к первым входам первого коммутатора 6, первый выход которого подключен к первому входу регистра 11 адреса, третий вход блока управления подключен к выходам дешифратора 3 кода операции, четвертый вход подключен к выходам генератора 4 тактовых импульсов, а пятый вход подключен к первому выходу управляющей памяти 20, первый выход блока 5 управления подключен к входу управляющей памяти 19, выходы которой подключены к первым входам блока 17 коррекции, второй выход блока 5 управления подключен к второму входу первого коммутатора 6, вторые и третьи входы которого подключены соответственно к выходам регистра 11 адреса и счетчика 9 команд, а с второго выхода 33 снимается адрес ячейки памяти запоминающего устройства, третий выход блока 5 управления подключен соответственно к вторым входам блока 17 коррекции, к вторым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8 и к третьей группе входов второго коммутатора 7 и является выходом 35 синхроимпульсов, первый выход блока 17 коррекции подключен к четвертому входу второго коммутатора 7, а вторые, третьи, четвертые и пятые выходы блока коррекции подключены соответственно к третьим, четвертым, пятым и шестым входам счетчика 9 команд, счетчика 10 сдвигов, регистра 11 адреса, регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода, к первой группе входов третьего коммутатора 8, к третьей группе входов второго коммутатора 7 и являются выходами 36 управляющих сигналов, сигналов 37 считывания, сигналов 38 записи, сигналов 39 установки устройств в нулевое состояние, выходы регистра 12 числа, регистра 13 сумматора, регистра 14 дополнительного, регистра 15 дополнительного кода подключены к вторым входам третьего коммутатора 8 и к пятым входам второго коммутатора 7, выход счетчика 10 сдвигов подключен к шестым входам второго коммутатора 7, первые выходы третьего коммутатора 8 подключены соответственно к входам сумматора 16 и к первым входам блока 18 контроля, выходы сумматора подключены к вторым входам блока 18 контроля, вторые и третьи выходы третьего коммутатора 8 подключены к третьим и четвертым входам блока 18 контроля, выходы которого подключены к седьмым входам второго коммутатора 7.

Блок 17 коррекции (фиг.2) содержит кодирующую схему 40, схему 41 сравнения, первую группу 42 элементов ИЛИ, вторую группу 43 элементов ИЛИ, элемент 44 НЕ, элемент 45 И, формирователь 46 вектора ошибки, корректор 47, дешифратор 48, первую группу 49 элементов И, выходы 20 управляющей памяти 19, вход 21 «считывание» информации, выход 22 "отказ процессора", выходы 23 для сигналов управления функциональными узлами процессора.

Выходы 20 управляющей памяти 19 подключены к первым входам корректора 47 (Фиг.2) и к входам кодирующей схемы 40, выходы которой подключены к первым входам схемы 41 сравнения, вторые входы схемы 41 сравнения подключены к вторым выходам управляющей памяти 19, а выходы подключены к входам дешифратора 48 и к входам первой группы элементов 42 ИЛИ, выходы которой подключены к первому входу элемента 45 И, выходы дешифратора 48 подключены к входам формирователя 46 вектора ошибки и к входам второй группы 43 элементов ИЛИ, выход второй группы 43 элементов ИЛИ через элемент 44 НЕ подключен к второму входу элемента 45 И, выход которого является выходом «отказ процессора», выходы формирователя 46 вектора ошибки подключены к второму входу корректора 47, выходы которого подключены к первым входам первой группы 49 элементов И, второй вход которой подключен к входу «считывание», а выходы являются информационными выходами 23 блока 17 коррекции.

Блок 18 контроля (фиг.3) содержит первую группу 50 элементов неравнозначности, вторую группу 51 элементов неравнозначности, третью группу 52 элементов неравнозначности, первую группу 53 элементов ИЛИ, вторую группу 54 элементов ИЛИ, третью группу 55 элементов ИЛИ, четвертую группу 56 элементов ИЛИ, пятую группу 57 элементов ИЛИ, шестую группу 58 элементов ИЛИ, седьмую группу 59 элементов ИЛИ, восьмую группу 60 элементов ИЛИ, первую группу 61 элементов И, вторую группу 62 элементов И, третью группу 63 элементов И, четвертую группу 64 элементов И, пятую группу 65 элементов И, шестую группу 66 элементов И, седьмую группу 67 элементов И, восьмую группу 68 элементов И, девятую группу 69 элементов И, элемент 70 И, формирователь 71 вектора ошибки, дешифратор 72, формирователь 73 поправки, который содержит функциональную схему формирования поправки при выполнении арифметических операций, функциональную схему формирования поправки при выполнении операции сдвига, функциональную схему формирования поправки при выполнении операции ИЛИ, функциональную схему формирования поправки при выполнении операции И, функциональную схему формирования поправки при выполнении операции НЕ, корректор 74, первую кодирующую схему 75, вторую кодирующую схему 76, элемент 77 НЕ, первые входы 78 формирователя поправки 72, вторые входы 79 формирователя 73 поправки, выходы 80 формирователя 73 поправки (значения поправки при выполнении операций сдвига, И, ИЛИ, НЕ), выходы 81 формирователя поправки 73 (значения поправки при выполнении арифметических операций).

Первые входы 24 I блока 18 контроля подключены к первым входам третьей группы 55 элементов ИЛИ и к первым входам первой группы 61 элементов И, выходы которой подключены к первым входам первой группы 53 элементов ИЛИ, вторые входы 24 подключены к первым входам третьей группы 63 элементов И и к первым входам второй группы 62 элементов И, выходы которой подключены к вторым входам третьей группы 55 элементов ИЛИ и вторым входам первой группы 53 элементов ИЛИ, третьи входы 25 подключены к первым входам четвертой 64 и пятой 65 групп элементов И, четвертый вход 26 подключен к второму входу второй группы 62 элементов И, к второму входу первой группы 61 элементов И, к первому входу восьмой группы 68 элементов И, к вторым входам третьей 63, четвертой 64 и пятой 65 групп элементов И, к первому входу формирователя 73 поправки, к первым входам шестой 66, седьмой 67, девятой 69 групп элементов И и к первому входу формирователя 71 вектора ошибки, выходы третьей группы 55 элементов ИЛИ подключены к первым входам корректора 74, выходы которого подключены к вторым входам восьмой группы 68 элементов И, выходы первой группы 53 элементов ИЛИ подключены к входам второй кодирующей схемы 76, выходы которой подключены к вторым входа корректора 74 и к первым входам третьей группы 52 элементов неравнозначности, выходы третьей группы 63 элементов И подключены к вторым входам формирователя 73 поправки, первые выходы которого подключены к входам второй группы 54 элементов ИЛИ, выходы четвертой группы 64 элементов И подключены к первым входам четвертой группы 56 элементов ИЛИ, выходы которой подключены к первым входам второй группы 51 элементов неравнозначности, выходы пятой группы 65 элементов И подключены к входам первой группы 50 элементов неравнозначности, выходы которой подключены к вторым входам девятой группы 69 элементов И и к вторым входам шестой группы 66 элементов И, выходы которой подключены к первым входам пятой группы 57 элементов ИЛИ, выходы девятой группы 69 элементов И подключены к вторым входам четвертой группы 56 элементов ИЛИ, выходы второй группы 54 элементов ИЛИ подключены к входам первой кодирующей схемы 75, выходы которой подключены к вторым входам седьмой группы 67 элементов И, выходы седьмой группы 67 элементов И подключены к первым входам восьмой группы 60 элементов ИЛИ, вторые выходы формирователя 73 поправки подключены к вторым входам восьмой группы 60 элементов ИЛИ, выходы которой подключены к вторым входам второй группы 51 элементов неравнозначности, выходы которой, в свою очередь, подключены к вторым входам пятой группы 57 элементов ИЛИ, выходы пятой группы 57 элементов ИЛИ подключены к вторым входам третьей группы 52 элементов неравнозначности, выходы которой подключены к входам дешифратора 72 и к входам шестой группы 58 элементов ИЛИ, выход которой подключен к первому входу элемента 70 И, выход дешифратора 72 подключен к входу формирователя 71 вектора ошибки и к входам седьмой группы 59 элементов ИЛИ, выход которой через элемент 77 НЕ подключен к второму входу элемента 70 И и является выходом «корректируемая ошибка», выходы формирователя 71 вектора ошибки подключены к третьим входам корректора 74, выходы восьмой группы 68 элементов И являются информационными выходами 27 блока контроля 18, выход 28 элемента И является выходом «отказ процессора».

Функциональная схема формирования поправки при выполнении арифметических операций (фиг.4) содержит первый элемент 82 И, второй элемент 83 И, третий элемент 84 И, четвертый элемент 85 И, пятый элемент 86 И, шестой элемент 87 И, седьмой элемент 88 И, восьмой элемент 89 И, блок элементов 90 И, первый элемент 91 ИЛИ, второй элемент 92 ИЛИ, третий элемент 93 ИЛИ, четвертый элемент 94 ИЛИ, пятый элемент 95 ИЛИ, шестой элемент 96 ИЛИ, седьмой элемент 97 ИЛИ, восьмой элемент 98 ИЛИ, блок регистров 99, группу элементов 100 неравнозначности, информационные входы 79, вход 78 «считывание», информационные выходы 81.

Вход переноса из младшего полубайта подключен к первым входам пятого элемента 86 И и блока 99 регистров, входы младших информационных разрядов подключены к входам первого элемента 82 И и первого элемента 91 ИЛИ, выход которого подключен к второму входу пятого элемента 86 И, выход первого элемента 82 И подключен к первому входу пятого элемента 95 ИЛИ, второй вход которого подключен к выходу пятого элемента 86 И, а выход подключен к первому входу шестого элемента 87 И и к второму входу блока 99 регистров, входы вторых информационных разрядов подключены к входам второго элемента 83 И и к входам второго элемента 92 ИЛИ, выход которого подключен к второму входу шестого элемента 87 И, выход шестого элемента 87 И подключен к первому входу шестого элемента 96 ИЛИ, второй вход которого подключен к выходу второго элемента 83 И, третьи информационные входы подключены к входам третьего элемента 84 И и к входам третьего элемента 93 ИЛИ, выход которого подключен к первому входу седьмого элемента 88 И, выход шестого элемента 96 ИЛИ подключен к третьему входу блока 99 регистров и к второму входу седьмого элемента 88 И, выход которого подключен к первому входу седьмого элемента 97 ИЛИ, выход третьего элемента 84 И подключен к второму входу седьмого элемента 97 ИЛИ, выход которого подключен к четвертому входу блока 99 регистров и к первому входу восьмого элемента 89 И, четвертые разряды информационных входов подключены к входам четвертого элемента 85 И и к входам четвертого элемента 94 ИЛИ, выход которого подключен к второму входу восьмого элемента 89 И, выход восьмого элемента 89 И подключен к первому входу восьмого элемента 98 ИЛИ, второй вход которого подключен к выходу четвертого элемента 85 И, а выход является выходом переноса в старший полубайт информации, выходы блока 99 регистров подключены к входам группы 100 элементов неравнозначности, выходы которой подключены к первым входам блока 90 элементов И, второй вход блока 90 элемента И подключен к входу 78 «считывание», а выходы являются выходами 81 функциональной схемы формирования поправки при выполнении арифметических операций.

Функциональная схема формирования поправки при выполнении операции сдвига (фиг.5) содержит первый элемент 101 неравнозначности, второй элемент 102 неравнозначности, третий элемент 103 неравнозначности, четвертый элемент 104 неравнозначности, пятый элемент 105 неравнозначности, первый элемент 106 И, второй элемент 107 И, третий элемент 108 И, четвертый элемент 109 И, пятый элемент 110 И, шестой элемент 111 И, седьмой элемент 112 И, восьмой элемент 113 И, девятый элемент 114 И, десятый элемент 115 И, одиннадцатый элемент 116 И, двенадцатый элемент 117 И, первый элемент 118 ИЛИ, второй элемент 119 ИЛИ, третий элемент 120 ИЛИ, четвертый элемент 121 ИЛИ, информационные входы 79, вход 781 «сдвиг вправо», вход 782 «сдвиг влево», вход 783 «считывание», выходы 80 схемы формирования поправки при выполнении операции сдвига.

Четвертый информационный разряд подключен к первым входам первого 101 и второго 102 элементов неравнозначности, информационный разряд младшего разряда старшего полубайта информации подключен к второму входу первого элемента 101 неравнозначности, выход которого подключен к первому входу первого элемента 106 И, третий информационный разряд подключен к первому входу третьего элемента 103 неравнозначности и к второму входу второго элемента 102 неравнозначности, выход которого подключен к первым входам второго 107 и пятого 110 элементов И, вход второго информационного разряда подключен к первому входу четвертого элемента 104 неравнозначности и к второму входу третьего элемента 103 неравнозначности, выход которого подключен к первым входам третьего 108 и шестого 111 элементов И, вход первого информационного разряда подключен к первому входу пятого элемента 105 неравнозначности и к второму входу четвертого элемента 104 неравнозначности, выход которого подключен к первым входам четвертого 109 и седьмого 112 элементов И, второй вход пятого элемента 105 неравнозначности подключен к выходу старшего разряда младшего полубайта информации, а выход подключен к первому входу восьмого элемента 113 И, вторые входы с первого 106 по четвертый 109 элементов И подключены к входу 781 «сдвиг вправо», вторые входы с пятого 110 по восьмой 113 элементов И подключены к входу 78 2 «сдвиг влево», выходы с первого 106 по четвертый 109 элементов И подключены соответственно к первым входам с первого 118 по четвертый 121 элементов ИЛИ, вторые входы которых подключены соответственно к выходам с пятого 110 по восьмой 113 элементов И, выходы с первого 118 по четвертый 121 элементов ИЛИ подключены соответственно к первым входам с девятого 114 по двенадцатый 117 элементов И, вторые входы которых подключены к входу 78 3 «считывание», а выходы являются выходами 80 функциональной схемы формирования поправки при выполнении операции сдвига.

Функциональная схема формирования поправки при выполнении логической операции ИЛИ (фиг.6) содержит первый элемент 122 И, второй элемент 123 И, третий элемент 124 И, четвертый элемент 125 И, пятый элемент 126 И, шестой элемент 127 И, седьмой элемент 128 И, восьмой элемент 129 И, информационные входы 79, вход 78 «считывание», информационные выходы 80 функциональной схемы формирования поправки при выполнении логической операции ИЛИ.

Первые разряды операндов информационных входов подключены к входам первого элемента 122 И, выход которого подключен к первому входу пятого элемента 126 И, вторые разряды операндов информационных входов подключены к входам второго элемента 123 И, выход которого подключен к входу шестого элемента 127 И, третьи разряды операндов информационных входов подключены к входам третьего элемента 124 И, выход которого подключен к первому входу седьмого элемента 128 И, четвертые разряды операндов информационных входов подключены к входам четвертого элемента 125 И, выход которого подключен к первому входу восьмого элемента 129 И, вход 78 «считывание» подключен к вторым входам с пятого 126 по восьмой 129 элементов И, выходы которых являются выходами 80 функциональной схемы формирования поправки при выполнении логической операции ИЛИ.

Функциональная схема формирования поправки при выполнении логической операции И (фиг.7) содержит первый элемент 130 ИЛИ, второй элемент 131 ИЛИ, третий элемент 132 ИЛИ, четвертый элемент 133 ИЛИ, первый элемент 134 И, второй элемент 135 И, третий элемент 136 И, четвертый элемент 137 И, информационные входы 79, вход 78 «считывание», информационные выходы 80 функциональной схемы формирования поправки при выполнении логической операции И.

Первые разряды операндов информационных входов подключены к входам первого элемента 130 ИЛИ, выход которого подключен к первому входу первого элемента 134 И, вторые разряды операндов информационных входов подключены к входам второго элемента 131 ИЛИ, выход которого подключен к первому входу второго элемента 135 И, третьи разряды операндов информационных входов подключены к входам третьего элемента 132 ИЛИ, выход которого подключен к входу третьего элемента 136 И, четвертые разряды операндов информационных входов подключены к входам четвертого элемента 133 ИЛИ, выход которого подключен к первому входу четвертого элемента 137 И, вторые входы с первого 134 по четвертый элементов 137 И подключены к входу «считывание», а выходы являются информационными выходами 80 функциональной схемы формирования поправки при выполнении логической операции И.

Функциональная схема формирования поправки при выполнении логической операции НЕ (фиг.8) содержит первый элемент 138 И, второй элемент 139 И, третий элемент 140 И, четвертый элемент 141 И, вход 78 «считывание», информационные выходы 80 функциональной схемы формирования поправки при выполнении логической операции НЕ.

Вход 78 «считывание» подключен к первым и вторым входам с первого 138 по четвертый 141 элементов И, выходы которых являются информационными выходами 80 функциональной схемы формирования поправки при выполнении логической операции НЕ.

Процессор включает в себя два основных устройства: управляющий узел 1 и операционный узел 2.

Управляющий узел 1 координирует действия узлов операционного узла 2 между собой и с другими устройствами ЭВМ, а также выполняет набор операций, включающих команды обращения к памяти. Он вырабатывает в определенной временной последовательности управляющие сигналы, под действием которых в узлах операционного узла 2 выполняются требуемые действия.

Каждое такое элементарное действие, выполняемое в операционном узле 2 в течение одного тактового периода, называется микрооперацией.

В определенные тактовые периоды одновременно могут выполняться несколько микроопераций. Такая совокупность одновременно выполняемых микроопераций называется микрокомандой, а весь набор микрокоманд, предназначенных для решения определенной задачи, называется микропрограммой.

Общий временной интервал, в течение которого происходит выборка, хранение и преобразование одной команды в набор управляющих сигналов, называется циклом работы управляющего узла 1.

Таким образом, управляющий узел 1 осуществляет преобразование команды в соответствующий набор управляющих сигналов и обеспечивает:

чтение команды, находящейся в очередной ячейке памяти;

расшифровку кода операции (команды);

отыскание операндов (чисел) по указанному адресу, содержащемуся в команде;

обеспечить выдачу управляющих сигналов в операционный узел для выполнения над ними действий, указанных в коде операции команды.

В данном случае используется микропрограммный управляющий узел 1, в котором микрокоманды хранятся в управляющей памяти 19.

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

Дешифратор 3 кода операций по выбранной из оперативной памяти команде определяет номер требуемой микропрограммы в управляющей памяти 19.

Генератор 4 тактовых импульсов предназначен для формирования тактовых и синхронизирующих импульсов.

Счетчик 9 команд предназначен для формирования адреса ячейки памяти очередной команды путем естественной выборки, т.е. прибавлением к его содержимому единицы.

Регистр 11 адреса предназначен для формирования адреса ячейки памяти при командах условного или безусловного перехода с возвратом.

Блок 5 управления предназначен для определения адреса очередной микрокоманды в управляющей памяти 20, формирования адреса очередной команды (управления работой первого коммутатора 6), координации работы (выдачи синхроимпульсов) устройств процессора 1.

Управляющая память 19 представляет собой постоянное запоминающее устройство и предназначена для выдачи (в зависимости от кода операции) управляющих сигналов (сигналов управления, сигналов считывания, сигналов записи, сигналов установки в нулевое состояние) на функциональные узлы процессора. При этом слово памяти содержит информационные разряды (для управляющих сигналов) и контрольные разряды, сформированные на основе предлагаемого метода кодирования.

В этом случае для формирования значений контрольных разрядов управляющей памяти 19 информационные разряды представляются в виде двухстрочной информационной матрицы: отказоустойчивый процессор, патент № 2417409

отказоустойчивый процессор, патент № 2417409 ,

при этом:

1) для каждой строки информационной матрицы организуется проверка на четность;

2) проводятся правые и левые диагональные проверки. Число диагональных проверок (число контрольных разрядов диагональных проверок) определяется по формуле (разряды на четность не передаются):

отказоустойчивый процессор, патент № 2417409 .

Блок 17 коррекции (фиг.2) предназначен для обнаружения и исправления ошибок, возникающих при считывании информации с управляющей памяти 19. В этом случае при считывании микрокоманды кодирующей схемой 40 проводится формирование (аналогичным образом) вектора контрольных разрядов отказоустойчивый процессор, патент № 2417409 принятого кодового набора.

Таким образом, в период считывания информации на входах схемы 41 сравнения имеем соответственно векторы контрольных разрядов

отказоустойчивый процессор, патент № 2417409 ,

отказоустойчивый процессор, патент № 2417409 .

Схема 41 сравнения представляет собой схему поразрядного сравнения и предназначена для формирования значений синдрома ошибки на основе передаваемой и полученной информации.

Результат сложения по mod 2 значений сигналов переданных и сформированных контрольных разрядов даст синдром ошибки.

В зависимости от значения синдрома ошибки (значения сигнала на выходе дешифратора 48) формирователь вектора ошибки 46 формирует вектор ошибки: Е=е1е 2е3отказоустойчивый процессор, патент № 2417409 ek+4, имеющий единичные значения сигналов в разрядах кодового набора, которые имеют ошибку.

Если кодовый набор не содержит ошибки, то синдром равен нулю.

Если кодовый набор содержит некорректируемую ошибку, то на выходе элемента 42 ИЛИ появится единичное значение сигнала, а на выходе элемента 43 ИЛИ будет присутствовать нулевое значение. В этом случае на выходе 22 появится сигнал «отказ процессора».

Если кодовый набор содержит корректируемую ошибку, то на выходе элементов 42 и 43 ИЛИ одновременно появятся единичные значения сигналов. В этом случае сигнал на выходе 22 имеет нулевое значение, формирователь 46 вектора ошибки формирует вектор ошибки для исправлений ошибки информационных разрядов кодового набора.

Корректор 47 включает k элементов неравнозначности и предназначен для исправления ошибок, возникающих в информационных разрядах управляющей памяти 19. При исправлении ошибок реализуется функция по mod2 относительно информационных разрядов управляющей памяти 19.

Операционный узел 2 предназначен для выполнения арифметических и логических операций и включает в свой состав (фиг.1) счетчик 10 сдвигов, регистр 12 числа, регистр 13 сумматора, регистр 14 дополнительный, регистр 15 дополнительного кода, сумматор 16, блок 18 контроля.

Счетчик 10 сдвигов предназначен для подсчета количества сдвигов при выполнении операций умножения и деления, количества сдвигов промежуточных результатов и нормализации.

Регистр 11 адреса представляет собой регистр памяти и предназначен для хранения адреса очередной команды.

Регистр 12 числа представляет собой регистр памяти и предназначен для хранения операндов при выполнении арифметических и логических операций (хранения множимого, при выполнении операции умножения и делителя при выполнении операции деления).

Регистр 13 сумматора (аккумулятора) представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления) и предназначен для хранения делимого старших разрядов результата умножения.

Заметим, что при выполнении операции деления блоком 5 управления анализируется значение знакового разряда регистра 12 числа и регистра 13 сумматора дополнительного.

Регистр 14 дополнительный представляет собой регистр сдвига (вправо - при выполнении операции умножения и влево - при выполнении операции деления) и предназначен для хранения множителя и младших разрядов результата умножения при выполнении операции умножения и результата деления при выполнении операции деления).

Заметим, что при выполнении операции умножения блоком 5 управления анализируется значение младшего разряда регистра 14 дополнительного.

Регистр 15 дополнительного кода представляет собой регистр памяти и предназначен для хранения отрицательного числа в дополнительном коде (при выполнении операции вычитания и операции деления).

Сумматор 16 представляет собой параллельный n-разрядный сумматор и предназначен для выполнения операции сложения чисел.

Блок 18 контроля (фиг.3) предназначен для обнаружения и коррекции ошибок, возникающих при выполнении арифметических и логических операций.

Так, при выполнении операции арифметических операций результат суммы с выхода 24I сумматора 16 через открытую первую группу 61 элементов И, первую группу 53 элементов ИЛИ поступает на вход второй кодирующей схемы 76, в котором формируются значения контрольных разрядов относительно принятой информации.

Одновременно значения контрольных разрядов слагаемых с выходов 25 третьего коммутатора 8 через открытую пятую группу 65 элементов И поступают на входы первой группы 50 элементов неравнозначности, где производится суммирование одноименных контрольных разрядов по mod2. В то же время значения информационных разрядов слагаемых поступают на вход 79 формирователя 73 поправки.

В данном случае значения информационных разрядов поступают на вход схемы формирования поправки при выполнении арифметических операций (фиг.4). При помощи элементов 82-89 И, элементов 91-98 ИЛИ формируются значения сигналов переноса C i в соответствии с положениями, рассмотренными в приложении.

Так, например, при сложении числа А=001001011010 и числа В=011000111001 (значения контрольных разрядов выделены жирным шрифтом) на выходе первого элемента 50 неравнозначности получим значение 01100011. Открывается элемент 83 И схемы формирования поправки при выполнении арифметических операций (Фиг.4), что приводит к формированию сигнала переноса С2, а наличие единичного сигнала в третьем разряде одного из слагаемых и сигнала С2 приводит к открытию элемента 88 И, что в свою очередь приводит к появлению сигнала С3. В блоке регистров 99 памяти записаны значения поправок.

Сигналу переноса С2 соответствует значение поправки 01100011, а сигналу переноса С3 значение поправки равно 10100101.

В этом случае сложение по mod2 поправок, считываемых с блока регистров 99 на блоке элементов неравнозначности 100, даст значение поправки: 11000110. В результате сложения на второй группе 51 элементов неравнозначности значений контрольных разрядов 01100011, поступающих с выхода первой группы 50 элементов неравнозначности с значением поправки 11000110, поступающей с выхода 81 формирователя 73 поправки через восьмую группу элементов ИЛИ, получим окончательное значение контрольных разрядов для рассматриваемой суммы информационных разрядов, т.е. при сложении чисел А=001001011010 и В=011000111001 получим: 100010100101 (жирным шрифтом представлены сформированные значения контрольных разрядов для полученного результата суммы информационных разрядов).

Если значения контрольных разрядов, поступающие с выходов второй кодирующей схемы 76 на вход третьей группы 52 элементов неравнозначности, совпадают со значениями контрольных разрядов, поступающих с выходов второй группы 51 элементов неравнозначности, то на выходе третьей группы 52 элементов неравнозначности имеем нулевые значения, т.е. операция суммирования проведена правильно, если не совпадают - произошла ошибка. Таким образом на выходе третьей группы 52 элементов неравнозначности имеем значение синдрома ошибки.

Значения синдрома ошибки поступают на входы дешифратора 72.

В зависимости от значения синдрома ошибки (значения сигнала на выходе дешифратора 72) формирователь вектора ошибки 71 формирует вектор ошибки: Е=е1е2е3отказоустойчивый процессор, патент № 2417409 ek+4, имеющий единичные значения сигналов в разрядах кодового набора, которые имеют ошибку.

Если кодовый набор не содержит ошибки, то синдром равен нулю.

Если кодовый набор содержит некорректируемую ошибку, то на выходе шестого элемента 58 ИЛИ появится единичное значение сигнала, а на выходе седьмого элемента 59 ИЛИ будет присутствовать нулевое значении. В этом случае на выходе 28 элемента 70 И появится сигнал «отказ процессора».

Если кодовый набор содержит корректируемую ошибку, то на выходе групп элементов 58 и 59 ИЛИ одновременно появятся единичные значения сигналов. В этом случае сигнал на выходе 28 имеет нулевое значение, формирователь 71 вектора ошибки формирует вектор ошибки для исправления ошибки разрядов кодового набора. На выходе 29 седьмого элемента 59 появится сигнал «корректируемая ошибка».

Если информация содержит большее количество информационных разрядов, то учитывается перенос из младшего полубайта информации - C O и CO+i - перенос в старший полубайт информации.

Корректор 74 включает элементы неравнозначности и предназначен для исправления ошибок, возникающих в разрядах кодового набора.

При исправлении ошибок реализуется функция по mod2 относительно разрядов кодового набора и значений сигналов вектора ошибки.

При контроле операций сдвига формирователь 73 поправки реализует логику работы функциональной схемы формирования поправки при выполнении операции сдвига (фиг.5).

Допустим необходимо выполнить операцию сдвига вправо содержимое 1101 (результаты частных произведений) регистра 13 сумматора, для которого имеем следующие значения контрольных разрядов 11110000.

После выполнения операции сдвига вправо получим кодовый набор, содержащий значения информационных разрядов 0110, которые с выходов 24 третьего коммутатора 8, через вторую группу элементов 62 И, третью группу 55 элементов ИЛИ поступают на вход корректора 74, а через первую группу 53 элементов ИЛИ на вход второй кодирующей схемы 76, на выходе которой получим значение контрольных разрядов: 00111001.

Одновременно схемой формирования поправки при выполнении операции сдвига (фиг.5) по исходным значениям информационных разрядов формируются разряды матрицы поправок в соответствии с выражениями, представленными в приложении:

отказоустойчивый процессор, патент № 2417409 (где отказоустойчивый процессор, патент № 2417409 - значение младшего разряда старшего полубайта информации. В данном случае рассмотрим вариант без переноса, т.е. берется 0, так как в старший разряд регистра сумматора нет переноса) r3=y4отказоустойчивый процессор, патент № 2417409 y3; r2=y3отказоустойчивый процессор, патент № 2417409 y2; r1=y2отказоустойчивый процессор, патент № 2417409 y1.

При этом на выходах элементов 101-104 получим соответственно значения сигналов: 1011, которые по сигналу на входе 781 «сдвиг вправо» через открытые элементы 106-109 И, элементы 118-121 ИЛИ и при поступлении разрешающего сигнала «считывание» поступают на выходы формирователя 73 поправки и далее на входы первой кодирующей схемы 75.

По значению разрядов 1011 матрицы поправки первой кодирующей схемой 75 определяются разряды четности и организуются диагональные проверки. В результате получим значение поправки 11001001, которое поступает на первые входы второй группы 51 элементов неравнозначности.

В это же время исходные значения контрольных разрядов 11110000 через четвертый элемент 64 И, четвертый элемент 56 ИЛИ поступают на вторые входы второй группы 51 элементов неравнозначности. Сложение по mod2 поступающей на входы второй группы 51 элементов неравнозначности даст результат: 00111001, который при отсутствии ошибки равен значению информации, поступающей с выходов второй кодирующей схемы 76.

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

Если операция сдвига вправо проводится для регистра 14 дополнительного, то учитывается перенос значения младшего разряда регистра 13 сумматора в старший разряд регистра 14 дополнительного, т.е. функциональная схема (фиг.5) формирования поправки при выполнении операции сдвига реализует функцию:

отказоустойчивый процессор, патент № 2417409 ; r3=y4отказоустойчивый процессор, патент № 2417409 y3; r2=y3отказоустойчивый процессор, патент № 2417409 y2; r1=y2отказоустойчивый процессор, патент № 2417409 y1.

При выполнении операции сдвига влево (при выполнении операции деления) функциональная схема формирования поправки при выполнении операции сдвига реализует функцию: r4=y4отказоустойчивый процессор, патент № 2417409 y3; r3=y3отказоустойчивый процессор, патент № 2417409 y2; r2=y2отказоустойчивый процессор, патент № 2417409 y1; отказоустойчивый процессор, патент № 2417409 .

В этом случае подаются управляющие сигналы на входы 782, 783, далее схема работает аналогичным образом.

При выполнении логической операции ИЛИ формирователь поправки работает следующим образом. Значения контрольных разрядов операндов суммируются по mod2 в первой группе 50 элементов неравнозначности, после чего результат поступает на первые входы второй группы 51 элементов неравнозначности, на вторые входы которого поступает значение поправки. При этом функциональная схема формирования поправки при выполнении логической операции ИЛИ (фиг.6), для формирования информационной матрицы поправки, реализует логическую функцию И относительно одноименных разрядов операндов.

Так, например, для чисел А=010101010101 и В=001101101100 после выполнения выполнении операции ИЛИ для информационных разрядов и сложения по mod2 контрольных разрядов рассматриваемых слагаемых получим кодовый набор 011100111001, у которого значения контрольных разрядов отличаются от правильного набора контрольных разрядов 00001111 для полученного значения информационных разрядов 0111.

В этом случае логические операции И, выполненные относительно информационных разрядов рассматриваемых операндов на элементах 122, 123, 124, 125 И (фиг.6) дадут результат: 0001 (операция И выполняется для младших разрядов операндов).

Тогда матрица поправок операции ИЛИ, формируемая первой кодирующей схемой 75, имеет вид:

отказоустойчивый процессор, патент № 2417409

правые и левые диагональные проверки данной матрицы дадут результат поправки: 00110110.

Сложение результата 00111001, полученного на выходе первой группы 50 элементов неравнозначности со значением поправки 00110110, дадут правильное значение контрольных разрядов для полученного значения информационных разрядов 0111:

отказоустойчивый процессор, патент № 2417409

Если произошла ошибка, то ее обнаружение и коррекция осуществляются, как и для операций, описанных выше.

При выполнении логической операции И формирователь поправки работает следующим образом. Значения контрольных разрядов операндов суммируются по модулю в первой группе 50 элементов неравнозначности, после чего результат поступает на первые входы второй группы 51 элементов неравнозначности, на вторые входы которых поступает значение поправки. При этом функциональная схема формирования поправки при выполнении логической операции И (фиг.7), для формирования информационной матрицы поправки, реализует логическую функцию ИЛИ относительно одноименных разрядов операндов на группе логических элементов 130, 131, 132, 133 ИЛИ. Далее формирование поправки, обнаружение и коррекция возникающих ошибок проводится аналогичным способом.

При контроле логической операции НЕ формирование поправки осуществляется функциональной схемой формирования поправки при выполнении логической операции НЕ (фиг.8), которая формирует единичные значения информационных разрядов матрицы поправок на основе использования элементов 138, 139, 140, 141 И.

Далее формирование контрольных разрядов проводится аналогично формированию контрольных разрядов при выполнении операций И и ИЛИ.

При контроле выполнения операции сложения по mod2 не требуется формирования поправки к результату суммирования по mod2 значений контрольных разрядов операндов. В этом случае результат суммирования с выходов первой группы элементов 50 неравнозначности через шестую группу 66 элементов И, пятую группу 57 элементов ИЛИ поступает на ходы третьей группы 52 элементов неравнозначности, где сравнивается со значениями контрольных разрядов, сформированных на выходах второй кодирующей схемы 76. Далее устройство работает аналогичным образом.

Работа процессора начинается с приходом сигнала "Пуск" по входной группе 30 входов устройства обмена процессора с периферийными блоками. По этой команде блок 5 выдает команду на считывание с управляющей памяти 19 содержимого первой ячейки памяти.

В первой ячейке памяти расположена команда "Сброс системы", которая устанавливает в исходное состояние регистры и блоки процессора. В счетчик 9 команд записывается "1", устройство управления 1 выдает микрокоманды в следующей последовательности:

1) На первом такте сигналы микрокоманды и значения контрольных разрядов поступают на выход блока 17 коррекции, где проводится обнаружение и коррекция возникающих ошибок в соответствии с функциональной схемой, представленной на фиг.2.

В этом случае при считывании микрокоманды кодирующей схемой 40 проводится формирование вектора контрольных разрядов отказоустойчивый процессор, патент № 2417409 принятого кодового набора.

Таким образом, в период считывания информации на входах схемы 41 сравнения имеем соответственно векторы контрольных разрядов

отказоустойчивый процессор, патент № 2417409 ,

отказоустойчивый процессор, патент № 2417409 .

Схема 41 сравнения формирует значения синдрома ошибки на основе передаваемой и полученной информации.

Результат сложения по mod 2 значений сигналов переданных и сформированных контрольных разрядов даст синдром ошибки.

В случае возникновения ошибок на одном из выходов дешифратора 48 формируется единичный сигнал, по которому формирователь 46 вектора ошибки формирует вектор ошибки. Е=е1е 2е3отказоустойчивый процессор, патент № 2417409 ek+4.

В этом случае корректор 47 осуществляет исправление ошибок, возникающих в информационных разрядах управляющей памяти 19. При исправлении ошибок реализуется функция по mod2 относительно сигналов вектора ошибки и информационных разрядов управляющей памяти 19.

Если ошибок нет или возникла корректируемая ошибка, набор микрокоманд поступает на вход считывания счетчика 9 команд и на вход записи регистра И адреса, при этом содержимое счетчика 9 команд пересылается в регистр 11 адреса (или через первый коммутатор 6 на адресные входы запоминающего устройства при естественной выборке команд непосредственно со счетчика 9 команд).

2) На втором такте к содержимому счетчика 9 команд прибавляется единица - подготавливается адрес следующей команды.

3) На третьем такте сигналы микрокоманды поступают на вход считывания регистра 11 адреса и на вход считывания содержимого ячейки памяти запоминающего устройства по указанному адресу. При этом команда, хранящаяся в первой ячейке памяти, записывается в регистр 12 числа.

4) На четвертом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, вход второго коммутатора 7 и на вход дешифратора 3 кода операции, где раскодируются, после чего управляющий узел 1 переходит ко второму этапу работы.

Для примера рассмотрим порядок исполнения одной из команд, записанной в регистре 12 числа после выполнения первых четырех тактов.

Пусть в поле кода операции команды содержимого регистра 12 числа записана команда сложения содержимого регистра 13 сумматора с числом, расположенным в запоминающем устройстве по адресу, указанному в поле адреса регистра 12 числа (при использовании одноадресной команды).

Управляющий узел 1 при этом выдает следующие микрокоманды:

5) На пятом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа, на вход второго коммутатора 7, первого коммутатора 6 и на вход записи регистра 11 адреса (адрес, хранящийся в регистре 12 числа, записывается в регистр 11 адреса, содержимое регистра 12 числа обнуляется).

6) На шестом такте сигналы микрокоманды подаются на вход считывания регистра 11 адреса, на вход первого коммутатора 6, на вход считывания запоминающего устройства и на вход записи регистра 12 числа (из запоминающего устройства в регистр 12 числа записывается второе слагаемое (считаем, что первое слагаемое уже находится в регистре 13 сумматора).

7) На седьмом такте сигналы микрокоманды подаются на вход считывания регистра 12 числа и регистра 13 сумматора, при этом арифметико-логическое устройство осуществляет операцию сложения и запись результата сложения в регистр 13 сумматора следующим образом.

Результат суммы с выхода сумматора 16 поступает на блок 18 контроля (фиг.3), в котором через открытую первую группу 61 элементов И, первую группу 53 элементов ИЛИ поступает на вход второй кодирующей схемы 76, в котором формируются значения контрольных разрядов относительно принятой информации.

Одновременно значения контрольных разрядов слагаемых с выходов 25 третьего коммутатора 8 поступают на входы открытой пятой группы 65 элементов И и с ее выходов на входы первой группы 50 элементов неравнозначности, где производится суммирование одноименных контрольных разрядов по mod2. В то же время значения информационных разрядов слагаемых через открытую третью группу 63 элементов И поступают на вход 79 формирователя 73 поправки.

В данном случае значения информационных разрядов поступают на вход схемы формирования поправки при выполнении арифметических операций (фиг.4). При помощи групп 82-89 элементов И, групп 91-98 элементов ИЛИ, блока 99 регистров, элементов 100 неравнозначности формируются значения сигналов переноса C i в соответствии с положениями, рассмотренными в приложении. Так, например, при сложении числа А=0010 и числа В=0110 открывается элемент 83 И, что приводит к формированию сигнала переноса С 2, а наличие единичного сигнала в третьем разряде одного из слагаемых и сигнала С2 приводит к открытию элемента 84 И, что в свою очередь приводит к появлению сигнала С3 . В блоке 99 регистров памяти записаны значения разрядов информационных матриц поправок. Сложение по mod2 одноименных разрядов поправок на элементах 100 неравнозначности даст требуемую поправку.

При поступлении разрешающего сигнала на вход 78 открывается элемент 90 И и полученная информация поступает на выходы 81 формирователя 73 поправок (фиг.3).

В результате на выходе 81 получим значение поправки: 11000110, которая поступает на первые входы второй группы 51 элементов неравнозначности.

Для рассматриваемого примера суммирование по mod2 значений сигналов контрольных разрядов первой группой 50 элементов неравнозначности даст результат:

отказоустойчивый процессор, патент № 2417409

который поступает на вторые входы второй группы 51 элементов неравнозначности. В результате на выходе второй группы 51 элементов неравнозначности получим скорректированное значение контрольных разрядов для полученного результата суммы:

отказоустойчивый процессор, патент № 2417409

которое при правильном суммировании чисел А и В:

отказоустойчивый процессор, патент № 2417409

соответствует правильному значению контрольных разрядов, поступающему с выходов второй кодирующей схемы 76 (10100101) на первые входы третьей группы 52 элементов неравнозначности, на вторые входы которой чрез пятый элемент 57 ИЛИ поступают скорректированные значения контрольных разрядов 10100101.

Если значения контрольных разрядов совпадают, то на выходе третьей группы 52 элементов неравнозначности имеем нулевые значения, т.е. операция суммирования проведена правильно, если не совпадают - произошла ошибка.

Значения сигналов с выходов третьей группы 52 элементов неравнозначности поступают на входы дешифратора 72.

Если произошла некорректируемая ошибка, то на выходах шестого элемента 58 ИЛИ появится единичное значение сигнала, а на выходе седьмого элемента 59 ИЛИ будет присутствовать нулевое значение сигнала. В этом случае на выходе элемента 70 И (выход 28) появится сигнал «отказ процессора».

Если произошла корректируемая ошибка, то единичное значение сигнала появится на выходе седьмого элемента 59 ИЛИ (выход 29 «корректируемая ошибка») и на входе формирователя 71 вектора ошибки, который формирует соответствующее значение вектора ошибки.

Корректор 74 включает k элементов неравнозначности и предназначен для исправления ошибок, возникающих в информационных разрядах.

При исправлении ошибок реализуется функция по mod2 относительно разрядов кодового набора и разрядов вектора ошибки.

Аналогичным образом процессор функционирует при выполнении логических операций. В этом случае при выполнении логических операций «сдвиг» и «НЕ» исходные значения контрольных разрядов с входа 25 через открытую четвертую группу 64 элементов И, четвертую группу 56 элементов ИЛИ поступают на первые входы второй группы 51 элементов неравнозначности. Значение поправки контрольных разрядов с выходов первой кодирующей схемы 75 через открытую седьмую группу 67 элементов И, восьмую группу 60 элементов ИЛИ поступает на вторые входы второй группы 51 элементов неравнозначности, где формируется значение контрольных разрядов для данной операции.

При выполнении логических операций «И», «ИЛИ» и «mod2» значения контрольных разрядов со входа 25 через открытую пятую группу 65 элементов И поступают на входы первой группы 50 элементов неравнозначности. В этом случае при выполнении логической операции «mod2» результат суммы через открытую шестую группу 65 элементов И, пятую группу 57 элементов ИЛИ поступает на первые входы третьей группы 52 элементов неравнозначности, т.е. сформированное значение контрольных разрядов поступает без поправки.

При выполнении логических операций «И» и «ИЛИ» результат суммы с выходов первой группы 50 элементов неравнозначности через открытую девятую группу 69 элементов И, четвертую группу 56 элементов ИЛИ поступает на первые входы второй группы 51 элементов неравнозначности, на вторые входы которой поступает значение поправки. Далее полученное значение контрольных разрядов сравнивается со значением контрольных разрядов, сформированных второй кодирующей схемой 75 на третьей группе 52 элементов неравнозначности.

8) На восьмом такте выдается микрокоманда "Конец операций", осуществляется переход на следующую операцию, блок 5 управления приводится в исходное состояние и выдает разрешение на начало выполнения следующей команды, адрес которой указан в счетчике 9 команд.

ИСТОЧНИКИ ИНФОРМАЦИИ

1. Патент на изобретение № 2210805 по заявке 99111190/09 от 31.05.09, авторы: Царьков А.Н., Безродный Б.Ю, Новиков Н.Н., Романенко Ю.А., Павлов А.А.

2. Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов. М.: Радио и связь, 1988, 368 с. (стр.30, рис.1.3).

3. Хетагуров Я.А. Руднев Ю.П. Повышение надежности цифровых устройств методами избыточного кодирования. М.: Энергия, 1974, 270 с.

4. Орлов И.А., Корнюшко В.Ф., Бурляев В.В. Эксплуатация и ремонт ЭВМ, организация работы вычислительного центра. М.: Энергоатомиздат, 1989, 400 с.

Класс G06F11/07 Реагирование на наличие ошибки, например отказоустойчивость

способ контроля тупиковых ситуаций инфокоммуникационной системы и устройство для его осуществления -  патент 2509346 (10.03.2014)
способ взаимодействия терминального устройства клиента с сервером по сети интернет с повышенным уровнем защиты от ddos атак и система для реализации способа -  патент 2496136 (20.10.2013)
устройство обнаружения и устранения отказов при передаче двоичных сигналов по двум линиям оптического канала -  патент 2484521 (10.06.2013)
способ и устройство контроля систем авионики, связанных с общей средой -  патент 2477515 (10.03.2013)
устройство для мажоритарного выбора сигналов -  патент 2476923 (27.02.2013)
способ для интерактивной автоматической обработки моделирования разломов, включающий в себя способ для интеллектуального распознавания взаимосвязей разлом-разлом -  патент 2414743 (20.03.2011)
устройство для преобразования из полиномиальной системы классов вычетов в позиционный код -  патент 2409840 (20.01.2011)
способ записи и считывания информации для устройств с электронной памятью и устройство для его использования -  патент 2406110 (10.12.2010)
способ и считываемый компьютером носитель для загрузки содержимого файла данных -  патент 2388042 (27.04.2010)
нейронная сеть для обнаружения ошибок в симметричной системе остаточных классов -  патент 2374678 (27.11.2009)
Наверх