JPS6330938A - Microprogram control device - Google Patents

Microprogram control device

Info

Publication number
JPS6330938A
JPS6330938A JP17503686A JP17503686A JPS6330938A JP S6330938 A JPS6330938 A JP S6330938A JP 17503686 A JP17503686 A JP 17503686A JP 17503686 A JP17503686 A JP 17503686A JP S6330938 A JPS6330938 A JP S6330938A
Authority
JP
Japan
Prior art keywords
code
register
repeatable
micro
routine
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
JP17503686A
Other languages
Japanese (ja)
Inventor
Shinichi Habata
幅田 伸一
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 JP17503686A priority Critical patent/JPS6330938A/en
Publication of JPS6330938A publication Critical patent/JPS6330938A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To increase processing speed, by enabling a micro-operation designated by a specific field executed at just prior step to be repeated, by setting a specific bit being outputted by a control code memory. CONSTITUTION:A code selector 2 is used to set the output of a recursive code register 3 itself executed at the just prior step, at the recursive code register 3. The control of the code selector 2 is performed by using a designation bit 21 which designates the designation of a recursive micro-operation outputted by the control code memory 1, and the code selector 2 selects the output of the control code memory 1 when the designation bit 21 is reset, and sets it at the recursive code register 3, but, when the designation bit 21 is set, it selects the output of the recursive code register 3 itself, and sets it as its own register. In this way, the micro-operation executed at the just prior step is repeated.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は直前のステップで実行したマイクロ操作の再実
行機能を備えたマイクロ命令で記述したマイクロプログ
ラムの制御を行なうマイクロプログラム制御装置に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprogram control device that controls a microprogram written in microinstructions and has a function of re-executing a microoperation executed in the immediately previous step.

〔従来の技術〕[Conventional technology]

知識情報処理に対する研究が進むにつれ、計算機システ
ムに対して要求される機能も高度化している。例えば、
知識情報処理の分野で注目されているプログラミング言
語プロローグの基本機能であるユニフィケーション処理
がその1つである。
As research into knowledge information processing progresses, the functions required of computer systems also become more sophisticated. for example,
One of these is unification processing, which is a basic function of the programming language Prolog, which is attracting attention in the field of knowledge information processing.

計算機システムの実現手段として広く使用されているマ
イクロプログラム制御方式は、前記高度な機能の実現に
適している。マイクロプログラム制御方式を使用した計
算機システムの機能の高度化とは、従来の汎用計算機シ
ステムにおいて、ソフトウェアで実現していた機能をマ
イクロプログラム化することである。高度な機能のマイ
クロプログラム化はマイクロプログラム量を増加し、構
造を複雑にする為、多数の機能ルーチンに細分化し、主
ルーチンが機能ルーチンな呼び出す形式の構造を採る傾
向にある。
The microprogram control method, which is widely used as a means for realizing computer systems, is suitable for realizing the above-mentioned advanced functions. Improving the functionality of a computer system using a microprogram control method means converting the functions that were realized by software in conventional general-purpose computer systems into microprograms. Since the microprogramming of advanced functions increases the amount of microprograms and complicates the structure, there is a tendency to subdivide them into a large number of functional routines and adopt a structure in which the main routine calls the functional routines.

機能ルーチンの呼び出しを実現する為には、主ルーチン
と機能ルーチン間のデータの受は渡しが必要である。こ
れは主ルーチンと機能ルーチンとでデータの格納場所(
レジスタ又は、メモリの特定番地)が異なる為である。
In order to call a functional routine, it is necessary to exchange data between the main routine and the functional routine. This is where data is stored for main routines and functional routines (
This is because the registers or specific addresses in memory are different.

主ルーチンと機能ルーチン間のデータ受は渡しを実現す
る従来技術の1つとしてデータ受は渡しに使用するレジ
スタを特定しておく方式がある。
One of the conventional techniques for realizing data reception and passing between a main routine and a functional routine is a method in which a register to be used for data reception and passing is specified.

この方式では、主ルーチンは、機能ルーチンと呼び出す
直前に、特定したレジスタにデータをセットする必要が
ある。この方式を第1の従来技術と呼ぶ。
In this method, the main routine must set data in a specified register immediately before calling the function routine. This method is called the first conventional technique.

もう1つの従来技術として主ルーチンでデータを保持し
ているレジスタの指定番号を機能ルーチンに渡す方式が
ある。この方式では、レジスタの指定番号を受は渡すレ
ジスタを特定しておき、機能ルーチンがデータをアクセ
スする時は、レジスタ間接指定のレジスタアクセス又は
メモリアクセスを行なう。第3図に、レジスタ間接指定
レジスタアクセスの場合を示す。1はマイクロプログラ
ムを格納する制御コードメモリで、10は処理中のマイ
クロ命令を保持するマイクロコードレジスタ(MCR)
である。主ルーチンはマイクロコードレジスタ10を使
用し、直接レジスタファイル13内のレージスタを指定
し、データのアクセスを行なう。機能ルーチンを呼び出
す場合は、間接指定用レジスタ11にレジスタ指定番号
をセットする。機能ルーチンでは、間接指定用レジスタ
11を使用し、レジスタファイル13内のレジスタを指
定し、データのアクセスを行なう。この方式では、主ル
ーチンは、機能ルーチンを呼び出す直前に特定したレジ
スタにレジスタ指定番号をセラ1〜する必要がある。こ
の方式を第2の従来技術と呼ぶ。
Another conventional technique is a method in which the main routine passes the designated number of the register holding data to the functional routine. In this method, a register is specified for receiving and passing a designated register number, and when a functional routine accesses data, register access or memory access is performed by register indirect designation. FIG. 3 shows the case of register indirect specification register access. 1 is a control code memory that stores the microprogram, and 10 is a microcode register (MCR) that holds the microinstruction being processed.
It is. The main routine uses the microcode register 10 to directly specify registers in the register file 13 and access data. When calling a function routine, a register designation number is set in the register 11 for indirect designation. In the functional routine, the indirect designation register 11 is used to designate a register in the register file 13 and access data. In this method, the main routine needs to set the register designation number to the specified register immediately before calling the function routine. This method is called the second conventional technique.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

機能ルーチン呼び出しを実現する為に主ルーチと機能ル
ーチン間のデータ受は渡しに使用していた従来技術の方
式は、常に機能ルーチン呼び出し直前に、主ルーチンが
特定レジスタ群にデータ又はレジスタ指定番号をセット
する必要があった。
In the conventional technology, which used data transfer between the main routine and the function routine to realize a function routine call, the main routine always inputs data or a register specification number to a specific register group immediately before calling the function routine. I needed to set it up.

この主ルーチンが特定レジスタにセットする操作は、主
ルーチンと機能ルーチン間で受は渡しを行なう全てのデ
ータに対して行なう必要がある。
The operations set in specific registers by the main routine must be performed on all data received and passed between the main routine and the functional routines.

従来技術を使用した場合に発生する前記主ルーチンの特
定レジスタに対するセット操作は、マイクロプログラム
の実行ステップ数を増加する場合が多い。この中には、
ユニフィケーション処理の様に、機能ルーチンへ渡す2
個のデータと比較した結果を使用し、複数の機能ルーチ
ンのなかから1つの機能ルーチンを選択し、その機能ル
ーチンへ分岐する場合がある。機能ルーチンを呼び出す
ステップに機能ルーチンへ渡すデータを使用する処理の
場合、従来技術が行なっていた主ルーチンによる特定レ
ジスタのセット操作はマイクロプログラムの実行ステッ
プ数を増加し計算機システム全体の処理速度を低下させ
るという問題点があっな。
When using the prior art, the main routine's set operations on specific registers often increase the number of execution steps of the microprogram. Among these are:
Pass to function routine like unification processing 2
In some cases, one function routine is selected from a plurality of function routines using the results of the comparison with the data of , and a branch is made to that function routine. In the case of processing that uses data passed to a functional routine in the step that calls the functional routine, the setting operation of specific registers by the main routine, which was performed in the conventional technology, increases the number of execution steps of the microprogram and reduces the processing speed of the entire computer system. There is a problem with letting it happen.

本発明の目的は直前のステップに実行したマイクロ命令
の特定フィールドが指定するマイクロ操作の再実行を指
定する特定ビットを備えたマイクロ命令で記述したマイ
クロプログラムの実行制御を行なうことで、主ルーチン
と機能ルーチン間のデータ受は渡し操作のなかで、ユニ
フィケーション処理でみられる様な機能ルーチン呼び出
しを行なうステップに機能ルーチンへ渡すデータを使用
する処理におけるマイクロプログラムの実行ステップ数
増加の問題を解決するマイクロプログラム制御装置を提
供することにある。
An object of the present invention is to control the execution of a microprogram written using a microinstruction that has a specific bit that specifies re-execution of a microoperation specified by a specific field of a microinstruction executed in the previous step. Data exchange between function routines is a microprocessor that solves the problem of an increase in the number of microprogram execution steps in processing that uses data passed to a function routine in the step of calling a function routine, as seen in unification processing. The purpose of the present invention is to provide a program control device.

〔問題点を解決するための手段〕[Means for solving problems]

本発明のマイクロプログラム制御装置は、マイクロプロ
グラムを格納する制御コードメモリと、マイクロ命令の
特定フィールドを保持する反復可能コードレジスタと、
前記マイクロ命令の特定フィールド以外のフィールド3
保持する反復不可コードレジスタと、前記制御コードメ
モリが出力する特定ビットの値に応じて前記制御コード
メモリと前記反復可能コードレジスタの出力コードとの
いづれが一方を選択し選択したコードを前記反復可能コ
ードレジスタへ供給するコード運択器とを備え、前記制
御コードメモリが出力する前記特定ビットをセットする
ことで、直前のステップで実行した前記特定フィールド
が指定するマイクロ操作の繰り返しを可能にして構成さ
れる。
The microprogram control device of the present invention includes a control code memory for storing a microprogram, a repeatable code register for holding specific fields of a microinstruction, and a control code memory for storing a microprogram.
Field 3 other than the specific field of the microinstruction
The output code of the control code memory or the repeatable code register is selected depending on the value of a specific bit output by the non-repeatable code register held and the control code memory, and the selected code is repeatable. and a code operator that supplies the code register to the code register, and is configured to enable repetition of the micro-operation specified by the specific field executed in the previous step by setting the specific bit output from the control code memory. be done.

〔作用〕[Effect]

本発明のマイクロプログラム制御装置は、マイクロ命令
の特定フィールドのコードを保持する反復可能コードレ
ジスタと前記反復可能コードレジスタの入力を制御コー
ドメモリと前記反復可能コードレジスタ自身の出力から
選択するコード遷択器を導入し、前記制御コードメモリ
が出力するマイクロ命令の特定ビットかセットされてい
る場合は、前記反復可能コードレジスタは自分自身の出
力を保持し直すことで、直前のステップで実行した前記
特定フィールドが指定するマイクロ操作の再実行を可能
にする。
The microprogram control device of the present invention includes a repeatable code register that holds a code for a specific field of a microinstruction, and a code transition selector that selects an input of the repeatable code register from a control code memory and an output of the repeatable code register itself. If a specific bit of a microinstruction output by the control code memory is set, the repeatable code register re-holds its own output so that the specific bit executed in the previous step is Enables re-execution of the micro-operation specified by the field.

主ルーチンが機能ルーチンの呼び出しを行なったステッ
プに実行したマイクロ操作の一部?再実行することで、
機能ルーチンは主ルーチンと受は渡しを行なうデータを
、直接、操作することができる。例えば、ユニフィケー
ション処理の場合、主ルーチンと機能ルーチン間で受は
渡しを行なう2個のデータのデータタイプの組み合せに
より処理内容が異なる。この例では、主ルーチンは機能
ルーチン呼び出しを行なうステップに前記2個のデータ
のデータタイプの組み合せを調べ、データタイプの組み
合せにより複数個の機能ルーチンから1個の機能ルーチ
ンを決定し、前記決定した機能ルーチンヘジャンブする
。したがって機能ルーチンの第1ステツプで直前のステ
ップ(主ルーチンが機能ルーチン呼び出しを行なったス
テップ)で行なった前記2個のデータのアクセス指定マ
イクロ操作を再実行することで、前記2個のデータのア
クセスを行なうことができる。例えば前記2個のデータ
をレジスタが保持している場合、レジスタを指定するマ
イクロ操作を再実行することで、機能ルーチンは前記2
個のデータをアクセスできる。
Some of the micro-operations performed in the step where the main routine called the functional routine? By re-running
Functional routines can directly manipulate data that is passed to and from the main routine. For example, in the case of unification processing, the processing contents differ depending on the combination of data types of two pieces of data exchanged between the main routine and the functional routine. In this example, in the step of calling a function routine, the main routine checks the combination of data types of the two data types, determines one function routine from a plurality of function routines based on the combination of data types, and Jump to function routine. Therefore, in the first step of the function routine, by re-executing the micro-operation specifying the access to the two data that was performed in the previous step (the step where the main routine called the function routine), the access to the two data can be performed. can be done. For example, if a register holds the above two pieces of data, the functional routine can store the above two pieces of data by re-executing the micro-operation that specifies the register.
data can be accessed.

〔実施例〕〔Example〕

本発明の実施例について、図面を参照して説明する。 Embodiments of the present invention will be described with reference to the drawings.

第2図はこれから説明する本発明のマイクロプログラム
制御装置の実施例が処理するマイクロ命令のフォーマッ
ト図である。21は、直前のステップに実行したマイク
ロ命令の特定フィールドが指定するマイクロ操作の再実
行と該当ステップに実行するマイクロ命令の特定フィー
ルドが指定するマイクロ操作の実行とのいずれか一方を
選択する為の指定ビットである。22は、前記指定ビッ
ト21により直前のステップで実行したマイクロ操作の
再実行が可能なマイクロ操作を指定する反復可能コード
フィールド(RMC)である。20は前記指定ビット2
1による直前のステップで実行したマイクロ操作の再実
行が不可能なマイクロ操作を指定する反復不可コードフ
ィールド(N MC)である。
FIG. 2 is a format diagram of microinstructions processed by the embodiment of the microprogram control device of the present invention which will now be described. 21 is for selecting either re-execution of the micro-operation specified by the specific field of the micro-instruction executed in the previous step or execution of the micro-operation specified by the specific field of the micro-instruction executed in the relevant step. This is a specified bit. Reference numeral 22 is a repeatable code field (RMC) that specifies a micro-operation that allows the re-execution of the micro-operation executed in the previous step using the specification bit 21. 20 is the specified bit 2
This is a non-repeatable code field (NMC) that specifies a micro-operation that cannot be re-executed in the immediately previous step.

第1図は本発明の一実施例を示す構成図である。FIG. 1 is a block diagram showing an embodiment of the present invention.

図中、lはマイクロプログラムを格納する制御コードメ
モリである。3は制御コードメモリ1から読み出したマ
イクロ命令の反復可能コードフィールドを保持する反復
可能コードレジスタである。
In the figure, l is a control code memory that stores a microprogram. 3 is a repeatable code register that holds the repeatable code field of the microinstruction read from the control code memory 1;

4は制御コードメモリ1から読み出したマイクロ命令の
反復不可コードフィールドを保持する反復不可コードレ
ジスタである。
4 is a non-repeatable code register that holds a non-repeatable code field of the microinstruction read from the control code memory 1;

従来のマイクロプログラム制御装置では、直前のステッ
プで実行したマイクロ操作の再実行は不可能であるから
、マイクロ命令のなかに反復可能なマイクロ操作の再実
行を指定するビットは存在せず、反復可能なコードフィ
ールドと反復不可コードフィールドの区別が存在しない
。すなわち、従来のマイクロプログラム制御装置は、マ
イクロ命令の全てのフィールドに、反復不可コートフィ
ールドと同じ制御を行なう。
In conventional microprogram controllers, it is not possible to re-execute the micro-operation executed in the previous step, so there is no bit in the micro-instruction that specifies the re-execution of a repeatable micro-operation. There is no distinction between regular code fields and non-repeatable code fields. That is, conventional microprogram controllers provide the same control over all fields of a microinstruction as a non-repeatable code field.

反復可能なマイクロ操作として直前のステップで実行し
たマイクロ操作を選択する場合は、直前のステップで使
用した反復可能コードフィールドを反復可能コードレジ
スタ3が保持する。反復不可コードフィールドは反復不
可コードレジスタ4が保持する。
When selecting a micro-operation executed in the immediately previous step as a repeatable micro-operation, the repeatable code register 3 holds the repeatable code field used in the immediately previous step. The non-repeatable code field is held in the non-repeatable code register 4.

反復可能コードレジスタ3に、直前のステップて′実行
した反復可能コードレジスタ3自身の出力をセ・・l卜
する為に、コード選択器2を使用する。
The code selector 2 is used to set the repeatable code register 3 to the output of the repeatable code register 3 itself that was executed in the previous step.

コード選択器2の制御は、制御コードメモリ1が出力す
るマイクロ命令の反復可能なマイクロ操作の指定を指定
する指定ビ・ソト21を使用し、コード選択器2は指定
ビット21がリセットされているときには制御コードメ
モリ1の出力を選択して反1夏可能コードレジスタ3に
セットするが、指定ビット21がセットされているとき
には反復可能コードレジスタ3自身の出力を選択し自分
にセゾI−する。これにより直前のステップで実行した
マイクロ操作の繰返しを行なうこととなる。
The code selector 2 is controlled using a designation bit 21 that designates a repeatable micro-operation of the microinstruction output by the control code memory 1, and the designation bit 21 of the code selector 2 is reset. At times, the output of the control code memory 1 is selected and set in the repeatable code register 3, but when the designation bit 21 is set, the output of the repeatable code register 3 itself is selected and set to the repeatable code register 3. This causes the micro-operation executed in the previous step to be repeated.

(発明の効果〕 本発明のマイクロプログラム制御装置には、直前のステ
・lプで実行した反復可能なマイクロ操作を制御した反
復可能コード3反復可能コードレジスタに七7トし直し
、直前のステップで実行した反復可能なマイクロ操作の
再実行を可能に1−たことで、ユニフィケーション処理
の例で見られる様な主ルーチンと機能ルーチン間でデー
タ受は渡しをレジスタ指定マイクロ操作の再実行で実現
することでP!Ii能ルーチン呼び出しによるマイクロ
プログラムの実行ステップ数の増加3防止し処理速度を
向上できるという効果がある。
(Effects of the Invention) In the microprogram control device of the present invention, the repeatable code 3 that controlled the repeatable micro-operation executed in the immediately previous step is transferred back to the repeatable code register, and By making it possible to re-execute repeatable micro-operations executed in 1-, data exchange and passing between the main routine and functional routines as seen in the unification processing example can be realized by re-executing register-specified micro-operations. This has the effect of preventing an increase in the number of microprogram execution steps due to the P!Ii function routine call and improving the processing speed.

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

第1図は本発明の一実施例を示す構成図、第2図は本発
明のマイクロプログラム制御装置が制御するマイクロ命
令のフォーマット図、第3図は従来のマイクロプログラ
ム制御装置の構成図である。 1・・制御コートメモリ、2・・コード選択機、3・・
・反復可能コードレジスタ(RMCR)、4・・・反復
不可コードレジスタ(NMCR) 、10・・マイクロ
コードレジスタ(MCR> 、11・・・間接指定用レ
ジスタ、12・・・レジスタ指定番号選択器、13・・
・レジスタファイル、20・・・反復不可コードフィー
ルド、21・・・指定ビy )−122・・反復可能コ
ードフィールド。 $ / 図 第 2 図
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a format diagram of microinstructions controlled by the microprogram control device of the present invention, and FIG. 3 is a block diagram of a conventional microprogram control device. . 1. Control code memory, 2. Code selection machine, 3.
- Repeatable code register (RMCR), 4... Non-repeatable code register (NMCR), 10... Microcode register (MCR>, 11... Indirect specification register, 12... Register specification number selector, 13...
・Register file, 20... Non-repeatable code field, 21... Specification bit)-122... Repeatable code field. $ / Figure 2

Claims (1)

【特許請求の範囲】[Claims] マイクロプログラムを格納する制御コードメモリと、マ
イクロ命令の特定フィールドを保持する反復可能コード
レジスタと、前記マイクロ命令の特定フィールド以外の
フィールドを保持する反復不可コードレジスタと、前記
制御コードメモリが出力する特定ビットの値に応じて前
記制御コードメモリと前記反復可能コードレジスタの出
力コードとのいづれが一方を選択し選択したコードを前
記反復可能コードレジスタへ供給するコード選択器とを
備え、前記制御コードメモリが出力する前記特定ビット
をセットすることで、直前のステップで実行した前記特
定フィールドが指定するマイクロ操作の繰り返しが可能
であることを特徴とするマイクロプログラム制御装置。
a control code memory that stores a microprogram; a repeatable code register that holds a specific field of a microinstruction; a non-repeatable code register that holds fields other than the specific field of the microinstruction; and a control code memory that stores a specific field that the control code memory outputs. a code selector that selects one of the output code of the control code memory and the output code of the repeatable code register according to a value of a bit, and supplies the selected code to the repeatable code register; A microprogram control device characterized in that by setting the specific bit output by the microprogram control device, it is possible to repeat the micro-operation specified by the specific field executed in the previous step.
JP17503686A 1986-07-24 1986-07-24 Microprogram control device Pending JPS6330938A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17503686A JPS6330938A (en) 1986-07-24 1986-07-24 Microprogram control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17503686A JPS6330938A (en) 1986-07-24 1986-07-24 Microprogram control device

Publications (1)

Publication Number Publication Date
JPS6330938A true JPS6330938A (en) 1988-02-09

Family

ID=15989095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17503686A Pending JPS6330938A (en) 1986-07-24 1986-07-24 Microprogram control device

Country Status (1)

Country Link
JP (1) JPS6330938A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0297870A (en) * 1988-10-04 1990-04-10 Chubu Electric Power Co Inc Refrigerating machine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0297870A (en) * 1988-10-04 1990-04-10 Chubu Electric Power Co Inc Refrigerating machine

Similar Documents

Publication Publication Date Title
US4468736A (en) Mechanism for creating dependency free code for multiple processing elements
US4179731A (en) Microprogrammed control system
US5261101A (en) Method for calling and returning from subroutine that is invoked by either a near call or a far call
US5095426A (en) Data processing system for effectively handling exceptions during execution of two different types of instructions
EP0378415A2 (en) Multiple instruction dispatch mechanism
US4656581A (en) Vector mask control system
US5390306A (en) Pipeline processing system and microprocessor using the system
EP0164418B1 (en) Microprogram control system
US5479620A (en) Control unit modifying micro instructions for one cycle execution
JPS6330938A (en) Microprogram control device
JPS6330937A (en) Microprogram control device
JPS6330939A (en) Microprogram control device
JPS6339928B2 (en)
JPH0222413B2 (en)
US20020129229A1 (en) Microinstruction sequencer stack
JPS58200349A (en) Microprogram controller
EP0359823A1 (en) Method and apparatus for controlling the execution of microprogram
JPS6375833A (en) Information processor
JPH0243626A (en) Apparatus for controlling execution speed of computer processor
JPH0218732B2 (en)
JPS58151651A (en) Data processing device
JPS6250855B2 (en)
JPH03127171A (en) Vector processor
JPH0353321A (en) Information processor
JPH02105936A (en) Data processor