RU2059287C1 - Device for monitoring program executing by control computer - Google Patents
Device for monitoring program executing by control computer Download PDFInfo
- 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
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
Abstract
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
На фиг.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
Приняты следующие обозначения: 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 1• QSO= O активный уровень которого ("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 1 • QSO = O 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" вторая.
Первая страница идентична ПЗУ программ контролируемой УВМ. Вторая страница прошита так, что адресу на его входе ставится в соответствие на выходе адрес начала нового линейного участка программы контролируемой УВМ (фиг.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
Во второй странице блока памяти 2 один бит данных связан с его отдельным выходом. Он имеет значение, равное "0", если адрес перехода в данной точке программы УВМ не может быть определен заранее ("1" если может) в противном случае). On the second page of
К программе УВМ предъявляется требование, чтобы интервал между командами условного и безусловного перехода превышал длину конвейера команд процессора УВМ. Нарушение данного требования крайне маловероятно в связи с малой длиной конвейера (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
В ответ на него УВМ прерывает свою работу, переходе к программе обработки прерывания по сбою, что сопровождается чтением вектора прерывания и появлением активного уровня сигнала на линии 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
В ряде случае адрес перехода не может быть определен заранее. К их числу относится переход к программе обработки прерывания, когда адрес перехода зависит от считываемого вектора прерывания, возврат из прерывания, когда адрес перехода определяется точкой, в которой произошло прерывание основной программы УВМ, косвенная адресация перехода, когда адрес перехода зависит от изменяющего содержания определенной ячейки ОЗУ УВМ. 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
Claims (1)
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) |
-
1991
- 1991-03-19 RU SU4920501 patent/RU2059287C1/en active
Non-Patent Citations (1)
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 |