JPH05151023A - Information controller - Google Patents

Information controller

Info

Publication number
JPH05151023A
JPH05151023A JP3336002A JP33600291A JPH05151023A JP H05151023 A JPH05151023 A JP H05151023A JP 3336002 A JP3336002 A JP 3336002A JP 33600291 A JP33600291 A JP 33600291A JP H05151023 A JPH05151023 A JP H05151023A
Authority
JP
Japan
Prior art keywords
loop
trace
register
branch
value
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
Application number
JP3336002A
Other languages
Japanese (ja)
Inventor
Akio Toda
明男 戸田
Kenji Kojima
賢二 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3336002A priority Critical patent/JPH05151023A/en
Publication of JPH05151023A publication Critical patent/JPH05151023A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • G06F9/381Loop buffering

Abstract

PURPOSE:To provide the information controller capable of keeping the execution result of a wide range of the microprogram in the trace memory using the trace memory with the same capacity in the trace operation in synchronism with the execution of the microprogram. CONSTITUTION:The information processor is provided with loop recognition parts 10-1 to 10-N having a backward branch detection part 7 detecting the backward branch in executing the microprogram, a loop start register 101-N keeping the loop information at the time of the backward branch detection, a loop end register 102-N, and a loop trace counter 103-N. On the part executing the microprogram in repetition, the trace information is kept in the trace memory 1 only when the first and the last time.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】マイクロプログラムの実行に同期
したトレース機能を有する情報制御装置に関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information control device having a trace function synchronized with the execution of a microprogram.

【0002】[0002]

【従来の技術】図3は、例えば、特開平3−22146
号公報に示された従来の情報制御装置を示すブロック図
である。図において、1はトレース情報を格納するトレ
ースメモリであり、2は例えばマイクロプログラムの実
行同期指示およびトレース開始指示およびトレース停止
指示等を行うトレース制御信号、3は例えばマイクロプ
ログラムアドレスのようなトレース情報を前記トレース
メモリ1に渡すトレース情報バスである。4は前記トレ
ース情報バス3から前記トレースメモリ1にトレース情
報を格納するトレースメモリアドレスを保持するととも
に、当該トレース情報格納後に前記トレース制御信号2
によって1だけインクリメントされるトレースカウンタ
である。
2. Description of the Related Art FIG. 3 shows, for example, JP-A-3-22146.
It is a block diagram which shows the conventional information control apparatus shown by the publication. In the figure, 1 is a trace memory for storing trace information, 2 is a trace control signal for giving a microprogram execution synchronization instruction, a trace start instruction and a trace stop instruction, and 3 is trace information such as a microprogram address. Is a trace information bus for passing the data to the trace memory 1. Reference numeral 4 holds a trace memory address for storing trace information from the trace information bus 3 in the trace memory 1 and, after storing the trace information, the trace control signal 2
Is a trace counter that is incremented by 1.

【0003】次に動作について説明する。トレースメモ
リ1はトレースカウンタ4によりアドレス更新制御さ
れ、トレース情報バス3にて送られてくるマイクロプロ
グラムアドレスなどのトレース情報が書き込まれてゆ
く。ここで、このトレースメモリ1内のトレース情報
は、メモリ容量をオーバーすると古いものから順に捨て
られてゆき、常に最新のトレース情報が残るようになっ
ている。このトレースメモリ1に蓄えられたトレース情
報は、マイクロプログラムのデバッグ時や不具合解析時
に読み出されて利用される。図4はこのような従来の情
報制御装置によるトレース結果を示す説明図であり、こ
の場合には、マイクロプログラムアドレス、実行命令、
アクセスデータアドレス、アクセスデータ、およびアク
セスモードが、各マイクロプログラムの命令実行に対し
てトレースされている。
Next, the operation will be described. Address update control is performed by the trace counter 4 in the trace memory 1, and trace information such as a microprogram address sent by the trace information bus 3 is written. Here, the trace information in the trace memory 1 is discarded in order from the oldest when the memory capacity is exceeded, and the latest trace information always remains. The trace information stored in the trace memory 1 is read out and used at the time of debugging the micro program and at the time of failure analysis. FIG. 4 is an explanatory diagram showing a trace result by such a conventional information control device. In this case, a micro program address, an execution instruction,
The access data address, access data, and access mode are traced for each microprogram instruction execution.

【0004】[0004]

【発明が解決しようとする課題】従来の情報制御装置は
以上のように構成されているので、マイクロプログラム
の実行に同期してトレース動作が行われ、トレース結果
として得られるトレースの範囲は、トレース停止指示条
件が成立する点の前後に実行されるマイクロプログラム
の実行命令数によって制限されることとなり、例えば、
トレース停止条件が成立する点の前後に、繰り返し実行
を行うようなマイクロプログラムが記述されていた場合
には、トレース結果として得ることができるマイクロプ
ログラムとしての範囲が極端に狭くなってしまい、この
ような場合には、トレース機能を使用してマイクロプロ
グラムの誤りを調査する際に、トレース結果として、繰
り返し実行部分のトレース結果が複数回分残っているの
みで、該繰り返し実行部分がどのような条件のもとで繰
り返し実行されたのか判断できないという状況がしばし
ば発生するという問題点があった。
Since the conventional information control device is configured as described above, the trace operation is performed in synchronization with the execution of the microprogram, and the trace range obtained as the trace result is the trace range. It will be limited by the number of execution instructions of the microprogram executed before and after the point at which the stop instruction condition is satisfied.
If a microprogram that repeatedly executes is written before and after the point where the trace stop condition is satisfied, the range of the microprogram that can be obtained as the trace result will be extremely narrowed. In this case, when investigating an error in the microprogram using the trace function, the trace result of the repeated execution part remains only for a plurality of times as the trace result, and the condition of the repeated execution part is There was a problem that it often happened that it was not possible to determine whether it was repeatedly executed.

【0005】この発明は上記のような課題を解消するた
めになされたもので、マイクロプログラムの繰り返し実
行部分を認識し、繰り返し部分のトレース動作について
は、初回と終回のみをトレース結果として残す情報制御
装置を得ることを目的とする。
The present invention has been made in order to solve the above problems, and recognizes a repeated execution part of a microprogram and leaves the trace operation of the repeated part only as a trace result for the first time and the last time. The purpose is to obtain a control device.

【0006】[0006]

【課題を解決するための手段】請求項1に記載の発明に
係る情報制御装置は、マイクロプログラム実行時の後方
分岐発生を検出する後方分岐検出部と、繰り返し部分認
識情報として、分岐先マイクロプログラムアドレスを保
持しておくループ開始レジスタ、分岐元マイクロプログ
ラムアドレスを保持しておくループ終了レジスタ、およ
び繰り返し部分認識時の次トレース情報の格納位置を指
示するトレースカウンタ値を保持しておくループトレー
スカウンタを備えたループ認識部を有し、マイクロプロ
グラム実行時の後方分岐を検出し、分岐先マイクロプロ
グラムアドレスと分岐元マイクロプログラムアドレスと
がそれぞれループ開始レジスタとループ終了レジスタに
両者とも一致していれば、現在のトレースカウンタにル
ープトレースカウンタをセットし、一致していなければ
ループ認識部が保持する繰り返し認識情報を更新してト
レース動作を行うようにしたものである。
According to a first aspect of the present invention, there is provided an information control device including a backward branch detecting section for detecting backward branch occurrence during execution of a micro program, and a branch destination micro program as repeated portion recognition information. A loop start register that holds the address, a loop end register that holds the branch source microprogram address, and a loop trace counter that holds the trace counter value that indicates the storage location of the next trace information when the repeated portion is recognized. If there is a loop recognition unit equipped with, the backward branch at the time of microprogram execution is detected, and the branch destination microprogram address and the branch source microprogram address match the loop start register and the loop end register, respectively. Loop trace cow to the current trace counter Set the data, in which the loop recognizer must match has to perform the tracing operation to update the repetitive recognition information held.

【0007】また、請求項2に記載の発明に係る情報制
御装置は、後方分岐検出部に後方分岐の検出指示が与え
られなかった場合には、全てのマイクロプログラムの実
行について、そのトレース情報をトレースメモリに格納
するものである。
Further, the information control apparatus according to the second aspect of the present invention, when the backward branch detection unit is not instructed to detect the backward branch, outputs the trace information about the execution of all the microprograms. It is stored in the trace memory.

【0008】さらに、請求項3に記載の発明に係る情報
制御装置は、ループ認識部を複数用意してその各々に重
み付けされたループ識別IDを付与し、ループ終了レジ
スタの内容が、分岐先マイクロプログラムアドレス以下
もしくは分岐元マイクロプログラムアドレス以上の値を
保持するループ認識部中の1つを、付与されたループ識
別IDの重みに従って選択するものである。
Further, in the information control apparatus according to the present invention as defined in claim 3, a plurality of loop recognizing units are prepared, weighted loop identification IDs are given to the respective loop recognizing units, and the content of the loop end register is set to the branch destination micro. One of the loop recognition units holding a value equal to or lower than the program address or equal to or higher than the branch source microprogram address is selected according to the weight of the assigned loop identification ID.

【0009】[0009]

【作用】請求項1に記載の発明における情報制御装置の
マイクロプログラムの繰り返し実行部分に対するトレー
ス動作は、マイクロプログラムの繰り返し部分の初回実
行時に、当該実行のトレース情報をトレースメモリに格
納し、繰り返し部分の二回目を実行するために後方分岐
を行った時点の状態を繰り返し部分認識情報として保存
することになり、繰り返し部分の三回目以降を実行する
ために後方分岐を行った時には、保存してある繰り返し
部分認識情報が現状態に一致するためトレースポインタ
が該当繰り返し部分認識情報に保持している二回目実行
開始時のトレースポインタに置き替わって、繰り返し部
分の三回目以降の実行に対するトレース動作は二回目の
トレース情報に上書きされることになり、繰り返し部分
の実行に対するトレース情報として、繰り返し部の初回
と終回の実行のトレース情報のみが残される。
According to the first aspect of the present invention, in the trace operation for the repeated execution portion of the microprogram of the information control apparatus, the trace information of the execution is stored in the trace memory when the repeated portion of the microprogram is executed for the first time. The state at the time of performing the backward branch to execute the second time is saved as the repeated part recognition information, and is saved when the backward branch is executed to execute the third and subsequent times of the repeated part. Since the repeated part recognition information matches the current state, the trace pointer replaces the trace pointer at the start of the second execution held in the corresponding repeated part recognition information, and the trace operation for the third and subsequent executions of the repeated part is The trace information for the second time will be overwritten, and the trace As over the scan information, only first and trace information of the end times of the execution of the repetition unit is left.

【0010】また、請求項2に記載の発明における後方
分岐検出部は、後方分岐の検出指示が与えられなかった
場合、全トレース情報をトレースメモリに格納すること
により、モード指示信号にて後方分岐の検出の要否を指
示することができる情報制御装置を実現する。
Further, the backward branch detecting unit in the invention according to claim 2 stores all the trace information in the trace memory when the instruction to detect the backward branch is not given, so that the backward branch is caused by the mode instruction signal. An information control device capable of instructing whether or not to detect is realized.

【0011】さらに、請求項3に記載の発明における情
報制御装置は、それぞれに重み付けされたループ識別I
Dが付与された複数のループ認識部を備え、その中より
ループ終了レジスタの内容が、分岐先マイクロプログラ
ムアドレス以下もしくは分岐元マイクロプログラムアド
レス以上の値を保持するものを、付与されたループ識別
IDの重みに従って選択することにより、より複雑な繰
り返しループのあるマイクロプログラムについても、効
率的なトレース処理を可能とする。
Further, in the information control device according to the invention described in claim 3, the loop identification I weighted respectively
It is provided with a plurality of loop recognition units to which D is assigned, and the content of the loop end register holds a value equal to or lower than the branch destination microprogram address or equal to or higher than the branch source microprogram address. By selecting according to the weight of, efficient trace processing is possible even for microprograms with more complicated repeating loops.

【0012】[0012]

【実施例】【Example】

実施例1.以下、この発明の一実施例を図について説明
する。図1は請求項1〜3に記載された発明の一実施例
を示すブロック図であり、図において、1はトレースメ
モリ、2はトレース制御信号、3はトレース情報バス、
4はトレースカウンタであり、図3に同一符号を付した
従来のそれらと同一、あるいは相当部分であるため詳細
な説明は省略する。
Example 1. An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of the invention described in claims 1 to 3, in which 1 is a trace memory, 2 is a trace control signal, 3 is a trace information bus,
Reference numeral 4 denotes a trace counter, which is the same as or equivalent to those of the conventional one denoted by the same reference numeral in FIG.

【0013】5は実行中のマイクロプログラムの位置を
示すマイクロプログラムアドレス、6は後方分岐検出を
行うか否かを指示するモード指示信号であり、7はモー
ド指示信号6が検出指示であるとマイクロプログラムア
ドレス5の前回値と今回値を比較して前回値が今回値以
上の場合に後方分岐が発生したことを検出する後方分岐
検出部である。この後方分岐検出部7内において、71
はマイクロプログラムアドレス5の前回値が格納される
前回値レジスタであり、72はマイクロプログラムアド
レス5の今回値が格納される今回値レジスタである。8
は後方分岐検出部7が後方分岐を検出した時の今回値レ
ジスタ72の値を保持する分岐先レジスタであり、9は
後方分岐検出部7が後方分岐を検出した時の前回値レジ
スタ71の値を保持する分岐元レジスタである。
Reference numeral 5 is a micro program address indicating the position of the micro program being executed, 6 is a mode instruction signal for instructing whether or not backward branch detection is to be performed, and 7 is a micro instruction signal indicating that the mode instruction signal 6 is a detection instruction. This is a backward branch detection unit that compares the previous value of the program address 5 with the current value and detects that a backward branch has occurred when the previous value is equal to or greater than the current value. In this backward branch detection unit 7, 71
Is a previous value register that stores the previous value of the micro program address 5, and 72 is a current value register that stores the current value of the micro program address 5. 8
Is a branch destination register that holds the value of the current value register 72 when the backward branch detecting unit 7 detects the backward branch, and 9 is the value of the previous value register 71 when the backward branch detecting unit 7 detects the backward branch Is a branch source register that holds

【0014】10−1〜10−Nは、マイクロプログラ
ムの繰り返し実行部分を認識するための情報を保持する
ループ認識部であり、その各々には例えば大小関係など
による重み付けがなされたループ識別IDが付与されて
いる。これら各ループ認識部10−1〜10−Nの内部
構成は同一のものであるが、その詳細をループ認識部1
0−Nについて示す。このループ認識部10−N内にお
いて、101−Nは繰り返し部分の先頭マイクロプログ
ラムアドレスが格納されるループ開始レジスタ、102
−Nは繰り返し部分の最終マイクロプログラムアドレス
が格納されるループ終了レジスタであり、103−Nは
繰り返し部分認識時のトレースカウンタ4の値が格納さ
れるループトレースカウンタである。
Numerals 10-1 to 10-N are loop recognizing sections for holding information for recognizing repeated execution parts of the microprogram, and each of them has a loop identification ID weighted according to a magnitude relationship or the like. Has been granted. The internal configuration of each of the loop recognition units 10-1 to 10-N is the same, but details thereof will be described in detail.
0-N is shown. In the loop recognizing unit 10-N, 101-N is a loop start register in which a leading microprogram address of a repeated portion is stored, 102
-N is a loop end register that stores the final microprogram address of the repeated portion, and 103-N is a loop trace counter that stores the value of the trace counter 4 when the repeated portion is recognized.

【0015】次に動作について説明する。図2はトレー
ス動作の概要を示すフローチャートであり、この場合複
数個有するループ認識部10−1〜10−Nを例えば三
個有する場合について示しており、トレース制御信号2
によってトレース開始が指示された時に動作が開始さ
れ、トレース制御信号2によってトレース停止が指示さ
れると動作は停止する。
Next, the operation will be described. FIG. 2 is a flow chart showing an outline of the trace operation. In this case, for example, three loop recognizing units 10-1 to 10-N having a plurality of loop recognizing units are shown.
The operation is started when the trace start is instructed by, and the operation is stopped when the trace stop is instructed by the trace control signal 2.

【0016】トレース動作開始時に、全てのループ認識
部10−1〜10−3のループ開始レジスタ101−1
〜101−3、及びループ終了レジスタ102−1〜1
02−3を例えばレジスタに設定可能な最大値で初期化
する(ステップST1)。初期化が終れば、まず後方分
岐検出部7が後方分岐を検出したか否かを判断し(ステ
ップST2)、検出していなければトレース情報バス3
よりトレース情報をトレースメモリ1に格納するととも
に、トレースカウンタ4を1インクリメントし(ステッ
プST7)、再びステップST2から動作する。また、
ステップST2において後方分岐を検出した場合には、
ループ認識部10−1のループ終了レジスタ102−1
の値が分岐先レジスタ8の値以下であるかまたは分岐元
レジスタ9の値以上であるかを判断する(ステップST
3)。
At the start of the trace operation, the loop start registers 101-1 of all the loop recognition units 10-1 to 10-3.
To 101-3, and loop end registers 102-1 to 102-1
02-3 is initialized to the maximum value that can be set in the register, for example (step ST1). When the initialization is completed, the backward branch detection unit 7 first determines whether or not the backward branch is detected (step ST2). If not detected, the trace information bus 3
More trace information is stored in the trace memory 1, the trace counter 4 is incremented by 1 (step ST7), and the operation starts again from step ST2. Also,
When the backward branch is detected in step ST2,
Loop end register 102-1 of loop recognition unit 10-1
Is less than or equal to the value of the branch destination register 8 or greater than or equal to the value of the branch source register 9 (step ST
3).

【0017】ステップST3において肯定判断の場合に
は、ループ認識部10−1のループ開始レジスタ101
−1の値が分岐先レジスタ8の値に等しく、かつループ
終了レジスタ102−1の値が分岐元レジスタ9の値に
等しいか否かを判断する(ステップST4)。その結
果、否定判断であればループ認識部10−1のループ開
始レジスタ101−1には分岐先レジスタ8の値をセッ
トし、ループ終了レジスタ102−1には分岐元レジス
タ9の値をセットし、ループトレースカウンタ103−
1にはトレースカウンタ4の値をセットすることでルー
プ認識部10−1が保持するループ認識情報を更新し
(ステップST6)、前記ステップST7を実行したの
ち、再びステップST2から動作する。また、前記ステ
ップST4において肯定判断の場合には、トレースカウ
ンタ4にループ認識部10−1のループトレースカウン
タ103−1の値をセットし(ステップST5)、ステ
ップST7を実行したのち、再びステップST2から動
作する。
If an affirmative decision is made in step ST3, the loop start register 101 of the loop recognition section 10-1.
It is determined whether the value of -1 is equal to the value of the branch destination register 8 and the value of the loop end register 102-1 is equal to the value of the branch source register 9 (step ST4). As a result, if the determination is negative, the value of the branch destination register 8 is set in the loop start register 101-1 and the value of the branch source register 9 is set in the loop end register 102-1 of the loop recognition unit 10-1. , Loop trace counter 103-
By setting the value of the trace counter 4 to 1, the loop recognition information held by the loop recognition unit 10-1 is updated (step ST6), and after executing the step ST7, the operation starts again from the step ST2. On the other hand, if the determination in step ST4 is affirmative, the value of the loop trace counter 103-1 of the loop recognizing unit 10-1 is set in the trace counter 4 (step ST5), step ST7 is executed, and then step ST2 is executed again. Works from.

【0018】一方、ステップST3で否定判断の場合に
は、ループ認識部10−2のループ終了レジスタ102
−2の値が分岐先レジスタ8の値以下であるか、または
分岐元レジスタ9の値以上であるかを判断し(ステップ
ST10)、肯定判断であればループ認識部10−2の
ループ開始レジスタ101−2の値が分岐先レジスタ8
の値に等しくかつループ開始レジスタ102−2の値が
分岐元レジスタ9の値に等しいか否かを判断する(ステ
ップST11)。
On the other hand, if a negative decision is made in step ST3, the loop end register 102 of the loop recognition section 10-2.
-2 is less than or equal to the value of the branch destination register 8 or greater than or equal to the value of the branch source register 9 (step ST10). If the determination is affirmative, the loop start register of the loop recognition unit 10-2 is determined. The value of 101-2 is the branch destination register 8
Is determined and whether the value of the loop start register 102-2 is equal to the value of the branch source register 9 (step ST11).

【0019】このステップST11の判断結果が否定判
断であれば、ループ認識部10−2のループ開始レジス
タ101−2には分岐先レジスタ8の値をセットし、ル
ープ終了レジスタ102−2には分岐元レジスタ9の値
をセットし、ループトレースカウンタ103−2にはト
レースカウンタ4の値をセットすることでループ認識部
10−2が保持するループ認識情報を更新する(ステッ
プST13)。次いで、ループ認識部10−1のループ
開始レジスタ101−1とループ終了レジスタ102−
1に例えばレジスタに設定可能な最大値をセットするこ
とによりループ認識部10−1の初期化を行い(ステッ
プST14)、ステップST7を実行したのち、再びス
テップST2から動作する。
If the result of the determination in step ST11 is negative, the value of the branch destination register 8 is set in the loop start register 101-2 of the loop recognition section 10-2, and the loop end register 102-2 is branched. By setting the value of the original register 9 and the value of the trace counter 4 in the loop trace counter 103-2, the loop recognition information held by the loop recognition unit 10-2 is updated (step ST13). Next, the loop start register 101-1 and the loop end register 102- of the loop recognition unit 10-1
For example, the maximum value that can be set in the register is set to 1 to initialize the loop recognizing unit 10-1 (step ST14), and after executing step ST7, the operation starts again from step ST2.

【0020】なお、ステップST11において肯定判断
の場合には、トレースカウンタ4にループ認識部10−
2のループトレースカウンタ103−2の値をセットし
(ステップST12)、ステップST7の処理を行った
のち、再びステップST2から動作する。
If an affirmative decision is made in step ST11, the trace recognizing unit 10-
The value of the loop trace counter 103-2 of No. 2 is set (step ST12), the processing of step ST7 is performed, and then the operation starts again from step ST2.

【0021】一方、前記ステップST10で否定判断の
場合には、ループ認識部10−3のループ終了レジスタ
102−3の値が分岐先レジスタ8の値以下であるかま
たは分岐元レジスタ9の値以上であるかを判断し(ステ
ップST20)、肯定判断の場合には、ループ認識部1
0−3のループ開始レジスタ101−3の値が分岐先レ
ジスタ8の値に等しく、かつループ終了レジスタ102
−3の値が分岐元レジスタ9の値に等しいか否かを判断
する(ステップST21)。
On the other hand, if a negative decision is made in step ST10, the value of the loop end register 102-3 of the loop recognition section 10-3 is less than or equal to the value of the branch destination register 8 or greater than or equal to the value of the branch source register 9. Is determined (step ST20), and if the determination is affirmative, the loop recognition unit 1
The value of the loop start register 101-3 of 0-3 is equal to the value of the branch destination register 8 and the loop end register 102
It is determined whether the value of -3 is equal to the value of the branch source register 9 (step ST21).

【0022】その結果、否定判断であればループ認識部
10−3のループ開始レジスタ101−3には分岐先レ
ジスタ8の値をセットし、ループ終了レジスタ102−
3には分岐元レジスタ9の値をセットし、ループトレー
スカウンタ103−3にはトレースカウンタ4の値をセ
ットすることでループ認識部10−3が保持するループ
認識情報を更新する(ステップST23)。次に、ルー
プ認識部10−1〜10−2のループ開始レジスタ10
1−1〜101−2とループ終了レジスタ102−1〜
102−2に、例えば最大値をセットすることによって
ループ認識部10−1〜10−2の初期化を行い(ステ
ップST24)、ステップST7を実行したのち、再び
ステップST2から動作する。
As a result, if the determination is negative, the value of the branch destination register 8 is set in the loop start register 101-3 of the loop recognition unit 10-3, and the loop end register 102-
3 is set to the value of the branch source register 9, and the loop trace counter 103-3 is set to the value of the trace counter 4 to update the loop recognition information held by the loop recognition unit 10-3 (step ST23). .. Next, the loop start register 10 of the loop recognition unit 10-1 to 10-2
1-1 to 101-2 and loop end register 102-1 to
For example, the maximum value is set in 102-2 to initialize the loop recognition units 10-1 to 10-2 (step ST24), and after executing step ST7, the operation starts again from step ST2.

【0023】一方、ステップST21において肯定判断
の場合には、トレースカウンタ4にループ認識部10−
3のループトレースカウンタ103−3の値をセットし
(ステップST22)、ステップST7を実行したの
ち、再びステップST2から動作する。また、ステップ
ST20で否定判断の場合には、そのままステップST
7の処理を行ったのち、再びステップST2から動作す
る。
On the other hand, if an affirmative decision is made in step ST21, the loop recognizing unit 10-
The value of the loop trace counter 103-3 of No. 3 is set (step ST22), and after step ST7 is executed, the operation starts again from step ST2. If a negative decision is made in step ST20, then step ST is left as it is.
After performing the processing of 7, the operation starts again from step ST2.

【0024】実施例2.なお、上記実施例では、後方分
岐検出部としてマイクロプログラムアドレスの前回値と
今回値を比較することにより、後方分岐発生を検出する
ものを示したが、実行中のマイクロプログラムが分岐命
令であることを判断し、さらに分岐命令のオペランド部
やマイクロプログラムアドレスから後方分岐を検出する
ものであってもよく、上記実施例と同様の効果を奏す
る。
Example 2. In the above embodiment, the backward branch detection unit detects the backward branch occurrence by comparing the previous value and the current value of the microprogram address, but the microprogram being executed is a branch instruction. May be used to detect the backward branch from the operand part of the branch instruction or the microprogram address, and the same effect as the above embodiment can be obtained.

【0025】[0025]

【発明の効果】以上のように、請求項1に記載の発明に
よれば、後方分岐検出部にてマイクロプログラムの実行
における後方分岐を検出し、ループ認識部内のループ開
始レジスタ、ループ終了レジスタおよびループトレース
カウンタに、後方分岐検出時のループ情報を保存するよ
うに構成したので、マイクロプログラムの繰り返し実行
部分に関しては、当該繰り返し実行の初回と終回に対し
てのみトレース情報が残されることとなり、繰り返し実
行部分を含んだマイクロプログラムのトレースにおい
て、同一容量のトレースメモリで、より広範囲のマイク
ロプログラムの実行結果をトレースメモリに残すことが
できる情報制御装置が得られる効果がある。
As described above, according to the invention described in claim 1, the backward branch detecting section detects the backward branch in the execution of the microprogram, and the loop start register, the loop end register and Since the loop trace counter is configured to store the loop information at the time of detecting the backward branch, regarding the repeated execution part of the microprogram, the trace information is left only for the first and last times of the repeated execution, In the trace of the microprogram including the repetitive execution part, there is an effect that an information control device capable of leaving the execution results of the microprogram in a wider range in the trace memory with the trace memory having the same capacity can be obtained.

【0026】また、請求項2に記載の発明によれば、後
方分岐の検出指示が与えられなかった場合に、全トレー
ス情報をトレースメモリに格納するように構成したの
で、後方分岐の検出の要否をモード指示信号によって指
示することができる情報制御装置が得られる効果があ
る。
According to the second aspect of the invention, since all trace information is stored in the trace memory when the instruction to detect the backward branch is not given, it is necessary to detect the backward branch. There is an effect that it is possible to obtain an information control device that can instruct whether or not to use a mode instructing signal.

【0027】さらに、請求項3に記載の発明によれば、
ループ認識部を複数設けてその各々に重み付けされたル
ープ識別IDを付与し、その中よりループ終了レジスタ
の内容が、分岐先マイクロプログラムアドレス以下もし
くは分岐元マイクロプログラムアドレス以上の値を保持
するものを、付与されたループ識別IDの重みに従って
選択するように構成したので、より複雑な繰り返しルー
プのあるマイクロプログラムについても、効率的なトレ
ース処理が可能となる効果がある。
Further, according to the invention of claim 3,
A plurality of loop recognizing units are provided, and weighted loop identification IDs are given to the respective loop recognizing units, and the content of the loop end register holds a value equal to or lower than the branch destination microprogram address or higher than the branch source microprogram address. Since the selection is performed according to the weight of the assigned loop identification ID, there is an effect that efficient trace processing can be performed even for a microprogram having a more complicated repeated loop.

【図面の簡単な説明】[Brief description of drawings]

【図1】この発明に実施例1を示すブロック図である。FIG. 1 is a block diagram showing a first embodiment of the present invention.

【図2】上記実施例におけるトレース動作の概要を示す
フローチャートである。
FIG. 2 is a flowchart showing an outline of a trace operation in the above embodiment.

【図3】従来の情報制御装置を示すブロック図である。FIG. 3 is a block diagram showing a conventional information control device.

【図4】そのトレース結果の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a trace result.

【符号の説明】[Explanation of symbols]

1 トレースメモリ 4 トレースカウンタ 7 後方分岐検出部 8 分岐先レジスタ 9 分岐元レジスタ 10−1〜10−N ループ認識部 101−N ループ開始レジスタ 102−N ループ終了レジスタ 103−N ループトレースカウンタ 1 Trace Memory 4 Trace Counter 7 Back Branch Detection Unit 8 Branch Destination Register 9 Branch Source Register 10-1 to 10-N Loop Recognition Unit 101-N Loop Start Register 102-N Loop End Register 103-N Loop Trace Counter

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 マイクロプログラムの命令が実行される
都度、トレースカウンタを1だけインクリメントし、前
記マイクロプログラムの実行に同期したトレース情報
を、トレースメモリの前記トレースカウンタが指すアド
レスに格納するトレース機能を有した情報制御装置にお
いて、前記マイクロプログラムの命令実行時に、分岐命
令の置かれたマイクロプログラムアドレス以下のプログ
ラムアドレスに分岐する後方分岐の検出を行う後方分岐
検出部と、前記後方分岐発生時の分岐先マイクロプログ
ラムアドレスの値をラッチする分岐先レジスタと、前記
後方分岐発生時の分岐元マイクロプログラムアドレスの
値をラッチする分岐元レジスタと、前記マイクロプログ
ラムの繰り返し実行部を認識するための、ループ開始レ
ジスタ、ループ終了レジスタ、およびループトレースカ
ウンタを有するループ認識部とを備え、トレースの開始
時に前記ループ開始レジスタ、ループ終了レジスタ、お
よびループトレースカウンタを初期化し、トレース開始
後は前記後方分岐検出部が後方分岐を検出した時に、前
記分岐先レジスタとループ開始レジスタの内容、および
前記分岐元レジスタとループ終了レジスタの内容を比較
し、両者がともに一致した場合には、前記トレースカウ
ンタに前記ループトレースカウンタの値をセットし、い
ずれか一方でも不一致である場合には、前記ループ開始
レジスタに前記分岐先レジスタの値を、前記ループ終了
レジスタに前記分岐元レジスタの値を、前記ループトレ
ースカウンタに前記トレースカウンタの値をそれぞれセ
ットすることを特徴とする情報制御装置。
1. The instructions of a microprogram are executed
Increment the trace counter by 1 each time
Trace information synchronized with the execution of the micro program
To the address pointed to by the trace counter in the trace memory.
In an information control device that has a trace function
When the instruction of the micro program is executed, the branch instruction
Program below the microprogram address where the directive is placed
A backward branch that detects a backward branch that branches to a ram address
Detecting unit and branch destination micro program when the backward branch occurs
A branch destination register that latches the value of the RAM address;
When the backward branch occurs, the branch source microprogram address
A branch source register for latching a value, and the microprogram
A loop start record to recognize the repeated execution part of the ram.
Registers, loop end registers, and loop trace registers
With a loop recognizer that has a counter
Sometimes the loop start register, loop end register,
And the loop trace counter are initialized and the trace is started.
When the backward branch detection unit detects a backward branch,
Contents of branch destination register and loop start register, and
Compare the contents of the branch source register and loop end register
However, if both match, the trace cow
Set the value of the loop trace counter to
If there is a mismatch on either side, start the loop
Register the value of the branch destination register to the end of the loop
The value of the branch source register is stored in the register
Set the trace counter value to the
An information control device characterized by:
【請求項2】 前記後方分岐検出部に後方分岐の検出指
示が与えられなかった場合、全てのマイクロプログラム
の実行について、そのトレース情報を前記トレースメモ
リに格納することを特徴とする請求項1に記載の情報制
御装置。
2. The trace information about the execution of all microprograms is stored in the trace memory when a backward branch detection instruction is not given to the backward branch detection unit. Information control device described.
【請求項3】 前記ループ認識部を複数備え、その各々
に当該各ループ認識部を識別するための重み付けされた
ループ識別IDを付与し、トレースの開始時に前記ルー
プ開始レジスタ、ループ終了レジスタ、およびループト
レースカウンタを初期化し、トレース開始後は前記後方
分岐検出部が後方分岐を検出した時に、前記ループ終了
レジスタの内容が、前記分岐先マイクロプログラムアド
レス以下もしくは前記分岐元マイクロプログラムアドレ
ス以上の値を保持する前記ループ認識部中の1つを、前
記ループ識別IDの重みに従って選択し、選択された前
記ループ認識部に対して、前記分岐先レジスタとループ
開始レジスタの内容、および前記分岐元レジスタとルー
プ終了レジスタの内容を比較し、両者がともに一致した
場合には、前記トレースカウンタに前記ループトレース
カウンタの値をセットし、いずれか一方でも不一致であ
る場合には、前記選択されたループ認識部のループ開始
レジスタ、ループ終了レジスタ、およびループトレース
カウンタに、前記分岐先レジスタ、分岐元レジスタ、あ
るいはトレースカウンタの値をそれぞれセットすること
を特徴とする請求項1または2に記載の情報制御装置。
3. A plurality of the loop recognizing units are provided, a weighted loop identification ID for identifying each loop recognizing unit is given to each of them, and the loop start register, the loop end register, and The loop trace counter is initialized, and after the trace is started, when the backward branch detection unit detects a backward branch, the content of the loop end register has a value equal to or lower than the branch destination microprogram address or equal to or higher than the branch source microprogram address. One of the loop recognition units to hold is selected according to the weight of the loop identification ID, and the contents of the branch destination register and the loop start register and the branch source register are selected for the selected loop recognition unit. The contents of the loop end register are compared. If the value of the loop trace counter is set to the source counter, and if there is a mismatch in either one of the loop start register, the loop end register, and the loop trace counter of the selected loop recognition unit, the branch destination register, 3. The information control device according to claim 1, wherein the branch source register or the trace counter value is set, respectively.
JP3336002A 1991-11-27 1991-11-27 Information controller Pending JPH05151023A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3336002A JPH05151023A (en) 1991-11-27 1991-11-27 Information controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3336002A JPH05151023A (en) 1991-11-27 1991-11-27 Information controller

Publications (1)

Publication Number Publication Date
JPH05151023A true JPH05151023A (en) 1993-06-18

Family

ID=18294682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3336002A Pending JPH05151023A (en) 1991-11-27 1991-11-27 Information controller

Country Status (1)

Country Link
JP (1) JPH05151023A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009157036A1 (en) * 2008-06-24 2009-12-30 富士通株式会社 Information processor and control method
US11347628B2 (en) 2018-01-17 2022-05-31 Mitsubishi Electric Corporation Test case generation apparatus, test case generation method, and computer readable medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009157036A1 (en) * 2008-06-24 2009-12-30 富士通株式会社 Information processor and control method
US11347628B2 (en) 2018-01-17 2022-05-31 Mitsubishi Electric Corporation Test case generation apparatus, test case generation method, and computer readable medium

Similar Documents

Publication Publication Date Title
US5109514A (en) Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions
US3806878A (en) Concurrent subsystem diagnostics and i/o controller
US4933941A (en) Apparatus and method for testing the operation of a central processing unit of a data processing system
NO843894L (en) MICROCODE BRANCH DEVICE IN A DATA PROCESSOR
JPH04220744A (en) Function testing method of cache tag ram in limited access processor system
JPH05151023A (en) Information controller
US5928348A (en) Method of processing interrupt requests and information processing apparatus using the method
JPH06202902A (en) Buffer storage test method and device
US7089468B2 (en) Program-controlled unit and method for identifying and/or analyzing errors in program-controlled units
KR100439073B1 (en) A semiconductor device comprising a function evaluation function
US6986110B1 (en) Automated method and system for backtracing of instruction parameters from specified instruction in test cases
CN113742198B (en) Test method, test device, electronic equipment and storage medium
JP2003043116A (en) Method, device, and program for writing program data of jtag chain connection type
US7627795B2 (en) Pipelined data processor with deterministic signature generation
JP2503980B2 (en) Memory diagnostic circuit
JP3352915B2 (en) Access test equipment for information processing equipment
JP2702462B2 (en) Information control device and control method thereof
JPH0612275A (en) Testing method for electronic computer system
JPH02127731A (en) Bypass check system for arithmetic register
SU1424048A1 (en) Operator training device
JP2684966B2 (en) I / O processor debug device
JPS62163142A (en) Apparatus for correcting computer program
JPS5951023B2 (en) Diagnostic method
JPH047754A (en) Microcomputer
JP3428235B2 (en) Self-monitoring device and self-monitoring method