JPH0782434B2 - Micro program controller - Google Patents
Micro program controllerInfo
- Publication number
- JPH0782434B2 JPH0782434B2 JP61309766A JP30976686A JPH0782434B2 JP H0782434 B2 JPH0782434 B2 JP H0782434B2 JP 61309766 A JP61309766 A JP 61309766A JP 30976686 A JP30976686 A JP 30976686A JP H0782434 B2 JPH0782434 B2 JP H0782434B2
- Authority
- JP
- Japan
- Prior art keywords
- microprogram
- execution
- microinstruction
- address
- micro
- 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
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Description
【発明の詳細な説明】 <産業上の利用分野> 本発明はマイクロプログラム制御装置に関し、特にマイ
クロプログラムの実行開始を待ち合せる制御に関する。The present invention relates to a microprogram controller, and more particularly to control for waiting for the start of execution of a microprogram.
<従来の技術> マイクロプログラム制御装置を用いた制御には、あらか
じめ制御内容を定義したマイクロプログラムを複数用意
しておき、必要に応じてあるマイクロプログラムを実行
するような応用がある。このような応用では、実行が開
始されたマイクロプログラムが一連の処理を終了する
と、マイクロプログラム制御装置は次のマイクロプログ
ラムの実行開始指定を待ち合せる状態に入る。<Prior Art> Control using a microprogram control device has an application in which a plurality of microprograms in which control contents are defined are prepared in advance and a certain microprogram is executed as necessary. In such an application, when the microprogram whose execution has started completes a series of processing, the microprogram controller enters a state of waiting for execution start designation of the next microprogram.
情報処理装置の命令実行ユニットにマイクロプログラム
制御装置を用いた場合、情報処理装置の命令(以下、マ
クロ命令と呼ぶ)の一つ一つに対応して異なったマイク
ロプログラムを用意しておき、マクロ命令の解読を行な
う命令デコード・ユニットがマイクロプログラムの指定
ならびにマイクロプログラムのデコード終了時にマイク
ロプログラムの実行開始を指定する。When a micro program control device is used for the instruction execution unit of the information processing device, different micro programs are prepared corresponding to each instruction (hereinafter, referred to as macro instruction) of the information processing device, and the macro program is prepared. An instruction decode unit that decodes instructions specifies the microprogram and, at the end of decoding the microprogram, specifies execution of the microprogram.
起動されたマイクロプログラムがマクロ命令として規定
された処理を終了すると、次のマイクロプログラムの指
定と実行開始指定とを待ち合せる。この時、命令デコー
ド・ユニットが次のマクロ命令のデコードを終了してい
れば、直ちに対応するマイクロプログラムの実行を開始
することができる。When the activated microprogram finishes the processing specified as the macro instruction, the next microprogram and the execution start designation are waited for. At this time, if the instruction decoding unit has finished decoding the next macro instruction, the execution of the corresponding microprogram can be started immediately.
かかるシーケンスを繰り返すことによって、マクロ命令
のシーケンスを次々に実行することができる。By repeating such a sequence, the sequence of macro instructions can be executed one after another.
第4図は前記命令実行ユニットにおいて使用される従来
のマイクロプログラム制御装置の構成を示すブロック図
である。FIG. 4 is a block diagram showing the configuration of a conventional micro program controller used in the instruction execution unit.
マイクロ命令アドレス・レジスタ(以下、MARと呼ぶ)4
00は、次の実行すべきMビットのマイクロ命令のアドレ
スを格納するレジスタである。保持信号HOLDが0の時、
MAR400にはmビットのインクリメンタ(以下INCと呼
ぶ)401によって現在のMARの値に1を加えた内容がロー
ドされる。シーケンシャルにマイクロ命令を実行する際
にこの動作が行なわれる。また、ロード信号LDSTARTが
1の時、MAR400には次のマイクロプログラムのmビット
の実行開始アドレス(スタートアドレス)がロードされ
る。保持信号HOLDが1で、かつロード信号LDSTARTが0
の間は、MAR400の内容は変化しない。Microinstruction address register (hereinafter called MAR) 4
00 is a register for storing the address of the next M-bit microinstruction to be executed. When the hold signal HOLD is 0,
The content obtained by adding 1 to the current MAR value is loaded into the MAR 400 by an m-bit incrementer (hereinafter referred to as INC) 401. This operation is performed when micro instructions are executed sequentially. When the load signal LDSTART is 1, the MAR 400 is loaded with the m-bit execution start address (start address) of the next microprogram. Hold signal HOLD is 1 and load signal LDSTART is 0
During this period, the contents of MAR400 remain unchanged.
マイクロプログラム・メモリ(以下、MMEMと呼ぶ)402
は、複数のマイクロプログラムを構成するnビット幅の
マイクロ命令の列を格納する記憶装置であり、MAR400の
内容が指定するアドレスに対応するマイクロ命令が出力
される。マイクロ命令レジスタ(以下、MDRと呼ぶ)403
は、保持入力STBが1の期間、MMEM402に出力されたマイ
クロ命令を保持するnビットのラッチである。Microprogram memory (hereinafter referred to as MMEM) 402
Is a storage device that stores a sequence of n-bit wide microinstructions that form a plurality of microprograms, and outputs microinstructions corresponding to the addresses specified by the contents of MAR400. Micro instruction register (hereinafter referred to as MDR) 403
Is an n-bit latch that holds the microinstruction output to the MMEM402 while the holding input STB is 1.
2入力ANDゲート410、411、412、413・・・は、禁止信
号INHIBITが1の時、MDR403の出力を無効化するもので
ある。2入力ANDゲート411、412、413・・・の出力01、
02、03・・・は、命令実行ユニットの各部を制御するた
めの信号−−−マイクロオーダである。2入力ANDゲー
ト410の出力ENDは、マイクロプログラムの実行終了を示
すマイクロオーダである。The 2-input AND gates 410, 411, 412, 413 ... Disable the output of the MDR 403 when the inhibition signal INHIBIT is 1. Two-input AND gates 411, 412, 413 outputs 0 1,
0 2, 0 3 ... Are signals for controlling each part of the instruction execution unit--micro-order. The output END of the 2-input AND gate 410 is a micro order indicating the end of execution of the micro program.
マイクロプログラム・シーケンサ(以下、MSEQと呼ぶ)
404は、マイクロプログラムの実行終了を示すマイクロ
オーダENDM、実行開始アドレス(スタートアドレス)の
有効性を示す状態信号Vを入力し、マイクロプログラム
制御装置を制御するためのロード信号LDSTART、保持信
号HOLD、禁止信号INHIBITを発生する回路であり、MSEQ4
04の状態を示す状態信号ENDM、BSYを同時に発生する。
ここで状態信号ENDMは、マイクロプログラムの実行開始
タイミングを示すもので、ロード信号LDSTARTと等価で
ある。状態信号BSYは、MSEQ404が実行開始アドレス(ス
タートアドレス)の有効状態を待ち合せていることを示
す。Micro program sequencer (hereinafter referred to as MSEQ)
Reference numeral 404 denotes a micro order ENDM indicating the end of execution of the micro program, a status signal V indicating the validity of the execution start address (start address), and a load signal LDSTART and a hold signal HOLD for controlling the micro program controller. This is the circuit that generates the inhibit signal INHIBIT.
Status signals ENDM and BSY indicating the status of 04 are generated at the same time.
Here, the status signal ENDM indicates the execution start timing of the microprogram, and is equivalent to the load signal LDSTART. The status signal BSY indicates that MSEQ404 is waiting for the valid status of the execution start address (start address).
本従来例で使用されているマイクロ命令は、第5図に示
すようにnビットで構成されている。さらに、制御対象
に応じて複数のビット列(以下、フィールドと呼ぶ)に
分割される。第5図では、演算の制御に係わるOPRフィ
ールド、マイクロプログラムの分岐に係わるBRANCHフィ
ールド、マイクロプログラムの終了に係わるEフィール
ド(マイクロオーダENDに対応する)、転送を含むその
他の制御に係わるCONTROLフィールドに分割される。The microinstruction used in this conventional example is composed of n bits as shown in FIG. Further, it is divided into a plurality of bit strings (hereinafter referred to as fields) according to the control target. In FIG. 5, an OPR field related to control of operations, a BRANCH field related to branch of a micro program, an E field related to end of a micro program (corresponding to micro order END), and a CONTROL field related to other control including transfer are shown. Will be divided.
高速な実行速度を目的として同時に多くの制御を行なう
ためには、各フィールドは1ビット1ビットが意味を持
つように設計される。このため、マイクロ命令のビット
幅nは100を超えるような場合もある。In order to perform many controls at the same time for the purpose of high-speed execution, each field is designed so that 1 bit means 1 bit. Therefore, the bit width n of the micro instruction may exceed 100 in some cases.
第6図は、本従来のマイクロプログラム制御装置の基本
動作タイミングを示す図である。ロード信号LD−−−
は、新しいマイクロプログラムの実行開始アドレス(新
アドレス)をMAR400に格納するための信号である。第6
図において、サイクル1のタイミングでロード信号LD−
−−が発生すると、実行開始アドレス(新アドレス)の
値Nがサイクル2のタイミングでMAR400にロードされ
る。FIG. 6 is a diagram showing a basic operation timing of the conventional micro program control device. Load signal LD ----
Is a signal for storing the execution start address (new address) of a new microprogram in MAR400. Sixth
In the figure, at the timing of cycle 1, the load signal LD-
When "-" occurs, the value N of the execution start address (new address) is loaded into the MAR 400 at the timing of cycle 2.
MMEM402は、アドレスNが指定されてから対応するデー
タn出力されるまでに大きな遅れを伴うので、サイクル
3でMDR403にラッチされる。MMEM402 is latched by MDR403 in cycle 3 because there is a large delay from the address N being designated until the corresponding data n is output.
すなわち、同一のタイミングで比較した場合、MAR400が
格納しているマイクロ命令の格納アドレスは、MMEM402
またはMDR403が出力するマイクロ命令よりも、1サイク
ル分先行している。このようなマイクロ命令の格納アド
レスと格納されたマイクロ命令のずれを考慮した制御
は、しばしばマイクロ命令のパイプライン制御と呼ばれ
る。That is, when compared at the same timing, the storage address of the microinstruction stored in MAR400 is MMEM402.
Alternatively, it precedes the microinstruction output by the MDR 403 by one cycle. Such control in consideration of the deviation between the stored address of the micro instruction and the stored micro instruction is often called pipeline control of the micro instruction.
次に第7図を用いて、本従来のマイクロプログラム制御
装置の動作について説明する。Next, the operation of the conventional micro program controller will be described with reference to FIG.
第7図は、本従来例において複数のマイクロプログラム
を順次実行させた場合のタイミングを示すものである。FIG. 7 shows the timing when a plurality of microprograms are sequentially executed in this conventional example.
いまマイクロオーダENDを含むマイクロ命令mが実行さ
れると、マイクロオーダENDが出力される。この時、す
でに実行開始アドレス(スタートアドレス)は有効であ
り、Xを有している。さらに、実行開始アドレス(スタ
ートアドレス)が有効であることを、状態信号Vが1で
あることで示している。When the micro instruction m including the micro order END is executed, the micro order END is output. At this time, the execution start address (start address) is already valid and has X. Further, the state signal V being 1 indicates that the execution start address (start address) is valid.
この状態ではロード信号LDSTARTは直ちに発行され、ロ
ード信号LDSTARTから1クロック遅れてMAR400にXがロ
ードされる。このタイミングでは、マイクロ命令のパイ
プライン制御によって、マイクロオーダENDを含むマイ
クロ命令mの次のマイクロ命令m+1が実行されてい
る。In this state, the load signal LDSTART is immediately issued, and the MAR 400 is loaded with X one clock after the load signal LDSTART. At this timing, the microinstruction m + 1 next to the microinstruction m including the microorder END is executed by the pipeline control of the microinstruction.
さらに1クロック経過すると、ロード信号LDSTART、保
持信号HOLDが共に0であるため、MAR400にはINC401によ
って1インクリメントされた値X+1がロードされる。
このタイミングで、Xなるアドレスから格納され始めて
いる新しいマイクロプログラムの最初のマイクロ命令x
が実行される。When one clock further elapses, the load signal LDSTART and the hold signal HOLD are both 0, so the MAR 400 is loaded with the value X + 1 incremented by 1 by the INC 401.
At this timing, the first microinstruction x of the new microprogram that is starting to be stored from the address X
Is executed.
以下、順次マイクロ命令の実行が進行し、マイクロオー
ダENDを含むマイクロ命令x+nが実行されると、再び
マイクロオーダENDが出力される。この時、実行開始ア
ドレス(スタートアドレス)は無効であり、Xを有して
いるままである。さらに、実行開始アドレス(スタート
アドレス)が無効であることを、状態信号Vが0である
ことで示している。MSEQ404は、実行開始アドレス(ス
タートアドレス)が有効であることを待ち合せる状態で
あることを示すため、状態信号BSTを1にする。Thereafter, the execution of the micro-instructions proceeds in sequence, and when the micro-instruction x + n including the micro-order END is executed, the micro-order END is output again. At this time, the execution start address (start address) is invalid and X is still held. Further, the state signal V being 0 indicates that the execution start address (start address) is invalid. MSEQ404 sets the status signal BST to 1 to indicate that the execution start address (start address) is waiting for the validity.
MAR400がX+n+2、MDR403が1クロック期間出力され
たタイミングで、出力されているマイクロ命令のアドレ
スならびにマイクロ命令を保持するため、保持信号HOLD
が出力される。保持信号HOLDは、状態信号BSYが0に戻
るまで1のままである。Hold signal HOLD to hold the microinstruction address and microinstruction being output at the timing when MAR400 outputs X + n + 2 and MDR403 for one clock period.
Is output. The hold signal HOLD remains 1 until the status signal BSY returns to 0.
MMEM402またはMDR403の出力は保持されたままである
が、MDR403に出力されているマイクロ命令X+n+1
は、ただ1回実行されればよいので、禁止信号INHIBIT
が出力される。The output of MMEM402 or MDR403 remains held, but the microinstruction X + n + 1 output to MDR403
Has only to be executed once, so the inhibit signal INHIBIT
Is output.
禁止信号INHIBITは、状態信号BSYを2クロック遅延させ
たものである。The inhibit signal INHIBIT is the state signal BSY delayed by two clocks.
禁止信号INHIBITが1になると、2入力ANDゲート410、4
11、412、413・・・・の出力であるマイクロオーダEN
D、01、02、03、・・・・は、すべて0になる。When the inhibit signal INHIBIT becomes 1, 2-input AND gates 410, 4
Micro-order EN that is the output of 11, 412, 413 ...
D, 0 1, 0 2, 0 3, ... Are all 0.
上記の待ち合せ状態で、状態信号Vが1になると、保留
されていたロード信号LDSTARTが出力される。新しいマ
イクロプログラムの先頭アドレスYが、1クロック後に
MAR400にロードされるとともに、マイクロ命令y、y+
1、・・・と順次実行される。この時、状態信号BSYは
0に戻り、保持信号HOLDも0に戻り、2クロック後に禁
止信号INHIBITも0に戻る。When the status signal V becomes 1 in the waiting state described above, the suspended load signal LDSTART is output. The start address Y of the new microprogram is 1 clock later
Micro instruction y, y + while being loaded into MAR400
1, ... are sequentially executed. At this time, the status signal BSY returns to 0, the hold signal HOLD also returns to 0, and the inhibit signal INHIBIT returns to 0 after 2 clocks.
以上説明したように、本従来のマイクロプログラム制御
装置では、新たに実行すべきマイクロプログラム指定が
確定するまで、直前に実行したマイクロ命令を保持する
とともに、このマイクロ命令を禁止信号によって無効化
することで、不正なマイクロ命令が実行されることを禁
止していた。As described above, in the conventional microprogram control device, the microinstruction executed immediately before is retained and the microinstruction is invalidated by the prohibition signal until the microprogram specification to be newly executed is confirmed. It prohibited the execution of illegal micro-instructions.
前述のように、高速な性能を得るために、ビット幅の大
きなマイクロ命令を採用すると、MDR403のビット幅およ
びマイクロ命令を禁止する2入力ANDゲート410、411、4
12、413、・・・の数も、これにつれて増加する。すな
わち、マイクロ命令のビット幅に比例したハードウェア
を必要とすることになる。As described above, if a microinstruction with a large bit width is adopted to obtain high-speed performance, a 2-input AND gate 410, 411, 4 that prohibits the bit width and microinstruction of MDR403 is adopted.
The number of 12,413, ... also increases accordingly. That is, the hardware required is in proportion to the bit width of the microinstruction.
<発明の解決しようとする問題点> 以上説明したように、従来のマイクロプログラム制御装
置では、新しいマイクロプログラムの実行開始のための
指定を待ち合せるために、マイクロ命令のビット幅に比
例したハードウェアを必要とするという欠点を有してい
た。<Problems to be Solved by the Invention> As described above, in the conventional microprogram control device, in order to wait for the designation for starting the execution of a new microprogram, hardware proportional to the bit width of the microinstruction is used. Had the drawback of requiring.
本発明は上記欠点を解決することを目的としている。The present invention seeks to overcome the above drawbacks.
<問題点を解決するための手段> マイクロプログラムの実行終了時に、次に実行すべきマ
イクロプログラムの実行開始アドレスを外部から供給す
るマイクロプログラム制御装置において、マイクロプロ
グラムの実行開始が待ち合わせ状態にあることを検知す
る手段と、少なくとも時間の消費のみを目的とした無効
なマイクロ命令を含むマイクロプログラムを保持する読
み出し専用の格納手段と、前記格納手段に格納された無
効なマイクロ命令をアドレスする手段とで構成され、前
記検知手段はマイクロプログラムの実行開始が待ち合わ
せ状態にあることを検知した場合には、前記マイクロプ
ログラムの実行開始アドレスの代りに前記アドレス手段
によって前記格納手段に格納されている無効なマイクロ
命令をアドレスし、該アドレス内の無効命令を実行する
ことを特徴としている。<Means for Solving Problems> At the end of execution of a microprogram, in a microprogram controller that externally supplies an execution start address of the next microprogram to be executed, the start of execution of the microprogram is in a waiting state. A read-only storage means for holding a microprogram containing an invalid microinstruction for the purpose of at least consuming only time, and a means for addressing the invalid microinstruction stored in the storage means. When the detection means detects that the start of execution of the microprogram is waiting, the invalid microprogram stored in the storage means by the address means instead of the execution start address of the microprogram. Address the instruction and invalid within that address It is characterized by executing instructions.
<作用> 上述した従来のマイクロプログラム制御装置に対し、本
発明は使用するマイクロ命令のビット幅に比例せず、し
かも最小限のハードウェアによって、新しいマイクロプ
ログラムの実行開始のための指定を待ち合せるための制
御が可能であるという独創的内容を有する。<Operation> In contrast to the above-described conventional microprogram control device, the present invention waits for the specification for starting the execution of a new microprogram, which is not proportional to the bit width of the microinstruction to be used, and with minimum hardware. It has an original content that it can be controlled for.
すなわち、上記構成に係るマイクロプログラム制御装置
では、マイクロプログラムの実行終了時の次に実行すべ
きマイクロプログラムの実行開始アドレスを外部から供
給するに際し、マイクロプログラムの実行開始が待ち合
せ状態にあることが検知される無効なマイクロ命令を格
納する手段に格納された無効なマイクロ命令をアドレス
指定する。That is, in the microprogram control device having the above configuration, when the execution start address of the next microprogram to be executed at the end of execution of the microprogram is externally supplied, it is detected that the start of execution of the microprogram is in a waiting state. Address invalid microinstructions stored in the means for storing invalid microinstructions.
<実施例> 次に図面を参照して、本発明の実施例の構成ならびに動
作について詳細に説明する。<Embodiment> Next, the configuration and operation of an embodiment of the present invention will be described in detail with reference to the drawings.
第1図は、本発明の第1実施例の構成を示す図面であ
る。FIG. 1 is a drawing showing the configuration of the first embodiment of the present invention.
MAR100は、前記従来のマイクロプログラム制御装置で使
用しているMAR400に対して、ロード信号LDENDが1の時
mビットの定数Mをロードする点、および保持信号HOLD
が1、ロード信号LDSTARTが0、かつロード信号LDENDが
0の間は、MAR400の内容は変化しないという点を除けば
同等である。The MAR100 loads the m-bit constant M when the load signal LDEND is 1 and holds the hold signal HOLD to the MAR400 used in the conventional microprogram controller.
Is 1, the load signal LDSTART is 0, and the load signal LDEND is 0, the contents are the same except that the contents of the MAR 400 do not change.
MROM402のアドレスMに対応する領域には、マイクロプ
ログラム制御装置にとって意味のないノー・オペレーシ
ョン(以下、nopと呼ぶ)命令を格納しておく。In the area corresponding to the address M of the MROM 402, a no-operation (hereinafter referred to as nop) instruction that is meaningless to the microprogram controller is stored.
また、MROM402のnビット出力は、直接にマイクロオー
ダEND、01、02、03、・・・・に対応する。Further, the n-bit output of the MROM 402 directly corresponds to the micro-order END, 0 1, 0 2, 0 3, ...
MSEQ101は、マイクロオーダEND、状態信号Vを入力し、
ロード信号LDSTARTならびにLDEND、保持信号HOLD、禁止
信号INHIBITを発生する回路であり、同時に状態信号EN
D、BSYを発生する。MSEQ101 inputs micro order END and status signal V,
A circuit that generates load signals LDSTART and LDEND, hold signal HOLD, and inhibit signal INHIBIT, and at the same time status signal EN
D and BSY are generated.
次に、第3図を参照して本実施例の動作について説明す
る。第3図は、本実施例における動作のタイミングを示
す図である。Next, the operation of this embodiment will be described with reference to FIG. FIG. 3 is a diagram showing the timing of the operation in this embodiment.
マイクロオーダENDを含むマイクロ命令x+nがMMEM402
に出力されると、状態信号Vが0、すなわち新しいマイ
クロプログラムの実行開始アドレス(スタートアドレ
ス)が無効であるため、状態信号BSYが1になる。Microinstruction x + n including micro-order END is MMEM402
, The state signal V is 0, that is, the execution start address (start address) of the new microprogram is invalid, so the state signal BSY becomes 1.
この時ロード信号LDENDが発行され、1クロック後に定
数MがMAR100にロードされる。At this time, the load signal LDEND is issued, and one clock later, the constant M is loaded into the MAR100.
このタイミングで、マイクロオーダENDを含むマイクロ
命令の次のマイクロ命令x+n+1が1クロック期間MM
EM402に出力される。At this timing, the next microinstruction x + n + 1 after the microinstruction including the microorder END is 1 clock period MM.
Output to EM402.
さらに1クロック経過すると、マイクロ命令アドレスM
に対応するMMEM402の内容、すなわちnop命令が実行され
る。When one more clock elapses, the micro instruction address M
The contents of MMEM 402 corresponding to, that is, the nop instruction is executed.
以後、状態信号Vが0になるまで保持信号HOLDが1にな
るので、MAR100の内容はMに保持されるとともに、MMEM
402の出力にもnop命令が保持される。After that, since the hold signal HOLD becomes 1 until the state signal V becomes 0, the contents of MAR100 are held in M and MMEM
The 402 output also holds the nop instruction.
前記本発明の動作タイミングにおいて、状態信号Vが1
でロード信号LDSTARTが発生する場合については、前記
従来のマイクロプログラム制御装置における動作タイミ
ングと等価である。At the operation timing of the present invention, the state signal V is 1
The case where the load signal LDSTART is generated is equivalent to the operation timing in the conventional micro program control device.
以上説明したように、本実施例では新しいマイクロプロ
グラムの実行開始を待ち合せている期間中、マイクロ命
令の実行を禁止することなく、不要なマイクロ命令の実
行を避けることができる。As described above, in the present embodiment, unnecessary microinstruction execution can be avoided without prohibiting execution of microinstruction during the period of waiting for the start of execution of a new microprogram.
また、本実施例ではMMEM402におけるアドレスMに対応
するデータとして、nop命令を格納しておくことを前提
としたが、MMEM402に対応しないアドレスに対してnop命
令と同等のデータが出力されるようなマイクロ命令のコ
ード定義を行なうことで、nop命令を格納する領域を省
くことが可能であり、さらに少ないハードウェアで実現
することが可能である。In this embodiment, it is assumed that the nop instruction is stored as the data corresponding to the address M in the MMEM402, but the data equivalent to the nop instruction is output to the address not corresponding to the MMEM402. By defining the code of the micro instruction, the area for storing the nop instruction can be omitted, and it can be realized with less hardware.
次に、本発明の第2実施例について説明する。第2図
は、本発明の第2実施例であり、前記第1の実施例に対
してMAR200として前記従来のマイクロプログラム制御装
置におけるMAR400と同様に、2系統の入力を有すること
が特徴である。Next, a second embodiment of the present invention will be described. FIG. 2 shows a second embodiment of the present invention, which is characterized in that it has two systems of inputs as the MAR200 in the first embodiment, like the MAR400 in the conventional microprogram controller. .
MAR200は、2入力ORゲート210の出力が1の時mビット
のマルチプレクサ(以後、MPXと呼ぶ)201の出力をロー
ドする。The MAR 200 loads the output of the m-bit multiplexer (hereinafter referred to as MPX) 201 when the output of the 2-input OR gate 210 is 1.
2入力ORゲート210には、ロード信号LDSTARTおよびLDEN
Dが接続される。The 2-input OR gate 210 has load signals LDSTART and LDEN.
D is connected.
MPX201は、ロード信号LDENDが0の時はマイクロプログ
ラムの実行開始アドレス(スタートアドレス)を、ロー
ド信号LDENDが1の時はMMEM402にnop命令が格納されて
いるアドレスMを出力する。The MPX201 outputs the execution start address (start address) of the microprogram when the load signal LDEND is 0, and outputs the address M where the nop instruction is stored in the MMEM402 when the load signal LDEND is 1.
本実施例では、MAR200の構造として前記本発明の第1実
施例と比較して、より単純なものを利用することが可能
であり、従来のマイクロプログラム制御装置から移行も
簡単に行なうことができる。In this embodiment, the structure of the MAR200 can be simpler than that of the first embodiment of the present invention, and the migration from the conventional microprogram controller can be easily performed. .
<発明の効果> 以上説明したように、本発明を用いることでマイクロプ
ログラムの実行開始を待ち合せる制御に関して、マイク
ロ命令の保持機構や、マイクロ命令の無効化回路を省略
することができるので、少ないハードウェアで実現でき
るマイクロプログラム制御装置を提供することが可能で
ある。<Effects of the Invention> As described above, by using the present invention, it is possible to omit the microinstruction holding mechanism and the microinstruction invalidating circuit for the control of waiting for the start of the execution of the microprogram. It is possible to provide a micro program controller that can be realized by hardware.
また、高速なマイクロプログラムの実行のために、より
大きなビット幅のマイクロ命令を採用する場合、マイク
ロ命令アドレスのビット幅は相対的に小さくなるので、
より効果は大きくなる。Also, when a microinstruction with a larger bit width is adopted for high-speed execution of a microprogram, the bit width of the microinstruction address becomes relatively small,
The effect will be greater.
第1図は本発明の第1実施例の構成を示すブロック図、 第2図は本発明の第2実施例の構成を示すブロック図、 第3図は第1実施例の動作タイミングを示すタイミング
図、 第4図は従来のマイクロプログラム制御装置の構成を示
すブロック図、 第5図はマイクロ命令のフォーマットの一例を示すブロ
ック図、 第6図はマイクロプログラム制御装置の基本的な動作タ
イミングを示すタイミング図、 第7図は従来のマイクロプログラム制御装置の動作タイ
ミングを示すタイミング図である。 100、200、400……マイクロ命令アドレス・レジスタ、 101、404……マイクロプログラム・シーケンサ、 201……マルチプレクサ、 210……2入力ORゲート、 401……インクリメンタ、 402……マイクロプログラム・メモリ、 403……マイクロ命令レジスタ、 410、411、412、413……2入力ANDゲート、 420……インバータ。FIG. 1 is a block diagram showing the configuration of the first embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of the second embodiment of the present invention, and FIG. 3 is a timing showing the operation timing of the first embodiment. FIG. 4 is a block diagram showing the structure of a conventional micro program control device, FIG. 5 is a block diagram showing an example of the format of a micro instruction, and FIG. 6 is a basic operation timing of the micro program control device. Timing chart, FIG. 7 is a timing chart showing the operation timing of the conventional microprogram controller. 100, 200, 400 ... Microinstruction address register, 101, 404 ... Microprogram sequencer, 201 ... Multiplexer, 210 ... 2-input OR gate, 401 ... Incrementer, 402 ... Microprogram memory, 403: Micro instruction register, 410, 411, 412, 413: 2-input AND gate, 420: Inverter.
Claims (1)
実行すべきマイクロプログラムの実行開始アドレスを外
部から供給するマイクロプログラム制御装置において、
マイクロプログラムの実行開始が待ち合わせ状態にある
ことを検知する手段と、少なくとも時間の消費のみを目
的とした無効なマイクロ命令を含むマイクロプログラム
を保持する読み出し専用の格納手段と、前記格納手段に
格納された無効なマイクロ命令をアドレスする手段とで
構成され、前記検知手段はマイクロプログラムの実行開
始が待ち合わせ状態にあることを検知した場合には、前
記マイクロプログラムの実行開始アドレスの代りに前記
アドレス手段によって前記格納手段に格納されている無
効なマイクロ命令をアドレスし、該アドレス内の無効命
令を実行することを特徴とするマイクロプログラム制御
装置。1. A microprogram controller for externally supplying an execution start address of a microprogram to be executed at the end of execution of the microprogram,
A means for detecting that the start of execution of the microprogram is in a waiting state, a read-only storage means for holding the microprogram containing an invalid microinstruction for the purpose of at least consuming only time, and a storage means stored in the storage means Means for addressing an invalid microinstruction, and when the detecting means detects that the start of execution of the microprogram is in a waiting state, the address means replaces the execution start address of the microprogram by the address means. A microprogram control device, which addresses an invalid microinstruction stored in the storage means and executes an invalid instruction within the address.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61309766A JPH0782434B2 (en) | 1986-12-25 | 1986-12-25 | Micro program controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61309766A JPH0782434B2 (en) | 1986-12-25 | 1986-12-25 | Micro program controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63163531A JPS63163531A (en) | 1988-07-07 |
| JPH0782434B2 true JPH0782434B2 (en) | 1995-09-06 |
Family
ID=17997008
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61309766A Expired - Lifetime JPH0782434B2 (en) | 1986-12-25 | 1986-12-25 | Micro program controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0782434B2 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60103450A (en) * | 1983-11-10 | 1985-06-07 | Fujitsu Ltd | Microprogram control system |
-
1986
- 1986-12-25 JP JP61309766A patent/JPH0782434B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63163531A (en) | 1988-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2810068B2 (en) | Processor system, computer system, and instruction processing method | |
| US5235686A (en) | Computer system having mixed macrocode and microcode | |
| US4954943A (en) | Data processing system | |
| EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
| KR880001418B1 (en) | Data processing device | |
| JP2548428B2 (en) | Timing generator | |
| US5247624A (en) | Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out | |
| JPH03233630A (en) | Information processor | |
| EP0279953B1 (en) | Computer system having mixed macrocode and microcode instruction execution | |
| JPS6232504B2 (en) | ||
| JPH0782434B2 (en) | Micro program controller | |
| JP2680828B2 (en) | Digital device | |
| JP2694948B2 (en) | Micro program processor | |
| US5187782A (en) | Data processing system | |
| JPH0512751B2 (en) | ||
| EP0573071A2 (en) | A microprocessor | |
| JP4889235B2 (en) | Program control processor | |
| JPS6049337B2 (en) | Pipeline control method | |
| JP2583506B2 (en) | Data processing device | |
| JP2721611B2 (en) | Programmable controller | |
| JPH087679B2 (en) | Microprocessor | |
| JP2721610B2 (en) | Programmable controller | |
| JP2504263B2 (en) | Data processing device | |
| JP2636074B2 (en) | Microprocessor | |
| US6212624B1 (en) | Selective canonizing on mode transitions |