JPH0436420B2 - - Google Patents
Info
- Publication number
- JPH0436420B2 JPH0436420B2 JP60163516A JP16351685A JPH0436420B2 JP H0436420 B2 JPH0436420 B2 JP H0436420B2 JP 60163516 A JP60163516 A JP 60163516A JP 16351685 A JP16351685 A JP 16351685A JP H0436420 B2 JPH0436420 B2 JP H0436420B2
- Authority
- JP
- Japan
- Prior art keywords
- timeout
- detection time
- register
- execution
- hang
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
- 238000001514 detection method Methods 0.000 claims description 26
- 238000000034 method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Description
〔産業上の利用分野〕
本発明は、マイクロプログラム等のハングアツ
プを検出するハングアツプタイマ方式に関する。
〔従来の技術〕
マイクロプログラム方式の中央処理装置
(CPU)においてはプログラム実行中にループが
形成され、該ループから抜け出せなくなる(ハン
グアツプする)ことがあるが、これを検出してイ
ニシヤライズなどの回復処理をとることができる
ようにハングアツプタイマを設け、プログラムの
ある部分を実行するとき、該部分の実行に必要な
時間に応じて定めた適当時間をハングアツプタイ
マにセツトして計時を開始させ、該部分の実行終
了までに該タイマがタイムアウトするか否かチエ
ツクする(タイムアウトするばハングアツプ)よ
うにしている。
ところで従来方式では、ハングアツプタイマの
タイムアウト検出時間の設定には1つの手段しか
ない。例えばタイムアウト検出時間を設定するレ
ジスタを設け、該レジスタの内容を変更すること
でタイムアウト検出時間の決定を変更する。変更
後はその変更した時間でタイムアウトが検出さ
れ、元に戻すには再びレジスタの内容を変更しな
ければならない。そこで従来方式では、タイムア
ウト時間は最も長い処理時間のマシン命令又はマ
イクロ命令に合わせておき、マシン命令単位又は
マイクロ命令単位でダイナミツクにタイムアウト
設定時間を変更することはしていない。
〔発明が解決しようとする問題点〕
しかしながら、あるマシン命令又はマイクロ命
令は特に長い処理時間を要するので、そこだけ特
別に長いタイムアウト設定時間にしたいことがあ
る。勿論、このような場合に全体を長いタイムア
ウト設定時間にすれば、短い処理時間のマシン命
令又はマイクロ命令にとつては設定時間が長過
ぎ、ハングアツプ検出が遅れ、またそこだけ長い
設定時間にするには変更と復旧の2度の処理が必
要である。
そこで本発明は、従来のタイムアウト検出時間
設定手段に加えて、一時的にタイムアウト検出時
間を変更する手段を設けることになり、マシン命
令単位又はマイクロ命令単位でダイナミツクにタ
イムアウト検出時間の設定を変更可能にしようと
するものである。
〔問題点を解決するための手段〕
本発明のハングアツプタイマ方式は、プログラ
ムのハングアツプを検出するタイマに、基本のタ
イムアウト検出時間を設定するレジスタ手段と、
命令の実行終了でクリアされ又は外部書込み信号
が入力するとき書込みデータをセツトされ、クロ
ツクでインクリメントするカウンタ手段と、これ
らのレジスタ手段およびカウンタ手段の内容を比
較する比較手段とを用い、通常は直前の命令の実
行終了でクリアされるカウンタ手段と基本のタイ
ムアウト検出時間をもつレジスタ手段との各内容
を比較手段により比較して、基本のタイムアウト
検出時間でタイムアウトを検出し、プログラムが
所定の書込みデータをカウンタ手段に書込んでタ
イムアウト検出時間を変更したときにはその変更
した検出時間でタイムアウトを検出し、命令実行
終了によりカウント手段がクリアされると自動的
に元の基本のタイムアウト検出時間でタイムアウ
トを検出する動作に戻ることを特徴とするもので
ある。
〔作用〕
基本のタイムアウト検出時間を設定するハング
比較レジスタに加えて、命令実行終了でクリヤさ
れるハングカウントレジスタを用いるとタイムア
ウト設定時間の一時的変更が容易になる。
〔実施例〕
第1図に本発明の実施例を示す。本例はマシン
命令単位にハングアツプを検出するタイマの例で
ある。NCNTRはハングカウントレジスタ、
HCMPはレジスタHCNTRと比較するデータを
保持するハング比較レジスタ、INCはレジスタ
HCNTRの内容に+1するインクリメンタ、OR1
はレジスタHCNTRのクロツク有効条件のオア
ゲート、A2はオアゲートOR1の出力をシステム
クロツクに同期させるアンドゲート、MPXはレ
ジスタHCNTRの入力データのマルチプレクサ
である。マルチプレクサMPXは、アンドゲート
A3,A4およびオアゲートOR2をデータビツト数
だけ備え、基本タイムアウト検出時間である1秒
毎に発生するクロツクISEがアンドゲートA4を通
つて入力されるときインクリメンタINCの出力e
を選択し、外部書込み信号EXTWが入力される
ときマイクロ書込みデータdを選択し、リターン
信号RTNが入力するときアンドゲートA3,A4を
閉じてオアゲートOR2よりデータ“0”を出力さ
せる。またCOMPはレジスタHCNTRとHCMP
の内容を比較するコンパレータ、FFaはコンパレ
ータCOMPの一致比較結果でセツトされ、リタ
ーン信号RTNでリセツトされるフリツプフロツ
プ、FFbはフリツプフロツプFFaがセツトされか
つクロツク1SECが入力するときアンドゲートA1
の出力によりセツトされるフリツプフロツプであ
り、このセツト時の出力hがタイムアウト信号に
なる。
クロツク1SECは第2図に示すように、発展器
OSCの出力を分周回路FDで分周して得られる。
外部書込み信号EXTWはマイクロプログラムが
レジスタHCNTRにデータを書込むとき出力さ
れる(“1”になる)。またリターン信号RTNは
マシン命令の終了時に発生される。即ちマシン命
令は第3図のようにD(デコードサイクル)、A
(アドレス計算サイクル)、T(TLBアクセスサイ
クル)からなるi−サイクル及び、複数個のE
(エグゼキユート;マイクロ命令実行)からなる
E−サイクルで実行されるが、最後のEにはこれ
で1マシン命令が終りであることを示すフラグが
付加してあり、これがリターン信号RTNになる。
なおτは1マシンサイクルで、この時間内に1マ
イクロ命令が実行される。
パイプライン方式をとるCPUでは命令の先取
りを行なつており、第3図に示すようにマシン命
令1の実行が終了すると直ちに次のマシン命令2
の実行が開始される。このマシン命令1の実行終
了時にリターン信号RTNが発生し、第1図のフ
リツプフロツプはリセツトされまたレジスタ
HCNTRは0にクリアされる。レジスタHCMP
には基本タイムアウト検出時間が予めマイクロプ
ログラムにより書込まれている。基本タイムアウ
ト検出時間は本例では1秒であり、この1秒を示
すデータ0001(マイクロ書込みデータ又はSVP設
定データg)がレジスタHCMPに取込まれてい
る。このような状態でマシン命令2が実行され、
1秒経過以前に該実行が終了してリターン信号
RTNが発生すれば前記フリツプフロツプのリセ
ツト及びレジスタのクリヤが行なわれ、タイムア
ウト信号は発生しない。
これに反してリターン信号RTNが発生する前
にクロツク1SECが発生するとレジスタHCNTR
の内容0000に+1したインクリメンタINCの出力
e即ち0001がマルチプレグサMPXを通つてレジ
スタHCNTRにロードされ、該レジスタの出力
aは0001になる。これはレジスタHCMPの出力
bと同じであるからコンパレータCOMPは出力
cを“1”にし、これはフリツプフロツプFFaを
セツトする。この状態で更に1秒経過すると次の
クロツク1SECが発生し、このときアンドゲート
Aの出力は“1”になり、フリツプフロツプFFb
をセツトする。従つて該フリツプフロツプFFbの
出力hは“1”になり、これはタイムアウトを示
す。フリツプフロツプを2段構成にしているの
は、更に1秒間の余裕において、確実なハングア
ツプ検出をするためである。
以上は通常(基本)動作であるが、タイムアウ
ト設定時間を変更(長く)したい場合は、所要の
データdを用意しかつ信号EXTWを発生してこ
れをレジスタHCNTRに取込ませる。ハングカ
ウントレジスタHFNTRは具体的にはプリセツ
ト可能な本例では4ビツトのカウンタであり、
1111の次は0000に戻る。そこでマイクロ書込みデ
ータdとして1111を用意するとレジスタ
HCNTRの内容は最初は該1111、クロツク1SEC
が入力すると0000、再びクロツク1SECが入力す
ると0001となり、こゝでレジスタHCMPの内容
と等くなる。こうして、タイムアウト設定時間は
2秒に変更されたことになる。マイクロ書込みデ
ータdとして0010を用意すると一巡して0001にな
つたとき一致がとれるから、タイムアウト設定時
間は15秒に変更されたことになる。しかも次のマ
シン命令実行時には信号EXTWを発生させなけ
れば、レジスタHCNTRは該命令の実行終了で
発生するリターン命令により0クリヤされて元の
基本タイムアウト設定時間に戻り、この復帰のた
めの特別な処理は不要である。次表に本回路の使
用例を示す。
[Industrial Application Field] The present invention relates to a hang-up timer method for detecting a hang-up of a microprogram or the like. [Prior Art] In a microprogram central processing unit (CPU), a loop may be formed during program execution, and it may become impossible to escape from the loop (hangup).This is detected and recovery processing such as initialization is performed. A hang-up timer is provided so that a certain part of the program can be executed, and when a certain part of the program is executed, an appropriate time determined according to the time required for execution of the part is set in the hang-up timer and the time is started to be measured. It is checked whether the timer times out before the execution of the part ends (if it times out, the program hangs up). However, in the conventional system, there is only one means for setting the timeout detection time of the hang-up timer. For example, a register for setting a timeout detection time is provided, and the determination of the timeout detection time is changed by changing the contents of the register. After a change is made, a timeout is detected at the changed time, and the contents of the register must be changed again to restore the original value. Therefore, in the conventional method, the timeout time is set to match the machine instruction or microinstruction that takes the longest processing time, and the timeout setting time is not dynamically changed for each machine instruction or microinstruction. [Problems to be Solved by the Invention] However, since some machine instructions or microinstructions require a particularly long processing time, it may be desirable to set a particularly long timeout for that particular machine instruction or microinstruction. Of course, if you set a long timeout setting overall in such a case, the setting time will be too long for machine instructions or microinstructions that have short processing times, and hangup detection will be delayed. requires two processes: modification and restoration. Therefore, in addition to the conventional timeout detection time setting means, the present invention provides means for temporarily changing the timeout detection time, so that the setting of the timeout detection time can be dynamically changed in units of machine instructions or microinstructions. This is what we are trying to do. [Means for Solving the Problems] The hang-up timer method of the present invention includes register means for setting a basic timeout detection time in a timer for detecting hang-up of a program;
It uses a counter means that is cleared at the end of execution of an instruction or is set with write data when an external write signal is input, and is incremented by a clock, and a comparison means that compares the contents of these register means and counter means. The comparison means compares the contents of the counter means, which is cleared at the end of execution of the instruction, and the register means having the basic timeout detection time, and a timeout is detected at the basic timeout detection time, and the program writes the predetermined write data. When the timeout detection time is changed by writing to the counter means, timeout is detected using the changed detection time, and when the counting means is cleared by the completion of instruction execution, timeout is automatically detected using the original basic timeout detection time. It is characterized by returning to the action of [Operation] In addition to the hang comparison register that sets the basic timeout detection time, the use of a hang count register that is cleared upon completion of instruction execution makes it easy to temporarily change the timeout setting time. [Example] FIG. 1 shows an example of the present invention. This example is an example of a timer that detects a hang-up in units of machine instructions. NCNTR is the hang count register,
HCMP is a hang comparison register that holds data to be compared with register HCNTR, INC is a register
Incrementer that adds 1 to the contents of HCNTR, OR 1
is an OR gate for the clock enable condition of register HCNTR, A2 is an AND gate that synchronizes the output of OR gate OR1 with the system clock, and MPX is a multiplexer for the input data of register HCNTR. Multiplexer MPX and gate
A 3, A 4 and an OR gate OR 2 are provided for the number of data bits, and when the clock ISE generated every second, which is the basic timeout detection time, is input through the AND gate A 4 , the output e of the incrementer INC is
is selected, micro write data d is selected when the external write signal EXTW is input, and when the return signal RTN is input, AND gates A3 and A4 are closed and data "0" is output from the OR gate OR2 . Also, COMP is register HCNTR and HCMP
FFa is a flip-flop that is set by the match comparison result of comparator COMP and reset by return signal RTN. FFb is an AND gate A1 when flip-flop FFa is set and clock 1SEC is input.
This is a flip-flop that is set by the output of , and the output h at this setting becomes a timeout signal. Clock 1SEC is a developing device as shown in Figure 2.
Obtained by dividing the OSC output using a frequency divider circuit FD.
The external write signal EXTW is output (becomes "1") when the microprogram writes data to the register HCNTR. A return signal RTN is also generated at the end of a machine instruction. In other words, the machine instructions are D (decode cycle) and A as shown in Figure 3.
(address calculation cycle), an i-cycle consisting of T (TLB access cycle), and a plurality of E
It is executed in an E-cycle consisting of (execute; microinstruction execution), and a flag is added to the last E to indicate that one machine instruction is finished, and this becomes the return signal RTN.
Note that τ is one machine cycle, and one microinstruction is executed within this time. A CPU that uses a pipeline system prefetches instructions, and as shown in Figure 3, as soon as the execution of machine instruction 1 is completed, the next machine instruction 2 is executed.
execution begins. At the end of execution of machine instruction 1, a return signal RTN is generated, and the flip-flop shown in Figure 1 is reset and the register is reset.
HCNTR is cleared to 0. register HCMP
A basic timeout detection time is written in advance by a microprogram. The basic timeout detection time is 1 second in this example, and data 0001 (micro write data or SVP setting data g) indicating this 1 second is taken into the register HCMP. Machine instruction 2 is executed in this state,
The execution ends before 1 second elapses and a return signal is sent.
If RTN occurs, the flip-flop is reset and the register is cleared, and no timeout signal is generated. On the other hand, if clock 1SEC occurs before return signal RTN is generated, register HCNTR is
The output e of the incrementer INC, which adds 1 to the content 0000, ie, 0001, is loaded into the register HCNTR through the multiplexer MPX, and the output a of the register becomes 0001. Since this is the same as the output b of the register HCMP, the comparator COMP sets the output c to "1", which sets the flip-flop FFa. When another second passes in this state, the next clock 1SEC occurs, and at this time, the output of AND gate A becomes "1", and flip-flop FFb
Set. Therefore, the output h of the flip-flop FFb becomes "1", indicating timeout. The reason why the flip-flop is configured in two stages is to ensure hang-up detection with a margin of one second. The above is the normal (basic) operation, but if you want to change (lengthen) the timeout setting time, prepare the required data d, generate the signal EXTW, and load it into the register HCNTR. Specifically, the hang count register HFNTR is a 4-bit counter in this example that can be preset.
After 1111, it returns to 0000. Therefore, if 1111 is prepared as micro write data d, the register
The contents of HCNTR are initially 1111, clock 1SEC
When clock 1SEC is input, it becomes 0001, and when clock 1SEC is input again, it becomes 0001, which is now equal to the contents of register HCMP. In this way, the timeout setting time has been changed to 2 seconds. If 0010 is prepared as the micro write data d, a match will be found when it reaches 0001 after one cycle, so the timeout setting time has been changed to 15 seconds. Moreover, if the signal EXTW is not generated when the next machine instruction is executed, the register HCNTR will be cleared to 0 by the return instruction generated at the end of the execution of the instruction, returning to the original basic timeout setting time, and special processing will be performed for this return. is not necessary. The following table shows an example of how to use this circuit.
以上説明したように本発明によればタイムアウ
ト設定時間の一時的変更が容易になり、マシン命
令単位又はマイクロ命令単位でダイナミツクにタ
イムアウト検出時間の変更を行なうことができ
る。
As described above, according to the present invention, it is easy to temporarily change the timeout setting time, and the timeout detection time can be dynamically changed in units of machine instructions or microinstructions.
第1図は本発明の実施例を示すブロツク図、第
2図はクロツク発生回路の説明図、第3図はマシ
ン命令の説明図である。
図面でHCMPは基本のタイムアウト検出時間
を設定するレジスタ手段、HCNTRはカウンタ
手段、COMPは比較手段である。
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is an explanatory diagram of a clock generation circuit, and FIG. 3 is an explanatory diagram of machine instructions. In the drawing, HCMP is a register means for setting a basic timeout detection time, HCNTR is a counter means, and COMP is a comparison means.
Claims (1)
に、基本のタイムアウト検出時間を設定するレジ
スタ手段と、命令の実行終了でクリアされ又は外
部書込み信号が入力するとき書込みデータをセツ
トされ、クロツクでインクリメントするカウンタ
手段と、これらのレジスタ手段およびカウンタ手
段の内容を比較する比較手段とを用い、通常は直
前の命令の実行終了でクリアされるカウンタ手段
と基本のタイムアウト検出時間をもつレジスタ手
段との各内容を比較手段により比較して、基本の
タイムアウト検出時間でタイムアウトを検出し、
プログラムが所定の書込みデータをカウンタ手段
に書込んでタイムアウト検出時間を変更したとき
にはその変更した検出時間でタイムアウトを検出
し、命令実行終了によりカウンタ手段がクリアさ
れると自動的に元の基本のタイムアウト検出時間
でタイムアウトを検出する動作に戻ることを特徴
とするハングアツプタイマ方式。1 A register means for setting a basic timeout detection time in a timer for detecting a program hang-up, and a counter means that is cleared at the end of execution of an instruction or set with write data when an external write signal is input, and incremented by a clock. , a comparing means for comparing the contents of the register means and the counter means, and comparing means for comparing the respective contents of the counter means, which is normally cleared upon completion of execution of the immediately preceding instruction, and the register means having a basic timeout detection time. Detect a timeout with the basic timeout detection time by comparing
When the program writes predetermined write data to the counter means and changes the timeout detection time, a timeout is detected using the changed detection time, and when the counter means is cleared by the end of instruction execution, the original basic timeout is automatically performed. A hang-up timer method characterized by returning to the operation of detecting a timeout based on the detection time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60163516A JPS6224335A (en) | 1985-07-24 | 1985-07-24 | Hang-up timer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60163516A JPS6224335A (en) | 1985-07-24 | 1985-07-24 | Hang-up timer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6224335A JPS6224335A (en) | 1987-02-02 |
JPH0436420B2 true JPH0436420B2 (en) | 1992-06-16 |
Family
ID=15775348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60163516A Granted JPS6224335A (en) | 1985-07-24 | 1985-07-24 | Hang-up timer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6224335A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06202910A (en) * | 1993-01-07 | 1994-07-22 | Nec Corp | Time monitoring device for microprogram |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5152256A (en) * | 1974-11-01 | 1976-05-08 | Hitachi Ltd | Maikurokonpyuutano puroguramukanshihoshiki |
JPS59200357A (en) * | 1983-04-28 | 1984-11-13 | Oki Electric Ind Co Ltd | Watchdog timer circuit |
-
1985
- 1985-07-24 JP JP60163516A patent/JPS6224335A/en active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5152256A (en) * | 1974-11-01 | 1976-05-08 | Hitachi Ltd | Maikurokonpyuutano puroguramukanshihoshiki |
JPS59200357A (en) * | 1983-04-28 | 1984-11-13 | Oki Electric Ind Co Ltd | Watchdog timer circuit |
Also Published As
Publication number | Publication date |
---|---|
JPS6224335A (en) | 1987-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752427B2 (en) | Stack underflow debug with sticky base | |
JP3684590B2 (en) | Reset control device and reset control method | |
EP0702297A1 (en) | A data processor with breakpoint circuit and method therefor | |
US6463492B1 (en) | Technique to automatically notify an operating system level application of a system management event | |
JPH0810437B2 (en) | Guest execution control method for virtual machine system | |
JPH0436420B2 (en) | ||
JPS62197831A (en) | Data processor | |
JPH0883178A (en) | Information processor | |
JP2979553B2 (en) | Fault diagnosis method | |
JPH05257750A (en) | Watchdog timer control circuit | |
JPH0314148A (en) | Program breakdown detecting device | |
JPH04106637A (en) | Stall detection circuit | |
JPS6146535A (en) | Pseudo error setting control system | |
JPH07104802B2 (en) | Information processing equipment | |
JPH0149975B2 (en) | ||
JP2002351696A (en) | Debugging device | |
JPS63155330A (en) | Microprogram controller | |
JPH0223435A (en) | Microcomputer | |
JPS5667459A (en) | Diagnostic system of electronic computer system | |
JPH02100173A (en) | Vector processor | |
JPH05257751A (en) | Microcomputer | |
JPS62254236A (en) | Detector for exceptional phenomenon | |
JPH0535611A (en) | Information processor | |
JPH06202910A (en) | Time monitoring device for microprogram | |
JPS6051135B2 (en) | Instruction word verification method by adding parity bits |