JPS6049935B2 - Microprogram control method - Google Patents
Microprogram control methodInfo
- Publication number
- JPS6049935B2 JPS6049935B2 JP8828077A JP8828077A JPS6049935B2 JP S6049935 B2 JPS6049935 B2 JP S6049935B2 JP 8828077 A JP8828077 A JP 8828077A JP 8828077 A JP8828077 A JP 8828077A JP S6049935 B2 JPS6049935 B2 JP S6049935B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- microprogram
- instruction
- routine
- operand
- 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
Links
Description
【発明の詳細な説明】
本発明はマイクロプログラム制御を用いた情報処理装置
において、マクロ命令からルーチンルーチンの先頭アド
レスを発生させる方式に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for generating a start address of a routine from a macro instruction in an information processing apparatus using microprogram control.
従来のマイクロプログラム制御情報処理装置に用いられ
ているマクロ命令からマイクロプログラムルーチンの先
頭アドレスを発生させる装置の構成例を第1図に示す。
第1図において1はマクロ命令を格納するインストラク
ション・レジスタ(IR)、2はマクロ命令の命令コー
ド (OPコード5を入力とするアドレス変換回路(A
C)、3はマイクロ命令のアドレスを格納するマイクロ
インストラクションレジスタ(μIAR)、3aは+1
回路、4はマイクロプログラムを格納する制御メモリ(
CM)である。アドレス変換回路2はインストラクショ
ンレジスタ1からの命令コードOPを入力として、マイ
クロプログラムルーチンの先頭アドレスを発生する。通
常、アドレス変換回路2は布線論理を用いたデコーダ回
路、読み取り専用メモリ(ROM)あるいはプログラム
ブル・ロジック・アレイ(PLA)等で実現される。こ
のようにしてなる構成において、命令コードとオペラン
ドのアドレス修飾方法を指定するアドレス修飾コードと
を含むマクロ命令からマイクロプログラムルーチンの先
頭アドレスを発生させる場合、次のような問題があつた
。FIG. 1 shows an example of the configuration of a device for generating a start address of a microprogram routine from a macro instruction used in a conventional microprogram control information processing device.
In Figure 1, 1 is an instruction register (IR) that stores macro instructions, and 2 is an address conversion circuit (A
C), 3 is a microinstruction register (μIAR) that stores the address of a microinstruction, 3a is +1
circuit, 4 is a control memory that stores the microprogram (
CM). The address conversion circuit 2 receives the instruction code OP from the instruction register 1 and generates the start address of the microprogram routine. Usually, the address conversion circuit 2 is realized by a decoder circuit using wired logic, a read-only memory (ROM), a programmable logic array (PLA), or the like. In such a configuration, when the start address of a microprogram routine is generated from a macro instruction that includes an instruction code and an address modification code that specifies an address modification method for an operand, the following problem occurs.
アドレス変換回路2の入力として命令コード(OP)の
他にアトレス修飾コードを入力するため、アドレス変換
回路2のゲート数あるいはメモリ容量が増大した。また
、アドレス修飾の方法としてレジスタ間接修飾あるいは
インデックス修飾等数種類の方法に対応しなければなら
ない為、ソース・オペランドとデストネーシヨンオペラ
ンドとにそれぞれアドレス修飾が実行される。アドレス
修飾を伴なうマクロ命令を実行する楊合、マクロ命令ご
とにレジスタ間接修飾、インデックス修飾等を実行する
マイクロプログラムルーチンを制御メモリに設ける方法
、あるいは該マイクロプログラムルーチンをサブルーチ
ン化して、マクロ命令実行ごとにサブルーチンジャンプ
命令あるいはリターン命令で該サブルーチンとリンケー
ジする方法等が知られている。しかし、前者の方法では
アドレス修飾を実行するマイクロプログラムルーチンが
冗長となりメモリ容量が増大する欠点があり、また後者
の方法では、ジャンプ命令を必要とするためマクロ命令
の処理時間が増大し、メモリ容量も増大するという欠点
があつた。従つて本発明は従来の技術の上記欠点を改善
するもので、その目的は、処理時間とメモリ容量をとも
に減少させることの出来るマイクロプログラム制御方式
を提供することにある。Since the address modification code is input in addition to the instruction code (OP) as an input to the address conversion circuit 2, the number of gates or the memory capacity of the address conversion circuit 2 has increased. Furthermore, since it is necessary to support several types of address modification methods, such as register indirect modification and index modification, address modification is performed for the source operand and the destination operand, respectively. A method that executes a macro instruction with address modification, a method of providing a microprogram routine in the control memory that executes register indirect modification, index modification, etc. for each macro instruction, or a method of creating a subroutine from the microprogram routine and using the macro instruction A method is known in which a subroutine is linked to a subroutine using a subroutine jump instruction or return instruction each time it is executed. However, the former method has the disadvantage that the microprogram routine that executes address modification becomes redundant and increases the memory capacity, while the latter method requires a jump instruction, which increases the processing time of macro instructions and increases the memory capacity. The disadvantage was that it also increased. SUMMARY OF THE INVENTION Accordingly, the present invention aims to improve the above-mentioned drawbacks of the prior art, and its purpose is to provide a microprogram control method that can reduce both processing time and memory capacity.
この目的を達成するための本発明の特徴はマクロ命令の
演算実行用のアドレス変換回路とアドレス修飾用のアド
レス変換回路とを設け、アドレス修飾を伴なうマクロ命
令の場合には上記2つのアドレス変換回路を切換えてマ
イクロプログラムルーチンの先頭アドレスを発生させる
ことにある。以下図面により本発明の実施例を詳細に説
明する。A feature of the present invention to achieve this object is to provide an address conversion circuit for executing macro instruction operations and an address conversion circuit for address modification. The purpose is to generate the start address of the microprogram routine by switching the conversion circuit. Embodiments of the present invention will be described in detail below with reference to the drawings.
第2図は本発明によるマクロ命令からマイクロプログラ
ムルーチンの先頭アドレスを発生させる装置の構成例の
ブロックダイヤフラムである。第2図て第1図と同じ参
照番号は同じ部材をしめす。5はマクロ命令を格納する
インストラクションレジスタ(IR),6はマクロ命令
の命令コード(0Pコード)を入力とする第1アドレス
変換回路であり、マクロ命令の演算実行を行なうマイク
ロプログラムルーチンの先頭アドレス9とアドレス修飾
を伴なうマクロ命令か否かを区別する出力信号8を出力
する。FIG. 2 is a block diaphragm of a configuration example of a device for generating a start address of a microprogram routine from a macro instruction according to the present invention. The same reference numbers in FIG. 2 as in FIG. 1 indicate the same parts. 5 is an instruction register (IR) for storing macro instructions; 6 is a first address conversion circuit that receives the instruction code (0P code) of the macro instruction; It outputs an output signal 8 that distinguishes whether the instruction is a macro instruction accompanied by address modification or not.
7はマクロ命令のアドレス修飾コード(M)を入力とす
る第2アドレス変換回路であり、オペランドの実効アド
レスの計算およびオペランドのフエツチを実行するマイ
クロプログラムルーチンの先頭アドレス10を出力する
。A second address conversion circuit 7 receives the address modification code (M) of the macro instruction, and outputs the start address 10 of the microprogram routine for calculating the effective address of the operand and fetching the operand.
11はマクロ命令のフエツチを実行するマイクロプログ
ラムルーチンの終了を指定する信号(EOI)によリセ
ットされ、オペランドの実行アドレスの計算およびオペ
ランドのフエツチ実行の終了を指定する信号(EOA)
によりリセットされるフリップフロップである。11 is reset by a signal (EOI) that specifies the end of a microprogram routine that executes a fetch of a macro instruction, and a signal (EOA) that specifies the end of calculation of an execution address of an operand and execution of a fetch of an operand.
This is a flip-flop that is reset by .
13は出力信号8とフリップフロップ11を入力とする
アンド回路であり、コアンド回路1牡アンド回路15お
よびオア回路16からなる切換え回路は、先頭アドレス
9と先頭アドレス10と切換える。13 is an AND circuit which receives the output signal 8 and the flip-flop 11, and a switching circuit consisting of a COAND circuit 1, an AND circuit 15, and an OR circuit 16 switches between the first address 9 and the first address 10.
このようにして構成において、マクロ命令のフエツチの
実行が終了すると、マイクロ命令は(EOI)信号を発
生してフリップフロップ11をセットし、出力信号12
は論理レベル゜゛HigFl゛となる。In this configuration, when the execution of the fetch of the macroinstruction is finished, the microinstruction generates the (EOI) signal to set the flip-flop 11 and output signal 12.
becomes the logic level ゜゛HighFl゛.
マクロ命令がアドレス修飾を伴なう場合アドレス変換回
路6は出力信号8を論理レベル“High゛とする。従
つてAND回路13の出力は論″理レベル゜゜Hjgh
゛となるので、マイクロプログラムルーチンの先頭アド
レスとしてアドレス変換回路7から発生した先頭アドレ
ス10が選択される。オペランドの実効アドレスの計算
およびオペランドのフエツチ(とり出し)が終了すると
、マイクロ命令は(EOA)信号を発生してフリップフ
ロップ11をリセットし、出力信号12は論理レベル1
力w″となる。このとき、アンド回路13の出力は論理
レベル゜゜10w゛となるので、マイクロプログラムル
ーチンの先頭アドレスとしてアドレス変換回路6から発
生した先頭アドレス9を選択し、マクロ命令の演算実行
が行われる。マクロ命令がアドレス修飾を伴なわない場
合、アドレス変換回路6は出力信号8を論理レベル“゜
L0w゛とする。このとき、アンド回路13の出力はフ
リップフロップ11の出力信号12の論理状態にかかわ
らず論理レベル゜゜L0w゛となるので、マイクロプロ
グラムルーチンの先頭アドレスとしてアドレス変換回路
6から発生した先頭アドレス9を選択し、マクロ命令の
演算実行が行われる。以上説明したように、マクロ命令
の演算実行用の第1アドレス変換回路とアドレス修飾用
の第2アドレス変換回路とを設け、マクロ命令の命令コ
ードにより上記2つのアドレス変換回路を切換えてマイ
クロプログラムルーチンの先頭アドレスを発生させたこ
とにより、演算実行用のマイクロプログラムルーチンと
アドレス修飾用のマイクロプログラムルーチンとを各々
モジュール化でき、アドレス修飾用のマイクロプログラ
ムルーチンを各マクロ命令で共用できる。When the macro instruction involves address modification, the address conversion circuit 6 sets the output signal 8 to the logic level "High".Therefore, the output of the AND circuit 13 has the logic level ゜゜Hjgh.
Therefore, the start address 10 generated from the address conversion circuit 7 is selected as the start address of the microprogram routine. Once the effective address of the operand has been calculated and the operand has been fetched, the microinstruction generates the (EOA) signal to reset flip-flop 11 and output signal 12 to a logic level 1.
At this time, the output of the AND circuit 13 becomes the logic level ゜゜10w゛, so the first address 9 generated from the address conversion circuit 6 is selected as the first address of the microprogram routine, and the operation of the macro instruction is executed. If the macro instruction does not involve address modification, the address translation circuit 6 sets the output signal 8 to the logic level "L0w". At this time, the output of the AND circuit 13 becomes the logic level ゜゜L0w゛ regardless of the logic state of the output signal 12 of the flip-flop 11, so the first address 9 generated from the address conversion circuit 6 is selected as the first address of the microprogram routine. Then, the operation of the macro instruction is executed. As explained above, a first address conversion circuit for executing macro instruction operations and a second address conversion circuit for address modification are provided, and the two address conversion circuits are switched according to the instruction code of the macro instruction to perform the microprogram routine. By generating the start address of , the microprogram routine for executing operations and the microprogram routine for modifying addresses can be modularized, and the microprogram routine for address modification can be shared by each macro instruction.
さらに、上記2つのマイクロプログラムルーチンとをリ
ンケージするのにサブルーチンジャンプ命令あるいはリ
ターン命令を必要としない。したがつて、制御メモリ容
量を削減することができ、かつマクロ命令の処理速度を
上げることができるという利点がある。また、上記2つ
のアドレス変換回路の切替えは、アドレス修飾の有無を
示す出力信号とマクロ命令の所定のフィールドに設けた
切替信号との論理積により行なうので、アドレス修飾の
有無にかかわらずマクロ命令のフエツチルーチンを共通
化できるために制御メモリ容量を削減することができる
。なお、上記2つのアドレス変換回路は布線論理で構成
されたデコーダ回路、ROM(読取り専用メモリ)ある
いはPLA(プログラマブル・ロジック・アレイ)等て
実現することができる。Furthermore, no subroutine jump or return instruction is required to link the two microprogram routines. Therefore, there are advantages in that the control memory capacity can be reduced and the processing speed of macro instructions can be increased. Furthermore, switching between the two address conversion circuits described above is performed by the AND of the output signal indicating the presence or absence of address modification and the switching signal provided in a predetermined field of the macro instruction. Since the fetch routine can be shared, the control memory capacity can be reduced. Note that the above two address conversion circuits can be realized by a decoder circuit configured with wired logic, a ROM (read-only memory), a PLA (programmable logic array), or the like.
第1図は従来のマイクロプログラムルーチンの先頭アド
レス発生装置のブロックダイヤフラム、第2図は本発明
によるマイクロプログラムルーチンの先頭アドレスを発
生させる装置のブロックダイヤグラムである。
1・・・マクロ命令を格納するインストラクションレジ
スタ(IR)、2・・・アドレス変換回路、3・・・マ
イクロインストラクションアドレスレジスタ(μIAR
)、3a・・・+1回路、4・・・制御メモリ(CM)
、5・・・インストラクションレジスタ、6・・・第1
アドレス変換回路、7・・・第2アドレス変換回路、8
,9,10・・・出力信号、11・・・フリップフロッ
プ、12・・・出力信号、13,14,15・・・アン
ド回路、16・・・オア回路。FIG. 1 is a block diagram of a conventional starting address generator for a microprogram routine, and FIG. 2 is a block diagram of a device for generating a starting address for a microprogram routine according to the present invention. 1... Instruction register (IR) for storing macro instructions, 2... Address conversion circuit, 3... Micro instruction address register (μIAR)
), 3a...+1 circuit, 4...Control memory (CM)
, 5... instruction register, 6... first
Address conversion circuit, 7...Second address conversion circuit, 8
, 9, 10... Output signal, 11... Flip-flop, 12... Output signal, 13, 14, 15... AND circuit, 16... OR circuit.
Claims (1)
次の各工程によりマクロ命令からマイクロプログラムル
ーチンの先頭アドレスを発生させるマイクロプログラム
制御方式;(a)第1アドレス碧換回路により、マクロ
命令の命令コードからマクロ命令の演算実行を行なうマ
イクロプログラムルーチンの第1先頭アドレスと、該マ
クロ命令がアドレス修飾を必要とするか否かに関する情
報をふくみ第1出力信号とを出力し、(b)第2アドレ
ス変換回路により、マクロ命令のアドレス修飾コードか
ら、オペランドの実行アドレスの計算及びオペランドの
フエツチを実行するマイクロプログラムルーチンの第2
先頭アドレスを出力し、(c)マクロ命令のフエツチを
実行するマイクロプログラムルーチンの終了を指定する
信号によりセットされ、オペランドの実行アドレスの計
算及びオペランドのフエツチを実行するマイクロプログ
ラムルーチンの終了を指定する信号によりリセットされ
るフリップフロップから出力をとり出し、(d)アンド
回路により、該フリップフロップの出力と前記第1出力
信号との論理積をとり、(e)該アンド回路の出力によ
り、前記第1先頭アドレスと第2先頭アドレスとを切替
えてマイクロプログラムルーチンの先頭アドレスを発生
させる。1 In a microprogram-controlled information processing device,
A microprogram control method that generates the start address of a microprogram routine from a macroinstruction through the following steps; (a) A microprogram routine that executes arithmetic operations of the macroinstruction from the instruction code of the macroinstruction using the first address conversion circuit. A first start address and a first output signal including information regarding whether or not the macro instruction requires address modification are output; (b) the second address conversion circuit converts the address modification code of the macro instruction into The second microprogram routine that performs the calculation of the execution address of the operand and the fetching of the operand.
Outputs the start address and (c) is set by a signal that specifies the end of the microprogram routine that executes the fetch of the macro instruction, and specifies the end of the microprogram routine that executes the calculation of the execution address of the operand and the fetch of the operand. An output is taken from the flip-flop that is reset by the signal, (d) an AND circuit calculates the AND of the output of the flip-flop and the first output signal, and (e) the output of the AND circuit determines the logical product of the first output signal. The first address and the second first address are switched to generate the first address of the microprogram routine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8828077A JPS6049935B2 (en) | 1977-07-25 | 1977-07-25 | Microprogram control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8828077A JPS6049935B2 (en) | 1977-07-25 | 1977-07-25 | Microprogram control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5423342A JPS5423342A (en) | 1979-02-21 |
JPS6049935B2 true JPS6049935B2 (en) | 1985-11-06 |
Family
ID=13938481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8828077A Expired JPS6049935B2 (en) | 1977-07-25 | 1977-07-25 | Microprogram control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6049935B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3279905D1 (en) * | 1981-04-13 | 1989-09-28 | Texas Instruments Inc | Microcomputer system |
JPS5971548A (en) * | 1982-10-18 | 1984-04-23 | Nec Corp | Microprogram controller |
JP2637070B2 (en) * | 1985-11-15 | 1997-08-06 | 富士通株式会社 | Micro instruction start address generation method |
-
1977
- 1977-07-25 JP JP8828077A patent/JPS6049935B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5423342A (en) | 1979-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0286354A2 (en) | A method and apparatus for modifying micro-instructions using a macro-instruction pipeline | |
JPS6224326A (en) | Data processor | |
JPS6049935B2 (en) | Microprogram control method | |
JPH0523447B2 (en) | ||
JPH0218729B2 (en) | ||
JP2637070B2 (en) | Micro instruction start address generation method | |
JPS58200349A (en) | Microprogram controller | |
JPH0353321A (en) | Information processor | |
JPH01271840A (en) | Microcomputer | |
JPS5927351A (en) | Data processing device | |
JPS62121543A (en) | Microprogram controller | |
JP2743947B2 (en) | Micro program control method | |
JPS6049335B2 (en) | Branch address determination method in microprogram controlled data processing equipment | |
JPS63153637A (en) | Data processor | |
JPS5999550A (en) | Microprogram controller | |
JPH0310324A (en) | Microcomputer | |
JPH04369723A (en) | Micro program controller | |
JPH04140851A (en) | Diagnostic system for information processor | |
JPS59173817A (en) | Processing method of functional operation | |
JPH0812599B2 (en) | Data processing device | |
JPS6116333A (en) | Microprocessor | |
JPH01253032A (en) | Microprogram control type processor | |
JPS6028014B2 (en) | microprocessor | |
JPS62140142A (en) | Instruction decoding device | |
JPS60107136A (en) | Information processor |