RU2059287C1 - Device for monitoring program executing by control computer - Google Patents

Device for monitoring program executing by control computer Download PDF

Info

Publication number
RU2059287C1
RU2059287C1 SU4920501A RU2059287C1 RU 2059287 C1 RU2059287 C1 RU 2059287C1 SU 4920501 A SU4920501 A SU 4920501A RU 2059287 C1 RU2059287 C1 RU 2059287C1
Authority
RU
Russia
Prior art keywords
input
output
trigger
group
inputs
Prior art date
Application number
Other languages
Russian (ru)
Inventor
А.И. Иванов
В.Е. Кладов
В.Б. Забродский
Original Assignee
Иванов Анатолий Иванович
Кладов Виталий Евгеньевич
Забродский Валерий Борисович
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Иванов Анатолий Иванович, Кладов Виталий Евгеньевич, Забродский Валерий Борисович filed Critical Иванов Анатолий Иванович
Priority to SU4920501 priority Critical patent/RU2059287C1/en
Application granted granted Critical
Publication of RU2059287C1 publication Critical patent/RU2059287C1/en

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

FIELD: computer engineering. SUBSTANCE: device has counter 1, memory unit 2, comparison circuit 3, reset flip-flop 4, interrupt flip-flop 5, error flip-flop 6, AND gate 7, NOR gate 9, OR gate 8 and 10. EFFECT: increased speed of monitoring because it is performed directly after instruction reading; increased functional capabilities because device continues operations after interrupts in computer to be controlled, simplified hardware design. 2 dwg

Description

Изобретение относится к вычислительной технике и может быть использовано при построении надежных управляющих вычислительных машин (УВМ), нечувствительных к сбоям программ. The invention relates to computer technology and can be used to build reliable control computers (UVM), insensitive to program failures.

Цель изобретения повышение оперативности контроля за счет осуществления контроля непосредственно при считывании команд, расширение функциональных возможностей за счет возможности работы при наличии прерываний в контролируемой УВМ, а также сокращение аппаратных затрат. The purpose of the invention is to increase the efficiency of control by exercising control directly when reading commands, expanding the functionality due to the ability to work in the presence of interruptions in a controlled UVM, as well as reducing hardware costs.

На фиг.1 показана структурная схема устройства; на фиг.2 пример программы. Figure 1 shows the structural diagram of the device; figure 2 is an example program.

Устройство (фиг. 1) содержит источник 1, блок памяти 2, схему сравнения 3, триггеры очистки 4, прерывания 5, ошибки 6, элемент И 7, первый 8 элемент ИЛИ, элемент ИЛИ-НЕ 9, второй 10 элемент ИЛИ, линии УВМ: шина адреса/данных 11, линия обращения к ПЗУ программы 12, очистки 13, обращения к векторам прерывания 14, чтения 15, выход сигнала сбоя устройства 16. The device (Fig. 1) contains a source 1, a memory unit 2, a comparison circuit 3, cleaning triggers 4, interrupts 5, errors 6, AND element 7, the first 8 OR element, the OR-NOT 9 element, the second 10 OR element, UVM lines : address / data bus 11, access line to program ROM 12, clear 13, access to interrupt vectors 14, read 15, device failure signal 16 output.

На фиг.2 представлен пример части программы УВМ, а также прошивки основного поля (связанного с группой информационных выходов) второй страницы блока памяти 2. Figure 2 presents an example of part of the UVM program, as well as the firmware of the main field (associated with the group of information outputs) of the second page of the memory unit 2.

Приняты следующие обозначения: Ai адреса команд условного и безусловного перехода; l(Ai) адрес на который возможен переход при выполнении команд условного и безусловного перехода; B длина конвейера команд; X произвольный адрес, не входящий в зону программы ПЗУ.The following notations are accepted: A i addresses of the commands of conditional and unconditional transition; l (A i ) the address to which the transition is possible when executing the commands of conditional and unconditional transition; B the length of the instruction pipeline; X an arbitrary address that is not part of the ROM program area.

Устройство предназначено для контроля хода программы УВМ, построенных на базе современных процессоров, имеющих конвейер команд (например, микропроцессоры 1810 ВМ86, INTEL 18086). The device is designed to control the progress of the UVM program, built on the basis of modern processors having an instruction pipeline (for example, microprocessors 1810 BM86, INTEL 18086).

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

Figure 00000002
1• QSO=
Figure 00000003
O
Figure 00000004
активный уровень которого ("1") появляется при QS1 0; QSO 1 идентифицирует переход к началу нового линейного участка программы и подается на соответствующий вход устройства.In these processors, an advanced sample of instructions is used and a queue of instructions is formed. When control is transferred to another place in the program (at the beginning of a new linear section of the program), the instruction pipeline is cleared and after that it begins to fill up with commands of the new linear section of the program. Conveyor cleaning signal (for microprocessor 1810 VM86, for example, it is signal y
Figure 00000002
1 • QSO =
Figure 00000003
O
Figure 00000004
whose active level ("1") appears at QS1 0; QSO 1 identifies the transition to the beginning of a new linear section of the program and is fed to the corresponding input of the device.

Активный ("0") уровень сигнала на линиях обpащения к ПЗУ программы 12 и к векторам прерывания 14 вырабатывают в УВМ (с помощью входящего в его состав селектора адреса) при обращении процессора УВМ соответственно к зоне адресов, по которым хранится программа, выполняемая УВМ, и к зоне, где хранятся векторы прерывания, сохраняясь до окончания цикла обращения по данному адресу. The active ("0") signal level on the access lines to the ROM of program 12 and to the interrupt vectors 14 is generated in the UVM (using the address selector included in it) when the UVM processor addresses the address zone, according to which the program executed by the UVM is stored, and to the area where the interrupt vectors are stored, remaining until the end of the access cycle at this address.

Сигнал сбоя ("0") на линии 16 может подаваться в УВМ в качестве сигнала запроса прерывания. A failure signal ("0") on line 16 may be provided to the IWM as an interrupt request signal.

При сигнале логического "0" на своем входе разрешения записи счетчик 1 работает в режиме параллельной записи, а при "1" счета. Запись и счет производится по фронту 1/0 на синхровходе счетчика. With a logical “0” signal at its recording permission input, counter 1 operates in parallel recording mode, and with “1” counts. Recording and counting is performed on the front 1/0 at the counter clock input.

Запись информации в триггеры 4 и 6 происходит по фронту 0/1 на их синхровходах. Information is recorded in triggers 4 and 6 along the front 0/1 at their sync inputs.

При равенстве кодов схемы сравнения 3 и на ее выходе появляется сигнал логическая "1", при неравенстве логический "0". If the codes of the comparison circuit 3 are equal and the logical signal “1” appears at its output, if the inequality is logical, the signal is “0”.

Блок памяти 2 состоит из двух страниц. При логической "1" на входе выбора страницы выбирается первая страница, а при логическом "0" вторая. Memory block 2 consists of two pages. With a logical "1", the first page is selected at the page selection input, and with a logical "0", the second page is selected.

Первая страница идентична ПЗУ программ контролируемой УВМ. Вторая страница прошита так, что адресу на его входе ставится в соответствие на выходе адрес начала нового линейного участка программы контролируемой УВМ (фиг.2), на который может произойти переход в данной точке программы. Число команд, следующих за командой условного или безусловного перехода и считанных в конвейер команд процессора УВМ к моменту ее выполнения, является недетерминированным (в силу недетерминированного времени поступления в УВМ прерываний, вызывающих очистку конвейера), поэтому на второй странице блока памяти 2 по всем адресам Ai; Ai+B записано обозначение l(Ai). По адресам программы УВМ, в которых при отсутствии прерываний, невозможен переход на другие линейные участки программы, записывается произвольная информация Х, не попадающая в зону адресов ПЗУ программы УВМ.The first page is identical to ROM of programs controlled by UVM. The second page is stitched so that the address at its entrance is assigned to the output address of the start of a new linear section of the program controlled by the UVM (figure 2), which can occur at this point in the program. The number of instructions following a conditional or unconditional jump instruction and read into the conveyor of the UVM processor commands at the time of its execution is non-deterministic (due to the non-deterministic time of interruptions that cause the pipeline to be cleared in the UVM), therefore, on the second page of memory block 2, for all addresses A i ; A i + B the notation l (A i ) is written. At the addresses of the UVM program, in which, in the absence of interruptions, it is impossible to switch to other linear sections of the program, arbitrary information X is written that does not fall into the address area of the ROM of the UVM program.

Во второй странице блока памяти 2 один бит данных связан с его отдельным выходом. Он имеет значение, равное "0", если адрес перехода в данной точке программы УВМ не может быть определен заранее ("1" если может) в противном случае). On the second page of memory block 2, one bit of data is associated with its separate output. It has a value equal to "0" if the transition address at a given point in the UVM program cannot be determined in advance ("1" if it can) otherwise).

К программе УВМ предъявляется требование, чтобы интервал между командами условного и безусловного перехода превышал длину конвейера команд процессора УВМ. Нарушение данного требования крайне маловероятно в связи с малой длиной конвейера (1-2 команды) и легко устранимо вставкой команды ОР (нет операции). The requirement for the UVM program is that the interval between the commands of the conditional and unconditional transition exceed the length of the conveyor commands of the UVM processor. Violation of this requirement is extremely unlikely due to the short length of the conveyor (1-2 teams) and easily removable by inserting the OP command (no operation).

Контроль работы УВМ осуществляется путем сравнения реальных и прогнозируемых значений кодов команд и адресов перехода на новый линейный участок программы. Таким образом обеспечивается контроль правильности считывания команд при выполнении линейного участка программы и правильность переходов на новый линейный участок программы. The control of the operation of the UVM is carried out by comparing the real and predicted values of the command codes and addresses of the transition to a new linear section of the program. This ensures that the correct reading of the commands during the execution of the linear section of the program and the correct transitions to the new linear section of the program.

Предлагаемое устройство работает следующим образом. The proposed device operates as follows.

При включении питания и при переходе на новый линейный участок программы в процессоре с конвейером команд происходит его очистка, сопровождающаяся появлением активного уровня ("1") сигнала на линии очистки 13, это приводит к сбросу триггера очистки 4 и переводу счетчика 1 в режим записи. When the power is turned on and when switching to a new linear section of the program in the processor with the command pipeline, it is cleaned, accompanied by the appearance of an active level ("1") of the signal on the cleaning line 13, this leads to the reset of the cleaning trigger 4 and the transfer of counter 1 to recording mode.

Процессор УВМ, обращаясь к ПЗУ программы за 1-й командой линейного участка программы, выдает ее адрес. Обращение сопровождается появлением активного ("0"), уровня сигнала на линии обращения к ПЗУ программ 12, по которому происходит запись адреса в счетчик 1 и установка триггера очистки 4. Счетчик 1 переводится в режим счета, в блоке памяти 2 выбирается первая страница. При считывании последующих команд по сигналу обращения к ПЗУ программ ("0") происходит наращивание счетчика 1. При отсутствии сбоев значение счетчика 1 совпадает со значением счетчика команд процессора УВМ. С блока памяти 2 считывается ожидаемая команда. Считывание команды в УВМ сопровождается активными уровнями сигналов ("0") на линиях обращения к ПЗУ программы 12 и чтения 15, что приводит к появлению сигнала логического "0" на выходе элемента ИЛИ 8 и синхровходе триггера ошибки 6. Сравнение ожидаемой и реально считываемой команды происходит в схеме сравнения 3. При совпадении во время фронта 0/1 на синхровходе триггера ошибки 6 на выходе схемы сравнения 3 и информационном входе триггера ошибки 6 на выходе схемы сравнения 3 и информационном входе триггера 6 логической "1", триггер 6 остается в установленном состоянии, сигнал сбоя ("0") на линию 16 не выдается. При себе в момент фронта 0/1 на синхровходе триггера 6, на выходе схемы сравнения 3 и информационном входе триггера 6 "0", триггер 6 сбрасывается, в УВМ выдается сигнал сбоя. The UVM processor, referring to the ROM of the program for the 1st command of the linear section of the program, gives its address. The call is accompanied by the appearance of an active ("0") signal level on the access line to the program ROM 12, by which the address is recorded in counter 1 and the cleaning trigger is set 4. Counter 1 is switched to counting mode, the first page is selected in memory block 2. When reading subsequent commands by the signal to access the ROM of the programs ("0"), counter 1 is incremented. If there are no failures, the value of counter 1 coincides with the value of the counter of the CPU processor commands. The expected command is read from memory block 2. Reading the command in the computer is accompanied by active signal levels ("0") on the lines of accessing the ROM of program 12 and reading 15, which leads to the appearance of a logical "0" signal at the output of OR 8 and the sync input of error trigger 6. Comparison of the expected and actually read command occurs in the comparison circuit 3. When the edge 6 coincides at the sync input of the trigger of error 6 at the output of the comparison circuit 3 and the information input of the trigger of error 6 at the output of the comparison circuit 3 and the information input of trigger 6 is logical “1”, trigger 6 remains set In the idle state, a fault signal ("0") is not issued to line 16. With you, at the moment of front 0/1, on trigger sync input 6, at output of comparison circuit 3 and trigger 6 information input “0”, trigger 6 is reset, a fault signal is issued to the UVM.

В ответ на него УВМ прерывает свою работу, переходе к программе обработки прерывания по сбою, что сопровождается чтением вектора прерывания и появлением активного уровня сигнала на линии 14, что сбрасывает триггер прерывания 5 и устанавливает триггер ошибки 6, снимая сигнал сбоя ("0") на линии 16. In response to it, the UVM interrupts its work, switching to a failure interrupt processing program, which is accompanied by reading the interrupt vector and the appearance of an active signal level on line 14, which resets the interrupt trigger 5 and sets the error trigger 6, removing the error signal ("0") on line 16.

При переходе на новый линейный участок контролируется адрес перехода. Переход на новый линейный участок сопровождается появлением активного уровня ("1") на линии очистки 13, что приводит к сбросу триггера очистки 4, выбирается вторая страница блока памяти 2. С него считывается адрес, на который возможен переход в данной точке программы. Сравнение происходит по появлению активного уровня сигнала на линии "Обращение ПЗУ программ" 12, появление которого свидетельствует о выдаче адреса первой команды нового линейного участка. При этом триггер очистки 4 устанавливается, на его выходе, на выходе элемента И 7, синхровходе триггера ошибки появляется фронт 0/1, по которому аналогично производится сравнение ожидаемого и реального адреса перехода. When switching to a new linear section, the transition address is controlled. The transition to a new linear section is accompanied by the appearance of an active level ("1") on the cleaning line 13, which leads to the reset of the cleaning trigger 4, the second page of the memory block 2 is selected. The address to which it is possible to jump to this point in the program is read. The comparison is based on the appearance of an active signal level on the line "Access ROM programs" 12, the appearance of which indicates the issuance of the address of the first command of a new linear section. In this case, the cleaning trigger 4 is set, at its output, at the output of the And 7 element, the sync input of the error trigger appears front 0/1, which likewise compares the expected and real transition addresses.

В ряде случае адрес перехода не может быть определен заранее. К их числу относится переход к программе обработки прерывания, когда адрес перехода зависит от считываемого вектора прерывания, возврат из прерывания, когда адрес перехода определяется точкой, в которой произошло прерывание основной программы УВМ, косвенная адресация перехода, когда адрес перехода зависит от изменяющего содержания определенной ячейки ОЗУ УВМ. In some cases, the transition address cannot be determined in advance. These include the transition to the interrupt processing program when the transition address depends on the interrupt vector being read, return from the interrupt when the transition address is determined by the point at which the main computer program was interrupted, indirect transition addressing when the transition address depends on the changing contents of a certain cell RAM UVM.

В эти моменты контроль УВМ устройством временно прерывается. Происходит это следующим образом. At these moments, control of the UVM device is temporarily interrupted. It happens as follows.

При переходе к программе обработки прерывания по активному уровню сигнала на линии "Обращение к векторам прерывания" 14 происходит сброс триггера прерывания 5, и за счет активного уровня сигнала ("0") на входе установки триггера ошибки поддерживается пассивное состояние сигнала на линии сбоя 16. По активному уровню ("0") сигнала на линии "Обращение к ПЗУ программ" 12, появляющемуся при считывании первой команды нового линейного участка, триггер 5 сбрасывается, контроль работы УВМ возобновляется. When switching to the interrupt processing program according to the active signal level on the line “Access to interrupt vectors” 14, the interrupt trigger 5 is reset, and due to the active signal level (“0”), the passive state of the signal on the fault line 16 is maintained at the input of the error trigger setting. By the active level ("0") of the signal on the line "Access to program ROM" 12, which appears when the first command of a new linear section is read, trigger 5 is reset, and the operation of the UVM is resumed.

По адресу последней команды программы обработки прерывания, а также команд, где адрес перехода не может быть определен заранее, во второй странице блока памяти бит блокировки имеет активное значение ("0"). При переходе на новый линейный участок по активному уровню сигнала очистки на линии 13 сбрасывается триггер очистки 4, выбирается вторая страница блока памяти 2. При этом при активном значении бита блокировки ("0") на выходе элемента ИЛИ-НЕ 9 и элемента ИЛИ 10 появляется сигнал логической "1", что поддерживает пассивное состояние сигнала сбоя на линии 16. По активному уровню ("0") сигнала на линии "Обращение к ПЗУ программ" 12, появляющемуся при считывании первой команды нового линейного участка, триггер 4 сбрасывается, контроль работы УВМ возобновляется. At the address of the last command of the interrupt processing program, as well as the commands where the transition address cannot be determined in advance, the lock bit has an active value ("0") in the second page of the memory block. When switching to a new linear section by the active level of the cleaning signal on line 13, the cleaning trigger 4 is reset, the second page of memory block 2 is selected. At the same time, with the active value of the lock bit ("0"), the output of the OR-NOT 9 element and the OR 10 element appears logical signal "1", which supports the passive state of the fault signal on line 16. According to the active level ("0") of the signal on the line "Access to program ROM" 12, which appears when the first command of a new linear section is read, trigger 4 is reset, operation control UVM renew Xia.

Claims (1)

УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА ПРОГРАММЫ УПРАВЛЯЮЩЕЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ, содержащее блок памяти, схему сравнения, триггеры прерывания, очистки и ошибки, элемент И, элемент ИЛИ, причем первая группа входов схемы сравнения подключена к группе входов адреса данных устройства, отличающееся тем, что, с целью повышения оперативности контроля, расширения функциональных возможностей за счет возможности работы при наличии прерываний в контролируемой УВМ и сокращения аппаратурных затрат, оно содержит счетчик, второй элемент ИЛИ и элемент ИЛИ НЕ, причем группа входов адреса/данных устройства соединена с информационной группой входов счетчика, группа выходов которого соединена с группой адресных входов блока памяти, выход и группа информационных выходов которого соединены соответственно с первым входом элемента ИЛИ НЕ и второй группой входов схемы сравнения, выход которой соединен с первым входом второго элемента ИЛИ, второй вход которого соединен с выходом элемента ИЛИ НЕ, выход второго элемента ИЛИ соединен с информационным входом триггера ошибки, выход которого является выходом сбоя устройства, синхровход триггера ошибки соединен с выходом элемента И, инверсный вход установки триггера ошибки соединен с выходом триггера прерывания, инверсный вход сброса которого является входом обращения к векторам прерывания устройства, первый вход первого элемента ИЛИ, инверсный вход установки триггера очистки, инверсный вход установки триггера прерывания и синхровход счетчика подключены к входу обращения к ПЗУ программы устройства, синхровход триггера очистки является входом очистки устройства, выход триггера очистки соединен с входом выбора режима счетчика, с входом выбора страницы блока памяти, с вторым входом элемента ИЛИ НЕ и первым входом элемента И, второй вход которого соединен с выходом первого элемента ИЛИ, второй вход которого является входом чтения устройства, информационный вход триггера очистки подключен к шине нулевого потенциала устройства. DEVICE FOR MONITORING THE PROGRAM OF THE MANAGING COMPUTER MACHINE, containing a memory block, a comparison circuit, interrupt, cleanup and error triggers, an AND element, an OR element, the first group of inputs of the comparison circuit being connected to the group of inputs of the device data address, characterized in that, for the purpose of increasing control efficiency, expanding functionality due to the ability to work in the presence of interruptions in a controlled computer and reducing hardware costs, it contains a counter, a second OR element and an OR element moreover, the group of inputs / addresses of the device is connected to the information group of inputs of the counter, the group of outputs of which is connected to the group of address inputs of the memory block, the output and group of information outputs of which are connected respectively to the first input of the OR element and the second group of inputs of the comparison circuit, the output of which is connected with the first input of the second OR element, the second input of which is connected to the output of the OR element, the output of the second OR element is connected to the information input of the error trigger, the output of which is you device failure, the sync input of the error trigger is connected to the output of the AND element, the inverse input of the installation of the error trigger is connected to the output of the interrupt trigger, the inverse reset input of which is the input of accessing the device interrupt vectors, the first input of the first OR element, the inverse input of the cleaning trigger setting, the inverse input the settings of the interrupt trigger and the counter clock input are connected to the access address of the device program ROM, the cleaning trigger clock is the device cleaning input, the output of the cleaning trigger ki is connected to the input of the choice of the counter mode, with the input of the page selection of the memory block, with the second input of the OR element and the first input of the AND element, the second input of which is connected to the output of the first OR element, the second input of which is the read input of the device, the information input of the cleaning trigger is connected to the bus of the zero potential of the device.
SU4920501 1991-03-19 1991-03-19 Device for monitoring program executing by control computer RU2059287C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU4920501 RU2059287C1 (en) 1991-03-19 1991-03-19 Device for monitoring program executing by control computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU4920501 RU2059287C1 (en) 1991-03-19 1991-03-19 Device for monitoring program executing by control computer

Publications (1)

Publication Number Publication Date
RU2059287C1 true RU2059287C1 (en) 1996-04-27

Family

ID=21565795

Family Applications (1)

Application Number Title Priority Date Filing Date
SU4920501 RU2059287C1 (en) 1991-03-19 1991-03-19 Device for monitoring program executing by control computer

Country Status (1)

Country Link
RU (1) RU2059287C1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1. Авторское свидетельство СССР N 1485251, кл. G 06F 11/28, 1989. Авторское свидетельство СССР N 4860587, кл. G 06F 11/28, 1990. *

Similar Documents

Publication Publication Date Title
US5511207A (en) Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction
US4733346A (en) Data processor with multiple register blocks
US6256775B1 (en) Facilities for detailed software performance analysis in a multithreaded processor
KR100635519B1 (en) Zero overhead computer interrupts with task switching
US3593306A (en) Apparatus for reducing memory fetches in program loops
KR100496944B1 (en) Controlling instruction translation using dynamic feedback
JPS6252655A (en) Common interrupt system
EP0633522A1 (en) Pipelined data processing system capable of stalling and resuming a pipeline operation without using an interrupt processing
EP0166431B1 (en) An information processing apparatus having an instruction prefetch circuit
US5065313A (en) Digital computer system having circuit for regulation of I/O command recovery time
US4667285A (en) Microcomputer unit
US4047245A (en) Indirect memory addressing
RU2059287C1 (en) Device for monitoring program executing by control computer
KR100263262B1 (en) Microprocessor
JPS6393055A (en) Real time type garbage collection back-up device
US5278959A (en) Processor usable as a bus master or a bus slave
JPS6236575B2 (en)
US3387273A (en) High speed serial processor
JPH0646380B2 (en) Information processing equipment
US5732252A (en) Program counter system capable of incrementing or decrementing after a conditional jump instruction
RU2011216C1 (en) Device for monitoring control computer
RU1815644C (en) Device for control of program execution in computer
KR860001785B1 (en) System program protection circuit of z80 cpu
JPH01134627A (en) Instruction extending system for microprocessor
CN115547389A (en) Memory control circuit and control method for erasing operation of flash memory