JP2626549B2 - Horizontal microprogram optimization method and apparatus - Google Patents

Horizontal microprogram optimization method and apparatus

Info

Publication number
JP2626549B2
JP2626549B2 JP10200394A JP10200394A JP2626549B2 JP 2626549 B2 JP2626549 B2 JP 2626549B2 JP 10200394 A JP10200394 A JP 10200394A JP 10200394 A JP10200394 A JP 10200394A JP 2626549 B2 JP2626549 B2 JP 2626549B2
Authority
JP
Japan
Prior art keywords
subroutine
microsteps
microprogram
horizontal
microstep
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
Application number
JP10200394A
Other languages
Japanese (ja)
Other versions
JPH07281888A (en
Inventor
通直 羽藤
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10200394A priority Critical patent/JP2626549B2/en
Publication of JPH07281888A publication Critical patent/JPH07281888A/en
Application granted granted Critical
Publication of JP2626549B2 publication Critical patent/JP2626549B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、水平型マイクロプログ
ラムの最適化方式に関し、特に、サブルーチン中の一部
のマイクロステップをその呼び出し元のマイクロステッ
プにマージすることにより、マイクロプログラムのステ
ップ数の削減を可能とした水平型マイクロプログラム最
適化装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for optimizing a horizontal microprogram, and more particularly to a method for reducing the number of steps of a microprogram by merging some microsteps in a subroutine with the microsteps that call them. The present invention relates to a horizontal microprogram optimizing device capable of reduction.

【0002】[0002]

【従来の技術】一般にサブルーチンを含む水平型マイク
ロプログラムの設計者は、論理的にまとまりのある処理
をサブルーチンとして捉え、そのサブルーチンの中で必
要なデータの要求はそのサブルーチンの中で出すように
した幾つかのマイクロステップの組み合わせでサブルー
チンを設計し、メインルーチン中の必要な箇所でそのサ
ブルーチンを呼び出すようなマイクロプログラムをコー
ディングしている。そして、一般的には、コーディング
後のマイクロプログラムそのものを情報処理装置に搭載
するようにしている。
2. Description of the Related Art In general, designers of horizontal microprograms including subroutines regard logically coherent processes as subroutines, and request data required in the subroutines in the subroutines. A subroutine is designed by a combination of several microsteps, and a microprogram is coded to call the subroutine at a necessary place in a main routine. In general, the coded microprogram itself is mounted on the information processing device.

【0003】[0003]

【発明が解決しようとする課題】ところで、水平型マイ
クロプログラムの利点は、1マイクロステップで多くの
ゲートを制御できるために、垂直型マイクロプログラム
に比べて、処理ステップ数が少なくて済むことである。
即ち、水平型マイクロプログラムの1マイクロステップ
は、複数のフィールドに分かれていて、或るフィールド
では後のマイクロステップで利用するデータの読み出し
を指示し、別のフィールドではレジスタ間の転送を指示
し、また別のフィールドでは前のマイクロステップでの
演算結果を判定して分岐アドレスを生成すること等が可
能である。このため、マイクロプログラムの設計者は、
各フィールドを有効に使ってできるだけ短いステップ数
でのコーディングに努めているが、サブルーチンを含む
マイクロプログラムの場合には、上述したように論理的
にまとまりのある処理をサブルーチンとして捉えてコー
ディングしているため、水平型マイクロプログラムの上
記利点が十分に活用されていない場合がある。即ち、設
計者が論理的にまとまりのある処理として考えたサブル
ーチン中には、その呼び出し元のマイクロステップのフ
ィールドに空きがあるためにその空きのフィールドに設
定しても支障のないマイクロ命令が存在する場合があ
り、そのような場合にはサブルーチンのマイクロステッ
プ数を削減し得るからである。
The advantage of the horizontal microprogram is that a large number of gates can be controlled in one microstep, so that the number of processing steps is smaller than that of the vertical microprogram. .
That is, one microstep of the horizontal microprogram is divided into a plurality of fields, one field instructs reading of data used in a subsequent microstep, another field instructs transfer between registers, In another field, it is possible to generate a branch address by determining the operation result in the previous microstep. For this reason, microprogram designers
We strive to use as many fields as possible and use as few steps as possible for coding, but in the case of microprograms that include subroutines, we code logically coherent processes as subroutines as described above. Therefore, the above advantages of the horizontal microprogram may not be fully utilized. In other words, in a subroutine considered as a logically coherent process by the designer, there is a microinstruction that can be set in the empty field because there is a space in the field of the calling microstep. This is because in such a case, the number of microsteps of the subroutine can be reduced.

【0004】本発明はこのような事情に鑑みて提案され
たものであり、その目的は、サブルーチン中の一部のマ
イクロステップをその呼び出し元のマイクロステップに
マージすることにより、マイクロプログラム全体のステ
ップ数を削減することができる水平型マイクロプログラ
ム最適化方法およびその装置を提供することにある。
The present invention has been proposed in view of such circumstances, and an object of the present invention is to merge a part of microsteps in a subroutine into a microstep of a calling subroutine so that the steps of the entire microprogram can be performed. It is an object of the present invention to provide a horizontal type microprogram optimizing method and its device capable of reducing the number.

【0005】[0005]

【課題を解決するための手段】本発明の水平型マイクロ
プログラム最適化方法は、上記の目的を達成するため
に、最適化対象となる水平型マイクロプログラムに含ま
れるサブルーチン中の先頭から1以上のN個のマイクロ
ステップが、メインルーチン中のそのサブルーチンを呼
び出す全ての箇所における同数だけのマイクロステップ
にマージ可能である場合に、前記サブルーチン中の先頭
からの前記N個分のマイクロステップを、そのサブルー
チンを呼び出すメインルーチン中の全ての箇所における
同数分のマイクロステップにマージすると共に、前記サ
ブルーチン中の先頭から前記N個分のマイクロステップ
を除去したサブルーチンを生成して元のサブルーチンと
置換するようにしたものであり、本発明の水平型マイク
ロプログラム最適化装置にあっては、最適化対象となる
水平型マイクロプログラムからサブルーチンを検出する
サブルーチン検出手段と、このサブルーチン検出手段で
検出されたサブルーチン中の先頭から最大幾つのマイク
ロステップが、メインルーチン中のそのサブルーチンを
呼び出す全ての箇所における同数だけのマイクロステッ
プにマージ可能であるかを検査するマージ可能性検査手
段と、このマージ可能性検査手段で求められた最大マー
ジステップ数分の前記サブルーチンの先頭からのマイク
ロステップを、メインルーチン中のそのサブルーチンを
呼び出す全ての箇所における同数分のマイクロステップ
にマージするマージ手段と、前記サブルーチン中の先頭
から前記最大マージステップ数分のマイクロステップを
除去したサブルーチンを生成して前記サブルーチンと置
換するサブルーチン置換手段とを備えている。
In order to achieve the above object, the horizontal microprogram optimizing method of the present invention achieves at least one or more subroutines in a subroutine included in a horizontal microprogram to be optimized. When N microsteps can be merged into the same number of microsteps at all points in the main routine where the subroutine is called, the N microsteps from the head of the subroutine are replaced by the subroutine. Is merged into the same number of microsteps at all points in the main routine, and a subroutine in which the N microsteps are removed from the head of the subroutine is generated and replaced with the original subroutine. The horizontal microprogram optimization of the present invention Subroutine detecting means for detecting a subroutine from a horizontal microprogram to be optimized, and a maximum number of microsteps from the beginning of the subroutine detected by the subroutine detecting means, Merging possibility checking means for checking whether merging is possible into the same number of microsteps at all places where a subroutine is called; and the number of the maximum number of merge steps determined by the merging possibility checking means from the top of the subroutine Merging means for merging the microsteps into the same number of microsteps at all places where the subroutine is called in the main routine, and a subroutine in which the maximum number of microsteps are removed from the head of the subroutine is generated. Said And a subroutine replacement means for replacing the subroutines.

【0006】[0006]

【作用】本発明の水平型マイクロプログラム最適化装置
においては、サブルーチン検出手段が、最適化対象とな
る水平型マイクロプログラムからサブルーチンを検出
し、マージ可能性検査手段が、この検出されたサブルー
チン中の先頭から最大幾つのマイクロステップが、メイ
ンルーチン中のそのサブルーチンを呼び出す全ての箇所
における同数だけのマイクロステップにマージ可能であ
るかを検査し、最大マージステップ数が1以上であった
場合に、マージ手段が、その最大マージステップ数分の
サブルーチンの先頭からのマイクロステップを、メイン
ルーチン中のそのサブルーチンを呼び出す全ての箇所に
おける同数分のマイクロステップにマージすると共に、
サブルーチン置換手段が、サブルーチン中の先頭から前
記最大マージステップ数分のマイクロステップを除去し
たサブルーチンを生成して元のサブルーチンと置換す
る。
In the horizontal microprogram optimizing apparatus according to the present invention, the subroutine detecting means detects a subroutine from the horizontal microprogram to be optimized, and the merging possibility checking means determines whether or not the detected subroutine is included in the detected subroutine. Check if the maximum number of microsteps from the beginning can be merged into the same number of microsteps at all points where the subroutine is called in the main routine, and if the maximum number of merge steps is 1 or more, merge Means for merging the microsteps from the head of the subroutine for the maximum number of merge steps into the same number of microsteps at all points in the main routine where the subroutine is called;
Subroutine replacement means generates a subroutine in which microsteps corresponding to the maximum number of merge steps are removed from the head of the subroutine, and replaces the original subroutine.

【0007】[0007]

【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0008】図1を参照すると、本発明の一実施例の水
平型マイクロプログラム最適化装置1は、フロッピィデ
ィスク媒体等の記憶装置2に格納された最適化対象とな
る水平型マイクロプログラムを入力し、それに含まれる
サブルーチン中の一部のマイクロステップをその呼び出
し元のマイクロステップにマージした水平型マイクロプ
ログラムを生成して、フロッピィディスク媒体等の記憶
装置3に出力するものであり、入力手段11と、作業領
域12と、サブルーチン検出手段13と、マージ可能性
検査手段14と、マージ手段15と、サブルーチン置換
手段16と、出力手段17と、コマンドファイル18と
で構成されている。
Referring to FIG. 1, a horizontal microprogram optimizing apparatus 1 according to one embodiment of the present invention inputs a horizontal microprogram to be optimized stored in a storage device 2 such as a floppy disk medium. , A horizontal microprogram in which some of the microsteps in the subroutine included in the substeps are merged with the microsteps of the caller, and output to the storage device 3 such as a floppy disk medium. , A work area 12, a subroutine detecting means 13, a merging possibility checking means 14, a merging means 15, a subroutine replacing means 16, an output means 17, and a command file 18.

【0009】記憶装置2に格納されている最適化対象と
なる水平型マイクロプログラムは、設計者のコーディン
グによって作成されたもので、そのまま単独で又は他の
マイクロプログラムとリンクして情報処理装置に搭載で
きるオブジェクト・モジュール形式を有している。
The horizontal microprogram to be optimized, which is stored in the storage device 2, is created by coding of a designer, and is mounted on an information processing device either alone or linked to another microprogram. It has an object module format that can be used.

【0010】水平型マイクロプログラム最適化装置1の
入力手段11は、記憶装置2から最適化対象となる水平
型マイクロプログラムを入力して作業領域12に展開す
る手段である。
The input means 11 of the horizontal microprogram optimizing device 1 is a means for inputting a horizontal microprogram to be optimized from the storage device 2 and developing it in the work area 12.

【0011】サブルーチン検出手段13は、作業領域1
2に保持されている水平型マイクロプログラムからサブ
ルーチンを検出する等の処理を行なう手段であり、その
処理の一例が図2に示されている。
[0011] The subroutine detecting means 13 comprises a work area 1
2 is a means for performing processing such as detecting a subroutine from the horizontal microprogram held in the second microprogram 2. An example of the processing is shown in FIG.

【0012】マージ可能性検査手段14は、サブルーチ
ン検出手段13で検出されたサブルーチン中の先頭から
最大幾つのマイクロステップが、メインルーチン中のそ
のサブルーチンを呼び出す全ての箇所における同数だけ
のマイクロステップにマージ可能であるか否かを検査す
る手段である。このマージ可能性検査手段14は、同一
のサブルーチンを呼び出すメインルーチン中の呼び出し
箇所ごとに、サブルーチン中の先頭からのマイクロステ
ップがその呼び出し側の同数のマイクロステップに物理
的にマージ可能であり、且つ、マージ後のマイクロステ
ップが予め設定されたマイクロ命令の使用に関する制約
に違反していない最大のマイクロステップ数を求め、こ
の各々の呼び出し箇所ごとに求めたマイクロステップ数
の最小値を最大マージステップ数とする。
The merging possibility checking means 14 merges the maximum number of microsteps from the beginning of the subroutine detected by the subroutine detecting means 13 into the same number of microsteps at all places in the main routine where the subroutine is called. This is a means for checking whether or not it is possible. The merging possibility checking means 14 is capable of physically merging the microsteps from the head of the subroutine into the same number of microsteps of the calling side for each call location in the main routine that calls the same subroutine, and The maximum number of microsteps in which the merged microsteps do not violate the preset restrictions on the use of microinstructions is determined, and the minimum value of the number of microsteps determined for each call location is determined as the maximum number of merge steps. And

【0013】サブルーチンの或るマイクロステップがそ
の呼び出し側の或るマイクロステップに物理的にマージ
可能か否かの判定は、次のようにして行なう。
The determination as to whether or not a certain micro step of a subroutine can be physically merged with a certain micro step of the calling side is performed as follows.

【0014】前述したように水平型マイクロプログラム
の各マイクロステップは複数のフィールドで構成されて
いる。今、説明の便宜上、各マイクロステップが図3
(a)に示すように5つのフィールドF1〜F5で構成
され、そのうちのフィールドF5が、分岐すべき次のマ
イクロステップのアドレスを指示するマイクロ命令の設
定フィールドであり、残りの4つのフィールドF1〜F
4に、例えばメモリからのデータの読み出し或いは書き
込みを指示するマイクロ命令等が設定されるものとす
る。
As described above, each microstep of the horizontal microprogram is composed of a plurality of fields. Now, for convenience of explanation, each microstep is shown in FIG.
As shown in (a), the field is composed of five fields F1 to F5, of which the field F5 is a setting field of a microinstruction indicating the address of the next microstep to be branched, and the remaining four fields F1 to F5. F
For example, it is assumed that a microinstruction or the like for instructing reading or writing of data from the memory is set in No. 4.

【0015】このような構成のマイクロプログラムの場
合、サブルーチンの或るマイクロステップとその呼び出
し元である或る箇所の1つのマイクロステップとが物理
的にマージ可能である条件は、それぞれのマイクロステ
ップのフィールドF5以外の同じフィールドどうしの少
なくとも一方が空きフィールドであること、である。こ
こで、フィールドF5については両マイクロステップ共
にマイクロ命令が設定されていても良いのは、フィール
ドF5は次アドレスが異なるだけの同じ種類の分岐マイ
クロ命令であり、マージ後のマイクロステップのフィー
ルドF5に分岐先に応じた1つの分岐マイクロ命令を残
しておけば良いからである。
In the case of a microprogram having such a configuration, the condition under which a certain microstep of a subroutine can be physically merged with one microstep at a certain place from which the substep is called is determined by each microstep. That is, at least one of the same fields other than the field F5 is an empty field. Here, the microinstruction may be set in both microsteps in the field F5 because the field F5 is a branch microinstruction of the same type except for the next address, and is stored in the field F5 of the merged microstep. This is because it is sufficient to leave one branch microinstruction corresponding to the branch destination.

【0016】従って、サブルーチンの或るマイクロステ
ップが図3(b)に示すようにフィールドF1,F3,
F5のみにマイクロ命令が設定されており(網かけ部分
はマイクロ命令が設定されていることを示す)、その呼
び出し箇所の或るマイクロステップが図3(c)に示す
ようにフィールドF2,F5のみにマイクロ命令が設定
されているような場合には、図3(d)に示す如く物理
的にマージ可能である。他方、呼び出し元のマイクロス
テップが図3(e)に示すようにフィールドF1,F3
の何れかにマイクロ命令が設定されていると、図3
(b)のマイクロステップとは物理的にマージ不可能で
ある。
Therefore, a certain micro step of the subroutine is performed as shown in FIG.
The microinstruction is set only in F5 (the shaded portion indicates that the microinstruction is set), and a certain microstep at the call location is only in fields F2 and F5 as shown in FIG. In the case where a microinstruction is set, the physical instruction can be merged as shown in FIG. On the other hand, as shown in FIG.
If the micro instruction is set to any of
It cannot be physically merged with the microstep of (b).

【0017】また、マージ後のマイクロステップが予め
設定されたマイクロ命令の使用に関する制約に違反して
いないかどうかの判定は、以下のように行なう。
The determination as to whether or not the merged microstep does not violate a preset restriction on the use of microinstructions is performed as follows.

【0018】一般にマイクロプログラムの使用に関する
制約には、次のような種類がある。 同時動作の禁止に関する制約 例えば、或るフィールドにAマイクロ命令が記述されて
いるとき、同じマイクロステップの別のフィールドにB
マイクロ命令を記述してはならないという制約である。 同時動作の保証に関する制約 例えば、或るフィールドにCマイクロ命令が記述されて
いるとき、同じマイクロステップの別のフィールドにD
マイクロ命令が記述されていなければならないという制
約である。 事前動作の保証に関する制約 例えば、或るステップの或るフィールドにEマイクロ命
令が記述されているとき、その一つ前のマイクロステッ
プまでのマイクロステップの或るフィールドにFマイク
ロ命令が記述されていなければならないという制約であ
る。 事後動作の保証に関する制約 例えば、或るステップの或るフィールドにGマイクロ命
令が記述されており、且つ後の或るステップの同じフィ
ールドにH,I,Jの何れかのマイクロ命令が記述され
ているとき、その間のマイクロステップの或るフィール
ドにKマイクロ命令が記述されていなければならないと
いう制約である。
In general, there are the following types of restrictions on the use of microprograms. Restriction on prohibition of simultaneous operation For example, when an A microinstruction is described in one field, B field is written in another field of the same microstep.
The restriction is that micro instructions must not be described. Restriction on guaranteeing simultaneous operation For example, when a C microinstruction is described in one field, D field is written in another field of the same microstep.
The restriction is that microinstructions must be described. Restrictions on guaranteeing pre-operation For example, when an E microinstruction is described in a certain field of a certain step, an F microinstruction must be described in a certain field of the microstep up to the immediately preceding microstep. The restriction is that it must be done. Restriction on guarantee of post operation For example, if a G microinstruction is described in a certain field of a certain step, and any one of H, I and J microinstructions is described in the same field of a certain subsequent step Is a constraint that a K microinstruction must be described in a certain field of the microstep between them.

【0019】このような制約がマイクロプログラムに関
して存在するため、マイクロ命令の使用に関する制約違
反を実機での評価に持ち込まない目的で、各制約違反を
検出するためのコマンドを、例えば、 IF(フィールドF1=”A”)THEN(IF(フィールドF2=”B”) THEN(TRUE)ELSE(制約違反) ELSE(TRUE) といった形式で格納したファイルを備え、コーディング
されたマイクロプログラムの各マイクロステップに対し
てファイル中の全てのコマンドを適用して、マイクロプ
ログラムの使用に関する制約違反をチェックするツール
が従来より提案されている。
Since such a constraint exists for a microprogram, a command for detecting each constraint violation is transmitted, for example, to IF (field F1 = "A") THEN (IF (field F2 = "B") THEN (TRUE) ELSE (restriction violation) with a file stored in the format ELSE (TRUE) for each microstep of the coded microprogram Conventionally, tools that apply all commands in a file and check for constraint violations regarding the use of microprograms have been proposed.

【0020】本実施例の水平型マイクロプログラム最適
化装置1では、このようなツールが保有するコマンドフ
ァイルをそのまま流用してコマンドファイル18として
備え、マージ後のマイクロステップに対してコマンドフ
ァイル18中の全てのコマンドを適用して、マージによ
ってマイクロプログラムの使用に関する制約違反が生じ
ていないかどうかを調べるようにしている。
In the horizontal microprogram optimizing apparatus 1 of the present embodiment, the command file held by such a tool is used as it is as a command file 18 and the merged microsteps are stored in the command file 18. All commands are applied to determine if the merge has violated any restrictions on microprogram usage.

【0021】なお、記憶装置2に格納されている水平型
マイクロプログラムが既に上述したツールによってマイ
クロプログラムの使用に関する制約違反が検査され、制
約違反が存在しない状態になっている場合、マイクロス
テップをマージしたことにより違反する可能性のある制
約は上記とに限られると考えられるので、図1のコ
マンドファイル18には上記,に関する制約違反を
チェックするコマンドのみを格納しておくようにしても
良い。
It should be noted that the horizontal microprogram stored in the storage device 2 is checked for a constraint violation relating to the use of the microprogram by the tool described above, and if there is no constraint violation, the microstep is merged. Since it is considered that the restrictions that may be violated by the above are limited to the above, the command file 18 in FIG. 1 may store only the command for checking the restriction violation regarding the above.

【0022】図4にマージ可能性検査手段14の処理の
一例を、図5にコマンドファイル18に複数のコマンド
C1〜Cnが登録されている様子を、それぞれ示す。
FIG. 4 shows an example of the processing of the merging possibility checking means 14, and FIG. 5 shows a state where a plurality of commands C1 to Cn are registered in the command file 18.

【0023】次に図1のマージ手段15は、サブルーチ
ン検出手段13で検出されたサブルーチンに対してマー
ジ可能性検査手段14でマージ可能と判定された場合
に、同手段14で求められた最大マージステップ数分の
サブルーチンの先頭からのマイクロステップを、メイン
ルーチン中のそのサブルーチンを呼び出す全ての箇所に
おける同数分のマイクロステップにマージする手段であ
り、またサブルーチン置換手段16は、そのサブルーチ
ン中の先頭から前記最大マージステップ数分のマイクロ
ステップを除去したサブルーチンを生成して元のサブル
ーチンと置換する手段であり、これらの処理の一例が図
6に示されている。また、出力手段17は、マージ処理
や置換処理の完了した水平型マイクロプログラムを作業
領域12から読み出して記憶装置3に出力する手段であ
る。
Next, when the merging possibility checking unit 14 determines that the subroutine detected by the subroutine detecting unit 13 can be merged, the merging unit 15 shown in FIG. This is a means for merging the microsteps from the head of the subroutine for the number of steps into the microsteps for the same number in all places where the subroutine is called in the main routine. This is a means for generating a subroutine in which the micro steps corresponding to the maximum number of merge steps have been removed and replacing the original subroutine, and an example of these processes is shown in FIG. The output unit 17 is a unit that reads out the horizontal microprogram on which the merge processing and the replacement processing have been completed from the work area 12 and outputs the read horizontal microprogram to the storage device 3.

【0024】以下、各図を参照して本実施例の水平型マ
イクロプログラム最適装置1の各部の詳細な機能を全体
の動作を通して説明する。
The detailed functions of each part of the horizontal microprogram optimizing apparatus 1 of this embodiment will be described below with reference to the drawings.

【0025】水平型マイクロプログラム最適化装置1の
入力手段11は、記憶装置2から最適化対象となる水平
型マイクロプログラムを読み出して作業領域12に展開
し、サブルーチン検出手段13を起動する。
The input means 11 of the horizontal type microprogram optimizing device 1 reads out the horizontal type microprogram to be optimized from the storage device 2, expands it in the work area 12, and activates the subroutine detecting means 13.

【0026】サブルーチン検出手段13は、起動される
と図2に示す処理を開始する。先ず、作業領域12に格
納されている水平型マイクロプログラム中から1つのサ
ブルーチンSを捜し出す(S1)。そして、この捜し出
したサブルーチンSをマージ可能性検査手段14に通知
し(S2)、マージ可能性検査手段14からマージ可能
性無しの通知が出るか、サブルーチン置換手段16から
置換処理の終了通知が出るのを待つ(S3,S4)。そ
して、何れかの通知が出たら、作業領域12中の水平型
マイクロプログラムから次のサブルーチンSを捜し出し
(S5)、見つかったらステップS2に戻って上述した
処理を繰り返し、見つからなかったら(S6でNO)、
即ち水平型マイクロプログラム中の全てのサブルーチン
に対しての処理を終了したら、出力手段17を起動し
(S7)、最適化後の水平型マイクロプログラムを記憶
装置3に出力せしめて処理を終了する。
When activated, the subroutine detecting means 13 starts the processing shown in FIG. First, one subroutine S is searched from the horizontal microprogram stored in the work area 12 (S1). Then, the found subroutine S is notified to the merging possibility checking means 14 (S2), and a notification indicating that there is no merging possibility is issued from the merging possibility checking means 14, or a notice of completion of the replacing process is issued from the subroutine replacing means 16. (S3, S4). If any notification is given, the next subroutine S is searched from the horizontal microprogram in the work area 12 (S5). If found, the process returns to step S2 to repeat the above-mentioned processing. If not found (NO in S6) ),
That is, when the processing for all the subroutines in the horizontal microprogram is completed, the output unit 17 is started (S7), the optimized horizontal microprogram is output to the storage device 3, and the processing is terminated.

【0027】マージ可能性検査手段14は、サブルーチ
ン検出手段13からサブルーチンSが通知される毎に、
図4に示す処理を実行する。先ず、当該サブルーチンS
の呼び出し箇所数を管理するための変数iを0に初期化
し(S11)、作業領域12中の水平型マイクロプログ
ラムを先頭から順にサーチしてサブルーチンSの呼び出
し箇所を1つ捜し出す(S12)。そして、捜し出した
ら(S13でYES)、変数iを+1して「1」とし
(S14)、マージステップ数を管理する変数nを1に
初期化すると共に今回捜し出した呼び出し箇所をSiと
して管理する(S15)。
Each time the subroutine S is notified from the subroutine detecting means 13, the merging possibility checking means 14
The processing shown in FIG. 4 is executed. First, the subroutine S
Is initialized to 0 (S11), and the horizontal microprogram in the work area 12 is searched sequentially from the top to find one subroutine S calling point (S12). Then, if found (YES in S13), the value of the variable i is incremented by one to "1" (S14), the variable n for managing the number of merge steps is initialized to 1, and the call location found this time is managed as Si ( S15).

【0028】そして先ず、サブルーチンSの先頭の1マ
イクロステップと呼び出し箇所Siの1つのマイクロス
テップとの合計2マイクロステップを抽出し(S1
6)、次に、抽出した2ステップが1ステップに物理的
にマージ可能か否かを前述した方法で検査し(S1
7)、物理的にマージ可能な場合には更にコマンドファ
イル18に図5にように格納されている全てのコマンド
C1〜Cnをマージ後のマイクロステップに全て適用し
て、マイクロ命令の使用に関する制約に違反していない
かどうかを検査する(S19)。そして、マイクロ命令
の使用に関する制約に違反していなかった場合は、変数
nを+1して「2」とし(S21)、ステップS16に
戻る。
First, a total of 2 microsteps of 1 microstep at the head of the subroutine S and 1 microstep at the call location Si are extracted (S1).
6) Then, whether or not the extracted two steps can be physically merged into one step is checked by the above-described method (S1).
7) If physical merging is possible, all the commands C1 to Cn stored in the command file 18 as shown in FIG. A check is made to see if there is a violation (S19). If the restriction on the use of the microinstruction is not violated, the variable n is incremented by 1 to “2” (S21), and the process returns to step S16.

【0029】従って、次には、サブルーチンSの先頭部
分の2マイクロステップと呼び出し箇所Siの1つのマ
イクロステップとその直前の1つのマイクロステップと
の合計4マイクロステップを抽出し(S16)、この抽
出した4マイクロステップが2マイクロステップに物理
的にマージ可能か否かを前述した方法で検査する(S1
7)。ここでのマージの仕方は、例えばサブルーチンS
が図7に示すように先頭のマイクロステップ71,2番
目のマイクロステップ72,3番目のマイクロステップ
73,…で構成され、メインルーチン中のサブルーチン
Sを呼び出す箇所のマイクロステップ81の前にマイク
ロステップ82,83,…と続く場合、サブルーチンS
の先頭のマイクロステップ71をマイクロステップ82
にマージし、2番目のマイクロステップ72をマイクロ
ステップ81にマージするものである。そして、物理的
にマージ可能な場合には更にコマンドファイル18に格
納されている全てのコマンドC1〜Cnをマージ後の2
つのマイクロステップに全て適用して、マイクロ命令の
使用に関する制約に違反していないかどうかを検査し
(S19)、違反していなかった場合は、変数nを+1
して「3」とし(S21)、ステップS16に戻る。
Therefore, next, a total of 4 microsteps of 2 microsteps at the head of the subroutine S, one microstep at the call location Si and one microstep immediately before it are extracted (S16). It is checked by the above-described method whether or not the four microsteps thus obtained can be physically merged into two microsteps (S1).
7). The method of merging here is, for example, the subroutine S
.. Are composed of a first microstep 71, a second microstep 72, a third microstep 73,... As shown in FIG. .., The subroutine S
Is replaced by a micro step 82
And the second micro step 72 is merged with the micro step 81. Then, if the commands can be physically merged, all commands C1 to Cn stored in the command file 18 are further merged into 2
It is applied to all the microsteps to check whether or not the constraint on the use of the microinstruction is violated (S19). If not, the variable n is incremented by +1.
To "3" (S21), and the process returns to step S16.

【0030】以上のような処理は物理的なマージが不可
か、或いはマイクロ命令の使用に関する制約違反が検出
されるまで続けられ、図4のS18で物理的なマージ不
可と判定されるか、S20でマイクロ命令の使用に関す
る制約違反があったと判定されると、その時点の変数n
が1であれば(S22でYES)、当該サブルーチンS
は一切マージ不可なのでサブルーチン検出手段13にマ
ージ不可を通知し(S23)、処理を終了する。他方、
nが1でなければ、n−1の値、即ち当該呼び出し箇所
Siにおける最大マージステップ数を変数niに保持し
て(S24)、ステップS12に戻る。
The above processing is continued until physical merging is not possible or a constraint violation regarding the use of microinstruction is detected, and it is determined in S18 in FIG. Is determined to have violated the constraint on the use of the microinstruction, the variable n
Is 1 (YES in S22), the subroutine S
Are not mergeable at all, the subroutine detecting means 13 is notified of the merge impossibility (S23), and the process is terminated. On the other hand,
If n is not 1, the value of n−1, that is, the maximum number of merge steps at the call location Si is held in the variable ni (S24), and the process returns to step S12.

【0031】ステップS12に戻ると、当該サブルーチ
ンSを呼び出している別の箇所を1つ捜し出し、見つか
れば、その箇所に関して前述したと同様の処理を実施す
る。また、当該サブルーチンSを呼び出している箇所が
もはや存在しなければ(S13でNO)、各変数niに
保持していた各呼び出し箇所毎の最大マージステップ数
のうちの最小のniを、当該サブルーチンSに関する最
大マージステップ数nMIN とし、変数i,サブルーチン
Sおよび各Siと共にマージ手段15に通知し(S2
5)、処理を終了する。従って、例えば、サブルーチン
Sを呼び出す箇所が5箇所あって、その各々の最大マー
ジステップ数が2,2,3,2,1とすると、最大マー
ジステップ数nMIN は1となり、それがマージ手段15
に通知されることになる。
Returning to step S12, another location calling the subroutine S is searched for, and if found, the same processing as described above is performed on that location. Also, if there is no longer a place where the subroutine S is called (NO in S13), the minimum ni of the maximum number of merge steps for each call place held in each variable ni is replaced with the subroutine S The maximum number of merge steps n MIN is notified to the merging means 15 together with the variable i, the subroutine S and each Si (S2
5), end the processing. Therefore, for example, if there are five places where the subroutine S is called, and the maximum number of merge steps is 2, 2, 3, 2, 1 respectively, the maximum number of merge steps n MIN is 1, which means that the merge means 15
Will be notified.

【0032】マージ手段15は、マージ可能性検査手段
14からnMIN , i,S,Siの通知がある毎に、図6
に示す処理を実行する。先ず、変数jを1に初期化し
(S31)、サブルーチンSの先頭からnMIN 個のマイ
クロステップを、変数jで定まる或る一つの呼び出し箇
所SjのnMIN 個のマイクロステップに実際にマージす
る(S33)。そして、変数jを+1し(S34)、次
の呼び出し箇所Sjに対しても同様のマージを実施す
る。そして、全ての呼び出し箇所に対するマージを終了
すると(S32でYES)、サブルーチン置換手段16
を起動する。
The merging means 15 receives the notification of n MIN , i, S, Si from the merging possibility checking means 14 every time the
The processing shown in is performed. First, a variable j is initialized to 1 (S31), and n MIN microsteps from the beginning of the subroutine S are actually merged into n MIN microsteps of a certain call location Sj determined by the variable j ( S33). Then, the variable j is incremented by 1 (S34), and the same merging is performed for the next call location Sj. When the merging for all the call locations is completed (YES in S32), the subroutine replacing means 16
Start

【0033】サブルーチン置換手段16は、起動される
と、サブルーチンSから先頭のnMI N 個のマイクロステ
ップを除いた残りを新たなサブルーチンSMAX とし(S
35)、サブルーチンSをサブルーチンSMAX に置き換
える(S36)。そして、置換処理の終了をサブルーチ
ン検出手段13に通知する(S37)。
The subroutine substitution means 16 is activated, the remainder except for the beginning of the n MI N-number of microsteps from a subroutine S as a new subroutine S MAX (S
35), replacing the subroutine S to the subroutine S MAX (S36). Then, the end of the replacement process is notified to the subroutine detecting means 13 (S37).

【0034】図8に最適化前の水平型マイクロプログラ
ムの構成例を、図9に最適化後の水平型マイクロプログ
ラムの構成例を、それぞれ示す。図8では、サブルーチ
ンSが5つのマイクロステップ101〜105で構成さ
れており、先頭のマイクロステップ101の第1フィー
ルドと第5フィールドにそれぞれf11,f51なるマ
イクロ命令が設定され、その他の第2,第3,第4フィ
ールドは空きフィールドになっている。また、2番目〜
5番目のマイクロステップでは網かけを施したフィール
ドのみにマイクロ命令が設定されている。他方、メイン
ルーチン側には、サブルーチンSを呼び出す箇所が3つ
あり、1つ目の呼び出し箇所であるマイクロステップ2
01には第2,3,5フィールドのみにマイクロ命令が
設定され、その直前のマイクロステップ202には第
1,2,5フィールドのみにマイクロ命令が設定されて
いる。2つ目の呼び出し箇所であるマイクロステップ3
01には第2,3,5フィールドのみにマイクロ命令が
設定され、その直前のマイクロステップ302には第2
〜5フィールドのみにマイクロ命令が設定されている。
最後の3つ目の呼び出し箇所であるマイクロステップ4
01には第2,4,5フィールドのみにマイクロ命令が
設定され、その直前のマイクロステップ402には第
1,2,5フィールドのみにマイクロ命令が設定されて
いる。
FIG. 8 shows a configuration example of the horizontal microprogram before optimization, and FIG. 9 shows a configuration example of the horizontal microprogram after optimization. In FIG. 8, the subroutine S is composed of five microsteps 101 to 105, and microinstructions f11 and f51 are set in the first and fifth fields of the first microstep 101, respectively. The third and fourth fields are empty fields. Also, second-
In the fifth microstep, the microinstruction is set only in the shaded field. On the other hand, on the main routine side, there are three places where the subroutine S is called, and the first call place, microstep 2
In 01, a microinstruction is set only in the second, third, and fifth fields, and in a microstep 202 immediately before the microinstruction, a microinstruction is set only in the first, second, and fifth fields. Microstep 3, the second call location
01, a microinstruction is set only in the second, third, and fifth fields.
Microinstructions are set in only the? 5 fields.
Microstep 4, the last third call point
In 01, a microinstruction is set only in the second, fourth, and fifth fields. In a microstep 402 immediately before the microinstruction, a microinstruction is set in only the first, second, and fifth fields.

【0035】図8のような水平型マイクロプログラムに
対し図1のマージ可能性検査手段14が、サブルーチン
Sに関して、最大マージステップ数nMIN として「1」
を決定したとすると、マージ手段15は、サブルーチン
Sの先頭のマイクロステップ102をメインルーチンの
マイクロステップ201,301,401にそれぞれマ
ージして図9に示すようなマイクロステップ201’,
301’,401’を生成し、サブルーチン置換手段1
6は、サブルーチンSから先頭のマイクロステップ10
1を除いた図9に示すようなサブルーチンS’を生成し
て元のサブルーチンSと置換する。これにより、1マイ
クロステップの削減が可能となる。
For the horizontal microprogram as shown in FIG. 8, the merging possibility checking means 14 of FIG. 1 sets the maximum number of merge steps n MIN to “1” for the subroutine S.
Is determined, the merging means 15 merges the microstep 102 at the head of the subroutine S with the microsteps 201, 301, and 401 of the main routine, and merges the microsteps 201 ′, 201 ′ as shown in FIG.
301 ′, 401 ′, and subroutine replacement means 1
6 is the first microstep 10 from the subroutine S
A subroutine S 'as shown in FIG. 9 excluding 1 is generated and replaced with the original subroutine S. This enables a reduction of one microstep.

【0036】[0036]

【発明の効果】以上説明したように本発明は、水平型マ
イクロプログラムに含まれるサブルーチン中の一部のマ
イクロステップをメインルーチン中のその呼び出し元の
マイクロステップにマージするようにしたので、設計者
によってコーディングされた水平型マイクロプログラム
を、よりステップ数の少ないものにすることができ、ス
テップ数がより少なく、従って性能面でも優れた、最適
化された水平型マイクロプログラムを得ることができる
効果がある。
As described above, according to the present invention, a part of microsteps in a subroutine included in a horizontal microprogram is merged with a microstep of its calling source in a main routine. The horizontal microprogram coded by the above can be reduced in the number of steps, the number of steps is smaller, and therefore, the effect of obtaining an optimized horizontal microprogram excellent in performance can be obtained. is there.

【0037】また、設計者は、サブルーチン中の一部の
マイクロステップがその呼び出し元のマイクロステップ
にマージできるか否かを考えながらコーディング作業を
進める必要がなくなるため、サブルーチンを利用した見
易く、論理的なマイクロプログラムのコーディングに専
念でき、コーディング作業を効率良く進めることができ
る。
Further, the designer does not need to proceed with the coding work while considering whether or not some of the microsteps in the subroutine can be merged with the calling microstep. You can concentrate on coding of micro-programs, and you can work on coding efficiently.

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

【図1】本発明の水平型マイクロプログラム最適化装置
の一実施例の構成図である。
FIG. 1 is a configuration diagram of one embodiment of a horizontal microprogram optimizing device of the present invention.

【図2】サブルーチン検出手段の処理例を示すフローチ
ャートである。
FIG. 2 is a flowchart illustrating a processing example of a subroutine detecting unit.

【図3】マージ可能性検査手段が物理的にマージ可能な
否かを検査する方法の説明図である。
FIG. 3 is an explanatory diagram of a method of checking whether or not the merging possibility checking means can physically merge;

【図4】マージ可能性検査手段の処理例を示すフローチ
ャートである。
FIG. 4 is a flowchart illustrating a processing example of a merging possibility checking unit;

【図5】コマンドファイルの内容例を示す図である。FIG. 5 is a diagram showing an example of the contents of a command file.

【図6】マージ手段およびサブルーチン置換手段の処理
例を示すフローチャートである。
FIG. 6 is a flowchart illustrating a processing example of a merging unit and a subroutine replacing unit.

【図7】サブルーチン中の複数のマイクロステップをメ
インルーチン中の同数のマイクロステップにマージする
方法の説明図である。
FIG. 7 is an explanatory diagram of a method of merging a plurality of micro steps in a subroutine into the same number of micro steps in a main routine.

【図8】最適化前の水平型マイクロプログラムの一例を
示す図である。
FIG. 8 is a diagram illustrating an example of a horizontal microprogram before optimization.

【図9】最適化後の水平型マイクロプログラムの一例を
示す図である。
FIG. 9 is a diagram showing an example of a horizontal microprogram after optimization.

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

1…水平型マイクロプログラム最適化装置 11…入力手段 12…作業領域 13…サブルーチン検出手段 14…マージ可能性検査手段 15…マージ手段 16…サブルーチン置換手段 17…出力手段 18…コマンドファイル 2,3…記憶装置 DESCRIPTION OF SYMBOLS 1 ... Horizontal-type microprogram optimizing device 11 ... Input means 12 ... Work area 13 ... Subroutine detection means 14 ... Merge possibility inspection means 15 ... Merge means 16 ... Subroutine replacement means 17 ... Output means 18 ... Command file 2, 3 ... Storage device

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 IEEE TRANS.ON COM PUTERS,VOL C−20,NO. 7,PP.783−794,JULY 1971, R.L.KLEIR AND C.V. RAMAMOORTHY,”OPTIM IZATION STRATEGIES FOR MICROPROGRAM S”. IEEE TRANS.ON COM PUTERS,VOL C−23,NO. 8,PP.791−801,AUGUST 1974,C.V.RAMAMOORTHY AND M.TSUCHIYA,”A HIGH−LEVEL LANGUA GE FOR HORIZONTAL MICROPROGRAMMING”. ──────────────────────────────────────────────────続 き Continued on the front page (56) References IEEE TRANS. ON COM PUTERS, VOL C-20, NO. 7, PP. 783-794, JULY 1971, R.A. L. KLEIR AND C.I. V. RAMAMOORTHY, "OPTIM IZATION STRATEGIES FOR MICROPROGRAM S". IEEE TRANS. ON COM PUTERS, VOL C-23, NO. 8, PP. 791-801, AUGUST 1974, C.I. V. RAMAMOORTHY AND M. TSUCHIYA, "A HIGH-LEVEL LANGUA GE FOR HORIZONTAL MICROPROGRAMMING".

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 最適化対象となる水平型マイクロプログ
ラムを入力して、最適化された水平型マイクロプログラ
ムを生成する水平型マイクロプログラム最適化方法であ
って、 最適化対象となる水平型マイクロプログラムに含まれる
サブルーチン中の先頭からN個のマイクロステップが、
メインルーチン中のそのサブルーチンを呼び出す全ての
箇所における同数だけのマイクロステップにマージ可能
である場合に、前記サブルーチン中の先頭からの前記N
個分のマイクロステップを、そのサブルーチンを呼び出
すメインルーチン中の全ての箇所における同数分のマイ
クロステップにマージすると共に、前記サブルーチン中
の先頭から前記N個分のマイクロステップを除去したサ
ブルーチンを生成して元のサブルーチンと置換すること
を特徴とする水平型マイクロプログラム最適化方法。
1. A horizontal microprogram optimizing method for inputting a horizontal microprogram to be optimized and generating an optimized horizontal microprogram, comprising: a horizontal microprogram to be optimized. N micro steps from the beginning of the subroutine included in
If it is possible to merge into the same number of microsteps at all points where the subroutine is called in the main routine, the N
The number of microsteps is merged with the same number of microsteps at all points in the main routine that calls the subroutine, and a subroutine in which the N microsteps are removed from the head of the subroutine is generated. A horizontal microprogram optimizing method characterized by replacing the original subroutine.
【請求項2】 最適化対象となる水平型マイクロプログ
ラムを入力して、最適化された水平型マイクロプログラ
ムを出力する水平型マイクロプログラム最適化装置であ
って、 最適化対象となる水平型マイクロプログラムからサブル
ーチンを検出するサブルーチン検出手段と、 該サブルーチン検出手段で検出されたサブルーチン中の
先頭から最大幾つのマイクロステップが、メインルーチ
ン中のそのサブルーチンを呼び出す全ての箇所における
同数だけのマイクロステップにマージ可能であるかを検
査するマージ可能性検査手段と、 該マージ可能性検査手段で求められた最大マージステッ
プ数分の前記サブルーチンの先頭からのマイクロステッ
プを、メインルーチン中のそのサブルーチンを呼び出す
全ての箇所における同数分のマイクロステップにマージ
するマージ手段と、 前記サブルーチン中の先頭から前記最大マージステップ
数分のマイクロステップを除去したサブルーチンを生成
して前記サブルーチンと置換するサブルーチン置換手段
とを備えることを特徴とする水平型マイクロプログラム
最適化装置。
2. A horizontal microprogram optimizing device for inputting a horizontal microprogram to be optimized and outputting an optimized horizontal microprogram, comprising: a horizontal microprogram to be optimized. Subroutine detecting means for detecting a subroutine from a subroutine, and the maximum number of microsteps from the beginning of the subroutine detected by the subroutine detecting means can be merged into the same number of microsteps at all points in the main routine where the subroutine is called Means for checking whether the subroutines are the same or not, and the microsteps from the head of the subroutine for the maximum number of merge steps obtained by the merging possibility checking means are all locations in the main routine where the subroutine is called. Microsteps at And a subroutine replacement means for generating a subroutine in which the maximum number of microsteps are removed from the head of the subroutine and replacing the subroutine with the subroutine. Program optimization device.
【請求項3】 前記マージ可能性検査手段は、前記サブ
ルーチンを呼び出すメインルーチン中の呼び出し箇所ご
とに、サブルーチン中の先頭からのマイクロステップが
その呼び出し側の同数のマイクロステップに物理的にマ
ージ可能であり、且つ、マージ後のマイクロステップが
予め設定されたマイクロ命令の使用に関する制約に違反
していない最大のマイクロステップ数を求め、該求めた
マイクロステップ数の最小値を最大マージステップ数と
することを特徴とする請求項2記載の水平型マイクロプ
ログラム最適化装置。
3. The merging possibility checking means is capable of physically merging the microsteps from the head of the subroutine into the same number of microsteps of the calling side for each call location in the main routine that calls the subroutine. To find the maximum number of microsteps in which the merged microsteps do not violate the preset restrictions on the use of microinstructions, and to determine the minimum value of the obtained number of microsteps as the maximum number of merge steps The horizontal type microprogram optimizing device according to claim 2, characterized in that:
JP10200394A 1994-04-15 1994-04-15 Horizontal microprogram optimization method and apparatus Expired - Lifetime JP2626549B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10200394A JP2626549B2 (en) 1994-04-15 1994-04-15 Horizontal microprogram optimization method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10200394A JP2626549B2 (en) 1994-04-15 1994-04-15 Horizontal microprogram optimization method and apparatus

Publications (2)

Publication Number Publication Date
JPH07281888A JPH07281888A (en) 1995-10-27
JP2626549B2 true JP2626549B2 (en) 1997-07-02

Family

ID=14315624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10200394A Expired - Lifetime JP2626549B2 (en) 1994-04-15 1994-04-15 Horizontal microprogram optimization method and apparatus

Country Status (1)

Country Link
JP (1) JP2626549B2 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE TRANS.ON COMPUTERS,VOL C−20,NO.7,PP.783−794,JULY 1971,R.L.KLEIR AND C.V.RAMAMOORTHY,"OPTIMIZATION STRATEGIES FOR MICROPROGRAMS".
IEEE TRANS.ON COMPUTERS,VOL C−23,NO.8,PP.791−801,AUGUST 1974,C.V.RAMAMOORTHY AND M.TSUCHIYA,"A HIGH−LEVEL LANGUAGE FOR HORIZONTAL MICROPROGRAMMING".

Also Published As

Publication number Publication date
JPH07281888A (en) 1995-10-27

Similar Documents

Publication Publication Date Title
US6611946B1 (en) Method and system for automatic generation of DRC rules with just in time definition of derived layers
US5960182A (en) Hardware-software co-simulation system, hardware-software co-simulation method, and computer-readable memory containing a hardware-software co-simulation program
JP3954171B2 (en) How to fill a vector with scalar values on a computer
JPS61107431A (en) Arithmetic unit
JPH05165718A (en) Processing system
US6532573B1 (en) LSI verification method, LSI verification apparatus, and recording medium
JP2626549B2 (en) Horizontal microprogram optimization method and apparatus
CN114841119B (en) Register modeling method, device, equipment and medium in multi-user mode
US7962796B2 (en) State testing device and methods thereof
US6606616B1 (en) Modified action rules
US6161081A (en) Simulation model for a digital system
JP3461185B2 (en) Method and apparatus for registering source code line number to load module
JPH06274328A (en) Execution method for program consisting of plural processing modules
JP2630258B2 (en) Delay optimization method and logic synthesizer
JP3040599B2 (en) Automatic generation of instruction sequence for pipeline operation verification
JP2533532B2 (en) Online test method
JP2755646B2 (en) Data driven data processor
JPH0756886A (en) Parallel control system based on petri net
JPH04181331A (en) Instruction retry system
JPH05143545A (en) Instruction selection/execution processing system of plural instructions texts
JPH0581336A (en) Data base arithmetic processor
JP2001022817A (en) Automatic generation device of logic circuit
JPH05233379A (en) Execution history storage device
JPH06309159A (en) Program automatic generator
JPH01147773A (en) Vector processor