JPS62191931A - Microprogram control method - Google Patents

Microprogram control method

Info

Publication number
JPS62191931A
JPS62191931A JP61033055A JP3305586A JPS62191931A JP S62191931 A JPS62191931 A JP S62191931A JP 61033055 A JP61033055 A JP 61033055A JP 3305586 A JP3305586 A JP 3305586A JP S62191931 A JPS62191931 A JP S62191931A
Authority
JP
Japan
Prior art keywords
microprogram
address
microinstruction
subroutine
signal
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
JP61033055A
Other languages
Japanese (ja)
Other versions
JPH0673104B2 (en
Inventor
Hiroyuki Kida
博之 木田
Hideo Maejima
前島 英雄
Akihiro Katsura
晃洋 桂
Keiichi Kurakazu
倉員 桂一
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to KR1019870001165A priority Critical patent/KR950006585B1/en
Priority to JP61033055A priority patent/JPH0673104B2/en
Priority to KR870001165A priority patent/KR870008249A/en
Publication of JPS62191931A publication Critical patent/JPS62191931A/en
Publication of JPH0673104B2 publication Critical patent/JPH0673104B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To remarkably reduce the capacity of a microprogram required for executing all microinstructions by permitting plural microinstructions to call the microprogram necessary for executing the microprograms in common as a subroutine. CONSTITUTION:Plural microinstructions call and use the microprogram for executing microinstructions as a subroutine in common. When the microinstruction is stored in an instruction storage part 10, the instruction code of the microinstruction becomes a signal 10a and is inputted to the 1st address generator circuit 11. It outputs a microprogram address obtained by synthesizing the contents of the signal 10a and page information specified by a signal 14b as a signal 11a to a microprogram address register 13. A signal 11b denoting that an effective address lies in the signal 11a becomes active. At that time, the microprogram address register 13 stores the signal 11a as an effective microprogram address, and outputs the contents as a signal 13a to a microprogram memory 14.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプログラムサブルーチンを備えたマイ
クロプログラム制御方法に係り、特に、サブルーチンへ
の分岐並びにサブルーチンからの帰還を制御するに好適
なマイクロプログラム制御方法に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprogram control method equipped with a microprogram subroutine, and particularly to a microprogram control method suitable for controlling branching to a subroutine and returning from a subroutine. Regarding the method.

〔従来の技術〕[Conventional technology]

近年、MOS (Metal 0xide Sem1c
onductor)技術の著しい進歩により、集積回路
の高Q積比が進みこれに伴なって高性能かつ高機能のマ
イクロコンピュータが出現している。このような背景で
は、高集積化に伴ない論理の複雑さが生じるため、規則
的な構造の論理回路によって集積回路を実現する方法が
主流になりつつある。その1つがマイクロプログラム制
御方式である。
In recent years, MOS (Metal Oxide Sem1c
BACKGROUND ART Due to remarkable progress in onductor technology, high Q product ratios of integrated circuits have progressed, and as a result, high performance and highly functional microcomputers have appeared. Under these circumstances, as logic becomes more complex with higher integration, methods of realizing integrated circuits using logic circuits with a regular structure are becoming mainstream. One of them is a microprogram control method.

一般にマイクロプログラム制御方式を採るマイクロコン
ピュータでは、マクロ命令からこれに対応する一連のマ
イクロ命令群を導く際に、前記マイクロ命令群の先頭の
マイクロ命令のアドレスを命令デコーダによって得る方
法が採られている。
In general, in microcomputers that employ a microprogram control system, when deriving a corresponding series of microinstructions from a macroinstruction, a method is adopted in which the address of the first microinstruction in the microinstruction group is obtained using an instruction decoder. .

しかしながら、命令デコーダを用いる方式は■命令をデ
コードしマイクロプログラムアドレスを得る、 ■前記マイクロプログラムアドレスから対応するマイク
ロ命令を得る、 という2段階の操作が必要となる。命令をデコードして
マイクロプログラムアドレスを得るまでの時間は命令デ
コーダの規模によって異なるが、マイクロプログラムア
ドレスを印加してマイクロ命令を読み出すまでの時間(
以下この時間を1マイクロサイクルと呼ぶ)にほぼ匹敵
するのが通常である。即ち、マクロ命令を得てからマイ
クロ命令が読み出されるまでに2マイクロサイクル以上
必要とし、速溶性に欠ける。
However, the method using an instruction decoder requires a two-step operation: (1) decoding the instruction to obtain a microprogram address; and (2) obtaining a corresponding microinstruction from the microprogram address. The time it takes to decode an instruction and obtain the microprogram address varies depending on the size of the instruction decoder, but the time it takes to apply the microprogram address and read the microinstruction (
This time is usually approximately equal to one microcycle (hereinafter referred to as one microcycle). That is, it requires two or more microcycles from obtaining a macroinstruction to reading out a microinstruction, and thus lacks quick solubility.

一方、マイクロコンピュータは、4ピッ]−98ビツト
、16ビツト、32ビツトと機種が向上するにつれ、そ
の命令セットも機能的に強化されている。即ち。
On the other hand, as the models of microcomputers have improved from 4 bits to 98 bits, 16 bits, and 32 bits, their instruction sets have also been functionally enhanced. That is.

■演算の種類が増える。■The number of types of calculations increases.

■システムの信頼性を向上させる命令が加わる。■Instructions are added to improve system reliability.

■デバッグ等を容易にする命令が加わる。■Instructions to facilitate debugging, etc. are added.

■オペランドを指示するアドレッシングが増加する。■Addressing that specifies operands increases.

従って命令も複雑になり、それを解読する命令デコーダ
も複雑になると共にその規模も大きくなってしまう。
Therefore, the instructions become more complex, and the instruction decoder that decodes them also becomes more complex and larger in scale.

これらの問題を解決したマイクロプログラム制御方式の
1つとしてマクロ命令のコードをマイクロプログラムメ
モリのアドレスとして用いるダイレクト・マツピング方
式がある。この種の方式として関連するものには例えば
特公昭5g−8011号公報或は特開昭57−2031
41号公報等が挙げられる。
One of the microprogram control methods that solves these problems is the direct mapping method, which uses the code of a macro instruction as an address in a microprogram memory. Related methods of this type include, for example, Japanese Patent Publication No. 5G-8011 or Japanese Patent Application Laid-Open No. 57-2031.
For example, Publication No. 41 may be mentioned.

特に後者においては、マイクロ命令を得てからそれに対
応するマイクロ命令を得るまで1マイクロサイクルで実
現でき速溶性に優れたマイクロプログラム制御装置が実
現できる。
Particularly in the latter case, the process from obtaining a microinstruction to obtaining the corresponding microinstruction can be realized in one microcycle, thereby realizing a microprogram control device with excellent quick solubility.

しかしながら、一般にダイレクト・マツピング方式を採
ったマイクロプログラム記憶装置は命令デコーダを必要
とせず制御が単純になるが、マイクロプログラムを格納
するメモリ容量が増大するという欠点がある。例えば、
特公昭58−8’011号公報においてはマクロ命令に
対応する一連のマイクロ命令を読み出す際に、先頭のマ
イクロ命令を除いてはマイクロプログラムカウンタ(以
下μPCと略す)を用いて順次読み出している。従って
いくつかのマクロ命令の中で共通の処理を行なうマイク
ロ命令が存在してもそれらのマイクロ命令を異なるマク
ロ命令で共用して用いることはできず、処理内容の同じ
マイクロ命令が複数存在することになり、マイクロプロ
グラムメモリの容はの増大は避けられない。
However, although microprogram storage devices employing the direct mapping method generally do not require an instruction decoder and are simpler to control, they have the disadvantage of increasing the memory capacity for storing microprograms. for example,
In Japanese Patent Publication No. 58-8'011, when reading out a series of microinstructions corresponding to a macroinstruction, a microprogram counter (hereinafter abbreviated as μPC) is used to sequentially read out a series of microinstructions, except for the first microinstruction. Therefore, even if there are microinstructions that perform common processing among several macroinstructions, these microinstructions cannot be shared by different macroinstructions, and there may be multiple microinstructions with the same processing content. Therefore, an increase in the capacity of microprogram memory is inevitable.

一方特開昭57−203141号公報においては、いく
つかのページに分割できるページ情報を格納するページ
レジスタを設け、これを利用して共通ルーチンへの分岐
やメインルーチンへの復起を行ないながらマイクロ命令
の共通化を図っている。この方式によれば、メインルー
チンから共通ルーチンへ分岐し一連の共通処理を実行後
再びメインルーチンへ戻る場合マクロ命令の命令コード
とページ情報を戻りアドレスとしているので、異なる命
令コードのマクロ命令の処理において各々異なる共通ル
ーチンを実行した後に戻る戻り先のマイクロ命令が同じ
処理内容のものであっても共通化が図れない。即ち、処
理内容の同じマイクロ命令が複数存在することになり、
マイクロプログラムメモリの容量の増大は避けられない
On the other hand, in Japanese Unexamined Patent Publication No. 57-203141, a page register is provided to store page information that can be divided into several pages, and this is used to branch to a common routine or return to the main routine while microprocessing is performed. Efforts are being made to standardize instructions. According to this method, when branching from the main routine to a common routine and returning to the main routine again after executing a series of common processes, the instruction code and page information of the macro instruction are used as the return address, so macro instructions with different instruction codes are processed. Even if the microinstructions to which the microinstructions return after executing different common routines have the same processing content, they cannot be made common. In other words, there are multiple microinstructions with the same processing content,
An increase in the capacity of microprogram memory is inevitable.

〔発明が解決しようとする問題点3 以上述べた様に上記従来技術は、ダイレクト・マツピン
グ方式を採用し ■命令デコーダの廃除 ■マクロ命令を得てからマイクロ命令を得るまでの時間
の高速化 は達成しているものの、マイクロプログラム容量の削減
については十分な配慮がなされておらず、マイクロプロ
グラムメモリの容量が増大し、マイクロコンピュータの
コストの上昇を余儀なくさせられるという問題があった
[Problem to be Solved by the Invention 3] As mentioned above, the above-mentioned prior art adopts the direct mapping method, ■ Eliminates the instruction decoder, and ■ Speeds up the time from obtaining a macro instruction to obtaining a micro instruction. Although this has been achieved, sufficient consideration has not been given to reducing the microprogram capacity, resulting in an increase in the capacity of the microprogram memory, which inevitably increases the cost of the microcomputer.

本発明の目的は、マイクロプログラムの容量を削減せし
め、マイクロプログラムを格納するに必要なメモリ容量
を減少し、集積回路に適用した際のコストの低減を図り
得るマイクロプログラム記憶装置を提供する事にある。
An object of the present invention is to provide a microprogram storage device that can reduce the capacity of a microprogram, reduce the memory capacity required to store the microprogram, and reduce costs when applied to an integrated circuit. be.

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

上記目的を達成する為、本発明ではマクロ命令の実行の
為のマイクロプログラムの中で同じ処理内容のマイクロ
プログラムをサブルーチンとして呼び出す事ができる様
に分岐アドレスを指定できる手段を設け、更に一連のサ
ブルーチンを実行終了後に任意の番地のマイクロプログ
ラムへ分岐できる様に戻りアドレスを指定できる手段を
設けて構成し、適宜必要に応じてマクロ命令の実行の為
のマイクロプログラムを異なるマクロ命令間で共用する
様に制御している。
In order to achieve the above object, the present invention provides a means for specifying a branch address so that a microprogram with the same processing content can be called as a subroutine in a microprogram for executing a macro instruction, and further provides a means for specifying a branch address in a microprogram for executing a macro instruction. is configured with a means to specify a return address so that it can branch to a microprogram at an arbitrary address after execution is completed, and the microprogram for executing macro instructions can be shared between different macro instructions as necessary. is controlled.

〔作用〕[Effect]

本発明によれば、マクロ命令実行の為のマイクロプログ
ラムを複数のマクロ命令間でサブルーチンとして共通に
呼び出して用いる事ができるので、全てのマクロ命令実
行の為に必要なマイクロプログラムの容量を大幅に減少
する事ができるという効果がある。
According to the present invention, a microprogram for executing macro instructions can be commonly called and used as a subroutine among multiple macro instructions, so the capacity of the microprogram required for executing all macro instructions can be greatly reduced. The effect is that it can be reduced.

〔実施例〕 以下、本発明の一実施例を第1図から第13図により説
明する。
[Embodiment] An embodiment of the present invention will be described below with reference to FIGS. 1 to 13.

第1図は本発明の一実施例を示すもので。FIG. 1 shows one embodiment of the present invention.

■主記憶装置から読み出したマクロ命令を自身以外から
与えられるタイミング信号10cに同期して一時記憶す
る命令記憶部10と ■前記命令記憶部10に実行すべき命令が記憶されてい
るか否かを示す信号10b及びマイクロプログラムメモ
リ14の出力信号14bに従って、信号10a或は信号
14aのいずれか一方を必要に応じて適宜選択すると共
に、信号14bに含まれるページ情報を前記選択された
信号と結合して分岐アドレスllaを生成し、がっ分岐
アドレスllaが有効である事を示す信号11bを生成
する第1のアドレス生成回路11と、 ■マイクロプログラムサブルーチンを実行後メインルー
チンへ復帰する際の戻り先アドレスを生成するに必要な
情報を記憶し7、記憶した内容と信号24aと14b及
び14cに基づいて復帰の際の戻り先アドレス12aを
生成する第2のアドレス生成回路12と ■前記第1のアドレス生成回路11の出力11.a或は
前記第2のアドレス生成回路12の出力12aのいずれ
か一方を信号14bに従って必要に応じて適宜選択して
一時記憶するマイクロプログラムアドレスレジスタ13
と、 ■マクロ命令を実行するためのマイクロプログラムを格
納し、マイクロプログラムアドレスレジスタ13の出力
13aに従って順次マイクロプログラムメモリ14から
成る。
■ An instruction storage section 10 that temporarily stores macro instructions read from the main memory in synchronization with a timing signal 10c given from a source other than the main memory; and ■ Indicates whether the instruction storage section 10 stores an instruction to be executed. According to the signal 10b and the output signal 14b of the microprogram memory 14, either the signal 10a or the signal 14a is selected as necessary, and the page information included in the signal 14b is combined with the selected signal. A first address generation circuit 11 that generates a branch address lla and generates a signal 11b indicating that the branch address lla is valid; ■ A return destination address when returning to the main routine after executing a microprogram subroutine; a second address generation circuit 12 that stores information necessary to generate the address 7 and generates a return destination address 12a upon return based on the stored contents and signals 24a, 14b, and 14c; Output 11 of generation circuit 11. a, or the output 12a of the second address generation circuit 12, as appropriate according to the signal 14b, and temporarily stores the selected one.
and (2) A microprogram memory 14 stores microprograms for executing macro instructions and sequentially stores microprograms in accordance with the output 13a of the microprogram address register 13.

さて、命令記憶部10にマクロ命令が格納されると、前
記マクロ命令の命令コードが信号10aとなって第1の
アドレス生成回路上1に入力される。同時に命令記憶部
10に実行すべき命令が記憶されているか否かを示す信
号1. Obが実行すべき命令を記憶している事を示す
第1の論理レベルとなる。これを受けて第1のアドレス
生成部11は信号14bで指定するページ情報と信号1
0aの内容を合成したマイクロプログラムアドレスを信
号1 ]、 aとしてマイクロプログラムアドレスレジ
スタ13へ出力する。また、信号11aに有効なアドレ
スが存在する事を示す信号11bがアクティブになる。
Now, when a macro instruction is stored in the instruction storage section 10, the instruction code of the macro instruction becomes a signal 10a and is input to the first address generation circuit 1. At the same time, a signal 1 indicating whether or not an instruction to be executed is stored in the instruction storage unit 10. This is the first logic level indicating that Ob stores an instruction to be executed. In response to this, the first address generation unit 11 generates the page information specified by the signal 14b and the signal 1.
The microprogram address obtained by synthesizing the contents of 0a is output to the microprogram address register 13 as a signal 1],a. Further, a signal 11b indicating that a valid address exists in the signal 11a becomes active.

この時マイクロプログラムアドレスレジスタ13では、
信号11aを有効なマイクロプログラムアドレスとして
格納し、その内容を信号13aとしてマイクロプログラ
ムメモリ14に出力する6マイクロプログラムメモリは
信号13aの内容に従って第1番目の処理を指定するマ
イクロ命令14Mを出力する。以下第2番目以降のマイ
クロ命令は前記マイクロ命令14Mに含まれる次アドレ
ス指定情報14a、14b及び14cの内容に従って読
み出される。
At this time, in the microprogram address register 13,
The 6 microprogram memory stores the signal 11a as a valid microprogram address and outputs the contents as the signal 13a to the microprogram memory 14, which outputs a microinstruction 14M specifying the first process according to the contents of the signal 13a. The second and subsequent microinstructions are read out according to the contents of the next addressing information 14a, 14b, and 14c included in the microinstruction 14M.

第2図は主記憶装置(図示されていない)から読み出さ
れ命令情報部に格納されるマクロ命令の命令形式を示し
たものである。命令形式は以下の3つに大別される。
FIG. 2 shows the instruction format of a macro instruction read from the main memory (not shown) and stored in the instruction information section. The command format is roughly divided into the following three types.

(1)0アドレス命令(実効アドレス指定子を必要とし
ない命令) 分岐先の位置(ブランチ先のアドレス)やオペランド(
オペレーションの対象となるデータ)の格納位置を示す
必要のない命令或はオペランドの格納位置を指定する手
段が暗黙的にオペレーションコードに含まれており実効
アドレス指定子を必要としない命令−NOP、RTS、
BRA、TRAP命令等 (2)1アドレス命令(実効アドレス指定子を1つだけ
必要とする命令) 分岐先の位置或はオペランドの格納位置を1つだけ示す
必要のある命令−JMP、NEG、CLR。
(1) 0-address instructions (instructions that do not require an effective address specifier) Branch destination location (branch destination address) and operand (
Instructions that do not require an effective address specifier because the operation code implicitly includes means for specifying the storage location of operands (NOP, RTS) ,
BRA, TRAP instructions, etc. (2) 1-address instructions (instructions that require only one effective address specifier) Instructions that require only one branch destination location or operand storage location - JMP, NEG, CLR .

NOT、JSR命令等 (3)2アドレス命令(実効アドレス指定子を2つ必要
とする命令) 演算の対象となるオペランドが2つあり、各々の格納位
置を示すため2つの実効アドレス指定子ヲモツ命令−A
DD、AND、MOV、B ITD。
NOT, JSR instructions, etc. (3) Two-address instructions (instructions that require two effective address specifiers) There are two operands to be operated on, and two effective address specifiers are used to indicate the storage location of each operand. -A
DD, AND, MOV, B ITD.

5FTD、MULS命令等 第3図はオペレーションコード表を示したものである。5FTD, MULS instruction, etc. FIG. 3 shows an operation code table.

オペレーションコードはバイ1−(8ビツト)単位を基
調として構成されているが、第3図は特に第1バイト目
のオペレーションコードと命令(二一モニツクで表現す
る)の関係について示す。
The operation code is constructed based on a byte (8 bits) unit, and FIG. 3 particularly shows the relationship between the operation code of the first byte and an instruction (expressed in a 21 monic).

命令によって必要に応じて第2バイト以上の拡張バイト
オペレーションコードを持つが第3図には省略されてい
る。
An extended byte operation code for the second byte or higher is provided as necessary depending on the instruction, but it is omitted in FIG.

第4図は実効アドレス指定子のコードと内容について示
したものである。実効アドレス指定子はバイト単位を基
調として構成されており、必要に応じて拡張バイト実効
アドレス指定子が付加される。例えばNα7に示すスケ
ーリング付レジスタ間接アドレッシングモードでは指定
されたサイズ(バイト(8ビツト、ワード(16ビツト
)、ロングワード(32ビツト))分の大きさを持つデ
ィスプレイスメントが拡張される。また、1アドレス命
令と2アドレス命令の各実効アドレス指定子の内容は全
て同じである。
FIG. 4 shows the code and contents of the effective address specifier. The effective address specifier is configured based on byte units, and an extended byte effective address specifier is added as necessary. For example, in the register indirect addressing mode with scaling shown in Nα7, the displacement having the specified size (byte (8 bits, word (16 bits), long word (32 bits)) is expanded. The contents of each effective address specifier of the address instruction and the two-address instruction are all the same.

ここで、マクロ命令の1つであるADD命令(加算命令
)を例に挙げて本実施例のマイクロプログラム制御方法
及び装置の動作について更に詳細に説明する。
Here, the operation of the microprogram control method and apparatus of this embodiment will be explained in more detail by taking the ADD instruction (addition instruction), which is one of the macro instructions, as an example.

ADD命令は2つの実効アドレス指定子(オペランド指
定子と呼ぶ事もある。)で導かれる2つのオペランドを
加算し、第2の実効アドレス指定子で示す格納位置へ演
算結果を格納する命令である。今、第1の実効アドレス
指定子がイミデイエトバイトアドレッシングモードを示
し、第2の実効アドレス指定子がレジスタ間接アドレッ
シングモードを示したとする。本実施例では汎用レジス
タの数を16と定め、該汎用レジスタの1つを指定する
為4ピツ1−のコードをレジスタ番号として用いている
。従って前記ADD命令の命令コードは第5図の如くな
る。
The ADD instruction is an instruction that adds two operands derived by two effective address specifiers (sometimes called operand specifiers) and stores the operation result in the storage location indicated by the second effective address specifier. . Now assume that the first effective address specifier indicates immediate byte addressing mode and the second effective address specifier indicates register indirect addressing mode. In this embodiment, the number of general-purpose registers is set to 16, and a code of 4 pins 1- is used as a register number to designate one of the general-purpose registers. Therefore, the instruction code of the ADD instruction is as shown in FIG.

即ち、この場合のADD命令はオペレーションコードが
1バイト、第1の実効アドレス指定子が1バイトと第1
の実効アドレス指定子が導くイミデイエトオペランドが
1バイト、第2の実効アドレス指定子が1バイトとなっ
ており、合計4バイトの命令コードで楕成される。
That is, the ADD instruction in this case has an operation code of 1 byte, a first effective address specifier of 1 byte, and a first effective address specifier of 1 byte.
The immediate operand guided by the effective address specifier is 1 byte, the second effective address specifier is 1 byte, and the instruction code is composed of a total of 4 bytes.

第5図において、8ビツトのイミデイエト値が(011
01101) 2であり、4ビツトのレジスタ番号が”
0101.”  (5番)である時、ADD命令実行前
のレジスタとメモリモデル及びADD命令命令実行−ジ
スタとメモリモデルは第6図の如くなる。第6図は第1
の実効アドレス指定子で指定されたオペランドである1
バイトのイミデイエト値(6D)zeを第1のオペラン
ドとし、第2の実効アドレス指定子で指定された5番の
レジスタ(R5)の内容(00263111H2) t
eをアドレスとするメモリの内容(54)leを第2オ
ペランドとして両者のオペランドを加算してその結果で
ある(C2)1(lを(002638E2) zθ番地
のメモリへ転送する様子を示したものである。
In Figure 5, the 8-bit immediate value is (011
01101) 2, and the 4-bit register number is "
0101. ” (No. 5), the registers and memory model before executing the ADD instruction and the registers and memory model before executing the ADD instruction are as shown in Figure 6.
1, which is the operand specified by the effective address specifier of
With the byte immediate value (6D) ze as the first operand, the contents of register No. 5 (R5) specified by the second effective address specifier (00263111H2) t
The contents of the memory with address e (54) le as the second operand, and the result of adding both operands (C2) 1(l) is shown to be transferred to the memory at address zθ (002638E2) It is.

このADD命令が実行される為には、第1のオペランド
(6D)1Bをプログラムで指定しておき、また第2の
オペランド(54)1eを前記ADD命令が実行される
以前に予め(002638E2) 18番地のメモリに
与えておく必要がある。
In order to execute this ADD instruction, the first operand (6D) 1B must be specified in the program, and the second operand (54) 1e must be specified (002638E2) in advance before the ADD instruction is executed. It is necessary to assign it to the memory at address 18.

第7図は、前記ADD命令を実行する為のマイクロプロ
グラムを示したものであり、1ステツプ毎に順次実行す
べきマイクロ命令を記憶しである。
FIG. 7 shows a microprogram for executing the ADD instruction, which stores microinstructions to be executed sequentially for each step.

主な内容は以下の通りである。The main contents are as follows.

1、ADD−B (1)オペランドサイズがバイトである事を宣1゜(2
)プログラムカウンタのインクリメント(3)サブルー
チンから帰還後にA D 0.1のマイクロ命令を実行
する事を宣言し、ページ1101 IIと第1の実効ア
ドレス指定子の第1バイト目のコード”0111000
1”を結合したコードを分岐アドレスとして第1オペラ
ンドを得る為のサブルーチンをコール 2、EADB (1)プログラムカウンタのインクリメント(2)第1
オペランドを得る為のサブルーチンとしてコールされた
か否かをチェックし、前者ならEADB 13ヘジヤン
プ、後者ならIEADB12ヘジャンプ 3、EADB13 (1)プログラムカウンタのインクリメント(2)命令
記憶部10に一時記憶された第1オペランド(8ビツト
のイミデイエト)をレジスタD I3 Rへ転送 (3)EADBIIへ無条件ジャンプ 4、EADBII (1)レジスタDBRに格納されたデータの符号拡張 (2)メインルーチン(ADDI)ヘリターン5、AD
I)L (1)レジスタDBRの内容(第1オペランド)をレジ
スタTROへ転送 (2)フリップ・フロップTIFのセット(3)サブル
ーチンから帰還後にADDllのマイクロ命令を実行す
る事を宣言し、ページ1101 IIと第2の実効アド
レス指定子の第1バイト目のコード“00000101
”を結合したコードを分岐アドレスとして第2オペラン
ドを得る為のサブルーチンをコール 6、EARI (1)実効アドレス指定子で指定された汎用レジスタR
ISの内容をリード(この内容はDBRへ転送される) (2)プログラムカウンタのインクリメン1〜(3)E
ARIOIへ無条件ジャンプ 7.1’:ARIOI (1)レジスタD B Rの内容をレジスタDFP及び
TRIへ転送 (2)EARX21へ無条件ジャンプ 8、EARX21 (1)第2オペランドの格納されているメモリの内容を
リード(この内容はDBRへ転送される) (2)ライ1−するデスティネーションがメモリである
(レジスタでない)事を宣言 (3)メインルーチン(ADDII)ヘリターン9、A
DDll (1)レジスタDRRの内容(第2オペランド)とレジ
スタTROの内容(第1オペランド)を加算し、結果を
レジスタDBWに転送(2)加算結果のスティタス(キ
ャリー、符号。
1. ADD-B (1) Declare that the operand size is bytes.
) Increment the program counter (3) Declare that microinstruction A D 0.1 will be executed after returning from the subroutine, and set the code "0111000" in the first byte of page 1101 II and the first effective address specifier.
Call the subroutine to obtain the first operand using the code concatenated with "1" as the branch address 2, EADB (1) Increment the program counter (2) The first
Check whether it was called as a subroutine to obtain an operand. If the former, jump to EADB 13; if the latter, jump to IEADB 12, EADB 13. Transfer operand (8-bit immediate) to register DI3R (3) Unconditional jump to EADBII 4, EADBII (1) Sign extension of data stored in register DBR (2) Return to main routine (ADDI) 5, AD
I)L (1) Transfer the contents of register DBR (first operand) to register TRO (2) Set flip-flop TIF (3) Declare that microinstruction ADDll will be executed after returning from the subroutine, and page 1101 II and the code of the first byte of the second effective address specifier “00000101
6.Call the subroutine to obtain the second operand using the code concatenated with `` as the branch address6, EARI (1) General-purpose register R specified by the effective address specifier
Read the contents of the IS (this contents will be transferred to the DBR) (2) Increment the program counter 1 to (3) E
Unconditional jump to ARIOI 7.1': ARIOI (1) Transfer the contents of register DBR to registers DFP and TRI (2) Unconditional jump to EARX21 8, EARX21 (1) Memory where the second operand is stored (This content is transferred to DBR) (2) Declare that the destination to write is memory (not a register) (3) Return to main routine (ADDII) 9, A
DDll (1) Adds the contents of register DRR (second operand) and the contents of register TRO (first operand) and transfers the result to register DBW (2) Status (carry, sign) of the addition result.

セロ、オーバーフロー等)をコンディションコートレジ
スタへ転送 (3) WRITEへ無条件ジャンプ to、 WRI T E (+)レジスタDBWの内容をデスティネーションオペ
ランドとしてライト(この場合はHARX21でデステ
ィネーションがメモリであると宣言されている) (2)各フリップ・フロップのイニシャライズ(3)割
り込みチェック (4)ページ” o o ”と命令記憶部10にフェッ
チされた次の命令のオペレーションコードの第1バイト
目の8ビツトコード(第3図に示すコード)を結合した
コードを分岐アドレスとして命令実行の為の第1番目の
マイクロ命令へ無条件ジャンプ 第8図はマイクロプログラムメモリ14のアドレスに対
するマイクロ命令の割り付けを示したものである。
Transfer (cello, overflow, etc.) to the condition code register (3) Unconditionally jump to WRITE, WRI T E (+) Write the contents of register DBW as the destination operand (in this case, if the destination is memory in HARX21) (2) Initialization of each flip-flop (3) Interrupt check (4) Page “o o” and the 8-bit code of the first byte of the operation code of the next instruction fetched into the instruction storage unit 10 (The code shown in Figure 3) is used as a branch address to unconditionally jump to the first microinstruction for instruction execution. Figure 8 shows the assignment of microinstructions to addresses in the microprogram memory 14. It is.

マイクロプログラムメモリ14の物理アドレスは10ビ
ツトであり、メモリの最大容量は1024ワード(1ワ
ードは45ビツト)となっている。アドレスの上位2ビ
ツトはページであり、このページによって1024ワー
ドのメモリを4分割している為、メモリとしては256
ワードのメモリを4ページ分備えたものに匹敵する。ア
ドレスの下位8ビツトの指定の方法はページ毎に異なっ
ており、次の様になっている。
The physical address of the microprogram memory 14 is 10 bits, and the maximum capacity of the memory is 1024 words (one word is 45 bits). The upper two bits of the address are the page, and the page divides the 1024 word memory into four, so the memory is 256 words.
This is equivalent to having four pages of word memory. The method of specifying the lower 8 bits of the address differs from page to page, and is as follows.

(1)”00”ページの下位8ビツトのアドレスの指定
方法: オペレーションコードの第1バイト目のコードを直)要
用いる。
(1) Method of specifying the address of the lower 8 bits of the "00" page: The code of the first byte of the operation code must be used directly.

(2)  ” 01 ”ページの下位8ビツトのアドレ
スの指定方法: 第1の実効アドレス指定子或は第2の実効アドレス指定
子の各々第一バイト目のコードを用いる。
(2) Method of specifying the address of the lower 8 bits of the "01" page: The code of the first byte of each of the first effective address specifier or the second effective address specifier is used.

(3)“10″或は111111ページの下位8ビツト
のアドレスの指定方法: マイクロ命令で指定した分岐制御フィールドの内容の一
部(8ビツト)を用いる。
(3) Method of specifying the address of the lower 8 bits of page "10" or 111111: A part (8 bits) of the contents of the branch control field specified by the microinstruction is used.

即ち、第7図のADD命令の実行の為のマイクロ命令を
例にとれば、各々のページに実装されるマイクロ命令は
第8図の如くなる。また各ページ毎の256ワードのメ
モリ領域の用途も以下の様に分類している。
That is, taking the microinstructions for executing the ADD instruction shown in FIG. 7 as an example, the microinstructions implemented in each page are as shown in FIG. The usage of the 256 word memory area for each page is also classified as follows.

(1)”00”ページのメモリ領域の用途マクロ命令実
行用のエン1−リマイクロ命令(マクロ命令実行の際に
最初に読み出すマイクロ命令)記憶領域 (2)11Q1uページのメモリ領域の用途実効アドレ
ス計算用サブルーチンのマイクロ命令記憶領域 (3)“10″或は“11″ページのメモリ領域の用途
ワークマイクロ命令記憶領域 本実施例のマイクロ命令は1ワードが45ビツトで構成
されており、主にマクロ命令実行の為の演算を制御する
演算制御フィールド(32ビツト)と次に実行すべきマ
イクロ命令のアドレスを制御する分岐制御フィールド(
13ビツト)から成る。
(1) Usage of the memory area of the "00" page En1-Re-microinstruction (microinstruction read first when executing a macroinstruction) storage area for macro instruction execution (2) Usage of the memory area of the 11Q1u page Effective address Microinstruction storage area for calculation subroutines (3) Usage of memory area of "10" or "11" page Work microinstruction storage area The microinstructions in this example consist of 1 word of 45 bits, and are mainly An operation control field (32 bits) that controls operations for executing macro instructions, and a branch control field (32 bits) that controls the address of the next micro instruction to be executed.
(13 bits).

第9図はマイクロ命令フォーマットを示したものであり
、特に分岐制御フィールドの内容を詳細に示しである。
FIG. 9 shows the microinstruction format, particularly the contents of the branch control field in detail.

この分岐制御フィールドと第1図の信号14a、14b
、24aの関係は図示した如くである。分岐制御フィー
ルドは次の様に大別される。
This branch control field and the signals 14a and 14b in FIG.
, 24a are as shown in the figure. Branch control fields are broadly classified as follows.

(1) J ump : ビット9.8をページ情報すると共にピッ1〜7〜0を
下位8ビツトのアドレスとする任意のマイクロ命令へ無
条件ジャンプする。
(1) Jump: Unconditionally jumps to an arbitrary microinstruction with bits 9.8 as page information and bits 1-7-0 as the lower 8-bit address.

(2)RTN: サブルーチンの終了を示すマイクロ命令であり、戻りア
ドレスはマイクロプログラムアドレススタックの内容を
用い、必要に応じてアドレスの下位2ビット1. O(
A−1,A−0)に置換される。
(2) RTN: This is a microinstruction that indicates the end of a subroutine.The contents of the microprogram address stack are used as the return address, and the lower two bits 1. O(
A-1, A-0).

(3)PC+1: マイクロプログラムアドレスレジスタの内容をインクリ
メントした値をアドレスとするマイクロ命令へ無条件ジ
ャンプする。
(3) PC+1: Jump unconditionally to the microinstruction whose address is the value obtained by incrementing the contents of the microprogram address register.

(4) Ca1l: ワーク領域の任意のアドレスのマイクロ命令をコールす
る。帰還後のマイクロ命令のアドレスとしてコールをし
たマイクロ命令のアドレスをインクリメントした値をマ
イクロプログラムアドレススタックに格納する。
(4) Ca1l: Calls a microinstruction at an arbitrary address in the work area. A value obtained by incrementing the address of the called microinstruction is stored in the microprogram address stack as the address of the microinstruction after returning.

(5)EA: 第1実効アドレス指定子の第1バイト目のコードを下位
8ビツトアドレスとするページ″01”のメモリ領域の
マイクロ命令をコールする。任意のアドレスのマイクロ
命令へ帰還できる様にビット9,8をページ情報としビ
ット7〜0を下位8ピッ1−アドレスとしてマイクロプ
ログラムアドレススタックに格納する。
(5) EA: Calls a microinstruction in the memory area of page "01" whose lower 8-bit address is the code of the first byte of the first effective address specifier. Bits 9 and 8 are used as page information, and bits 7 to 0 are stored in the microprogram address stack as the lower 8 pins 1-address so that it can be returned to the microinstruction at any address.

(6)○PJ: 第1.オペレーションコードを下位8ビツトアドレスと
するページ″’ o o ”のメモリ領域のマイクロ命
令へ無条件ジャンプする。
(6)○PJ: 1st. Unconditionally jumps to the microinstruction in the memory area of page "'o o" whose operation code is the lower 8-bit address.

(7)EAJ: 第1実行アドレス指定子の第1バイト目のコードを下位
8ビツトアドレスとするページII OI I+のメモ
リ領域のマイクロ命令へ無条件ジャンプする。
(7) EAJ: Unconditionally jump to the microinstruction in the memory area of page II OI I+ whose lower 8-bit address is the code of the first byte of the first execution address specifier.

(8)EA¥A; 第2実効アドレス指定子の第1バイト目のコードを下位
8ビツトアドレスとするページ“01″のメモリ領域の
マイクロ命令をコールする。任意のアドレスのマイクロ
命令へ帰還できる様にビット9,8をページ情報としビ
ット7〜0を下位8ビツトアドレスとしてマイクロプロ
グラムアドレススタックに格納する。
(8) EA\A; Calls the microinstruction in the memory area of page "01" whose lower 8-bit address is the code of the first byte of the second effective address specifier. Bits 9 and 8 are used as page information and bits 7 to 0 are used as a lower 8-bit address to be stored in the microprogram address stack so that it can be returned to the microinstruction at any address.

(9)EA−A: 第2実効アドレス指定子の第1バイト目のコードを下位
8ビツトアドレスとするページ“01″のメモリ領域の
マイクロ命令をコールする。帰還アドレスとしてマイク
ロプログラムアドレスレジスタの内容をインクリメント
した値をマイクロプログラムスタックに格納する。
(9) EA-A: Calls a microinstruction in the memory area of page "01" whose lower 8-bit address is the code of the first byte of the second effective address specifier. The value obtained by incrementing the contents of the microprogram address register is stored in the microprogram stack as a return address.

第10図は戻りアドレスを与える第2のアドレス生成回
路を示したものであり、 (1)サブルーチンコールの際に戻りアドレスを一時記
憶するマイクロプログラムアドレススタック21と (2)前記マイクロプログラムアドレススタック21を
信号14bに従って制御するスタック制御回路22と (3)戻りアドレスとしてマイクロプログラムアドレス
レジスタを更新した信号L3b或はマイクロ命令の分岐
制御でフィールで指定された信号14aのいずれか一方
を適宜選択するマルチプレクサ26と (4)信号14cに基づいて制御されるフリップ・フロ
ップ23と (5)前記フリップ・フロップ23の出力23aに従っ
て信号24aか信号21aのいずれか一方を選択するマ
ルチプレクサ24と (6)前記マルチプレクサ24の出力24bと信号21
bを結合する結合回路25 からなる。
FIG. 10 shows a second address generation circuit that provides a return address, and includes (1) a microprogram address stack 21 that temporarily stores a return address when a subroutine is called; and (2) the microprogram address stack 21. and (3) a multiplexer that appropriately selects either the signal L3b that updates the microprogram address register as the return address or the signal 14a specified by the field in microinstruction branch control. 26, (4) a flip-flop 23 controlled based on the signal 14c, (5) a multiplexer 24 that selects either the signal 24a or the signal 21a according to the output 23a of the flip-flop 23, and (6) the multiplexer. 24 output 24b and signal 21
It consists of a coupling circuit 25 for coupling b.

第11図においてフリップ・フロップ23はサブルーチ
ンからメインルーチンへ帰還する際にマイクロプログラ
ムアドレススタック21に格納されていた戻りアドレス
の下位2ビツトである信号21aとメインルーチンへ復
起を指定したマイクロ命令の分岐制御フィールドの一部
である信号24aのいずれか一方を選択するマルチプレ
クサ24と制御する。即ち、信号23aが第1の論理レ
ベルの時マルチプレクサ24は信号21aを選択し、第
2の論理レベルの時信号24aを選択する。従ってメイ
ンルーチンでフリップ・フロップ23を第2の論理レベ
ルに指定した上でサブルーチンへ分岐した後メインルー
チンへの復起を行うと4種類の異なるアドレスのマイク
ロ命令へ帰還できる。
In FIG. 11, when returning from the subroutine to the main routine, the flip-flop 23 receives the signal 21a, which is the lower two bits of the return address stored in the microprogram address stack 21, and the microinstruction that specified the return to the main routine. It is controlled with a multiplexer 24 that selects one of the signals 24a that are part of the branch control field. That is, when the signal 23a is at the first logic level, the multiplexer 24 selects the signal 21a, and when the signal 23a is at the second logic level, the multiplexer 24 selects the signal 24a. Therefore, by specifying the flip-flop 23 at the second logic level in the main routine, branching to the subroutine, and then returning to the main routine, it is possible to return to microinstructions at four different addresses.

本実施例ではサブルーチンコールの際の下位8ピツ1〜
アドレスとしてマクロ命令の実効アドレス指定子のコー
ドを用いているので最大256の多分岐ができる。また
前記フリップ・フロップ23を必要に応じて制御する事
で実効アドレス計算用のサブルーチン実行終了後に帰還
するメインルーチンを実効アドレス指定子に応じていく
つかのグルプに別けることができる。
In this embodiment, the lower 8 pits 1 to 1 when making a subroutine call
Since the code of the effective address specifier of the macro instruction is used as the address, a maximum of 256 multi-branches are possible. Furthermore, by controlling the flip-flop 23 as necessary, the main routine to which the program returns after execution of the subroutine for calculating the effective address can be divided into several groups according to the effective address specifier.

第11図はマクロ命令の1つであるJMP命令で許され
る実効アドレスモードと命令処理の手順を示したもので
ある。メインルーチンで指定した戻りアドレスは全ての
実効アドレス計算用のサブルーチンへのコールに際して
同じ値であるが、帰還の際にサブルーチンの最後のマイ
クロ命令で戻りアドレスの一部を指定できるので、例え
ば第11図で示す様に実効アドレスモードとして許可し
ないモードが存る場合は未定義命令(或は不当命令)と
して特別な処理を行う必要が生じても他の処理ルーチン
へ容易に分岐することが可能である。従って未定義命令
を解読する特別な命令デコーダを不要となる6 第12図はマイクロプログラムメモリ14の構成を示し
たものである。本実施例ではリードオンリーメモリ (
ROM)の例を示している。
FIG. 11 shows the effective address modes and instruction processing procedures allowed by the JMP instruction, which is one of the macro instructions. The return address specified in the main routine has the same value when calling all subroutines for effective address calculation, but when returning, part of the return address can be specified in the last microinstruction of the subroutine. As shown in the figure, if there is a mode that is not permitted as an effective address mode, it is possible to easily branch to another processing routine even if it becomes necessary to perform special processing as an undefined instruction (or an illegal instruction). be. Therefore, there is no need for a special instruction decoder for decoding undefined instructions.6 FIG. 12 shows the configuration of the microprogram memory 14. In this example, read-only memory (
ROM) is shown.

第13図はマイクロプログラムメモリ14の各信号のタ
イミングチャートを示したものである。
FIG. 13 shows a timing chart of each signal of the microprogram memory 14.

マイクロプログラムアドレス13aを得てから、マイク
ロ命令14Mが出力されるまで1マイクロサイクル(基
本クロックで1サイクル相当)必要とする事がわかる。
It can be seen that one microcycle (equivalent to one cycle of the basic clock) is required from the time the microprogram address 13a is obtained until the microinstruction 14M is output.

〔発明の効果〕〔Effect of the invention〕

以上述べた様に本発明によれば、マクロ命令実行の為の
マイクロプログラムを複数のマクロ命令間でサブルーチ
ンとして共通に呼び出して用いる事ができるので、全て
のマクロ命令実行の為に必要なマイクロプログラムの容
量を大幅に減少する事ができる。
As described above, according to the present invention, a microprogram for executing a macro instruction can be commonly called and used as a subroutine among multiple macro instructions. capacity can be significantly reduced.

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

第1図はマイクロプログラム記憶装置を示す図、第2図
はマクロ命令のフォーマットを示す図、第3図はマクロ
命令のオペレーションコードを示す図、第4図は実効ア
ドレス指定子のアドレッシングモードと内容を示した図
、第5図から第7図はADD命令の処理内容を説明した
図、第8図はマイクロプログラムメモリの領域毎の用途
を示した図、第9図はマイクロ命令フォーマットを示し
た図、第10図は第2のアドレス生成回路の詳細を示す
図、第11図はJMP命令の例を示す図、第12図はマ
イクロプログラムメモリの構成を示す図、第13図はマ
イクロプログラムメモリの動作タイミングチャートを示
す図。 11・・第1のアドレス生成回路、12・・・第2のア
ドレス生成回路、21・・・マイクロプログラムアドレ
ススタック、13・・・マイクロプログラムアドレ訃1
圀 盛2閃 (1)  θアトしス苧令 潟 2の (Z)17ドU又4シン 寮2の (3)   ムアドレスキや 猶 4目 (ユノ 第4 ’J C1−) 第4の (C) 第5(2] 第&=口 4−32ビ・汁吟      4−3ピット−悟 (0
図 手続補正書(自発)
Figure 1 shows the microprogram storage device, Figure 2 shows the format of the macro instruction, Figure 3 shows the operation code of the macro instruction, and Figure 4 shows the addressing mode and contents of the effective address specifier. Figures 5 to 7 are diagrams explaining the processing contents of the ADD instruction, Figure 8 is a diagram showing the usage of each area of microprogram memory, and Figure 9 is a diagram showing the microinstruction format. 10 is a diagram showing details of the second address generation circuit, FIG. 11 is a diagram showing an example of the JMP instruction, FIG. 12 is a diagram showing the configuration of the microprogram memory, and FIG. 13 is a diagram showing the microprogram memory. The figure which shows the operation timing chart of. DESCRIPTION OF SYMBOLS 11...First address generation circuit, 12...Second address generation circuit, 21...Microprogram address stack, 13...Microprogram address 1
Kunimori 2 Sen (1) θ Atoshisu Reiigata 2 no (Z) 17 do Umata 4 Shinryo 2 no (3) Muadre Suki Ya Yu 4th (Yuno No. 4 'J C1-) 4th (C ) 5th (2) 4-32 Bi-Jiugin 4-3 Pit-Satoru (0
Illustration procedure amendment (voluntary)

Claims (1)

【特許請求の範囲】 1、命令及びオペランドを記憶する主記憶装置を付加的
に含むコンピュータシステムにおいて、マイクロプログ
ラムサブルーチンに分岐する為のマイクロプログラムア
ドレスが与えられると前記マイクロプログラムサブルー
チンに分岐することができるマイクロプログラム制御装
置であって、 a、前記主記憶装置から読み出された命令を記憶する命
令記憶部と、 b、マイクロプログラムメインルーチンをマイクロプロ
グラムサブルーチンへ分岐させるマイクロ命令を含むマ
イクロプログラムを格納するマイクロプログラム格納手
段と、 c、前記マイクロプログラム格納手段に接続し得て、前
記マイクロプログラム格納手段に格納されているマイク
ロ命令の格納位置を示すアドレスを一時記憶するマイク
ロプログラムアドレスレジスタと、 d、前記マイクロプログラム格納手段と前記命令記憶部
に接続し得て、マイクロプログラムサブルーチンに分岐
する為の分岐アドレスをマイクロプログラムアドレスレ
ジスタへ与える第1の手段と、 e、前記マイクロプログラム格納手段と前記マイクロプ
ログラムアドレスレジスタに接続し得て、前記マイクロ
プログラムサブルーチンから戻るべきメインルーチンの
マイクロ命令の格納位置を示す帰還アドレスを与える第
2の手段 から成り分岐アドレスを与える前記第1の手段では前記
命令記憶部の内容と前記サブルーチンへ分岐させるマイ
クロ命令のアドレスフィールドの内容とのいずれか一方
を該マイクロ命令に従って適宜切り換えて選択して前記
マイクロプログラムアドレスレジスタへ与えるべきアド
レスとし、帰還アドレスを与える前記第2の手段では、
前記第1の手段で前記命令記憶部の内容を選択した場合
に前記サブルーチンへ分岐させるマイクロ命令を有する
アドレスフィールドの内容を前記サブルーチンから前記
メインルーチンへ戻る為の帰還アドレスを生成するに必
要な情報として一時記憶しておき、サブルーチンの終了
を示すマイクロ命令が与えられた時、前記一時記憶した
情報に従ってメインルーチンへ帰還する様に制御した事
を特徴とするマイクロプログラム制御方法。
[Scope of Claims] 1. In a computer system that additionally includes a main memory for storing instructions and operands, when a microprogram address for branching to a microprogram subroutine is given, it is possible to branch to the microprogram subroutine. A microprogram control device comprising: a. an instruction storage section for storing instructions read from the main memory; and b. storing a microprogram including a microinstruction for branching a microprogram main routine to a microprogram subroutine. c. a microprogram address register connectable to the microprogram storage means and temporarily storing an address indicating a storage location of a microinstruction stored in the microprogram storage means; d. a first means connectable to the microprogram storage means and the instruction storage section for providing a branch address for branching to a microprogram subroutine to a microprogram address register; e. the microprogram storage means and the microprogram; a second means connectable to an address register for providing a return address indicating a storage location of a microinstruction of a main routine to be returned from the microprogram subroutine; the first means for providing a branch address; the second means for appropriately switching and selecting one of the content and the content of the address field of the microinstruction for branching to the subroutine according to the microinstruction as an address to be provided to the microprogram address register, and providing a return address; So,
information necessary to generate a return address for returning from the subroutine to the main routine the contents of an address field having a microinstruction to branch to the subroutine when the contents of the instruction storage section are selected by the first means; 1. A microprogram control method, characterized in that the information is temporarily stored as a subroutine, and when a microinstruction indicating the end of a subroutine is given, control is performed so as to return to the main routine according to the temporarily stored information.
JP61033055A 1986-02-19 1986-02-19 Micro program controller Expired - Lifetime JPH0673104B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019870001165A KR950006585B1 (en) 1986-02-19 1986-02-19 Micro program control apparatus and control method thereof
JP61033055A JPH0673104B2 (en) 1986-02-19 1986-02-19 Micro program controller
KR870001165A KR870008249A (en) 1986-02-19 1987-02-12 Micro Program Controller and Control Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61033055A JPH0673104B2 (en) 1986-02-19 1986-02-19 Micro program controller

Publications (2)

Publication Number Publication Date
JPS62191931A true JPS62191931A (en) 1987-08-22
JPH0673104B2 JPH0673104B2 (en) 1994-09-14

Family

ID=12376073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61033055A Expired - Lifetime JPH0673104B2 (en) 1986-02-19 1986-02-19 Micro program controller

Country Status (2)

Country Link
JP (1) JPH0673104B2 (en)
KR (2) KR950006585B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102095224B1 (en) * 2018-02-09 2020-03-31 엘에스산전 주식회사 Apparatus for providing program and cpu module processing execution of the program of the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5831453A (en) * 1981-08-18 1983-02-24 Nec Corp Controlling device for microprogram
JPS58181147A (en) * 1982-04-16 1983-10-22 Nec Corp Microprogram controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5831453A (en) * 1981-08-18 1983-02-24 Nec Corp Controlling device for microprogram
JPS58181147A (en) * 1982-04-16 1983-10-22 Nec Corp Microprogram controller

Also Published As

Publication number Publication date
JPH0673104B2 (en) 1994-09-14
KR950006585B1 (en) 1995-06-19
KR870008249A (en) 1987-09-25

Similar Documents

Publication Publication Date Title
US4338661A (en) Conditional branch unit for microprogrammed data processor
US4450519A (en) Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories
JP2651218B2 (en) Flexible ASIC microcomputer
US4342078A (en) Instruction register sequence decoder for microprogrammed data processor and method
US4954943A (en) Data processing system
US3990052A (en) Central processing unit employing microprogrammable control for use in a data processing system
EP0782071A2 (en) Data processor
US4325121A (en) Two-level control store for microprogrammed data processor
US20100011191A1 (en) Data processing device with instruction translator and memory interface device to translate non-native instructions into native instructions for processor
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6298429A (en) Data processing system
US4323964A (en) CPU Employing micro programmable control for use in a data processing system
US4334268A (en) Microcomputer with branch on bit set/clear instructions
JPH04233640A (en) Microcontroller having pseudo-linear bank which switches memory expanding scheme
US4347566A (en) Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
EP0035334B1 (en) Data processing system with two level microprogramming
JPH01119828A (en) Microprocessor
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US4205372A (en) Central processing unit employing microprogrammable control for use in a data processing system
JPS62191931A (en) Microprogram control method
JPS63268033A (en) Data processing system
US5187782A (en) Data processing system
JPS6217773B2 (en)
US4866608A (en) Microprocessor with improved execution of instructions
JP2583506B2 (en) Data processing device