[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH0198023A - Conditional subroutine calling system - Google Patents

Conditional subroutine calling system

Info

Publication number
JPH0198023A
JPH0198023A JP62255705A JP25570587A JPH0198023A JP H0198023 A JPH0198023 A JP H0198023A JP 62255705 A JP62255705 A JP 62255705A JP 25570587 A JP25570587 A JP 25570587A JP H0198023 A JPH0198023 A JP H0198023A
Authority
JP
Japan
Prior art keywords
address
field
instruction
conditional
subroutine
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.)
Granted
Application number
JP62255705A
Other languages
Japanese (ja)
Other versions
JPH0731596B2 (en
Inventor
Kyoji Kawagishi
川岸 恭司
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 JP62255705A priority Critical patent/JPH0731596B2/en
Publication of JPH0198023A publication Critical patent/JPH0198023A/en
Publication of JPH0731596B2 publication Critical patent/JPH0731596B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To extremely decrease the number of steps of a microprogram by qualifying the next address field via an address control field of a conditional subroutine instruction and at the same time keeping the next address unqualified as a return address. CONSTITUTION:When the microinstruction stored in a microinstruction register 2 from a control memory 1 is equal to a conditional subroutine call instruction, the output of a decoder 7 is supplied via a selector 8 and an address field is qualified via the address control field of said call instruction. Then the qualified address field is supplied to a selector 4 as the next jump address. At the same time, the next address received +1 from an address count-up circuit 1 is held by a return address register 6. When the conditional subroutine instruction is processed, the address held by the register 6 is selected by the selector 4 and reset at its original main routine. In such a way, it is not required to call out the subroutines by many instructions and the number of steps of a microprogram can be extremely decreased.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、電子計算機システムなどのデータ処理システ
ム内に設置されるマイクロプログラム制御装置に適用さ
れる条件付きサブルーチン呼出し方式に関するものであ
る。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a conditional subroutine calling method applied to a microprogram control device installed in a data processing system such as an electronic computer system.

(従来の技術) 電子計算機システムなどのデータ処理処理システムでは
、メモリアクセス時間の短縮による処理の高速化を図る
ため、CPU内の制御メモリにマイクロプログラムを格
納しこのマイクロプログラムを構成するマイクロ命令群
を一つずつ高速で読出しながら実行してゆくマイクロプ
ログラム制御装置が汎用されている。
(Prior Art) In data processing systems such as electronic computer systems, in order to speed up processing by shortening memory access time, a microprogram is stored in a control memory within a CPU, and a group of microinstructions making up this microprogram is used. A microprogram control device that reads and executes each program one by one at high speed is widely used.

このようなマイクロプログラム制御装置においてサブル
ーチン呼出し命令を実行させる場合、このサブルーチン
呼出し命令の格納アドレスの次のアドレスを戻リアドレ
スとして保存させつつサブルーチンの先頭アドレスに分
岐させている。
When a subroutine call instruction is executed in such a microprogram control device, the address following the storage address of the subroutine call instruction is saved as a return address and branched to the start address of the subroutine.

(発明が解決しようとする問題点) 上記従来のサブルーチン呼出し方式では、サブルーチン
の実行終了後はこのサブルーチンを呼出した命令の次の
アドレスに戻るようにしている。
(Problems to be Solved by the Invention) In the conventional subroutine calling method described above, after the execution of a subroutine is completed, the process returns to the address next to the instruction that called this subroutine.

従って、演算結果などを示す状態信号に応じて複数のサ
ブルーチンの一つを選択的に呼出す場合には、上記アド
レスの割付けに関する条件を満すため□に、通常のサブ
ルーチン呼出し命令に条件付き分岐命令や多数のジャン
プ命令を組合せることが必要になり、マイクロプログラ
ムのステップ数が増加するという問題がある。
Therefore, when one of multiple subroutines is selectively called in response to a status signal indicating the result of an operation, etc., in order to satisfy the above address allocation conditions, a conditional branch instruction is added to the normal subroutine call instruction. There is a problem in that the number of steps in the microprogram increases because it is necessary to combine a large number of jump instructions and a large number of jump instructions.

例えば、演算結果を示す状態信号(演算器のキャリー、
ゼロ、オバーフローやレジスタの特定ビットなど)に応
じて4種類のサブルーチンA、B。
For example, a status signal indicating the calculation result (carry of the calculation unit,
There are 4 types of subroutines A and B depending on the type (zero, overflow, specific bit of register, etc.).

C,Dの一つを呼出す場合を想定すると、制御メモリ上
へのマイクロ命令群の配置は第3図に示すようになる。
Assuming that one of C and D is called, the arrangement of the microinstructions on the control memory is as shown in FIG.

すなわち、制御メモリのアドレス(99)に条件付き分
岐命令が格納されると共に、アドレス(103)、 (
105)、(107)、(109)のそれぞれにはサブ
ルーチンD、A、B、Cを呼出すためのサブルーチン呼
出し命令が格納され、それぞれの戻リアドレス(104
)、(106)、(108)、(110)にはアドレス
(111)へのジャンプ命令が格納される。また、アド
レス(100)、(101)、(102)のそれぞれに
はサブルーチン呼出し命令の格納アドレス(105)、
(107)、(109)へのジャンプ命令が格納される
That is, a conditional branch instruction is stored at address (99) of the control memory, and at the same time, the conditional branch instruction is stored at address (103), (
105), (107), and (109) store subroutine call instructions for calling subroutines D, A, B, and C, and each return address (104
), (106), (108), and (110) store a jump instruction to address (111). Furthermore, addresses (100), (101), and (102) each include a subroutine call instruction storage address (105),
Jump instructions to (107) and (109) are stored.

このように、演算結果などを示す状態信号に応じて複数
のサブルーチンの一つを選択的に呼出す場合には、複数
のサブルーチン呼出し命令の他に条件付き分岐命令と多
数のジャンプ命令が必要になり、マイクロプログラムの
ステップ数が増加し、性能の低下を招くという問題があ
る。
In this way, when one of multiple subroutines is selectively called in response to a status signal indicating the result of an operation, in addition to multiple subroutine call instructions, conditional branch instructions and numerous jump instructions are required. , there is a problem that the number of steps in the microprogram increases, leading to a decrease in performance.

(問題点を解決するための手段) 本発明に係わる条件付きサブルーチン呼出し方式は、ア
ドレス制御フィールド及び次アドレスフィールドを含む
マイクロ命令で構成される条件付きサブルーチン呼出し
命令と、この条件付きサブルーチン呼出し命令の実行時
にアドレス制御フィールド及び状態信号に基づき次アド
レスフィールドを修飾することにより新たな次アドレス
フィールドを作成しこれを呼出し対象のサブルーチンの
先頭アドレスとしてアドレスレジスタに設定すると共に
、この条件付きサブルーチン呼出し命令の格納アドレス
を歩進したアドレスを呼出されたサブルーチンからの戻
リアドレスとして保存する制御手段とを備え、マイクロ
プログラムのステップ数を大幅に低減して性能の向上を
実現するように構成されている。
(Means for Solving the Problems) A conditional subroutine call method according to the present invention includes a conditional subroutine call instruction consisting of a microinstruction including an address control field and a next address field, and a conditional subroutine call instruction that is At execution time, a new next address field is created by modifying the next address field based on the address control field and the status signal, and this is set in the address register as the start address of the subroutine to be called. The control means stores an address obtained by incrementing the storage address as a return address from a called subroutine, and is configured to significantly reduce the number of microprogram steps and improve performance.

以下、本発明の作用を実施例と共に詳細に説明する。Hereinafter, the operation of the present invention will be explained in detail together with examples.

(実施例) 第1図は、本発明の一実施例に係わる条件付きサブルー
チン呼出し方式を適用するマイクロプログラム制御装置
の構成を示すブロック図であり、lはマイクロプログラ
ムを格納する制御メモリ、2は制御メモリから読出され
たマイクロ命令を保持するマイクロ命令レジスタ、3は
制御メモリ2に供給するアドレスを保持するアドレスレ
ジスタ、4はアドレスレジスタ3に保持させるアドレス
を選択するセレクタ、5はアドレスレジスタ4に保持す
したアドレスを歩進するアドレス歩進回路、6はアドレ
ス歩進回路5の出力を戻リアドレスとして選択的に保存
する戻リアドレスレジスタ、7はデコーダ、8はセレク
タである。
(Embodiment) FIG. 1 is a block diagram showing the configuration of a microprogram control device to which a conditional subroutine calling method according to an embodiment of the present invention is applied, where l is a control memory that stores a microprogram, and 2 is a A microinstruction register that holds microinstructions read from the control memory; 3 an address register that holds an address to be supplied to the control memory 2; 4 a selector that selects an address to be held in the address register 3; An address increment circuit increments the held address; 6 is a return address register that selectively stores the output of the address increment circuit 5 as a return address; 7 is a decoder; and 8 is a selector.

制御メモリ1に格納中のマイクロプログラムを構成する
マイクロ命令群は、アドレスレジスタ3の内容で指定さ
れる格納アドレスから一つずつ読出され、マイクロ命令
レジスタ2に保持され実行されてゆく。実行されるマイ
クロ命令が分岐やジャンプやサブルーチン呼出しなどア
ドレスの跳躍を伴わない命令であれば、アドレス歩進回
路5で歩進されたアドレスが次に実行すべき命令の格納
アドレス(「次アドレス」)としてセレクタ4を経てア
ドレスレジスタ3に設定される。一方、実行されるマイ
クロ命令がアドレスの跳躍を伴う命令であれば跳び先の
アドレスが次アドレスフィ−ルドで指定され、この次ア
ドレスフィールドがセレクタ4を経てアドレスレジスタ
3に設定される。
The microinstructions constituting the microprogram stored in the control memory 1 are read out one by one from the storage address specified by the contents of the address register 3, held in the microinstruction register 2, and executed. If the microinstruction to be executed does not involve an address jump, such as a branch, jump, or subroutine call, the address incremented by the address increment circuit 5 becomes the storage address of the next instruction to be executed (the "next address"). ) is set in the address register 3 via the selector 4. On the other hand, if the microinstruction to be executed involves an address jump, the jump destination address is specified in the next address field, and this next address field is set in the address register 3 via the selector 4.

跳び先のアドレスが無条件に定まる命令の場合には、次
アドレスフィールドの一部はセレクタ8を介してそのま
まセレクタ4に供給される。これに対して、条件付き分
岐命令や本発明による条件付きサブルーチン呼出し命令
など跳び先のアドレスが条件付きで定まる命令の場合に
は、マイクロ命令レジスタ2中の次アドレスフィールド
の一部がセレクタ8においてデコーダ7の出力で置き換
えられることにより修飾され、これが次アドレスとして
セレクタ4に供給される。
In the case of an instruction in which the jump destination address is unconditionally determined, part of the next address field is supplied directly to the selector 4 via the selector 8. On the other hand, in the case of an instruction in which the jump destination address is conditionally determined, such as a conditional branch instruction or a conditional subroutine call instruction according to the present invention, a part of the next address field in the microinstruction register 2 is stored in the selector 8. It is modified by being replaced with the output of the decoder 7, and this is supplied to the selector 4 as the next address.

本発明によるサブルーチン呼出し命令は、第1図のマイ
クロ命令レジスタ2の保持内容で示すように、アドレス
制御フィールドと、選択制御フィールドと、次アドレス
フィールドで構成される。
The subroutine call instruction according to the present invention is composed of an address control field, a selection control field, and a next address field, as shown by the contents held in the microinstruction register 2 in FIG.

この条件付きサブルーチン呼出し命令は、演算器のキャ
リー、ゼロ、オバーフローなど演算結果を示す状態信号
に応じて4種類のサブルーチンA。
This conditional subroutine call instruction calls four types of subroutines A depending on the status signal indicating the result of operation such as carry, zero, or overflow of the arithmetic unit.

B、C,Dの一つを選択的に呼出す命令であるとする。Assume that this is an instruction to selectively call one of B, C, and D.

この条件付きサブルーチン呼出し命令がマイクロ命令レ
ジスタ2に保持され実行されると、この命令中の選択制
御フィールドによってデコーダ7の機能が有効化される
。デコーダ7は、この条件付きサブルーチン呼出し命令
中のアドレス制御フィールドと、演算器から供給される
キャリーやオーバーフローなどの状態信号に基づき次ア
ドレスフィールドの一部と置き換えるための下位2ビツ
トのアドレス信号を作成し、これをセレクタ8に供給す
る。セレクタ8は、この条件付きサブルーチン呼出し命
令中の制御フィールドの実行によって制御され、この命
令中に含まれる次アドレスフィールドの下位2ビツトを
デコーダ7から供給される2ビツトで置き換えてセレク
タ4に供給する。
When this conditional subroutine call instruction is held in the microinstruction register 2 and executed, the function of the decoder 7 is enabled by the selection control field in this instruction. The decoder 7 creates a lower 2-bit address signal to replace a part of the next address field based on the address control field in this conditional subroutine call instruction and status signals such as carry and overflow supplied from the arithmetic unit. and supplies this to the selector 8. The selector 8 is controlled by the execution of the control field in this conditional subroutine call instruction, and replaces the lower two bits of the next address field included in this instruction with the two bits supplied from the decoder 7 and supplies it to the selector 4. .

さらに、この条件付きサブルーチン呼出し命令の選択制
御フィールドの実行によってこの命令の格納アドレスを
歩進するアドレス歩進回路5の出力が戻リアドレスレジ
スタ6に保存されると共に上記修飾済みの次アドレスが
セレクタ4を経てアドレスレジスタ3に設定される。
Furthermore, by executing the selection control field of this conditional subroutine call instruction, the output of the address increment circuit 5 that increments the storage address of this instruction is stored in the return address register 6, and the modified next address is set to the selector. 4 and is set in address register 3.

従って、第2図にマイクロプログラムの構成で示すよう
に、上述の条件付きサブルーチン呼出し命令が制御メモ
リのアドレス(100)に格納されているとものすれば
、この命令の実行によってアドレス(200)、(20
1)、(202)、(203)に格納中のサブルーチン
ASB、C。
Therefore, as shown in the microprogram structure in FIG. 2, if the above-mentioned conditional subroutine call instruction is stored at the address (100) of the control memory, the execution of this instruction causes the address (200, (20
1), (202), and (203) are the subroutines ASB and C.

Dうちの一つが状態信号に応じて呼出される。また、呼
出されたサブルーチンの末尾で実行されるリターン命令
によって戻リアドレスレジスタ6に保存中の戻リアドレ
ス(101)がセレクタ4を経てアドレスレジスタ3に
設定され、メインルーチンへの復帰が行われる。
D is called in response to a status signal. Furthermore, by the return instruction executed at the end of the called subroutine, the return address (101) stored in the return address register 6 is set in the address register 3 via the selector 4, and a return to the main routine is performed. .

以上、条件付きサブルーチン呼出し命令中の次アドレス
フィールドの下位2ビツトを設定された条件に応じて置
き換える構成を例示したが、この次アドレスフィールド
中の上位ビット群や、中間のビット群など適宜なビット
群を置き換える構成とすることができる。
Above, we have exemplified a configuration in which the lower two bits of the next address field in a conditional subroutine call instruction are replaced according to the set conditions. The configuration can be such that the groups are replaced.

また、次アドレスフィールドの一部のピント群を条件に
応じて定まるビット群で置き換える構成を例示したが、
次アドレスフィールド中の一部のビット群を論理演算に
よって変更することにより次アドレスを修飾することも
できる。
In addition, although we have illustrated a configuration in which some focus groups in the next address field are replaced with bit groups determined according to conditions,
The next address can also be modified by changing some bits in the next address field by logical operations.

(発明の効果) 以上詳細に説明したように、本発明の条件付きサブルー
チン呼出し方式は、条件付きサブルーチン呼出し命令と
、その実行時にアドレス制御フィールド及び状態信号に
基づき次アドレスフィールドを修飾して呼出し対象のサ
ブルーチンの先頭アドレスとしてアドレスレジスタに設
定すると共にこのサブルーチン呼出し命令の格納アドレ
スを歩進したアドレスをサブルーチンからの戻リアドレ
スとして保存する制御手段とを備える構成であるから、
1命令の実行によって設定条件に応じた複数のサブルー
チンの一つを選択的に呼出すことが可能となり、従来の
方式に比べてマイクロプログラムのステップ数が大幅に
圧縮され、性能が向上するという効果が奏される。
(Effects of the Invention) As explained in detail above, the conditional subroutine calling method of the present invention uses a conditional subroutine calling instruction and, upon execution, modifies the next address field based on the address control field and status signal to The control means sets the start address of the subroutine in the address register and stores the address obtained by incrementing the storage address of the subroutine call instruction as the return address from the subroutine.
By executing one instruction, it is possible to selectively call one of multiple subroutines according to the setting conditions, which has the effect of significantly reducing the number of microprogram steps and improving performance compared to conventional methods. It is played.

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

第1図は本発明の一実施例に係わる条件付きサブルーチ
ン呼出し方式を適用するマイクロプログラム制御装置の
構成を示すブロック、第2図は上記実施例を制御メモリ
上へのマイクロ命令の配置によって説明するための概念
図、第3図は従来の条件付きサブルーチン呼出し方式を
制御メモリ上へのマイクロ命令の配置によって説明する
ための概念図である。 1・・・制御メモリ、2・・・マイクロ命令レジスタ、
3・・・アドレスレジスタ、4.8・・・セレクタ、5
・・・アドレス歩進回路、6・・・戻リアドレスレジス
タ、7・・・デコーダ。
FIG. 1 is a block diagram showing the configuration of a microprogram control device applying a conditional subroutine calling method according to an embodiment of the present invention, and FIG. 2 illustrates the above embodiment by arranging microinstructions on the control memory. FIG. 3 is a conceptual diagram for explaining the conventional conditional subroutine calling method by arranging microinstructions on the control memory. 1... Control memory, 2... Micro instruction register,
3...Address register, 4.8...Selector, 5
. . . address increment circuit, 6 . . . return rear address register, 7 . . . decoder.

Claims (1)

【特許請求の範囲】 マイクロプログラムを構成するマイクロ命令群をアドレ
スレジスタの内容に従って制御メモリから一つずつ読出
して実行してゆくマイクロプログラム制御装置において
、 アドレス制御フィールド及び次に実行すべき命令の格納
アドレスを指定する次アドレスフィールドを含むマイク
ロ命令で構成される条件付きサブルーチン呼出し命令と
、 この条件付きサブルーチン呼出し命令の実行時に前記ア
ドレス制御フィールド及び状態信号に基づき前記次アド
レスフィールドを修飾することにより新たな次アドレス
フィールドを作成しこれを呼出し対象のサブルーチンの
先頭アドレスとしてアドレスレジスタに設定すると共に
、この条件付きサブルーチン呼出し命令の格納アドレス
を歩進したアドレスを呼出されたサブルーチンからの戻
リアドレスとして保存する制御手段とを備えたことを特
徴とする条件付きサブルーチン呼出し方式。
[Claims] In a microprogram control device that reads out and executes a group of microinstructions constituting a microprogram one by one from a control memory according to the contents of an address register, the address control field and the storage of the next instruction to be executed are provided. A conditional subroutine call instruction consisting of a microinstruction that includes a next address field that specifies an address, and a new address field that is modified by modifying the next address field based on the address control field and status signal when the conditional subroutine call instruction is executed. Create a next address field and set it in the address register as the start address of the subroutine to be called, and save the address obtained by incrementing the storage address of this conditional subroutine call instruction as the return address from the called subroutine. A conditional subroutine calling method characterized by comprising: a control means for controlling the conditional subroutine;
JP62255705A 1987-10-09 1987-10-09 Conditional subroutine call method Expired - Lifetime JPH0731596B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62255705A JPH0731596B2 (en) 1987-10-09 1987-10-09 Conditional subroutine call method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62255705A JPH0731596B2 (en) 1987-10-09 1987-10-09 Conditional subroutine call method

Publications (2)

Publication Number Publication Date
JPH0198023A true JPH0198023A (en) 1989-04-17
JPH0731596B2 JPH0731596B2 (en) 1995-04-10

Family

ID=17282489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62255705A Expired - Lifetime JPH0731596B2 (en) 1987-10-09 1987-10-09 Conditional subroutine call method

Country Status (1)

Country Link
JP (1) JPH0731596B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329164A (en) * 1991-08-30 1994-07-12 Fuji Jukogyo Kabushiki Kaisha Safety circuit for a fuel supply system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58213351A (en) * 1982-06-07 1983-12-12 Nec Corp Microprogram controller
JPS62111372A (en) * 1985-11-11 1987-05-22 Minolta Camera Co Ltd Storing system for memory sheet

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58213351A (en) * 1982-06-07 1983-12-12 Nec Corp Microprogram controller
JPS62111372A (en) * 1985-11-11 1987-05-22 Minolta Camera Co Ltd Storing system for memory sheet

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329164A (en) * 1991-08-30 1994-07-12 Fuji Jukogyo Kabushiki Kaisha Safety circuit for a fuel supply system

Also Published As

Publication number Publication date
JPH0731596B2 (en) 1995-04-10

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
EP0107952A2 (en) Information processing apparatus and its instruction control system
EP0164418B1 (en) Microprogram control system
EP0660229B1 (en) Method and apparatus for modifying the contents of a register
JPH0198023A (en) Conditional subroutine calling system
JPS6339928B2 (en)
JP2758624B2 (en) Speed control method of micro program
JPH05143447A (en) Digital processor and control method for the processor
EP0211487A1 (en) Conditional operations in computers
JPS6242301B2 (en)
JPH03288228A (en) Information processor
EP0359823A1 (en) Method and apparatus for controlling the execution of microprogram
JPS6116334A (en) Data processor
KR950004227B1 (en) Information processing system
JPS6398035A (en) Microprogram controller
JPS59173876A (en) Vector data processor
JPS6024643A (en) Microprogram controlling system
JPS6024642A (en) Microprogram controlling system
JPH0424731B2 (en)
JPH10143376A (en) Information processing device
JPS6398735A (en) Microcontroller
JPH0415825A (en) Micro branch processing system
JPH02110631A (en) Microprogram controlling method
JPH04326126A (en) Register file for digital computer and instruction execution system using the same
JPH0561669A (en) Semiconductor calculating device and electronic apparatus