JPH0638231B2 - Micro program controller - Google Patents
Micro program controllerInfo
- Publication number
- JPH0638231B2 JPH0638231B2 JP8978785A JP8978785A JPH0638231B2 JP H0638231 B2 JPH0638231 B2 JP H0638231B2 JP 8978785 A JP8978785 A JP 8978785A JP 8978785 A JP8978785 A JP 8978785A JP H0638231 B2 JPH0638231 B2 JP H0638231B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- register
- address
- microprogram
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明はマイクロプログラム制御装置の中でも、特にマ
イクロプログラムメモリの効率化に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an improvement in efficiency of a microprogram memory among microprogram controllers.
従来の技術 従来の水平型のマイクロプログラム制御装置において
は、命令長を長くし、演算を並列に実行させ、それに対
応してマイクロプログラムメモリの構成も、1つのアド
レスに対する命令長も長くなっている。そのため、演算
を並列に行なえない場合においては命令群の一部が有効
で、残り殆んどの部分が非演算(NOP命令)となり、
メモリが有効に使用されない。2. Description of the Related Art In a conventional horizontal type micro program control device, an instruction length is lengthened and an operation is executed in parallel, and accordingly, a structure of a micro program memory and an instruction length for one address are lengthened. . Therefore, when operations cannot be performed in parallel, a part of the instruction group is effective, and most of the remaining parts are non-operations (NOP instructions),
Memory is not used effectively.
以下図面を参照しながら、上述した従来のマイクロプロ
グラム制御装置の一例について説明する。An example of the above-described conventional micro program control device will be described below with reference to the drawings.
第4図は、従来のマイクロプログラム制御装置の構成を
示すものである。第4図に示すように、1はアドレスレ
ジスタ、2はマイクロプログラムメモリ、3はマイクロ
プログラムメモリ2の命令出力をフェッチするレジス
タ、4はアドレスレジスタ1の出力に“1”を加算する
加算回路である。FIG. 4 shows the structure of a conventional micro program controller. As shown in FIG. 4, 1 is an address register, 2 is a microprogram memory, 3 is a register for fetching the instruction output of the microprogram memory 2, and 4 is an adder circuit for adding “1” to the output of the address register 1. is there.
このように構成された従来のマイクロプログラム制御装
置では、まず、アドレスレジスタ1の値をアドレス信号
としてマイクロプログラムメモリ2の出力は、レジスタ
3にフェッチされて各演算部に送られる。このレジスタ
3のフェッチと同時に、加算回路4によってアドレス信
号に“1”を加えた値をアドレスレジスタ1にラッチ
し、次のアドレス信号を発生させる。しかも、レジスタ
3の長さを長くし、乗算部加減算部などの命令フィール
ドを独立に持たせ、これら演算部を並列に動作させるこ
とによって演算速度を上げている。In the conventional micro program control device configured as described above, first, the output of the micro program memory 2 is fetched into the register 3 and sent to each arithmetic unit by using the value of the address register 1 as an address signal. At the same time as this register 3 is fetched, the value obtained by adding "1" to the address signal is latched in the address register 1 by the adder circuit 4, and the next address signal is generated. Moreover, the operation speed is increased by increasing the length of the register 3 and independently providing an instruction field such as a multiplication unit addition / subtraction unit and operating these arithmetic units in parallel.
発明が解決しようとする問題点 しかし、上記のような構成では、各演算部を並列動作さ
せない場合においても、動作させない演算部のフィール
ドを持つ必要があり、マイクロプログラムメモリの効率
が悪いという問題点を有していた。つまり、第5図に示
すように命令群の殆んどのフィールドでNOPとなる。Problems to be Solved by the Invention However, in the above-described configuration, even if the arithmetic units are not operated in parallel, it is necessary to have a field of the arithmetic units that do not operate, and the efficiency of the microprogram memory is poor. Had. That is, as shown in FIG. 5, most fields of the instruction group are NOPs.
本発明は簡単な構成でマイクロプログラムメモリの効率
を改良できるマイクロプログラム制御装置を提供するこ
とを目的とする。SUMMARY OF THE INVENTION It is an object of the present invention to provide a micro program control device capable of improving the efficiency of a micro program memory with a simple structure.
問題点を解決するための手段 本発明のマイクロプログラム制御装置は、タグビットを
含んだマイクロプログラムを貯蔵するマイクロプログラ
ムメモリと、上記マイクロプログラムメモリに与えるア
ドレス信号を保持するアドレスレジスタと、上記アドレ
スレジスタの出力に“1”を加算する第1の加算回路
と、上記アドレスレジスタの出力と上記第1の加算回路
の出力を周期的に切換え上記マイクロプログラムメモリ
にアドレス信号を供給するマルチプレクサと、上記マル
チプレクサによって上記アドレスレジスタの出力をアド
レス信号としたときの上記マイクロプログラムメモリの
マイクロ命令群出力をフェッチする第1のレジスタと、
上記第1のレジスタの出力および上記マルチプレクサに
よって上記第1の加算回路の出力をアドレス信号とした
ときの上記マイクロプログラムメモリのマイクロ命令群
出力をフェッチする第2のレジスタと、上記第1のレジ
スタ出力のタグビット信号により上記マルチプレクサの
出力信号の加算が制御され出力を上記アドレスレジスタ
に供給する第2の加算回路を備えたことを特徴とする。Means for Solving the Problems A microprogram control device of the present invention includes a microprogram memory for storing a microprogram including tag bits, an address register for holding an address signal given to the microprogram memory, and the address register. A first adder circuit for adding "1" to the output, a multiplexer for periodically switching the output of the address register and the output of the first adder circuit to supply an address signal to the microprogram memory, and the multiplexer. A first register for fetching the microinstruction group output of the microprogram memory when the output of the address register is used as an address signal,
A second register for fetching the microinstruction group output of the microprogram memory when the output of the first register and the output of the first adder circuit by the multiplexer are used as address signals; and the first register output The addition of the output signal of the multiplexer is controlled by the tag bit signal of 1., and the second addition circuit for supplying the output to the address register is provided.
作用 この構成によると、マシーンサイクル内に2度マイクロ
プログラムメモリをアクセスし、その出力である2種の
マイクロ命令群が共に実行命令が存在するか、片方のマ
イクロ命令群がすべてNOP命令であるかをタグビット
によって示され、しかも片方のマイクロに命令群がすべ
てNOP命令である場合には、アドレスレジスタの値
は、前回の値に“1”加えられただけの値であり、2種
のマイクロに命令群が共に実行命令が存在する場合に
は、前回の値に“2”加えられた値がセットされ、マイ
クロプログラムメモリはNOP命令が少なくなり効率化
が図れる。Operation According to this configuration, whether the micro program memory is accessed twice within the machine cycle and two types of micro instruction groups, which are outputs thereof, have execution instructions, or whether one micro instruction group is all NOP instructions. Is indicated by the tag bit and the instruction group for one micro is all NOP instructions, the value of the address register is the value obtained by adding “1” to the previous value, and the two types of micro. If there is an execution instruction in both of the instruction groups, the value obtained by adding "2" to the previous value is set, and the number of NOP instructions in the microprogram memory is reduced to improve efficiency.
実施例 以下、本発明の一実施例を第1図〜第4図に基づいて説
明する。第1図は本発明のマイクロプログラム制御装置
ブロック図で、5はアドレスレジスタ、7はアドレスレ
ジスタ5の出力に“1”を加算する第1の加算回路で、
アドレスレジスタ5の出力をT1区間に、また第1の加
算回路7の出力をT2区間にマルチプレクサ8によって
タイムシェアリングしてアドレス信号をマイクロプログ
ラムメモリ6に供給する。上記タイムシェアリングのT
1区間でアドレスレジスタ5の出力をマイクロプログラ
ムメモリ6のアドレス信号としたときのマイクロ命令群
は第1のレジスタ9にT1からT2への変化時にフェッ
チされる。Embodiment An embodiment of the present invention will be described below with reference to FIGS. 1 to 4. FIG. 1 is a block diagram of a microprogram controller of the present invention. 5 is an address register, 7 is a first adder circuit for adding "1" to the output of the address register 5,
The output of the address register 5 to T 1 interval, also supplies an address signal to the microprogram memory 6 the output of the first adder circuit 7 time-share by the multiplexer 8 on the T 2 period. Time sharing T above
The microinstruction group when the output of the address register 5 is used as the address signal of the microprogram memory 6 in one section is fetched into the first register 9 when T 1 changes to T 2 .
更に第1のレジスタ9の出力は、T2区間での第1の加
算回路7の出力をマイクロプログラムメモリ6のアドレ
ス信号としたときのマイクロ命令群出力と共に、第2の
レジスタ10にT2からT1への変化時にフェッチされ
る。第1のレジスタ9の出力には、マイクロプログラム
メモリ6の出力を直接第2のレジスタ10にフェッチする
マイクロ命令群がすべてNOP命令かどうかを示すタグ
ビットが含まれており、その信号によって第2の加算回
路11におけるマルチプレクサ8の出力に“1”を加算す
るかどうかを決定する。第2の加算回路11の出力は、次
のマイクロ命令群のアドレスを示し、アドレスレジスタ
5にラッチされる。Further, the output of the first register 9, the output of the first adder circuit 7 at T 2 interval with micro instructions output when the address signal of the microprogram memory 6, from T 2 in the second register 10 Fetched on transition to T 1 . The output of the first register 9 includes a tag bit indicating whether or not all the microinstructions that fetch the output of the microprogram memory 6 directly into the second register 10 are NOP instructions. It is determined whether "1" is added to the output of the multiplexer 8 in the adder circuit 11 of. The output of the second adder circuit 11 indicates the address of the next microinstruction group and is latched in the address register 5.
以上のように構成されたマイクロプログラム制御装置の
動作を第2図と第3図を用いて説明する。The operation of the microprogram controller having the above structure will be described with reference to FIGS. 2 and 3.
第2図は、第1図の構成におけるタイミングチャートを
示している。第3図は、マイクロプログラムメモリ6の
メモリマップであり、pビットからなるタグビット(本
実施例ではp=1)が予め定められた位置に設けている
(本実施例では最上位ビット)。この構成においてマシ
ーンサイクルは、T=T1+T2である。今、アドレス
レジスタ5の内容が“n”であるとすると、T1区間で
はマルチプレクサ8は“n”を出力し、T2区間では
“n+1”を出力するように制御される。そして、T1
からT2への変化時にマイクロプログラムメモリ6の出
力は、第1のレジスタ9にフェッチされる。この内容
は、第3図のメモリマップにおけるアドレス“n”のマ
イクロ命令群であり、その最上位ビットにはタグビット
が含まれている。このタグビットは、次のT2からT1
への変化時に、第1のレジスタ9の出力であるマイクロ
命令群(n)と共に第2のレジスタ10にフェッチされる
マルチプレクサ8の出力“n+1”をアドレスとするマ
イクロ命令群(n+1)がNOP命令のみで構成されて
いるかどうか、すなわちマイクロ命令群(n+1)が第
2のレジスタ10の低ビット側にセットされたときには意
味のない無効な命令群かどうかを示すものである。ここ
で、第2図においては、このタグビットが“0”であ
る。同時に第2の加算回路11においては、このタグビッ
トが“0”のため、“1”を加算することなく、“n+
1”がT2からT1への変化時にアドレスレジスタ5に
セットされる。次に、アドレスレジスタ5の内容が“n
+1”である場合のT1区間にマルチプレクサ8から出
力されるアドレス信号“n+1”による、マイクロプロ
グラムメモリ6の出力が、T1からT2への変化時にア
ドレス信号“n”によるマイクロプログラムメモリ6の
出力は第1のレジスタ9にフェッチされる。その内容内
のタグビットが“1”であると、次のT2からT1への
変化時に第2のレジスタ10の低ビット側にフェッチされ
るマイクロ命令群の少なくとも1つにNOPではない命
令が存在することを意味する。しかも、第2の加算回路
11においては、“n+2”に“1”を加え、T2からT
1への変化時にはアドレスレジスタ5に“n+3”をセ
ットすることになる。このことから第3図において、メ
モリの構成は、アドレスn、アドレスnと(n+1)、
アドレス(n+3)でそれぞれ1つの命令群となる。こ
こで、第2のレジスタの低ビット側の命令群が、すべて
NOP命令であるのか、少くとも1命令(例えば、加算
部命令)が実行命令であるのかは、演算部側で、マスク
ビットによりデコートすれば容易に判断できる。FIG. 2 shows a timing chart in the configuration of FIG. FIG. 3 is a memory map of the microprogram memory 6, in which tag bits consisting of p bits (p = 1 in this embodiment) are provided at predetermined positions (most significant bit in this embodiment). In this configuration, the machine cycle is T = T 1 + T 2 . Now, assuming that the content of the address register 5 is "n", the multiplexer 8 is controlled to output "n" in the T 1 section and output "n + 1" in the T 2 section. And T 1
The output of the microprogram memory 6 on the transition from T to T 2 is fetched into the first register 9. This content is a microinstruction group at the address "n" in the memory map of FIG. 3, and the most significant bit includes the tag bit. This tag bit is the next T 2 to T 1
At the time of the change to, the microinstruction group (n + 1) whose address is the output “n + 1” of the multiplexer 8 fetched into the second register 10 together with the microinstruction group (n) which is the output of the first register 9 is the NOP instruction. It is shown whether or not it is constituted by only the micro instruction group (n + 1) is an invalid instruction group which is meaningless when set to the low bit side of the second register 10. Here, in FIG. 2, this tag bit is "0". At the same time, since the tag bit is "0" in the second adder circuit 11, "n +" is added without adding "1".
1 "is set in the address register 5 when T 2 changes to T 1. Next, the content of the address register 5 is" n ".
In the case of +1 ”, the output of the microprogram memory 6 by the address signal“ n + 1 ”output from the multiplexer 8 in the T 1 section changes the output of the microprogram memory 6 from T 1 to T 2 by the address signal“ n ”. the output of is fetched into the first register 9. When the tag bits in the contents is "1", is fetched to the low-bit side of the second register 10 from the next T 2 when the change in the T 1 Means that there is an instruction that is not a NOP in at least one of the microinstruction groups.
In 11, "n + 2" to "1" is added, the T 2 T
When changing to 1 , the address register 5 is set to "n + 3". From this fact, in FIG. 3, the memory configuration is as follows: address n, address n and (n + 1),
Each address (n + 3) constitutes one instruction group. Here, whether the instruction group on the low bit side of the second register is all NOP instructions or at least one instruction (for example, adder instruction) is an execution instruction is determined by the mask bit on the arithmetic unit side. You can easily judge if you decorate.
更に、ジャンプ命令、ブランチ命令などを許す構成にお
いては、アドレスレジスタの出力と、ジャンプ先などを
入力とする新たなマルチプレクサを付加するだけでよ
い。Furthermore, in a configuration that allows a jump instruction, a branch instruction, etc., it is only necessary to add a new multiplexer that inputs the output of the address register and the jump destination.
発明の効果 以上のように本発明によると、マイクロプログラムメモ
リにタグビットを設け、また、マイクロプログラムメモ
リのアクセスをマシーンサイクル内に2度実行し、各種
演算部を並列に実行させる水平型マイクロプログラムを
構成し、更にこのタグビットでアドレスレジスタの内容
を制御してマイクロプログラムメモリの利用効果を高め
ることができる。EFFECTS OF THE INVENTION As described above, according to the present invention, a tag bit is provided in a microprogram memory, and an access to the microprogram memory is executed twice within a machine cycle to execute various arithmetic units in parallel. It is possible to enhance the utilization effect of the microprogram memory by controlling the contents of the address register with this tag bit.
第1図は本発明のマイクロプログラム制御装置の一実施
例の構成図、第2図は第1図のタイミングチャート図、
第3図は第1図のマイクロプログラムメモリのメモリマ
ップ図、第4図は従来のマイクロプログラム制御装置の
構成図、第5図は第4図のメモリマップ図である。 5……アドレスレジスタ、6……マイクロプログラムメ
モリ、7……第1の加算回路、8……マルチプレクサ、
9……第1のレジスタ、10……第2のレジスタ、11……
第2の加算回路。FIG. 1 is a block diagram of an embodiment of the microprogram controller of the present invention, FIG. 2 is a timing chart diagram of FIG.
FIG. 3 is a memory map diagram of the microprogram memory of FIG. 1, FIG. 4 is a configuration diagram of a conventional microprogram controller, and FIG. 5 is a memory map diagram of FIG. 5 ... Address register, 6 ... Micro program memory, 7 ... First adding circuit, 8 ... Multiplexer,
9 …… First register, 10 …… Second register, 11 ……
Second adder circuit.
Claims (1)
貯蔵するマイクロプログラムメモリと、上記マイクロプ
ログラムメモリに与えるアドレス信号を保持するアドレ
スレジスタと、上記アドレスレジスタの出力に“1”を
加算する第1の加算回路と、上記アドレスレジスタの出
力と上記第1の加算回路の出力を周期的に切換え上記マ
イクロプログラムメモリにアドレス信号を供給するマル
チプレクサと、上記マルチプレクサによって上記アドレ
スレジスタの出力をアドレス信号としたときの上記マイ
クロプログラムメモリのマイクロ命令群出力をフェッチ
する第1のレジスタと、上記第1のレジスタの出力およ
び上記マルチプレクサによって上記第1の加算回路の出
力をアドレス信号としたときの上記マイクロプログラム
メモリのマイクロ命令群出力をフェッチする第2のレジ
スタと、上記第1のレジスタ出力のタグビット信号によ
り上記マルチプレクサの出力信号の加算が制御され出力
を上記アドレスレジスタに供給する第2の加算回路を備
えたマイクロプログラム制御装置。1. A microprogram memory for storing a microprogram containing a tag bit, an address register for holding an address signal given to the microprogram memory, and a first for adding "1" to the output of the address register. An adder circuit, a multiplexer for switching the output of the address register and the output of the first adder circuit periodically to supply an address signal to the microprogram memory, and the output of the address register by the multiplexer as an address signal A first register for fetching the output of the microinstruction group of the microprogram memory, and the output of the first register and the multiplexer of the microprogram memory when the output of the first adder circuit is used as an address signal. micro A second register for fetching a group output and a second adder circuit for controlling the addition of the output signal of the multiplexer by the tag bit signal of the first register output and supplying the output to the address register. Program controller.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8978785A JPH0638231B2 (en) | 1985-04-25 | 1985-04-25 | Micro program controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8978785A JPH0638231B2 (en) | 1985-04-25 | 1985-04-25 | Micro program controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61248134A JPS61248134A (en) | 1986-11-05 |
| JPH0638231B2 true JPH0638231B2 (en) | 1994-05-18 |
Family
ID=13980392
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8978785A Expired - Lifetime JPH0638231B2 (en) | 1985-04-25 | 1985-04-25 | Micro program controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0638231B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5005118A (en) * | 1987-04-10 | 1991-04-02 | Tandem Computers Incorporated | Method and apparatus for modifying micro-instructions using a macro-instruction pipeline |
-
1985
- 1985-04-25 JP JP8978785A patent/JPH0638231B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61248134A (en) | 1986-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5357617A (en) | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor | |
| US4954943A (en) | Data processing system | |
| JPS6311697B2 (en) | ||
| GB1321851A (en) | Multi-mode process control computer with bit processing | |
| KR100334174B1 (en) | Data processing device | |
| KR880001418B1 (en) | Data processing device | |
| US4974157A (en) | Data processing system | |
| JP2538053B2 (en) | Control device | |
| JPH0638231B2 (en) | Micro program controller | |
| US5293499A (en) | Apparatus for executing a RISC store and RI instruction pair in two clock cycles | |
| JP2567134B2 (en) | Bit field logical operation processing device and monolithic microprocessor having the same | |
| US5771376A (en) | Pipeline arithmetic and logic system with clock control function for selectively supplying clock to a given unit | |
| JPS5971542A (en) | Arithmetic processor | |
| US6934728B2 (en) | Euclidean distance instructions | |
| JPH0758459B2 (en) | Micro program controller | |
| JP3043341B2 (en) | Microcomputer system | |
| JPH0353322A (en) | Information processor | |
| JPH08106383A (en) | Arithmetic processor | |
| JPS61194534A (en) | Microprocessor | |
| JPH03260727A (en) | Register designating device | |
| JPS58114250A (en) | Common microprocessor | |
| JPH04177428A (en) | Data processor containing operand address transfer register | |
| JPH04177532A (en) | microprocessor | |
| JPH0340075A (en) | Microcomputer | |
| JPS6314243A (en) | Arithmetic processor |