JPS62135935A - Microprogram control system microprocessor - Google Patents

Microprogram control system microprocessor

Info

Publication number
JPS62135935A
JPS62135935A JP27717285A JP27717285A JPS62135935A JP S62135935 A JPS62135935 A JP S62135935A JP 27717285 A JP27717285 A JP 27717285A JP 27717285 A JP27717285 A JP 27717285A JP S62135935 A JPS62135935 A JP S62135935A
Authority
JP
Japan
Prior art keywords
control
microprogram
memory
instruction
register
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
JP27717285A
Other languages
Japanese (ja)
Inventor
Kiyoshi Maenobu
前信 潔
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP27717285A priority Critical patent/JPS62135935A/en
Publication of JPS62135935A publication Critical patent/JPS62135935A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To facilitate the change of a microprogram and to define freely the microprogram by storing and executing, from an external memory, the microprogram to the control memory constituted of the rewritable memory. CONSTITUTION:The microprogram prepared by a user is stored to an external memory 101 once and, by a control memory rewriting means 115, written into a rewritable memory part 111a of a control memory 111. The rewritable memory part 111a is accessed by a control memory address 109 stored in a control memory address register 110 as well as a reading exclusive-use memory part 111b. As the result, the read micro-instruction is stored into a micro-instruction register 112 and decoded an executed at a micro-instruction decoder 113.

Description

【発明の詳細な説明】 産業上の利用分野 本発明はデータ処理を行々うマイクロプロセッサに関し
、特にぞの制御機構をマイクロプログラム制御方式を用
いて実現するマイ、クログロセノザに関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a microprocessor that performs data processing, and more particularly to a microprocessor that implements its control mechanism using a microprogram control method.

従来の技術 従来のマイクロプロセッサにおけるマイクロプログラム
制御方式に関I7ては、例えば「マイクロコンピュータ
アーキテクチャ、飯塚、古谷、山口共著、オーツ・社、
昭和57年、PP4O−49Jが、まだ一般的なマイク
ロプログラム制御方式に関しては、[マイクロプログラ
ミング、萩原宏著、産業図書、昭和52年」々どが挙け
られる。
2. Prior Art Regarding microprogram control methods in conventional microprocessors, see, for example, "Microcomputer Architecture," co-authored by Iizuka, Furuya, and Yamaguchi, Oates & Co., Ltd.
In 1980, PP4O-49J was still popular, but regarding the microprogram control system, there are references such as [Microprogramming, written by Hiroshi Hagiwara, Sangyo Tosho, 1978].

第2図はこの従来のマイクロプログシム制御方式のマイ
クロプロセッサの構成を示すブロック図である。201
は命令キョー、202は命令レジスタ、203(/i命
令解読器、204は制御記憶アドレスレジスタ、205
は命令解読器制御回路、206(は提制御記憶、2o−
rldマイクロ命令レジスタ、208はマイクロ命令解
読器、209はへのマイクロプロセッサの各部に111
給される制御イ菖すである。−土た210はマイクロブ
「lセッザ内部と外部の境界を示している。
FIG. 2 is a block diagram showing the configuration of this conventional microprocessor using the microprogram control system. 201
is an instruction key, 202 is an instruction register, 203 (/i instruction decoder, 204 is a control storage address register, 205
206 is an instruction decoder control circuit; 206 is a control memory; 2o-
rld microinstruction register, 208 is a microinstruction decoder, 209 is 111 for each part of the microprocessor to
The control provided is irises. -Sat 210 marks the boundary between the interior and exterior of the microbe.

以上のように構成され/4−、マイクロブログラノ、制
御方式のマイクロプロセッサに尤・ける処理の流れは以
下のようである。外部記憶201に蓄えら第1た機械語
命令がフゴノチさJユ命令レジスタ202に格納され、
命令解読器203によ−)で解読される。命令解読器2
03は各々の機械語命令を実行するだめのマイクロブロ
グラノ、が格納さJlている制御記憶206の制御記憶
アドレスを生成し、制御記憶アドレスレジスタ204に
格納する。生成された制御記憶アドレスを先頭アドレス
とするマイクロプログラムを構成するマイクロ扁令がi
I;t制御記憶206から逐次読み出されマイクロアド
レスタ20 ”Tに格納され、史にマイクロ命令解読器
208によって解読され、このマイクロプログラム内の
各部を制御するための各種制御化−弓か生成5、、、−
2 される。一般のマイクロプロセッサでは制御記憶206
の容量を減らすために、異なった機械語命令に対応する
マイクロプログラム中に同じマイクロ命令の列が含まれ
る場合には、これらのマイクロ命令の列(以下、マイク
ロルーチンと呼ぶ)をモジュール化し、複数のマイクロ
プログラムで共用するという方法が採られている。この
場合、マイクロルーチンを共用する方法として次の2つ
が良く用いられている。第1の方法は、通常の機械語命
令プログラムにおけるサブルーチン呼出しと同様に、共
用されるマイクロルーチンを起動する前に予め戻り先の
制御記憶アドレスをスタックに格納しておき、終了後に
スタックから戻り先のマイクロアドレスを取り出し、そ
の制御記憶アドレスから処理を続行していく方法である
。第2の方法は、共用されるマイクロルーチンにかかわ
らずマイクロプログラムをすべてモジュ1イヒし、個々
のマイクロルーチンが終了する都度、次に起動すべきマ
イクロルーチンの先頭制御記憶アドレスを命令解読器2
03から供給する方法である。第26 ・\− の方法を採る場合、命令解読器203は命令レジスタ2
02に格納された1つの機械語命令に対して逐次的に異
なった制御記憶アドレスを生成しなければならない。命
令解読器203は通常PLA(プログラマブル・ロジッ
ク・アレイ)等の論理回路で作られており、前記に示し
た構成では1つの機械語命令に対しては1通りの制御記
憶アドレスしか生成できない。従って命令解読器203
に対して順序制御を行なう簡単な順序回路を設けること
により1つの機械語命令に対しで異なった制御記憶アド
レスを生成することを可能にしている。
The flow of processing that can be carried out by the microprocessor configured as described above and using the microcontroller control method is as follows. The first machine language instruction stored in the external storage 201 is stored in the FugonochisaJyu instruction register 202,
It is decoded by the instruction decoder 203 (-). Command decoder 2
03 generates a control memory address of the control memory 206 in which the microprogram that executes each machine language instruction is stored, and stores it in the control memory address register 204. The micro program configuring the micro program whose start address is the generated control memory address is i.
I;t is sequentially read out from the control memory 206 and stored in the microaddress register 20"T, and is then decoded by the microinstruction decoder 208 to generate various controls for controlling each part in this microprogram. 5,,,-
2 Will be done. In a general microprocessor, the control memory 206
In order to reduce the capacity of microprograms that correspond to different machine language instructions, if the same sequence of microinstructions is included, these sequences of microinstructions (hereinafter referred to as microroutines) are modularized and multiple A method is adopted in which the microprograms share the same information. In this case, the following two methods are often used to share microroutines. The first method is to store the control memory address of the return destination on the stack before starting the shared microroutine, and then store the return destination from the stack after the microroutine is finished, similar to subroutine calls in normal machine language instruction programs. This method extracts the microaddress of the control memory address and continues processing from that control storage address. The second method is to module all microprograms regardless of shared microroutines, and each time an individual microroutine ends, the first control memory address of the next microroutine to be activated is sent to the instruction decoder 2.
This is a method of supplying from 03 onwards. If the 26th method is adopted, the instruction decoder 203 uses the instruction register 2
Different control storage addresses must be generated sequentially for one machine language instruction stored in 02. The instruction decoder 203 is usually made of a logic circuit such as a PLA (programmable logic array), and with the configuration shown above, only one control storage address can be generated for one machine language instruction. Therefore, the instruction decoder 203
By providing a simple sequential circuit for controlling the order of the instructions, it is possible to generate different control storage addresses for one machine language instruction.

この順序回路が第2の205に示す命令解読器制御回路
である。命令解読器制御回路205の出力は命令解読器
203への入力となるとともに、命令解読器203が次
に起動すべきマイクロルーチンの先頭制御記憶アドレス
を出力する際にその出力の一部が命令解読器制御回路2
05に対する入力として帰還される。以上述べた命令解
読器制御回路205を付加することによp命令解読器2
03は次に起動すべきマイクロルーチンの先頭制御記7
へ一部 憶アドレスを生成する都度具なった入力条件が与えられ
異なったマイクロアドレスが生成される。
This sequential circuit is a second instruction decoder control circuit shown at 205. The output of the instruction decoder control circuit 205 becomes an input to the instruction decoder 203, and when the instruction decoder 203 outputs the start control memory address of the microroutine to be started next, a part of the output is used for instruction decoding. device control circuit 2
It is fed back as an input to 05. By adding the instruction decoder control circuit 205 described above, the p instruction decoder 2
03 is the start control note 7 of the microroutine to be started next
Each time a micro-memory address is generated, a different input condition is given and a different micro-address is generated.

まり従来マイクロプログラムを格納する制御記憶206
には読み出し専用記憶が主に用いられており、大型の汎
用計算機において制御記憶206の一部を書き換え可能
記憶を用いてダイナミック・マイクロプログラミングを
実現できるものもある。特にマイクロプログラム制御方
式のマイクロプロセッサでは、制御記憶206はすべて
読み出し専用記憶で構成され、マイクロプログラムの変
更はマイクロプロセッサ製造段階で制御記憶206のマ
スクパターンを変更するか、マイクロプロセッサ内部に
記憶を設けてこれを制御記憶211としてアクセスする
ことにより、この外部制御記憶211に格納するマイク
ロプログラムを入れ換えたり、外部記憶の媒体そのもの
を取り換えてマイクロプログラムの変更を行なっている
The control memory 206 stores conventional microprograms.
A read-only memory is mainly used in these systems, and some large-scale general-purpose computers can realize dynamic microprogramming by using a rewritable memory for part of the control memory 206. In particular, in a microprocessor using a microprogram control system, the control memory 206 is entirely composed of read-only memory, and the microprogram can be changed by changing the mask pattern of the control memory 206 at the microprocessor manufacturing stage, or by providing memory inside the microprocessor. By accessing this as the control memory 211, the microprogram stored in the external control memory 211 can be replaced, or the external storage medium itself can be replaced to change the microprogram.

発明が解決しようとする問題点 しかしながら前記のようなマイクロプログラム制御方式
では、命令解読器203や命令解読器制御回路205が
結線論理で実現されているだめマイクロルーチンの順序
制御に融通性が乏しくダイナミック・マイクロプログラ
ミングに適していないという問題点がある。
Problems to be Solved by the Invention However, in the microprogram control system as described above, the instruction decoder 203 and the instruction decoder control circuit 205 are realized by wired logic, so there is little flexibility in controlling the order of microroutines, and it is difficult to dynamically control the order of microroutines.・There is a problem that it is not suitable for microprogramming.

寸だ、従来のマイクロプロセッサで用いられているマイ
クロプログラムの変更方法のうち、前記の制御記憶20
6のマスクパターンを変更する方法は、変更に膨大な時
間が必要であり変更に柔軟性がない。まだ、前記の外部
に設けた記憶にマイクロプログラムを格納し、これを変
更する方法は、一般に外部の記憶のアクセス速度がマイ
クロプロセラ、す内の制御記憶206に比して遅いだめ
処理性能が劣化するという欠点と、アクセス速度の違い
から、外部に設けた記憶とマイクロプロセッサ内の制御
記憶206とを併用するためにはアクセスタイミングの
調整等の制御が複雑になるという問題点がある。
Among the microprogram modification methods used in conventional microprocessors, the control memory 20 described above is
The method of changing the mask pattern in No. 6 requires a huge amount of time and is not flexible. However, the above-mentioned method of storing a microprogram in an external memory and modifying it is generally slow in accessing the external memory compared to the control memory 206 inside the microprocessor, resulting in degraded processing performance. However, due to the disadvantages of using the external memory and the control memory 206 in the microprocessor, there is a problem that control such as adjustment of access timing becomes complicated due to the difference in access speed.

本発明はかかる点に鑑み、融通性のあるマイクロプログ
ラム制御が行なえ、マイクロプログラムの変更が容易な
、ダイナミ)・クマイクロプログラ9ベー。
In view of these points, the present invention provides a dynamic microprogram 9 base that allows flexible microprogram control and easy modification of microprograms.

ミンクに適したアーキテクチャをもつマイクロプログラ
ム制御方式マイクロプロセッサを提供することを目的と
する。
The purpose of this paper is to provide a microprogram controlled microprocessor with an architecture suitable for mink.

問題点を解決するだめの手段 本発明は前記問題点を解決するために、外部の記憶から
フェッチされた機械語命令と内部データバスを介して供
給されるデータを2つの入力とする第1のセレクタと、
前記第1のセレクタの出力を格納する命令レジスタと、
前記内部データバスを介して供給されるデータと命令解
読器制御データとを2つの入力とする第2のセレクタと
、前記第2のセレクタの出力を格納する命令解読器制御
レジスタと、前記命令レジスタの出力と前記命令解読器
制御レジスタの出力とを入力とし制御記憶アドレスと前
記命令解読器制御データとを出力する命令解読器と、前
記制御記憶アドレスを格納する制御記憶アドレスレジス
タと、前記制御記憶アドレスレジスタの出力をアドレス
として読み出されるマイクロプログラムを格納する一部
分が書き換え可能記憶で構成された制御記憶と、前記制
御10ヘ一/ 記憶の書き換え可能部の一部まだはすべてに対して外部
の記憶に保持されているマイクロプログラムを格納する
制御記憶書き換え手段を備えだマイクロプログラム制御
方式マイクロプロセッサである。
Means for Solving the Problems In order to solve the above-mentioned problems, the present invention provides a first method that takes machine language instructions fetched from external storage and data supplied via an internal data bus as two inputs. selector and
an instruction register that stores the output of the first selector;
a second selector that receives data supplied via the internal data bus and instruction decoder control data as two inputs; an instruction decoder control register that stores an output of the second selector; and the instruction register. and an output of the instruction decoder control register, and outputs a control memory address and the instruction decoder control data, a control memory address register storing the control memory address, and the control memory. A control memory, a part of which stores a microprogram that is read out using the output of an address register as an address, is a rewritable memory, and an external memory for a part or all of the rewritable part of the control memory. This is a microprogram control microprocessor equipped with control memory rewriting means for storing microprograms held in the microprocessor.

作  用 本発明は前記の構成により、書き換え可能記憶で構成さ
れた制御記憶にマイクロプログラムを外部記憶から格納
し実行することにより、ユーザーがマイクロプログラム
を自由に定義できるとともに、定義したマイクロプログ
ラムにおいて前記命令レジスタや前記命令解読器制御レ
ジスタに対して内部データバスを介して任意のデータが
格納できるため、ダイナミックにマイクロルーチンの起
動順序を変更することも可能となる。更に、書き換え可
能な制御記憶がマイクロプロセッサ内にあるため、制御
記憶の書き換え可能記憶部にあるマイクロプログラムと
読み出し専用記憶部にあるマ117、− 者のマイクロプログラムを併用できる。
According to the above configuration, the present invention allows a user to freely define a microprogram by storing and executing a microprogram from an external memory in a control memory configured with a rewritable memory, and also allows the user to freely define a microprogram in the defined microprogram. Since arbitrary data can be stored in the instruction register and the instruction decoder control register via the internal data bus, it is also possible to dynamically change the activation order of microroutines. Further, since the rewritable control memory is located within the microprocessor, the microprograms in the rewritable control memory and the microprograms in the read-only memory can be used together.

実施例 第1図は本発明のマイクロプログラム制御方式マイクロ
プログラムの実施例の構成を示ずブ0 ツク図である。
Embodiment FIG. 1 is a block diagram showing the structure of an embodiment of the microprogram control system microprogram of the present invention.

101は外部記憶、102は内部データバス、103は
第1のセレクタ、104は命令レジスタ、106は命令
解読器制御データ、106は第2のセレクタ、10了は
命令解読器制御レジスタ、10Bは命令解読器、109
は制御記憶アドレス110は制御記憶アドレスレジスタ
、111は制御記憶、111aは制御記憶111のうち
の書き換え可能記憶部、111bは制御記憶111bの
うちの読み出し専用記憶部、112はマイクロ命令レジ
スタ、113はマイクロ命令解読器、114はマイクロ
プログラム内の各部に供給される制御信号、115は制
御記憶書き換え手段、116はマイクロプロセッサの内
部と外部の境界を示す。
101 is an external storage, 102 is an internal data bus, 103 is a first selector, 104 is an instruction register, 106 is instruction decoder control data, 106 is a second selector, 10 is an instruction decoder control register, 10B is an instruction decoder, 109
Control memory address 110 is a control memory address register, 111 is a control memory, 111a is a rewritable memory part of the control memory 111, 111b is a read-only memory part of the control memory 111b, 112 is a microinstruction register, 113 is a A microinstruction decoder, 114 is a control signal supplied to each part in the microprogram, 115 is a control memory rewriting means, and 116 is a boundary between the inside and outside of the microprocessor.

以上のように構成された本実施例のマイクロプログラノ
・制御方式マイクロプロセッサについて、以下にその動
作を説明する。
The operation of the microprogram/control type microprocessor of this embodiment configured as described above will be described below.

1、ず最初に、外部記憶101に格納へれている機械語
グログラノ、の実行時の動作を説明す′;、)0外部記
憶101に格納さねた機械語プログラムから機械語命令
が1語ずつフェッチさ7扛第1のセレクタ103に人力
される。第1のセレクタ103では前記の機械語命令が
選択゛き:f−b 、面会レジスタ104に格納される
。−力命腐解読器制御レジスタ107には、命令レジス
タ104への機械W、(命令の格納と同時に予め決めら
れている初期値が命令解読器制御データ105として命
令解読器108から供給され、第2のセl/クタ106
を介1〜で格納される。都令解読器*osil5、命令
レジスタ108に格納された機械語命令と命令解読器;
15!制御レジスタ107に格納された前記の初期値を
人力と1−で、前記の機械語命令の実行に必要なマイク
ロプログラムのうちの最初に起動すべきマイクロルーチ
ンの先頭制御記憶アト1/ス109を生成し制御記憶ア
ドレスレジスタ110に格納するとともに、次に起動す
べきマイクロルーチンの先頭側御記憶アドレスを生成す
るだめの命令解読器制御データ105を出力する。制御
記憶アドレスレジスタ110に格納された制御記憶アド
レス110を先頭どするマイクロルーチンのマイクロ命
令力制御記憶111から読み出されてマイクロ命令レジ
スタ112に格納され、更にマイクロ命令解読器113
に入力されて解読されマイクロプログラム内の各部を制
御する信号114が生成される。
1. First, we will explain the operation during execution of the machine language program stored in the external memory 101. The first selector 103 manually inputs the seven items fetched one by one. The first selector 103 selects the machine language instruction: fb, and stores it in the visiting register 104. - The power decoder control register 107 is supplied with a predetermined initial value from the instruction decoder 108 as the instruction decoder control data 105 at the same time as the instructions are stored in the instruction register 104. 2 cell/kuta 106
It is stored via 1~. Metropolitan ordinance decoder *osil5, machine language instructions stored in instruction register 108 and instruction decoder;
15! The initial value stored in the control register 107 is manually inputted into the first control memory address 109 of the microroutine to be activated first among the microprograms necessary for executing the machine language instruction. It generates and stores it in the control storage address register 110, and outputs instruction decoder control data 105 for generating the head storage address of the microroutine to be activated next. The microinstruction of a microroutine starting from the control storage address 110 stored in the control storage address register 110 is read out from the control storage 111 and stored in the microinstruction register 112, and further processed by the microinstruction decoder 113.
A signal 114 is generated which is input to and decoded to control various parts within the microprogram.

1つのマイクロ命令の実行が終わると、そのマイクロ命
令に従って次に読み出すべきマイクロ命令の制御記憶ア
ドレスが更新される。1つのマイクロルーチンの最後の
マイクロ命令はそのマイクロルーチンの終了を知らせる
制御信号114を生成する。前記の制御信号114が生
成されると、命令解読器108は命令レジスタ104に
格納されている機械語命令と、既に命令解読器制御デー
タ105によって更新されている命令解読器制御レジス
タ107のデータを用いて、次に起動すべきマイクロル
ーチンの先頭制御記憶アドレス109を生成する。命令
レジスタ104に格納されてい14、− る機械語命令に対応するマイクロプログラノ・の最後の
マイクロルーチンが起動され、更にそのマイクロルーチ
ンの最後のマイクロ命令が実行されると、マイクロプロ
グラムの終了を知らせる制御信号114が生成されると
ともに、次に実行すべき機械語命令が外部記憶101か
らフェッチされ、第1のセレクタ103を介(7て命令
レジスタ104に格納される。また命令解読器′1ti
l制御レジスタ10了には、予め決められた初期値が命
令解読器制御データ105として格納される。以下、前
記の処理手順を繰り返すことにより、外部記憶101に
格納された機械語プログラムが実行される。
When execution of one microinstruction is completed, the control storage address of the next microinstruction to be read is updated according to that microinstruction. The last microinstruction of a microroutine generates a control signal 114 that signals the end of that microroutine. When the control signal 114 is generated, the instruction decoder 108 reads the machine language instruction stored in the instruction register 104 and the data in the instruction decoder control register 107 that has already been updated with the instruction decoder control data 105. The first control memory address 109 of the microroutine to be activated next is generated using the first control memory address 109. When the last microroutine of the microprogram program corresponding to the machine language instruction stored in the instruction register 104 is started, and the last microinstruction of that microroutine is executed, the microprogram is terminated. At the same time, a control signal 114 to inform the user is generated, and the machine language instruction to be executed next is fetched from the external storage 101 and stored in the instruction register 104 via the first selector 103 (7).
A predetermined initial value is stored in the control register 10 as instruction decoder control data 105. Thereafter, by repeating the above processing procedure, the machine language program stored in the external storage 101 is executed.

以−にに述べた処理手順を具体例を用いて詳述する。前
記の命令解読器108をPLA(プログラマブル・ロジ
ック・アレイ)で構成し、命令レジスタ104から入力
されるデータをIR(8ビツト)、命令解読器制御レジ
スタ107から入力されるデータをMCTL(4ビツト
)どし、出力される制御記憶アドレス109をMA(1
0ビツト)、2N命令解読器制御データ105をNMC
TL(4+仁。
The processing procedure described below will be explained in detail using a specific example. The instruction decoder 108 is configured with a PLA (programmable logic array), and the data input from the instruction register 104 is input as IR (8 bits), and the data input from the instruction decoder control register 107 as MCTL (4 bits). ), and the output control memory address 109 is set to MA(1
0 bit), 2N instruction decoder control data 105 to NMC
TL (4+Jin.

161、1 ト)とし、更に、最終のマイクロルーチンを識別するだ
めのフラグ出力をNI(1ビット)とする。命令解読器
108のPLAデータの一部を抜すいして第3図に示す
。欄301はPLAの順番号、欄302は入力データI
R,欄303は入力データMCTL、欄304は出力デ
ータNMCTL、欄305は出力データMA、欄306
は出力データNIを示す。まだ307はPLAのAND
(論理積)項、308は○R(論理和)項を示す。第3
図のAND項の°x′″は入力データが論理”i”でも
論理”○′″でも常にアクティブとなることを表わす。
Furthermore, the flag output for identifying the final microroutine is set to NI (1 bit). A portion of the PLA data of the instruction decoder 108 is shown in FIG. Column 301 is the sequence number of PLA, column 302 is input data I
R, column 303 is input data MCTL, column 304 is output data NMCTL, column 305 is output data MA, column 306
indicates output data NI. 307 is still PLA AND
(logical product) term, 308 indicates ○R (logical sum) term. Third
The AND term °x''' in the figure indicates that the input data is always active whether it is a logic "i" or a logic "○".

いま入力データIRが(O○111111)であるよう
な機械語命令の実行を考える。但し、入力データMCT
Lの初期値は(Qooo)であるとする。第4図に入力
データと出力データの関係を示す。なお出力データMA
をそのまま制御記憶111の絶対物理アドレスとして用
いる必要はなく、更に変換や修飾を施した値を制御記憶
アドレス109として用いてもよい。本実施例では、出
力データMAの下位に2ビツト“O#を付加した値を制
御記憶アドレス109として用いるものとする。従って
第3図で示したデータをもつPLAで構成された命令解
読器108は、入力データIR=(00111111)
’iもつ機械語命令に対して、”I B C” (1e
 )・    (16)・   (16)なる130′
″1AC″ 3つのマイクロルーチンの先頭制御記憶アドレス109
を生成する。
Now consider the execution of a machine language instruction whose input data IR is (O○111111). However, input data MCT
It is assumed that the initial value of L is (Qooo). FIG. 4 shows the relationship between input data and output data. Furthermore, output data MA
It is not necessary to use the value as it is as the absolute physical address of the control memory 111; a value that has been further converted or modified may be used as the control memory address 109. In this embodiment, a value obtained by adding 2 bits "O#" to the lower part of the output data MA is used as the control storage address 109. Therefore, the instruction decoder 108 constituted by the PLA having the data shown in FIG. is input data IR=(00111111)
'I B C' (1e
)・(16)・(16) becomes 130'
``1AC'' Start control storage address 109 of three microroutines
generate.

次にユーザーが作成したマイクロプログラムを実行する
場合の処理手順を説明する。ユーザーが作成したマイク
ロプログラムは一旦外部記憶101に格納され、側脚記
憶書き換え手段115により制御記憶111の書き換え
可能記憶部111aに書き込まれる。制御記憶111の
書き換え可能記憶部111aは、読み出し専用記憶部1
11bと同様に、制御記憶アドレスレジスタ110に格
納されている制御記憶アドレス109によってアクセス
され、読み出されたマイクロ命令はマイクロ命令レジス
タ112に格納され、マイクロ命令解読器113におい
て解読実行される。従って、制御記憶111の書き換え
可能記憶部111aのいくつかの制御記1了べ−7 憶アドレス109を生成する機械語命令を設けることに
よシ、制御記憶111の書き換え可能記憶部111aに
格納されているマイクロプログラムを起動することがで
きる。第6図に、制御記憶111の書き換え可能記憶部
111aに格納されているマイクロプログラムを実行す
るための機械語命令の例を示す。本実施例のマイクロプ
ロセッサの機械語命令は16ビツトで構成され、その上
位8ビツト602が命令解読器108への入力IRとな
る。機械語命令の3ビツトのフィールドE N T s
olは、実行すべき制御記憶111の書き換え可能記憶
部111aに格納されているマイクロプログラムの先頭
制御記憶アドレス109を選択するフィールドであり、
ENT、=(000)からENT=(111)までの8
通シの制御記憶アドレス109が選択できる。本実施例
のマイクロプロセッサの制御記憶111の読み出し専用
記憶部111bが制御記憶アドレス1o9がOOo”(
16)から”7FF”(16)までの2048語から々
るとし、書き換え可能記憶部111aが制御記憶アドレ
ス109が珀ω”(16)18ベー/ から83 F ”(1e )までの64語からなるとす
る。
Next, the processing procedure for executing a microprogram created by a user will be explained. The microprogram created by the user is temporarily stored in the external storage 101, and written into the rewritable storage section 111a of the control storage 111 by the side leg storage rewriting means 115. The rewritable storage section 111a of the control memory 111 is a read-only storage section 1.
11b, the microinstruction that is accessed and read by the control storage address 109 stored in the control storage address register 110 is stored in the microinstruction register 112, and decoded and executed by the microinstruction decoder 113. Therefore, by providing a machine language instruction for generating some control memory addresses 109 in the rewritable memory section 111a of the control memory 111, the information stored in the rewritable memory section 111a of the control memory 111 can be stored in the rewritable memory section 111a. microprograms that are currently running can be started. FIG. 6 shows an example of a machine language instruction for executing a microprogram stored in the rewritable storage section 111a of the control storage 111. The machine language instruction of the microprocessor of this embodiment consists of 16 bits, the upper 8 bits 602 of which are input IR to the instruction decoder 108. 3-bit field ENTs of machine language instruction
ol is a field for selecting the top control storage address 109 of the microprogram stored in the rewritable storage section 111a of the control storage 111 to be executed;
ENT, 8 from = (000) to ENT = (111)
A common control storage address 109 can be selected. The read-only memory section 111b of the control memory 111 of the microprocessor of this embodiment has a control memory address 1o9 of OOo'' (
16) to "7FF" (16), and the rewritable storage unit 111a has a control memory address 109 of 64 words from ``ω'' (16) 18 b/ to 83 F'' (1e). Suppose it becomes.

ENTフィールド501で選択できる先頭制御記憶アド
レス109を800”  から8語おきの8通シとした
場合の命令解読器108のPLAデータの当該部分を抜
すいして第6図に示す。第6図の各欄の意味は第3図に
同じである。第7図に入力データと出力データの関係y
ENTフィールド501が(1o1)の場合を例にとっ
て示す。
FIG. 6 shows the relevant part of the PLA data of the instruction decoder 108 when the starting control storage address 109 that can be selected in the ENT field 501 is set to 8 consecutive words every 8 words from 800''. The meaning of each column is the same as in Figure 3. Figure 7 shows the relationship between input data and output data.
An example will be shown in which the ENT field 501 is (1o1).

第4図で示した例と同様に出力データMAの下位に2ビ
ツト″0″を付加して値を制御記憶アドレス109とし
て用いるものとすると、第7図の例では命令解読器10
8は、ENTフィールド601が(101)である第5
図の機械語命令に対して”IBC”  なる2つのマイ
クロル ″828”(16)l(16) 一チンの先頭制御記憶アドレス109を生成する。
As in the example shown in FIG. 4, if 2 bits "0" are added to the lower part of the output data MA and the value is used as the control storage address 109, then in the example shown in FIG.
8 is the fifth whose ENT field 601 is (101).
For the machine language instruction shown in the figure, two micro-files "828" (16) l (16) called "IBC" are generated for the first control storage address 109 of one chin.

この例からもわかるように1.制御記憶111の書き換
え可能記憶部111aに格納されているマイクロプログ
ラムは、第6図に示す機械語命令を用いて、ENTフィ
ールド501で選択される8通9嘴や制御記憶アドレス
109のいずれかから1つのマイクロルーチンとして起
動され、マイクロルーチンの終了を通知する制御信号1
14を生成するマイクロ命令が視力、る寸で実行される
。とのとき、マイクロルーチンの途中で他のマイク「]
ルルーノに分岐した場合でも前記のマイクロ命令が現れ
る寸で実行される。ぞして、次に制御記[意111の読
み出し智用記憶部111bに格納されているダミー・マ
イクロルーチン(制御記憶アドレス109が”IBC’
“で始するマイクロルーチン)が実行され、この機械語
命令の実行が終了する。前記のダミー ・マイクロルー
チンは、NOP動作(何も操作をしない命令)に相当す
るマイクロ命令1語からなるマイクロルーチンであり、
その機能については後述する。
As you can see from this example, 1. The microprogram stored in the rewritable storage section 111a of the control memory 111 uses machine language instructions shown in FIG. Control signal 1 that is started as one microroutine and notifies the end of the microroutine
The microinstruction that generates 14 is executed at a glance. When using another microphone during a microroutine,
Even when branching to Luruno, the microinstruction is executed as soon as it appears. Then, the dummy microroutine (control memory address 109 is "IBC") stored in the readout memory 111b of the control memory 111
The dummy microroutine described above is a microroutine consisting of one word of a microinstruction corresponding to a NOP operation (an instruction that does not perform any operation). and
Its functions will be described later.

ここで、外部記憶101に格納されているユーザーが作
成したマイクロプログラムを制御記憶111の書き換え
可能記憶部111aに格納する方法について補足説明す
る。以下の説明における混乱を避けるため、「格納され
るjマイクロプログる。前記の制御記憶書き換え手段1
16QC要求される機能id、外部記憶101に格納さ
れでいる第1のマイクロプログラム・を読み出し、ブロ
セッリ内に取り込む機能と、取り込んだ第1のマイクロ
プログジノ、全制御記憶111の4j4き換えrl、T
能記憶部111aに書き込む機能である。本実施例のマ
イクロプロセツサにおいては、制御記憶111の読み出
し専用記憶部111bに格納されでいる第2のマイクロ
プログラムによって、前記の制御記憶書き換え手段11
6の機能を′i′lil制御する。前記第2のマイクロ
プログラムを実行する機械語命令を第8図に示す。第6
図に示すP T−Aデータをもつ命令解読器10Bにお
ける第8図に示す機械語命令に対する入力データと出力
データの関係を第9図に示す。前述と同様に出力データ
MAの下位に2ビツト″0”全付加し/、−、値全制御
記憶アドレス109として用いると、命令解読器108
は”424”(16)。
Here, a supplementary explanation will be given of a method for storing the microprogram created by the user and stored in the external storage 101 in the rewritable storage section 111a of the control storage 111. In order to avoid confusion in the following description, we will use the following description to describe the ``stored j microprogram.''
16QC required function id, a function to read the first microprogram stored in the external storage 101 and import it into Broselli, the imported first microprogram, 4j4 replacement rl of the entire control memory 111, T
This is a function to write to the function storage section 111a. In the microprocessor of this embodiment, the control memory rewriting means 11 is controlled by the second microprogram stored in the read-only memory section 111b of the control memory 111.
'i'lil controls the functions of 6. FIG. 8 shows machine language instructions for executing the second microprogram. 6th
FIG. 9 shows the relationship between input data and output data for the machine language instruction shown in FIG. 8 in the instruction decoder 10B having the PTA data shown in the figure. Similarly to the above, when 2 bits "0" are added to the lower part of the output data MA and used as the full control storage address 109, the instruction decoder 108
is "424" (16).

” 1 B C”(1e )なる2つの制御記憶アドレ
ス1o9を生成する。
Two control storage addresses 1o9 "1 B C" (1e) are generated.

次に、ユーザーが作成したマイクロプログラム21 へ
−5 と、機械語命令の実行のだめのマイクロプログラムとを
併用する方法について説明する。通常、機械語命令の実
行に必要なマイクロプログラムは制御記憶111、特に
その読み出し専用記憶部111bに常駐化されている。
Next, a method of using the microprogram 21-5 created by the user together with a microprogram designed to execute machine language instructions will be described. Normally, microprograms necessary for executing machine language instructions are made resident in the control memory 111, particularly in its read-only memory 111b.

またそれらのマイクロプログラムを構成するマイクロル
ーチンは予め定められた順序に従って起動されていけば
よいので、第2図に示したような従来の構成を用いても
特に問題はない。しかし、マイクロプログジノ・中で例
外事項が発生した場合に本来のマイクロルーチンの起動
順序全変更することはできない。また、本実施例のよう
に制御記憶111の一部が書き換え可能記憶で構成され
、書き換え可能記憶部111aにユーザーが作成したマ
イクロプログラムを格納して実行するような場合には、
マイクロプログラム中で以後のマイクロルーチンの起動
順序を変更することにより、他のマイクロプログラムで
用いるマイクロルーチン全共用することが有用となる。
Furthermore, since the microroutines constituting these microprograms need only be activated in a predetermined order, there is no particular problem even if the conventional configuration shown in FIG. 2 is used. However, if an exception occurs in the microprogram, it is not possible to completely change the original starting order of the microroutines. Furthermore, when a part of the control memory 111 is configured as a rewritable memory as in this embodiment, and a microprogram created by a user is stored in the rewritable memory section 111a and executed,
By changing the activation order of subsequent microroutines in a microprogram, it becomes useful to share all microroutines used by other microprograms.

先に第7図に示したように、制御記憶111の書き換え
可能記憶部111aに格納されたマイクロブ2S−−2 0グラムは、マイクロルーチンの終了を通知する制御信
号114を生成するマイクロ命令(もし途中で他のマイ
クロルーチンに分岐した場合には分岐先のマイクロルー
チン中の終了全通知する制御信号114を生成するマイ
クロ命令)が現れるまで実行されるが、その後は単にダ
ミー・マイクロルーチンのみ全実行して処理を終えてし
甘う。これは、たとえ他のマイクロルーチンに分岐して
も命令解読器108に対する入力データが変わらない限
り次に起動されるマイクロルーチン(この場合はダミー
・マイクロルーチン)が変わらないためである。従って
、制御記憶111の書き換え可能記憶部に格納されてい
るユーザーの作成I−たマイクロプログラムからは、高
々1つの多のマイクロルーチンに分岐してそのマイクロ
ルーチン全実行することしかできない。そこで、第1図
に示した構成をとることにより、マイクロルーチンの起
動順序の変更全可能にする。第1図に示す第1のセレク
タ103′f:設けることによ咲命令レジスタ104に
対して、内部データバス102を介して23ベー。
As previously shown in FIG. 7, the microb 2S--20gram stored in the rewritable storage section 111a of the control memory 111 is a microinstruction (if If a branch is made to another microroutine midway through, the microroutine at the branch destination will be executed until a microinstruction that generates a control signal 114 that notifies the end of the entire microroutine appears, but after that, only the dummy microroutine will be fully executed. I'm sorry to have finished processing. This is because even if the program branches to another microroutine, the microroutine to be activated next (in this case, the dummy microroutine) will not change unless the input data to the instruction decoder 108 changes. Therefore, from the microprogram created by the user stored in the rewritable storage section of the control memory 111, it is possible to branch to at most one microroutine and execute all of the microroutines. Therefore, by adopting the configuration shown in FIG. 1, it is possible to change the starting order of microroutines. The first selector 103'f shown in FIG.

任意のデータをマイクロ命令を用いて格納することを可
能とする0また、第2のセレクタ106を設けることに
より、命令解読器制御レジスタ107に対して、内部デ
ータバス102i介して任意のデータをマイクロ命令を
用いて格納することを可能とする。
Furthermore, by providing the second selector 106, any data can be stored in the instruction decoder control register 107 via the internal data bus 102i. It is possible to store data using instructions.

従って、制御記憶111の書き換え可能記憶部111a
に格納されているマイクロプログラム中に、内部データ
バス102i介して命令レジスタ104および/または
命令解読器制御レジスタ107に対してデータ全格納す
るマイクロ命令を付加することにより、マイクロルーチ
ンの終了を通知する制御信号114全生成するマイクロ
命令が現れると、他の任意の機械語命令の任意の起動順
序にあるマイクロルーチンを起動することが可能となり
、かつそのマイクロルーチン以降に起動すべきマイクロ
ルーチンをすべて起動順序通りに起動していくことが可
能となる0ここで、もし前記のダミー・マイクロルーチ
ンがなく、制御記憶111の書き換え可能記憶部111
aに格納されているマイクロプログラムが起動されるべ
き唯一のマイクロルーチンであるならば、このマイクロ
ルーチンは最終のマイクロルーチンとカリ、マイクロル
ーチンの中で前記の命令レジスタ104や命令解読器制
御レジスタ107に格納されているデータを変更しても
、マイクロルーチンの終了を通知する制御信号114を
生成するマイクロ命令が現れるやいなやマイクロプログ
ラムの実行が終了し、次の機械語命令の処理に移行して
しまう。従ってダミー・マイクロルーチンを付加するこ
とにより、このダミー・マイクロルーチンにおいて最終
のマイクロルーチンであることを通知する制御信号11
4を生成するようにする。
Therefore, the rewritable storage section 111a of the control storage 111
The end of the microroutine is notified by adding a microinstruction for storing all data to the instruction register 104 and/or instruction decoder control register 107 via the internal data bus 102i to the microprogram stored in the microprogram. When a microinstruction that generates all control signals 114 appears, it becomes possible to activate a microroutine in any activation order of any other machine language instruction, and all microroutines that should be activated after that microroutine are activated. Here, if there is no dummy microroutine and the rewritable memory section 111 of the control memory 111
If the microprogram stored in a is the only microroutine to be started, this microroutine is the final microroutine, and the instruction register 104 and instruction decoder control register 107 among the microroutines. Even if the data stored in the microprogram is changed, the execution of the microprogram ends as soon as the microinstruction that generates the control signal 114 notifying the end of the microroutine appears, and the process shifts to the next machine language instruction. . Therefore, by adding a dummy microroutine, the control signal 11 notifying that this dummy microroutine is the final microroutine is
4.

以上説明してきた各場合の処理手順をまとめて第10図
に示す。第1Q図(a)は通常の機械語命令の実行する
場合の処理の流れを示す。1001゜1002.100
3は、この機械語命令の実行に必要とされるマイクロル
ーチンを示す。特に1003は最終のマイクロルーチン
を示す。寸た1004の実線は1つのマイクロ命令を、
10o6の二重実線はマイクロルーチンの終了を通知す
るマイクロ命令を、1006の三重実線は最終のマイク
ロルーチンの終了を通知するマイクロ命令を示す。第1
o図(b)から第10図(e)までは前記第8図に示し
だ機械語命令を用いて予め制御記憶111の書き換え可
能記憶部111aに格納されているマイクロプログラム
を、前記第5図に示した機械語命令を用いて実行する場
合の処理の流れを示す。第10図中)はマイクロプログ
ラムの中で命令レジスタ104及び命令解読器制御レジ
スタ107に格納されているデータを変更しない場合を
示す。1007は前記の制御記憶111の書き換え可能
記憶部111aに格納されているマイクロプログラム(
但し、この場合にはマイクロルーチンに同義である)を
、10o8は前記ダミー・マイクロルーチンを示す。
The processing procedures for each case explained above are summarized in FIG. 10. FIG. 1Q (a) shows the flow of processing when a normal machine language instruction is executed. 1001゜1002.100
3 indicates a microroutine required to execute this machine language instruction. In particular, 1003 indicates the final microroutine. A solid line with a size of 1004 indicates one microinstruction,
The double solid line 10o6 indicates the microinstruction that notifies the end of the microroutine, and the triple solid line 1006 shows the microinstruction that notifies the end of the final microroutine. 1st
From FIG. 10(b) to FIG. 10(e), the microprogram previously stored in the rewritable storage section 111a of the control memory 111 using the machine language instructions shown in FIG. The flow of processing when executed using the machine language instructions shown in is shown below. 10) shows a case where the data stored in the instruction register 104 and the instruction decoder control register 107 are not changed in the microprogram. 1007 is a microprogram (
However, in this case, 10o8 indicates the dummy microroutine (synonymous with microroutine).

第10図(0)は、第10図中)の場合と同様にマイク
ロプログラム10o7の中で命令レジスタ104及び命
令解読器制御レジスタ107に格納されているデータを
変更しないが、マイクロプログラム1007の最終のマ
イクロ命令が分岐マイクロ命令26A−/ 10Q9であり、他のマイクロルーチン1010に分岐
する場合を示す。先に説明したように、この場合はマイ
クロルーチン1010終了後はダミー・マイクロルーチ
ン1008のみが実行される。第10図(d)はマイク
ロプログラム1007の中で命令レジスタ104および
/−!、たけ命令解読器制御レジスタ10了に格納され
ているデータをマイクロ命令1Q11を用いて変更する
場合を示す。この場合、マイクロプログラム1007の
終了を通知するマイクロ命令1012を実行すると、変
更された命令レジスタ104および/″!!たは命令解
読器制御レジスタ107のデータに従って他のマイクロ
ルーチン1013が起動される。第10図(e)は前記
第10図(cl)の場合においてマイクロプログラム1
007の途中から分岐マイクロ命令1014において、
他のマイクロルーチン1015に分岐する場合に和尚す
る。この場合もまた、分岐先のマイクロルーチン101
5の終了を通知するマイクロ命令1016を実行すると
、変更された命令レジスタ104および/または命令解
読器制御レジスタ107のデータに27、− 従って、次のマイクロルーチンが起動される。
10 (0) does not change the data stored in the instruction register 104 and the instruction decoder control register 107 in the microprogram 10o7, as in the case of FIG. The case where the microinstruction is branch microinstruction 26A-/10Q9 and branches to another microroutine 1010 is shown. As explained above, in this case, after microroutine 1010 ends, only dummy microroutine 1008 is executed. FIG. 10(d) shows the instruction register 104 and /-! in the microprogram 1007. , a case where the data stored in the instruction decoder control register 10 is changed using the microinstruction 1Q11 is shown. In this case, when the microinstruction 1012 notifying the end of the microprogram 1007 is executed, another microroutine 1013 is started according to the changed data in the instruction register 104 and /''!! or instruction decoder control register 107. FIG. 10(e) shows the microprogram 1 in the case of FIG. 10(cl).
In the branch microinstruction 1014 from the middle of 007,
This is done when branching to another microroutine 1015. In this case as well, the branch destination microroutine 101
Execution of microinstruction 1016 which signals the end of step 5 changes the data in instruction register 104 and/or instruction decoder control register 107 to 27, - thus the next microroutine is activated.

最後に、前記第10図(e)の場合の特殊な場合として
、制御記憶111の店き換え可能記憶部111aの記憶
容量よりも大きなサイズのマイクロブ「lグラムを実行
する方法を説明する。以下に説明する方法は、対象と在
るマイクロプログラムが前記の記憶容量よりも小さいサ
イズのいく1)かのマイクロルーチンに分割でき、かつ
それらのマイクロルーチンのうちの1つが実行されてい
る間は残りのマイクロルーチンが制御記憶111上に格
納されていなくてもよいようなマイクロプロゲラi、t
c対してのみ適用できる。捷ず、対象となるマイクロプ
ログラム・をいくつかのマイクロルーチン(以下これら
をユーザールーチンと呼ぶものとする)に分割し、最後
に起動されるべきユーザールーチンを除くすべてのユー
ザールーチンの末尾に前記の命令解読器制御レジスタ1
07に対して内部データバス102から第2のセレクタ
106を介してデータ(0000)を格納するマイクロ
命令と、前記第8図に示した機械語命令の最初に起動さ
れるマイクロルーチン(前記の例では制御、−1a 障
アドレス109が”424”(16)で始剤るマ/#a
ルー1−ン)の先頭に分岐するマイクロ命令を相加−1
−る3、捷に一最後に起動されるべきユーザールーチン
の末尾には、マイクロルーチンの終了及び最終のマイク
ロルーチンであることを通知する制御信−弓114を生
成するマイクロ命令を飼加ずろ1.ζi−に、1)IJ
記第8図に示した機械語命令は、最rnに起動されるマ
イクロルーチン(以下、ロードルーチント貯)ものとす
る)において、外部記憶101に(e納さJしているマ
イクロプログラム・を制御記′1λ1111の唐き換え
可能記憶部111aに格納するものとし、最後に起動さ
れるマイクロルーチンはダミー ・マイクロルーチンで
あるとする。次に、第8図に示しだ機械語Q令を用いて
最初に起動されるべきコーザールーチンを用いて外部記
憶101から制御記憶111の岩き換え可能記・l:ひ
部111aycl翫葎1−J゛−る。
Finally, as a special case of the case shown in FIG. 10(e), a method for executing a microb "l-gram" whose size is larger than the storage capacity of the replaceable storage section 111a of the control storage 111 will be explained. The method described in 1) allows the target microprogram to be divided into a number of microroutines each having a size smaller than the above-mentioned storage capacity, and while one of the microroutines is being executed, the remaining microprograms are microprograms i, t such that the microroutines of i, t do not need to be stored on the control memory 111;
Applicable only to c. Instead, divide the target microprogram into several microroutines (hereinafter referred to as user routines), and add the above code to the end of all user routines except for the user routine that should be started last. Instruction decoder control register 1
07 to store data (0000) from the internal data bus 102 via the second selector 106, and a microroutine activated at the beginning of the machine language instruction shown in FIG. Then control, -1a fault address 109 starts with "424" (16) /#a
Add -1 the branching microinstruction to the beginning of the run (1-1)
3. At the end of the user routine that should be activated last, add a microinstruction that generates a control signal 114 to notify the end of the microroutine and that it is the final microroutine. .. ζi−, 1) IJ
The machine language instructions shown in FIG. It is assumed that the microroutine is stored in the replaceable storage section 111a of the control record '1λ1111, and that the microroutine that is activated last is a dummy microroutine.Next, using the machine language Q instruction shown in FIG. The data can be changed from the external memory 101 to the control memory 111 using the Coser routine that should be started first.

なお、この機械語命令は前記の格納動作のみを行なって
終了する。次に、前記第5図に示した機械語命令を用い
て、既に格納されでいる最初のニー29 7、− ザールーチンを起動する。起動されたユーザールーチン
は本来の処理に盛装なマイクロ命令の実行を終えた後、
命令解読器制御レジスタ107(/i’l:データ(o
ooo)を格納しくなお格納前のデータは第9図より(
1111)となっている)、前記のロードルーチンの先
頭に分岐する。ロードルーチンは、次に起動すべきユー
ザールーチンを外部記憶101から制御記憶111の書
き換え可能記憶部111aに格納(このとき先に実行さ
れたユーザールーチンは破壊される)した後、マイクロ
ルーチンの終了を通知する制御信号114を生成するマ
イクロ命令を実行する。このとき命令レジスタ104の
データは前記の第5図に示した機械語命令のままであり
、命令解読器制御レジスタ107のデータは(0000
)に変更されているため、命令解読器108は再びユー
ザールーチンの先頭制御記憶アドレス109を生成する
ため、次のユーザールーチンが起動される。以下同様に
最終のユーザールーチンが起動されるまで、順次ユーザ
30、− の書き換え可能記憶部111aKS納六り実行されてい
く。最終のユーザールーチンの中では、命令解読器制御
レジスタ107に格納されているデータを変更しないだ
め、最後のマイクロ扁令を実行した後にダミー・マイク
ロルーチンを実行して対象となるマイクロプログラムの
実行を終える。なお、各々のユーザールーチンの起動さ
れる先頭制御記憶アドレス109が異なる場合には、各
々のユーザールーチンの直前に実行されるユーザールー
チンの末尾に、命令レジスタ104に格納されている前
記第5図に示した機械語命令のENTフィールド501
に相当する値を変更するよう々マイクロ命令を更に付加
すればよい。
Note that this machine language instruction performs only the storage operation described above and ends. Next, the machine language instruction shown in FIG. 5 is used to start the first user routine 297, which has already been stored. After the activated user routine finishes executing the microinstructions that are part of its original processing,
Instruction decoder control register 107 (/i'l: data (o
ooo).The data before storage is shown in Figure 9 (
1111)), the program branches to the beginning of the load routine described above. The load routine stores the user routine to be started next from the external storage 101 into the rewritable storage section 111a of the control memory 111 (at this time, the previously executed user routine is destroyed), and then terminates the microroutine. A microinstruction is executed that generates a control signal 114 to notify. At this time, the data in the instruction register 104 remains the machine language instruction shown in FIG. 5, and the data in the instruction decoder control register 107 is (0000
), the instruction decoder 108 again generates the start control storage address 109 of the user routine, so that the next user routine is activated. Thereafter, the rewritable storage units 111aKS of the users 30, - are sequentially executed in the same manner until the final user routine is activated. In the final user routine, the data stored in the instruction decoder control register 107 must not be changed, so after executing the last micro-instruction, a dummy microroutine is executed to execute the target microprogram. Finish. Note that if the starting control memory address 109 of each user routine is different, the start control memory address 109 stored in the instruction register 104 at the end of the user routine executed immediately before each user routine is ENT field 501 of the machine language instruction shown
A microinstruction may be added to change the value corresponding to .

発明の効果 以上のように、本発明によればユーザーが作成したマイ
クロプログラムをマイクロプログラム内に容易に格納し
て実行でき、壕だユーザーが作成したマイクロプログラ
ムの中で既に常駐化されている各種のユーティリディ・
マイクロプログラムを柔軟に利用できる。またとれらの
機能を応用す31 A− ることにより、実際にマイクロプロセッサ上に実装され
ている制御記憶の書き換え可能記憶部の記憶容量より大
きなサイズのマイクロプログラムでも実行できる。従っ
て、柔軟なアーキテクチャをもつマイクロプログラム制
御方式マイクロプロセッサを限られた容量の制御記憶で
実現することができる。
Effects of the Invention As described above, according to the present invention, a microprogram created by a user can be easily stored and executed within a microprogram, and various types already resident in a microprogram created by a user can be easily stored and executed. The utility of
Microprograms can be used flexibly. Furthermore, by applying these functions, it is possible to execute even a microprogram whose size is larger than the storage capacity of the rewritable control storage section actually mounted on the microprocessor. Therefore, a microprogram controlled microprocessor with a flexible architecture can be realized with a limited amount of control memory.

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

第1図は本発明の一実施例の構成を示すブロック図、第
2図は従来のマイクロプログラム制御方式マイクロプロ
セッサの構成を示すブロック図、第3図は本発明の実施
例の構成要素である命令解読器の内容を示すPLAデー
タの説明図、第4図はある機械語命令に対する第3図の
命令解読器の動作の説明図、第5図は制御記憶の書き換
え可能記憶部に格納されているマイクロプログラムを実
行するだめの機械語命令の説明図、第6図は第3図と同
じく命令解読器の内容を示すPLAデータの説明図、第
7図は第5図に示す機械語命令に対する第6図の命令解
読器の動作の説明図、第8図は外部記憶に格納されてい
るマイクロプログラムを制御記憶の書き換え可能部に格
納するだめの機械語命令の説明図、第9図は第8図に示
す機械語命令に対する第6図の命令解読器の動作の説明
図、第10図(a)から同図(e)までは本発明の実施
例におけるマイクロプログラムの処理の流れ図である。 101・・・・・・外部記憶、102・・・・・・内部
データバス、103・・・・・・第1のセレクタ、10
4・・・・・・命令レジスタ、106・・・・・・第2
のセレクタ、107・・・・・・命令解読器制御レジス
タ、108・・・・・・命令解読器、110・・・・・
・制御記憶アドレスレジスタ、111・・・・・・制御
記憶、111a・・・・・・制御記憶の書き換え可能記
憶部、115・・・・・・制御記憶書き換え手段。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第1
図 L!J 第2図 L−一−−−−m−−一一一一一一」 シ≧ぞ二H・0AOO−・嗜・壷。0OOOO争Σくo
     争−一00中会幸傳争S OOOO○魯E<
■−+、−−(o+−◆φ嗜拳。0「→00()−:E
l<1+        ++S+0 − +  −−
,000SO0Hx<XD     番+−1−−〇−
中舎φeHQoo−o−:G: <u”1−CIC3C
)+@’  ・−9−C1OC1000者7d、w  
      −AAAO−−−−−0OO○0〇 −x
くn        やHHHH拳 −切 −−000
oOo ^Σ<4N         −0000−ヤ
 −−−00000−1−:)l:4S       
 −QC)00  e −’  −φr−100000
−E(J[ミー+、4ri−Or−+O−@−−一φ−
C)CIC)C1()()やzue−へ   −0r−
1006−−−−000000−1ueq−−〇SOO
−−−−,000000−EUEs−0−、−+5oO
−−−−,0oOoQo −H氏〉      ・××
××  中 ・ ・ ・ ・XXXXXX  ・H国ψ
      舎X×X、−1・ ・ ・ −會XO,−
IXXX  ・1−IELI”l        −X
XXX  −中 −−−XOX、−IXX  −区 法 城                  城第10図 1N開昭62−135935(1) 第10図 cd、)
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of a conventional microprogram control microprocessor, and FIG. 3 is a block diagram showing the configuration of an embodiment of the present invention. An explanatory diagram of PLA data showing the contents of the instruction decoder, FIG. 4 is an explanatory diagram of the operation of the instruction decoder of FIG. 3 for a certain machine language instruction, and FIG. Figure 6 is an explanatory diagram of PLA data showing the contents of the instruction decoder, similar to Figure 3, and Figure 7 is an explanatory diagram of machine language instructions for executing the microprogram shown in Figure 5. FIG. 6 is an explanatory diagram of the operation of the instruction decoder, FIG. 8 is an explanatory diagram of machine language instructions for storing a microprogram stored in external storage into the rewritable part of control memory, and FIG. 9 is an explanatory diagram of the operation of the instruction decoder. An explanatory diagram of the operation of the instruction decoder of FIG. 6 for the machine language instruction shown in FIG. 8, and FIGS. 10(a) to 10(e) are flowcharts of the microprogram processing in the embodiment of the present invention. 101...External storage, 102...Internal data bus, 103...First selector, 10
4...Instruction register, 106...2nd
selector, 107...instruction decoder control register, 108...instruction decoder, 110...
Control memory address register, 111... Control memory, 111a... Control memory rewritable storage section, 115... Control memory rewriting means. Name of agent: Patent attorney Toshio Nakao and 1 other person No. 1
Figure L! J Fig. 2 L-1---m---111111'' C≧zo2H・0AOO−・Enjoy・Urban. 0OOOO fight Σkuo
Conflict - 100 Chukai Koden Conflict S OOOO○Lu E<
■-+,--(o+-◆φShuken.0"→00()-:E
l<1+ ++S+0 − + −−
,000SO0Hx<XD number +-1--〇-
NakashaφeHQoo-o-:G: <u”1-CIC3C
)+@' ・-9-C1OC1000 person 7d, w
-AAAO----0OO○0〇 -x
Kun and HHHH fist -kiri--000
oOo ^Σ<4N -0000-ya ---00000-1-:)l:4S
-QC)00 e -' -φr-100000
-E(J[Me+, 4ri-Or-+O-@--1φ-
C)CIC)C1()() and zue- -0r-
1006---000000-1ueq---〇SOO
−−−,000000−EUEs−0−,−+5oO
−−−−,0oOoQo −Mr. H> ・××
×× Medium ・ ・ ・ ・XXXXXX ・H country ψ
House X×X, -1・ ・ ・ − Meeting XO, −
IXXX ・1-IELI"l -X
XXX - Medium ---

Claims (4)

【特許請求の範囲】[Claims] (1)外部の記憶からフェッチされた機械語命令と内部
データバスを介して供給されるデータを2つの入力とす
る第1のセレクタと、前記第1のセレクタの出力を格納
する命令レジスタと、前記内部データバスを介して供給
されるデータと命令解読器制御データとを2つの入力と
する第2のセレクタと、前記第2のセレクタの出力を格
納する命令解読器制御レジスタと、前記命令レジスタの
出力と前記命令解読器制御レジスタの出力とを入力とし
制御記憶アドレスと前記命令解読器制御データとを出力
する命令解読器と、前記制御記憶アドレスを格納する制
御記憶アドレスレジスタと、前記制御記憶アドレスレジ
スタの出力をアドレスとして読み出されるマイクロプロ
グラムを格納する制御記憶とを具備することを特徴とす
るマイクロプログラム制御方式マイクロプロセッサ。
(1) a first selector that receives machine language instructions fetched from external storage and data supplied via an internal data bus as two inputs; and an instruction register that stores the output of the first selector; a second selector that receives data supplied via the internal data bus and instruction decoder control data as two inputs; an instruction decoder control register that stores an output of the second selector; and the instruction register. and an output of the instruction decoder control register, and outputs a control memory address and the instruction decoder control data, a control memory address register storing the control memory address, and the control memory. 1. A microprogram control type microprocessor comprising a control memory storing a microprogram read out using an output of an address register as an address.
(2)制御記憶の一部を書き換え可能記憶により構成し
、外部の記憶に保持されている第1のマイクロプログラ
ムを前記制御記憶の書き換え可能記憶部の一部またはす
べてに対して格納する制御記憶書き換え手段を具備する
ことを特徴とする特許請求の範囲第1項に記載のマイク
ロプログラム制御方式マイクロプロセッサ。
(2) A control memory in which a part of the control memory is constituted by a rewritable memory, and a first microprogram held in an external memory is stored in part or all of the rewritable memory section of the control memory. 2. A microprogram controlled microprocessor according to claim 1, further comprising rewriting means.
(3)制御記憶書き換え手段を、前記制御記憶に格納さ
れている第2のマイクロプログラムが制御することを特
徴とする特許請求の範囲第2項に記載のマイクロプログ
ラム制御方式マイクロプロセッサ。
(3) A microprogram-controlled microprocessor according to claim 2, wherein the control memory rewriting means is controlled by a second microprogram stored in the control memory.
(4)第2のマイクロプログラムの先頭制御記憶アドレ
スを、前記制御記憶の書き換え可能記憶部に格納された
第3のマイクロプログラムにより内部データバスを介し
てデータを前記命令解読器制御レジスタに供給して前記
命令解読器から出力させることにより、前記第2のマイ
クロプログラムを起動することを特徴とする特許請求の
範囲第3項に記載のマイクロプログラム制御方式マイク
ロプロセッサ。
(4) A third microprogram stored in a rewritable storage section of the control memory supplies data to the instruction decoder control register via an internal data bus, using the first control memory address of the second microprogram. 4. The microprocessor according to claim 3, wherein the second microprogram is activated by outputting the instruction from the instruction decoder.
JP27717285A 1985-12-10 1985-12-10 Microprogram control system microprocessor Pending JPS62135935A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27717285A JPS62135935A (en) 1985-12-10 1985-12-10 Microprogram control system microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27717285A JPS62135935A (en) 1985-12-10 1985-12-10 Microprogram control system microprocessor

Publications (1)

Publication Number Publication Date
JPS62135935A true JPS62135935A (en) 1987-06-18

Family

ID=17579809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27717285A Pending JPS62135935A (en) 1985-12-10 1985-12-10 Microprogram control system microprocessor

Country Status (1)

Country Link
JP (1) JPS62135935A (en)

Similar Documents

Publication Publication Date Title
JPH0235523A (en) Flexible asic microcomputer
JP3954171B2 (en) How to fill a vector with scalar values on a computer
JPH0248931B2 (en)
JPS62197830A (en) Data processing system
JPH0241053B2 (en)
JPH0346850B2 (en)
JPS6122817B2 (en)
JPH0447335B2 (en)
JPS62135935A (en) Microprogram control system microprocessor
JP2000259586A (en) Method for controlling configuration of multiprocessor system
JPH0778730B2 (en) Information processing equipment
JPS5998253A (en) Microprogram controller
JPS58221444A (en) Controlling device of microprogram
JPH0277942A (en) Memory and microprogram controller
JPS63201724A (en) Microprogram loading circuit
JPH0196733A (en) Control memory
JPH0810429B2 (en) Micro program controller
JPS6142034A (en) Microprogram control device
JPS6198444A (en) Control memory system
JPH0226252B2 (en)
JPS6375833A (en) Information processor
JPS6215645A (en) Central processing unit
JPS59186048A (en) Microprogram control system
JPH02143328A (en) Micro-program control device
JPS6373332A (en) Microprogram control system