JPS6122816B2 - - Google Patents
Info
- Publication number
- JPS6122816B2 JPS6122816B2 JP3557579A JP3557579A JPS6122816B2 JP S6122816 B2 JPS6122816 B2 JP S6122816B2 JP 3557579 A JP3557579 A JP 3557579A JP 3557579 A JP3557579 A JP 3557579A JP S6122816 B2 JPS6122816 B2 JP S6122816B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- microprogram
- register
- signal
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000015654 memory Effects 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 101100343753 Mycobacterium intracellulare lpqH gene Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Description
【発明の詳細な説明】
〔産業上の利用範囲〕
本発明はマイクロプログラム制御のデータ処理
装置のための、とくにマイクロプロセツサーシス
テムのためのマイクロプログラム・アドレス制御
装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Scope of Industrial Application] The present invention relates to a microprogram address control device for a microprogram controlled data processing device, in particular for a microprocessor system.
従来、マイクロプログラム制御のマイクロプロ
セツサ・システムは通常、第1図の如く構成され
る。すなわち、基本的にはマイクロプロセツサ1
00、マイクロプログラム・メモリ101、主メ
モリ102から構成され、マイクロプロセツサ1
00内のマイクロプログラム・アドレス制御部は
マクロ命令レジスタ103,マイクロプログラ
ム・アドレス・レジスタ104、マクロ命令レジ
スタ105、マイクロプログラム・アドレス作成
回路106から構成されている。
Conventionally, a microprogram-controlled microprocessor system is usually configured as shown in FIG. In other words, basically microprocessor 1
00, microprogram memory 101, main memory 102, and microprocessor 1
The microprogram address control section in 00 is composed of a macroinstruction register 103, a microprogram address register 104, a macroinstruction register 105, and a microprogram address generation circuit 106.
アドレス・レジスタ104に置数されたデータ
は信号1Cを通じてマイクロプログラム・メモリ
101に送出され、これに応じて1つのマイクロ
命令が信号線1bを通じてマクロ命令レジスタ1
03に置数され、各制御が成される。一方、マク
ロ命令の実行は主メモリ102から読み出された
命令語がデータ・バス1aを介してマイクロプロ
セツサ100内のマクロ命令レジスタ105に置
数され、この命令語の形式を解読し、マイクロプ
ログラム・アドレス作成回路106によて命令実
行のためマイクロプログラム・ルーチンの先頭ア
ドレスを発生せしめ、これをアドレス・レジスタ
104に置数して、以後、前記したと同様のシー
ケンスでマイクロプログラム制御が成される。ま
た、マイクロプログラム中に含まれる分岐もマイ
クロ命令レジスタ103、アドレス作成回路10
6、アドレス・レジスタ104も経由して成され
る。 The data placed in the address register 104 is sent to the microprogram memory 101 through the signal 1C, and in response, one microinstruction is sent to the macroinstruction register 101 through the signal line 1b.
03, and each control is performed. On the other hand, when executing a macro instruction, the instruction word read from the main memory 102 is placed in the macro instruction register 105 in the microprocessor 100 via the data bus 1a, the format of this instruction word is decoded, and the The program address generation circuit 106 generates the start address of the microprogram routine for instruction execution, stores this in the address register 104, and thereafter performs microprogram control in the same sequence as described above. be done. In addition, branches included in the microprogram are also handled by the microinstruction register 103 and the address generation circuit 10.
6, also via the address register 104.
こうしたマイクロプログラム・アドレスの制御
において次の様な欠点がある。
There are the following drawbacks in controlling such microprogram addresses.
(1) アドレスの柔軟性
マイクロプログラムのアドレス制御部が全てマ
イクロプロセツサ100に内蔵されているため、
アドレスの作成理論が固定化している。従つて、
マクロ命令レジスタ105に置数された命令語の
パターンによつて1つのアドレスだけしか得られ
ず、柔軟性に欠ける。すなわち、異なる命令体系
のデータ処理装置を2つ以上同一のマイクロプロ
セツサにて実現する事が困難となる。(1) Address flexibility Since the address control section of the microprogram is all built into the microprocessor 100,
The theory of address creation is fixed. Therefore,
Only one address can be obtained depending on the instruction word pattern placed in the macro instruction register 105, resulting in a lack of flexibility. That is, it becomes difficult to implement two or more data processing devices with different instruction systems using the same microprocessor.
(2) ピン・ネツク
1つのマイクロプロセツサにマイクロ命令の入
力専用ピンとマイクロプログラム・アドレス出力
専用ピンを設ける事はLSI(Large Scaie
Integration)のピン数を著しく増加させ、ピン
ネツクあるいは他機能のためのピンが入れられな
くなる欠点がある。(2) Pin network Providing pins dedicated to input of microinstructions and pins dedicated to microprogram address output in one microprocessor is an LSI (Large Scaie
This has the disadvantage that it significantly increases the number of pins (integration) and makes it impossible to insert pins for pin connections or other functions.
なお、マイクロプログラム・アドレス制御によ
るマイクロプロセツサに関し、マイクロプログラ
ム全体の設計を容易にする命令デコード装置が公
知であり(特開昭54−5639号公報)、この公報に
はマイクロデータレジスタ6からのデーとマイク
ロ命令以外の信号(命令レジスタ1からのデー
タ)を組み合わせてマイクロアドレスを生成する
旨の記載があるが、このシステムはアドレス源と
して用いるものは命令レジスタからのデータの一
部を用いるものであり、組合せるアドレス源が限
定されるからマイクロプログラム・アドレスの生
成に柔軟性を欠くものである。 Regarding microprocessors using microprogram address control, an instruction decoding device that facilitates the design of the entire microprogram is known (Japanese Unexamined Patent Publication No. 54-5639). There is a description that a microaddress is generated by combining data and a signal other than the microinstruction (data from instruction register 1), but this system uses part of the data from the instruction register as the address source. Since the address sources to be combined are limited, there is a lack of flexibility in generating microprogram addresses.
本発明は前記した従来技術に鑑み成されたもの
であり、その目的はマイクロプログラム・アドレ
スの生成に柔軟性をもたせうるマイクロプログラ
ム・アドレス制御装置を提供するにある。 The present invention has been made in view of the prior art described above, and its object is to provide a microprogram address control device that can provide flexibility in generating microprogram addresses.
上記問題点を解決するために、本発明は、デー
タ処理装置を制御するためのマイクロ命令をマイ
クロプログラム・メモリから順次読出すために、
上記マイクロプログラム・メモリから読出された
マイクロ命令および主メモリからのマクロ命令が
置数されたマクロ命令レジスタからの出力信号に
応答してマイクロプログラム・アドレスを作成す
る手段と、作成されたマイクロプログラム・アド
レスを置数する手段と、を有するマイクロプログ
ラム・アドレス制御装置において、
前記マイクロプログラム・アドレス作成手段
は、前記マクロ命令レジスタからの出力信号の命
令形式を解読するマクロ命令解読回路と、サブル
ーチン戻りアドレスが置数されるサブルーチン戻
りアドレス・レジスタと、前記マクロ命令レジス
タ・マクロ命令解読回路およびサブルーチン戻り
アドレス・レジスタの各出力信号に応答して前記
マイクロプログラム・アドレス置数手段に入力さ
れるべきアドレス信号の一部の信号を出力するマ
イクロプログラム・アドレス選択回路と、マイク
ロプログラム・アドレス選択回路の出力信号と前
記マイクロプログラム・メモリから読み出された
マイクロ命令のアドレス指定フイールド内の一部
のデータとを合成し、この合成データ信号をアド
レス信号として前記マイクロプログラム・アドレ
ス置数手段に入力する手段と、を備えたことを特
徴とするものである。
In order to solve the above problems, the present invention provides a method for sequentially reading microinstructions for controlling a data processing device from a microprogram memory.
means for creating a microprogram address in response to an output signal from a macroinstruction register in which a microinstruction read from the microprogram memory and a macroinstruction from the main memory are placed; In a microprogram address control device, the microprogram address generating means includes a macro instruction decoding circuit for decoding an instruction format of an output signal from the macro instruction register, and a subroutine return address. a subroutine return address register in which is placed; and an address signal to be input to the microprogram address setting means in response to each output signal of the macroinstruction register/macroinstruction decoding circuit and subroutine return address register. a microprogram address selection circuit that outputs some signals of the microprogram address selection circuit; and a microprogram address selection circuit that outputs the output signals of the microprogram address selection circuit and some data in the addressing field of the microinstruction read from the microprogram memory. The present invention is characterized by comprising means for synthesizing the data signal and inputting the synthesized data signal to the microprogram address setting means as an address signal.
上記本発明の構成によれば、マイクロプログラ
ム・アドレス作成手段はマイクロプログラム・ア
ドレス選択回路を備えており、このマイクロプロ
グラム・アドレス選択回路はマクロ命令レジス
タ、マクロ命令解読回路およびサブルーチン戻り
アドレス・レジスタの各出力信号に応答してアド
レス信号の一部の信号を出力し、この一部の信号
がマイクロプログラム・メモリからのマイクロ命
令のアドレス指定フイールド内の一部のデータと
合成された状態でマイクロプログラム・アドレス
置数手段に置数されるので、従来のように単にマ
クロ命令レジスタの一部のみをアドレス源として
合成するのに比べ、マイクロプログラム・アドレ
スの生成に柔軟性をもたせることができる。
According to the above configuration of the present invention, the microprogram address generation means includes a microprogram address selection circuit, and this microprogram address selection circuit selects between the macro instruction register, the macro instruction decoding circuit, and the subroutine return address register. The microprogram outputs a portion of the address signal in response to each output signal, and the portion of the signal is combined with some data in the addressing field of the microinstruction from the microprogram memory. - Since the address is placed in the address setting means, it is possible to have more flexibility in generating the microprogram address, compared to the conventional method of simply synthesizing only a part of the macro instruction register as an address source.
すなわち、本発明においては合成しうるアドレ
ス源がマクロ命令解読回路およびサブルーチン戻
りアドレス・レジスタをも含みアドレスの合成は
命令分岐(マルチウエイジヤンプ)やマイクロサ
ブルーチン分岐(戻りアドレス)においても行な
われるのでマイクロ命令の一部の記述により柔軟
性の高いマイクロプログラム・アドレス制御が可
能となる。この柔軟性とは、換言すれば、分岐に
おけるマイクロプログラム・メモリの番地が固定
されないことを意味する。 That is, in the present invention, the address source that can be synthesized includes the macro instruction decoding circuit and the subroutine return address register, and address synthesis is also performed at instruction branches (multiway jumps) and micro subroutine branches (return addresses). Highly flexible microprogram address control is possible by describing part of the instructions. In other words, this flexibility means that the microprogram memory address at the branch is not fixed.
次に、本発明を好適に実施する具体的実施例を
図面を用いて詳細に説明する。
Next, specific embodiments for carrying out the present invention will be described in detail with reference to the drawings.
第2図は本発明を実施するマイクロプロセツ
サ・システムの構成の概略図である。このシステ
ムは基本的にはデータバス1a,マイクロプロセ
ツサ100′、マイクロプログラム・メモリ10
1、主メモリ102、マイクロプログラム・アド
レスレジスタ104から成り、マイクロプロセツ
サ100′内のマイクロプログラム・アドレス制
御部はマイクロ命令レジスタ103、マクロ命令
レジスタ105、マイクロプログラム・アドレス
作成回路106から成る。本構成と第1図の従来
例との相違はマイクロプログラム・アドレス・レ
ジスタ104がマイクロプロセツサ100′外に
設けられている点とマイクロプログラム・メモリ
101からの出力の一部がアドレス作成回路10
6の出力と合成してマイクロプログラム・アドレ
スを形成するごとくアドレス・レジスタ104に
連絡されている点およびマイクロプログラム・メ
モリ101からアドレス作成回路106への入力
線と、アドレス作成回路106の出力線とが共通
の信号線を用いている点にある。アドレスを合成
することによりアドレス作成の柔軟性をもたせ、
共通の信号線を用いることにより、ピン数を減少
することができる。本構成によれば、マイクロプ
ログラム・メモリ101から読み出されたマイク
ロ命令レジスタ103に置数されるか、あるいは
アドレス・レジスタ104に直接置数される。 FIG. 2 is a schematic diagram of the configuration of a microprocessor system implementing the present invention. This system basically consists of a data bus 1a, a microprocessor 100', and a microprogram memory 10.
1, a main memory 102 and a microprogram address register 104; the microprogram address control section in the microprocessor 100' consists of a microinstruction register 103, a macroinstruction register 105, and a microprogram address generation circuit 106; The difference between this configuration and the conventional example shown in FIG.
6 to form the microprogram address, and the input line from the microprogram memory 101 to the address generation circuit 106 and the output line of the address generation circuit 106. The point is that they use a common signal line. Provides flexibility in address creation by combining addresses,
By using a common signal line, the number of pins can be reduced. According to this configuration, the number is placed in the microinstruction register 103 read from the microprogram memory 101, or directly placed in the address register 104.
一方、主メモリ102から読み出されるマクロ
命令はマクロ命令レジスタ105に置数され、マ
イクロプログラム・アドレス作成回路106によ
りマイクロプログラム・アドレスの形で解読結果
を出力し、これをアドレス・レジスタ104に置
数する事になる。すなわち、アドレス・レジスタ
104はマイクロプログラム・アドレス作成回路
106とマイクロプログラム・メモリ101から
のデータを置数することができるから、これらを
適当に合成して1つのアドレスを形成するように
置数することができる。 On the other hand, the macro instruction read from the main memory 102 is placed in the macro instruction register 105, and the microprogram address generation circuit 106 outputs the decoding result in the form of a microprogram address, which is placed in the address register 104. I will do it. That is, since the address register 104 can store data from the microprogram address generation circuit 106 and the microprogram memory 101, the data is appropriately combined to form one address. be able to.
第3図は本発明を実施するマイクロプロセツ
サ・システムの構成の詳細図である。本マイクロ
プロセツサ・システムは2つのマイクロプロセツ
サ100′a,100′b,8ビツト毎に分割され
た3つのマイクロプログラム・メモリ101a,
101b,101c、マイクロプログラム・アド
レス・レジスタ104、アドレス出力要求解読用
ゲート301から構成される。本実施例で用いる
マイクロ命令は24ビツトからなる。以下ではこの
24ビツトの桁位はMiを用いて示す。マイクロプ
ログラム・メモリ101a,101b,101c
にはそれぞれMi0〜7,8〜13および22および
23,14〜21のビツトが記憶されている。またマイ
クロプログラム・アドレスは12ビツトからなる。
また、本発明になるマイクロプログラム・アドレ
ス制御装置は上記アドレス・レジスタ104とゲ
ート301とマイクロプロセツサ100′a,1
00′b内のレジスタ作成回路であり、この作成
回路は第6図に示し後述する。 FIG. 3 is a detailed diagram of the configuration of a microprocessor system implementing the present invention. This microprocessor system consists of two microprocessors 100'a and 100'b, three microprogram memories 101a divided into 8-bit units,
101b and 101c, a microprogram address register 104, and an address output request decoding gate 301. The microinstruction used in this embodiment consists of 24 bits. Below this
The 24-bit digit is indicated using Mi. Microprogram memory 101a, 101b, 101c
Mi0~7, 8~13 and 22 and
Bits 23, 14 to 21 are stored. Also, the microprogram address consists of 12 bits.
Further, the microprogram address control device according to the present invention includes the address register 104, the gate 301, and the microprocessor 100'a, 1
This is a register creation circuit in 00'b, and this creation circuit is shown in FIG. 6 and will be described later.
先ず、第3図のシステムの基本動作を説明す
る。 First, the basic operation of the system shown in FIG. 3 will be explained.
(1) 通常の分岐時
第4図aに示した形式(形式aと称する)のマ
イクロ命令の時には通常のマイクロプログラム分
岐を実行する。すなわち、Mi0が“1”の時、
Mi12〜23のビツトは分岐アドレス・フイードと
なり、マイクロプログラム・メモリ101bの
Mi12,13および22,23はそれぞれ信号線3cお
よび3eを介し、メモリ101cのMi14〜21の
8ビツトは信号線3dを介しマイクロプログラ
ム・アドレス・レジスタ104に入力され、本レ
ジスタ104の内容は第5図aに示される変更前
の値K第5図b,1に示す如く、第4図aの命令
Mi12〜23に示された“A”なる値にかわる。ま
たマイクロプロセツサ100′bは信号線3aを
介して入力されるMi0〜11の12ビツトの最上位ビ
ツトMi0が“1”である時に信号線3fに信号
“0”を出力してマイクロプログラム・レジスタ
104をデータのロード・モードとする働きをも
つ(ロード要求)。レジスタ104に置数された
“A”なるアドレスはマイクロプログラム・アド
レス・バス1cによりマイクロプログラム・メモ
リ101a,b,cに供給され、これに応じたマ
イクロ命令を読み出し、システムの制御はそのマ
イクロ命令に移される。(1) Normal branch When the microinstruction is in the format shown in FIG. 4a (referred to as format a), a normal microprogram branch is executed. In other words, when Mi0 is “1”,
Bits Mi12 to Mi23 become branch address feeds and are stored in microprogram memory 101b.
Mi12, 13 and 22, 23 are input to the microprogram address register 104 via the signal line 3c and 3e, respectively, and the 8 bits of Mi14 to Mi21 of the memory 101c are input to the microprogram address register 104 via the signal line 3d. The value before the change shown in Figure 5a.
It changes to the value "A" shown in Mi12-23. Furthermore, when the most significant bit Mi0 of the 12 bits Mi0 to Mi11 input via the signal line 3a is "1", the microprocessor 100'b outputs a signal "0" to the signal line 3f to program the microprogram. It has the function of setting the register 104 to data load mode (load request). The address "A" placed in the register 104 is supplied to the microprogram memories 101a, b, c by the microprogram address bus 1c, and the corresponding microinstruction is read out, and the control of the system is based on that microinstruction. will be moved to
(2) 特殊な分岐時
第4図bに示した形式(以下形式bと称する)
のマイクロ命令時には特殊なマイクロプログラム
分岐を実行する。すなわち、Mi0〜2の3ビツト
が全て“0”の時、Mi12,13および22,23の4
ビツトが信号線3cおよび3eを介し、マイクロ
プロセツサ100′aからのアドレス・データ8
ビツト(今このデータの値を“B”とする)が信
号線3dをそれぞれ介してマイクロプログラム・
アドレス・レジスタ104に入力され、本レジス
タ104の内容は第5図b,2に示す如く、
Mi12,13,22,23に示された(α,β,γ,
δ)およびマイクロプロセツサ100′aから出
力される“B”なる値できまるアドレスとなる。
この時、マイクロプロセツサ100′bは入力さ
れるMi0〜11の12ビツトの上位3ビツトが全て
“0”である事を解読して、前記通常の分岐時と
同様に信号線3fに“0”信号を出力してレジス
タ104をデータのロード・モードとする(ロー
ド要求)。一方、本特殊分岐時にはマイクロプロ
グラム・アドレス・レジスタ104のビツト2〜
9の8ビツトがマイクロプロセツサ100′aか
ら出力されるから、この時にはマイクロプログラ
ム・メモリ101cの出力を禁止しなければなら
ない。このため、メモリ101aの出力8ビツト
の上位3ビツトが全て“0”である事をクロツク
信号φ−Nに同期して検出するゲート301の線
3b上の出力が“1”の時、メモリ101cの出
力を禁止し、マイクロプロセツサ100′aのア
ドレス出力を許可する(多分岐要求)。(2) At the time of special branching The format shown in Figure 4 b (hereinafter referred to as format b)
When a microinstruction is issued, a special microprogram branch is executed. In other words, when all 3 bits of Mi0 to 2 are “0”, 4 bits of Mi12, 13 and 22, 23
The address data 8 from the microprocessor 100'a is transmitted via signal lines 3c and 3e.
The bits (the value of this data is now "B") are sent to the microprogram via the signal line 3d.
It is input to the address register 104, and the contents of this register 104 are as shown in FIG. 5b, 2.
Mi12, 13, 22, 23 (α, β, γ,
δ) and the value "B" output from the microprocessor 100'a.
At this time, the microprocessor 100'b decodes that the upper 3 bits of the 12 bits of input Mi0 to Mi11 are all "0", and sends "0" to the signal line 3f as in the normal branching. ” signal to put the register 104 into data load mode (load request). On the other hand, at this special branch, bits 2 to 2 of the microprogram address register 104 are
Since 8 bits of 9 are output from the microprocessor 100'a, the output of the microprogram memory 101c must be inhibited at this time. Therefore, when the output on the line 3b of the gate 301, which detects in synchronization with the clock signal φ-N that the upper 3 bits of the 8 output bits of the memory 101a are all "0", is "1", the memory 101c output of the microprocessor 100'a is prohibited, and address output of the microprocessor 100'a is permitted (multi-branch request).
以上、2種の分岐以外はマイクロプロセツサ′
bからの信号3fは“1”となつてマイクロプロ
グラム・アドレス・レジスタ104は第5図3に
示す如く現内容Kをクロツク信号φ−Nに同期し
て+1するカウンタとして働く(インクリメン
ト・モード)。 Above, except for the two types of branches, the microprocessor'
The signal 3f from b becomes "1", and the microprogram address register 104 functions as a counter that increments the current content K by 1 in synchronization with the clock signal φ-N as shown in FIG. 5 (increment mode). .
次に、第6図によりマイクロプロセツサ10
0′a構成のうち、マイクロプログラム・アドレ
ス作成回路およびその周辺部を説明する。この構
成はデータバス1aに接続された16ビツトのマク
ロ命令レジスタ105、8ビツトのサブルーチン
戻りアドレス・レジスタ・レジスタ601、マク
ロ命令解読回路600、マイクロプログラム・ア
ドレス選択回路602、入力バツフア603,6
04,607,608,3ステート出力バツフア
606およびこのドライバ605から成る。 Next, according to FIG. 6, the microprocessor 10
Of the 0'a configuration, the microprogram address generation circuit and its peripheral parts will be explained. This configuration includes a 16-bit macro instruction register 105 connected to the data bus 1a, an 8-bit subroutine return address register 601, a macro instruction decoding circuit 600, a microprogram address selection circuit 602, and input buffers 603 and 6.
04, 607, 608, 3-state output buffer 606 and its driver 605.
マクロ命令レジスタ105の内容は信号線6a
をマクロ命令解読回路600に入力され、該解読
回路600にて命令形式が判断され、この形式は
第7図a〜eに示す如くオペコードOP以外のフ
イールド内容が異なる5種があり、この5種に対
応した5ビツトの信号が線6d上に出力される。
第7図dに示す命令形式4に対しては、アドレス
情報として、8ビツトの特定パターン(リテラ
ル・パターン)が線6c上に出力されるとする。
これら線6c,6d上の信号の他にマクロ命令レ
ジスタ105の内容が信号線6aを介し、サブル
ーチン戻りアドレス・レジスタ601の内容(8
ビツト)が信号線6bを介して、マイクロプロセ
ツサー100′a内で発生されるサブルーチン戻
りアドレス・レジスタを要求する信号が線6eを
介して、それぞれアドレス選択回路602に入力
される。 The contents of the macro instruction register 105 are transferred to the signal line 6a.
is input to the macro instruction decoding circuit 600, and the instruction format is determined by the decoding circuit 600.As shown in FIG. A 5-bit signal corresponding to is output on line 6d.
Assume that for instruction format 4 shown in FIG. 7d, an 8-bit specific pattern (literal pattern) is output on line 6c as address information.
In addition to the signals on lines 6c and 6d, the contents of macroinstruction register 105 are sent via signal line 6a to the contents of subroutine return address register 601 (8
A signal requesting a subroutine return address register generated within microprocessor 100'a is input to address selection circuit 602 via line 6e, respectively.
アドレス選択回路602は線6d上の上記した
命令形式に対応した5種信号とサブルーチン戻り
アドレスを要求する線6e上の信号の計6信号に
応じて、入力される線6a,6b,6c上の3種
のデータを第8図に示す8ビツトのパターンに編
成し直して出力する。即ち、線6e上の信号が
“0”のときには、線6d上の信号が命令形式1
〜5のいずれを示すかにより第8図a〜eのパタ
ーンをそれぞれ出力し、線6e上の信号が“1”
のときには、第8図fに示すパターンを出力す
る。ここでdのK1はマクロ命令解読回路600
から得られる線6c上のリテラル・パターン、f
のRは線6b上されるサブルーチン戻りアドレ
ス・レジスタ601の内容である。この出力結果
は第4図bの形式bのマイクロ命令実行時に発せ
られる信号3bが入力バツフア603,604お
よびドライバ605を通じて3ステート出力バツ
フア606を駆動する時にマイクロプロセツサ1
00′aの外部へ送出される。 The address selection circuit 602 responds to a total of six signals on the input lines 6a, 6b, and 6c, including the five types of signals corresponding to the above-mentioned instruction formats on the line 6d and the signal on the line 6e requesting a subroutine return address. The three types of data are rearranged into an 8-bit pattern shown in FIG. 8 and output. That is, when the signal on line 6e is "0", the signal on line 6d is command format 1.
The patterns shown in FIG.
In this case, the pattern shown in FIG. 8f is output. Here, K1 of d is the macro instruction decoding circuit 600
The literal pattern on line 6c obtained from f
R is the contents of subroutine return address register 601 shown on line 6b. This output result is generated by the microprocessor 1 when the signal 3b issued during the execution of the microinstruction of type b in FIG.
It is sent to the outside of 00'a.
第9図に第3図に示した各部の波形を示す。通
常の分岐時には線3f上の信号が“0”となり、
マイクロプログラム・メモリ101cからの出力
Mi14〜21を線3dに乗せ、これと線3c,3e
上のマイクロプログラム・メモリ101bの出力
の一部Mi12,13,22,23と共にマイクロプログ
ラム・アドレス・レジスタ104にアドレスAと
して置数し、その結果が信号線1cに反映され
る。その後アドレスAはA+1にインクリメント
される。特殊分岐時に更に線3b上の信号が
“1”となつてマイクロプログラム・メモリ10
1cの出力を禁止し、マイクロプロセツサ10
0′aからの出力Bを信号線3dに載せ、これと
線3cと3e上のマイクロプログラム・メモリ1
01bの出力の一部Mi12,1,22,23(データ
α,β,γ,δ)と共にマイクロプログラム・ア
ドレス・レジスタ104にアドレスB′として置数
し、その結果が信号線1cに反映される。 FIG. 9 shows waveforms of each part shown in FIG. 3. During normal branching, the signal on line 3f becomes "0",
Output from microprogram memory 101c
Place Mi14~21 on line 3d, and line 3c, 3e with this
Parts Mi12, 13, 22, and 23 of the output of the microprogram memory 101b above are placed in the microprogram address register 104 as an address A, and the result is reflected on the signal line 1c. Address A is then incremented to A+1. At the time of special branching, the signal on line 3b becomes "1" and the microprogram memory 10
1c output is prohibited and the microprocessor 10
Output B from 0'a is placed on signal line 3d, and this and microprogram memory 1 on lines 3c and 3e.
Part of the output of 01b Mi12, 1, 22, 23 (data α, β, γ, δ) is placed in the microprogram address register 104 as address B', and the result is reflected on signal line 1c. .
最後に、本発明になるマイクロプログラム・ア
ドレス制御装置の好適な使用例を第10図を用い
て説明する。本実施例ではマイクロプログラム・
アドレス・レジスタ104は12ビツト構成として
いるからマイクロプログラム・メモリ101は最
大4K語である。特殊分岐時にはマイクロ命令
Mi12,13およびMi22,23の2ビツトそれぞれが
レジスタ104の上位と下位に置数され、間の8
ビツトにはマイクロプロセツサ100′a内から
出力されるアドレスが置数されるから、例えば、
特殊分岐が命令実行のためのマイクロプログラ
ム・ルーチンの先頭への分岐である場合に、第1
0図a〜dのごとく、マイクロ命令のMi12,13
が(0,0),(0,1),(1,0),(1,1)の
いずれであるかに応じて#0〜#3のいずれかの
ページ(1K語単位)内に分岐する事になる。こ
の事はマイクロプロセツサ100′aからは8ビ
ツトの分岐データがマクロ命令レジスタ105の
内容により一義的に定まるにもかかわらず、マイ
クロプログラミングによりその分岐エリヤを指定
できるという柔軟性を有する事を示す。これは、
同一のマクロ命令パターンにて異なる処理をさせ
たい場合、すなわち、異なる命令体系のデータ処
理装置を1つのマイクロプロセツサに共存させる
事ができる。 Finally, a preferred example of use of the microprogram address control device according to the present invention will be explained with reference to FIG. In this example, the microprogram
Since the address register 104 has a 12-bit configuration, the microprogram memory 101 has a maximum of 4K words. A microinstruction is used when taking a special branch.
Two bits Mi12, 13 and Mi22, 23 are placed in the upper and lower parts of the register 104, and the 8 bits in between are placed in the upper and lower parts of the register 104.
Since the address output from the microprocessor 100'a is set in the bit, for example,
If the special branch is a branch to the beginning of a microprogram routine for instruction execution, the first
As shown in Figure 0 a to d, micro instructions Mi12, 13
Branches to one of pages #0 to #3 (in units of 1K words) depending on whether it is (0,0), (0,1), (1,0), or (1,1). I will do it. This shows that even though the 8-bit branch data from the microprocessor 100'a is uniquely determined by the contents of the macro instruction register 105, it has the flexibility to specify the branch area by microprogramming. . this is,
When it is desired to perform different processes using the same macro instruction pattern, data processing devices with different instruction systems can coexist in one microprocessor.
上記した本発明の一実施例によれば、比較的小
さいマイクロプログラム命令分岐アドレスで広範
囲の分岐アドレスを作成し得る効果を有する。 According to one embodiment of the present invention described above, it is possible to create a wide range of branch addresses with a relatively small microprogram instruction branch address.
また、マイクロ命令の一部を命令分岐あるいは
サブルーチン・リターンのアドレスに加え得るの
で核となる分岐アドレスが小さく、従つてハート
ウエアが小さい状態で広範囲の分岐アドレスを作
成でき、かつ、マイクロプログラミングにより柔
軟性をもつ効果を奏するものである。さらに、ア
ドレス作成回路の出力線と、マイクロプログラ
ム・メモリからの入力線とを共通の信号線により
形成することによりLSIのピン数をへらすことが
できる。 In addition, since a part of the microinstruction can be added to the address of an instruction branch or subroutine return, the core branch address is small, so a wide range of branch addresses can be created with small hardware, and microprogramming is more flexible. It has a unique effect. Furthermore, by forming the output line of the address generation circuit and the input line from the microprogram memory using a common signal line, the number of pins of the LSI can be reduced.
以上述べたように、本発明の構成によれば、マ
イクロプログラム・アドレス作成手段はマイクロ
プログラム・アドレス選択回路を備えており、こ
のマイクロプログラム・アドレス選択回路はマク
ロ命令レジスタ、マクロ命令解読回路およびサブ
ルーチン戻りアドレス・レジスタの各出力信号に
応答してアドレス信号の一部の信号を出力し、こ
の一部の信号がマイクロプログラム・メモリから
のマイクロ命令のアドレス指定フイールド内の一
部のデータと合成された状態でマイクロプログラ
ム・アドレス置数手段に置数されるので、従来の
ように単にマクロ命令レジスタの一部のみをアド
レス源として合成するのに比べ、マイクロプログ
ラム・アドレスの生成に柔軟性をもたせることが
できる。
As described above, according to the configuration of the present invention, the microprogram address generation means includes a microprogram address selection circuit, and this microprogram address selection circuit includes a macroinstruction register, a macroinstruction decoding circuit, and a subroutine. A portion of the address signal is output in response to each output signal of the return address register, and the portion of the signal is combined with a portion of the data in the addressing field of the microinstruction from the microprogram memory. Since the microprogram address is placed in the microprogram address arranging means in a state in which the be able to.
すなわち、本発明においては合成しうるアドレ
ス源がマクロ命令解読回路およびサブルーチン戻
りアドレス・レジスタをも含み、アドレスの合成
は命令分岐(マルチウエイジヤンプ)やマイクロ
サブルーチン分岐(戻りアドレス)においても行
なわれるのでマイクロ命令の一部の記述により柔
軟性の高いマイクロプログラム制御が可能とな
る。この柔軟性とは、換言すれば、分岐における
マイクロプログラム・メモリの番地が固定されな
いことを意味する。 That is, in the present invention, address sources that can be synthesized include the macro instruction decoding circuit and the subroutine return address register, and address synthesis is also performed at instruction branches (multiway jumps) and micro subroutine branches (return addresses). Highly flexible microprogram control is possible by writing part of the microinstructions. In other words, this flexibility means that the microprogram memory address at the branch is not fixed.
第1図は従来のマイクロプログラム・アドレス
制御装置を示す図、第2図は本発明になるマイク
ロプログラム・アドレス制御装置を含むマイクロ
プロセツサ・システムの概略図、第3図はその詳
細図、第4図は分岐を行なうマイクロ命令の形式
を示す図、第5図は本発明になるマイクロプログ
ラム・アドレス制御装置によつて変化するマイク
ロプログラム・アドレス・レジスタの内容を示す
図、第6図はマイクロプログラム・アドレス作成
回路図、第7図はマクロ命令の形式を示す図、第
8図は作成されるアドレス・パターンを示す図、
第9図は本発明になるマイクロプログラム・アド
レス制御装置の動作を示すタイム・チヤート図、
第10図は本発明の使用例を示す図である。
100,100′,100′a,100′b……
マイクロプロセツサー、101,101a,10
1b,101c……マイクロプログラム・メモ
リ、103……マイクロ命令レジスタ、104…
…マイクロプログラム・アドレス・レジスタ、1
05……マクロ命令レジスタ、106……アドレ
ス作成回路、3d……共通信号線。
FIG. 1 is a diagram showing a conventional microprogram address control device, FIG. 2 is a schematic diagram of a microprocessor system including the microprogram address control device according to the present invention, and FIG. 3 is a detailed diagram thereof. Figure 4 is a diagram showing the format of a microinstruction that performs a branch, Figure 5 is a diagram showing the contents of a microprogram address register that changes depending on the microprogram address control device of the present invention, and Figure 6 is a diagram showing the format of a microinstruction that performs a branch. Program address creation circuit diagram, Figure 7 is a diagram showing the format of the macro instruction, Figure 8 is a diagram showing the address pattern to be created,
FIG. 9 is a time chart showing the operation of the microprogram address control device according to the present invention;
FIG. 10 is a diagram showing an example of use of the present invention. 100, 100', 100'a, 100'b...
Microprocessor, 101, 101a, 10
1b, 101c...Microprogram memory, 103...Microinstruction register, 104...
...Microprogram address register, 1
05...Macro instruction register, 106...Address creation circuit, 3d...Common signal line.
Claims (1)
令をマイクロプログラム・メモリから順次読出す
ために、上記マイクロプログラム・メモリから読
出されたマイクロ命令および主メモリからのマク
ロ命令が置数されたマクロ命令レジスタからの出
力信号に応答してマイクロプログラム・アドレス
を作成する手段と、作成されたマイクロプログラ
ム・アドレスを置数する手段と、を有するマイク
ロプログラム・アドレス制御装置において、 前記マイクロプログラム・アドレス作成手段
は、前記マクロ命令レジスタからの出力信号の命
令形式を解読するマクロ解読回路と、サブルーチ
ン戻りアドレスが置数されるサブルーチン戻りア
ドレス・レジスタと、前記マクロ命令レジスタ・
マクロ解読回路およびサブルーチン戻りアドレ
ス・レジスタの各出力信号に応答して前記マイク
ロプログラム・アドレス置数手段に入力されるべ
きアドレス信号の一部の信号を出力するマイクロ
プログラム・アドレス選択回路と、このマイクロ
プログラム・アドレス選択回路の出力信号と前記
マイクロプログラム・メモリから読み出されたマ
イクロ命令のアドレス指定フイールド内の一部の
データとを合成し、この合成データ信号をアドレ
ス信号として前記マイクロプログラム・アドレス
置数手段に入力する手段と、を備えたことを特徴
とするマイクロプログラム・アドレス制御装置。[Scope of Claims] 1. In order to sequentially read microinstructions for controlling a data processing device from the microprogram memory, the microinstructions read from the microprogram memory and the macroinstructions from the main memory are stored. A microprogram address control device comprising: means for creating a microprogram address in response to an output signal from a macroinstruction register created by the microprogram; and means for setting the created microprogram address. - The address generation means includes a macro decoding circuit that decodes the instruction format of the output signal from the macro instruction register, a subroutine return address register in which a subroutine return address is stored, and the macro instruction register.
a microprogram address selection circuit for outputting a signal of a portion of the address signal to be input to the microprogram address setting means in response to each output signal of the macro decoding circuit and the subroutine return address register; The output signal of the program address selection circuit and part of the data in the addressing field of the microinstruction read from the microprogram memory are combined, and the combined data signal is used as an address signal to select the microprogram address location. A microprogram address control device characterized by comprising: means for inputting information to a plurality of means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3557579A JPS55129837A (en) | 1979-03-28 | 1979-03-28 | Microprogram address control unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3557579A JPS55129837A (en) | 1979-03-28 | 1979-03-28 | Microprogram address control unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS55129837A JPS55129837A (en) | 1980-10-08 |
JPS6122816B2 true JPS6122816B2 (en) | 1986-06-03 |
Family
ID=12445551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3557579A Granted JPS55129837A (en) | 1979-03-28 | 1979-03-28 | Microprogram address control unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS55129837A (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3279905D1 (en) * | 1981-04-13 | 1989-09-28 | Texas Instruments Inc | Microcomputer system |
JPS57203141A (en) * | 1981-06-10 | 1982-12-13 | Hitachi Ltd | Method and device for controlling microprogram |
JPS61101837A (en) * | 1984-10-24 | 1986-05-20 | Nippon Telegr & Teleph Corp <Ntt> | Arithmetic unit |
-
1979
- 1979-03-28 JP JP3557579A patent/JPS55129837A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS55129837A (en) | 1980-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4118773A (en) | Microprogram memory bank addressing system | |
US4291371A (en) | I/O Request interrupt mechanism | |
US4901235A (en) | Data processing system having unique multilevel microcode architecture | |
US4691278A (en) | Data processor executing microprograms according to a plurality of system architectures | |
US4446517A (en) | Microprogram memory with page addressing and address decode in memory | |
JPS62197830A (en) | Data processing system | |
JPS61170828A (en) | Microprogram control device | |
KR940005202B1 (en) | Bit order inverting device | |
US4285039A (en) | Memory array selection mechanism | |
US4290104A (en) | Computer system having a paging apparatus for mapping virtual addresses to real addresses for a memory of a multiline communications controller | |
GB1453723A (en) | Computer memories | |
US4126896A (en) | Microprogrammed large-scale integration (LSI) microprocessor | |
JPS6122817B2 (en) | ||
JPS6122816B2 (en) | ||
JP2583506B2 (en) | Data processing device | |
IE56443B1 (en) | Microprogram control | |
JPS6158042A (en) | Microprogram control system | |
JPS6346855B2 (en) | ||
JPS6112579B2 (en) | ||
JPS586970B2 (en) | ROM address sequence control method | |
KR950006585B1 (en) | Micro program control apparatus and control method thereof | |
JPH0683765A (en) | Microcomputer | |
JPS60263246A (en) | Memory system | |
JPS63174127A (en) | One chip microprocessor | |
JPS592938B2 (en) | Memory workspace |