JPH03291724A - マイクロプログラム制御方式 - Google Patents
マイクロプログラム制御方式Info
- Publication number
- JPH03291724A JPH03291724A JP9530990A JP9530990A JPH03291724A JP H03291724 A JPH03291724 A JP H03291724A JP 9530990 A JP9530990 A JP 9530990A JP 9530990 A JP9530990 A JP 9530990A JP H03291724 A JPH03291724 A JP H03291724A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- microinstruction
- micro
- branch
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、マイクロプログラムにより命令を処理する
マイクロプロセッサなどのマイクロプログラム制御装置
において、条件分岐マイクロ命令などの高速実行を行う
マイクロプログラム制御方式に関するものである。
マイクロプロセッサなどのマイクロプログラム制御装置
において、条件分岐マイクロ命令などの高速実行を行う
マイクロプログラム制御方式に関するものである。
マイクロプログラム制御方式を採用したマイクロプロセ
ッサでは、第4図に示すように、マイクロ命令の読み出
しと実行をパイプライン的に処理し、実行速度をあげよ
うとするものが多い。ここで、マイクロプログラムの読
み出しにかかる時間を1サイクル、実行にかかる時間を
同じく1サイクルとする。マイクロプログラムをストア
したマイクロROMから、マイクロ命令(n)が読み出
されているサイクルでは、実行部ではマイクロ命令(n
−1)が実行されている。そしてマイクロ命令(n)が
実行されるサイクルでは、次のマイクロ命令(n+1)
がマイクロROMから読み出される。1つのマイクロ命
令に対して、読み出しと実行で1サイクルずつ計2サイ
クルかかるが、パイプライン的に処理するため1マイク
ロ命令ば1サイクルで処理されるように見える。
ッサでは、第4図に示すように、マイクロ命令の読み出
しと実行をパイプライン的に処理し、実行速度をあげよ
うとするものが多い。ここで、マイクロプログラムの読
み出しにかかる時間を1サイクル、実行にかかる時間を
同じく1サイクルとする。マイクロプログラムをストア
したマイクロROMから、マイクロ命令(n)が読み出
されているサイクルでは、実行部ではマイクロ命令(n
−1)が実行されている。そしてマイクロ命令(n)が
実行されるサイクルでは、次のマイクロ命令(n+1)
がマイクロROMから読み出される。1つのマイクロ命
令に対して、読み出しと実行で1サイクルずつ計2サイ
クルかかるが、パイプライン的に処理するため1マイク
ロ命令ば1サイクルで処理されるように見える。
ここで条件分岐命令を実行した場合を考える。
条件分岐命令は演算結果が条件に合うかどうかを判断し
て、分岐を実行する命令である。判断に使う演算は条件
分岐命令の実行サイクルで行われるか、条件分岐命令よ
りも前の命令で行われる。条件分岐命令を実行して、“
分岐する”と判断したときは、このサイクルで読み出し
ていた次のマイクロ命令(n+1)は実行せずに、飛び
先の命令を実行することになる。しかし分岐先のマイク
ロ命令の読み出しは、条件分岐命令(n)の実行の次の
サイクルとなるため、マイクロ命令(n+1)が実行さ
れてしまう。
て、分岐を実行する命令である。判断に使う演算は条件
分岐命令の実行サイクルで行われるか、条件分岐命令よ
りも前の命令で行われる。条件分岐命令を実行して、“
分岐する”と判断したときは、このサイクルで読み出し
ていた次のマイクロ命令(n+1)は実行せずに、飛び
先の命令を実行することになる。しかし分岐先のマイク
ロ命令の読み出しは、条件分岐命令(n)の実行の次の
サイクルとなるため、マイクロ命令(n+1)が実行さ
れてしまう。
そこでデイレイドジャンプ方式によるマイクロプログラ
ム制御方式が提唱された。第5図(a)に条件分岐命令
(n)により分岐をし、マイクロ命令(jadr)に飛
ぶマイクロシーケンスを示す。
ム制御方式が提唱された。第5図(a)に条件分岐命令
(n)により分岐をし、マイクロ命令(jadr)に飛
ぶマイクロシーケンスを示す。
3
いま、条件分岐命令の判定はマイクロ命令(n)の演算
結果で行うものとする。マイクロプログラムがこの条件
分岐で分岐する場合、マイクロシケンスは(n)= (
jadr)−+ (jadr+1)の順になる。条件の
判定は条件分岐命令(n)の実行サイクルで行われるた
め、次のマイクロ命令(j a d r)の読み出しは
条件分岐命令(n)実行の次サイクルとなる。このため
条件分岐命令(n)の実行サイクルで読み出されたマイ
クロ命令(n+1)は実行されてしまう。デイレイドジ
ャンプ方式では、マイクロ命令(n+1)にはNOP命
令(No 0Peration命令)をいれる。こうし
てマイクロ命令(n+1)が実行されても、命令の処理
が正しくなるようにしている。しかしN○P命令をいれ
るため1命令糸分に実行されることになり、実行速度は
遅くなる。
結果で行うものとする。マイクロプログラムがこの条件
分岐で分岐する場合、マイクロシケンスは(n)= (
jadr)−+ (jadr+1)の順になる。条件の
判定は条件分岐命令(n)の実行サイクルで行われるた
め、次のマイクロ命令(j a d r)の読み出しは
条件分岐命令(n)実行の次サイクルとなる。このため
条件分岐命令(n)の実行サイクルで読み出されたマイ
クロ命令(n+1)は実行されてしまう。デイレイドジ
ャンプ方式では、マイクロ命令(n+1)にはNOP命
令(No 0Peration命令)をいれる。こうし
てマイクロ命令(n+1)が実行されても、命令の処理
が正しくなるようにしている。しかしN○P命令をいれ
るため1命令糸分に実行されることになり、実行速度は
遅くなる。
さらに最適化されたデイレイドジャンプ方式では、NO
Pの挿入による実行速度の低下を防ぐ工夫がなされる。
Pの挿入による実行速度の低下を防ぐ工夫がなされる。
これは分岐命令の次に分岐処理と関係のない命令をいれ
ておくことにより、分岐の次のサイクルも有効な処理を
行うものである。第5図(blに示すシーケンス中で、
条件分岐命令(n)の次に実行されるマイクロ命令(n
+1)は、条件分岐命令の前後どちらで処理されてもよ
い命令であり、分岐条件に影響を与えない。このような
マイクロ命令があれば分岐マイクロ命令の次に置くこと
により、実行速度の向上をはかることができる。しかし
いつもこのように分岐命令の次に有効な命令を挿入でき
るわけではなく、NOPをいれなければならないことも
ある。
ておくことにより、分岐の次のサイクルも有効な処理を
行うものである。第5図(blに示すシーケンス中で、
条件分岐命令(n)の次に実行されるマイクロ命令(n
+1)は、条件分岐命令の前後どちらで処理されてもよ
い命令であり、分岐条件に影響を与えない。このような
マイクロ命令があれば分岐マイクロ命令の次に置くこと
により、実行速度の向上をはかることができる。しかし
いつもこのように分岐命令の次に有効な命令を挿入でき
るわけではなく、NOPをいれなければならないことも
ある。
また第6図に示すように、分岐マイクロ命令の次のアド
レスが示すマイクロ命令と、飛び先のマイクロ命令の両
方を読み出す方式がある。通常のマイクロ命令の流れで
ば、マイクロ・アドレス・レジスタ21のアドレスでマ
イクロROMIをアクセスする。そして読み出された命
令71をマルチプレクサ25で選択することにより実行
部15で処理を行う。またマイクロ・アドレス・レジス
タ21の値はインクリメンタ3でインクリメントされ、
次のマイクロ命令のアドレスを生成する。
レスが示すマイクロ命令と、飛び先のマイクロ命令の両
方を読み出す方式がある。通常のマイクロ命令の流れで
ば、マイクロ・アドレス・レジスタ21のアドレスでマ
イクロROMIをアクセスする。そして読み出された命
令71をマルチプレクサ25で選択することにより実行
部15で処理を行う。またマイクロ・アドレス・レジス
タ21の値はインクリメンタ3でインクリメントされ、
次のマイクロ命令のアドレスを生成する。
ここで分岐マイクロ命令(n)が読み出されたときは、
その飛び先のアドレス(j a d r)がマイクロ・
アドレス・レジスタ22にストアされる。
その飛び先のアドレス(j a d r)がマイクロ・
アドレス・レジスタ22にストアされる。
次のクロックサイクルでは、2つのマイクロ・アドレス
・レジスタ21.22により同時にマイクロROMIが
アクセスされ、マイクロ命令7172を2つ読み出す。
・レジスタ21.22により同時にマイクロROMIが
アクセスされ、マイクロ命令7172を2つ読み出す。
2つのマイクロ命令7172は分岐条件成立信号12に
よりマルチプレクサ25でどちらかが選択され、実行に
移る。この分岐条件成立信号12は、分岐マイクロ命令
(n)を実行することにより分岐条件が成立したか否か
を示す。
よりマルチプレクサ25でどちらかが選択され、実行に
移る。この分岐条件成立信号12は、分岐マイクロ命令
(n)を実行することにより分岐条件が成立したか否か
を示す。
第7図にこのときのマイクロシーケンスを示す。
分岐マイクロ命令(n)は、その実行時に読み出された
2つのマイクロ命令(n+1.jadr)のうちどちら
かをに次に実行するので、無駄なN○P命令の実行を行
うことはなく実行速度はあがる。しかしこの場合同時に
2つアドレスで内容を読み出すマイクロROMが必要と
なり、また2つのマイクロ命令を選択するマルチプレク
サの機能がふえるなど、ハードウェアが増加することに
なる。
2つのマイクロ命令(n+1.jadr)のうちどちら
かをに次に実行するので、無駄なN○P命令の実行を行
うことはなく実行速度はあがる。しかしこの場合同時に
2つアドレスで内容を読み出すマイクロROMが必要と
なり、また2つのマイクロ命令を選択するマルチプレク
サの機能がふえるなど、ハードウェアが増加することに
なる。
以上のように従来のマイクロプログラム制御方式は分岐
マイクロ命令が実行されると、NOPが挿入されること
により処理が遅くなったり、複数のマイクロプログラム
を読み出すことによりハトウェアが増加するという問題
点があった。
マイクロ命令が実行されると、NOPが挿入されること
により処理が遅くなったり、複数のマイクロプログラム
を読み出すことによりハトウェアが増加するという問題
点があった。
この発明は上記のような問題点を解決するためになされ
たもので、少ないハードウェアでマイクロプログラムの
処理速度の向上を図れるマイクロプログラム制御方式を
得ることを目的とする。
たもので、少ないハードウェアでマイクロプログラムの
処理速度の向上を図れるマイクロプログラム制御方式を
得ることを目的とする。
この発明におけるマイクロプログラム制御方式は、マイ
クロ命令を格納するメモリ (マイクロR○Ml)と、
このメモリをアクセスするアクセス手段(マイクロ・ア
ドレス・レジスタ2)と、このアクセス手段により」二
足メモリ (ROM1)から読み出されたマイクロ命令
に従って演算を行う命令実行手段(実行部15)と、上
記アクセス手段(マイクロ・アドレス・レジスタ2)に
より上記メモリ(ROMI)から読み出されたマイクロ
命令を無効化する無効化手段(NOP手段24)と、上
記アクセス手段(マイクロ・アドレス・レジスタ2)に
より上記メモリ (ROMI)をアクセスするアドレス
の値をインリメントするインクリメント手段(インクリ
メンタ3)と、このインクリメント手段から出力された
アドレスあるいは上記マイクロ命令アドレスを一時保持
する保持手段(退避アドレス・レジスタ4)と、マイク
ロ命令により指示された条件が成立したかどうかを上記
命令実行手段(実行部15)でのマイクロ命令の実行結
果によって判断する条件判断手段(分岐予測判定信号1
2)とを備え、上記メモリ (マイクロROMI)上の
第1のアドレスに格納さている第1のマイクロ命令の実
行後に上記インクリメント手段(インクリメンタ3)か
ら出力された第2のアドレスに格納されている第2のマ
イクロ命令を実行するか、上記第1のマイクロ命令によ
って指示された上記メモリ (マイクロROMI)上の
第3のアドレスに格納された第3のマイクロ命令を実行
するかを、上記第1のマイクロ命令もしくは上記第1の
マイクロ命令より前に実行されたマイクロ命令の実行結
果で判断するときに、上記アクセス手段(マイクロ・ア
ドレス・レジスタ2)が上記第1のマイクロ命令を読み
出した後、上記アクセス手段(マイクロ・アドレス・レ
ジスタ2)が上記第3のアドレスあるいは上記第2のア
ドレスで上記メモリ (マイクロROMI)をアクセス
し、上記保持手段(退避アドレス・レジスタ4)が上記
第2のアドレスあるいは上記第3のアドレスを保持し、
上記条件判断手段(分岐予測判定信号12)により上記
第1の命令の実行後に、上記第2の命令あるいは上記第
3の命令を実行することが示された場合には、上記アク
セス手段(マイクロ・アドレス・レジスタ2)により読
み出された上記第3の命令あるいは第2の命令を上記無
効化手段(NOP手段24)により無効化し、上記アク
セス手段(マイクロ・アドレス・レジスタ2)が上記保
持手段(退避アドレス・レジスタ4)に保持されていた
上記第2のアドレスあるいは第3のアドレスで上記メモ
リ (ROMI)をアクセスするものである。
クロ命令を格納するメモリ (マイクロR○Ml)と、
このメモリをアクセスするアクセス手段(マイクロ・ア
ドレス・レジスタ2)と、このアクセス手段により」二
足メモリ (ROM1)から読み出されたマイクロ命令
に従って演算を行う命令実行手段(実行部15)と、上
記アクセス手段(マイクロ・アドレス・レジスタ2)に
より上記メモリ(ROMI)から読み出されたマイクロ
命令を無効化する無効化手段(NOP手段24)と、上
記アクセス手段(マイクロ・アドレス・レジスタ2)に
より上記メモリ (ROMI)をアクセスするアドレス
の値をインリメントするインクリメント手段(インクリ
メンタ3)と、このインクリメント手段から出力された
アドレスあるいは上記マイクロ命令アドレスを一時保持
する保持手段(退避アドレス・レジスタ4)と、マイク
ロ命令により指示された条件が成立したかどうかを上記
命令実行手段(実行部15)でのマイクロ命令の実行結
果によって判断する条件判断手段(分岐予測判定信号1
2)とを備え、上記メモリ (マイクロROMI)上の
第1のアドレスに格納さている第1のマイクロ命令の実
行後に上記インクリメント手段(インクリメンタ3)か
ら出力された第2のアドレスに格納されている第2のマ
イクロ命令を実行するか、上記第1のマイクロ命令によ
って指示された上記メモリ (マイクロROMI)上の
第3のアドレスに格納された第3のマイクロ命令を実行
するかを、上記第1のマイクロ命令もしくは上記第1の
マイクロ命令より前に実行されたマイクロ命令の実行結
果で判断するときに、上記アクセス手段(マイクロ・ア
ドレス・レジスタ2)が上記第1のマイクロ命令を読み
出した後、上記アクセス手段(マイクロ・アドレス・レ
ジスタ2)が上記第3のアドレスあるいは上記第2のア
ドレスで上記メモリ (マイクロROMI)をアクセス
し、上記保持手段(退避アドレス・レジスタ4)が上記
第2のアドレスあるいは上記第3のアドレスを保持し、
上記条件判断手段(分岐予測判定信号12)により上記
第1の命令の実行後に、上記第2の命令あるいは上記第
3の命令を実行することが示された場合には、上記アク
セス手段(マイクロ・アドレス・レジスタ2)により読
み出された上記第3の命令あるいは第2の命令を上記無
効化手段(NOP手段24)により無効化し、上記アク
セス手段(マイクロ・アドレス・レジスタ2)が上記保
持手段(退避アドレス・レジスタ4)に保持されていた
上記第2のアドレスあるいは第3のアドレスで上記メモ
リ (ROMI)をアクセスするものである。
メモリ (ROMI)の第1のアドレスに格納されてい
る第1のマイクロ命令の実行後に、インクリメント手段
(インクリメンタ3)から出力された第2のアドレスに
格納されている第2のマイクロ命令を実行するか、第1
のマイクロ命令によって指示されたメモリ (マイクロ
ROM1)上の第3のアドレスに格納された第3のマイ
クロ命令を実行するかは、第1のマイクロ命令もしくは
第1のマイクロ命令より前に実行されたマイクロ命令の
実行結果で判断される。このとき、第1のマイクロ命令
はアクセス手段(マイクロ・アドレス・レジスタ2)に
より読み出され、その後、メモリ(マイクロROMI)
は第3のアドレスあるいは第2のアドレスでアクセスさ
れる。条件判断手段(分岐予測判定信号12)により第
1の命令の実行後に、上記第2の命令あるいは上記第3
の命令を実行することが示された場合には、アクセス手
段(マイクロ・アドレス・レジスタ2)により読み出さ
れた第3の命令あるいは第2の命令は無効化手段(NO
P手段24)により無効化され、メモリ (ROMI)
は保持手段(退避アドレス・レジスタ4)に保持されて
いた第2のアドレスあるいは第3のアドレスでアクセス
される。
る第1のマイクロ命令の実行後に、インクリメント手段
(インクリメンタ3)から出力された第2のアドレスに
格納されている第2のマイクロ命令を実行するか、第1
のマイクロ命令によって指示されたメモリ (マイクロ
ROM1)上の第3のアドレスに格納された第3のマイ
クロ命令を実行するかは、第1のマイクロ命令もしくは
第1のマイクロ命令より前に実行されたマイクロ命令の
実行結果で判断される。このとき、第1のマイクロ命令
はアクセス手段(マイクロ・アドレス・レジスタ2)に
より読み出され、その後、メモリ(マイクロROMI)
は第3のアドレスあるいは第2のアドレスでアクセスさ
れる。条件判断手段(分岐予測判定信号12)により第
1の命令の実行後に、上記第2の命令あるいは上記第3
の命令を実行することが示された場合には、アクセス手
段(マイクロ・アドレス・レジスタ2)により読み出さ
れた第3の命令あるいは第2の命令は無効化手段(NO
P手段24)により無効化され、メモリ (ROMI)
は保持手段(退避アドレス・レジスタ4)に保持されて
いた第2のアドレスあるいは第3のアドレスでアクセス
される。
第1図はこの発明の一実施例に係るマイクロプログラム
制御方式を採用したマイクロプログラム制御装置の槽底
ブロック図である。第1図において、1はマイクロプロ
グラム(マイクロ命令)をストアするマイクロROM
(メモリ)、2はマイクロROMIをアクセスするため
のアドレスを格納するマイクロ・アドレス・レジスタ(
アクセス手段)、3はマイクロ・アドレス・レジスタ2
によりマイクロROMIをアクセスするアドレスの値を
インクリメントするインクリメンタ (インクリメント
手段)、4はインクリメンタ3から出力されたアドレス
あるいは上記マイクロ命令を一時1 保持する(分岐マイクロ命令で予測されなかったアドレ
スを退避する)退避アドレス・レジスタ(保持手段)、
6は命令デコーダ16でデコードされた命令を実行する
マイクロ・アドレスをストアするエントリ・アドレス・
レジスタ、7はマイクロROMIの出力である。8は退
避アドレス・レジスタ4やエントリ・アドレス・レジス
タ6のデータをマイクロ・アドレス・レジスタ2に転送
するためのバス、9はマイクロ・アドレス・レジスタ2
がマイクロROMIをアクセスするためのバス、10は
マイクロROMIの飛び先アドレスを退避アドレス・レ
ジスタ4やマイクロ・アドレス・レジスタ2に転送する
ためのバス、11はマイクロプログラムの分岐予測信号
、12は分岐予測が当たったかどうかを示す分岐予測判
定信号(条件判断手段)、13はマイクロROMIのブ
タをデコードするマイクロ・デコーダ、14はマイクロ
・デコーダ13から出力される実行制御信号、15はマ
イクロ・アドレス・レジスタ2によりマイクロROMI
から読み出されたマイクロ2 命令に従って演算を行う実行部(命令実行手段)、17
はインクリメントされたマイクロ・アドレスを退避アド
レス・レジスタ4に転送するためのバス、20ば実行部
15で1命令の処理を終了し、次の命令のマイクロ・ア
ドレスを要求する終了信号、23は命令デコーダ16で
指定するマイクロ・アドレスをエントリ・アドレス・レ
ジスタ6に転送するためのバス、24はマイクロ・アド
レス・レジスタ2によりマイクロROMIから読み出さ
れたマイクロ命令を無効化する(分岐予測が外れたとき
に実行部15での処理を無効化する)N02手段(無効
化手段)である。
制御方式を採用したマイクロプログラム制御装置の槽底
ブロック図である。第1図において、1はマイクロプロ
グラム(マイクロ命令)をストアするマイクロROM
(メモリ)、2はマイクロROMIをアクセスするため
のアドレスを格納するマイクロ・アドレス・レジスタ(
アクセス手段)、3はマイクロ・アドレス・レジスタ2
によりマイクロROMIをアクセスするアドレスの値を
インクリメントするインクリメンタ (インクリメント
手段)、4はインクリメンタ3から出力されたアドレス
あるいは上記マイクロ命令を一時1 保持する(分岐マイクロ命令で予測されなかったアドレ
スを退避する)退避アドレス・レジスタ(保持手段)、
6は命令デコーダ16でデコードされた命令を実行する
マイクロ・アドレスをストアするエントリ・アドレス・
レジスタ、7はマイクロROMIの出力である。8は退
避アドレス・レジスタ4やエントリ・アドレス・レジス
タ6のデータをマイクロ・アドレス・レジスタ2に転送
するためのバス、9はマイクロ・アドレス・レジスタ2
がマイクロROMIをアクセスするためのバス、10は
マイクロROMIの飛び先アドレスを退避アドレス・レ
ジスタ4やマイクロ・アドレス・レジスタ2に転送する
ためのバス、11はマイクロプログラムの分岐予測信号
、12は分岐予測が当たったかどうかを示す分岐予測判
定信号(条件判断手段)、13はマイクロROMIのブ
タをデコードするマイクロ・デコーダ、14はマイクロ
・デコーダ13から出力される実行制御信号、15はマ
イクロ・アドレス・レジスタ2によりマイクロROMI
から読み出されたマイクロ2 命令に従って演算を行う実行部(命令実行手段)、17
はインクリメントされたマイクロ・アドレスを退避アド
レス・レジスタ4に転送するためのバス、20ば実行部
15で1命令の処理を終了し、次の命令のマイクロ・ア
ドレスを要求する終了信号、23は命令デコーダ16で
指定するマイクロ・アドレスをエントリ・アドレス・レ
ジスタ6に転送するためのバス、24はマイクロ・アド
レス・レジスタ2によりマイクロROMIから読み出さ
れたマイクロ命令を無効化する(分岐予測が外れたとき
に実行部15での処理を無効化する)N02手段(無効
化手段)である。
第2図(a)〜(d)は分岐マイクロ命令を含むマイク
ロプログラムの読み出し、実行を示したタイミングチャ
ートである。アドレス(n)のマイクロ命令が条件分岐
命令であり、一つ前のマイクロ命令の演算結果により条
件の判断を行って分岐する。
ロプログラムの読み出し、実行を示したタイミングチャ
ートである。アドレス(n)のマイクロ命令が条件分岐
命令であり、一つ前のマイクロ命令の演算結果により条
件の判断を行って分岐する。
次にかかれた命令のアドレスは(n+1)、飛び先のア
ドレスは(j a d r)である。第2図(a)はマ
イクロ命令(n)が分岐すると予測し分岐条件が成立し
た、つまり分岐予測が当たった場合、第2図(b)はマ
イクロ命令(n)が分岐すると予測したが分岐条件が不
成立のため分岐予測がはずれた場合、第2図(C1はマ
イクロ命令(n)が分岐しないと予測したが分岐条件が
成立したために分岐予測が外れた場合、第2図(d)は
マイクロ命令(n)が分岐しないと予測し分岐条件が不
成立であった、つまり分岐予測が当たった場合である。
ドレスは(j a d r)である。第2図(a)はマ
イクロ命令(n)が分岐すると予測し分岐条件が成立し
た、つまり分岐予測が当たった場合、第2図(b)はマ
イクロ命令(n)が分岐すると予測したが分岐条件が不
成立のため分岐予測がはずれた場合、第2図(C1はマ
イクロ命令(n)が分岐しないと予測したが分岐条件が
成立したために分岐予測が外れた場合、第2図(d)は
マイクロ命令(n)が分岐しないと予測し分岐条件が不
成立であった、つまり分岐予測が当たった場合である。
次にこの実施例の動作について説明する。
この実施例のマイクロプログラム制御装置に入力された
マイクロ命令は、命令デコーダ16によりデコードされ
る。このデコードによりマイクロ命令に対応するマイク
ロ命令のエンI−リ・アドレスを求める。このアドレス
はまずエントリ・アドレス・レジスタ6にストアされる
。1つ前の命令の実行が完了し、次のエントリ・アドレ
スを読み出す終了信号20がセットされると、エントリ
・アドレス・レジスタ6にストアされていたマイクロ・
アドレスが、バス8を介してマイクロ・アドレス・レジ
スタ2に転送される。マイクロROM1にはマイクロプ
ログラムが書き込まれており、マイクロ・アドレス・レ
ジスタ2にストアさているアドレスによりアクセスされ
、実行すべきマイクロ命令の命令コードを出力する。マ
イクロ命令の命令コードはバス7を介してマイクロ・デ
コダ13に人力される。マイクロ・デコーダ13による
デコード結果は、実行部■5を動作させて命令を処理す
るための制御信号となる。
マイクロ命令は、命令デコーダ16によりデコードされ
る。このデコードによりマイクロ命令に対応するマイク
ロ命令のエンI−リ・アドレスを求める。このアドレス
はまずエントリ・アドレス・レジスタ6にストアされる
。1つ前の命令の実行が完了し、次のエントリ・アドレ
スを読み出す終了信号20がセットされると、エントリ
・アドレス・レジスタ6にストアされていたマイクロ・
アドレスが、バス8を介してマイクロ・アドレス・レジ
スタ2に転送される。マイクロROM1にはマイクロプ
ログラムが書き込まれており、マイクロ・アドレス・レ
ジスタ2にストアさているアドレスによりアクセスされ
、実行すべきマイクロ命令の命令コードを出力する。マ
イクロ命令の命令コードはバス7を介してマイクロ・デ
コダ13に人力される。マイクロ・デコーダ13による
デコード結果は、実行部■5を動作させて命令を処理す
るための制御信号となる。
条件分岐命令は、この命令または前の命令の演算結果を
見て分岐するか否かを判断する命令である。本実施例で
は、条件分岐命令の実行サイクルで行った演算により、
分岐するかどうかを判断する場合について説明する。
見て分岐するか否かを判断する命令である。本実施例で
は、条件分岐命令の実行サイクルで行った演算により、
分岐するかどうかを判断する場合について説明する。
マイクロプログラムはマイクロ命令コードの一部に分岐
予測信号11をもち、マイクロ命令が分岐すると予測す
るか分岐しないと予測するかをこの信号11で示す。マ
イクロ命令が分岐すると予測した場合は、マイクロ命令
で指定された飛び先のアドレスをマイクロ・アドレス・
レジスタ2に転送し、飛び先のマイクロプログラムを読
み出す。
予測信号11をもち、マイクロ命令が分岐すると予測す
るか分岐しないと予測するかをこの信号11で示す。マ
イクロ命令が分岐すると予測した場合は、マイクロ命令
で指定された飛び先のアドレスをマイクロ・アドレス・
レジスタ2に転送し、飛び先のマイクロプログラムを読
み出す。
■5
このとき、退避アドレス・レジスタ4にはインクリメン
トされたマイクロ・アドレスが、インクリメンタ3から
転送されてストアされている。また分岐しないと予測し
た場合には、インクリメントしたアドレスをマイクロ・
アドレス・レジスタ2に転送し、次のマイクロプログラ
ムを読み出す。
トされたマイクロ・アドレスが、インクリメンタ3から
転送されてストアされている。また分岐しないと予測し
た場合には、インクリメントしたアドレスをマイクロ・
アドレス・レジスタ2に転送し、次のマイクロプログラ
ムを読み出す。
このとき、退避アドレス・レジスタ4には、飛び先のア
ドレスがバス10を通ってストアされている。
ドレスがバス10を通ってストアされている。
条件分岐命令の実行により分岐予測が当たった場合は、
そのサイクルで読み出したマイクロ命令を次のサイクル
で実行に移す。予測がはずれた場合は、読み出したマイ
クロ命令による実行をキャンセルLNOP手段24によ
り無効化する。そして退避アドレス・レジスタ4からバ
ス8を介してマイクロ・アドレス・レジスタ2にアドレ
スを転送する。このアドレス値でマイクロROMIから
命令を読み出し、実行する。っまりNOPとなったマイ
クロ命令の次に、予測しなかった方のマイクロ命令を実
行することになる。
そのサイクルで読み出したマイクロ命令を次のサイクル
で実行に移す。予測がはずれた場合は、読み出したマイ
クロ命令による実行をキャンセルLNOP手段24によ
り無効化する。そして退避アドレス・レジスタ4からバ
ス8を介してマイクロ・アドレス・レジスタ2にアドレ
スを転送する。このアドレス値でマイクロROMIから
命令を読み出し、実行する。っまりNOPとなったマイ
クロ命令の次に、予測しなかった方のマイクロ命令を実
行することになる。
1に
こで分岐マイクロ命令を、
■分岐すると予測するマイクロ命令 Mbral■分岐
しないと予測するマイクロ命令Mbra2に分けてそれ
ぞれの命令の動作を示す。
しないと予測するマイクロ命令Mbra2に分けてそれ
ぞれの命令の動作を示す。
0M b r a 1の場合
マイクロROMから読み出した命令(n)が分岐すると
予測される条件分岐命令であり、分岐予測信号11がセ
ントされている。このマイクロ命令(n)で指定された
飛び先アドレス(j a d r)は、バス10を通っ
てマイクロ・アドレス・レジスタ2に転送されマイクロ
ROM1をアクセスする。つまり分岐マイクロ命令(n
)の次には、マイクロ命令(jadr)が読み出される
。一方分岐マイクロ命令(n)のアドレスはインクリメ
ンタ3でインクリメントされ、(n+1)がバス17を
通って退避アドレス・レジスタ4にストアされる。
予測される条件分岐命令であり、分岐予測信号11がセ
ントされている。このマイクロ命令(n)で指定された
飛び先アドレス(j a d r)は、バス10を通っ
てマイクロ・アドレス・レジスタ2に転送されマイクロ
ROM1をアクセスする。つまり分岐マイクロ命令(n
)の次には、マイクロ命令(jadr)が読み出される
。一方分岐マイクロ命令(n)のアドレスはインクリメ
ンタ3でインクリメントされ、(n+1)がバス17を
通って退避アドレス・レジスタ4にストアされる。
第2図(alは、分岐条件が成立し分岐予測が当たった
場合のマイクロシーケンスを示す。マイクロ命令(n)
の実行サイクルで演算を行う。条件分岐命令(n)の実
行サイクル開始時には、次のマイクロ命令(j a d
r)がマイクロ・アドレス・レジスタ2にストアされ
ており、マイクロROM1からは(j a d r)番
地のマイクロ命令が読み出される。一方インクリメント
されたマイクロ命令アドレス(n+1)は、インクリメ
ンタ3からバス17を通って退避アドレス・レジスタ4
にストアされる。マイクロ命令(n)の実行で分岐条件
が成立することがわかり、かつ分岐すると予測している
ので、分岐予測が当たったことになる。
場合のマイクロシーケンスを示す。マイクロ命令(n)
の実行サイクルで演算を行う。条件分岐命令(n)の実
行サイクル開始時には、次のマイクロ命令(j a d
r)がマイクロ・アドレス・レジスタ2にストアされ
ており、マイクロROM1からは(j a d r)番
地のマイクロ命令が読み出される。一方インクリメント
されたマイクロ命令アドレス(n+1)は、インクリメ
ンタ3からバス17を通って退避アドレス・レジスタ4
にストアされる。マイクロ命令(n)の実行で分岐条件
が成立することがわかり、かつ分岐すると予測している
ので、分岐予測が当たったことになる。
この時、分岐予測判定信号12は0”となる。
このためマイクロ命令(j a d r)はそのまま実
行される。インクリメンタ3では(jadr)をインク
リメントし、(jadr+1)が次のマイクロ命令とし
てマイクロROMIから読み出される。マイクロ命令の
シーケンスとしては、マイクロ命令(n−1)−(n)
−+ (j adr)−(jadr+1)の順に実行す
る。このときマイクロ命令(n+1)は処理されない。
行される。インクリメンタ3では(jadr)をインク
リメントし、(jadr+1)が次のマイクロ命令とし
てマイクロROMIから読み出される。マイクロ命令の
シーケンスとしては、マイクロ命令(n−1)−(n)
−+ (j adr)−(jadr+1)の順に実行す
る。このときマイクロ命令(n+1)は処理されない。
第2図(b)は、分岐条件が不成立で、分岐予測がはず
れた場合を示す。マイクロ命令(n)の実行により分岐
条件が成立しないことがわかると、分岐予測がはずれた
ことになる。このとき、実行部から分岐予測判定信号1
2−” 1”が出力され、次のマイクロ命令(j a
d r)の実行をキャンセルしNOP化する。キャンセ
ルするには、第1図に示すようにマイクロROMIの出
力信号をN02手段24によりNOP命令にかえる方法
をとる。
れた場合を示す。マイクロ命令(n)の実行により分岐
条件が成立しないことがわかると、分岐予測がはずれた
ことになる。このとき、実行部から分岐予測判定信号1
2−” 1”が出力され、次のマイクロ命令(j a
d r)の実行をキャンセルしNOP化する。キャンセ
ルするには、第1図に示すようにマイクロROMIの出
力信号をN02手段24によりNOP命令にかえる方法
をとる。
あるいはマイクロデコーダ13の出力をNOP状態にす
る方法もある。こうして生成されたNOP命令の実行を
行うクロックサイクルで、分岐予測判定信号12により
退避アドレス・レジスタ4のデータをバス8を通ってマ
イクロ・アドレス・レジスタ2に転送し、次のマイクロ
命令(n+1)を読み出す。このマイクロ命令(n+1
)はN。
る方法もある。こうして生成されたNOP命令の実行を
行うクロックサイクルで、分岐予測判定信号12により
退避アドレス・レジスタ4のデータをバス8を通ってマ
イクロ・アドレス・レジスタ2に転送し、次のマイクロ
命令(n+1)を読み出す。このマイクロ命令(n+1
)はN。
P命令の次に実行される。マイクロ命令のシーケンスと
しては、1ザイクルのNOPをはさんでマイクロ命令(
n)からマイクロ命令(n+1)に命令が流れる。つま
り(n、 −1) −(n) −(NOP)→(n+1
)となり、分岐しない命令シ9 ケンスを実行する。
しては、1ザイクルのNOPをはさんでマイクロ命令(
n)からマイクロ命令(n+1)に命令が流れる。つま
り(n、 −1) −(n) −(NOP)→(n+1
)となり、分岐しない命令シ9 ケンスを実行する。
■M b r a 7.の場合
マイクロROM1から読み出した命令(n)が分岐しな
いと予測される分岐命令であるので、分岐予測信号はセ
ットされない。このマイクロ命令にかかれた飛び先アド
レス(j a d r)はバス10を通って退避アドレ
ス・レジスタ4にストアされる。分岐マイクロ命令(n
)のアドレスはインクリメンタ3でインクリメントされ
マイクロ・アドレス・レジスタ2に転送される。つまり
分岐マイクロ命令(n)の次にはマイクロ命令(n+1
)が読み出される。
いと予測される分岐命令であるので、分岐予測信号はセ
ットされない。このマイクロ命令にかかれた飛び先アド
レス(j a d r)はバス10を通って退避アドレ
ス・レジスタ4にストアされる。分岐マイクロ命令(n
)のアドレスはインクリメンタ3でインクリメントされ
マイクロ・アドレス・レジスタ2に転送される。つまり
分岐マイクロ命令(n)の次にはマイクロ命令(n+1
)が読み出される。
第2図(C)は、分岐条件が成立して分岐予測がはずれ
た場合を示す。マイクロ命令(n)の実行により分岐条
件が成立し、分岐予測がはずれたことがわかる。この時
、実行部から分岐予測判定信号12−” 1”が出力さ
れる。この信号により、次のマイクロ命令(n+1)の
実行をキャンセルしNOP手段24により無効化する。
た場合を示す。マイクロ命令(n)の実行により分岐条
件が成立し、分岐予測がはずれたことがわかる。この時
、実行部から分岐予測判定信号12−” 1”が出力さ
れる。この信号により、次のマイクロ命令(n+1)の
実行をキャンセルしNOP手段24により無効化する。
また分岐予測判定信号12−“1”が出力されたことに
より、0 バス8を介して退避アドレス・レジスタ4のブタ(j
a d r)をマイクロ・アドレス・レジスタ2に転送
し、次のマイクロ命令(jadr)を読み出す。このマ
イクロ命令(j a d r)は、N02手段24によ
り生成されたNOP命令の次に実行される。マイクロ命
令のシーケンスとしては、1クロツクサイクルのNOP
をはさんで、マイクロ命令(n)からマイクロ命令(j
a d r)に命令が移る。つまり (n−1)−”
(n)−(NOP)−+ (j ad r)となり、
分岐する命令シーケンスを実行する。
より、0 バス8を介して退避アドレス・レジスタ4のブタ(j
a d r)をマイクロ・アドレス・レジスタ2に転送
し、次のマイクロ命令(jadr)を読み出す。このマ
イクロ命令(j a d r)は、N02手段24によ
り生成されたNOP命令の次に実行される。マイクロ命
令のシーケンスとしては、1クロツクサイクルのNOP
をはさんで、マイクロ命令(n)からマイクロ命令(j
a d r)に命令が移る。つまり (n−1)−”
(n)−(NOP)−+ (j ad r)となり、
分岐する命令シーケンスを実行する。
第2図(d)は、分岐条件が不成立であり分岐予測が当
たった場合を示す。マイクロ命令(n)の実行時に次の
マイクロ命令(n+1)がマイクロ・アドレス・レジス
タ2にストアされており、マイクロROMIからは(n
+1)番地の命令が読み出される。一方飛び先アドレス
(jadr)はバス10を通って退避アドレス・レジス
タ4にストアされる。マイクロ命令(n)の実行で分岐
条件が成立せず、分岐予測が当たったことがわかると、
1 7Q− 2 分岐予測判定信号12ば“0″になる。そのためマイク
ロ命令(n+1)はそのまま実行される。
たった場合を示す。マイクロ命令(n)の実行時に次の
マイクロ命令(n+1)がマイクロ・アドレス・レジス
タ2にストアされており、マイクロROMIからは(n
+1)番地の命令が読み出される。一方飛び先アドレス
(jadr)はバス10を通って退避アドレス・レジス
タ4にストアされる。マイクロ命令(n)の実行で分岐
条件が成立せず、分岐予測が当たったことがわかると、
1 7Q− 2 分岐予測判定信号12ば“0″になる。そのためマイク
ロ命令(n+1)はそのまま実行される。
インクリメンタ3では(ni−1)がインクリメントさ
れ、マイクロ命令(n+1)実行時には、マイクロ命令
(n−1−2)が読み出される。つまりマイクロ命令の
シーケンスとしては、マイクロ命令(n−1)→(n)
−(n+1)の順に実行する。
れ、マイクロ命令(n+1)実行時には、マイクロ命令
(n−1−2)が読み出される。つまりマイクロ命令の
シーケンスとしては、マイクロ命令(n−1)→(n)
−(n+1)の順に実行する。
このときマイクロ命令(j a d r)は処理されな
い。
い。
分岐すると予測した方が高速実行できるマイクロ命令と
してはループ処理(繰り返し処理を行う分岐)がある。
してはループ処理(繰り返し処理を行う分岐)がある。
また分岐しないと予測した方が高速実行できるマイクロ
命令としては例外処理への分岐がある。2種類の分岐を
分岐予測で切り換えて処理することにより、NOPを挿
入する確率が下がり、実行速度を上げることができる。
命令としては例外処理への分岐がある。2種類の分岐を
分岐予測で切り換えて処理することにより、NOPを挿
入する確率が下がり、実行速度を上げることができる。
通常の分岐処理では条件が成立し分岐する場合には、常
に読み出したマイクロ命令を無効化して、飛び先のマイ
クロ命令の読み出しを行う。しかし分岐予測することに
より通常の分岐処理に比べ、読み出した命令が無効化さ
れる確率が下がり、実行的な処理速度が向上する。また
マイクロROMを2ボートにする必要がない。
に読み出したマイクロ命令を無効化して、飛び先のマイ
クロ命令の読み出しを行う。しかし分岐予測することに
より通常の分岐処理に比べ、読み出した命令が無効化さ
れる確率が下がり、実行的な処理速度が向上する。また
マイクロROMを2ボートにする必要がない。
一方ディレイドジャンプ方式を使っても、分岐条件が成
立したか否かを判定するのが遅れる場合には本発明は有
効となる。周波数が上がりクロツタが短くなると、第3
図に示すように、1サイクルで分岐か否かを判断できず
次のクロックサイクルにまたがってしまうことがある。
立したか否かを判定するのが遅れる場合には本発明は有
効となる。周波数が上がりクロツタが短くなると、第3
図に示すように、1サイクルで分岐か否かを判断できず
次のクロックサイクルにまたがってしまうことがある。
通常のデイレイドジャンプ方式では、2つのNOP命令
を分岐マイクロ命令の次におくため処理が遅くなる。最
適化デイレイドジャンプでも分岐と無関係の2命令を挿
入するのは、1命令の時よりもさらにむずかしくなる。
を分岐マイクロ命令の次におくため処理が遅くなる。最
適化デイレイドジャンプでも分岐と無関係の2命令を挿
入するのは、1命令の時よりもさらにむずかしくなる。
そこで分岐の次の命令は最適化デイレイドジャンプ方式
を用い、その次の命令に関して本発明を使うことで処理
速度を上げることができる。
を用い、その次の命令に関して本発明を使うことで処理
速度を上げることができる。
また、前記実施例では、飛び先のアドレスとインクリメ
ントされたアドレスとを同じ退避アドレス・レジスタ4
に格納しているが、これを別のし3 ジスタにしてもよい。あるいは退避アドレス・レジスタ
4が直接マイクロROMIをアクセスするようにしても
よい。
ントされたアドレスとを同じ退避アドレス・レジスタ4
に格納しているが、これを別のし3 ジスタにしてもよい。あるいは退避アドレス・レジスタ
4が直接マイクロROMIをアクセスするようにしても
よい。
さらに、前記実施例では条件分岐について説明している
が、条件付きの命令の終了、サブルーチンからのリター
ン、命令の終了と分岐など、演算結果によって処理シー
ケンスを切り替える場合すべてについて、本発明は適用
可能である。例えばリターンを条件付きで行う場合、リ
ターンするかそのまま処理を続けるかを予測する。リタ
ーンすると予測したときは戻り番地をマイクロ・アドレ
ス・レジスタに、インクリメントしたアドレスを退避ア
ドレス・レジスタに格納し、リターンしないと予測した
ときは、逆に格納する。その後の処理は演算結果によっ
て、条件分岐と同様に処理を行う。
が、条件付きの命令の終了、サブルーチンからのリター
ン、命令の終了と分岐など、演算結果によって処理シー
ケンスを切り替える場合すべてについて、本発明は適用
可能である。例えばリターンを条件付きで行う場合、リ
ターンするかそのまま処理を続けるかを予測する。リタ
ーンすると予測したときは戻り番地をマイクロ・アドレ
ス・レジスタに、インクリメントしたアドレスを退避ア
ドレス・レジスタに格納し、リターンしないと予測した
ときは、逆に格納する。その後の処理は演算結果によっ
て、条件分岐と同様に処理を行う。
また命令の終了と分岐を条件付きで行う場合、終了か分
岐かを予測する。終了と予測したときは、次のマイクロ
命令を処理するためのマイクロ・アドレスをエントリ・
アドレス・レジスタかマイク4 0・アドレス・レジスタに転送し、飛び先のアドレスを
退避アドレス・レジスタに格納し、逆に予測したときは
逆に格納し、後の処理は条件分岐の処理と同様に行う。
岐かを予測する。終了と予測したときは、次のマイクロ
命令を処理するためのマイクロ・アドレスをエントリ・
アドレス・レジスタかマイク4 0・アドレス・レジスタに転送し、飛び先のアドレスを
退避アドレス・レジスタに格納し、逆に予測したときは
逆に格納し、後の処理は条件分岐の処理と同様に行う。
以上のように本発明によれば、読み出したマイクロ命令
の次にアクセスする可能性のある2つのマイクロ命令の
どちらかを予測選択してアクセスする際、その予測選択
が正しければそのままアクセスしたマイクロ命令を実行
し、正しくなければアクセスしたマイクロ命令を無効化
し、格納しておいたもう1つのマイクロ命令のアドレス
でメモリをアクセスするようにしたので、少ないハード
ウェアでマイクロプログラムの処理速度が向上するとい
う効果が得られる。
の次にアクセスする可能性のある2つのマイクロ命令の
どちらかを予測選択してアクセスする際、その予測選択
が正しければそのままアクセスしたマイクロ命令を実行
し、正しくなければアクセスしたマイクロ命令を無効化
し、格納しておいたもう1つのマイクロ命令のアドレス
でメモリをアクセスするようにしたので、少ないハード
ウェアでマイクロプログラムの処理速度が向上するとい
う効果が得られる。
第1図はこの発明の一実施例に係るマイクロプログラム
制御方式を採用したマイクロプログラム制御装置の構成
を示すブロック図、第2図(a)〜(d)はこの実施例
によるマイクロ命令の動作の一例を示したタイミングチ
ャート、第3図はデイレイドジャンプ方式とこの発明を
併用したマイクロプログラム制御装置のタイミングチャ
ート、第4図は従来のパイプラインによるマイクロプロ
グラム制御方式の動作を示すタイミングチャート、第5
図(a)、 (b)は従来のデイレイドジャンプ方式を
示すタイミングチャート、第6図は従来のマイクロプロ
グラム制御方式の構成を示すブロック図、第7図はこの
従来方式の動作を示すタイミングチャートである。 1・・・マイクロROM (、メモリ)、2・・・マイ
クロ・アドレス・レジスタ(アクセス手段)、3・・・
インクリメンタ(インクリメント手段)、4・・・退避
アドレス・レジスタ(保持手段、12・・・分岐予測判
定信号(条件判断手段)、15・・・実行部(命令実行
手段)、24・・・NOP手段(無効化手段)。
制御方式を採用したマイクロプログラム制御装置の構成
を示すブロック図、第2図(a)〜(d)はこの実施例
によるマイクロ命令の動作の一例を示したタイミングチ
ャート、第3図はデイレイドジャンプ方式とこの発明を
併用したマイクロプログラム制御装置のタイミングチャ
ート、第4図は従来のパイプラインによるマイクロプロ
グラム制御方式の動作を示すタイミングチャート、第5
図(a)、 (b)は従来のデイレイドジャンプ方式を
示すタイミングチャート、第6図は従来のマイクロプロ
グラム制御方式の構成を示すブロック図、第7図はこの
従来方式の動作を示すタイミングチャートである。 1・・・マイクロROM (、メモリ)、2・・・マイ
クロ・アドレス・レジスタ(アクセス手段)、3・・・
インクリメンタ(インクリメント手段)、4・・・退避
アドレス・レジスタ(保持手段、12・・・分岐予測判
定信号(条件判断手段)、15・・・実行部(命令実行
手段)、24・・・NOP手段(無効化手段)。
Claims (1)
- マイクロ命令を格納するメモリと、このメモリをアクセ
スするアクセス手段と、このアクセス手段により上記メ
モリから読み出されたマイクロ命令に従って演算を行う
命令実行手段と、上記アクセス手段により上記メモリか
ら読み出されたマイクロ命令を無効化する無効化手段と
、上記アクセス手段により上記メモリをアクセスするア
ドレスの値をインクリメントするインクリメント手段と
、このインクリメント手段から出力されたアドレスある
いは上記マイクロ命令アドレスを一時保持する保持手段
と、マイクロ命令により指示された条件が成立したかど
うかを上記命令実行手段でのマイクロ命令の実行結果に
よって判断する条件判断手段とを備え、上記メモリ上の
第1のアドレスに格納されている第1のマイクロ命令の
実行後に上記インクリメント手段から出力された第2の
アドレスに格納されている第2のマイクロ命令を実行す
るか、上記第1のマイクロ命令によって指示さた上記メ
モリ上の第3のアドレスに格納された第3のマイクロ命
令を実行するかを、上記第1のマイクロ命令もしくは上
記第1のマイクロ命令より前に実行されたマイクロ命令
の実行結果で判断するときに、上記アクセス手段が上記
第1のマイクロ命令を読み出した後、上記アクセス手段
が上記第3のアドレスあるいは上記第2のアドレスで上
記メモリをアクセスし、上記保持手段が上記第2のアド
レスあるいは上記第3のアドレスを保持し、上記条件判
断手段により上記第1の命令の実行後に上記第2の命令
あるいは上記第3の命令を実行することが示された場合
には、上記アクセス手段により読み出された上記第3の
命令あるいは第2の命令を上記無効化手段により無効化
し、上記アクセス手段が上記保持手段に保持されていた
上記第2のアドレスあるいは第3のアドレスで上記メモ
リをアクセスすることを特徴とするマイクロプログラム
制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9530990A JPH03291724A (ja) | 1990-04-10 | 1990-04-10 | マイクロプログラム制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9530990A JPH03291724A (ja) | 1990-04-10 | 1990-04-10 | マイクロプログラム制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03291724A true JPH03291724A (ja) | 1991-12-20 |
Family
ID=14134161
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9530990A Pending JPH03291724A (ja) | 1990-04-10 | 1990-04-10 | マイクロプログラム制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03291724A (ja) |
-
1990
- 1990-04-10 JP JP9530990A patent/JPH03291724A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2810068B2 (ja) | プロセッサシステム、コンピュータシステム及び命令処理方法 | |
| US5193205A (en) | Pipeline processor, with return address stack storing only pre-return processed address for judging validity and correction of unprocessed address | |
| US5235686A (en) | Computer system having mixed macrocode and microcode | |
| US4858104A (en) | Preceding instruction address based branch prediction in a pipelined processor | |
| JP2875909B2 (ja) | 並列演算処理装置 | |
| EP0448499B1 (en) | Instruction prefetch method and system for branch-with-execute instructions | |
| JPH03129433A (ja) | 並列処理装置および並列処理方法 | |
| JP2007058875A (ja) | コンピュータシステムのためのプログラマブルなブランチ予測システムおよび方法 | |
| JP3242508B2 (ja) | マイクロコンピュータ | |
| KR100570906B1 (ko) | 데이터처리기에서조건부분기실행을제어하기위한장치및방법 | |
| US5761467A (en) | System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field | |
| US5418917A (en) | Method and apparatus for controlling conditional branch instructions for a pipeline type data processing apparatus | |
| US5146570A (en) | System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution | |
| JPS623342A (ja) | パイプラインプロセツサ | |
| EP0279953A2 (en) | Computer system having mixed macrocode and microcode instruction execution | |
| US5737562A (en) | CPU pipeline having queuing stage to facilitate branch instructions | |
| JP2004192021A (ja) | マイクロプロセッサ | |
| JPH03291724A (ja) | マイクロプログラム制御方式 | |
| US6952763B1 (en) | Write before read interlock for recovery unit operands | |
| JP2503223B2 (ja) | 先行制御方式 | |
| JP2006309454A (ja) | プログラム制御方法及びプロセッサ | |
| JPH07182165A (ja) | コミット条件付き命令の処理方法およびその装置 | |
| JP4702004B2 (ja) | マイクロコンピュータ | |
| JP2004062427A (ja) | マイクロプロセッサ | |
| JP3147884B2 (ja) | 記憶装置及び情報処理装置 |