устройство управления памятью

Классы МПК:G06F12/00 Выборка, адресация или распределение данных в системах или архитектурах памяти
Автор(ы):, , , , , , ,
Патентообладатель(и):Харитонов Валерий Алексеевич,
Олейников Алексей Владимирович,
Тюрин Сергей Феофентович,
Зверев Алексей Петрович,
Гревцев Александр Михайлович,
Яковлев Сергей Васильевич,
Попченко Олег Григорьевич,
Раевский Виктор Николаевич
Приоритеты:
подача заявки:
1993-05-10
публикация патента:

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

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

УСТРОЙСТВО УПРАВЛЕНИЯ ПАМЯТЬЮ, содержащее дешифратор, шинный формирователь, три блока постоянной памяти, два счетчика, два регистра, триггер, блок сравнения, четыре элемента ИЛИ, восемь элементов И, одновибратор, элемент задержки, мультиплексор, причем выходы третьего блока памяти, шинного формирователя, информационные входы первого и второго счетчиков, второго регистра являются информационным входом-выходом устройства, информационные входы первого регистра, дешифратора, второй информационный вход мультиплексора, адресные входы первого и второго блоков памяти объединены и являются адресным входом устройства, третий вход первого элемента ИЛИ, третий вход восьмого элемента И и четвертый вход шестого элемента И объединены и являются входом выборки команды устройства, третий вход второго элемента ИЛИ, входы установки в "0" первого и второго регистров и первого счетчика объединены и являются входом начальной установки устройства, второй вход первого элемента ИЛИ, вторые входы первого, второго и третьего элемента И являются входом записи устройства, первый вход первого элемента ИЛИ входом чтения устройства, выход первого элемента ИЛИ подключен к входу разрешения дешифратора, второй, третий и четвертый выходы которого подключены соответственно к первым входам первого, второго и третьего элементов И, а первый выход дешифратора к входу разрешения обращения второго блока постоянной памяти, выход первого элемента И подключен к входу синхронизации второго регистра, выход второго элемента И ко входу синхронизации первого счетчика, пятый выход дешифратора подключен к входу разрешения шинного формирователя, шестой выход к первым входам четвертого и пятого элементов И, второй вход четвертого элемента И и инверсный вход пятого элемента И подключены к выходу триггера, выход четвертого элемента И к входу разрешения обращения третьего блока памяти, выход пятого элемента И к входу разрешения, обращения первого блока памяти, седьмой выход дешифратора подключен к первому входу второго элемента ИЛИ, восьмой выход к входу установки в "0" второго счетчика, синхровход которого подключен к выходу третьего элемента И, шестой выход дешифратора подключен к первым входам шестого, седьмого и восьмого элементов И, второй вход шестого элемента И к выходу третьего элемента ИЛИ, третий вход является входом режима частичной реконфигурации устройства, выход шестого элемента И подключен к первому входу четвертого элемента ИЛИ, второй вход седьмого элемента И является входом режима полной реконфигурации устройства, выход седьмого элемента И подключен к второму входу четвертого элемента ИЛИ, второй вход восьмого элемента И является входом режима замещения информации устройства, а выход подключен к третьему входу четвертого элемента ИЛИ, выход которого подключен к стробирующему входу блока сравнения, выход блока сравнения подключен к синхровходам триггера и первого регистра, выход которого подключен к информационному входу шинного формирователя, выход признака окончания считывания данных третьего блока памяти подключен к входу элемента задержки, выход которого подключен к входу одновибратора, выход одновибратора подключен к второму входу второго элемента ИЛИ, выход которого подключен к входу установки в "0" триггера, информационный вход которого подключен к входу логической единицы устройства, выход триггера подключен к вычитающему входу второго счетчика, выходы которого подключены к входам третьего элемента ИЛИ, адресный вход мультиплексора является входом задания типа замещаемой информации устройства, выход мультиплексора подключен к первому информационному входу блока сравнения, второй информационный вход которого подключен к выходу второго регистра, выход первого счетчика подключен к адресному входу третьего блока памяти, вход разрешения обращения которого подключен к счетному входу первого счетчика, вход разрешения счета которого является входом разрешения изменения адреса замещаемой информации устройства, отличающееся тем, что в него введены счетчик, два регистра, группа регистров, группа мультиплексоров, сумматор, элемент НЕ, два блока постоянной памяти, четыре шинных формирователя, одновибратор, элемент ИЛИ НЕ, три элемента ИЛИ, демультиплексор, группа элементов задержки, три элемента задержки, дешифратор, шесть элементов И, первый вход элемента ИЛИ НЕ является входом режима замещения информации устройства, второй вход и первый вход девятого элемента И подключены к входу режима частичной реконфигурации устройства, инверсный вход девятого элемента И подключен к выходу третьего элемента ИЛИ, выход элемента ИЛИ НЕ подключен к первому входу седьмого элемента ИЛИ, второй вход которого подключен к выходу девятого элемента И, выход седьмого элемента ИЛИ подключен к входу элемента НЕ и к входу разрешения второго шинного формирователя, информационный вход которого и первый вход мультиплексора подключены к выходу первого блока памяти, выход элемента НЕ подключен к первым входам десятого и двенадцатого элементов И и входу разрешения второго дешифратора, вход режима полной реконфигурации устройства подключен к третьему инверсному входу одиннадцатого элемента И и к первому инверсному входу четырнадцатого элемента И, второй вход которого, вторые инверсные входы двенадцатого и тринадцатого элементов И и второй вход пятого элемента ИЛИ подключены к выходу второго одновибратора, выход четырнадцатого элемента И подключен к входу разрешения третьего шинного формирователя, информационный вход которого подключен к выходу третьего регистра, выход третьего шинного формирователя подключен к адресному входу первого блока памяти, выходы второго, четвертого и пятого шинных формирователей подключены к информационному входу-выходу устройства, выход двенадцатого элемента И к входу резрешения четвертого шинного формирователя, информационный вход которого подключен к первому выходу демультиплексора, второй выход которого подключен к информационному входу четвертого регистра, входы установки в "0" третьего и четвертого регистров и первый вход пятого элемента ИЛИ подключены к входу начальной установки устройства, второй инверсный вход одиннадцатого элемента И подключен к входу задания типа замещаемой информации устройства, первый вход которого, вход разрешения обращения пятого блока памяти, вход второго элемента задержки и адресный вход демультиплексора подключены к выходу блока сравнения, выход одиннадцатого элемента И подключен к входу синхронизации четвертого регистра, выходы которого подключены к соответствующим информационным входам всех мультиплексоров группы, информационный вход нулевого регистра группы и нулевые информационные входы мультиплексоров группы подключены соответственно к группе информационных выходов второго блока памяти, адресные входы мультиплексоров группы подключены к соответствующим выходам четвертого блока памяти, выходы мультиплексоров группы к информационным входам соответствующих регистров группы, выходы всех регистров группы соответственно к группе информационных входов пятого шинного формирователя, первый выход первого дешифратора подключен к вторым входам шестого элемента ИЛИ и десятого элементов И, к входам синхронизации всех регистров группы и к первому входу тринадцатого элемента И, выход которого подключен к входу разрешения пятого шинного формирователя, выход признака окончания считывания данных второго блока памяти подключен к входу третьего элемента задержки, выход которого подключен к входу второго одновибратора, выход пятого элемента ИЛИ к входу начальной установки третьего счетчика, счетный вход которого подключен к выходу десятого элемента И, выход первого элемента И подключен к первому входу шестого элемента ИЛИ, выход которого подключен к входу четвертого элемента задержки, выход которого подключен к входу разрешения обращения четвертого блока памяти, второй адресный вход которого подключен к выходу третьего счетчика, выход второго регистра подключен к первому адресному входу четвертого блока памяти и к информационному входу второго дешифратора, выход которого подключен к адресному входу пятого блока памяти, выход которого подключен к второму входу сумматора, первый вход которого подключен к выходу первого регистра, выход сумматора подключен к информационному входу третьего регистра, синхронизирующий вход которого подключен к выходу второго элемента задержки, выход мультиплексора подключен к входам элементов задержки группы, выходы которых подключены к информационному входу демультиплексора.

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

Изобретение относится к вычислительной технике и может быть использовано в отказоустойчивых вычислительных системах.

Известно устройство вызова интерпретированных программ, содержащее два триггера, запоминающее устройство, регистр и два элемента И (Сигналов В.И. Об одном подходе к расширению систем команд однокристального микропроцессора. Управляющие системы и машины, N 4, 1985, с.31-33).

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

Известно также устройство, содержащее дешифратор, четыре блока постоянной памяти, адресную матрицу, накопительную матрицу, элемент ИЛИ, шинные формирователи, инвертор, группу инверторов (Шевкопляс Б.В. Микропроцессорные структуры, М. Радио и связь, 1986, с.214-215, рис.10.7).

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

Наиболее близким по технической сущности к предлагаемому является устройство управления памятью, содержащее дешифратор, шинный формирователь, три блока постоянной памяти, два счетчика, два регистра, триггер, схему сравнения, четыре элемента ИЛИ, восемь элементов И, одновибратор, элемент задержки, мультиплексор, причем выходы всех блоков памяти, шинного формирователя, информационные входы первого и второго счетчиков, второго регистра и первый информационный вход мультиплексора подключены к информационному входу-выходу устройства, информационные входы первого регистра, дешифратора, второй информационный вход мультиплексора, адресные входы первого и второго блоков памяти подключены к адресному входу устройства, третий вход первого элемента ИЛИ, третий вход восьмого элемента И и четвертый вход шестого элемента И подключены к входу выборки команды устройства, третий вход второго элемента ИЛИ, входы установки в "0" первого и второго регистров и первого счетчика подключены к входу начальной установки устройства, второй вход первого элемента ИЛИ, вторые входы первого, второго и третьего элемента И подключены к входу записи устройства, первый вход первого элемента ИЛИ подключен к входу чтения устройства, выход первого элемента ИЛИ подключен к входу разрешения дешифратора, второй, третий и четвертый выходы которого подключены соответственно к первым входам первого, второго и третьего элементов И, первый выход дешифратора подключен к входу разрешения обращения второго блока постоянной памяти, выход первого элемента И -- к входу синхронизации второго регистра, выход второго элемента И к входу синхронизации первого счетчика, пятый выход дешифратора к входу разрешения шинного формирователя, шестой выход дешифратора к первым входам четвертого и пятого элементов И, второй вход четвертого элемента И и инверсный вход пятого элемента И к выходу триггера, выход четвертого элемента И к входу разрешения обращения третьего блока памяти, выход пятого элемента И к входу разрешения обращения первого блока памяти, седьмой выход дешифратора к первому входу второго элемента ИЛИ, восьмой выход дешифратора к входу установки в "0" второго счетчика, синхровход которого подключен к выходу третьего элемента И, шестой выход дешифратора к первым входам шестого, седьмого и восьмого элементов И, второй вход шестого элемента И к выходу третьего элемента ИЛИ, третий вход шестого элемента И к входу режима частичной реконфигурации устройства, выход шестого элемента И к первому входу четвертого элемента ИЛИ второй вход седьмого элемента И к входу режима полной реконфигурации устройства, выход седьмого элемента И к второму входу четвертого элемента ИЛИ, второй вход восьмого элемента И подключен к входу режима замещения информации устройства, а выход к третьему входу четвертого элемента ИЛИ, выход которого подключен к стробирующему входу схемы сравнения, выход схемы сравнения подключен к синхровходам триггера и первого регистра, выход которого подключен к информационному входу шинного формирователя, выход признака окончания считывания данных третьего блока памяти к входу элемента задержки, выход которого подключен к входу одновибратора, выход одновибратора подключен к второму входу второго элемента ИЛИ, выход которого подключен к входу установки в "0" триггера, информационный вход которого подключен к входу логической "1" устройства, а выход к вычитающему входу второго счетчика, выходы которого подключены к входам третьего элемента ИЛИ, второй информационный вход мультиплексора подключен к адресному входу устройства, адресный вход мультиплексора к входу задания типа замещаемой информации устройства, выход мультиплексора к первому информационному входу схемы сравнения, второй информационный вход которой подключен к выходу второго регистра, выход первого счетчика к адресному входу третьего блока памяти, вход разрешения обращения которого подключен к счетному входу первого счетчика, вход разрешения счета которого подключен к входу разрешения изменения адреса замещаемой информации устройства (авт.св. СССР N 1679489, кл. G 06 F 12/00, 1989).

Недостатком прототипа являются большие объемы постоянной памяти, необходимые для организации замены отказавшей команды на эквивалентные последовательности оставшихся команд, записанные во втором блоке памяти, велико время выполнения этих замен, т.е. снижается быстродействие вычислительных систем (ВС) в целом, что может сделать невозможным использование известного устройства в многопроцессорных ВС или в управляющих ВС, работающих в реальном масштабе времени. Количество различных команд, привлекаемых для программной замены отказавшей команды, также значительно, что существенно снижает возможности использования прототипа в отказоустойчивых ВС, поскольку для множественных отказов системы команд алгоритмов эквивалентных замен чаще всего просто не существует.

Целью изобретения является сокращение объемов памяти и временных затрат на алгоритмическую реконфи- гурацию.

Цель достигается тем, что в устpойство управления памятью, содержащее дешифратор, шинный формирователь, три блока постоянной памяти, два счетчика, два регистра, триггер, схему сравнения, четыре элемента ИЛИ, восемь элементов И, одновибратор, элемент задержки, мультиплексор, причем выходы третьего блока памяти, шинного формирователя, информационные входы первого и второго счетчиков, второго регистра подключены к информационному входу-выходу устройства, информационные входы первого регистра, дешифратора, второй информационный вход мультиплексора, адресные входы первого и второго блоков памяти подключены к адресному входу устройства, третий вход первого элемента ИЛИ, третий вход восьмого элемента И и четвертый вход шестого элемента И подключены к входу выборки команды устройства, третий вход второго элемента ИЛИ, входы установки в "0" первого и второго регистров и первого счетчика подключены к входу начальной установки устройства, второй вход первого элемента ИЛИ, вторые входы первого, второго и третьего элемента И подключены к входу записи устройства, первый вход первого элемента ИЛИ подключен к входу чтения устройства, выход первого элемента ИЛИ подключен к входу разрешения дешифратора, второй, третий и четвертый выходы которого подключены соответственно к первым входам первого, второго и третьего элементов И, а первый выход дешифратора подключен к входу разрешения обращения второго блока постоянной памяти, выход первого элемента И подключен к входу синхронизации второго регистра, выход второго элемента И к входу синхронизации первого счетчика, пятый выход дешифратора к входу разрешения шинного формирователя, шестой выход дешифратора к первым входам четвертого и пятого элементов И, второй вход четвертого элемента И и инверсный вход пятого элемента И к выходу триггера, выход четвертого элемента И к входу разрешения обращения третьего блока памяти, выход пятого элемента И к входу разрешения обращения первого блока памяти, седьмой выход дешифратора к первому входу блока второго элемента ИЛИ, восьмой выход дешифратора к входу установки в "0" второго счетчика, синхровход которого подключен к выходу третьего элемента И, шестой выход дешифратора к первым входам шестого, седьмого и восьмого элементов И, второй вход шестого элемента И к выходу третьего элемента ИЛИ, третий вход шестого элемента И к входу режима частичной реконфигурации устройства, выход шестого элемента И подключен к первому входу четвертого элемента ИЛИ, второй вход седьмого элемента И к входу режима полной реконфигурации устройства, выход седьмого элемента И к второму входу четвертого элемента ИЛИ, второй вход восьмого элемента И подключен к входу режима замещения информации устройства, а выход к третьему входу четвертого элемента ИЛИ, выход которого подключен к стробирующему входу схемы сравнения, выход схемы сравнения подключен к синхровходам триггера и первого регистра, выход которого подключен к информационному входу шинного формирователя, выход признака окончания считывания данных третьего блока памяти подключен к входу элемента задержки, выход которых подключен к входу одновибратора, выход одновибратора подключен к второму входу второго элемента ИЛИ, выход которого подключен к входу установки в "0" триггера, информационный вход которого подключен к входу логической "1" устройства, а выход к вычитающему входу второго счетчика, выходы которого подключены к входам третьего элемента ИЛИ, адресный вход мультиплексора подключен к входу задания типа замещаемой информации устройства, выход мультиплексора к первому информационному входу сравнения, второй информационный вход которой подключен к выходу второго регистра, выход первого счетчика к адресному входу третьего блока памяти, вход разрешения обращения которого подключен к счетному входу первого счетчика, вход разрешения счета которого подключен к входу разрешения изменения адреса замещаемой информации устройства, введены счетчик, два регистра, группа регистров, группа мультиплексоров, сумматор, элемент НЕ, два блока постоянной памяти, четыре шинных формирователя, одновибратор, элемент ИЛИ-НЕ, три элемента ИЛИ, демультиплексор, группа элементов задержки, три элемента задержки, дешифратор, шесть элементов И, причем вход режима замещения информации подключен к первому входу элемента ИЛИ-НЕ, второй вход которого и первый вход девятого элемента И подключены к входу режима частичной реконфигурации, инверсный вход девятого элемента И подключен к выходу третьего элемента ИЛИ, выход элемента ИЛИ-НЕ подключен к первому входу седьмого элемента ИЛИ, к второму входу которого подключен выход девятого элемента И, выход седьмого элемента ИЛИ подключен к входу элемента НЕ и к входу разрешения второго шинного формирователя, информационный вход которого и первый вход мультиплексора подключены к выходу первого блока памяти, выход элемента НЕ подключен к первым входам десятого и двенадцатого элементов И и к входу разрешения второго дешифратора, вход режима полной реконфигурации устройства подключен к третьему инверсному входу одиннадцатого элемента И и к первому инверсному входу четырнадцатого элемента И, второй вход которого, вторые инверсные входы двенадцатого, тринадцатого элементов И и второй вход пятого элемента ИЛИ подключены к выходу второго одновибратора, выход четырнадцатого элемента И подключен к входу разрешения третьего шинного формирователя, информационный вход которого подключен к выходу третьего регистра, выход третьего шинного формирователя подключен к адресному входу первого блока памяти, выходы второго, четвертого и пятого шинных формирователей подключены к информационному входу-выходу устройства, выход двенадцатого элемента И подключен к входу разрешения четвертого шинного формирователя, информационный вход которого подключен к первому выходу демультиплексора, второй выход которого подключен к информационному входу четвертого регистра, входы установки в "0" третьего и четвертого регистров и первый вход пятого элемента ИЛИ подключены к входу начальной установки устройства, вход задания типа замещаемой информации устройства подключен к второму инверсному входу одиннадцатого элемента И, первый вход которого вход разрешения обращения пятого блока памяти, вход второго элемента задержки и адресный вход демультиплексора подключены к выходу схемы сравнения, выход одиннадцатого элемента И подключен к входу синхронизации четвертого регистра, выходы которого подключены к соответствующим информационным входам всех мультиплексоров группы (т.е. i-ый выход четвертого регистра подключен к i-ым информационным входам всех мультиплексоров группы, i=устройство управления памятью, патент № 2037874; где k количество информационных участков в формате команды, используемых под операнды), информационный вход нулевого регистра группы и нулевые информационные входы мультиплексоров группы подключены соответственно к группе информационных выходов второго блока памяти (т.е. информационный вход нулевого регистра группы подключен к нулевому выходу группы, а нулевой информационный вход i-го мультиплексора группы подключен к i-му информационному выходу группы второго блока памяти), адресные входы мультиплексоров группы подключены к соответствующим выходам четвертого блока памяти, выходы мультиплексоров группы подключены к информационным входам соответствующих регистров группы (т. е. выход i-го мультиплексора группы подключен к информационному входу i-го регистра группы), выходы всех регистров группы подключены соответственно к группе информационных входов пятого шинного формирователя (т.е. выход нулевого регистра группы подключен к нулевому входу группы, а выход i-го регистра группы подключен к i-му входу группы информационных входов пятого шинного формирователя), первый выход первого дешифратора подключен к вторым входам шестого элемента ИЛИ и десятого элемента И, к входам синхронизации всех регистров группы и к первому входу тринадцатого элемента И, выход которого подключен к входу разрешения пятого шинного формирователя, выход признака окончания считывания данных второго блока памяти подключен к входу третьего элемента задержки, выход которого подключен к входу второго одновибратора, выход пятого элемента ИЛИ подключен к входу начальной установки третьего счетчика, к счетному входу которого подключен выход десятого элемента И, выход первого элемента И подключен к первому входу шестого элемента ИЛИ, выход которого подключен к входу четвертого элемента задержки, выход которого подключен к входу разрешения обращения четвертого блока памяти, к второму адресному входу которого подключен выход третьего счетчика, выход второго регистра подключен к первому адресному входу четвертого блока памяти и к информационному входу второго дешифратора, выход которого подключен к адресному входу пятого блока памяти, выход которого подключен к второму входу сумматора, к первому входу которого подключен выход первого регистра, выход сумматора подключен к информационному входу третьего регистра, синхронизирующий вход которого подключен к выходу второго элемента задержки, выход мультиплексора подключен также к входу группы элементов задержки, выход которых подключен к информационному входу демультиплексора.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Введение элемента ИЛИ-НЕ и соответствующих ему связей позволяет управлять седьмым элементом ИЛИ во всех режимах работы, кроме настройки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Устройство управления памятью содержит первый дешифратор 1, содержащий выходы 1.0-1.7, первый шинный формирователь 2, три блока 3-5 постоянной памяти, первый счетчик 6, два регистра 7, 8, триггер 9, схему 10 сравнения, четыре элемента ИЛИ 11-14, восемь элементов И 15-22, первый одновибратор 23, первый элемент 24 задержки, мультиплексор 25, второй счетчик 26, информационный вход-выход 27, адресный вход 28, вход 29 режима замещения информации, вход 30 режима полной реконфигурации, вход 31 режима частичной реконфигурации, вход 32 выборки команды, вход 33 начальной установки, вход 34 записи, вход 35 чтения, вход 36 задания типа замещаемой информации, вход 37 разрешения изменения адреса замещаемой информации устройства, третий счетчик 38, два регистра 39, 40, группу регистров 41.0-41.k, группу мультиплексоров 42.1-42. k, сумматор 43, элемент НЕ 44, два блока 45, 46 постоянной памяти, четыре шинных формирователя 47-50, второй одновибратор 51, элемент ИЛИ-НЕ 52, три элемента ИЛИ 53-55, демультиплексор 56, группу элементов 57 задержки, три элемента 58-60 задержки, второй дешифратор 61, шесть элементов И 62-67.

Выходы третьего блока 5 памяти, первого 2, второго 47, четвертого 49 и пятого 50 шинных формирователей, информационные входы первого 6 и второго 26 счетчиков, второго регистра 7 подключены к информационному входу-выходу 27 устройства, выход третьего шинного формирователя 48 подключен к адресному входу первого блока 3 памяти. Информационные входы первого регистра 8, дешифратора 1, второй информационный вход D1мультиплексора 25, адресные входы первого 3 и второго 4 блоков памяти подключены к адресному входу 28 устройства. Третий вход первого элемента ИЛИ 14, третий вход восьмого элемента И 22 и четвертый вход шестого элемента И 20 подключены к входу 32 выборки команды устройства. Третий вход второго элемента ИЛИ 13, первый вход пятого элемента ИЛИ 53, входы установки в "0" регистров 7, 8, 39, 40 и первого счетчика 6 подключены к входу 33 начальной установки устройства. Второй вход первого элемента ИЛИ 14, вторые входы первого 15, второго 16 и третьего 17 элементов И подключены к входу 34 записи устройства. Первый вход первого элемента ИЛИ 14 подключен к входу 35 чтения устройства, выход первого элемента ИЛИ 14 подключен к входу разрешения дешифратора 1, второй 1.1, третий 1.2 и четвертый 1.3 выходы которого подключены соответственно к первым входам первого 15, второго 16 и третьего 17 элементов И. Выход первого элемента И 15 подключен к входу синхронизации второго регистра 7 и к первому входу шестого элемента ИЛИ 54, выход второго элемента И 16 подключен к входу синхронизации первого счетчика 6, пятый выход 1.4 дешифратора 1 к входу разрешения первого шинного формирователя 2, шестой выход 1.5 дешифратора 1 к первым входам четвертого 18 и пятого 19 элементов И и к первым входам шестого 20, седьмого 21 и восьмого 22 элементов И. Второй вход четвертого элемента И 18 и инверсный вход пятого элемента И 19 подключены к выходу триггера 9, выход четвертого элемента И 18 к входу разрешения обращения третьего блока 5 памяти, выход пятого элемента И 19 к входу разрешения обращения первого блока 3 памяти, седьмой выход 1.6 дешифратора 1 к первому входу второго элемента ИЛИ 13, восьмой выход 1.7 дешифратора 1 к входу установки в "0" второго счетчика 26, синхровход которого подключен к выходу третьего элемента И 17. Второй вход шестого элемента И 20 подключен к выходу третьего элемента ИЛИ 11, третий вход шестого элемента И 20 к входу 31 режима частичной реконфигурации устройства, выход шестого элемента И 20 к первому входу четвертого элемента ИЛИ 12, второй вход седьмого элемента И 21 к входу 30 режима полной реконфигурации устройства, выход седьмого элемента И 21 к второму входу четвертого элемента ИЛИ 12, второй вход восьмого элемента И 22 к входу 29 режима замещения информации устройства, а выход к третьему входу четвертого элемента ИЛИ 12, выход которого подключен к стробирующему входу схемы 10 сравнения. Выход схемы сравнения подключен к первому входу одиннадцатого элемента И 64, входу разрешения обращения пятого блока 45 памяти, входу второго элемента 58 задержки, а также к синхровходам триггера 9 и первого регистра 8. Выход признака окончания считывания данных третьего блока 5 памяти подключен к входу первого элемента 24 задержки, выход которого подключен к входу первого одновибратора 23. Выход одновибратора 23 подключен к второму входу второго элемента ИЛИ 13, выход которого подключен к входу установки в "0" триггера 9. Информационный вход последнего подключен к входу логической "1" устройства, а выход к вычитающему входу второго счетчика 26, выходы которого подключены к входам третьего элемента ИЛИ 11. Второй информационный вход мультиплексора 25 подключен к адресному входу 28 устройства, адресный вход мультиплексора 25 к входу 36 задания типа замещаемой информации устройства, выход мультиплексора 25 к первому информационному входу Doсхемы 10 сравнения, второй информационный вход которой подключен к выходу второго регистра 7. Выход первого счетчика 6 подключен к адресному входу третьего блока 5 памяти, вход разрешения обращения которого подключен к счетному входу первого счетчика 6. Вход разрешения счета счетчика 6 подключен к входу 37 разрешения изменения адреса замещаемой информации устройства, вход 29 режима замещения информации подключен к первому входу элемента ИЛИ-НЕ 52, второй вход которого и первый вход девятого элемента И 62 подключены к входу 31 режима частичной реконфигурации. Инверсный вход девятого элемента И 62 подключен к выходу третьего элемента ИЛИ 11, выход элемента ИЛИ-НЕ 52 подключен к первому входу седьмого элемента ИЛИ 55, к второму входу которого подключен выход девятого элемента И 62. Выход седьмого элемента ИЛИ 55 подключен к входу элемента НЕ 44 и к входу разрешения второго шинного формирователя 47, информационный вход которого и первый вход мультиплексора 25 подключены к выходу первого блока 3 памяти. Выход элемента НЕ 44 подключен к первым входам десятого 63 и двенадцатого 65 элементов И и к входу разрешения второго дешифратора 61. Вход 30 режима полной реконфигурации устройства подключен к третьему инверсному входу одиннадцатого элемента И 64 и к первому инверсному входу четырнадцатого элемента И 67, второй вход которого, вторые инверсные входы двенадцатого 65, тринадцатого 66 элементов И и второй вход пятого элемента ИЛИ 53 подключены к выходу второго одновибратора 51. Выход четырнадцатого элемента И 67 подключен к входу разрешения третьего шинного формирователя 48, информационный вход которого подключен к выходу третьего регистра 39. Выход третьего шинного формирователя подключен к адресному входу первого блока 3 памяти. Выходы второго 47, четвертого 49 и пятого 50 шинных формирователей подключены к информационному входу-выходу 27 устройства. Выход двенадцатого элемента И 65 подключен к входу разрешения четвертого шинного формирователя 49, информационный вход которого подключен к первому выходу демультиплексора 56. Второй выход последнего подключен к информационному входу четвертого регистра 40. Вход 36 задания типа замещаемой информации устройства подключен к второму инверсному входу одиннадцатого элемента И 64, выход которого подключен к входу синхронизации четвертого регистра 40. Выходы регистра 40 подключены к соответствующим информационным входам всех мультиплексоров 42.1-42.k группы (т.е. i-й выход четвертого регистра 40 подключен к i-м информационным входам всех мультиплексоров 42.1-42. k группы, i=устройство управления памятью, патент № 2037874, где k количество информационных участков в формате команды, используемых под операнды). Информационный вход нулевого регистра 41.0 группы и нулевые информационные входы мультиплексоров 41.1-42. k группы подключены соответственно к группе информационных выходов второго блока 4 памяти (т. е. информационный вход нулевого регистра 41.0 группы подключен к нулевому выходу группы, а нулевой информационный вход i-го мультиплексора 41. i группы подключен к i-му информационному выходу группы второго блока 4 памяти). Адресные входы мультиплексоров 42.1-42.k группы подключены к соответствующим выходам четвертого блока 46 памяти, выходы мультиплексоров 42.1-42.k группы подключены к информационным входам соответствующих регистров 41.1-41.k группы (т.е. выход i-го мультиплексора 42.1-42. k группы подключен к информационному входу i-го регистра 41.1-41.k группы). Выходы всех регистров 41.0-41.k группы подключены соответственно к группе информационных входов пятого шинного формирователя 50 (т.е. выход нулевого регистра 41.0 группы подключен к нулевому входу группы, а выход i-го регистра 41.1 группы подключен к i-му входу группы информационных входов пятого шинного формирователя 50). Первый выход 1.0 первого дешифратора 1 подключен к входу разрешения обращения второго блока 4 памяти, к вторым входам шестого 54 и десятого 63 элементов И, к входам синхронизации всех регистров 41.0-41.k группы и к первому входу тринадцатого элемента И 66, выход которого подключен к входу разрешения пятого шинного формирователя 50. Выход признака окончания считывания данных второго блока 4 памяти подключен к входу третьего элемента 59 задержки, выход которого подключен к входу второго одновибратора 51. Выход пятого элемента ИЛИ 53 подключен к входу начальной установки третьего счетчика 38, к счетному входу которого подключен выход десятого элемента И 63. Выход шестого элемента ИЛИ 54 подключен к входу четвертого элемента 60 задержки, выход которого подключен к входу разрешения обращения четвертого блока 46 памяти, к второму адресному входу которого подключен выход третьего счетчика 38. Выход второго регистра 7 подключен к первому адресному входу четвертого блока 46 памяти и к информационному входу второго дешифратора 61, выход которого подключен к адресному входу пятого блока 45 памяти. Выход блока 45 подключен к второму входу сумматора 43, к первому входу которого подключен выход первого регистра 8. Выход сумматора 43 подключен к информационному входу третьего регистра 39, синхронизирующий вход которого подключен к выходу второго элемента 58 задержки. Выход мультиплексора 25 подключен также к входу группы элементов 57 задержки, выход которых подключен к информационному входу демультиплексора 56.

Дешифратор 1 предназначен для управления 6 блоками 3, 4, 5, 46 памяти, шинными формирователями 2, 50, регистрами 7, 8, группой регистров 41.0-41.k и счетчиками 6, 26, 38. Дешифратор 1 дешифрирует адрес, установленный на адресных входах 28 в том случае, если активирован выход элемента ИЛИ 14, возбуждающий вход разрешения дешифратора 1. Если на входах 28 установлены адреса счетчика 6, регистров 7, 8, то возбуждаются соответствующие выходы 1.1, 1.2, 1.3 дешифратора. Если на входах 28 установлен адрес шинного формирователя 2, то возбуждается выход 1.4 дешифратора 1. Если на входах 28 установлены адреса ячеек памяти блока 3, то возбуждается выход 1.5 дешифратора 1. Если на входах 28 установлены адреса ячеек блока 4 памяти, то возбуждается выход 1.0 дешифратора 1. Для управления обнулением триггера 9 и счетчика 26 на входах должны быть установлены адреса, возбуждающие соответствующие выходы 1.6, 1.7 дешифратора 1. Дешифратор может быть реализован, например, на стандартных интегральных микросхемах 155ИДЗ.

Шинный формирователь 2 предназначен для буферирования выходов регистра 8. Внешний процессор обращается к шинному формирователю 2 как к ячейке памяти с фиксированным адресом, при этом возбуждается выход 1.4 дешифратора 1 (безразлично в режиме записи или чтения) и информация с выходов регистра 8 поступает на вход-выход 27 и затем во внешний процессор. Иначе выход шинного формирователя 2 находится в высокимпедансном состоянии и не влияет на передачу информации по входу-выходу 27. Шинный формирователь 2 может быть реализован, например, на стандартных интегральных микросхемах 589АП16.

Блок 3 постоянной памяти предназначен для хранения основных программ работы внешнего процессора, составленных из полного перечня его команд на языке машинных кодов. Команды и данные в соответствии с адресами ячеек на входе 28 считываются из блока 3 на вход-выход 27 через шинный формирователь 47 или (в условиях обнаружения отказа типа неправильное выполнение отдельных команд) через мультиплексор 25, демультиплексор 56 и шинный формирователь 49 с задержкой, определяемой группой элементов 57 задержки, причем вход разрешения активизируется выходом элемента И 19. В противном случае выход блока 3 находится в высокоимпедансном состоянии и не влияет на передачу информации по входу-выходу 27. Блок 3 постоянной памяти может быть реализован, например, на стандартных интегральных микросхемах 556РТ5, буферированных шинными формирователями 589АП16 по входам.

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

Блок 5 постоянной памяти предназначен для хранения информации, которой необходимо заменить информацию в блоке 3, либо команд безусловного перехода (задаются счетчиком 6) на шаблоны алгоритмических эквивалентов. При выборе последнего слова команды безусловного перехода возбуждается отдельный выход блока 5. При неактивировании входа разрешения блока 5 его выход находится в высокоимпедансном состоянии и не влияет на передачу информации по входу-выходу 27. Блок 5 постоянной памяти также реализуется аналогично блоку 3. Частота синхронизации внешнего процессора такова, что запись информации из блока 3 через элементы предлагаемого устройства по шине данных во внутренние регистры процессора происходит после момента возможного срабатывания триггера 9 и переключения на считывание информации из блока 5, т.е. процессор "не заметит" подмены неисправной команды, находящейся в блоке 3, на команду безусловного перехода, находящуюся в блоке 5.

Счетчик 6 предназначен для хранения кода адреса информации, записанной в блоке 5. Этот код записывается с входа-выхода 27 по импульсу на выходе элемента И 16. Состояние счетчика 6 изменяется задним фронтом импульса на выходе элемента И 18 для обеспечения адресации команды перехода, состоящей из нескольких слов. Счетчик 6 может быть реализован, например, на стандартных интегральных микросхемах 155ИЕ7. Для реализации управления счетным входом по входу 37 необходим элемент И, подключенный выходом к счетному входу.

Регистр 7 предназначен для хранения кода адреса или кода команды, на которых производится либо замена информации информацией из блока 5, либо выполняется режим алгоритмической реконфигурации по шаблону из блока 4. Хранящийся код команды осуществляет адресацию блока 46 (выбирается соответствующий шаблон программы эквивалентной замены), а через дешифратор 61 адресацию блока 45 (выбирается константа для вычисления продвинутого адреса). Информация в регистр 7 записывается с входа-выхода 27 по импульсу на выходе элемента И 15.

Регистр 8 предназначен для хранения адреса, на котором происходит алгоритмическая реконфигурация либо замена информации, которая записывается с входа 28 по переднему фронту импульса на выходе схемы 10 сравнения. Регистры 7, 8 могут быть реализованы, например, на стандартных интегральных микросхемах 155ИР13.

Триггер 9 предназначен для управления счетчиком 26 и элементами И 18, 19. Триггер может быть обнулен сигналом с выхода элемента ИЛИ 13, а устанавливается передним фронтом импульса на выходе схемы 10 сравнения, так как на информационный вход триггера подается сигнал логической "1". Возбужденный выход триггера 9 блокирует элемент И19. Триггер может быть реализован, например, на стандартных интегральных микросхемах 155ТМ2.

Схема 10 сравнения предназначена для сравнения информации на выходе мультиплексора 25 и регистра 7 для управления триггером 9, регистром 8, элементом И 64, блоком 45 памяти, демультиплексором 56 и элементом 58 задержки. Схема 10 сравнения стробируется выходом элемента ИЛИ 12. Она может быть реализована, например, на стандартных интегральных микросхемах 553СП1.

Элемент ИЛИ 11 предназначен для управления элементом И 20 и блокирования элемента И 62. Его выход активирован, если код, записанный в счетчике 26, отличен от нуля.

Элемент ИЛИ 12 предназначен для управления входом синхронизации схемы 10 сравнения в том случае, если на выходах хотя бы одного из элементов И20, 21, 22 имеется логическая "1".

Элемент ИЛИ 13 предназначен для обнуления триггера 9 либо сигналом начального сброса с входа 33, либо выходом одновибратора 23, либо выходом 1.6 дешифратора 1.

Элемент ИЛИ 14 предназначен для управления дешифратором 1 в том случае, если активирован один из управляющих сигналов 35 чтения, 34 записи, 32 выборки команды. В этом случае дешифратор 1 дешифрирует адрес на входе 28.

Элемент И 15 предназначен для формирования импульса записи информации в регистр 7 и управления через элемент ИЛИ 54 элементом 60 задержки, если возбужден выход 1.1 дешифратора 1 и вход 34 записи.

Элемент И 16 предназначен для управления записью информации в счетчик 6 в том случае, если возбужден выход 1.2 дешифратора 1 и вход 34 записи.

Элемент И 17 предназначен для управления записью информации в счетчик 26 в том случае, если возбужден выход 1.3 дешифратора 1 и вход 34 записи.

Элемент И 18 предназначен для управления входом разрешения блока 5 и счетным входом счетчика 6 в том случае, если возбужден выход 1.5 дешифратора 1 и установлен триггер 9.

Элемент И 19 предназначен для управления входом разрешения блока 3 в том случае, если возбужден выход 1.5 дешифратора 1 и не установлен триггер 9.

Элемент И 20 предназначен для управления элементом ИЛИ 12 в том случае, если возбуждены выход 1.5 дешифратора 1, выход элемента ИЛИ 11, вход 31 режима частичной реконфигурации и вход 32 выборки команды.

Элемент И 21 предназначен для управления элементом ИЛИ 12 в том случае, если возбуждены выход 1.5 дешифратора 1 и вход 30 режима полной реконфигурации.

Элемент И 22 предназначен для управления элементом ИЛИ 12 в том случае, если возбуждены выход 1.5 дешифратора 1, вход 29 режима замещения информации и вход 32 выборки команды.

Одновибратор 23 предназначен для формирования импульса сброса триггера 9 по окончании выборки из блока 5 команды безусловного перехода на шаблоны алгоритмических эквивалентов блока 4 либо на заменяемую информацию. Одновибратор 23 может быть реализован, например, на стандартных интегральных микросхемах 155АГ1.

Элемент 24 задержки предназначен для задержки сигнала управления одновибратором 23 с отдельного выхода блока 5 на период времени, необходимый для надежного считывания информации из блока 5 во внешний процессор.

Мультиплексор 25 предназначен для подключения к входу Do-схемы 10 сравнения либо выхода блок 3, либо адресного входа 28 в зависимости от значения сигнала на входе 36 задания типа замещаемой информации (если на входе логическая "1", подключается адресный вход 28). Мультиплексор 25 осуществляет также выдачу информации на вход группы элементов 57 задержки. Он может быть реализован, например, на стандартных интегральных микросхемах 155КП1.

Счетчик 26 предназначен для управления элементом ИЛИ 11 путем вычитания единицы из числа, записанного в него при настройке, всякий раз, когда обнуляется триггер 9, что необходимо для задания необходимого количества алгоритмических реконфигураций. Запись информации в счетчик 26 осуществляется с входа-выхода 27 по сигналу на выходе элемента И 17. Обнуляется счетчик 26 при возбуждении выхода 1.7 дешифратора 1. Счетчик может быть реализован, например, на стандартных интегральных микросхемах 155ИЕ7.

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

Адресный вход 28 предназначен для подключения шины адреса внешнего процессора.

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

Вход 30 режима полной реконфигурации предназначен для блокирования элементов И 64, 67, а также для управления элементом И 21 либо для задания режима алгоритмической реконфигурации, либо при замене информации как по коду команды или операнда, так и по адресу.

Вход 31 режима частичной реконфигурации предназначен для управления элементом И 20, для задания режима частичной алгоритмической реконфигурации, а также для перевода в состояние высокого импеданса выхода шинного формирователя 47 или активирования его при появлении логического "0" на выходе элемента ИЛИ 11. Входы 29, 30, 31 возбуждаются унитарно: в каждом из возможных режимов возбужден только один из них.

Вход 32 выборки команды предназначен для сигнализации о цикле выборки команды внешнего процессора. Он подключается к соответствующему разряду шины управления процессора (например, для процессора 580ИК80 это коньюнкция разрядов 5, 7 регистра слова состояния).

Вход 33 начальной установки предназначен для обнуления триггера 9 регистров 7, 8, 39, 40 и счетчиков 6, 38. Он может быть подключен к разряду "Начальный сброс" шины управления процессора.

Вход 34 записи предназначен для подключения разряда записи в ячейку памяти шины управления внешнего процессора. Вход 35 чтения предназначен для подключения разряда чтения ячейки памяти шины управления внешнего процессора.

Вход 36 задания типа замещаемой информации предназначен для управления мультиплексором 25, а также для блокирования элемента И 64. При невозбуждении входа 36 на входы мультиплексора 25 подключается информационный вход-выход 27.

Вход 37 разрешения изменения адреса замещаемой информации устройства предназначен для блокировки счетного входа счетчика 6 в том случае, если нет необходимости изменения его состояния (фиксированная замена информации по адресу или по коду), в этом случае вход 37 обнулен.

Счетчик 38 предназначен для адресации блока 46 памяти в режиме алгоритмической реконфигурации по шаблону. Очередное увеличение содержимого счетчика осуществляется задним фронтом сигнала с выхода элемента И 63, а обнуление -сигналом с выхода элемента ИЛИ 53. Счетчик 38 может быть реализован, например, на стандартных интегральных микросхемах 155ИЕ7.

Регистр 39 предназначен для хранения продвинутого адреса отказавшей команды, записываемого с выхода сумматора 43 по сигналу с выхода элемента 58 задержки.

Регистр 40 предназначен для хранения содержимого отказавшей команды, для которой выполняется режим алгоритмической реконфигурации по шаблону. Информация в регистр 40 записывается с выхода D1демультиплексора 56 по переднему фронту сигнала с выхода элемента И 64. Регистры 39, 40 могут быть реализованы, например, на стандартных интегральных микросхемах 155ИР13.

Группа регистров 41.0-41.k предназначена для хранения получаемых команд на каждом шаге синтеза программы эквивалентной замены отказавшей команды в режиме алгоритмической реконфигурации по шаблону. Информация в группу регистров 41.0-41.k записывается по переднему фронту сигнала с выхода 1.0 дешифратора 1. При этом на каждом шаге синтеза в регистр 41.0 записывается код очередной команды (первые разряды соответствующего шаблона команды) из блока 4, а в регистры 41.1-41.k соответственно информационные участки синтезируемой команды с выходов мультиплексоров 42.1-42.k. Группа регистров 41.1-41.k может быть реализована, например, на стандартных интегральных микросхемах 155ИР13.

Группа мультиплексоров 42.1-42.k предназначена для подключения к информационным входам группы регистров 41.1-41.k либо соответствующих выходов 1-k блока 4 (на фиг.1 не указаны), либо соответствующих выходов 1-k регистра 40 в зависимости от управляющего кода на выходах 1-k блока 46 (причем адресный вход i-го мультиплексора группы подключен к i-му выходу блока 46, i=устройство управления памятью, патент № 2037874. Группа мультиплексоров 42.1-42.k может быть реализована, например, на стандартных интегральных микросхемах 155КП1.

Сумматор 43 предназначен для вычисления продвинутого адреса отказавшей команды (адрес отказавшей команды на вход Do сумматора поступает из регистра 8), для которой выполняется режим алгоритмической реконфигурации по шаблону, посредством увеличения содержимого регистра 8 на значение константы, поступающей на вход D1 сумматора из блока 45. Сумматор 43 может быть реализован, например, на стандартных интегральных микросхемах 155ИМ1.

Элемент НЕ 44 предназначен для управления входом разрешения дешифратора 61 и первыми входами элементов И 63, 65 в том случае, если не активирован выход элемента ИЛИ 55.

Блок 45 постоянной памяти предназначен для хранения констант, необходимых для вычисления продвинутого адреса отказавших команд. Количество хранимых констант определяется количеством (в данной ВС) различных по длине форматов команд. Выбор необходимой константы зависит от того, какой выход дешифратора 61 возбужден, так как каждому выходу дешифратора соответствует одна ячейка памяти в блоке 45 (на фиг.1 выходы дешифратора 61 указаны шиной). Считывание выбранной константы на вход D1сумматора 43 осуществляется по сигналу с выхода схемы 10 сравнения на входе разрешения обращения блока 45. Блок 45 может быть реализован, например, на стандартных интегральных микросхемах 556РТ5, буферированных шинными формирователями 589АП16 по входам.

Блок 46 постоянной памяти предназначен для хранения наборов кодов, обеспечивающих управление группой мультиплек- соров 42.1-42.k в режиме алгоритмической реконфигурации по шаблону. В блоке 46 используется принцип двойной адресации. По адресному входу А1 в соответствии с кодом отказавшей команды с выхода регистра 7 осуществляется выбор последовательности управляющих кодов, выбор каждого набора внутри которой осуществляется по адресному входу А2 счетчиком 38. Считывание управляющих кодов с выходом 1-k блока 46 соответственно на адресные входы мультиплексоров 42.1-42.k осуществляется по сигналу с выхода элемента 60 задержки, который возбуждает вход разрешения обращения блока 46. Блок 46 может быть реализован, например, на стандартных интегральных микросхемах 556РТ5, буферированных шинными формирователями 589АП16 по входам.

Шинный формирователь 47 предназначен для буферирования выходов блока 3 постоянной памяти. Он обеспечивает считывание информации из блока 3 на вход-выход 27 в случае активирования входа разрешения сигналом логической "1"с выхода элемента ИЛИ 55. Иначе выход шинного формирователя находится в высокоимпедансном состоянии и не влияет на передачу информации по входу-выходу 27. Шинный формирователь 47 реализуется аналогично шинному формирователю 2.

Шинный формирователь 48 предназначен для буферирования выходов регистра 39. Он обеспечивает считывание информации из регистра 39 на адресный вход блока 3 в случае активирования входа разрешения сигналом логической "1" с выхода элемента И 67. Иначе выход шинного формирователя находится в высокоимпедансном состоянии и не влияет на передачу информации по адресному входу 28. Шинный формирователь 48 реализуется также аналогично шинному формирователю 2.

Шинный формирователь 49 предназначен для буферирования выходов демультиплексора 56. Он обеспечивает считывание информации с выхода Doдемультиплексора 56 на вход-выход 27 в случае активирования входа разрешения сигналом логической "1" с выхода элемента И 65. Иначе выход шинного формирователя находится в высокоимпедансном состоянии и не влияет на передачу информации по входу-выходу 27. Шинный формирователь 49 реализуется также аналогично шинному формирователю 2.

Шинный формирователь 50 предназначен для буферирования выходов группы регистров 41.0-41.k, эти выходы подключены соответственно к его 1-k (на фиг. 1 указаны шиной) информационным входам. Он обеспечивает считывание информации на вход-выход 27 в случае активирования входа разрешения сигналом логической "1" с выхода элемента И 66. Иначе выход шинного формирователя находится в высокоимпедансном состоянии и не влияет на передачу информации по входу-выходу 27. Шинный формирователь 50 также реализуется аналогично шинному формирователю 2.

Одновибратор 51 предназначен для управления элементами ИЛИ 53 и И 67 при появлении сигнала логической "1" на выходе элемента 59 задержки, при этом одновибратор 51 также блокирует элементы И 65, 66, удерживая выходы шинных формирователей 49, 50 в состоянии высокого импеданса. Одновибратор 51 реализуется аналогично одновибратору 23.

Элемент ИЛИ-НЕ 52 предназначен для управления элементом ИЛИ 55 в том случае, если активированы вход 29 режима замещения информации и вход 31 режима частичной реконфигурации устройства.

Элемент ИЛИ 53 предназначен для обнуления счетчика 38 либо сигналом начального сброса с входа 33, либо выходом одновибратора 51.

Элемент ИЛИ 54 предназначен для управления элементом 60 задержки в том случае, если возбужден выход 1.0 дешифратора 1 или выход элемента И 15.

Элемент ИЛИ 55 предназначен для управления входом разрешения шинного формирователя 47 в том случае, если возбужден выход элемента ИЛИ-НЕ 52 или выход элемента И 62.

Демультиплексор 56 предназначен для подключения выхода группы элементов задержки либо к информационному входу шинного формирователя 49, либо к информационному входу регистра 40 в зависимости от значения сигнала на выходе схемы 10 сравнения (если на выходе логическая "1", то вход демультиплексора 56 подключается к информационному входу регистра 40). Демультиплексор 56 может быть реализован, например, на стандартных интегральных микросхемах 155ИД3.

Группа элементов 57 задержки (на фиг.1 обозначена одним элементом) предназначена для задержки информации, поступающей с выхода мультиплексора 25 на вход демультиплексора 56 на период времени, необходимый для срабатывания схемы 10 сравнения и коммутации (в связи с этим) демультиплексора 56.

Элемент 58 задержки предназначен для задержки сигнала с выхода схемы 10 сравнения на вход синхронизации регистра 39 на период времени, необходимый для завершения вычислений в сумматоре 43.

Элемент 59 задержки предназначен для задержки сигнала управления одновибратором 51 с отдельного выхода блока 4 на период времени, необходимый для надежного считывания шаблона из блока 4, завершения формирования на его основе программы эквивалентной замены отказавшей команды.

Элемент 60 задержки предназначен для задержки сигнала с выхода элемента ИЛИ 54 на вход разрешения обращения блока 46 памяти на период времени, необходимый для надежного срабатывания счетчика 38.

Дешифратор 61 предназначен для управления блоком 45 памяти. Он дешифрирует информацию, записанную в регистре 7, в том случае, если активирован выход элемента НЕ 44, возбуждающий вход разрешения дешифратора 61. Количество выходов дешифратора соответствует количеству ячеек в блоке 45. В зависимости от кода команды, записанного в регистре 7, возбуждается выход дешифратора 61, активизирующий ячейку блока 45, где записана соответствующая этому коду константа. Дешифратор 61 может быть реализован, например, на стандартных интегральных микросхемах 155ИД3.

Элемент И 62 предназначен для управления элементом ИЛИ 55 в том случае, если возбужден вход 31 режима частичной реконфигурации и не активирован выход элемента ИЛИ 11.

Элемент И 63 предназначен для управления счетным входом счетчика 38 в том случае, если возбуждены вход элемента НЕ 44 и выход 1.0 дешифратора 1.

Элемент И 64 предназначен для управления записью информации в регистр 40 в том случае, если возбужден выход схемы 10 сравнения и не активированы вход 30 режима полной реконфигурации и вход 36 задания типа замещаемой информации.

Элемент И 65 предназначен для управления входом разрешения шинного формирователя 49 в том случае, если возбужден выход элемента НЕ 44 и не активирован выход одновибратора 51.

Элемент И 66 предназначен для управления входом разрешения шинного формирователя 50 в том случае, если возбужден выход 1.0 дешифратора 1 и не активирован выход одновибратора 51.

Элемент И 67 предназначен для управления входом разрешения шинного формирователя 48 в том случае, если возбужден выход одновибратора 51 и не активирован выход 30 режима полной реконфигурации.

Устройство работает следующим образом.

Режим настройки. В этом режиме внешняя ЭВМ записывает в регистр 7 и счетчики 6,26 настроечную информацию. Предварительно перед записью информации по входу 38 производится обнуление счетчика 6, регистра 7, триггера 9 через элемент ИЛИ 13 и счетчика 38 через элемент ИЛИ 53. При этом по входу-выходу 27 поступает слово информации, а на адресных входах устанавливается адрес ячейки памяти, т.е. адрес регистра 7. Так как в этом случае возбуждается вход 34 устройства, то активируется выход элемента ИЛИ 14, возбуждается вход разрешения дешифратора 1, его выход 1.1 и соответственно выход элемента И 15, что приводит к записи в регистр 7 кода команды, требующей алгоритмической реконфигурации, а также к выдаче на адресные входы группы мультиплексоров 42.1-42. k управляющих наборов с выходов 1-k соответственно блока 46 (на первый адресный вход которого подается код команды с регистра 7, а на второй нулевое значение с выхода счетчика 38), поскольку логическая "1" на выходе элемента И 15 через элемент ИЛИ 54 и элемент 60 задержки разрешает выдачу информации, необходимой для режима алгоритмической реконфигурации по шаблону.

Аналогично происходит запись информации в счетчик 6, куда записывается адрес команды перехода на заданный вариант алгоритмической конфигурации, при этом возбуждается выход 1.2дешифратора 1 и выход элемента И 16. Информация записывается с входа-выхода 27. В счетчик 26 может быть записан код количества повторений заданной команды, при которых необходима алгоритмическая реконфигурация. При этом аналогично выше описанному возбуждается выход 1.3 дешифратора 1, выход элемента И 17 и информация записывается по входам данных счетчика 26 с входа-выхода 27 по синхроимпульсу с выхода элемента И 17.

Режим замены информации в ячейке. В этом режиме на входы 30, 37 подается логическая "1". Информация, загруженная в регистр 7, в этом случае имеет смысл адреса ячейки, в которой информация подлежит замене, причем код адреса новой информации записан в счетчик 6. Счетчик 26 в этом режиме не используется. На вход 36 подается логическая "1" и вход 28 подключается к схеме 10 сравнения. Информация с выхода мультиплексора 25 поступает также на демультиплексор 56, с которого (в зависимости от сигнала на его адресном входе) она подается либо на шинный формирователь 49, либо на регистр 40, но в этом режиме эти элементы не используются, поскольку на входе синхронизации регистра 40 установлен нулевой сигнал с выхода элемента И 64, а на входе разрешения шинного формирователя 49 нулевой сигнал с выхода 1.0 дешифратора 1. Входы 29, 31, 32 обнулены, единичный сигнал с выхода элемента ИЛИ-НЕ 52 через элемент ИЛИ 55 возбуждает вход управления шинного формирователя 47, обеспечивая внешней ЭВМ считывание (с входа-выхода 27) и выполнение программы, записанной в блоке 3 постоянной памяти. При этом возбуждаются вход 35 или 32, поэтому на адресах ячеек блока 3 возбуждается выход 1.5 дешифратора 1 и, так как триггер 9 пока обнулен, то выход элемента И 19 возбуждает вход выборки блока 3, из которого в соответствии с адресами, установленными на входе 28, через шинный формирователь 47 считывается либо команда, либо данные на вход-выход 27. Если считывается информация по адресу, заданному в регистре 7, то возбужден выход элемента И 21 (возбуждены вход 30 и выход 1.5 дешифратора 1), поэтому через элемент ИЛИ 12 возбуждается вход управления схемы 10 сравнения. Активируется выход схемы сравнения (информация в регистре 7 равна информации на входе 28, поступающей через мультиплексор 25), поэтому устанавливается триггер 9, так как его информационный вход подключен к входу логической "1" устройства, в регистр 8 записывается адрес, установленный на входе 28. Изменяется и состояние счетчика 26, однако в этом режиме он не используется. Выход триггера 9 через элемент И 19 блокирует чтение информации из блока 3 и подключает блок 5 через элемент И 18, чем обеспечивается замена информации по заданному адресу. В блоке 5 один информационный выход предназначен для сброса триггера 9 после такой замены, что и происходит с задержкой, определяемой элементом 24 (необходима для надежного считывания замененной информации), одновибратором 23, который через элемент ИЛИ 13 обнуляет триггер 9. Изменяется состояние счетчика 6. При следующей установке триггера 9 из блока 5 считана информация из очередной ячейки. Следовательно, заменяемая информация может меняться в ходе вычислительного процесса. Иначе необходимо установить на входе логический "0", блокирующий прохождение счетных импульсов.

Аналогично прототипу в этом режиме может осуществляться замена не только по адресам, но и по данным. В этом случае вход 36 не активируется (выход мультиплексора 25 подключен к входу Do), а в регистр 7 записывается код, который необходимо заменить на другой, записанный в блоке 5. Для замены только данных на вход 29 управления подается логическая "1", на выходе элемента ИЛИ-НЕ 52 появляется логический "0", который через элемент ИЛИ 55 переводит выход шинного формирователя 47 в состояние высокого импеданса (на выходе элемента И 62 логический "0"), т.е. исключает считывание информации из блока 3 непосредственно на вход-выход 27. Логическая "1" с выхода элемента НЕ 44 через элемент И 65 активирует вход разрешения шинного формирователя 49 (на выходе одновибратора 51 логический "0"). Теперь информация с выхода блока 3 на вход-выход 27 поступает через мультиплексор 25, демультиплексор 56 и шинный формирователь 49. Аналогично вышеописанному при считывании кода, установленного в регистре 7, возбуждается выход схемы 10 сравнения, устанавливается триггер 9 и из блока 5 считывается всякий раз другая необходимая информация с учетом изменения состояния счетчика 6, если необходимо. Адреса, записываемые в регистр 8, могут использоваться для отладки с целью проверки работы устройства, причем они считываются из регистра 8 программно: возбуждается выход 1.4 дешифратора 1 (регистр 8 через шинный формирователь 2 программно доступен как ячейка памяти для чтения), возбуждается вход управления шинного формирователя 2 и адрес из регистра 8 поступает на вход-выход 27.

Режим полной алгоритмической реконфигурации. В этом режиме устройство обеспечивает выдачу на входы-выходы 27 кодов команд безусловного перехода для замены команд, которые не могут быть выполнены внешним процессором в связи с некоторым частичным отказом его технических средств (это может быть идентифицировано самим процессором по результатам, например, его самопроверки) на их алгоритмические эквиваленты, составленные и оставшихся команд. В отличие от прототипа в блоке 4 записаны не целиком программы эквивалентных замен, а только их шаблоны (состоящие из шаблонов команд), на основании которых предлагаемое устройство за счет использования операндов отказавшей команды и формирует полноценные замены отказавших команд. Это позволяет существенно сократить эти программы, а следовательно, потребные объемы памяти и время выполнения эквивалентных замен.

В регистре 7 записан код команды, подлежащей замене, в счетчике 6 соответствующий этому коду адрес команды безусловного перехода на начало алгоритмического эквивалента шаблона, записанного в блоке 4. На входы 29, 37 управления подается логическая "1", на входы 30, 31, 36 логические "0". Причем подача логических уровней на входы управления может быть осуществлена, например, внешним процессором путем вывода кода на некоторый внешний регистр (не указан на фиг.1) либо, например, подачей требуемых уровней напряжения жестко. Логический "0" с выхода элемента ИЛИ-НЕ 52 через элемент ИЛИ 55 (на выходе элемента И 62 также логический "0") переводит выход шинного формирователя 47 в состояние высокого импеданса, а сигнал с выхода элемента НЕ 44 активизирует входы управления дешифратора 61 через элемент И 65 шинного формирователя 49, а также первый вход элемента И 63. В результате перевода в состояние высокого импеданса шинного формирователя 47 и активирования выхода шинного формирователя 49 устройство в течение всего режима исключает считывание во внешний процессор по входу-выходу 27 неисправной команды (прототипом не обеспечивалось), осуществляя проверку на схеме 10 сравнения (поскольку входы D1 и Do схемы сравнения подключены соответственно к выходам регистра 7 и мультиплексора 25) всей информации, считываемой из блока 3, на предмет совпадения с кодом команды, записанным в регистре 7. В случае несовпадения информация из блока 3 на вход-выход 27 поступает через мультиплексор 25, группу элементов 57 задержки, демультиплексор 56 и шинный формирователь 49. Выходы блоков 2, 5, 47, 50 находятся в высокоимпедансном состоянии и не влияют на передачу информации по входу-выходы 27. Логическая "1" на управляющем входе дешифратора 61 разрешает осуществить в нем декодирование кода команды из регистра 7. В результате возбуждается выход дешифратора 61, соответствующий формату отказавшей команды (на фиг.1 выходы дешифратора 1 указаны шиной), и в блоке 45 осуществляется выбор ячейки памяти, из которой будет проведено считывание константы, необходимой для вычисления продвинутого адреса (адреса ячейки памяти блока 3, следующей за той, откуда была считана неисправная команда). Процесс вычисления продвинутого адреса заключается в увеличении адреса отказавшей команды на длину (в байтах) этой отказавшей команды (поскольку информация в основной памятиЭВМ располагается последовательно единым массивом), что осуществляется сум- матором 43. Количество необходимых ячеек в блоке 45 определяется количеством различных форматов команд, используемых в ВС. Так, например, для процессора БИ 0210 ЕС ЭВМ (БИ 0210 Техническое описание ЦЕ 3.031.041 ТО1 1987), где используются команды и данные разрядности 16 и 32, достаточно двух ячеек памяти (в памяти блока 45 будут константы 2 и 4).

При чтении из блока 3 возбуждается выход 1.5 дешифратора 1, при выборке команды возбуждается вход 32, вход 29 возбужден, поэтому активируются выходы элементов И 22, ИЛИ 12, в связи с чем при сравнении (т.е. из блока 3 считана неисправная команда) возбуждается выход схемы 10 сравнения, который устанавливает триггер 9 в единичное состояние, осуществляет запись в регистр 8 адреса команды, подлежащей алгоритмической реконфигурации, производит выдачу на вход D1 сумматора 43 соответствующей коду команды константы из блока 45, через адресный вход демультиплексора 56 обеспечивает подключение его входа к выходу D1. Кроме того, единичный сигнал на выходе схемы 10 сравнения активирует выход элемента И 64, который обеспечивает запись в регистр 40 через демультиплексор 56 (с задержкой, обеспечиваемой группой элементов 57 задержки, в целях надежного срабатывания демультиплексора 56) команды, при которой произошло сравнение. Выходы 1-k регистра 40 позволяют использовать любой информационный участок отказавшей команды на каждом шаге считывания шаблона. Считывание информации с того или иного выхода регистра 40 (для записи в шаблон того или иного информационного участка отказавшей команды) осуществляется в соответст- вии с управляющим кодом на выходах 1-k блока 46, поступающим соответственно на адресные входы мультиплексоров 42.1-42.k. Поскольку на вход Doсумматора 43 с выхода регистра 8 поступает адрес отказавшей команды, а на вход D1 необходимая константа, то продвинутый адрес с выхода сумматора 43 будет считан в регистр 39 (запись в регистр 39 обеспечивается логической "1" с выхода схемы 10 сравнения с задержкой, осуществляемой элементом 58 в целях надежного срабатывания регистра 8 и сумматора 43). Выход триггера 9 блокирует элемент И 19 и разблокирует элемент И 18. Такая блокировка происходит столь быстро, что внешний процессор вводит информацию не с выхода блока 3, а с выхода блока 5. Выходы блоков 2, 4, 50 в этот момент находятся в высокоимпедансном состоянии и не влияют на передачу информации по входу-выходу 27 (выход шинного формирователя 49 также не оказывает влияния, поскольку его информационный вход-выход отключен от входа демультиплексора 56). Как уже было описано, из блока 5 в этом режиме считывается команда безусловного перехода на заданный шаблон алгоритмического эквивалента, которая и воспринимается внешним процессором. Частота синхронизации внешнего процессора такова, что он считывает информацию с шины данных позднее возможного момента срабатывания триггера 9 и переключения блоков 3,5 памяти, поэтому процессор не "заметит", что устройство "подставит" ему вместо кода неисправной команды команду безусловного перехода на шаблон алгоритмического эквивалента, записанный в блоке 4. При этом возбужден выход 1.5 дешифратора 1, выход элемента И 18 и вход разрешения блока 5. Если команда безусловного перехода содержит не одно слово, то процессор вновь программно обращается к блоку 5: возбуждается выход 1.5 дешифратора 1 и из блока 5 считывается очередное слово, так как состояние счетчика 6 изменилось задним фронтом импульса на выходе И 18. При считывании последнего слова возбуждается отдельный выход блока 5 и с задержкой, определяемой элементом 24 задержки, срабатывает одновибратор 23, в связи с чем через элемент ИЛИ 13 обнуляется триггер 9. Внешний процессор программно переходит к выполнению алгоритмического эквивалента отказавшей команды на основе соответствующего шаблона из блока 4. При этом возбуждается выход 1.0 дешифратора 1 (адреса шаблонов алгоритмических эквивалентов не пересекаются с адресами основной программы, записанной в блоке 3) и первое слово шаблона (шаблон команды) с выходов 0-k (на фиг.1 не указаны) блока 4 поступает на вход регистра 41.0 и входы Doмультиплексоров 42.1-42. k. Причем каждое считываемое слово шаблона подвергается декомпозиции: на вход регистра 41.0 подаются первые разряды слова (представляющие код команды), остальные разряды разбиты на k групп (информационных участков) и подаются соответственно на входы Doмультиплексоров 42.1-42.k (т.е. на вход Do мультиплексора 41.i поступает i-й участок команды (слова шаблона) из блока 4, i=устройство управления памятью, патент № 2037874. На остальные входы D1-Dk этих мультиплексоров подаются соответственно информационные участки 1-k отказавшей команды (код команды не используется) из регистра 40 (т.е. i-й информационный участок отказавшей команды подается на все i-е входы мультиплексоров 42.1-42.k). Мультиплексоры 42.1-42. k управляются по адресным входам кодами из блока 4, т.е. в регистры 41.1-41. k в данном режиме целиком переписана команда (слово шаблона) из соответствующей ячейки блока 4 в случае управляющего кода устройство управления памятью, патент № 2037874 (выходы всех мультиплексоров 42.1-42.k подключены к их входам Do) или в эти регистры записывается скорректированное слово шаблона для иного управляющего кода (т.е. из регистра 40 в слово шаблона внесены соответствующие информационные участки отказавшей команды). Количество мультиплексоров k определяется в зависимости от формата используемых команд и соответствует количеству выходов регистра 40. Например, в процессоре БИ 0210 ЕС ЭВМ используются команды форматов, представленных на фиг.3.

Cледует отметить, что команды формата S, составляющие 11% (проверить ввод-вывод, начать ввод-вывод, остановить ввод-вывод, проверить канал, записать в память адреса процессора, загрузка слова состояния программы) в случае отказа не могут быть реализованы предлагаемым способом (т.е. комбинацией оставшихся), поэтому в дальнейшем формат S не рассматривается. Тогда операнды или информация о них в рассматриваемом примере всегда размещаются в разрядах 8-32 формата команды.

Для рассматриваемой системы команд целесообразно использовать восьмиразрядный регистр 41.0 (для кода команды) и четырехразрядные регистры 41.1-41. k, мультиплексоры 42.1-42. k соответственно должны обеспечивать коммутацию четырехразрядных шин. Зная максимальную длину используемых команд и количество разрядов, отводимых для кода команды, не трудно определить k=(32-8)/4= 6. В универсальном устройстве число k может быть равно количеству разрядов, отводимых в наибольшем формате для операндов. На входы D1-Dk мультиплексоров 42.1-42.k подаются параллельно информационные участки 1-k отказавшей команды соответственно с выходов 1-k регистра 40. Поэтому в соответствии с управляющим кодом блока 46 (по переднему фронту сигнала 1.0) осуществляется запись первой команды программы эквивалентной замены (первого слова шаблона, насыщенного необходимой контекстной информацией) в регистры 41.1-41.k. Поскольку выходы этих регистров подключены соответственно к информационным входам 0-k (на фиг. 1 не указаны) шинного формирователя 50, то первая синтезированная команда через шинный формирователь 50 (вход разрешения которого активирован сигналом 1.0) считывается на вход-выход 27. По заднему фронту сигнала 1.0 состояние счетчика увеличивается на единицу (равно единице) и из блока 46 с задержкой, определяемой элементом 60 задержки (в целях надежного срабатывания счетчика 38, осуществляющего выбор в блоке 46 очередного управляющего кода, а также исключения помех при формировании предыдущей команды обхода в регистрах 41.0-41.k), через адресные входы осуществляется настройка мультиплексоров 42.1-42. k для формирования второй команды программы обхода. Формирование второй команды в регистрах 41.0-41.k и считывание на вход-выход 27 через шинный формирователь 50 вновь осуществляются по переднему фронту сигнала 1.0, по заднему фронту которого состояние счетчика 38 вновь увеличивается на единицу. Далее устройство работает аналогично до считывания из блока 4 последнего слова шаблона и считывания с шинного формирователя 50 на вход-выход 27 последней команды алгоритмического эквивалента. При этом в случае необходимости возможно считывание на вход-выход 27 информации из блока 3 (так как элемент И 19 к этому моменту уже разблокирован) через мультиплексор 25, элемент 58 задержки, демультиплексор 56 и шинный формирователь 49 (нулевой сигнал с выхода схемы 10 сравнения обеспечивает подключение выхода Do демультиплексора 56 к его входу, а также чере элемент И 64 исключает изменение информации в регистре 40). Выходы шинных формирователей 2,47 и блока 5 находятся в высокоимпедансном состоянии и на передачу информации во внешний процессор по входу-выходу 27 не влияют, а адреса, используемые в блоках 3 и 4, не повторяются. После считывания последнего слова из блока 4 возбуждается его отдельный выход и с задержкой, определяемой элементом 59, срабатывает одновибратор 51, который через элемент И 67 активирует вход управления шинного формирователя 48. Через шинный формирователь 48 на адресный вход блока 3 памяти подается продвинутый адрес (записан в регистре 39), т.е. в дальнейшем программа на основе считываемых из блока 3 команд (при этом активируется выход 1.5 дешифратора 1 аналогично вышеописанному) выполняется с учетом результатов выполнения алгоритмического эквивалента отказавшей команды. Причем считывание команд из блока 3 на вход-выход 27 по-прежнему производится через мультиплексор 25, группу элементов 57 задержки, демультиплексор 56 и шинный формирователь 49 до появления в программе вновь отказавшей команды.

Если команда безусловного перехода (в блоке 5) содержит несколько слов, то программа алгоритмического эквивалента должна предусматривать возврат содержимого счетчика 6 записью в него необходимого адреса (обращение к нему как к ячейке памяти с фиксированным адресом, возбуждающим выход 1.2 дешифратора 1). Если используемая команда безусловного перехода содержит одно слово (например, BCR и ВС при R1=15 для процессора БИ 0210), то выход 37 обнулен и этого делать не нужно.

Возможна модификация описанного режима в этом случае обращение к блоку 5 происходит в зависимости от адреса на входах 28. Для этого на входы 30, 36 устройства подается логическая "1", на вход 29 логический "0". Логическая "1" с выхода элемента ИЛИ-НЕ 52 через элемент ИЛИ 55 активирует вход разрешения шинного формирователя 47, разрешая выдачу информации из блока 3 на вход-выход 27, а логический "0" с выхода элемента НЕ 44 через элемент И 65 переводит в состояние высокого импеданса выход шинного формирователя 49. Нулевой сигнал на выходе элемента И 67 поддерживает выход шинного формирователя 48 в состоянии высокого импеданса, а нулевой сигнал с выхода элемента И 64 исключает запись в регистр 40. Обращение к блоку 5 на считывание команды безусловного перехода происходит в случае совпадения (на схеме 10 сравнения) адреса на входе 28 с адресом, записанным в регистре 7. Аналогично осуществляется считывание информации из блока 4, но в данном случае в соответствующей области памяти блока записаны не шаблоны, а готовые команды, при этом управляющие коды блока 46 представляют наборы нулей (т.е. обеспечивают соединение входов Doмультиплексоров 42.1-42.k с их выходами). Причем после завершения программы, записанной в блоке 4, возможен программный переход по адресу, записанному в регистре 8 (как описано выше), что позволяет "расширить" в заданных точках программное обеспечение, записанное в блоке 3, без нарушения структуры. Это, например, необходимо для модификации некоторой программы с целью доработок либо с целью требуемого уменьшения алгоритма в процессе многократного его использования во время работы ВС.

Режим частичной алгоритмической реконфигурации. В этом режиме алгоритмическая реконфигурация производится не всякий раз, когда из блока 3 считывается заданный код команды, а заданное количество раз. Частичная алгоритмическая реконфигурация необходима, например, для модификации программы путем однократной или многократной замены некоторой команды ее алгоритмическим эквивалентом с целью сравнения результатов вычислений для контроля работы ВС. Код количества конфигураций заносится в счетчик 26 (описано подробно в режиме настройки), на входы 31, 37 подается логическая "1", входы 29, 30, 36 обнулены. Выход шинного формирователя 47 удерживается в состоянии высокого импеданса логическим "0" с выхода элемента ИЛИ 55 и считывание информации из блока 3 осуществляется как и предыдущем режиме. Через элемент ИЛИ 11 возбуждается вход элемента И 20, выход которого возбужден при чтении команды, так как в этом случае возбуждены выход 1.5 дешифратора 1 и вход 32. Поэтому аналогично предыдущему режиму возбуждается выход элемента ИЛИ 12 и, если из блока 3 считан заданный код команды, возбуждается выход схемы 10 сравнения, устанавливается триггер 9 и в дальнейшем устройство работает вышеописанным образом. После обнуления триггера 9 задним фронтом сигнала с его выхода уменьшается на единицу содержимое счетчика 26. Алгоритмическая реконфигурация производится до тех пор, пока не обнулится счетчик 26, тогда на выходе элемента ИЛИ 11 установлен логический "0", который блокирует элемент И 20, блокируется также схема 10 сравнения по входу синхронизации. Логический "0" на выходе элемента ИЛИ 11 возбуждает инверсный вход элемента И 62 (на входе 31 логическая "1"), логическая "1" с выхода которого через элемент ИЛИ 55 активирует вход разрешения шинного формирователя 47, а логический "0" с выхода элемента НЕ 44 переводит в состояние высокого импеданса выход шинного формирователя 49. В дальнейшем считывание информации из блока 3 на вход-выход 27 осуществляется через шинный формирователь 47 (выходы блоков 2, 5, 49, 50 находятся в высокоимпедансном состоянии).

Следует заметить, что счетчик 26 и триггер 9 могут быть сброшены программно при обращении внешнего процессора к ним как к фиксированным ячейкам памяти (как в режиме чтения, так и в режиме записи), при этом возбуждаются соответственно выходы 1.7, 1.6 дешифратора 1. Это может быть необходимо, например, для прекращения режима алгоритмической реконфигурации при отладке либо при работе ВС.

Таким образом, предлагаемое устройство, обеспечивая всю номенклатуру режимов работы прототипа, позволяет в режиме алгоритмической реконфигурации существенно сократить затраты памяти и соответственно время выполнения алгоритмического эквивалента отказавшей команды. Для сравнительных оценок рассмотрим примеры выполнения эквивалентных замен одной из команд процессора БИ 0210 прототипом и предлагаемым устройством. Допустим, что в результате самопроверки процессора определена неисправновность невыполнение команды сложение А (5А).

Для прототипа программа алгоритмического эквивалента этой команды, записанная в блоке 4, может выглядеть следующим образом (в качестве начального адреса используется 15016):

150 90 0 6 0 0 Е 0 запись в память содержимого всех регистров общего назначения(РОН);

154 58 4 0 0 0 D C запись в память продвинутого адреса, определение адреса отказавшей

158 98 5 6 0 0 2 8 команды, запись его в память;

15С 54 6 0 0 0 А 0

160 50 6 0 0 0 8 0

164 50 5 0 0 0 7 С

168 5В 6 0 4 7 7 0

16С 50 6 0 0 0 А 4

170 54 6 0 0 0 С 8

174 47 7 0 0 I D A переход по адресу IDA, если отказавшая команда находится на границе полуслова, иначе по адресу 178;

178 58 6 0 0 0 А 4 выделение содержимого отказавшей команды,

17С 58 6 0 6 0 0 0 если она записана на границе слова;

180 18 5 6 выделение атрибутов отказавшей команды,

182 54 6 0 0 0 1С заполнение ими шаблона обхода (адреса

186 56 6 0 0 0 С 5 IAA-IB6);

18А 50 6 0 0 1 А А

18Е 89 5 0 0 0 0 8

192 88 5 0 0 0 1 С

196 89 5 0 0 0 0 2

19А 4А 5 0 0 1 5 2

19Е 40 5 0 0 1 В 0

1А2 40 5 0 0 1 В 8

1А6 98 0 6 0 0 Е 0 первое восстановление РОН-ов;

IАА 00 0 0 0 0 0 0 собственно шаблон обхода отказавшей команды в данном случае за IАЕ 58 2 0 0 0 0 0 счет использования последовательно операций загрузка дополнения

IВ2 13 3 3 LCR (13) и вычитание регистровое SR (IB);

IВ4 1В 2 3

IВ6 50 2 0 0 0 0 0

IВА 98 0 6 0 0 Е 0 второе восстановление РОН-ов (с учетом результатов выполнения обхо IВЕ 47 8 0 0 I D 6 да отказавшей команды);

IС2 92 1 0 0 0 В 0

IС6 47 4 0 0 I D 6 коррекция кода условия в зависимости от результатов выполнения обхо IСА 92 2 0 0 0 8 0 да отказавшей команды;

IСЕ 47 2 0 0 I D 6

ID2 92 3 0 0 0 8 0

ID6 82 0 0 0 0 7 С переход по продвинутому адресу, т.е. обращение к адресу, следующе-

му за адресом отказавшей команды;

IDА 58 6 0 0 0 А 4 выделение содержимого отказавшей команды для случая, когда она на-IDE 58 6 0 6 0 0 0 ходится на границе полуслова, после завершения безусловный пере- IE2 54 6 0 0 0 A 8 ход на общий участок программы (по адресу 180).

IE6 58 5 0 0 0 2 C

IEА 5В 5 0 4 7 7 4

IEE 58 5 0 5 0 0 0

IF2 88 5 0 0 0 1 0

IF6 IА 6 5

IF8 47 F 0 0 1 8 0

Кроме того, для осуществления эквивалентной замены в данной программе используются константы: 000FFFFF (OIC), 00040000 (ODC), 58300000 (OOC), CFFFFFFF (OAO), 00000003 (OC8), FFFF0000 (OA8).

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

Предлагаемому устройству для эквивалентной замены этой же операции А(5А) требуется следующая информация:

в блоке 4 соответственно в блоке 46

150 50 0 0 0 2 0 4 0 0 0 0 0 0

154 50 1 0 0 2 1 4 0 0 0 0 0 0

158 50 2 0 0 2 2 4 0 0 0 0 0 0

15С 50 3 0 0 2 3 4 0 0 0 0 0 0

160 50 4 0 0 2 4 4 0 0 0 0 0 0

164 50 5 0 0 2 5 4 0 0 0 0 0 0

168 50 6 0 0 2 6 4 0 0 0 0 0 0

16С 58 0 устройство управления памятью, патент № 2037874 0 2 3 4 5 6

170 13 0 0 0 0 0 0 0 0

172 50 0 устройство управления памятью, патент № 2037874 0 2 3 4 5 6

176 58 устройство управления памятью, патент № 2037874 0 0 2 устройство управления памятью, патент № 2037874 4 1 0 0 0 1 0

17А 5B устройство управления памятью, патент № 2037874 устройство управления памятью, патент № 2037874 1 2 3 4 5 6

17Е 50 0 0 0 2 устройство управления памятью, патент № 2037874 4 0 0 0 0 1 0

182 58 0 0 0 2 0 4 0 0 0 0 0 0

186 58 1 0 0 2 1 4 0 0 0 0 0 0

18А 58 2 0 0 2 2 4 0 0 0 0 0 0

19Е 58 3 0 0 2 3 4 0 0 0 0 0 0

IA2 58 4 0 0 2 4 4 0 0 0 0 0 0

IA6 58 5 0 0 2 5 4 0 0 0 0 0 0

IAA 58 6 0 0 2 6 4 0 0 0 0 0 0

Из блока 45 используется константа "4".

В данном алгоритме "*" обозначены позиции, в которые предлагаемое устройство описанным выше образом вносит атрибуты отказавшей команды: устройство управления памятью, патент № 2037874 символ первого операнда, устройство управления памятью, патент № 2037874 соответственно второго операнда. Например, если по адресу 4Е6D4 из блока 3 считана команда 5А устройство управления памятью, патент № 2037874 (с выходов 1-6 регистра 40 считывается соответственно 5,0,6,В,А,А), то с предлагаемого устройства на вход-выход 27 считана программа

50 0 0 0 2 0 4 запись в память содержимого всех РОН-ов;

50 1 0 0 2 1 4

50 2 0 0 2 2 4

50 3 0 0 2 3 4

50 4 0 0 2 4 4

50 5 0 0 2 5 4

50 6 0 0 2 6 4

58 0 устройство управления памятью, патент № 2037874 загрузка в используемый РОН второго операнда (отказавшей команды);

13 0 0 проведение над содержимым используемого РОН-а операции загрузки

дополнения (в целях получения отрицательного значения второго опе-

ранда);

50 0 устройство управления памятью, патент № 2037874 запись в память полученного отрицательного значения второго операн- да;

58 устройство управления памятью, патент № 2037874 0 0 2 устройство управления памятью, патент № 2037874 4 загрузка в используемый РОН первого операнда;

устройство управления памятью, патент № 2037874 из первого операнда вычитается отрицательное значение второго,

т. е. по существу осуществляется их сложение;

50 0 0 0 2 устройство управления памятью, патент № 2037874 4 запись в память полученного значения (коррекция области памяти,

отведенной для данного РОН-а по результатам вычислений);

58 0 0 0 2 0 4 восстановление содержимого всех РОН-ов.

58 1 0 0 2 1 4

58 2 0 0 2 2 4

58 3 0 0 2 3 4

58 4 0 0 2 4 4

58 5 0 0 2 5 4

58 6 0 0 2 6 4

По завершении считывания этой программы из регистра 39 через шинный формирователь 48 на адресный вход блока 3 будет считан продвинутый адрес 4F6D8.

Таким образом, эквивалентная замена отказавшей команды обеспечена алгоритмом из 20 команд (составленного из четырех различных), при этом затраты памяти составляют 78 байтов в блоке 4 и 45 байтов в блоке 46, что дает выигрыш по сравнению с прототипом более чем 1,5 раза. Прототипу для выполнения режима полной алгоритмической реконфигурации рассматриваемой команды при реализации на БИ 0210 требуется 346 мкс (если отказавшая команда располагается в блоке 3 на границе слова) или 424 мкс (если на границе полуслова), в то время как предлагаемому устройству всего 112 мкс, т. е. выигрыш по времени составляет 3,1-3,8 раза. Кроме того, предлагаемым устройством для реализации эквивалентной замены используется значительно меньше различных команд для А(5А) всего четыре (в прототипе в 4,5 раза больше 18), что существенно расширяет возможности использования предлагаемого устройства в отказоустойчивых ВС в условиях множественных отказов системы команд.

Класс G06F12/00 Выборка, адресация или распределение данных в системах или архитектурах памяти

способ скрытного хранения конфиденциальных данных в защищенной энергонезависимой памяти и устройство для его реализации -  патент 2527758 (10.09.2014)
способ, сервер, компьютерная программа и компьютерный программный продукт для кэширования -  патент 2527736 (10.09.2014)
способ разрушения интегральных схем памяти носителей информации -  патент 2527241 (27.08.2014)
способ восстановления данных в системе управления базами данных -  патент 2526753 (27.08.2014)
система контроля доступа к файлам на основе их автоматической разметки -  патент 2524566 (27.07.2014)
носитель записи, устройство воспроизведения и интегральная схема -  патент 2523178 (20.07.2014)
устройство формирования файлов изображения, устройство обработки изображения, способ формирования файлов изображения, способ обработки изображения и структура данных файлов изображения -  патент 2519058 (10.06.2014)
обработка транзакций для действий с побочным эффектом в транзакционной памяти -  патент 2510977 (10.04.2014)
устройство для внедрения водяного знака в информационное представление, детектор для обнаружения водяного знака в информационном представлении, способ и компьютерная программа и информационный сигнал -  патент 2510937 (10.04.2014)
способ репликации информации в распределенных базах данных с конкурентным распределением потоков -  патент 2510623 (10.04.2014)
Наверх