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

Иллюстрации

Показать все

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

Реферат

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

Известно самокорректирующееся дискретное устройство [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 (значения поправки при выполнении арифметических операций).

Первые входы 24I блока 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 элементов И подключены к входу 782 «сдвиг влево», выходы с первого 106 по четвертый 109 элементов И подключены соответственно к первым входам с первого 118 по четвертый 121 элементов ИЛИ, вторые входы которых подключены соответственно к выходам с пятого 110 по восьмой 113 элементов И, выходы с первого 118 по четвертый 121 элементов ИЛИ подключены соответственно к первым входам с девятого 114 по двенадцатый 117 элементов И, вторые входы которых подключены к входу 783 «считывание», а выходы являются выходами 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 информационные разряды представляются в виде двухстрочной информационной матрицы: …

,

при этом:

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

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

.

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

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

,

.

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

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

В зависимости от значения синдрома ошибки (значения сигнала на выходе дешифратора 48) формирователь вектора ошибки 46 формирует вектор ошибки: Е=е1е2е3…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 ИЛИ формируются значения сигналов переноса Ci в соответствии с положениями, рассмотренными в приложении.

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

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

В этом случае сложение по mod2 поправок, считываемых с блока регистров 99 на блоке элементов неравнозначности 100, даст значение поправки: 11000110. В результате сложения на второй группе 51 элементов неравнозначности значений контрольных разрядов 01100011, поступающих с выхода первой группы 50 элеме