JPH0362277A - Method and mechanism for detecting deadlock - Google Patents
Method and mechanism for detecting deadlockInfo
- Publication number
- JPH0362277A JPH0362277A JP19881989A JP19881989A JPH0362277A JP H0362277 A JPH0362277 A JP H0362277A JP 19881989 A JP19881989 A JP 19881989A JP 19881989 A JP19881989 A JP 19881989A JP H0362277 A JPH0362277 A JP H0362277A
- Authority
- JP
- Japan
- Prior art keywords
- deadlock
- checksum
- token
- unit
- check sum
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【発明の詳細な説明】
〈産業上の利用分野〉
本発明はスーパーコンピュータ等に使用される自己同期
型データフローマイクロプロセッサにおけるデッドロッ
ク検出方法およびデッドロック検出機構に関する。DETAILED DESCRIPTION OF THE INVENTION <Field of Industrial Application> The present invention relates to a deadlock detection method and a deadlock detection mechanism in a self-synchronous data flow microprocessor used in a supercomputer or the like.
〈従来の技術〉
従来の自己同期型データブローマイクロプロセッサは第
5図に示すような構成をしている。第5図において、l
は処理機構付きメモリ装置、2は演算処理部、3はトー
クン分岐部、4はトークン待合せ部、5はプログラム記
憶部、6a、6b、6cはトークン合流部、7はトーク
ン緩衝部、8は外部トークン人力部であり、演算処理部
2から合流部6b、分岐部3、緩衝部7、合流部6a、
プログラム記憶部5、待合せ部4、分岐部3を経て演算
処理部2に戻るサーキュラ−パイプラインが形成されて
いる。<Prior Art> A conventional self-synchronous data blow microprocessor has a configuration as shown in FIG. In Figure 5, l
is a memory device with a processing mechanism, 2 is an arithmetic processing unit, 3 is a token branching unit, 4 is a token waiting unit, 5 is a program storage unit, 6a, 6b, 6c are token merging units, 7 is a token buffer unit, 8 is an external unit It is a token human power section, and includes from the arithmetic processing section 2 to the merging section 6b, the branching section 3, the buffer section 7, the merging section 6a,
A circular pipeline is formed which returns to the arithmetic processing section 2 via the program storage section 5, the waiting section 4, and the branching section 3.
〈発明が解決しようとする課題〉
第5図の構成において、サーキュラ−パイプライン内に
トークンか詰まると、プロセッサはデッドロックに陥っ
て、トークンが次のトークンに制御を移さず同じトーク
ンのみがサーキュラ−パイプライン上を回り続ける状態
(無限ループ)等が出現するが、サーキュラ−パイプラ
インでのデータの処理順、単位時間当たりの処理命令が
一定でないため、デッドロックの検出は容易でないとい
う問題がある。しかも、デッドロックの発生を外部から
知ることはまったくできないため、従来はプログラムの
適切な設定によってデッドロックを回避するようにして
いた。したがって、プログラムの作成時にシミュレーシ
ョンを十分実施し、デッドロックが発生しないようにプ
ログラムの調整を行うことが必要であり、プログラムの
作成が非常に面倒であった。<Problem to be solved by the invention> In the configuration shown in Figure 5, if a token gets stuck in the circular pipeline, the processor will fall into a deadlock, and the token will not transfer control to the next token, and only the same token will be sent to the circular pipeline. - A situation such as a situation where the pipeline continues to circulate (infinite loop) occurs, but since the data processing order and processing instructions per unit time in the circular pipeline are not constant, it is not easy to detect deadlock. be. Furthermore, since it is completely impossible to know from the outside that a deadlock has occurred, deadlocks have conventionally been avoided by making appropriate program settings. Therefore, when creating a program, it is necessary to perform sufficient simulation and adjust the program to prevent deadlock from occurring, which makes creating the program extremely troublesome.
そこで、本発明の目的は、自己同期型データフローマイ
クロプロセッサにおいて、デッドロックの発生を容易に
検出するためのデッドロック検出方法およびデッドロッ
クを検出して外部に知らせることのできるデッドロック
検出機構を提供することである。SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a deadlock detection method for easily detecting the occurrence of deadlock in a self-synchronous data flow microprocessor, and a deadlock detection mechanism capable of detecting deadlock and notifying the outside. It is to provide.
〈課題を解決するための手段〉
上記目的を達成するため、本発明のデッドロック検出方
法は、自己同期型データフローマイクロプロセッサにお
いて、ダミートークンをサーキュラ−パイプライン上に
周回させ、上記ダミートークンが上記サーキュラ−パイ
プラインの所定の箇所を通過した後再び通過するまでの
間に上記箇所を通過するトークンのチェックサムを算出
し、次に、今回算出したチェックサムと前回算出したチ
ェックサムとが一致するかどうかを判別し、一致する場
合はチェックサム−数回数として計数し、そうでない場
合はいままでに計数された回数を初期値に戻すことによ
って、同一のチェックサムが連続するチェックサム連続
回数を求め、次に、上記チェックサム連続回数を所定値
と比較し、同じ場合には同じトークンが上記サーキュラ
−パイプラインを周回し続けていると見なしてデッドロ
ックを検出することを特徴としている。<Means for Solving the Problems> In order to achieve the above object, the deadlock detection method of the present invention circulates a dummy token on a circular pipeline in a self-synchronized data flow microprocessor, and the dummy token After passing through a predetermined point in the circular pipeline, the checksum of the token passing through the above point is calculated, and then the checksum calculated this time matches the checksum calculated last time. If they match, the checksum is counted as a number of times, and if not, the number of times that the same checksum continues is determined by returning the number of times counted to the initial value. Next, the number of consecutive checksums is compared with a predetermined value, and if they are the same, it is assumed that the same token continues to circulate in the circular pipeline, and a deadlock is detected.
また、本発明のデッドロック検出機構は、自己同期型デ
ータフローマイクロプロセッサにおいて、ダミートーク
ンが周回するサーキュラ−パイプライン上にデッドロッ
ク監視部を設け、上記デッドロック監視部は、上記ダミ
ートークンが上記デッドロック監視部を通過してから再
び通過するまでの間に上記デッドロック監視部を通過す
るトークンのチェックサムを算出するチェックサム算出
部と、上記チェックサム算出部によって算出されたチェ
ックサムを格納するチェックサム格納部と、上記チェッ
クサム格納部から出力されるチェックサムと上記算出部
によって新たに算出されたチェックサムとが一致してい
るかどうかを判別するチェックサム一致判別部と、上記
チェックサム−致判別部による判別結果に基づき、同一
のチェックサムが連続する回数を計数する計数部と、上
記計数部によって計数された値が所定値と等しくなった
ときデッドロックを判定して、デッドロック判定信号を
出力するデッドロック判定部とを備えたことを特徴とし
ている。Further, in the deadlock detection mechanism of the present invention, in a self-synchronized data flow microprocessor, a deadlock monitoring unit is provided on a circular pipeline in which a dummy token circulates, and the deadlock monitoring unit A checksum calculation unit that calculates the checksum of the token that passes through the deadlock monitoring unit between passing through the deadlock monitoring unit and passing it again, and storing the checksum calculated by the checksum calculation unit. a checksum storage unit that determines whether the checksum output from the checksum storage unit matches the checksum newly calculated by the calculation unit; - A counter unit that counts the number of consecutive identical checksums based on the determination result by the determination unit, and a deadlock that determines a deadlock when the value counted by the counting unit becomes equal to a predetermined value. The present invention is characterized in that it includes a deadlock determination section that outputs a determination signal.
〈作用〉
本発明のデッドロック検出機構によれば、デッドロック
監視部のチェックサム算出部によって、ダミートークン
がサーキュラ−パイプライン上を1周する毎にトークン
データのチェックサムが算出される。この算出されたチ
ェックサムはチェックサム格納部に既に格納されている
前回のチェックサムと一致しているかどうかチェックサ
ム一致判別部によって判別される。今回と前回のチェッ
クサムが一致していると判別された場合には、計数部に
よってその一致回数が計数される。そして、上記計数部
による計数値が所定値に達すると、デッドロック判定部
によって、デッドロックが発生していると判定され、デ
ッドロック判定信号が出力される。<Operation> According to the deadlock detection mechanism of the present invention, the checksum calculation section of the deadlock monitoring section calculates the checksum of token data every time the dummy token makes one round on the circular pipeline. A checksum match determining unit determines whether this calculated checksum matches the previous checksum already stored in the checksum storage unit. If it is determined that the current and previous checksums match, the counting unit counts the number of times they match. When the count value by the counting section reaches a predetermined value, the deadlock determining section determines that a deadlock has occurred, and outputs a deadlock determining signal.
〈実施例〉 以下、本発明を図示の実施例により詳細に説明する。<Example> Hereinafter, the present invention will be explained in detail with reference to illustrated embodiments.
第1図は本発明のデッドロック検出機構を備えた自己同
期型データフローマイクロプロセッサ(以下、プロセッ
サと言う。)の一実施例の概略構成図である。このプロ
セッサの構成は第5図に示した従来のプロセッサと殆ど
同様の構成であるが、サーキュラ−パイプライン上のト
ークン分岐部6aとプログラム記憶部5との間に、デッ
ドロックの発生を検出して外部に知らせるデッドロック
監視部IOを付加した点で第5図に示した従来のプロセ
ッサ構成と異なる。第1図において、第5図の従来のプ
ロセッサと同一構成部は同一参照番号を付して説明を省
略する。なお、第1図において、白丸はたとえば3バイ
トの情報を有し、サーキュラ−パイプラインの中を回り
、プロセッサの各部で値を変えながら所定のプログラム
を実行するためのトークンを、黒丸は3バイトの情報を
有し、プログラム実行には関与しないで、上記サーキュ
ラ−パイプライン上を値を変えることなく回り続けるダ
ミートークンを示している。FIG. 1 is a schematic diagram of an embodiment of a self-synchronous data flow microprocessor (hereinafter referred to as processor) equipped with a deadlock detection mechanism according to the present invention. The configuration of this processor is almost the same as that of the conventional processor shown in FIG. This differs from the conventional processor configuration shown in FIG. 5 in that a deadlock monitoring unit IO is added to inform the outside. In FIG. 1, the same components as those of the conventional processor in FIG. 5 are given the same reference numerals, and the explanation thereof will be omitted. In Figure 1, the white circles have, for example, 3 bytes of information, and the black circles are tokens for executing a predetermined program while going through the circular pipeline and changing values in each part of the processor. This shows a dummy token that does not participate in program execution and continues to circulate on the circular pipeline without changing its value.
第2図は上記デッドロック監視部IOに設けたレジスタ
構成を示し、Xレジスタは上記ダミートークンがデッド
ロック監視部10を通過して再び通過するまでの間に上
記デッドロック監視部!Oを通過する正規のトークンの
チェックサムを算出するレジスタ、Xレジスタは上記X
レジスタによって算出されたチェックサムのスタックと
して用いられるレジスタである。FIG. 2 shows a register configuration provided in the deadlock monitoring unit IO, where the X register is used for the dummy token passing through the deadlock monitoring unit 10 until it passes through the deadlock monitoring unit 10 again. The X register is the register that calculates the checksum of the regular token passing through O.
This register is used as a stack of checksums calculated by the register.
本実施例では、Xレジスタの値とXレジスタとの値を比
較することによって、同じトークンがデッドロック監視
部10を通過しているかどうか、すなわち同じトークン
がサーキュラ−パイプラインを回り続けているかどうか
を判別するようにしている。より具体的に言うと、第3
図に示すように、Xレジスタによって今回算出されたチ
ェックサムがXtであるとすると、この値Xtがスタッ
ク用のXレジスタに格納され、次回のチェックサムX2
の比較値Y1として出力されるのである。したがって、
XI、X2.・・・が同じ値である限り、Yl。In this embodiment, by comparing the value of the X register and the value of the I am trying to determine. More specifically, the third
As shown in the figure, if the checksum calculated this time by the X register is Xt, this value Xt is stored in the stack X register, and the next checksum X2
It is output as the comparison value Y1. therefore,
XI, X2. As long as ... have the same value, Yl.
Y2.・・・ら同じ値になり、その間同じトークンがサ
ーキュラ−パイプラインを回り続けていると判断される
のである。Y2. . . . become the same value, and it is determined that the same token continues to circulate through the circular pipeline.
ナ13、本実施例におけるチェックサムは、3バイトの
各トークンのうちでアドレス情報を表す2バイトのデー
タの和を、とったものである。N13. The checksum in this embodiment is the sum of 2-byte data representing address information out of each 3-byte token.
上記Xレジスタからの出力値Y1.Y2.・・・に変化
がない状態でダミートークンがデッドロック監視部を通
過した回数、つまり上記Xレジスタが前回と同じチェッ
クサムを得た回数は計数用レジスタCNTによって計数
される。この計数用レジスタは、Xレジスタの値とXレ
ジスタの値とが異なる場合には、初期値に戻される。上
記計数用レジスタCNTによって計数された値はレジス
タCMAXに格納された基準値Vと比較され、基準値V
と等しくなったとき、デッドロック監視部lOは無限ル
ープが発生していると判定して、デッドロック判定信号
を外部に出力する。Output value Y1 from the above X register. Y2. The number of times the dummy token passes through the deadlock monitoring section without any change in . This counting register is returned to its initial value if the value of the X register differs from the value of the X register. The value counted by the counting register CNT is compared with the reference value V stored in the register CMAX, and the reference value V
When it becomes equal to , the deadlock monitoring unit 10 determines that an infinite loop has occurred, and outputs a deadlock determination signal to the outside.
なお、上記レジスタCMAXにセットする基準値Vを小
さくし過ぎると、チェックサムによるデッドロックの検
出であるため、デッドロックでないのをデッドロックと
したりする等、誤判断のおそれがあるため、デッドロッ
クであると正しく判定できる確率がほぼ100%になる
ように十分な大きさの値に設定することが重要である。Note that if the reference value V set in the above register CMAX is set too small, deadlock detection is based on checksums, and there is a risk of misjudgment, such as determining a deadlock when it is not a deadlock. It is important to set the value to a sufficiently large value so that the probability of correctly determining that it is approximately 100%.
次に、上記構成のプロセッサを用いたデッドロックの検
出処理の流れを第4図のブローチヤードにしたがって説
明する。Next, the flow of deadlock detection processing using the processor with the above configuration will be explained according to the broached yard in FIG.
(ステップSt) まず、プロセッサ起動と同時に、
ダミートークンがサーキュラ−パイプライン内に投入さ
れる。(Step St) First, at the same time as the processor starts,
A dummy token is injected into the circular pipeline.
(ステップS2) デッドロック監視部IOにおいて
、チェックサム用のX、Xレジスタと計数用レジスタC
NTがクリアされると共に、レジスタCMAXに基準値
Vがセットされる。(Step S2) In the deadlock monitoring unit IO, checksum X, X registers and counting register C
At the same time as NT is cleared, reference value V is set in register CMAX.
(ステップS3) 続いて、デッドロック監視部lO
はサーキュラ−パイプラインを回って入ってきたトーク
ンのデータを読み取る。(Step S3) Next, the deadlock monitoring unit lO
reads the data of the token that comes in through the circular pipeline.
(ステップS4) ステップS3で読み取ったトーク
ンデータの結果によって、今通過したトークンがダミー
トークンか否かを判別する。(Step S4) Based on the result of the token data read in step S3, it is determined whether the token that has just passed is a dummy token.
(ステップS5) ステップS4でダミートークンで
はない、つまり正規のトークンであると判断した場合に
は、ステップS3で読み取ったトークンデータをXレジ
スタにプラスして格納し、その後再びステップS3に戻
る。(Step S5) If it is determined in step S4 that it is not a dummy token, that is, it is a regular token, the token data read in step S3 is added to the X register and stored, and then the process returns to step S3.
上記のステップS3.S4.S5の処理は、ダミートー
クンがデッドロック監視部10を通過してから再び通過
するまでの間繰り返され、その間にデッドロック監視部
lOを通過する正規のトークンのチェックサムがXレジ
スタによって求められる。Above step S3. S4. The process of S5 is repeated from when the dummy token passes through the deadlock monitoring section 10 until when it passes through the deadlock monitoring section 10 again, during which time the checksum of the regular token passing through the deadlock monitoring section 10 is determined by the X register.
(ステップS6) ステップS4での判別結果によっ
て、デッドロック監視部lOに入力されたトークンがダ
ミートークンである場合は、Xレジスタの値(たとえば
第3図のX2)を今回のチェックサムとしてXレジスタ
に格納する一方、Xレジスタから出力された値(前回の
チェックサム、たとえば第3図のYl)と等しいかどう
かを判別する。(Step S6) According to the determination result in step S4, if the token input to the deadlock monitoring unit IO is a dummy token, the value of the X register (for example, X2 in FIG. 3) is set as the current checksum in the X register. It is determined whether the value is equal to the value output from the X register (the previous checksum, for example, Yl in FIG. 3).
(ステップS7) 判別結果がxf−Yの場合は、計
数用レジスタCNTをゼロにすると共に、Xレジスタの
値を今回のチェックサムXに書き変え、ステップS3に
戻る。(Step S7) If the determination result is xf-Y, the counting register CNT is set to zero, the value of the X register is rewritten to the current checksum X, and the process returns to step S3.
つまり、上記のステップS6.S7の処理は、Xレジス
タの値とXレジスタの値とを比較することによって、今
回のトークンのチェックサムが前回のトークンのチェッ
クサムと一致しているかどうかを判別し、異なる場合は
同じデータが流れていないわけであるから、デッドロッ
クは発生していないと判断して、デッドロックの監視を
引き続いて行うものである。That is, step S6 above. In the process of S7, by comparing the value of the X register with the value of the X register, it is determined whether the checksum of the current token matches the checksum of the previous token. Since there is no flow, it is determined that no deadlock has occurred, and monitoring for deadlock continues.
(ステップS8) ステップS6でXレジスタの値が
Xレジスタの値に等しいと判断された場合、計数用レジ
スタCNTに1をプラスする。(Step S8) If it is determined in step S6 that the value of the X register is equal to the value of the X register, 1 is added to the counting register CNT.
(ステップS9) 計数用レジスタCNTの値がレジ
スタCMAXの値Vと等しいかどうかを判断する。両方
の値が等しくない場合は、ステップS3に戻る。(Step S9) It is determined whether the value of the counting register CNT is equal to the value V of the register CMAX. If both values are not equal, the process returns to step S3.
つまり、上記のステップS8.S9の処理は、チェック
サムが連続して一致する場合、その連続するチェックサ
ム−数回数を所定の上限回数を表す基準値Vと比較し、
上記−数回数がまだその上限回数に達していなければ無
限ループはまだ発生していないものとして、デッドロッ
クの監視を続行するものである。That is, step S8 above. In the process of S9, when the checksums match consecutively, the number of consecutive checksums is compared with a reference value V representing a predetermined upper limit number of times,
If the above-mentioned number of times has not yet reached the upper limit, it is assumed that an infinite loop has not yet occurred, and deadlock monitoring is continued.
(ステップ5IO) 計数用レジスタCNTの値がレ
ジスタCMAXの値Vに等しくなると、デッドロック監
視部IOは無限ループが発生したと見なして、デッドロ
ック判定信号を出力する。(Step 5IO) When the value of the counting register CNT becomes equal to the value V of the register CMAX, the deadlock monitoring unit IO considers that an infinite loop has occurred and outputs a deadlock determination signal.
このように、本実施例によれば、ステップSlでダミー
トークンを投入した後、デッドロック監視部lOによっ
て上記のステップ82〜SIOの処理を行うことにより
デッドロックを検出して外部に知らせることができるの
で、デッドロックに対して速やかに対処できる。したが
って、従来のように複雑なプログラムの調整を行う必要
がなくなる。As described above, according to the present embodiment, after the dummy token is inserted in step Sl, deadlock can be detected and notified to the outside by performing the processing from steps 82 to SIO described above by the deadlock monitoring unit IO. This allows you to quickly deal with deadlocks. Therefore, there is no need to make complex program adjustments as in the past.
また、本実施例のプロセッサは、上記従来のプロセーJ
すに単純なレジスタ構成を有するデッドロック監視部1
0を付加しただけなので、従来のプロセッサに比べて構
成が余り複雑にならず、したがって、コスト面でも問題
はない。Furthermore, the processor of this embodiment is similar to the conventional processor J described above.
Deadlock monitoring unit 1 with a very simple register configuration
Since only 0's are added, the configuration is less complicated than that of conventional processors, and therefore there is no problem in terms of cost.
なお、本実施例においては、トークンデータのうち2バ
イトのアドレス情報を用いてチェックサムを算出したが
、チェックサム算出に用いるデータ量はこれに限るもの
ではない。Note that in this embodiment, the checksum is calculated using 2 bytes of address information of the token data, but the amount of data used for checksum calculation is not limited to this.
また、ダミートークンは外部からサーキュラ−バイブラ
インに投入する構成にしたが、サーキュラ−パイプライ
ン上のたとえばプログラム記憶部5等でダミートークン
を生成するようにしてもよい。Furthermore, although the dummy token is input into the circular vibe line from the outside, the dummy token may be generated in, for example, the program storage unit 5 on the circular pipeline.
また、計数用レジスタCRTはチェックサムが一致した
ときにlをプラスしていき、計数値がレジスタCMAX
に格納された所定値Vに達したとき、デッドロックの発
生と判定する構成にしたが、計数値レジスタCNTの初
期値を上記所定値Vにしておいて、チェックサムが一致
したときに1ずつマイナスしていき、ゼロになったとき
デッドロックの判定を行うようにしてもよい。この場合
は、レジスタCMAXが不要になるので、レジスタ構成
がさらに簡素化される。Also, the counting register CRT adds l when the checksums match, and the count value reaches the register CMAX.
In this configuration, it is determined that a deadlock has occurred when the predetermined value V stored in the count value register CNT is reached.However, the initial value of the count value register CNT is set to the predetermined value V, and when the checksums match, it is determined that a deadlock has occurred. It is also possible to subtract the value, and when it reaches zero, determine whether there is a deadlock. In this case, the register CMAX becomes unnecessary, so the register configuration is further simplified.
また、デッドロック監視部IOの設置位置は本実施例に
限るものではなく、サーキュラ−パイプライン上であれ
ばよい。Further, the installation position of the deadlock monitoring unit IO is not limited to this embodiment, and may be on the circular pipeline.
〈発明の効果〉
以上の説明より明らかなように、本発明のデッドロック
検出方法によれば、ダミートークンの1周毎に正規のト
ークンのチェックサムをとり、チェックサムの変化の有
無を利用して、チェックサムの無変化の状態が所定回数
続いたときデッドロックを検出するようにしているので
、簡単にデッドロックを検出できる。ただし、チェック
サム利用のために、間違ってデッドロックを検出する可
能性もあるが、デッドロックの判定基準となる所定回数
を大きくとることで100%に近い確率でデッドロック
を検出することができる。<Effects of the Invention> As is clear from the above explanation, according to the deadlock detection method of the present invention, the checksum of the regular token is taken every round of the dummy token, and the presence or absence of a change in the checksum is used. Since deadlock is detected when the checksum remains unchanged for a predetermined number of times, deadlock can be easily detected. However, due to the use of checksums, there is a possibility that deadlocks may be detected incorrectly, but by increasing the predetermined number of times used as the deadlock judgment criterion, deadlocks can be detected with a probability close to 100%. .
また、本発明のデッドロック検出機構は、従来のプロセ
ッサの構成にデッドロック監視部を付加し、ダミートー
クンの1周毎に正規のトークンのチェックサムをとり、
チェックサムの変化の有無を利用して、チェックサムの
無変化の状態が所定回数続いたときデッドロックを検出
するようにしているので、簡単、安価な構成で、デッド
ロックを検出し、外部に知らせることができる。Furthermore, the deadlock detection mechanism of the present invention adds a deadlock monitoring section to the conventional processor configuration, takes a checksum of the regular token every cycle of the dummy token, and
Since the presence or absence of a change in the checksum is used to detect a deadlock when the checksum remains unchanged for a predetermined number of times, deadlocks can be detected with a simple and inexpensive configuration, and can be communicated externally. I can let you know.
第1図は本発明のデッドロック検出機構を備えたプロセ
ッサの概略構成図、第2図は第1図に示したデッドロッ
ク監視部のレジスタ構成を概略的に示す図、第3図はX
レジスタの値とYレジスタの値の関係を示す図、第4図
は第1図のプロセッサを用いて行うデッドロック検出処
理の流れを示す図、第5図は従来のプロセッサの概略構
成図である。
l・・・メモリ装置、2・・・演算処理部、3・・・ト
ークン分岐部、
4・・・トークン待ち合わせ部、
5・・・プログラム記憶部、
6 a、 6 b、 6 c・・・トークン合流部、7
・・・トークン緩衝部、
10・・・デッドロック監視部。FIG. 1 is a schematic configuration diagram of a processor equipped with a deadlock detection mechanism of the present invention, FIG. 2 is a diagram schematically showing the register configuration of the deadlock monitoring section shown in FIG. 1, and FIG.
FIG. 4 is a diagram showing the relationship between register values and Y register values, FIG. 4 is a diagram showing the flow of deadlock detection processing performed using the processor of FIG. 1, and FIG. 5 is a schematic configuration diagram of a conventional processor. . 1...Memory device, 2...Arithmetic processing section, 3...Token branching section, 4...Token waiting section, 5...Program storage section, 6a, 6b, 6c... Token confluence, 7
... Token buffer section, 10... Deadlock monitoring section.
Claims (2)
いて、ダミートークンをサーキュラーパイプライン上に
周回させ、上記ダミートークンが上記サーキュラーパイ
プラインの所定の箇所を通過した後再び通過するまでの
間に上記箇所を通過するトークンのチェックサムを算出
し、次に、今回算出したチェックサムと前回算出したチ
ェックサムとが一致するかどうかを判別し、一致する場
合はチェックサム一致回数として計数し、そうでない場
合はいままでに計数された回数を初期値に戻すことによ
って、同一のチェックサムが連続するチェックサム連続
回数を求め、次に、上記チェックサム連続回数を所定値
と比較し、同じ場合には同じトークンが上記サーキュラ
ーパイプラインを周回し続けていると見なしてデッドロ
ックを検出することを特徴とするデッドロック検出方法
。(1) In a self-synchronous data flow microprocessor, a dummy token is made to circulate on a circular pipeline, and the dummy token passes through a predetermined location of the circular pipeline before passing again. Next, determine whether the checksum calculated this time matches the checksum calculated last time. If they match, count it as the number of checksum matches; if not, check the checksum. The number of consecutive checksums with the same checksum is determined by returning the number of times counted up to the initial value to the initial value. Next, the number of consecutive checksums is compared with a predetermined value, and if the number of consecutive checksums is the same, the same token is found. A deadlock detection method characterized by detecting a deadlock by assuming that the circular pipeline continues to circulate.
いて、ダミートークンが周回するサーキュラーパイプラ
イン上にデッドロック監視部を設け、上記デッドロック
監視部は、上記ダミートークンが上記デッドロック監視
部を通過してから再び通過するまでの間に上記デッドロ
ック監視部を通過するトークンのチェックサムを算出す
るチェックサム算出部と、上記チェックサム算出部によ
って算出されたチェックサムを格納するチェックサム格
納部と、上記チェックサム格納部から出力されるチェッ
クサムと上記算出部によって新たに算出されたチェック
サムとが一致しているかどうかを判別するチェックサム
一致判別部と、上記チェックサム一致判別部による判別
結果に基づき、同一のチェックサムが連続する回数を計
数する計数部と、上記計数部によって計数された値が所
定値と等しくなったときデッドロックを判定して、デッ
ドロック判定信号を出力するデッドロック判定部とを備
えたことを特徴とするデッドロック検出機構。(2) In a self-synchronous data flow microprocessor, a deadlock monitoring section is provided on a circular pipeline in which a dummy token circulates, and the deadlock monitoring section is configured to monitor the deadlock monitoring section after the dummy token passes through the deadlock monitoring section. a checksum calculation unit that calculates a checksum of a token that passes through the deadlock monitoring unit until it passes through the deadlock monitoring unit again; a checksum storage unit that stores the checksum calculated by the checksum calculation unit; and a checksum storage unit that stores the checksum calculated by the checksum calculation unit; a checksum match determination unit that determines whether the checksum output from the sum storage unit matches the checksum newly calculated by the calculation unit; and based on the determination result by the checksum match determination unit, a counting unit that counts the number of consecutive identical checksums; and a deadlock determining unit that determines deadlock when the value counted by the counting unit becomes equal to a predetermined value and outputs a deadlock determination signal. A deadlock detection mechanism characterized by comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19881989A JPH0362277A (en) | 1989-07-31 | 1989-07-31 | Method and mechanism for detecting deadlock |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19881989A JPH0362277A (en) | 1989-07-31 | 1989-07-31 | Method and mechanism for detecting deadlock |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0362277A true JPH0362277A (en) | 1991-03-18 |
Family
ID=16397440
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19881989A Pending JPH0362277A (en) | 1989-07-31 | 1989-07-31 | Method and mechanism for detecting deadlock |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0362277A (en) |
-
1989
- 1989-07-31 JP JP19881989A patent/JPH0362277A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02202642A (en) | Device for supervising program action | |
| JPS60183639A (en) | Data processing unit | |
| JPS62106552A (en) | Loop detector | |
| JPS644195B2 (en) | ||
| JPH0362278A (en) | Deadlock detecting device | |
| KR960018893A (en) | Controller with Watchdog Timer | |
| JPH0259875A (en) | Overflow indicating device | |
| JPS6063647A (en) | Measuring method of run time of specified program | |
| JPH05274220A (en) | Memory bank busy control system | |
| JPS63204328A (en) | Pipeline processing type information processor | |
| JPS6133552A (en) | Information processor | |
| JPH04235638A (en) | Microprocessor provided with prefetching function | |
| JPS63150732A (en) | Program running supervisory equipment | |
| JPS62182934A (en) | program execution device | |
| JPH04225432A (en) | Interruption processing time control system for one-chip microcomputer | |
| JPH01283641A (en) | Interruption controller | |
| JPS6318776B2 (en) | ||
| JPS62216048A (en) | Runaway detecting system for processor | |
| JPH0365739A (en) | Control device | |
| JPH0318942A (en) | Computer runaway detecting circuit | |
| JPH0498540A (en) | Processor load monitoring system | |
| JPS6375944A (en) | Information processor | |
| JPH0764822A (en) | Microcomputer | |
| JPH02297638A (en) | Cpu runaway detector | |
| JPH03152637A (en) | Abnormality diagnostic system |