RU2037874C1 - Device for control of memory unit - Google Patents
Device for control of memory unitInfo
- Publication number
- RU2037874C1 RU2037874C1 RU93012944A RU93012944A RU2037874C1 RU 2037874 C1 RU2037874 C1 RU 2037874C1 RU 93012944 A RU93012944 A RU 93012944A RU 93012944 A RU93012944 A RU 93012944A RU 2037874 C1 RU2037874 C1 RU 2037874C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- information
- inputs
- register
- Prior art date
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано в отказоустойчивых вычислительных системах. The invention relates to computer technology and can be used in fault-tolerant computing systems.
Известно устройство вызова интерпретированных программ, содержащее два триггера, запоминающее устройство, регистр и два элемента И (Сигналов В.И. Об одном подходе к расширению систем команд однокристального микропроцессора. Управляющие системы и машины, N 4, 1985, с.31-33). A device for calling interpreted programs is known, which contains two triggers, a memory device, a register, and two AND elements (V.I. Signals. On one approach to expanding single-chip microprocessor instruction systems. Control systems and machines,
Недостатками такого устройства являются узкие область применения и класс решаемых задач, так как оно может быть использовано для интерпретации команд, отсутствующих в системе команд данного микропроцессора, и не может менять режимы интерпретации в процессе работы микропроцессорной системы, что необходимо в отказоустойчивых системах. The disadvantages of such a device are the narrow scope and class of tasks to be solved, since it can be used to interpret commands that are not in the command system of a given microprocessor, and cannot change interpretation modes during the operation of a microprocessor system, which is necessary in fault-tolerant systems.
Известно также устройство, содержащее дешифратор, четыре блока постоянной памяти, адресную матрицу, накопительную матрицу, элемент ИЛИ, шинные формирователи, инвертор, группу инверторов (Шевкопляс Б.В. Микропроцессорные структуры, М. Радио и связь, 1986, с.214-215, рис.10.7). It is also known a device containing a decoder, four blocks of read-only memory, an address matrix, a storage matrix, an OR element, bus drivers, an inverter, a group of inverters (Shevkoplyas B.V. Microprocessor structures, M. Radio and communications, 1986, pp. 212-215 , fig. 10.7).
Недостатками такого устройства являются узкие область применения и класс решаемых задач, так как оно позволяет лишь заменять неправильные коды команд на правильные (ячейку на ячейку) и не способно обеспечить замену отказавшей команды на эквивалентные последовательности команд произвольной длины, не содержащие кодов отказавшей команды (а такая возможность вследствие избыточности системы команд имеется почти всегда). The disadvantages of such a device are the narrow scope and class of tasks to be solved, since it only allows you to replace the wrong command codes with the correct ones (cell by cell) and is not able to provide the replacement of a failed command with equivalent sequences of commands of arbitrary length that do not contain codes of a failed command (and such the possibility due to the redundancy of the command system is almost always there).
Наиболее близким по технической сущности к предлагаемому является устройство управления памятью, содержащее дешифратор, шинный формирователь, три блока постоянной памяти, два счетчика, два регистра, триггер, схему сравнения, четыре элемента ИЛИ, восемь элементов И, одновибратор, элемент задержки, мультиплексор, причем выходы всех блоков памяти, шинного формирователя, информационные входы первого и второго счетчиков, второго регистра и первый информационный вход мультиплексора подключены к информационному входу-выходу устройства, информационные входы первого регистра, дешифратора, второй информационный вход мультиплексора, адресные входы первого и второго блоков памяти подключены к адресному входу устройства, третий вход первого элемента ИЛИ, третий вход восьмого элемента И и четвертый вход шестого элемента И подключены к входу выборки команды устройства, третий вход второго элемента ИЛИ, входы установки в "0" первого и второго регистров и первого счетчика подключены к входу начальной установки устройства, второй вход первого элемента ИЛИ, вторые входы первого, второго и третьего элемента И подключены к входу записи устройства, первый вход первого элемента ИЛИ подключен к входу чтения устройства, выход первого элемента ИЛИ подключен к входу разрешения дешифратора, второй, третий и четвертый выходы которого подключены соответственно к первым входам первого, второго и третьего элементов И, первый выход дешифратора подключен к входу разрешения обращения второго блока постоянной памяти, выход первого элемента И -- к входу синхронизации второго регистра, выход второго элемента И к входу синхронизации первого счетчика, пятый выход дешифратора к входу разрешения шинного формирователя, шестой выход дешифратора к первым входам четвертого и пятого элементов И, второй вход четвертого элемента И и инверсный вход пятого элемента И к выходу триггера, выход четвертого элемента И к входу разрешения обращения третьего блока памяти, выход пятого элемента И к входу разрешения обращения первого блока памяти, седьмой выход дешифратора к первому входу второго элемента ИЛИ, восьмой выход дешифратора к входу установки в "0" второго счетчика, синхровход которого подключен к выходу третьего элемента И, шестой выход дешифратора к первым входам шестого, седьмого и восьмого элементов И, второй вход шестого элемента И к выходу третьего элемента ИЛИ, третий вход шестого элемента И к входу режима частичной реконфигурации устройства, выход шестого элемента И к первому входу четвертого элемента ИЛИ второй вход седьмого элемента И к входу режима полной реконфигурации устройства, выход седьмого элемента И к второму входу четвертого элемента ИЛИ, второй вход восьмого элемента И подключен к входу режима замещения информации устройства, а выход к третьему входу четвертого элемента ИЛИ, выход которого подключен к стробирующему входу схемы сравнения, выход схемы сравнения подключен к синхровходам триггера и первого регистра, выход которого подключен к информационному входу шинного формирователя, выход признака окончания считывания данных третьего блока памяти к входу элемента задержки, выход которого подключен к входу одновибратора, выход одновибратора подключен к второму входу второго элемента ИЛИ, выход которого подключен к входу установки в "0" триггера, информационный вход которого подключен к входу логической "1" устройства, а выход к вычитающему входу второго счетчика, выходы которого подключены к входам третьего элемента ИЛИ, второй информационный вход мультиплексора подключен к адресному входу устройства, адресный вход мультиплексора к входу задания типа замещаемой информации устройства, выход мультиплексора к первому информационному входу схемы сравнения, второй информационный вход которой подключен к выходу второго регистра, выход первого счетчика к адресному входу третьего блока памяти, вход разрешения обращения которого подключен к счетному входу первого счетчика, вход разрешения счета которого подключен к входу разрешения изменения адреса замещаемой информации устройства (авт.св. СССР N 1679489, кл. G 06 F 12/00, 1989). The closest in technical essence to the proposed is a memory management device containing a decoder, bus driver, three read-only memory blocks, two counters, two registers, a trigger, a comparison circuit, four OR elements, eight AND elements, a single-shot, delay element, multiplexer, and the outputs of all memory blocks, the bus driver, the information inputs of the first and second counters, the second register and the first information input of the multiplexer are connected to the information input-output of the device, info the input inputs of the first register, the decoder, the second information input of the multiplexer, the address inputs of the first and second memory blocks are connected to the address input of the device, the third input of the first OR element, the third input of the eighth element And and the fourth input of the sixth element And are connected to the input of the device command sample, third the input of the second OR element, the installation inputs to "0" of the first and second registers and the first counter are connected to the input of the initial installation of the device, the second input of the first OR element, the second inputs of the first, second o and the third element AND are connected to the recording input of the device, the first input of the first OR element is connected to the read input of the device, the output of the first OR element is connected to the enable input of the decoder, the second, third and fourth outputs of which are connected respectively to the first inputs of the first, second and third elements And, the first output of the decoder is connected to the access permission address of the second block of read-only memory, the output of the first element And to the synchronization input of the second register, the output of the second element And to the synchronization input of the counter, the fifth output of the decoder to the enable input of the bus driver, the sixth output of the decoder to the first inputs of the fourth and fifth elements And, the second input of the fourth element And and the inverse input of the fifth element And to the output of the trigger, the output of the fourth element And to the enable input of the third memory block , the output of the fifth element AND to the input of the resolution permission of the first memory block, the seventh output of the decoder to the first input of the second element OR, the eighth output of the decoder to the input of the “0” second counter, sync input cat Orogo is connected to the output of the third element And, the sixth output of the decoder to the first inputs of the sixth, seventh and eighth elements And, the second input of the sixth element And to the output of the third element OR, the third input of the sixth element And to the input of the partial reconfiguration mode of the device, the output of the sixth element And to the first input of the fourth element OR the second input of the seventh element And to the input of the mode of complete reconfiguration of the device, the output of the seventh element And to the second input of the fourth element OR, the second input of the eighth element And is connected to the input mode and replacing the information of the device, and the output to the third input of the fourth OR element, the output of which is connected to the gate input of the comparison circuit, the output of the comparison circuit is connected to the trigger inputs of the trigger and the first register, the output of which is connected to the information input of the bus driver, the output of the sign of the end of data reading of the third block memory to the input of the delay element, the output of which is connected to the input of the one-shot, the output of the single vibrator is connected to the second input of the second OR, the output of which is connected to the input setting to “0” a trigger, the information input of which is connected to the input of the logical “1” device, and the output is to the subtracting input of the second counter, the outputs of which are connected to the inputs of the third OR element, the second information input of the multiplexer is connected to the address input of the device, the address input of the multiplexer to the input of the job type of the replaced information of the device, the output of the multiplexer to the first information input of the comparison circuit, the second information input of which is connected to the output of the second register, the output of the first counter to the address the input of the third memory block, the access permission address of which is connected to the counting input of the first counter, the input of the resolution of which account is connected to the input of the permission to change the address of the replaced information of the device (ed. USSR N 1679489, class G 06 F 12/00, 1989).
Недостатком прототипа являются большие объемы постоянной памяти, необходимые для организации замены отказавшей команды на эквивалентные последовательности оставшихся команд, записанные во втором блоке памяти, велико время выполнения этих замен, т.е. снижается быстродействие вычислительных систем (ВС) в целом, что может сделать невозможным использование известного устройства в многопроцессорных ВС или в управляющих ВС, работающих в реальном масштабе времени. Количество различных команд, привлекаемых для программной замены отказавшей команды, также значительно, что существенно снижает возможности использования прототипа в отказоустойчивых ВС, поскольку для множественных отказов системы команд алгоритмов эквивалентных замен чаще всего просто не существует. The disadvantage of the prototype is the large amounts of permanent memory necessary to organize the replacement of a failed command with the equivalent sequences of the remaining commands recorded in the second memory block, the time taken to complete these replacements is large, i.e. the performance of computing systems (AC) as a whole is reduced, which may make it impossible to use the known device in multiprocessor aircraft or in control aircraft operating in real time. The number of different teams involved in the software replacement of the failed team is also significant, which significantly reduces the possibility of using the prototype in fault-tolerant aircraft, since for multiple failures of the command system, equivalent replacement algorithms most often simply do not exist.
Целью изобретения является сокращение объемов памяти и временных затрат на алгоритмическую реконфи- гурацию. The aim of the invention is to reduce memory and time spent on algorithmic reconfiguration.
Цель достигается тем, что в устpойство управления памятью, содержащее дешифратор, шинный формирователь, три блока постоянной памяти, два счетчика, два регистра, триггер, схему сравнения, четыре элемента ИЛИ, восемь элементов И, одновибратор, элемент задержки, мультиплексор, причем выходы третьего блока памяти, шинного формирователя, информационные входы первого и второго счетчиков, второго регистра подключены к информационному входу-выходу устройства, информационные входы первого регистра, дешифратора, второй информационный вход мультиплексора, адресные входы первого и второго блоков памяти подключены к адресному входу устройства, третий вход первого элемента ИЛИ, третий вход восьмого элемента И и четвертый вход шестого элемента И подключены к входу выборки команды устройства, третий вход второго элемента ИЛИ, входы установки в "0" первого и второго регистров и первого счетчика подключены к входу начальной установки устройства, второй вход первого элемента ИЛИ, вторые входы первого, второго и третьего элемента И подключены к входу записи устройства, первый вход первого элемента ИЛИ подключен к входу чтения устройства, выход первого элемента ИЛИ подключен к входу разрешения дешифратора, второй, третий и четвертый выходы которого подключены соответственно к первым входам первого, второго и третьего элементов И, а первый выход дешифратора подключен к входу разрешения обращения второго блока постоянной памяти, выход первого элемента И подключен к входу синхронизации второго регистра, выход второго элемента И к входу синхронизации первого счетчика, пятый выход дешифратора к входу разрешения шинного формирователя, шестой выход дешифратора к первым входам четвертого и пятого элементов И, второй вход четвертого элемента И и инверсный вход пятого элемента И к выходу триггера, выход четвертого элемента И к входу разрешения обращения третьего блока памяти, выход пятого элемента И к входу разрешения обращения первого блока памяти, седьмой выход дешифратора к первому входу блока второго элемента ИЛИ, восьмой выход дешифратора к входу установки в "0" второго счетчика, синхровход которого подключен к выходу третьего элемента И, шестой выход дешифратора к первым входам шестого, седьмого и восьмого элементов И, второй вход шестого элемента И к выходу третьего элемента ИЛИ, третий вход шестого элемента И к входу режима частичной реконфигурации устройства, выход шестого элемента И подключен к первому входу четвертого элемента ИЛИ, второй вход седьмого элемента И к входу режима полной реконфигурации устройства, выход седьмого элемента И к второму входу четвертого элемента ИЛИ, второй вход восьмого элемента И подключен к входу режима замещения информации устройства, а выход к третьему входу четвертого элемента ИЛИ, выход которого подключен к стробирующему входу схемы сравнения, выход схемы сравнения подключен к синхровходам триггера и первого регистра, выход которого подключен к информационному входу шинного формирователя, выход признака окончания считывания данных третьего блока памяти подключен к входу элемента задержки, выход которых подключен к входу одновибратора, выход одновибратора подключен к второму входу второго элемента ИЛИ, выход которого подключен к входу установки в "0" триггера, информационный вход которого подключен к входу логической "1" устройства, а выход к вычитающему входу второго счетчика, выходы которого подключены к входам третьего элемента ИЛИ, адресный вход мультиплексора подключен к входу задания типа замещаемой информации устройства, выход мультиплексора к первому информационному входу сравнения, второй информационный вход которой подключен к выходу второго регистра, выход первого счетчика к адресному входу третьего блока памяти, вход разрешения обращения которого подключен к счетному входу первого счетчика, вход разрешения счета которого подключен к входу разрешения изменения адреса замещаемой информации устройства, введены счетчик, два регистра, группа регистров, группа мультиплексоров, сумматор, элемент НЕ, два блока постоянной памяти, четыре шинных формирователя, одновибратор, элемент ИЛИ-НЕ, три элемента ИЛИ, демультиплексор, группа элементов задержки, три элемента задержки, дешифратор, шесть элементов И, причем вход режима замещения информации подключен к первому входу элемента ИЛИ-НЕ, второй вход которого и первый вход девятого элемента И подключены к входу режима частичной реконфигурации, инверсный вход девятого элемента И подключен к выходу третьего элемента ИЛИ, выход элемента ИЛИ-НЕ подключен к первому входу седьмого элемента ИЛИ, к второму входу которого подключен выход девятого элемента И, выход седьмого элемента ИЛИ подключен к входу элемента НЕ и к входу разрешения второго шинного формирователя, информационный вход которого и первый вход мультиплексора подключены к выходу первого блока памяти, выход элемента НЕ подключен к первым входам десятого и двенадцатого элементов И и к входу разрешения второго дешифратора, вход режима полной реконфигурации устройства подключен к третьему инверсному входу одиннадцатого элемента И и к первому инверсному входу четырнадцатого элемента И, второй вход которого, вторые инверсные входы двенадцатого, тринадцатого элементов И и второй вход пятого элемента ИЛИ подключены к выходу второго одновибратора, выход четырнадцатого элемента И подключен к входу разрешения третьего шинного формирователя, информационный вход которого подключен к выходу третьего регистра, выход третьего шинного формирователя подключен к адресному входу первого блока памяти, выходы второго, четвертого и пятого шинных формирователей подключены к информационному входу-выходу устройства, выход двенадцатого элемента И подключен к входу разрешения четвертого шинного формирователя, информационный вход которого подключен к первому выходу демультиплексора, второй выход которого подключен к информационному входу четвертого регистра, входы установки в "0" третьего и четвертого регистров и первый вход пятого элемента ИЛИ подключены к входу начальной установки устройства, вход задания типа замещаемой информации устройства подключен к второму инверсному входу одиннадцатого элемента И, первый вход которого вход разрешения обращения пятого блока памяти, вход второго элемента задержки и адресный вход демультиплексора подключены к выходу схемы сравнения, выход одиннадцатого элемента И подключен к входу синхронизации четвертого регистра, выходы которого подключены к соответствующим информационным входам всех мультиплексоров группы (т.е. i-ый выход четвертого регистра подключен к i-ым информационным входам всех мультиплексоров группы, i=; где k количество информационных участков в формате команды, используемых под операнды), информационный вход нулевого регистра группы и нулевые информационные входы мультиплексоров группы подключены соответственно к группе информационных выходов второго блока памяти (т.е. информационный вход нулевого регистра группы подключен к нулевому выходу группы, а нулевой информационный вход i-го мультиплексора группы подключен к i-му информационному выходу группы второго блока памяти), адресные входы мультиплексоров группы подключены к соответствующим выходам четвертого блока памяти, выходы мультиплексоров группы подключены к информационным входам соответствующих регистров группы (т. е. выход i-го мультиплексора группы подключен к информационному входу i-го регистра группы), выходы всех регистров группы подключены соответственно к группе информационных входов пятого шинного формирователя (т.е. выход нулевого регистра группы подключен к нулевому входу группы, а выход i-го регистра группы подключен к i-му входу группы информационных входов пятого шинного формирователя), первый выход первого дешифратора подключен к вторым входам шестого элемента ИЛИ и десятого элемента И, к входам синхронизации всех регистров группы и к первому входу тринадцатого элемента И, выход которого подключен к входу разрешения пятого шинного формирователя, выход признака окончания считывания данных второго блока памяти подключен к входу третьего элемента задержки, выход которого подключен к входу второго одновибратора, выход пятого элемента ИЛИ подключен к входу начальной установки третьего счетчика, к счетному входу которого подключен выход десятого элемента И, выход первого элемента И подключен к первому входу шестого элемента ИЛИ, выход которого подключен к входу четвертого элемента задержки, выход которого подключен к входу разрешения обращения четвертого блока памяти, к второму адресному входу которого подключен выход третьего счетчика, выход второго регистра подключен к первому адресному входу четвертого блока памяти и к информационному входу второго дешифратора, выход которого подключен к адресному входу пятого блока памяти, выход которого подключен к второму входу сумматора, к первому входу которого подключен выход первого регистра, выход сумматора подключен к информационному входу третьего регистра, синхронизирующий вход которого подключен к выходу второго элемента задержки, выход мультиплексора подключен также к входу группы элементов задержки, выход которых подключен к информационному входу демультиплексора.The goal is achieved by the fact that in the memory management device containing a decoder, bus driver, three read-only memory blocks, two counters, two registers, a trigger, a comparison circuit, four OR elements, eight AND elements, a one-shot, delay element, a multiplexer, the outputs of the third memory block, bus driver, information inputs of the first and second counters, the second register are connected to the information input-output of the device, the information inputs of the first register, decoder, the second information input multi lexor, the address inputs of the first and second memory blocks are connected to the address input of the device, the third input of the first OR element, the third input of the eighth element And and the fourth input of the sixth element And are connected to the sample input of the device command, the third input of the second OR element, the installation inputs to "0 "the first and second registers and the first counter are connected to the input of the initial installation of the device, the second input of the first OR element, the second inputs of the first, second and third elements AND are connected to the input of the device record, the first input of the first the OR element is connected to the read input of the device, the output of the first OR element is connected to the decoder enable input, the second, third and fourth outputs of which are connected respectively to the first inputs of the first, second and third AND elements, and the first decoder output is connected to the input of the second block constant access permission memory, the output of the first element And is connected to the synchronization input of the second register, the output of the second element And to the synchronization input of the first counter, the fifth output of the decoder to the input resolution bus form switch, the sixth decoder output to the first inputs of the fourth and fifth elements And, the second input of the fourth element And and the inverse input of the fifth element And to the output of the trigger, the output of the fourth element And to the permission input of the access of the third memory unit, the output of the fifth element And to the permission input of the first of the memory block, the seventh output of the decoder to the first input of the block of the second OR element, the eighth output of the decoder to the installation input at “0” of the second counter, the clock input of which is connected to the output of the third element AND, the sixth output of the decoder torus to the first inputs of the sixth, seventh and eighth elements AND, the second input of the sixth element AND to the output of the third OR element, the third input of the sixth element And to the input of the partial reconfiguration mode of the device, the output of the sixth element And is connected to the first input of the fourth element OR, the second input of the seventh element And to the input of the mode of complete reconfiguration of the device, the output of the seventh element And to the second input of the fourth element OR, the second input of the eighth element And is connected to the input of the replacement mode of the information of the device, and the output to the third one of the fourth OR elements, the output of which is connected to the gate input of the comparison circuit, the output of the comparison circuit is connected to the trigger inputs of the trigger and the first register, the output of which is connected to the information input of the bus driver, the output of the end of data reading of the third memory block is connected to the input of the delay element, the output of which connected to the input of a single vibrator, the output of a single vibrator is connected to the second input of the second OR element, the output of which is connected to the installation input in the "0" trigger, the information input to It is connected to the input of the logical "1" device, and the output is to the subtracting input of the second counter, the outputs of which are connected to the inputs of the third OR element, the address input of the multiplexer is connected to the input of the type of the replaced information of the device, the output of the multiplexer to the first information input of the comparison, the second information input which is connected to the output of the second register, the output of the first counter to the address input of the third memory block, the input of the access permit which is connected to the counting input of the first counter, the input is bit To solve the problem, which is connected to the permission input for changing the address of the replaced information of the device, a counter, two registers, a group of registers, a group of multiplexers, an adder, a NOT element, two read-only memory blocks, four bus shapers, a single vibrator, an OR-NOT element, three OR elements, are entered, a demultiplexer, a group of delay elements, three delay elements, a decoder, six AND elements, and the input of the information replacement mode is connected to the first input of the OR-NOT element, the second input of which and the first input of the ninth element AND connect are accessed to the input of the partial reconfiguration mode, the inverse input of the ninth AND element is connected to the output of the third OR element, the output of the OR-NOT element is connected to the first input of the seventh OR element, the second input of which is connected to the output of the ninth AND element, the output of the seventh OR element is connected to the input of the element NOT to the resolution input of the second bus driver, the information input of which and the first input of the multiplexer are connected to the output of the first memory block, the output of the element is NOT connected to the first inputs of the tenth and twelfth element Comrade And and to the permission input of the second decoder, the input of the complete reconfiguration mode of the device is connected to the third inverse input of the eleventh element And and the first inverse input of the fourteenth element And, the second input of which, the second inverse inputs of the twelfth, thirteenth elements And and the second input of the fifth OR element are connected to the output of the second one-shot, the output of the fourteenth element And is connected to the enable input of the third bus driver, the information input of which is connected to the output of the third register, the output the third bus driver is connected to the address input of the first memory block, the outputs of the second, fourth and fifth bus drivers are connected to the information input-output of the device, the output of the twelfth element is connected to the resolution input of the fourth bus driver, the information input of which is connected to the first output of the demultiplexer, the second output which is connected to the information input of the fourth register, the installation inputs to "0" of the third and fourth registers and the first input of the fifth element OR are connected to the input of the initial installation of the device, the input of the type of the replaced information of the device is connected to the second inverse input of the eleventh element And, the first input of which is the access enable address of the fifth memory block, the input of the second delay element and the address input of the demultiplexer are connected to the output of the comparison circuit, the output of the eleventh element And is connected to the fourth synchronization input, the outputs of which are connected to the corresponding information inputs of all the multiplexers of the group (i.e. the i-th output of the fourth register is connected to the i-th information inputs of all multiplexers of the group, i = ; where k is the number of information sections in the command format used for operands), the information input of the group zero register and the zero information inputs of the group multiplexers are connected respectively to the group of information outputs of the second memory block (i.e. the information input of the group zero register is connected to the group zero output, and the zero information input of the i-th group multiplexer is connected to the i-th information output of the group of the second memory block), the address inputs of the group multiplexers are connected to the corresponding the corresponding outputs of the fourth memory block, the outputs of the group multiplexers are connected to the information inputs of the corresponding group registers (i.e., the output of the i-th group multiplexer is connected to the information input of the i-group register), the outputs of all the group registers are connected respectively to the group of information inputs of the fifth bus driver (i.e., the output of the group's zero register is connected to the group zero input, and the output of the i-group register is connected to the i-th input of the group of information inputs of the fifth bus driver), the first the course of the first decoder is connected to the second inputs of the sixth OR element and the tenth element AND, to the synchronization inputs of all the registers of the group and to the first input of the thirteenth element AND, the output of which is connected to the resolution input of the fifth bus driver, the output of the end of the data reading of the second memory block is connected to the input the third delay element, the output of which is connected to the input of the second one-shot, the output of the fifth OR element is connected to the input of the initial installation of the third counter, to the counting input of which n is the output of the tenth element AND, the output of the first element AND is connected to the first input of the sixth element OR, the output of which is connected to the input of the fourth delay element, the output of which is connected to the input of the circulation resolution of the fourth memory block, the second address of which is connected to the output of the third counter, the output of the second the register is connected to the first address input of the fourth memory block and to the information input of the second decoder, the output of which is connected to the address input of the fifth memory block, the output of which is connected to the second th input of the adder, the first input of which is connected to the output of the first register, the output of the adder is connected to the data input of the third register, a clock input terminal coupled to the output of the second delay element, the output is also connected to an input of the group delay elements multiplexer whose output is connected to the data input of the demultiplexer.
Сущность изобретения заключается в сокращении объемов памяти и временных затрат на алгоритмическую реконфигурацию за счет введения режима алгоритмической реконфигурации по шаблону. Суть нового введенного режима заключается в настройке устройства на анализ считываемых из первого блока постоянной памяти кодов команд, которые признаны неисправными в результате самопроверки внешнего процессора; в исключении считывания во внешний процессор неисправной команды из первого блока памяти в результате перевода выхода второго шинного формирователя в состояние высокого импеданса в условиях обнаружения отказов типа неправильное выполнение отдельных команд и в организации считывания в этом случае исправных команд во внешний процессор из первого блока памяти через первый мультиплексор, демультиплексор и четвертый шинный формирователь; в установке триггера при обнаружении на информационном входе-выходе кода этой команды, который блокирует первый блок постоянной памяти и подключает третий блок постоянной памяти; в записи в первый регистр адреса, на котором возникла реконфигурация команды, а в четвертый регистр самой отказавшей команды; в считывании из третьего блока постоянной памяти соответствующей команды безусловного перехода, которая выполняется внешним процессором, причем адрес требуемой команды определяется настройкой; в обнулении триггера по окончании считывания внешним процессором команды безусловного перехода с целью восстановления возможности чтения операндов из первого блока постоянной памяти; в считывании в режиме алгоритмической реконфигурации из второго блока памяти шаблона программы (состоящего из шаблонов отдельных команд) эквивалентной замены отказавшей команды и синтезе на его основе (с использованием содержимого четвертого регистра) искомой программы эквивалентной замены, выполняемой внешним процессором; в управлении на каждом шаге этого синтеза группой мультиплексоров в соответствии с управляющими кодами четвертого блока памяти для формирования очередной команды программы эквивалентной замены отказавшей команды; в вычислении в сумматоре продвинутого адреса отказавшей команды (т.е. адреса, по которому после завершения эквивалентной замены будет продолжено считывание из первого блока постоянной памяти) и в выдаче его после завершения эквивалентной замены отказавшей команды в режиме алгоритмической реконфигурации на адресный вход первого блока памяти. The essence of the invention is to reduce the amount of memory and time spent on algorithmic reconfiguration by introducing an algorithmic reconfiguration mode by template. The essence of the new mode introduced is to configure the device to analyze command codes read from the first block of read-only memory that are found to be malfunctioning as a result of an external processor self-test; in the exception of reading to the external processor a faulty command from the first memory block as a result of the output of the second bus driver being in a high impedance state under conditions of failure detection such as incorrect execution of individual commands and in the organization of reading in this case serviceable commands to the external processor from the first memory block through the first multiplexer, demultiplexer and fourth bus driver; in the installation of the trigger when it detects the code of this command on the information input / output, which blocks the first block of read-only memory and connects the third block of read-only memory; in a record in the first register of the address at which the reconfiguration of the command occurred, and in the fourth register of the failed command itself; in reading from the third block of read-only memory of the corresponding unconditional jump instruction, which is executed by an external processor, the address of the required instruction being determined by the setting; resetting the trigger at the end of the external processor reading the unconditional jump command in order to restore the ability to read operands from the first block of read-only memory; in the reading in the algorithmic reconfiguration mode from the second memory block of the program template (consisting of templates of separate instructions) of the equivalent replacement of the failed command and the synthesis on its basis (using the contents of the fourth register) of the desired equivalent replacement program executed by an external processor; in controlling at each step of this synthesis a group of multiplexers in accordance with the control codes of the fourth memory block to form the next program command equivalent to replace the failed command; in calculating in the adder the advanced address of the failed command (i.e., the address at which reading from the first block of read-only memory will continue after the equivalent replacement is completed) and in issuing it after completion of the equivalent replacement of the failed command in the algorithmic reconfiguration mode with the address input of the first memory block .
Сущность изобретения реализуется следующей совокупностью конструктивных признаков новых элементов и связей, определяющих соответствие заявляемого технического решения критерию "новизна". The invention is implemented by the following set of design features of new elements and relationships that determine the compliance of the claimed technical solution to the criterion of "novelty."
Введение третьего счетчика и соответствующих его связей позволяет в режиме алгоритмической реконфигурации по шаблону адресовать четвертый блок памяти с целью выборки шаблонов команд программы эквивалентной замены отказавшей команды. The introduction of the third counter and its corresponding connections allows the fourth block of memory to be addressed in the mode of algorithmic reconfiguration according to the pattern in order to select the templates of the program commands for the equivalent replacement of the failed command.
Введение третьего регистра и соответствующих ему связей позволяет в новом введенном режиме осуществлять хранение продвинутого адреса отказавшей команды и выдачу его на адресный вход первого блока памяти для продолжения работы по основной программе. The introduction of the third register and the relations corresponding to it allows, in the newly introduced mode, to store the advanced address of the failed command and issue it to the address input of the first memory block to continue working on the main program.
Введение четвертого регистра и соответствующих ему связей позволяет в новом введенном режиме осуществлять хранение отказавшей команды и использование ее информационных участков для заполнения шаблонов команд. The introduction of the fourth register and its corresponding relationships allows the storage of a failed team and the use of its information sections to fill in command templates in the newly introduced mode.
Введение группы регистров и соответствующих им связей позволяет в новом введенном режиме осуществлять хранение команд программы эквивалентной замены на каждом шаге синтеза, а также выдачу их во внешний процессор через пятый шинный формирователь. The introduction of a group of registers and their corresponding relationships allows the storage of equivalent replacement program instructions at each synthesis step, as well as their output to an external processor through the fifth bus driver, in the newly introduced mode.
Введение группы мультиплексоров и соответствующих им связей позволяет в новом введенном режиме осуществлять заполнение шаблонов команд программы эквивалентной замены необходимыми информационными участками отказавшей команды на основе коммутации своих информационных входов в соответствии с управляющими кодами из четвертого блока памяти. The introduction of a group of multiplexers and their corresponding connections allows filling in templates of program commands for an equivalent replacement of the failed command with the necessary information sections on the basis of switching their information inputs in accordance with control codes from the fourth memory block in the newly introduced mode.
Введение сумматора и соответствующих ему связей позволяет в новом введенном режиме на основе адреса отказавшей команды вычислять продвинутый адрес. The introduction of the adder and its associated relationships allows us to calculate the advanced address based on the address of the failed command in the newly entered mode.
Введение элемента НЕ и соответствующих ему связей позволяет управлять двенадцатым элементом И и входом управления второго дешифратора в условиях обнаружения отказов типа неправильного выполнения отдельных команд. The introduction of the element NOT and the corresponding relationships allows you to control the twelfth element And and the control input of the second decoder in the event of failure detection such as incorrect execution of individual commands.
Введение четвертого блока памяти и соответствующих ему связей позволяет в соответствии с кодом отказавшей команды и значением третьего счетчика управлять группой мультиплексоров в новом введенном режиме в целях заполнения шаблона необходимыми информационными участками отказавшей команды. The introduction of the fourth memory block and its corresponding connections allows, in accordance with the code of the failed command and the value of the third counter, to control the group of multiplexers in the newly introduced mode in order to fill the template with the necessary information sections of the failed command.
Введение пятого блока памяти и соответствующих ему связей позволяет сумматору в новом введенном режиме вычислять продвинутый адрес за счет выдачи ему в качестве второго слагаемого необходимой константы. The introduction of the fifth memory block and its corresponding relationships allows the adder in the newly introduced mode to calculate the advanced address by issuing it as the second term the necessary constant.
Введение второго шинного формирователя и соответствующих ему связей позволяет исключить считывание во внешний процессор неисправных команд, когда обнаружен отказ типа неправильного выполнения отдельных команд. The introduction of the second bus driver and its associated connections eliminates the reading of faulty commands into the external processor when a failure such as incorrect execution of individual commands is detected.
Введение третьего шинного формирователя и соответствующих ему связей позволяет в новом введенном режиме по окончании эквивалентной замены адресовать первый блок постоянной памяти подвинутым адресом в целях возвращения в основную программу. The introduction of the third bus driver and its associated connections allows, in the newly introduced mode, at the end of the equivalent replacement, the first block of permanent memory to be addressed with a moved address in order to return to the main program.
Введение четвертого шинного формирователя и соответствующих ему связей позволяет в новом введенном режиме считывать во внешний процессор из первого блока памяти исправные команды в условиях обнаружения отказов типа неправильного выполнения отдельных команд. The introduction of the fourth bus driver and its corresponding connections allows us to read serviceable commands into the external processor from the first memory unit in the new introduced mode under conditions of failure detection such as incorrect execution of individual commands.
Введение пятого шинного формирователя и соответствующих ему связей позволяет в новом введенном режиме считывать во внешний процессор программу эквивалентной замены отказавшей команды, синтезирован- ную на основе шаблона внесением необходимой информации из отказавшей команды. The introduction of the fifth bus driver and its associated connections allows us to read the equivalent replacement program of the failed command synthesized on the basis of the template into the external processor using the necessary information from the failed command.
Введение второго одновибратора и соответствующих ему связей позволяет в новом введенном режиме управлять третьим шинным формирователем для выдачи на адресный вход первого блока памяти продвинутого адреса и обнулять третий счетчик по окончании эквивалентной замены отказавшей команды. The introduction of the second one-shot and the corresponding connections allows you to control the third bus driver in the newly introduced mode to issue an advanced address to the first input memory block and reset the third counter after the equivalent replacement of the failed command is completed.
Введение элемента ИЛИ-НЕ и соответствующих ему связей позволяет управлять седьмым элементом ИЛИ во всех режимах работы, кроме настройки. The introduction of the OR-NOT element and the corresponding relationships allows you to control the seventh OR element in all operating modes, except for settings.
Введение пятого элемента ИЛИ и соответствующих ему связей позволяет обнулять третий счетчик как после подачи питания на устройство, так и при реализации нового введенного режима. The introduction of the fifth OR element and its corresponding connections allows you to reset the third counter both after applying power to the device, and when implementing a new mode entered.
Введение шестого элемента ИЛИ и соответствующих ему связей позволяет управлять четвертым блоком памяти для обеспечения выдачи им на адресные входы группы мультиплексоров управляющих кодов в целях организации нового введенного режима. The introduction of the sixth OR element and its corresponding relationships allows you to control the fourth memory block to ensure that they issue to the address inputs of the group of control code multiplexers in order to organize a new mode entered.
Введение седьмого элемента ИЛИ и соответствующих ему связей позволяет управлять вторым шинным формирователем в целях исключения считывания во внешний процессор неисправной команды из первого блока памяти в условиях обнаружения отказов типа неправильное выполнение отдельных команд. The introduction of the seventh OR element and its corresponding connections allows you to control the second bus driver in order to exclude the reading of the faulty command from the first memory block to the external processor under conditions of failure detection such as incorrect execution of individual commands.
Введение демультиплексора и соответствующих ему связей позволяет в условиях обнаружения отказов типа неправильное выполнение отдельных команд обеспечить выдачу в четвертый шинный формирователь исправных команд из первого блока памяти, а также запись в четвертый регистр неисправной команды. The introduction of a demultiplexer and its corresponding connections allows, under conditions of failure detection such as improper execution of individual commands, to ensure the issuance of serviceable commands from the first memory block to the fourth bus driver, as well as the recording of the faulty command in the fourth register.
Введение группы элементов задержки и соответствующих им связей позволяет выдавать информацию с выхода мультиплексора на информационный вход демультиплексора с задержкой, достаточной для срабатывания схемы сравнения при считывании неисправной команды из первого блока памяти и коммутации (в связи с этим) демультиплексора в условиях обнаружения отказов типа неправильное выполнение отдельных команд. The introduction of a group of delay elements and their corresponding connections allows to output information from the multiplexer output to the information input of the demultiplexer with a delay sufficient to trigger the comparison circuit when reading a faulty command from the first memory and switching unit (in connection with this) of the demultiplexer under conditions of failure detection such as incorrect execution individual teams.
Введение второго элемента задержки и соответствующих ему связей позволяет управлять записью в третий регистр продвинутого адреса отказавшей команды (используемого в новом введенном режиме) после завершения сумматором вычислений в условиях обнаружения отказов типа неправильное выполнение отдельных команд. The introduction of the second delay element and its associated relationships allows you to control the entry in the third register of the advanced address of the failed command (used in the newly entered mode) after the adder completes the calculations under conditions of failure detection such as the incorrect execution of individual commands.
Введение третьего элемента задержки и соответствующих ему связей позволяет управлять вторым одновибратором после надежного считывания из второго блока памяти всего шаблона и завершения синтеза устройством программы эквивалентной замены отказавшей команды в новом введенном режиме. The introduction of the third delay element and its associated connections allows you to control the second one-shot after reliable reading from the second memory block of the entire template and completion of the synthesis device program equivalent to replace the failed command in the new mode entered.
Введение четвертого элемента задержки и соответствующих ему связей позволяет управлять четвертым блоком памяти на выдачу очередных управляющих кодов на адресные входы группы мультиплексоров после надежного срабатывания третьего счетчика в новом введенном режиме. The introduction of the fourth delay element and its associated connections allows you to control the fourth memory block to issue the next control codes to the address inputs of the multiplexer group after the third counter has been reliably activated in the newly introduced mode.
Введение второго дешифратора и соответствующих ему связей позволяет в соответствии с кодом неисправной команды адресовать пятый блок памяти в условиях обнаружения отказов типа неправильное выполнение отдельных команд. Без этого дешифратора в блоке пришлось бы задействовать количество ячеек, равное числу возможных команд. The introduction of the second decoder and its corresponding connections allows, in accordance with the code of the faulty command, to address the fifth memory block under conditions of failure detection such as incorrect execution of individual commands. Without this decoder, a block would have to use the number of cells equal to the number of possible commands.
Введение девятого элемента И и соответствующих ему связей позволяет управлять седьмым элементом ИЛИ в режиме частичной алгоритмической реконфигурации. The introduction of the ninth AND element and its corresponding relationships allows you to control the seventh OR element in the partial algorithmic reconfiguration mode.
Введение десятого элемента И и соответствующих ему связей позволяет управлять счетным входом третьего счетчика в новом введенном режиме. The introduction of the tenth element And and the corresponding connections allows you to control the counting input of the third counter in the newly entered mode.
Введение одиннадцатого элемента И и соответствующих ему связей позволяет управлять четвертым регистром для обеспечения записи неисправной команды из демуль- типлексора в новом введенном режиме. The introduction of the eleventh element And and its corresponding relationships allows controlling the fourth register to ensure recording of the faulty command from the demultiplexer in the newly introduced mode.
Введение двенадцатого элемента И и соответствующих ему связей позволяет управлять четвертым шинным формирователем для обеспечения считывания во внешний процессор исправной команды в условиях обнаружения отказов типа неправильное выполнение отдельных команд. The introduction of the twelfth element And and its associated connections allows you to control the fourth bus driver to ensure that a good command is read into the external processor under conditions of failure detection such as incorrect execution of individual commands.
Введение тринадцатого элемента И и соответствующих ему связей позволяет управлять пятым шинным формирователем для обеспечения пошагового считывания во внешний процессор из группы регистров команд программы эквивалентной замены, синтезированной в новом введенном режиме. The introduction of the thirteenth And element and its corresponding connections allows you to control the fifth bus driver to provide step-by-step reading into the external processor from the group of command registers of the equivalent replacement program synthesized in the new introduced mode.
Введение четырнадцатого элемента И и соответствующих ему связей позволяет управлять третьим шинным формирователем для обеспечения в новом введенном режиме считывания на адресный вход первого блока постоянной памяти продвинутого адреса после завершения синтеза программы эквивалентной замены. The introduction of the fourteenth And element and its corresponding connections allows controlling the third bus driver to provide, in the newly introduced reading mode, an advanced address after the synthesis of an equivalent replacement program is completed on the address input of the first permanent memory block.
Введение элемента НЕ и соответствующих ему связей позволяет управлять десятым и двенадцатым элементами И и вторым дешифратором в условиях обнаружения отказов типа неправильное выполнение отдельных команд. The introduction of the element NOT and the corresponding relationships allows you to control the tenth and twelfth elements And and the second decoder in the event of failure detection such as the incorrect execution of individual commands.
Введение новых связей для первого блока памяти позволяет в условиях обнаружения отказов типа неправильное выполнение отдельных команд исключить считыва- ние неисправной команды во внешний процессор, а также обеспечивает автоматическое возвращение в основную программу по завершении эквивалентной замены отказавшей команды. The introduction of new connections for the first memory block allows, under conditions of failure detection such as incorrect execution of individual commands, to exclude the reading of a faulty command in an external processor, and also provides automatic return to the main program after completion of the equivalent replacement of a failed command.
Введение новых связей для второго блока памяти позволяет обеспечивать новый введенный режим необходимыми шаблонами программ эквивалентных замен отказавших команд, а также управлять третьим элементом задержки по окончании считывания шаблона. The introduction of new connections for the second memory block allows us to provide the new introduced mode with the necessary program templates for equivalent replacements of failed commands, as well as to control the third delay element at the end of the template reading.
Введение новых связей для первого регистра позволяет использовать адрес отказавшей команды для вычисления в сумматоре продвинутого адреса, используемого по завершении нового введенного режима. The introduction of new relationships for the first register allows you to use the address of the failed command to calculate in the adder the advanced address used at the end of the newly entered mode.
Введение новых связей для второго регистра позволяет в новом введенном режиме адресовать шестой блок памяти в целях выбора соответствующего набора управляющих кодов и управлять вторым дешифратором. The introduction of new relationships for the second register allows addressing the sixth memory block in the newly introduced mode in order to select the appropriate set of control codes and control the second decoder.
Введение новых связей для схемы сравнения позволяет управлять пятым блоком памяти, вторым элементом задержки, одиннадцатым элементом И и демультиплексором в новом введенном режиме. The introduction of new relationships for the comparison circuit allows you to control the fifth memory unit, the second delay element, the eleventh AND element, and the demultiplexer in the newly introduced mode.
Введение новых связей для третьего элемента ИЛИ позволяет управлять девятым элементом И в режиме частичной алгоритмической реконфигурации. The introduction of new relationships for the third OR element allows you to control the ninth AND element in the partial algorithmic reconfiguration mode.
Введение новых связей для мультиплексора позволяет организовать выдачу всей информации из первого блока памяти на вход группы элементов задержки в условиях обнаружения отказов типа неправильное выполнение отдельных команд. The introduction of new connections for the multiplexer allows you to organize the issuance of all information from the first memory block to the input of a group of delay elements in the event of failure detection such as incorrect execution of individual commands.
Таким образом, предлагаемое техническое решение соответствует критерию "изобретательский уровень", поскольку в известных устройствах аналоге и прототипе в условиях обнаружения отказов типа неправильное выполнение отдельных команд при осуществлении замены отказавшей команды на эквивалентные последовательности из числа оставшихся не достигается сокращение объемов памяти и временных затрат на выполнение режима алгоритмической реконфигурации вследствие отсутствия указанной выше совокупности конструктивных признаков. Thus, the proposed technical solution meets the criterion of "inventive step", since in the known analogue and prototype devices under conditions of failure detection such as incorrect execution of individual commands when replacing a failed command with equivalent sequences from the remaining ones, a reduction in memory and time spent on execution is not achieved algorithmic reconfiguration due to the lack of the above set of design features.
При использовании предлагаемого устройства достигается цель изобретения, состоящая в сокращении объемов памяти и временных затрат на выполнение режима алгоритмической реконфигурации, тем самым расширяются возможности применения предлагаемого устройства в отказоустойчивых ВС. When using the proposed device, the objective of the invention is achieved, which consists in reducing the amount of memory and time spent on performing the algorithmic reconfiguration mode, thereby expanding the possibilities of using the proposed device in fault-tolerant aircraft.
На фиг.1 изображена функциональная схема предлагаемого устройства управления памятью; на фиг.2 временная диаграмма его работы в режиме алгоритмической реконфигурации по шаблону. Figure 1 shows a functional diagram of the proposed device memory management; figure 2 is a timing diagram of its operation in the mode of algorithmic reconfiguration according to the template.
Устройство управления памятью содержит первый дешифратор 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. The memory management device contains a
Выходы третьего блока 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=, где 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.The outputs of the
Дешифратор 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. The
Блок 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 необходим элемент И, подключенный выходом к счетному входу. The
Регистр 7 предназначен для хранения кода адреса или кода команды, на которых производится либо замена информации информацией из блока 5, либо выполняется режим алгоритмической реконфигурации по шаблону из блока 4. Хранящийся код команды осуществляет адресацию блока 46 (выбирается соответствующий шаблон программы эквивалентной замены), а через дешифратор 61 адресацию блока 45 (выбирается константа для вычисления продвинутого адреса). Информация в регистр 7 записывается с входа-выхода 27 по импульсу на выходе элемента И 15.
Регистр 8 предназначен для хранения адреса, на котором происходит алгоритмическая реконфигурация либо замена информации, которая записывается с входа 28 по переднему фронту импульса на выходе схемы 10 сравнения. Регистры 7, 8 могут быть реализованы, например, на стандартных интегральных микросхемах 155ИР13. Register 8 is designed to store the address at which the algorithmic reconfiguration or replacement of information that is recorded from the
Триггер 9 предназначен для управления счетчиком 26 и элементами И 18, 19. Триггер может быть обнулен сигналом с выхода элемента ИЛИ 13, а устанавливается передним фронтом импульса на выходе схемы 10 сравнения, так как на информационный вход триггера подается сигнал логической "1". Возбужденный выход триггера 9 блокирует элемент И19. Триггер может быть реализован, например, на стандартных интегральных микросхемах 155ТМ2. The
Схема 10 сравнения предназначена для сравнения информации на выходе мультиплексора 25 и регистра 7 для управления триггером 9, регистром 8, элементом И 64, блоком 45 памяти, демультиплексором 56 и элементом 58 задержки. Схема 10 сравнения стробируется выходом элемента ИЛИ 12. Она может быть реализована, например, на стандартных интегральных микросхемах 553СП1.
Элемент ИЛИ 11 предназначен для управления элементом И 20 и блокирования элемента И 62. Его выход активирован, если код, записанный в счетчике 26, отличен от нуля. The
Элемент ИЛИ 12 предназначен для управления входом синхронизации схемы 10 сравнения в том случае, если на выходах хотя бы одного из элементов И20, 21, 22 имеется логическая "1". The
Элемент ИЛИ 13 предназначен для обнуления триггера 9 либо сигналом начального сброса с входа 33, либо выходом одновибратора 23, либо выходом 1.6 дешифратора 1. The
Элемент ИЛИ 14 предназначен для управления дешифратором 1 в том случае, если активирован один из управляющих сигналов 35 чтения, 34 записи, 32 выборки команды. В этом случае дешифратор 1 дешифрирует адрес на входе 28. The
Элемент И 15 предназначен для формирования импульса записи информации в регистр 7 и управления через элемент ИЛИ 54 элементом 60 задержки, если возбужден выход 1.1 дешифратора 1 и вход 34 записи. Element And 15 is designed to generate a pulse of recording information in the
Элемент И 16 предназначен для управления записью информации в счетчик 6 в том случае, если возбужден выход 1.2 дешифратора 1 и вход 34 записи. Element And 16 is designed to control the recording of information in the
Элемент И 17 предназначен для управления записью информации в счетчик 26 в том случае, если возбужден выход 1.3 дешифратора 1 и вход 34 записи. Element And 17 is designed to control the recording of information in the
Элемент И 18 предназначен для управления входом разрешения блока 5 и счетным входом счетчика 6 в том случае, если возбужден выход 1.5 дешифратора 1 и установлен триггер 9. Element And 18 is designed to control the enable input of
Элемент И 19 предназначен для управления входом разрешения блока 3 в том случае, если возбужден выход 1.5 дешифратора 1 и не установлен триггер 9. Element And 19 is intended to control the input of the resolution of
Элемент И 20 предназначен для управления элементом ИЛИ 12 в том случае, если возбуждены выход 1.5 дешифратора 1, выход элемента ИЛИ 11, вход 31 режима частичной реконфигурации и вход 32 выборки команды. The AND
Элемент И 21 предназначен для управления элементом ИЛИ 12 в том случае, если возбуждены выход 1.5 дешифратора 1 и вход 30 режима полной реконфигурации. Element And 21 is designed to control the element OR 12 in the event that the output 1.5 of the
Элемент И 22 предназначен для управления элементом ИЛИ 12 в том случае, если возбуждены выход 1.5 дешифратора 1, вход 29 режима замещения информации и вход 32 выборки команды. The AND
Одновибратор 23 предназначен для формирования импульса сброса триггера 9 по окончании выборки из блока 5 команды безусловного перехода на шаблоны алгоритмических эквивалентов блока 4 либо на заменяемую информацию. Одновибратор 23 может быть реализован, например, на стандартных интегральных микросхемах 155АГ1. The one-
Элемент 24 задержки предназначен для задержки сигнала управления одновибратором 23 с отдельного выхода блока 5 на период времени, необходимый для надежного считывания информации из блока 5 во внешний процессор. The
Мультиплексор 25 предназначен для подключения к входу Do-схемы 10 сравнения либо выхода блок 3, либо адресного входа 28 в зависимости от значения сигнала на входе 36 задания типа замещаемой информации (если на входе логическая "1", подключается адресный вход 28). Мультиплексор 25 осуществляет также выдачу информации на вход группы элементов 57 задержки. Он может быть реализован, например, на стандартных интегральных микросхемах 155КП1.The multiplexer 25 is designed to connect to the input of the D o circuit 10 comparing either the output of
Счетчик 26 предназначен для управления элементом ИЛИ 11 путем вычитания единицы из числа, записанного в него при настройке, всякий раз, когда обнуляется триггер 9, что необходимо для задания необходимого количества алгоритмических реконфигураций. Запись информации в счетчик 26 осуществляется с входа-выхода 27 по сигналу на выходе элемента И 17. Обнуляется счетчик 26 при возбуждении выхода 1.7 дешифратора 1. Счетчик может быть реализован, например, на стандартных интегральных микросхемах 155ИЕ7. The
Информационный вход-выход 27 предназначен для подключения шины данных внешнего процессора. Внешний процессор считывает данные и команды с входа-выхода 27 по собственным синхросигналам, частота следования которых такова, что запись информации в его внутренние регистры происходит с задержкой, учитывающей возможное срабатывание триггера 9 и переключение блоков 3 и 5 памяти. Поэтому внешний процессор "не заметит" подмены информации. Information input-
Адресный вход 28 предназначен для подключения шины адреса внешнего процессора.
Вход 29 режима замещения информации предназначен для перевода выхода шинного формирователя 47 в состояние высокого импеданса и для управления элементом И 22, где используется для задания режима алгоритмической реконфигурации по коду команды, либо при замене по коду команды, когда активирован вход 32. The
Вход 30 режима полной реконфигурации предназначен для блокирования элементов И 64, 67, а также для управления элементом И 21 либо для задания режима алгоритмической реконфигурации, либо при замене информации как по коду команды или операнда, так и по адресу. The
Вход 31 режима частичной реконфигурации предназначен для управления элементом И 20, для задания режима частичной алгоритмической реконфигурации, а также для перевода в состояние высокого импеданса выхода шинного формирователя 47 или активирования его при появлении логического "0" на выходе элемента ИЛИ 11. Входы 29, 30, 31 возбуждаются унитарно: в каждом из возможных режимов возбужден только один из них. The partial
Вход 32 выборки команды предназначен для сигнализации о цикле выборки команды внешнего процессора. Он подключается к соответствующему разряду шины управления процессора (например, для процессора 580ИК80 это коньюнкция разрядов 5, 7 регистра слова состояния). The
Вход 33 начальной установки предназначен для обнуления триггера 9 регистров 7, 8, 39, 40 и счетчиков 6, 38. Он может быть подключен к разряду "Начальный сброс" шины управления процессора. The
Вход 34 записи предназначен для подключения разряда записи в ячейку памяти шины управления внешнего процессора. Вход 35 чтения предназначен для подключения разряда чтения ячейки памяти шины управления внешнего процессора.
Вход 36 задания типа замещаемой информации предназначен для управления мультиплексором 25, а также для блокирования элемента И 64. При невозбуждении входа 36 на входы мультиплексора 25 подключается информационный вход-выход 27. The
Вход 37 разрешения изменения адреса замещаемой информации устройства предназначен для блокировки счетного входа счетчика 6 в том случае, если нет необходимости изменения его состояния (фиксированная замена информации по адресу или по коду), в этом случае вход 37 обнулен. The
Счетчик 38 предназначен для адресации блока 46 памяти в режиме алгоритмической реконфигурации по шаблону. Очередное увеличение содержимого счетчика осуществляется задним фронтом сигнала с выхода элемента И 63, а обнуление -сигналом с выхода элемента ИЛИ 53. Счетчик 38 может быть реализован, например, на стандартных интегральных микросхемах 155ИЕ7. The
Регистр 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. The group of registers 41.0-41.k is intended for storing received commands at each step of the synthesis of the program for equivalent replacing a failed command in the mode of algorithmic reconfiguration according to the template. Information in the group of registers 41.0-41.k is recorded on the leading edge of the signal from the output 1.0 of the
Группа мультиплексоров 42.1-42.k предназначена для подключения к информационным входам группы регистров 41.1-41.k либо соответствующих выходов 1-k блока 4 (на фиг.1 не указаны), либо соответствующих выходов 1-k регистра 40 в зависимости от управляющего кода на выходах 1-k блока 46 (причем адресный вход i-го мультиплексора группы подключен к i-му выходу блока 46, i=. Группа мультиплексоров 42.1-42.k может быть реализована, например, на стандартных интегральных микросхемах 155КП1.The group of multiplexers 42.1-42.k is designed to connect to the information inputs of the group of registers 41.1-41.k either the corresponding outputs 1-k of block 4 (not shown in Fig. 1) or the corresponding outputs 1-k of
Сумматор 43 предназначен для вычисления продвинутого адреса отказавшей команды (адрес отказавшей команды на вход Do сумматора поступает из регистра 8), для которой выполняется режим алгоритмической реконфигурации по шаблону, посредством увеличения содержимого регистра 8 на значение константы, поступающей на вход D1 сумматора из блока 45. Сумматор 43 может быть реализован, например, на стандартных интегральных микросхемах 155ИМ1.The
Элемент НЕ 44 предназначен для управления входом разрешения дешифратора 61 и первыми входами элементов И 63, 65 в том случае, если не активирован выход элемента ИЛИ 55. Element NOT 44 is intended to control the enable input of the
Блок 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. The
Шинный формирователь 49 предназначен для буферирования выходов демультиплексора 56. Он обеспечивает считывание информации с выхода Doдемультиплексора 56 на вход-выход 27 в случае активирования входа разрешения сигналом логической "1" с выхода элемента И 65. Иначе выход шинного формирователя находится в высокоимпедансном состоянии и не влияет на передачу информации по входу-выходу 27. Шинный формирователь 49 реализуется также аналогично шинному формирователю 2.The
Шинный формирователь 50 предназначен для буферирования выходов группы регистров 41.0-41.k, эти выходы подключены соответственно к его 1-k (на фиг. 1 указаны шиной) информационным входам. Он обеспечивает считывание информации на вход-выход 27 в случае активирования входа разрешения сигналом логической "1" с выхода элемента И 66. Иначе выход шинного формирователя находится в высокоимпедансном состоянии и не влияет на передачу информации по входу-выходу 27. Шинный формирователь 50 также реализуется аналогично шинному формирователю 2. The
Одновибратор 51 предназначен для управления элементами ИЛИ 53 и И 67 при появлении сигнала логической "1" на выходе элемента 59 задержки, при этом одновибратор 51 также блокирует элементы И 65, 66, удерживая выходы шинных формирователей 49, 50 в состоянии высокого импеданса. Одновибратор 51 реализуется аналогично одновибратору 23. The one-
Элемент ИЛИ-НЕ 52 предназначен для управления элементом ИЛИ 55 в том случае, если активированы вход 29 режима замещения информации и вход 31 режима частичной реконфигурации устройства. The OR-NOT 52 element is designed to control the
Элемент ИЛИ 53 предназначен для обнуления счетчика 38 либо сигналом начального сброса с входа 33, либо выходом одновибратора 51. The
Элемент ИЛИ 54 предназначен для управления элементом 60 задержки в том случае, если возбужден выход 1.0 дешифратора 1 или выход элемента И 15. The
Элемент ИЛИ 55 предназначен для управления входом разрешения шинного формирователя 47 в том случае, если возбужден выход элемента ИЛИ-НЕ 52 или выход элемента И 62. The
Демультиплексор 56 предназначен для подключения выхода группы элементов задержки либо к информационному входу шинного формирователя 49, либо к информационному входу регистра 40 в зависимости от значения сигнала на выходе схемы 10 сравнения (если на выходе логическая "1", то вход демультиплексора 56 подключается к информационному входу регистра 40). Демультиплексор 56 может быть реализован, например, на стандартных интегральных микросхемах 155ИД3.
Группа элементов 57 задержки (на фиг.1 обозначена одним элементом) предназначена для задержки информации, поступающей с выхода мультиплексора 25 на вход демультиплексора 56 на период времени, необходимый для срабатывания схемы 10 сравнения и коммутации (в связи с этим) демультиплексора 56. The group of delay elements 57 (indicated by one element in FIG. 1) is intended to delay the information received from the output of the multiplexer 25 to the input of the
Элемент 58 задержки предназначен для задержки сигнала с выхода схемы 10 сравнения на вход синхронизации регистра 39 на период времени, необходимый для завершения вычислений в сумматоре 43. The
Элемент 59 задержки предназначен для задержки сигнала управления одновибратором 51 с отдельного выхода блока 4 на период времени, необходимый для надежного считывания шаблона из блока 4, завершения формирования на его основе программы эквивалентной замены отказавшей команды. The
Элемент 60 задержки предназначен для задержки сигнала с выхода элемента ИЛИ 54 на вход разрешения обращения блока 46 памяти на период времени, необходимый для надежного срабатывания счетчика 38. The
Дешифратор 61 предназначен для управления блоком 45 памяти. Он дешифрирует информацию, записанную в регистре 7, в том случае, если активирован выход элемента НЕ 44, возбуждающий вход разрешения дешифратора 61. Количество выходов дешифратора соответствует количеству ячеек в блоке 45. В зависимости от кода команды, записанного в регистре 7, возбуждается выход дешифратора 61, активизирующий ячейку блока 45, где записана соответствующая этому коду константа. Дешифратор 61 может быть реализован, например, на стандартных интегральных микросхемах 155ИД3. The
Элемент И 62 предназначен для управления элементом ИЛИ 55 в том случае, если возбужден вход 31 режима частичной реконфигурации и не активирован выход элемента ИЛИ 11. The AND
Элемент И 63 предназначен для управления счетным входом счетчика 38 в том случае, если возбуждены вход элемента НЕ 44 и выход 1.0 дешифратора 1. Element And 63 is intended to control the counting input of the
Элемент И 64 предназначен для управления записью информации в регистр 40 в том случае, если возбужден выход схемы 10 сравнения и не активированы вход 30 режима полной реконфигурации и вход 36 задания типа замещаемой информации. Element And 64 is intended to control the recording of information in the
Элемент И 65 предназначен для управления входом разрешения шинного формирователя 49 в том случае, если возбужден выход элемента НЕ 44 и не активирован выход одновибратора 51. Element And 65 is designed to control the resolution input of the
Элемент И 66 предназначен для управления входом разрешения шинного формирователя 50 в том случае, если возбужден выход 1.0 дешифратора 1 и не активирован выход одновибратора 51. Element And 66 is designed to control the enable input of the
Элемент И 67 предназначен для управления входом разрешения шинного формирователя 48 в том случае, если возбужден выход одновибратора 51 и не активирован выход 30 режима полной реконфигурации. Element And 67 is intended to control the resolution input of the
Устройство работает следующим образом. The device operates as follows.
Режим настройки. В этом режиме внешняя ЭВМ записывает в регистр 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 задержки разрешает выдачу информации, необходимой для режима алгоритмической реконфигурации по шаблону. Setting mode. In this mode, the external computer records in the
Аналогично происходит запись информации в счетчик 6, куда записывается адрес команды перехода на заданный вариант алгоритмической конфигурации, при этом возбуждается выход 1.2дешифратора 1 и выход элемента И 16. Информация записывается с входа-выхода 27. В счетчик 26 может быть записан код количества повторений заданной команды, при которых необходима алгоритмическая реконфигурация. При этом аналогично выше описанному возбуждается выход 1.3 дешифратора 1, выход элемента И 17 и информация записывается по входам данных счетчика 26 с входа-выхода 27 по синхроимпульсу с выхода элемента И 17. Similarly, information is recorded in
Режим замены информации в ячейке. В этом режиме на входы 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", блокирующий прохождение счетных импульсов. The mode of replacing information in the cell. In this mode, logic “1” is supplied to
Аналогично прототипу в этом режиме может осуществляться замена не только по адресам, но и по данным. В этом случае вход 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.Similarly to the prototype, in this mode, replacement can be carried out not only by addresses, but also by data. In this case, the
Режим полной алгоритмической реконфигурации. В этом режиме устройство обеспечивает выдачу на входы-выходы 27 кодов команд безусловного перехода для замены команд, которые не могут быть выполнены внешним процессором в связи с некоторым частичным отказом его технических средств (это может быть идентифицировано самим процессором по результатам, например, его самопроверки) на их алгоритмические эквиваленты, составленные и оставшихся команд. В отличие от прототипа в блоке 4 записаны не целиком программы эквивалентных замен, а только их шаблоны (состоящие из шаблонов команд), на основании которых предлагаемое устройство за счет использования операндов отказавшей команды и формирует полноценные замены отказавших команд. Это позволяет существенно сократить эти программы, а следовательно, потребные объемы памяти и время выполнения эквивалентных замен. Full algorithmic reconfiguration mode. In this mode, the device provides the issuance of 27 unconditional jump command codes to the inputs and outputs to replace commands that cannot be executed by an external processor due to some partial failure of its hardware (this can be identified by the processor itself based on the results of, for example, its self-test) on their algorithmic equivalents made up and the remaining teams. Unlike the prototype, in
В регистре 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).In
При чтении из блока 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=. На остальные входы D1-Dk этих мультиплексоров подаются соответственно информационные участки 1-k отказавшей команды (код команды не используется) из регистра 40 (т.е. i-й информационный участок отказавшей команды подается на все i-е входы мультиплексоров 42.1-42.k). Мультиплексоры 42.1-42. k управляются по адресным входам кодами из блока 4, т.е. в регистры 41.1-41. k в данном режиме целиком переписана команда (слово шаблона) из соответствующей ячейки блока 4 в случае управляющего кода (выходы всех мультиплексоров 42.1-42.k подключены к их входам Do) или в эти регистры записывается скорректированное слово шаблона для иного управляющего кода (т.е. из регистра 40 в слово шаблона внесены соответствующие информационные участки отказавшей команды). Количество мультиплексоров k определяется в зависимости от формата используемых команд и соответствует количеству выходов регистра 40. Например, в процессоре БИ 0210 ЕС ЭВМ используются команды форматов, представленных на фиг.3.When reading from
Cледует отметить, что команды формата S, составляющие 11% (проверить ввод-вывод, начать ввод-вывод, остановить ввод-вывод, проверить канал, записать в память адреса процессора, загрузка слова состояния программы) в случае отказа не могут быть реализованы предлагаемым способом (т.е. комбинацией оставшихся), поэтому в дальнейшем формат S не рассматривается. Тогда операнды или информация о них в рассматриваемом примере всегда размещаются в разрядах 8-32 формата команды. It should be noted that S format commands that make up 11% (check I / O, start I / O, stop I / O, check the channel, write down the processor addresses, load the program status word) in case of failure cannot be implemented by the proposed method (i.e., a combination of the remaining ones), therefore, in the future, the format S is not considered. Then the operands or information about them in the example under consideration are always placed in bits 8-32 of the instruction format.
Для рассматриваемой системы команд целесообразно использовать восьмиразрядный регистр 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 до появления в программе вновь отказавшей команды.For the command system under consideration, it is advisable to use the eight-bit register 41.0 (for the command code) and four-bit registers 41.1-41. k, multiplexers 42.1-42. k respectively should provide switching four-bit tires. Knowing the maximum length of the commands used and the number of bits allocated for the command code, it is not difficult to determine k = (32-8) / 4 = 6. In a universal device, the number k can be equal to the number of bits allocated in the largest format for the operands. At the inputs D 1 -D k of the multiplexers 42.1-42.k, information sections 1-k of the failed command are respectively sent from the outputs 1-k of the
Если команда безусловного перехода (в блоке 5) содержит несколько слов, то программа алгоритмического эквивалента должна предусматривать возврат содержимого счетчика 6 записью в него необходимого адреса (обращение к нему как к ячейке памяти с фиксированным адресом, возбуждающим выход 1.2 дешифратора 1). Если используемая команда безусловного перехода содержит одно слово (например, BCR и ВС при R1=15 для процессора БИ 0210), то выход 37 обнулен и этого делать не нужно. If the unconditional jump command (in block 5) contains several words, then the program of the algorithmic equivalent should provide for the return of the contents of
Возможна модификация описанного режима в этом случае обращение к блоку 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, без нарушения структуры. Это, например, необходимо для модификации некоторой программы с целью доработок либо с целью требуемого уменьшения алгоритма в процессе многократного его использования во время работы ВС.A modification of the described mode is possible in this case, access to block 5 occurs depending on the address at
Режим частичной алгоритмической реконфигурации. В этом режиме алгоритмическая реконфигурация производится не всякий раз, когда из блока 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 находятся в высокоимпедансном состоянии). Partial algorithmic reconfiguration mode. In this mode, the algorithmic reconfiguration is performed not every time when a given command code is read from
Следует заметить, что счетчик 26 и триггер 9 могут быть сброшены программно при обращении внешнего процессора к ним как к фиксированным ячейкам памяти (как в режиме чтения, так и в режиме записи), при этом возбуждаются соответственно выходы 1.7, 1.6 дешифратора 1. Это может быть необходимо, например, для прекращения режима алгоритмической реконфигурации при отладке либо при работе ВС. It should be noted that the
Таким образом, предлагаемое устройство, обеспечивая всю номенклатуру режимов работы прототипа, позволяет в режиме алгоритмической реконфигурации существенно сократить затраты памяти и соответственно время выполнения алгоритмического эквивалента отказавшей команды. Для сравнительных оценок рассмотрим примеры выполнения эквивалентных замен одной из команд процессора БИ 0210 прототипом и предлагаемым устройством. Допустим, что в результате самопроверки процессора определена неисправновность невыполнение команды сложение А (5А). Thus, the proposed device, providing the entire range of prototype operating modes, allows in the algorithmic reconfiguration mode to significantly reduce memory costs and, accordingly, the execution time of the algorithmic equivalent of a failed command. For comparative evaluations, we consider examples of equivalent replacements for one of the BI 0210 processor commands with the prototype and the proposed device. Suppose that as a result of a processor self-test, a malfunction is detected; failure to execute the addition command A (5A).
Для прототипа программа алгоритмического эквивалента этой команды, записанная в блоке 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).For the prototype, the program of the algorithmic equivalent of this command, written in
150 90 0 6 0 0
154 58 4 0 0 0 DC write to the memory of the advanced address, determining the address of the failed
158 98 5 6 0 0 2 8 commands, writing it to memory;
160 50 6 0 0 0 8 0
164 50 5 0 0 0 7 C
168
170 54 6 0 0 0 C 8
174 47 7 0 0 IDA transfer to the IDA address if the failed team is located at the edge of the word, otherwise at 178;
178 58 6 0 0 0 A 4 selection of the contents of the failed command,
180 18 5 6 highlighting the attributes of a failed team,
182 54 6 0 0 0 1С filling in the bypass pattern (addresses
186 56 6 0 0 0
18E 89 5 0 0 0 0 8
192 88 5 0 0 0 1 C
196 89 5 0 0 0 0 2
1A6 98 0 6 0 0
IAA 00 0 0 0 0 0 0 the actual bypass pattern of a failed team in this case, for
IVA 98 0 6 0 0
IC2 92 1 0 0 0
ID2 92 3 0 0 0 8 0
ID6 82 0 0 0 0 7 C jump to an advanced address, i.e. address to the following
mu for the address of the failed team;
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).
IF2 88 5 0 0 0 1 0
IF8 47
In addition, the constants used in this program for equivalent replacement are: 000FFFFF (OIC), 00040000 (ODC), 58300000 (OOC), CFFFFFFF (OAO), 00000003 (OC8), FFFF0000 (OA8).
Т. е. для реализации режима полной алгоритмической реконфигурации прототипу необходим алгоритм из 45 команд (из них 18 различных), при этом затраты постоянной памяти составят 196 байтов. That is, to implement the full algorithmic reconfiguration mode, the prototype needs an algorithm of 45 teams (18 of them are different), and the cost of permanent memory will be 196 bytes.
Предлагаемому устройству для эквивалентной замены этой же операции А(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 0 2 3 4 5 6
170 13 0 0 0 0 0 0 0 0
172 50 0 0 2 3 4 5 6
176 58 0 0 2 4 1 0 0 0 1 0
17А 5B 1 2 3 4 5 6
17Е 50 0 0 0 2 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".The proposed device for the equivalent replacement of the same operation A (5A) requires the following information:
in
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
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
170 13 0 0 0 0 0 0 0 0
172 50 0 0 2 3 4 5 6
176 58 0 0 2 4 1 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
From
В данном алгоритме "*" обозначены позиции, в которые предлагаемое устройство описанным выше образом вносит атрибуты отказавшей команды: символ первого операнда, соответственно второго операнда. Например, если по адресу 4Е6D4 из блока 3 считана команда 5А (с выходов 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 загрузка в используемый РОН второго операнда (отказавшей команды);
13 0 0 проведение над содержимым используемого РОН-а операции загрузки
дополнения (в целях получения отрицательного значения второго опе-
ранда);
50 0 запись в память полученного отрицательного значения второго операн- да;
58 0 0 2 4 загрузка в используемый РОН первого операнда;
5В из первого операнда вычитается отрицательное значение второго,
т. е. по существу осуществляется их сложение;
50 0 0 0 2 4 запись в память полученного значения (коррекция области памяти,
отведенной для данного РОН-а по результатам вычислений);
58 0 0 0 2 0 4 восстановление содержимого всех РОН-ов.In this algorithm, “*” indicates the positions at which the proposed device, as described above, introduces the attributes of a failed command: character of the first operand respectively, the second operand. For example, if at address 4E6D4 block 5A is read from block 3 (5.0.6, B, A, A are read from outputs 1-6 of
50 0 0 0 2 0 4 record in the memory of the contents of all RON-s;
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 loading the second operand (failed command) into the used RON;
13 0 0 carrying out on the contents of the used RON-a loading operation
additions (in order to obtain a negative value of the second
randa);
50 0 writing to the memory of the received negative value of the second operand;
58 0 0 2 4 loading the first operand into the used RON;
5V the negative value of the second is subtracted from the first operand
that is, in essence their addition is carried out;
50 0 0 0 2 4 record in the memory of the obtained value (correction of the memory area,
reserved for this RON based on the calculation results);
58 0 0 0 2 0 4 restoration of the contents of all RON-s.
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.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
Upon completion of reading this program from the
Таким образом, эквивалентная замена отказавшей команды обеспечена алгоритмом из 20 команд (составленного из четырех различных), при этом затраты памяти составляют 78 байтов в блоке 4 и 45 байтов в блоке 46, что дает выигрыш по сравнению с прототипом более чем 1,5 раза. Прототипу для выполнения режима полной алгоритмической реконфигурации рассматриваемой команды при реализации на БИ 0210 требуется 346 мкс (если отказавшая команда располагается в блоке 3 на границе слова) или 424 мкс (если на границе полуслова), в то время как предлагаемому устройству всего 112 мкс, т. е. выигрыш по времени составляет 3,1-3,8 раза. Кроме того, предлагаемым устройством для реализации эквивалентной замены используется значительно меньше различных команд для А(5А) всего четыре (в прототипе в 4,5 раза больше 18), что существенно расширяет возможности использования предлагаемого устройства в отказоустойчивых ВС в условиях множественных отказов системы команд. Thus, the equivalent replacement of the failed team is provided by an algorithm of 20 teams (composed of four different), while the memory costs are 78 bytes in
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU93012944A RU2037874C1 (en) | 1993-05-10 | 1993-05-10 | Device for control of memory unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU93012944A RU2037874C1 (en) | 1993-05-10 | 1993-05-10 | Device for control of memory unit |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2037874C1 true RU2037874C1 (en) | 1995-06-19 |
RU93012944A RU93012944A (en) | 1996-08-27 |
Family
ID=20138474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU93012944A RU2037874C1 (en) | 1993-05-10 | 1993-05-10 | Device for control of memory unit |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2037874C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2460222C2 (en) * | 2008-04-02 | 2012-08-27 | Квэлкомм Инкорпорейтед | System and method of allocating memory in embedded systems or wireless communication systems |
-
1993
- 1993-05-10 RU RU93012944A patent/RU2037874C1/en active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР N 1679489, кл. G 06F 12/00, 1991. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2460222C2 (en) * | 2008-04-02 | 2012-08-27 | Квэлкомм Инкорпорейтед | System and method of allocating memory in embedded systems or wireless communication systems |
US8321651B2 (en) | 2008-04-02 | 2012-11-27 | Qualcomm Incorporated | System and method for memory allocation in embedded or wireless communication systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4422453C2 (en) | Flash memory device | |
EP1158533B1 (en) | Eeprom array with flash-like core | |
US4402081A (en) | Semiconductor memory test pattern generating apparatus | |
US20040054864A1 (en) | Memory controller | |
CN106557442B (en) | A kind of chip system | |
GB1573539A (en) | Digital data processing apparatus | |
SU1082341A3 (en) | Control device in data processing system | |
JPH08320808A (en) | Emulation system | |
US4365312A (en) | Sequence controller | |
EP0290256B1 (en) | Data transfer controlling apparatus for direct memory access | |
RU2037874C1 (en) | Device for control of memory unit | |
US4217639A (en) | Logic for generating multiple clock pulses within a single clock cycle | |
CN113867803A (en) | Memory initialization device and method and computer system | |
US5087953A (en) | Flexible gate array system for combinatorial logic | |
US5574850A (en) | Circuitry and method for reconfiguring a flash memory | |
EP0543607A2 (en) | Image processing system | |
JP2820462B2 (en) | Data string generator | |
JPH1174360A (en) | Semiconductor logic circuit device | |
EP0020972A1 (en) | Program controlled microprocessing apparatus | |
ITMI20010342A1 (en) | NON-VOLATILE MEMORY SYSTEM TO STORE DATA VALUES | |
SU1425683A1 (en) | Device for debugging software/hardware blocks | |
JPH11260928A (en) | Semiconductor logic circuit device | |
JPS6217847Y2 (en) | ||
SU1151962A1 (en) | Microprogram control device | |
RU1837303C (en) | Peripheral interface device |