JPS60183634A - マイクロプログラム制御方式 - Google Patents
マイクロプログラム制御方式Info
- Publication number
- JPS60183634A JPS60183634A JP3979584A JP3979584A JPS60183634A JP S60183634 A JPS60183634 A JP S60183634A JP 3979584 A JP3979584 A JP 3979584A JP 3979584 A JP3979584 A JP 3979584A JP S60183634 A JPS60183634 A JP S60183634A
- Authority
- JP
- Japan
- Prior art keywords
- output
- microinstruction
- branch
- instruction
- nop
- 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
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、マイクロプログラム制御方式に関し、特にパ
イブラ・イン制御で、かつ分岐マイクロ命令を多数含む
マイクロプログラムに好適な制御方式%式% 〔発明の背景〕 パイプライン制御のプロセッサにおいては、従来より分
岐制御が問題となっている。すなわち、1つの命令の実
行には複数サイクルの時間がかかるため、バイブライン
制御により命令の先回り制御と多重処理を行って、l命
令/1サイクルの速度を↑;)でいるが2途中に分岐命
令が存在すると、命令の実行順序が狂ってしまい、大幅
な速度遅延が生ずる。
イブラ・イン制御で、かつ分岐マイクロ命令を多数含む
マイクロプログラムに好適な制御方式%式% 〔発明の背景〕 パイプライン制御のプロセッサにおいては、従来より分
岐制御が問題となっている。すなわち、1つの命令の実
行には複数サイクルの時間がかかるため、バイブライン
制御により命令の先回り制御と多重処理を行って、l命
令/1サイクルの速度を↑;)でいるが2途中に分岐命
令が存在すると、命令の実行順序が狂ってしまい、大幅
な速度遅延が生ずる。
半導体集積度の向上に伴って、マイクロプログラ/\j
lill i5′t1を用いたマイクロプロセッサが:
i:流どな一ノできでおり、このようなマイクロプロセ
ッサでは、集積度からの制約により52レベルのパイプ
ライン制御のマイクロブロタラム制御方式が用いt二)
れることかある。2レベルのパイプライン制御どは、第
1図に示すように、プログラム・カウンタがn、n+1
・・・の各番地を示しているクロツタ・サイノルでは
、そ、1(ぞれ[1−1,n・・・・の各番地に11シ
納さ、Iするマイクロ命令が実行さ、1することてあり
、そ、11.ざ沢互いに重ならない2([1のタロツク
φ1 、φ2に同1UJ して動作する。
lill i5′t1を用いたマイクロプロセッサが:
i:流どな一ノできでおり、このようなマイクロプロセ
ッサでは、集積度からの制約により52レベルのパイプ
ライン制御のマイクロブロタラム制御方式が用いt二)
れることかある。2レベルのパイプライン制御どは、第
1図に示すように、プログラム・カウンタがn、n+1
・・・の各番地を示しているクロツタ・サイノルでは
、そ、1(ぞれ[1−1,n・・・・の各番地に11シ
納さ、Iするマイクロ命令が実行さ、1することてあり
、そ、11.ざ沢互いに重ならない2([1のタロツク
φ1 、φ2に同1UJ して動作する。
この場合も、ジャンプ、ジャンプ・ナブル−チンあるい
はリターン・サブルーチン等の5)岐マイクロ命令の制
御が問題となる。すなわち、バイブライン制御を行って
いるため分岐マイクロ命令の次の番地のマイクロ命令が
実行されてしまうという問題が生しる。
はリターン・サブルーチン等の5)岐マイクロ命令の制
御が問題となる。すなわち、バイブライン制御を行って
いるため分岐マイクロ命令の次の番地のマイクロ命令が
実行されてしまうという問題が生しる。
いよ第1図の制御シーケンスにおいて、n番地のマイク
ロ命令が次の分岐命令であると仮定する。
ロ命令が次の分岐命令であると仮定する。
J M P t: c、 ADR=(1)ここで、J
u l)は分岐命令コード、C(、は分岐条件コー1へ
、八り丁(はイ)眼光の番地をそ、1シそ、ILL12
鳥す。
u l)は分岐命令コード、C(、は分岐条件コー1へ
、八り丁(はイ)眼光の番地をそ、1シそ、ILL12
鳥す。
分岐条件が成立した場合には、プログラム・カウンタに
A D Rがロー1−されると同U:;に、n+1番地
の内容が実行される。n + 1 番地の命令は分I暖
命令の後に続く命令であるため、実行してはならないに
もかかわらず、実1テされてしまう。つまり、分岐マイ
クロ命令の次の番地のマイクロ命令が実行Jれてしまう
という問題がある。
A D Rがロー1−されると同U:;に、n+1番地
の内容が実行される。n + 1 番地の命令は分I暖
命令の後に続く命令であるため、実行してはならないに
もかかわらず、実1テされてしまう。つまり、分岐マイ
クロ命令の次の番地のマイクロ命令が実行Jれてしまう
という問題がある。
この問題の解決策として、従来、カルフォルニア大学の
Pa1.l;crs引)その他か「ディレイド・ジャン
プ方式」を愚案している(1つ Δ、 Pat、1.;
arsonar++:I C、H、S ’ equ i
、n”Δ Vl−3I RI SC”TEEE COM
PUTElI Sep、’829照)。
Pa1.l;crs引)その他か「ディレイド・ジャン
プ方式」を愚案している(1つ Δ、 Pat、1.;
arsonar++:I C、H、S ’ equ i
、n”Δ Vl−3I RI SC”TEEE COM
PUTElI Sep、’829照)。
ディレイド・ジー\・ンプ方式では、分岐マイクロ命令
の直後にN OP (No 0peral;、1on)
マイクロ命令を挿入する。すなわち、第2図に示すよう
に通常の分岐(N、J tJM l)) では、100
番地テ1゜OA l) X、71(ロート命令) −
ro+番地でΔD l:)1、ハ(加算命令う、102
番地−CJ U M I’ 105(分動命令105所
地へ) 、 10:+番地でA、 D DΔ、13(加
tつ命令)の順に、2レベルのパイプライン制御をt−
1うど1.J T、J M 1)105の命令の次のΔ
l)DΔ、 Hの命令も実行されてしまう。これに列し
て、ディレィ1〜・ジャンプ(+)、 、[JMtJM
P)では、プログ911作成時に、102番地の、J
U M I’ 10G (分岐命令)の次は必ずN
Ol”命令が挿入されるので、パイプライン制御の場合
でもJTJMP]06の命令の次のN O+〕命令が実
行される。その場合、1番地ずつ後方に′1′九ること
になる。また、さらに最適化を行うティレイト・ジャン
プ方式(+、) 、 D 、 J U M P )では
1分岐マイクロ命令(、JtJ八4へP 10.5)と
、その直前の命令(AI)DI、Δ)の順序を入れ換え
て、N Or1マイクロ命令を削除する。こ、1tによ
り、処理時間が1サイノル分遅れることなく、かっΔ1
)DI、Aのマイクロ命令(加算命令)も2レベルのバ
イブライン制御により実行できる。
の直後にN OP (No 0peral;、1on)
マイクロ命令を挿入する。すなわち、第2図に示すよう
に通常の分岐(N、J tJM l)) では、100
番地テ1゜OA l) X、71(ロート命令) −
ro+番地でΔD l:)1、ハ(加算命令う、102
番地−CJ U M I’ 105(分動命令105所
地へ) 、 10:+番地でA、 D DΔ、13(加
tつ命令)の順に、2レベルのパイプライン制御をt−
1うど1.J T、J M 1)105の命令の次のΔ
l)DΔ、 Hの命令も実行されてしまう。これに列し
て、ディレィ1〜・ジャンプ(+)、 、[JMtJM
P)では、プログ911作成時に、102番地の、J
U M I’ 10G (分岐命令)の次は必ずN
Ol”命令が挿入されるので、パイプライン制御の場合
でもJTJMP]06の命令の次のN O+〕命令が実
行される。その場合、1番地ずつ後方に′1′九ること
になる。また、さらに最適化を行うティレイト・ジャン
プ方式(+、) 、 D 、 J U M P )では
1分岐マイクロ命令(、JtJ八4へP 10.5)と
、その直前の命令(AI)DI、Δ)の順序を入れ換え
て、N Or1マイクロ命令を削除する。こ、1tによ
り、処理時間が1サイノル分遅れることなく、かっΔ1
)DI、Aのマイクロ命令(加算命令)も2レベルのバ
イブライン制御により実行できる。
しかしながら、この最適化ディレイド・ジャンプ方式は
、常に使用でさるものではなく、例えは、直前のマイク
ロ命令の演算結果にJ、って′、月1(&がf−1われ
るような条件イζ1分岐マイクロ命令番−)・Iし、で
は、最適化は?iえず、直後にN OPマイクロ命令が
必要となる。すなわち、第2図の最適1ヒデイレイト・
ジャンプ(0,D、、J UMI))では1.11j
hIP 105の命令の直前のA I) l) I 、
Δ(加算命令)の結果によって分岐するか否かが決定さ
、hる’−5トi2.3 ’UM T)1.05の分岐
命令とA 1.) I−) l 、 Aの加算命令の順
序を入れ換えることはできないのて1.11jM P2
O3の命令の次にN OPを挿入する必要がある。
、常に使用でさるものではなく、例えは、直前のマイク
ロ命令の演算結果にJ、って′、月1(&がf−1われ
るような条件イζ1分岐マイクロ命令番−)・Iし、で
は、最適化は?iえず、直後にN OPマイクロ命令が
必要となる。すなわち、第2図の最適1ヒデイレイト・
ジャンプ(0,D、、J UMI))では1.11j
hIP 105の命令の直前のA I) l) I 、
Δ(加算命令)の結果によって分岐するか否かが決定さ
、hる’−5トi2.3 ’UM T)1.05の分岐
命令とA 1.) I−) l 、 Aの加算命令の順
序を入れ換えることはできないのて1.11jM P2
O3の命令の次にN OPを挿入する必要がある。
し、たがって、ディレィ1−・ジャンプによる分1咬制
御では1条件右I分岐マイクロ命令が多数出現するマイ
クロプロセッサ、例えば入出カ装石を制御するマ・イク
ロブロセッザのマ・rりロブログラ11に対しては、多
数のN O))マイクロ命令が、必要どなる。これによ
り、マイクロブロブラ11のステップ数がNOP命令が
挿入さ](たぐ′だけ多く4・す、マイクロプロセッサ
の集積度の面で不利になる。
御では1条件右I分岐マイクロ命令が多数出現するマイ
クロプロセッサ、例えば入出カ装石を制御するマ・イク
ロブロセッザのマ・rりロブログラ11に対しては、多
数のN O))マイクロ命令が、必要どなる。これによ
り、マイクロブロブラ11のステップ数がNOP命令が
挿入さ](たぐ′だけ多く4・す、マイクロプロセッサ
の集積度の面で不利になる。
本発明の目的は、このような従来の欠点を改善し、パイ
プライン制御で、かつ条件伺分岐マイクロ命令が多数出
現するマイクロプロセッサのマイクロプログラムに対し
、No?マイクロ命令を挿入し2ないですむマイクロプ
ログラフ1制御方式を提供することにある。
プライン制御で、かつ条件伺分岐マイクロ命令が多数出
現するマイクロプロセッサのマイクロプログラムに対し
、No?マイクロ命令を挿入し2ないですむマイクロプ
ログラフ1制御方式を提供することにある。
〔発明の11χ要〕
−1−2目的を達成するため、本発明のマイクロブログ
ラム制御方式では、マイクロプログラムを格納するメモ
リど、該メモリのアドレスを示すプログラム・カウンタ
とを備えたパイプライン制御にJ、るマイクロプログラ
ム制御装置において、上記メモリの出力が分岐マイクロ
命令で、かつ分岐条f’1.が成立している(無条件分
岐を含む)か否かを判定する手段と、該判定手段の肯定
出力により手記メモリの出力をNOP (No 0pe
ral:、io++)マイクロ命令に変換する手段とを
有し、」1記判定手段から肯定出力が得られた場合には
、上記プロゲラlトカウンタに」二記メモリの出力の一
部をロートし、否定出力が得られた場合には、上記プロ
グラム・カウンタに現在値をプラス1した値をロードす
ることに特徴がある。
ラム制御方式では、マイクロプログラムを格納するメモ
リど、該メモリのアドレスを示すプログラム・カウンタ
とを備えたパイプライン制御にJ、るマイクロプログラ
ム制御装置において、上記メモリの出力が分岐マイクロ
命令で、かつ分岐条f’1.が成立している(無条件分
岐を含む)か否かを判定する手段と、該判定手段の肯定
出力により手記メモリの出力をNOP (No 0pe
ral:、io++)マイクロ命令に変換する手段とを
有し、」1記判定手段から肯定出力が得られた場合には
、上記プロゲラlトカウンタに」二記メモリの出力の一
部をロートし、否定出力が得られた場合には、上記プロ
グラム・カウンタに現在値をプラス1した値をロードす
ることに特徴がある。
以下、本発明の実施例を1図面により説明する。
第3図は1本発明の動作原理を示すタイムチャー1−で
ある。
ある。
第3図において、φ1.φ、は刀いに重ならない2相ク
ロツクであり、こJしらのクロックψ1 。
ロツクであり、こJしらのクロックψ1 。
φ2にそれぞJし同期して動作するプログラム・カウン
タどマイクロROrv+出力どハードウェアN。
タどマイクロROrv+出力どハードウェアN。
Pと実?−FさJしるマイクロ命令の各内容が示されて
いる。2し・\ルのパイプライン制御が行われるため、
プロプラム・カウンタがn、n+1番地を示しているク
ロック・サイクルでは、そ九ぞJLn−1、n?ft地
のマイクロ命令が実行されている。いま、on地のマイ
クロ命令が次の分岐命什でJフると仮定する。
いる。2し・\ルのパイプライン制御が行われるため、
プロプラム・カウンタがn、n+1番地を示しているク
ロック・サイクルでは、そ九ぞJLn−1、n?ft地
のマイクロ命令が実行されている。いま、on地のマイ
クロ命令が次の分岐命什でJフると仮定する。
、JUMOc c AI)12 ・・1I)(・(は分
岐条件ロー1:、A 1.) Rは分岐先番地を、そJ
しぞJし表わしている。
岐条件ロー1:、A 1.) Rは分岐先番地を、そJ
しぞJし表わしている。
本発明においては、無条件分岐マイクロ命令、t; J
:び条件付分岐マイクロ命令で分岐条件が成立した場合
の・ぞJLぞれに対し、て1分岐マイクロ命令の直後の
マイクロ命令の実行を停止させる機能を有するハードウ
ェアを具備する。
:び条件付分岐マイクロ命令で分岐条件が成立した場合
の・ぞJLぞれに対し、て1分岐マイクロ命令の直後の
マイクロ命令の実行を停止させる機能を有するハードウ
ェアを具備する。
第3図のn番地の分岐マイクロ命令の分岐条件か成立し
た鳴白には、プログラム・カウンタ(;Δ1−)1又が
ロー1−さ1するど同時に、マイクロI<〇八・1(コ
ン1へロール・ストレージ)から11+1n+1番地(
マイクロ命令)が読み出される。このどき、分岐条件が
成5゛lシたことを検出したバー1−ウェアが、NOI
”命令をアサ−1〜する(アクティブ・レベル)。すな
わち、従来のディレィ1〜・ジャンプ方式では、プログ
911作成時に2分1妓命告の次の命令をあらかし5め
Not)マイクロ命令にしておくのに苅して、本発明で
は、プログラム竹で成時にはN Oρマイクロ命令を挿
入することなく、実行中に次の命令が分岐マイクロ命令
で、かつ分岐条イ′1が成立したことを、バーI〜ウェ
アか検出するごとにより、N OPマイクロ命令をアク
ティブ・Iノベルにしで1分岐命令の直後のマイクロ命
合イと実行させないようにする。ハードウェアN OP
がアクテ、(ブ・レベルになったときには、マイクロR
OMの出力に関係なく、マイクロ命令がN o p71
′クロ命令になるので、条件何分岐マイタロ命令で条件
が成立したとき、直後のマイクロぐ1令は実!tiされ
ない。また、無条件分岐金貨のI↓)合には、常に分岐
条件が成立しているとみなし、ハードウェアNOPをア
サ−1〜するので、条件付分岐マイクロ命令で条件成)
1時の場合と同じ理由により、無条件分岐マイクロ命令
の直後のマイクロ命令は実行さ、tシない。条件伺分岐
マイクロ命令で条件不成立の場合には、バー1−ウェア
N O+)は7サー1〜されずプログラム・カランタガ
;また目インクリメン′1−されるため、直後のマイク
ロ命令が引き続き実行さJl、る。
た鳴白には、プログラム・カウンタ(;Δ1−)1又が
ロー1−さ1するど同時に、マイクロI<〇八・1(コ
ン1へロール・ストレージ)から11+1n+1番地(
マイクロ命令)が読み出される。このどき、分岐条件が
成5゛lシたことを検出したバー1−ウェアが、NOI
”命令をアサ−1〜する(アクティブ・レベル)。すな
わち、従来のディレィ1〜・ジャンプ方式では、プログ
911作成時に2分1妓命告の次の命令をあらかし5め
Not)マイクロ命令にしておくのに苅して、本発明で
は、プログラム竹で成時にはN Oρマイクロ命令を挿
入することなく、実行中に次の命令が分岐マイクロ命令
で、かつ分岐条イ′1が成立したことを、バーI〜ウェ
アか検出するごとにより、N OPマイクロ命令をアク
ティブ・Iノベルにしで1分岐命令の直後のマイクロ命
合イと実行させないようにする。ハードウェアN OP
がアクテ、(ブ・レベルになったときには、マイクロR
OMの出力に関係なく、マイクロ命令がN o p71
′クロ命令になるので、条件何分岐マイタロ命令で条件
が成立したとき、直後のマイクロぐ1令は実!tiされ
ない。また、無条件分岐金貨のI↓)合には、常に分岐
条件が成立しているとみなし、ハードウェアNOPをア
サ−1〜するので、条件付分岐マイクロ命令で条件成)
1時の場合と同じ理由により、無条件分岐マイクロ命令
の直後のマイクロ命令は実行さ、tシない。条件伺分岐
マイクロ命令で条件不成立の場合には、バー1−ウェア
N O+)は7サー1〜されずプログラム・カランタガ
;また目インクリメン′1−されるため、直後のマイク
ロ命令が引き続き実行さJl、る。
第111:21は、本発明に用いられるマイタロ命令の
フッ1〜−マノ1−図である。
フッ1〜−マノ1−図である。
第11図(,1月よマイクロ命令のフォーマノ1〜を示
すもの℃、14さは16ビツ1〜である。名ピノ1〜に
は、そhぞれM C0〜M C1,5の名称が付さJし
でいる。1第4 扉] (b )は2分岐マイクロ命令
のフォーマントを示し2ている。分岐マイクロ命令では
1MC’、 ] 5 ””0”、 NI CI 4 =
’″0″であり、こノl、によリマイクロ命貨が分岐マ
イクロ命令であることを示す。NICl3とMC1′2
は未使用ピッ1−であり、また〜4CI]とM CI
Oは条件ロー1へを表わし、でおり、さらにM C9〜
MCOの10ビットで分岐先の番地(ADR)を表わす
。分岐先の番地は、0番地から(2”−])番地までを
指示することができる。第41凹(c)は、NOPマイ
クロ命令を示し1、この場合にはずべてのビットか′1
′′である、第5図は、本発明の一実施例を示すマイク
ロプログラム制御部のブロック図である。
すもの℃、14さは16ビツ1〜である。名ピノ1〜に
は、そhぞれM C0〜M C1,5の名称が付さJし
でいる。1第4 扉] (b )は2分岐マイクロ命令
のフォーマントを示し2ている。分岐マイクロ命令では
1MC’、 ] 5 ””0”、 NI CI 4 =
’″0″であり、こノl、によリマイクロ命貨が分岐マ
イクロ命令であることを示す。NICl3とMC1′2
は未使用ピッ1−であり、また〜4CI]とM CI
Oは条件ロー1へを表わし、でおり、さらにM C9〜
MCOの10ビットで分岐先の番地(ADR)を表わす
。分岐先の番地は、0番地から(2”−])番地までを
指示することができる。第41凹(c)は、NOPマイ
クロ命令を示し1、この場合にはずべてのビットか′1
′′である、第5図は、本発明の一実施例を示すマイク
ロプログラム制御部のブロック図である。
1はプログラム・カウンタ、2はプログラム・カウンタ
】の出力バスであって、10ピツ1〜のバス幅を有し、
マイクロROM3とインクリメンタ11にぞれ−で一、
ハ、1妄続される。φ1.ψ2はzlいに重ならない2
相クロツクであり、プロプラム・カウンタ1.フイクC
I ROM 3、N OP 挿入1i’、il X1i
8、クロックド・ゲー1−18、および遅延回シ′8
Gにそれぞれ入力される。マイクロROM3は、アンセ
ス時間がφ8.φ2の1クロツタ・サイクルであるR
Okiで、マイクロ命令群が格納さ、11ており、プロ
グラム・カウンタ1が示す番地の内容がタロツクφ、ど
同期してバス5に出力さ4しる。コた、マイクロROM
3の出力のうちのド位10ピノ1〜は、遅延回路6を
通し5でマルチプレクサ7に人力さ、hている。二こま
では、従来と同じ借IJ(であり、本実施例では、新た
にN O+、)挿入回路8、j゛、l (’、+ 1’
<ゲーhlO,NへN l)ゲート・17、マルチフル
タナ9を設ける。バス5は] 6ピノ1〜幅であリ マ
イクロ1丈のフォーマツ1−かN O +・111f入
回シ゛17 L3 G−経由してバス9に出力さAしる
。バス9もマ(り口命令バスであって、1〔3ピノ1〜
幅である。N O p挿入回路8は,クロックド・ゲー
1へ18の出力、つまりハードウェアN 0 1”出力
どバス5の出力の論171! (lIをとり、クロック
φ1に同期してバス9に出力する回路であって、分岐マ
イクロ命令の直後のマイクロ命令ty N O Pマイ
クロ命令に変換する回路である,。
】の出力バスであって、10ピツ1〜のバス幅を有し、
マイクロROM3とインクリメンタ11にぞれ−で一、
ハ、1妄続される。φ1.ψ2はzlいに重ならない2
相クロツクであり、プロプラム・カウンタ1.フイクC
I ROM 3、N OP 挿入1i’、il X1i
8、クロックド・ゲー1−18、および遅延回シ′8
Gにそれぞれ入力される。マイクロROM3は、アンセ
ス時間がφ8.φ2の1クロツタ・サイクルであるR
Okiで、マイクロ命令群が格納さ、11ており、プロ
グラム・カウンタ1が示す番地の内容がタロツクφ、ど
同期してバス5に出力さ4しる。コた、マイクロROM
3の出力のうちのド位10ピノ1〜は、遅延回路6を
通し5でマルチプレクサ7に人力さ、hている。二こま
では、従来と同じ借IJ(であり、本実施例では、新た
にN O+、)挿入回路8、j゛、l (’、+ 1’
<ゲーhlO,NへN l)ゲート・17、マルチフル
タナ9を設ける。バス5は] 6ピノ1〜幅であリ マ
イクロ1丈のフォーマツ1−かN O +・111f入
回シ゛17 L3 G−経由してバス9に出力さAしる
。バス9もマ(り口命令バスであって、1〔3ピノ1〜
幅である。N O p挿入回路8は,クロックド・ゲー
1へ18の出力、つまりハードウェアN 0 1”出力
どバス5の出力の論171! (lIをとり、クロック
φ1に同期してバス9に出力する回路であって、分岐マ
イクロ命令の直後のマイクロ命令ty N O Pマイ
クロ命令に変換する回路である,。
N (、+ Rゲー l− 1 0の人力は、マイクロ
命令のI5ビット[Jのへ.+ (’: ] 5ど、1
・1ピッ1−1」のMC 111てあって. MC l
5 =MC l 4−′0″のとき、−)すり第4図
(1))に示す分1肢マイクロ+<ii令フォーマット
の場合にのみN O Rグー1− 1 0の出力はハイ
17ベルどなる。マルチプレクサ11には、バス13か
らマイクロ命令の11ピツ1〜目のlvl C. l
Iと、jOビット1]の〜l(7.10(第・1図(b
)にi’1%ずように分1時マイクロ命令の分岐条件を
示す)、および演算器(図示前1昭)等の出力である1
2〜l 4と電池(5V)+13の出力15かそれぞれ
入力される。マルチプレクサIJは、MCII,MCI
(1の値により、例えば演算)計からのキャリー信号、
()信じ、あるいは特殊信号等の出力1;2〜14ある
いは電池1Gの出力I5を出力する。例えば、無条(7
1分1肢マイクロ命令のどきには、無条件で電池16の
出力、つまりハイレベル出力3:qA+VI+)ゲート
17の入力の一方にダ,える。N A N IJゲー1
−17は.NORゲー1−10の出力とマルチプレクサ
1】の出力を入力どしており、分111yマイグロ命令
において分1呟条件が成立したときのみ、出力はローレ
ベルとなる.、NANI)ゲー1−17の出力は、クロ
ックド・ゲー1〜18を介してN O P挿入回路8、
およびインバータ19を介してマルチプレクサ7にそれ
ぞオし送出さ2れる。クロックド・ゲ− I− 1 8
では、クロックφ2が入力さ,れない期間にN A N
1つゲート17からハイレベルあるいばローレベルの
信号が送られると、それそhハイしベルあるいばロー1
・ベルにチャージングさ,ノシζiか。
命令のI5ビット[Jのへ.+ (’: ] 5ど、1
・1ピッ1−1」のMC 111てあって. MC l
5 =MC l 4−′0″のとき、−)すり第4図
(1))に示す分1肢マイクロ+<ii令フォーマット
の場合にのみN O Rグー1− 1 0の出力はハイ
17ベルどなる。マルチプレクサ11には、バス13か
らマイクロ命令の11ピツ1〜目のlvl C. l
Iと、jOビット1]の〜l(7.10(第・1図(b
)にi’1%ずように分1時マイクロ命令の分岐条件を
示す)、および演算器(図示前1昭)等の出力である1
2〜l 4と電池(5V)+13の出力15かそれぞれ
入力される。マルチプレクサIJは、MCII,MCI
(1の値により、例えば演算)計からのキャリー信号、
()信じ、あるいは特殊信号等の出力1;2〜14ある
いは電池1Gの出力I5を出力する。例えば、無条(7
1分1肢マイクロ命令のどきには、無条件で電池16の
出力、つまりハイレベル出力3:qA+VI+)ゲート
17の入力の一方にダ,える。N A N IJゲー1
−17は.NORゲー1−10の出力とマルチプレクサ
1】の出力を入力どしており、分111yマイグロ命令
において分1呟条件が成立したときのみ、出力はローレ
ベルとなる.、NANI)ゲー1−17の出力は、クロ
ックド・ゲー1〜18を介してN O P挿入回路8、
およびインバータ19を介してマルチプレクサ7にそれ
ぞオし送出さ2れる。クロックド・ゲ− I− 1 8
では、クロックφ2が入力さ,れない期間にN A N
1つゲート17からハイレベルあるいばローレベルの
信号が送られると、それそhハイしベルあるいばロー1
・ベルにチャージングさ,ノシζiか。
タロツクφ,の入力と同時に反転出力がN o p挿入
回路8に送ら71シる。
回路8に送ら71シる。
NOP挿入回路8は、マイクロ1丈□ jvl 3から
の16本の各出力と、クロックド・ゲー1−18からの
出力の論理和にとり、クロックφ1 と同期し,でバス
9に出力する。したがって、N /)NI)ゲート17
の出力がローレベルとなったとき.すなわち分岐マ・r
タロ命令において、分岐条件が成立したどさの1クロツ
ン後には、NOP挿入回路8の出りはすべてハ2fレベ
ルどなり、マイクロ命令バス9は第・1図(c)で示し
たN○Pマイクロ命令(M(0〜M C] 5 = 0
のフォーマット)を表わす。
の16本の各出力と、クロックド・ゲー1−18からの
出力の論理和にとり、クロックφ1 と同期し,でバス
9に出力する。したがって、N /)NI)ゲート17
の出力がローレベルとなったとき.すなわち分岐マ・r
タロ命令において、分岐条件が成立したどさの1クロツ
ン後には、NOP挿入回路8の出りはすべてハ2fレベ
ルどなり、マイクロ命令バス9は第・1図(c)で示し
たN○Pマイクロ命令(M(0〜M C] 5 = 0
のフォーマット)を表わす。
一方、NAN+)ゲート17の出力は、インバータ15
]ヲ通りマルチプレクサ7の入力にもな−〕でいる。。
]ヲ通りマルチプレクサ7の入力にもな−〕でいる。。
マルチプレクサ7は、インバータ19の出力がハ、イレ
ベルのどき、遅延回路6を介し、たバス5の出力を選択
し、インバータ19の出力がローレベルのとき、バス2
0を通してインクリメンタ4の出力を選択する。すなわ
ぢ、分岐マイクロ命令において、分1晴条作が成立した
場合には、Iul C0〜M C9を分岐先番地として
、バス21を介しプロゲラt3・カウンタ1にロートす
る。遅延回路6は、マイクロ+t o M3からバス5
を介して送られてきた分岐マイクロ命令の下位10ピツ
1〜(MCO〜x+ c 9)を、クロックφ、の次の
サイクルに同期し、てマルチプレクーリフに送出するの
で4この値が次のサイクルのプログラム・カウンタIの
内容どしてロードさ才1.る。
ベルのどき、遅延回路6を介し、たバス5の出力を選択
し、インバータ19の出力がローレベルのとき、バス2
0を通してインクリメンタ4の出力を選択する。すなわ
ぢ、分岐マイクロ命令において、分1晴条作が成立した
場合には、Iul C0〜M C9を分岐先番地として
、バス21を介しプロゲラt3・カウンタ1にロートす
る。遅延回路6は、マイクロ+t o M3からバス5
を介して送られてきた分岐マイクロ命令の下位10ピツ
1〜(MCO〜x+ c 9)を、クロックφ、の次の
サイクルに同期し、てマルチプレクーリフに送出するの
で4この値が次のサイクルのプログラム・カウンタIの
内容どしてロードさ才1.る。
分岐マイクロ命令で条件が不成立の場合J:;よび、マ
イクロ命令が分岐マイクロ命令でない8白には、プログ
ラム・カウンタlの値は、1だけインクリメントされた
値どなる1、 第6図は、第5図におけるNOP挿入回路の具体例を示
す図であり、第7図は第6図のタイミ〉′グ・チャー1
〜である。
イクロ命令が分岐マイクロ命令でない8白には、プログ
ラム・カウンタlの値は、1だけインクリメントされた
値どなる1、 第6図は、第5図におけるNOP挿入回路の具体例を示
す図であり、第7図は第6図のタイミ〉′グ・チャー1
〜である。
第6図のNQP挿六回路は、クロックγ7がクー1へに
加えられるpMO8+−ランジスタ30、タロツクφ1
が加えられるクロックド・クー1−31、クロックド・
クー1−18からのハードウェアN OPがクー1−に
加えられるn M OS I・ランジスタ34、マイク
ロ120〜13からバス5介してマイクロ命令がゲート
に加えら九るn〜10sl・ランジスタ33、およびク
ロックφ、がゲートに加えら41.るn M OS l
−ランジスタ32がら構成さtする。
加えられるpMO8+−ランジスタ30、タロツクφ1
が加えられるクロックド・クー1−31、クロックド・
クー1−18からのハードウェアN OPがクー1−に
加えられるn M OS I・ランジスタ34、マイク
ロ120〜13からバス5介してマイクロ命令がゲート
に加えら九るn〜10sl・ランジスタ33、およびク
ロックφ、がゲートに加えら41.るn M OS l
−ランジスタ32がら構成さtする。
p M OS l−ランジスタ30は、タロツクφ2が
ハイレ・\ル(φ7がローレベル)のときに号〉とイC
す、(+)電源をクロックド・クー1−31に接続して
、クー1−をハイレベルにプリチャージする(第7図参
照)。この時点では、タロツクφ1がローレベルである
ため、n M OS I−ランジスタ:32はオフ状態
であり、バス5およびクロック1−・ゲート18からT
)〜10S+−ランジスタ33.:34のクー1〜にハ
イレベル信号が加えられても、1ヘランシスタ:33,
3/lはオフ状態を保持する。
ハイレ・\ル(φ7がローレベル)のときに号〉とイC
す、(+)電源をクロックド・クー1−31に接続して
、クー1−をハイレベルにプリチャージする(第7図参
照)。この時点では、タロツクφ1がローレベルである
ため、n M OS I−ランジスタ:32はオフ状態
であり、バス5およびクロック1−・ゲート18からT
)〜10S+−ランジスタ33.:34のクー1〜にハ
イレベル信号が加えられても、1ヘランシスタ:33,
3/lはオフ状態を保持する。
クロックφ1 がハイレベルで、かつ+1〜10S+−
ランジスタ3134の少なくどもいずれか一方の入力が
バーrレベルのどきに、nMO5I−ランジスタ33ま
たは34、および32がオンとなるため、クロックド・
ゲート31のクー1〜にチャージさ、lしていた電荷の
放電経路が形成され、放電がtiわ才(る。1:のとき
、クロック(−・クー1へ31はインバータであるため
、放電によって一端がローレベルになると、マイクロ命
令35である他端はハイレベルになる。マイクロ命令3
5は、第5しjのバス9に出力される。
ランジスタ3134の少なくどもいずれか一方の入力が
バーrレベルのどきに、nMO5I−ランジスタ33ま
たは34、および32がオンとなるため、クロックド・
ゲート31のクー1〜にチャージさ、lしていた電荷の
放電経路が形成され、放電がtiわ才(る。1:のとき
、クロック(−・クー1へ31はインバータであるため
、放電によって一端がローレベルになると、マイクロ命
令35である他端はハイレベルになる。マイクロ命令3
5は、第5しjのバス9に出力される。
第7図に示すように、クロックド・クー[・18からハ
ードウェアN OPがアサ−1−されたときには、放電
経路が形成さJしるため、矢印で示すようにマイクロ命
令35はハイレベルとなる。 方。
ードウェアN OPがアサ−1−されたときには、放電
経路が形成さJしるため、矢印で示すようにマイクロ命
令35はハイレベルとなる。 方。
マイクoROM3の出力、つまりマイクロ命令の各ピッ
1へがハイレベルか、またはローレベルによりてクロッ
クド・クー1−31にプリチャージさ九た電荷が放電さ
れるか、あるいは充電さJしたままとなるので、クーh
3]の他端のマイクロ命令35はハイレベルまたはロー
レベルとなる。
1へがハイレベルか、またはローレベルによりてクロッ
クド・クー1−31にプリチャージさ九た電荷が放電さ
れるか、あるいは充電さJしたままとなるので、クーh
3]の他端のマイクロ命令35はハイレベルまたはロー
レベルとなる。
なお、N OP挿入回路8は、第6図に示す回路を、マ
イクロ命令のピッ]へ幅数、つまり16個だけ備えてい
る1 このようなNOP挿六回路8、クロック1〜・ゲート1
8等のハードウェア構成を用いることによって5分岐マ
イクロ命令で分岐条件が成立し、た鳴合には、次のクロ
ック・サイクルのマイクロ命イ)がハードウェアにより
NOPマイクロ命令となる。
イクロ命令のピッ]へ幅数、つまり16個だけ備えてい
る1 このようなNOP挿六回路8、クロック1〜・ゲート1
8等のハードウェア構成を用いることによって5分岐マ
イクロ命令で分岐条件が成立し、た鳴合には、次のクロ
ック・サイクルのマイクロ命イ)がハードウェアにより
NOPマイクロ命令となる。
したがって1分岐マイクロ命令で分岐条件が成立した場
合1次のマイクロ命令は実行されないので、NOPマイ
クロ命令を挿入する必要がない、なj−9、本実施rf
l+では、1す01〕命令をオール” l ”としたカ
ーキール゛′0°′あイ、いは別の特定パターンにして
実施4−ることも可能であり、したがって゛l’J定回
路定量路とマイクロI’20 Mの出力の各ピッ1−ご
との論理和をど一〕でその4i’i果をマイクロ命令と
して出力する他に、論理積着の論理演算を行って出力す
ることもできる。
合1次のマイクロ命令は実行されないので、NOPマイ
クロ命令を挿入する必要がない、なj−9、本実施rf
l+では、1す01〕命令をオール” l ”としたカ
ーキール゛′0°′あイ、いは別の特定パターンにして
実施4−ることも可能であり、したがって゛l’J定回
路定量路とマイクロI’20 Mの出力の各ピッ1−ご
との論理和をど一〕でその4i’i果をマイクロ命令と
して出力する他に、論理積着の論理演算を行って出力す
ることもできる。
マイクロプログラム中の分岐マイクロ命令の割合も、3
0ヅ1ど仮定するど、従来の方式のうち5最ift /
Lをt−jわないティレイト・ジャンプ方式では、30
%号のN Opマイクロ命令が余分に必要でLlちり
、また最適rヒをt″tうディレィ1−・ンヤンブカ式
ては、条件伺/無条4’1分岐マイク[」命令の総数が
等しく、jh’t a(ヒ可能な分岐マイクロ命令かそ
れぞれ0%、60%であるどずJしば、次式で示す数だ
け余分にN OPマイクロ命令が必要である1゜30%
X (0、5X (1、0−0、0’) +〇 、 5
X (1、0−0、6) ) −2’% ・ (2)こ
れに対して9本発明では、N OPマイクロ命令を挿入
する必要が全くない。
0ヅ1ど仮定するど、従来の方式のうち5最ift /
Lをt−jわないティレイト・ジャンプ方式では、30
%号のN Opマイクロ命令が余分に必要でLlちり
、また最適rヒをt″tうディレィ1−・ンヤンブカ式
ては、条件伺/無条4’1分岐マイク[」命令の総数が
等しく、jh’t a(ヒ可能な分岐マイクロ命令かそ
れぞれ0%、60%であるどずJしば、次式で示す数だ
け余分にN OPマイクロ命令が必要である1゜30%
X (0、5X (1、0−0、0’) +〇 、 5
X (1、0−0、6) ) −2’% ・ (2)こ
れに対して9本発明では、N OPマイクロ命令を挿入
する必要が全くない。
以上説明したように、本発明によれば、バイブライン制
御のマイタロプログラムに対し、で、NOPマイクロ命
令を挿入する必要がないので、特に集積度に制約がある
マイタロブロセノ″ljで、かつ分岐マーでクロ命令を
多数含むような入出力装置制御用のマイク[1プロセy
すに対し、て−3・シい効果がある。
御のマイタロプログラムに対し、で、NOPマイクロ命
令を挿入する必要がないので、特に集積度に制約がある
マイタロブロセノ″ljで、かつ分岐マーでクロ命令を
多数含むような入出力装置制御用のマイク[1プロセy
すに対し、て−3・シい効果がある。
第1[≧1は従来の2レベルのバイブライン制御のマイ
クロプログラムの動作タイl−チャー1〜、第2図は従
来のディレィ1へ・ジャンプによるバイブライン制御の
説明図、第3図は本発明の動作原理を示すタイt1チャ
ー1−1第4図は本発明に用いられるマイクロ命令の)
2F−マノ1〜図、第5141は本発明の一実施例を示
すマイクロプログラム制fu−11部ノブロック図、第
6図は第5図のhi OP挿入回路の具体例を示す図、
第7図は第6図の勅作夕(ミンソ°y゛\・−1へであ
る。 1:ブロンラlトカウンタ、゛(:マイy口11 (T
)N1.11:インクリメン!ノ、6:遅廷回&IL7
+]1:マルチブレグ](・、8:NOP挿入回路、1
890、)どノド・ゲー1〜 第]−図 第2図 第 6 図 第7図 手続補正書(自発) 昭和60年5月23日 昭和59イ、特 許 願第3979552、発明の名称
マイクロブロクラム制御方式3 補正をする者 小イ11との関係 特許83願人 4 代 理 人 方式 rへ ゛。 明光III蕃ト 1、発明の名称 マイクロブロクラム制御方式2、特許
請求の範囲 (1)マイクロプログラムを格納するメモリと、該メモ
リのアドレスを示すブロクラム・カウンタとを備えたバ
イブライン制御によるマイクロプログラム制御装置にお
いて、上記メモリの出力が分岐マイクロ命令で、かつ分
岐条件が成立し、ているか否かを判定する手段と、該判
定手段の11定出力により上記メモリの次の出力ないし
、複数後の出力ま・でN OP (No 0perat
ion)マイクロ命令に変換する手段とを有し、上記判
定手段からけ定出力が得られたときには、上記ブログラ
ノ、・カウンタに上記メモリの出力の一部をロードし、
否定出力か得られたときに懐、上記プログラム・カウン
タに現在値をプラス1した値をロードすることを特徴と
するマイクロプログラム制御方式、 (2)上記NOPマイクロ命令変換手段は、クロックに
同期して、」1記判定手段の出力と上記メモリ果をマイ
クロ命令として出力することを特徴とする特許請求の範
囲第1項記載のマイクロブロクラム制御方式。 3、発明の詳細な説明 〔発明の利用分野〕 本発明は、マイクロブロクラム制御方式に関し、特にバ
イブライン制御で、かつ分岐マイクロ命令を多数含むマ
イクロプログラム制御のプロセッサ処理方式に関するも
のである。 〔発明の背景〕 従来よりマイクロプロセッサの制御方式として ゛マイ
クロプログラム方式が用いられている。マイクロプログ
ラム方式の1つとしてマイクロ命令をチップ内のROM
(Read 0nly Memory)に記憶してお
き、マイクロ命令カウンタで示された番地の内容を前記
ROMから読出し、これを解読し、実行する方式が知ら
れている。その場合に、マイクロ命令の読出し、解読、
実行、次のマイクロ命令の読出し、の順序で処理を行う
基本形態を逐次制御(シーケンシャル・コントロール)
と呼ふ。これに対して、将来実行するはずのマイクロ命
令を予測し、これを予め読出す際に、現在の処理と併行
して読出す形1ルを、命令の先回り制御(アドノ\ンス
・コントロール)と呼ふ。 また、複数個のプログラムが同一時点で並行処理される
処理形態を、多重処理(マルチブロセシンク)と呼ぶ。 丁度、ベルトコンベア式に複数個の命令を同時に先回り
制御して並行処理する方法つまり先回り制御と多重制御
を同時に行う方法が、バイブライン制御方式である。す
なわち、バイブライン制御方式とは、マイクロ命令の実
行過程をいくつかの段階に分割し、その間に多数組のテ
ークを同時に流し1時間当りの処理回数を増加させる方
法である。 バイブライン制御のプロセッサにおいては、従来より分
岐制御が問題となっている。すなわち、1つのマイクロ
命令の実行には、複数サイクルの時間がかかるため、バ
イブライン制御によりマイクロ命令の先回り制御と並列
処理を行って、1命令/1サイクルの速度を得ているが
、途中[−分岐マイクロ命令か存在すると、マイクロ命
令の実行順序が狂ってしまい、すでに読み出した。ある
いは解読したマイクロ命令が無効となり、新たに分岐先
のマイクロ命令の読み出し、解読を行う必要があり、大
幅な速度遅延が生じる。 半導体の集積度の向上を伴って、マイクロプログラム制
御を用いたマイクロプロセッサか主流となってきている
。このようなマイクロプロセッサでは、采積度からの制
約により、多重度の少ない2レベルのバイブライン制御
のマイクロブロクラム制御方式か用いられることがある
。2レベルのバイブライン制御とは、第5図に示すよう
に、プログラム・カウンタがn 、 n + 1 、
n + 2 、 n +3、・・・・・・の各番地を示
している各タロツク・サイクルで、それぞれ1つ前の番
地であるn−1゜n 、 n + l 、 n + 2
、・・・・・・の各番地に格納されているマイクロ命
令を2組の処理レベルで実行することである。動作クロ
ックとしてそれぞれ互いに!J<なIE、ない2相のク
ロックφ1.φ2が用いられる。バイブライン制御では
、並列処理と先回り制御か同時に行われることになる。 例えは、タロツクφ1ブロクラム・カウンタがnを示し
ている時、マイクロ命令n −1を実行すると同時に、
マイクロ命令nも先回りして読出しておく。 しかし、この場合にも、ジャンプ、ジャンプサブルーチ
ン、あるいはリターン・サブルーチン等の分岐マイクロ
命令の制御が問題となる。すなわち、バイブライン制御
を行っているため、分岐マイクロ命令の次の番地のマイ
クロ命令が実行されCしすうという問題が生じる。 いま、第5図の制御シーケンスにおいて、n番地のマイ
クロ命令が次の分岐マイクロ命令であると仮定する。 J M P c c AD R・=(1)ここで、JM
Pは分岐命令コート、CCは分岐条件コート、ADRは
分岐先の番地をそれぞれ表わす。分岐条件が成立した場
合には、第5図に示すように、ブロクラム・カウンタに
分岐先番地ADRがロー1くされると同時、X】+11
番地命令が実行される。n+1番地の命令は1分岐命令
の後に続く命令であるため1本来実行されるべきではな
いにもかかわらず、実行されてしまう。つまり、分岐マ
イクロ命令の次の番地のマイクロ命令か実行されてしま
うという問題がある。 この問題の解決策として、従来、カルフォルニア大学の
P attersOnその他が、「ディレイト・ジャン
プ方式」を提案している( D 、 A 、 P et
tersonC,I−1,5cquin ”A VLS
I RI SC” I EE E COM P UT
E RSep、’82参照)、。 このティレイド・ジャンプ方式では、分岐マイクロ命令
の直後にN OP (No 0peration)マイ
クロ命令を挿入する。すなわち5第6図の条件付分岐命
令の比較衣のように、通常の分岐(ノーマル・ジャンプ
:N、JtJMP)では、n −1番地でMOVE X
、A(移動命令)、n番地ではADDi。 A(加算命令)、 n+1番地ではJUNPn+4(分
岐命令II + 4 番地にジャンプ)、n + 2で
はADD A、B(加算命令)、の順序で2レベルのバ
イブライン制御を行う。 このとき、J UN P n
+4の命令の次のA1.)DA、Bの命令も実行され
てしまう。すなわち、J U N P n + 4の命
令の次には5条件か成立した場合、n + 4番地の命
令であるMov工= A、zが実行されなげオしはなら
ない。 しかし、ジャンプ前の順序でADD A、B+J実行さ
れてし、すう。これに対して、ティレイド・ジャンプ(
D、JUNP)では、ブロク911作成時に、■11l
容地のJUNP n+5(分岐命令)の次に必ずNOP
命令が挿入される。このため、バイブライン制御の場合
、 J ON P n + 5の次のN Ol)命令が
実行される。その場合、1番地ずつ後方にずれることに
なる。NOP命令の分たけプログラムサイズが大きくな
り、特に、マイクロ命令をオンチップとするマイクロプ
ロセッサでは集積度の面で不利である。また、さらに適
正化を行うティレイド・ジャンプ方式(0,D、JUN
P)では、分岐マイクロ命令(J UN P n +
4 )と、その直前の命令CADD l、A、)の順序
を入れ換えて、No 1)マイクロ命令を削除する。こ
れにより、ブロクラムサイズがJWすことなく、順序を
入れ換えたマイクロ命令(ADD 1.Aの加算命令)
も2レベルのバイブライン制御により実行することがで
きる。 しかし、上記の最適化ティレイド・ジャンプ方式は、常
に使用できるものではない。例えは、直前のマイクロ命
令の’tRm 2g果によって分岐が行われるような条
件付分岐マイクロ命令に刻しては、最適化は行えない。 やはり直後にNOPマイクロ命令が必要となる。例えば
、第6図の最適化ディレイト・ジャンプ(0,D、JU
NP)”?’は、JUNPri+4の命令の直前のAD
Di、A(加算命令)の結果によって、分岐するか否か
が決定される。 したがってJ UN P n + 1
の分岐命令とADD]、、Aの加算命令の順序を入れ換
えることはできず、 JUNPn+]の命令の次にN
OPを挿入する必要がある。 従って、ティレイト・ジャンプによる分岐制御を用いる
と、条件付分岐マイクロ命令が多数出現するマイクロプ
ロセッサ、例えは入出力装置を制御するマイクロプロセ
ッサのマイクロブロクラムに対しては、多数のNOPマ
イクロ命令が必要となる。これにより、マイクロプログ
ラムのステップ数がNOP命令が挿入された数だけ多く
なり。 メモリ容量が増大して、マイクロプロセッサの集積度の
面で不利となる。 〔発明の目的〕 本発明の目的は、このような従来の欠点を改善し、バイ
ブライン制御で、かつ条件付分岐マイクロ命令が多数出
現するマイクロプロセッサのマイクロプログラムに対し
、NOPマイクロ命令を挿入しないようにして、マイク
ロプロセッサの高集積度を可能にしたマイクロプログラ
ム制御方式を提供することにある。 〔発明の概要〕 上記目的を達成するため、本発明のマイクロブロクラム
制御方式は、マイクロプログラムを格納するメモリと、
該メモリのアドレスを示すブロクラム・カウンタとを備
えたパイプライン制御によるマイクロプログラム制御装
置において、上記メモリの出力が分岐マイクロ命令で、
かつ分岐条件が成立しているか否かを判定する手段と1
M判定手段の肯定出力により上記メモリの次の出力ない
し複数後の出力までN OP (No 0perati
on)マイクロ命令に変換する手段とを有し、上記判定
手段から肯定出力が得られたときには、上記プログラム
・カウンタに上記メモリの出力の一部をロードし、否定
出力が得られたときには、上記プログラム・カウンタに
現在値をプラス1した値をロードすることに特徴がある
。 〔発明の実施例〕 以下1本発明の実施例を、図面により詳細に説明する。 第2図は、本発明に用いるマイクロ命令のフォーマット
図である。 第2図(a)はマイクロ命令のフォーマットを示すもの
で、長さは16ビツトである。各ビットには、それぞれ
MC0−MC15の名称が付されている。例えば、リー
ド/ライトマイクロ命令では。 MC15=0.MC14=l、ffi算コード(OP)
。 レジスタ(REG l 、REG2)、リード/ライト
(R/W)、RAMアドレス(RA)のように定められ
ている。 第2図(b)は1分岐マイクロ命令のフォーマットを示
している。分岐マイクロ命令では、MCl5 =”O”
、 MCl 4 =”O”であり、これによりマイクロ
命令が分岐マイクロ命令であることを示す。 MC13とMC12は未使用ビットであり、またMCI
IとMCl0は条件コードを表わしており、さ・らにM
C9〜MCOの10ビツトで分岐先の番地(A D R
)を表わす。分岐先の番地は、0番地から(2io 1
)番地までを指示することができる。 第2図(C)は、NOPマイクロ命令を示し、この場合
にはすべてのビットが1″である。 第1図は、本発明の一実施例を示すマイクロブロクラム
制御部のブロック図である。 第1図において、1はブロクラム・カウンタ、2はブロ
クラム・カウンタ1の出力バスであって、lOビットの
バス幅を有し、マイクロROM3とインクリメンタ4に
それぞれ接続される。φ1゜φ2は互いに重ならない2
相クロツクであり、プログラム・カウンタ1.マイクロ
ROM3.N。 P挿入回路8.クロックド・ケート18および遅延回路
6にそれぞれ入力される。マイクロROM3は、アクセ
ス時間がφ1.φ2の1クロツク・サイクルであるRO
Mで、マイクロ命令群が格納されており、ブロクラム・
カウンタlが示す番地の内容がクロックφ2と同期して
バス5に出力される。また、マイクロROM3の出力の
うちの下位10ビツトは、遅延口M6を通してマルチプ
レクサ7に入力されている。ここまでは、従来と同じ構
成であり1本実施例では、新たにNOP挿入回路8.N
ORゲート10.NANDゲート17゜マルチプレクサ
11.クロックド・ゲート18゜インバータ19を設け
る。バス5は16ビツト幅であり、マイクロ命令のフォ
ーマットが16個のNOP挿入回路8−0〜8−15を
経路してバス9に出力される。バス9もマイクロ命令バ
スであって、16ビツト幅である。NOP挿入回路8は
、クロックド・ゲート18の出力、つまりハードウエア
N O))出力とバス5の出力の論理和をとり、クロッ
クφ1に同期してバス9の出力する回路であって、分岐
マイクロ命令の直後のマイクロ命令をNOPマイクロ命
令に変換する回路である。 Nf)Rヶ−1〜10の出力は、マイクロ命令の15ビ
ット−目のkic15と14ピッ1−目のMC14==
II OIIのどき、つまり第4図(b)に示す分岐
マイクロ命令フォーマツ(・の場合にのみハイレベルど
なる。マルチプレクサ11には、バス9がらマイクロ命
令の11ビツト目のMCIIと、10ピツトロのMCl
0(第2図(b)に示すように、分岐マイクロ命令の分
岐条件を示す)および演算器25からの出力である12
〜14と、電池(5V)16の出力15がそれぞれ入力
される。マルチプレクサ11は、MC1,1,MC,1
0の値により1例えば演算器25からのキャリー信号、
0信号、あるいはテスト結果の信号等の出力12〜14
あるいは電池16の出力15を出力する。例えは、y!
r!。 条件分岐マイクロ命令のときには、無条件で電池1Gの
出力、つまりハイレベル出力をNANDゲー1−17の
入力の一方に与える。NANDゲート17は、N OR
デー1−10の出力とマルチプレクサ11の出力を入力
どしており、分岐マイクロ命令において分岐条件が成立
した時のみ、出力はローレベルとなる。NΔNDケート
17の出力は、クロックド・ゲー1へ18を介してNO
P挿入回路8−0〜8−15およびインバータ19を介
し、てマルチプレクサ7にそれぞれ送出される。クロッ
クド・ケートJ8では、タロツクφ2が入力されない期
間にNANDゲート・17からハイレベルあるいはロー
レベルの信号が送られると、それぞれハーイレベルある
ローレベルにチャージングされるが。 クロックφ2と入力と同時に反転出力がN OP li
t人回路8に送られる。 NOP挿入回路8〜0〜8−15は、マイクロROM3
からの16本の各出力と、クロックド・ゲート18から
の出力の論理和をとり、クロックφ1と同期してバス9
に出力する。従って、NANDケ−1−17の出力がロ
ーレベルとなったとき。 すなわち、分岐マイクロ命令において1分岐条件が成立
したときの1クロツク後には、N OP挿入回路8−0
〜8−15の出力はすべてハイレベルとなり、マイクロ
命令パス9は、第2図((Z)で示したN OPマイク
ロ命令(MCO〜MCl 5 =” 1”のフォーマツ
1−)の表わす。 一方、NΔN +)ゲート17の出力は、インバータ1
9を通り、マルチプレクサ7の入力になっている。 マルチプレクサ7は、インバータ19の出力かハイレベ
ルのどき、遅延回路6を介したバス5の出力を選択し、
インノ5−タ19の出力かローレベルのどき、バス20
を通して−rンクリメンタ/1の出力を選択する。すな
わち、分1岐マイクロ命令においで1分岐条件が成立し
た場合には、MC0=〜lc9を分岐先番地として、バ
ス21を介しブロクラム・カウンタ1にロードする。遅
延回路6は。 マイクロROF、43からバス5を介して送られてきた
分岐マイクロ命令の下位10ピツh(MCO〜M C9
)を、クロックφ1の次のサイクルに同期してマルチプ
レクサ7に送出するので、この値が次のサイクルのブロ
クラム・カウンタlの内容としてロードされる。 分岐マイクロ命令で条件が不成立の場合、およびマイク
ロ命令が分岐マイクロ命令でない場合には、プログラム
・カウンタlの値は、またけインクリメントされた値と
なる。 第3図は、本発明の命令群の動作順序を示す実施例図で
あり、第11図は第1図の動作タイムチャートである。 第6図に示す命令群を本実施例で実行すると、命令順序
lJ第3図のようになり、第1図の全信号線の変化タイ
ミングは第4図に示すようになる。 ブロクラム・カウンタ1に101番地がセットされてい
る時点では、その前の命令、つまり100 ?If地(
7) [MOVlE X、AJ (7)命令がマイ’1
7[JROM3から読出され、さらにブロクラム・カウ
ンタ1にインクリメントされた値の102番地かセット
された時点には、その前の命令であるrADDl、D」
がマイクロROM 3から読出される。このとき、パス
5上に送出さ九た16ビツ1−の命令のうちのMCO〜
15は、第2図(a)に示すように、それぞれ割当てら
れたフィ−ル1;ごとの(n’−(が表われる。この加
算命令が、16本のパス5を升してそれぞれNOP挿入
回路8−0〜8−15に入力さhる。第1図に示すよう
に、NOP挿入回路は1本の信号線ごとに1個づつ設【
づられでおり、第1図では、MCOの信号に対応するも
のだけが詳細に示されているが、他のM C1〜M C
l 5の信号に対応する回路の溝底も全く回し、である
。1qC”l l)挿入回路8−0は、タロツクφ2が
ケ゛−I−に加えられるp M (:l S l’ラン
シスタ30.クロックφ1が加えられるクロックド・ケ
ーh 31 、りUラクト・ゲート18からのバー1−
ウェアNOPかゲー1−に加えられるn M OS l
・ランジスタ311゜マイクロROM3からパス5の信
号線0を介し、Cマイクロ命令のMCOがケー1−に加
えら汎るII MOSトランジスタ33.およびタロツ
クφ1かう−1〜に加えられるIr M OS I・ラ
ンシスタ:32か+5構成される。 )、 M OS トランジスタ30は、クロックφ2か
ハイレベル(T2がローレベル)のときにオンとなり、
(+)電源をクロックド・ゲー1−31に接穿売して、
ゲートをハイレベルにプリチャージする(第4図参照)
。 この時点では、タロツクφ1かロー1・\ルである
ため、n M OS l−ランラスタ321Jオフ状態
であり、パス5およびクロックド・ゲート18からn
M OS l−ランシスタ33,34のゲー1−にハイ
レベル信号が加えられても、トランジスタ33.34は
オフ状態を保持する。 クロックφ1がハイレベレで、かつn M OS h一
つレジスタ33,34の少なくともいずれか一方の人力
かハイレベレのときに、n MOS [−ランジスタ3
3または34.および32がオンとなるため、クロック
1〜・ゲート31のケートにチャージさ牡′〔いた電荷
の放電経路が形成され、放電が行わ肛る。このとき、ク
ロックド・ゲート31はインバータであるため、放電に
よつ−C一端かローレベルになると、マイクロ金貨35
である他端はハイレベルどなる。マイクロ命令35ば、
第5図のパス9に出力される。 次に、プロゲラ15・カウンタlに10 :3 ’M−
地かセットされるど、マ、イク口ROM 3からr、J
[JMPl、06Jの分岐命令が読出される。これによ
り、パス5上には1分岐命令のMCO〜9として分岐先
アドレスのコートが送出され、またMCl0゜11とし
て分岐条件コードが送ら、1シ、M CI /1. 。 15としては両方共II OHレベルが送出される。こ
れにより、少なくとも、NOP挿入回路8−1.4 。 8−15には、II O1′信号、つまりローレベルが
入力されるため、トランジスタ33はオフ状態であり、
また前の命令は分岐命令でないため、クロックド・ゲー
ト18の出力はローレベルであり、従ってトランジスタ
34もオフ状態である。この結果、クロックド・ゲー1
−31にプリチャージされていた電荷は放電さオtす、
ゲー1−31の他端の出力マイクロ命令35(MCl
4 、 MCl 5)はローレベルとなる。これによっ
て、ORゲート10の出力はハイレベルとなる。また、
パス9」二の分岐命令35のMCl0.11はcO,c
lの分岐条件コードであり、これらがマイクロ命令レジ
スタ23にセラ1へされた後、テコーダ24でテコート
された結果、発生した制御信号が演算器25を制御する
ことにより、条件が成立すればハイレベルのキャリー信
号12あるいはハイレベルの演算結果信号14がマルチ
プレクサ11に入力し、M CIo、11の条件信号の
入力によって、この人力かそのまま出力してANDケー
ト17の入力となる。また、条件が不成立の場合には、
ローレベルのキャリー信号12、tr Ou信号+ 3
あるいはローレベルの演算結果信号14がマルチプレク
サ1jに入力するため、A N I)ゲートにはロー/
lノベルが入力する。ANDゲート17の再入力がハイ
レベルのときには、タロツタ1−・ゲー1−18の出力
もハイレベルとなり、これが16個のN O+”挿入回
路8−0〜8−15の各1〜ランシスタ34のゲートに
加えら九る。すなわち、ハードウェアN O))がアサ
ートされることになる。なお、無条件分岐命令のどきに
は、MCl0.IIをテコードし、た結果により、電池
1Gの出力をマルチプレクサ11に入力させる。 タロツク1〜・ゲー1−18からハードウェアN。 1)かアサ−1−されたときには、1−ランシスタ:3
2゜371かオンすることにより、クロッ91−・ゲー
1−:(1の放電経路が形成されるため、第(1図の矢
印で示すように、マイクロ命令35は無条件でハイレベ
ルどなる。すなわち、第11図におけるバス9上のマイ
クロ命令35のMC0−MC15のすべてのビットがハ
イレベルとなり、第2図(c)に示すNOP命令として
出方される。このようにして、マイクロROM3にはN
Oり命令が格納されていなくても、NOP挿入回路8
において分岐命令の次にNOP命令が挿入されるため、
プログラム・カウンタ1にセラ1−されていた103番
地の命令は実行されずにすむ。一方、分岐条件が不成立
の場合には、トランジスタ34はオフ状態であり、1〜
ランシスタ3コ3は、マイクロROM3の出力、つまり
マイクロ命令の各ピッl−がハイレベルが、またはロー
レベルによってオンまたはオフ状態となり、クロック[
二・ゲート3Iにプリチャージされていた電荷が放電さ
れるが、あるいは充電され命令35はハイレベルまたは
ローレベルのどちらかとなる。つまり、303番地のマ
イクロ命令がバス9上に出力される。このマイクロ命令
はマイクロ命令レジスタ23に格納された後、テコーダ
24でデコードされ、演算器25を制御することにより
実行される。なお、条件が不成立の場合には、信号線1
2〜14は、第4図に示すように、ローレベルのままの
状態であり、ANDケート17の出力はハイレベルとな
る。このため、インバータ19の出力はローレベルとな
り、マルチプレクサ7にローレベルが久方される。次の
アドレスとして、インクリメンタ4でインクリメン1−
された信号が選択され、プログラム・カウンタlにセッ
トされる。 このようにして、NOP挿入回路8〜0〜8−15、ク
ロックド・ゲート18等のハードウェア槽底を用いるこ
とにより、分岐マイクロ命令で分岐条件が成立した場合
には、次のクロック・サイクルのマイクロ命令がハート
;ウェアによりNOPマイクロ命令となる。従って、分
岐マイクロ命令で分11皮粂件が成立した場合1次のマ
イクロ命令は実行されないため、マイクロROM3中に
NOPマイクロ命令を挿入する必要がない。 なお、本実施例では、NOP命令をオールrr I I
+とし7たが、オールrr 011あるいは別の特定パ
ターンにし、て実施することも可能である。従って、判
定回路の出力とマイクロROM3の出力の各ピッ1〜ご
との論理和をとってその結果をマイクロ命令とし、で出
力する他に、論理積等の論理演nを行って出力すること
もできる。 マイクロブロクラム中の分岐マイクロ命令の割合を30
%と仮定すると、従来の方式のうち、最適化を行わない
ティレイド・ジャンプ方式では、30%分のN OPマ
イクロ命令が余分に必要である。また最適化を行うティ
レイド・ジャンプ方式では、条件付/無条件付分岐マイ
クロ命令がぞオしそれ50%づつ現われ、最適化可能な
割合をそれぞれ0%、60%であるとすれは、次式で示
す数たけ余分にNOPマイクロ命令が必要である。 30%X (0,5X(1,00;(1)+0.5X(
1,0−0,6月 =21 % ・・ ・・・・ (2
〕これに対して、本実施例では、NOPマイクロ命令を
挿入する必要が全くない。 このように、先廻り制御と多重制御を併用し7たいわゆ
るバイブライン制御では、2レベル以上でのバイブライ
ン動作が行われるが、本実施例では、このうちの2レベ
ルのバイブライン制御によるマイクロプロセッサの処理
について説明した。 一般に、マイクロブロクラム処理では、(a)命令の読
出し、(b)命令のデコード、(C)演算、データ移動
などの順序で実行される。バイブライン制御では、先ず
先廻り制御により、(a)、(b)、(c)を並行して
行うことによって、ハードウェアを効率よく利用して処
理速度を向上さぜる。さらに、多重制御により2レベル
の制御、すなわち1つ前のマイクロ命令の演算データ移
動を行っている間に次のマイクロ命令の読出しを行う。 すなわち、上記(a)〜(C)を1つ前のマイクロ命令
の処理順序とし、(a)’〜(C)′を次のマイクロ命
令の処理順序どすると2レベルの制御では、(a)()
。 (L+、cHa)’ 、の順序で処J″j!を行う。こ
れに対して、3レベルのバイブライン制御では、さらに
次のマイクロ命令の処理順序を(ij ) ”へ(c)
”とすると、(aH)()、(b)(a)()、(c)
(b)(a)、の順序で処理が行われることになる。本
発明は、2レベルのバイブライン制御は勿論のこと。 3レベル以上のバイブライン+V+J御り二も3口用す
ることができる。3レベルのバイブライン制御では、1
つのマイクロ命令の演算と紋riL、で、次のマイク0
命令のテコートとその次のマイクロ命令のに売出し、が
なさ、I−する。現在読出さJ(たマイクロ命令が分(
咬マイクロ命令のときには、引之続・(2つのマイクロ
命令が実行されないように、分岐命令の次のマイクロ命
令の出力とその次のマイクロ命令の出力に対して、N○
■)挿入回路8−0〜8−15によりハードウェア的に
N OPマイクロ命令を挿入すれはよい。勿論、4レベ
ル以上のバイブライン制御においても、全く同じように
し7て、分岐命令の次の出力から3つ後の出力までNO
Pマイクロ命令を挿入すれはよいことになる。 (発明の効果〕 以上説明したように、本発明によれは、バイブライン制
御のマイクロプログラムに対して、N○l〕マイクロ命
令を挿入する必要かないので、牛、1゛に果精度に制約
があるマイクロプロセッサで、かつ分岐マイクロ命令を
多数含むような六〇−tカ装置4制御用のマイクロプロ
セッサに対して極めて効果かある。 4、図面の簡単な説明 第1図は本発明の一実施例を示すマイクロプログラム制
御部と演算部のブロック構成図、第2図は本発明に用い
Iられるマイク0命令のフォーマット図、第3図は本発
明における2レベルのバイブライン制御のマイクロ命令
の1す」作順序を示す図、第4図は第1図の動作タイミ
ングチャー1−1第5図、第6図はそれそAし従来の2
レベルのバイブライン制御のマイクロプロゲラ11の動
作タイムチャー1−およびティレイト・シャンブ力式の
マイクロ命令の動作順序を示す図である。 1:ブログラlトカウンタ、3:マイクロRON1.4
:インクリメンタ、6:遅延回部、7.1■=マルヂブ
レクサ、8−0〜B−15:NOP揮六回路、18,3
1:クロックド・ゲート、10 : ORケート、17
二ΔN I)ゲート、19:インバータ、23二マイク
ロ命令レジスタ :l 71 :テコーダ、25:演算
器、16:電池。
クロプログラムの動作タイl−チャー1〜、第2図は従
来のディレィ1へ・ジャンプによるバイブライン制御の
説明図、第3図は本発明の動作原理を示すタイt1チャ
ー1−1第4図は本発明に用いられるマイクロ命令の)
2F−マノ1〜図、第5141は本発明の一実施例を示
すマイクロプログラム制fu−11部ノブロック図、第
6図は第5図のhi OP挿入回路の具体例を示す図、
第7図は第6図の勅作夕(ミンソ°y゛\・−1へであ
る。 1:ブロンラlトカウンタ、゛(:マイy口11 (T
)N1.11:インクリメン!ノ、6:遅廷回&IL7
+]1:マルチブレグ](・、8:NOP挿入回路、1
890、)どノド・ゲー1〜 第]−図 第2図 第 6 図 第7図 手続補正書(自発) 昭和60年5月23日 昭和59イ、特 許 願第3979552、発明の名称
マイクロブロクラム制御方式3 補正をする者 小イ11との関係 特許83願人 4 代 理 人 方式 rへ ゛。 明光III蕃ト 1、発明の名称 マイクロブロクラム制御方式2、特許
請求の範囲 (1)マイクロプログラムを格納するメモリと、該メモ
リのアドレスを示すブロクラム・カウンタとを備えたバ
イブライン制御によるマイクロプログラム制御装置にお
いて、上記メモリの出力が分岐マイクロ命令で、かつ分
岐条件が成立し、ているか否かを判定する手段と、該判
定手段の11定出力により上記メモリの次の出力ないし
、複数後の出力ま・でN OP (No 0perat
ion)マイクロ命令に変換する手段とを有し、上記判
定手段からけ定出力が得られたときには、上記ブログラ
ノ、・カウンタに上記メモリの出力の一部をロードし、
否定出力か得られたときに懐、上記プログラム・カウン
タに現在値をプラス1した値をロードすることを特徴と
するマイクロプログラム制御方式、 (2)上記NOPマイクロ命令変換手段は、クロックに
同期して、」1記判定手段の出力と上記メモリ果をマイ
クロ命令として出力することを特徴とする特許請求の範
囲第1項記載のマイクロブロクラム制御方式。 3、発明の詳細な説明 〔発明の利用分野〕 本発明は、マイクロブロクラム制御方式に関し、特にバ
イブライン制御で、かつ分岐マイクロ命令を多数含むマ
イクロプログラム制御のプロセッサ処理方式に関するも
のである。 〔発明の背景〕 従来よりマイクロプロセッサの制御方式として ゛マイ
クロプログラム方式が用いられている。マイクロプログ
ラム方式の1つとしてマイクロ命令をチップ内のROM
(Read 0nly Memory)に記憶してお
き、マイクロ命令カウンタで示された番地の内容を前記
ROMから読出し、これを解読し、実行する方式が知ら
れている。その場合に、マイクロ命令の読出し、解読、
実行、次のマイクロ命令の読出し、の順序で処理を行う
基本形態を逐次制御(シーケンシャル・コントロール)
と呼ふ。これに対して、将来実行するはずのマイクロ命
令を予測し、これを予め読出す際に、現在の処理と併行
して読出す形1ルを、命令の先回り制御(アドノ\ンス
・コントロール)と呼ふ。 また、複数個のプログラムが同一時点で並行処理される
処理形態を、多重処理(マルチブロセシンク)と呼ぶ。 丁度、ベルトコンベア式に複数個の命令を同時に先回り
制御して並行処理する方法つまり先回り制御と多重制御
を同時に行う方法が、バイブライン制御方式である。す
なわち、バイブライン制御方式とは、マイクロ命令の実
行過程をいくつかの段階に分割し、その間に多数組のテ
ークを同時に流し1時間当りの処理回数を増加させる方
法である。 バイブライン制御のプロセッサにおいては、従来より分
岐制御が問題となっている。すなわち、1つのマイクロ
命令の実行には、複数サイクルの時間がかかるため、バ
イブライン制御によりマイクロ命令の先回り制御と並列
処理を行って、1命令/1サイクルの速度を得ているが
、途中[−分岐マイクロ命令か存在すると、マイクロ命
令の実行順序が狂ってしまい、すでに読み出した。ある
いは解読したマイクロ命令が無効となり、新たに分岐先
のマイクロ命令の読み出し、解読を行う必要があり、大
幅な速度遅延が生じる。 半導体の集積度の向上を伴って、マイクロプログラム制
御を用いたマイクロプロセッサか主流となってきている
。このようなマイクロプロセッサでは、采積度からの制
約により、多重度の少ない2レベルのバイブライン制御
のマイクロブロクラム制御方式か用いられることがある
。2レベルのバイブライン制御とは、第5図に示すよう
に、プログラム・カウンタがn 、 n + 1 、
n + 2 、 n +3、・・・・・・の各番地を示
している各タロツク・サイクルで、それぞれ1つ前の番
地であるn−1゜n 、 n + l 、 n + 2
、・・・・・・の各番地に格納されているマイクロ命
令を2組の処理レベルで実行することである。動作クロ
ックとしてそれぞれ互いに!J<なIE、ない2相のク
ロックφ1.φ2が用いられる。バイブライン制御では
、並列処理と先回り制御か同時に行われることになる。 例えは、タロツクφ1ブロクラム・カウンタがnを示し
ている時、マイクロ命令n −1を実行すると同時に、
マイクロ命令nも先回りして読出しておく。 しかし、この場合にも、ジャンプ、ジャンプサブルーチ
ン、あるいはリターン・サブルーチン等の分岐マイクロ
命令の制御が問題となる。すなわち、バイブライン制御
を行っているため、分岐マイクロ命令の次の番地のマイ
クロ命令が実行されCしすうという問題が生じる。 いま、第5図の制御シーケンスにおいて、n番地のマイ
クロ命令が次の分岐マイクロ命令であると仮定する。 J M P c c AD R・=(1)ここで、JM
Pは分岐命令コート、CCは分岐条件コート、ADRは
分岐先の番地をそれぞれ表わす。分岐条件が成立した場
合には、第5図に示すように、ブロクラム・カウンタに
分岐先番地ADRがロー1くされると同時、X】+11
番地命令が実行される。n+1番地の命令は1分岐命令
の後に続く命令であるため1本来実行されるべきではな
いにもかかわらず、実行されてしまう。つまり、分岐マ
イクロ命令の次の番地のマイクロ命令か実行されてしま
うという問題がある。 この問題の解決策として、従来、カルフォルニア大学の
P attersOnその他が、「ディレイト・ジャン
プ方式」を提案している( D 、 A 、 P et
tersonC,I−1,5cquin ”A VLS
I RI SC” I EE E COM P UT
E RSep、’82参照)、。 このティレイド・ジャンプ方式では、分岐マイクロ命令
の直後にN OP (No 0peration)マイ
クロ命令を挿入する。すなわち5第6図の条件付分岐命
令の比較衣のように、通常の分岐(ノーマル・ジャンプ
:N、JtJMP)では、n −1番地でMOVE X
、A(移動命令)、n番地ではADDi。 A(加算命令)、 n+1番地ではJUNPn+4(分
岐命令II + 4 番地にジャンプ)、n + 2で
はADD A、B(加算命令)、の順序で2レベルのバ
イブライン制御を行う。 このとき、J UN P n
+4の命令の次のA1.)DA、Bの命令も実行され
てしまう。すなわち、J U N P n + 4の命
令の次には5条件か成立した場合、n + 4番地の命
令であるMov工= A、zが実行されなげオしはなら
ない。 しかし、ジャンプ前の順序でADD A、B+J実行さ
れてし、すう。これに対して、ティレイド・ジャンプ(
D、JUNP)では、ブロク911作成時に、■11l
容地のJUNP n+5(分岐命令)の次に必ずNOP
命令が挿入される。このため、バイブライン制御の場合
、 J ON P n + 5の次のN Ol)命令が
実行される。その場合、1番地ずつ後方にずれることに
なる。NOP命令の分たけプログラムサイズが大きくな
り、特に、マイクロ命令をオンチップとするマイクロプ
ロセッサでは集積度の面で不利である。また、さらに適
正化を行うティレイド・ジャンプ方式(0,D、JUN
P)では、分岐マイクロ命令(J UN P n +
4 )と、その直前の命令CADD l、A、)の順序
を入れ換えて、No 1)マイクロ命令を削除する。こ
れにより、ブロクラムサイズがJWすことなく、順序を
入れ換えたマイクロ命令(ADD 1.Aの加算命令)
も2レベルのバイブライン制御により実行することがで
きる。 しかし、上記の最適化ティレイド・ジャンプ方式は、常
に使用できるものではない。例えは、直前のマイクロ命
令の’tRm 2g果によって分岐が行われるような条
件付分岐マイクロ命令に刻しては、最適化は行えない。 やはり直後にNOPマイクロ命令が必要となる。例えば
、第6図の最適化ディレイト・ジャンプ(0,D、JU
NP)”?’は、JUNPri+4の命令の直前のAD
Di、A(加算命令)の結果によって、分岐するか否か
が決定される。 したがってJ UN P n + 1
の分岐命令とADD]、、Aの加算命令の順序を入れ換
えることはできず、 JUNPn+]の命令の次にN
OPを挿入する必要がある。 従って、ティレイト・ジャンプによる分岐制御を用いる
と、条件付分岐マイクロ命令が多数出現するマイクロプ
ロセッサ、例えは入出力装置を制御するマイクロプロセ
ッサのマイクロブロクラムに対しては、多数のNOPマ
イクロ命令が必要となる。これにより、マイクロプログ
ラムのステップ数がNOP命令が挿入された数だけ多く
なり。 メモリ容量が増大して、マイクロプロセッサの集積度の
面で不利となる。 〔発明の目的〕 本発明の目的は、このような従来の欠点を改善し、バイ
ブライン制御で、かつ条件付分岐マイクロ命令が多数出
現するマイクロプロセッサのマイクロプログラムに対し
、NOPマイクロ命令を挿入しないようにして、マイク
ロプロセッサの高集積度を可能にしたマイクロプログラ
ム制御方式を提供することにある。 〔発明の概要〕 上記目的を達成するため、本発明のマイクロブロクラム
制御方式は、マイクロプログラムを格納するメモリと、
該メモリのアドレスを示すブロクラム・カウンタとを備
えたパイプライン制御によるマイクロプログラム制御装
置において、上記メモリの出力が分岐マイクロ命令で、
かつ分岐条件が成立しているか否かを判定する手段と1
M判定手段の肯定出力により上記メモリの次の出力ない
し複数後の出力までN OP (No 0perati
on)マイクロ命令に変換する手段とを有し、上記判定
手段から肯定出力が得られたときには、上記プログラム
・カウンタに上記メモリの出力の一部をロードし、否定
出力が得られたときには、上記プログラム・カウンタに
現在値をプラス1した値をロードすることに特徴がある
。 〔発明の実施例〕 以下1本発明の実施例を、図面により詳細に説明する。 第2図は、本発明に用いるマイクロ命令のフォーマット
図である。 第2図(a)はマイクロ命令のフォーマットを示すもの
で、長さは16ビツトである。各ビットには、それぞれ
MC0−MC15の名称が付されている。例えば、リー
ド/ライトマイクロ命令では。 MC15=0.MC14=l、ffi算コード(OP)
。 レジスタ(REG l 、REG2)、リード/ライト
(R/W)、RAMアドレス(RA)のように定められ
ている。 第2図(b)は1分岐マイクロ命令のフォーマットを示
している。分岐マイクロ命令では、MCl5 =”O”
、 MCl 4 =”O”であり、これによりマイクロ
命令が分岐マイクロ命令であることを示す。 MC13とMC12は未使用ビットであり、またMCI
IとMCl0は条件コードを表わしており、さ・らにM
C9〜MCOの10ビツトで分岐先の番地(A D R
)を表わす。分岐先の番地は、0番地から(2io 1
)番地までを指示することができる。 第2図(C)は、NOPマイクロ命令を示し、この場合
にはすべてのビットが1″である。 第1図は、本発明の一実施例を示すマイクロブロクラム
制御部のブロック図である。 第1図において、1はブロクラム・カウンタ、2はブロ
クラム・カウンタ1の出力バスであって、lOビットの
バス幅を有し、マイクロROM3とインクリメンタ4に
それぞれ接続される。φ1゜φ2は互いに重ならない2
相クロツクであり、プログラム・カウンタ1.マイクロ
ROM3.N。 P挿入回路8.クロックド・ケート18および遅延回路
6にそれぞれ入力される。マイクロROM3は、アクセ
ス時間がφ1.φ2の1クロツク・サイクルであるRO
Mで、マイクロ命令群が格納されており、ブロクラム・
カウンタlが示す番地の内容がクロックφ2と同期して
バス5に出力される。また、マイクロROM3の出力の
うちの下位10ビツトは、遅延口M6を通してマルチプ
レクサ7に入力されている。ここまでは、従来と同じ構
成であり1本実施例では、新たにNOP挿入回路8.N
ORゲート10.NANDゲート17゜マルチプレクサ
11.クロックド・ゲート18゜インバータ19を設け
る。バス5は16ビツト幅であり、マイクロ命令のフォ
ーマットが16個のNOP挿入回路8−0〜8−15を
経路してバス9に出力される。バス9もマイクロ命令バ
スであって、16ビツト幅である。NOP挿入回路8は
、クロックド・ゲート18の出力、つまりハードウエア
N O))出力とバス5の出力の論理和をとり、クロッ
クφ1に同期してバス9の出力する回路であって、分岐
マイクロ命令の直後のマイクロ命令をNOPマイクロ命
令に変換する回路である。 Nf)Rヶ−1〜10の出力は、マイクロ命令の15ビ
ット−目のkic15と14ピッ1−目のMC14==
II OIIのどき、つまり第4図(b)に示す分岐
マイクロ命令フォーマツ(・の場合にのみハイレベルど
なる。マルチプレクサ11には、バス9がらマイクロ命
令の11ビツト目のMCIIと、10ピツトロのMCl
0(第2図(b)に示すように、分岐マイクロ命令の分
岐条件を示す)および演算器25からの出力である12
〜14と、電池(5V)16の出力15がそれぞれ入力
される。マルチプレクサ11は、MC1,1,MC,1
0の値により1例えば演算器25からのキャリー信号、
0信号、あるいはテスト結果の信号等の出力12〜14
あるいは電池16の出力15を出力する。例えは、y!
r!。 条件分岐マイクロ命令のときには、無条件で電池1Gの
出力、つまりハイレベル出力をNANDゲー1−17の
入力の一方に与える。NANDゲート17は、N OR
デー1−10の出力とマルチプレクサ11の出力を入力
どしており、分岐マイクロ命令において分岐条件が成立
した時のみ、出力はローレベルとなる。NΔNDケート
17の出力は、クロックド・ゲー1へ18を介してNO
P挿入回路8−0〜8−15およびインバータ19を介
し、てマルチプレクサ7にそれぞれ送出される。クロッ
クド・ケートJ8では、タロツクφ2が入力されない期
間にNANDゲート・17からハイレベルあるいはロー
レベルの信号が送られると、それぞれハーイレベルある
ローレベルにチャージングされるが。 クロックφ2と入力と同時に反転出力がN OP li
t人回路8に送られる。 NOP挿入回路8〜0〜8−15は、マイクロROM3
からの16本の各出力と、クロックド・ゲート18から
の出力の論理和をとり、クロックφ1と同期してバス9
に出力する。従って、NANDケ−1−17の出力がロ
ーレベルとなったとき。 すなわち、分岐マイクロ命令において1分岐条件が成立
したときの1クロツク後には、N OP挿入回路8−0
〜8−15の出力はすべてハイレベルとなり、マイクロ
命令パス9は、第2図((Z)で示したN OPマイク
ロ命令(MCO〜MCl 5 =” 1”のフォーマツ
1−)の表わす。 一方、NΔN +)ゲート17の出力は、インバータ1
9を通り、マルチプレクサ7の入力になっている。 マルチプレクサ7は、インバータ19の出力かハイレベ
ルのどき、遅延回路6を介したバス5の出力を選択し、
インノ5−タ19の出力かローレベルのどき、バス20
を通して−rンクリメンタ/1の出力を選択する。すな
わち、分1岐マイクロ命令においで1分岐条件が成立し
た場合には、MC0=〜lc9を分岐先番地として、バ
ス21を介しブロクラム・カウンタ1にロードする。遅
延回路6は。 マイクロROF、43からバス5を介して送られてきた
分岐マイクロ命令の下位10ピツh(MCO〜M C9
)を、クロックφ1の次のサイクルに同期してマルチプ
レクサ7に送出するので、この値が次のサイクルのブロ
クラム・カウンタlの内容としてロードされる。 分岐マイクロ命令で条件が不成立の場合、およびマイク
ロ命令が分岐マイクロ命令でない場合には、プログラム
・カウンタlの値は、またけインクリメントされた値と
なる。 第3図は、本発明の命令群の動作順序を示す実施例図で
あり、第11図は第1図の動作タイムチャートである。 第6図に示す命令群を本実施例で実行すると、命令順序
lJ第3図のようになり、第1図の全信号線の変化タイ
ミングは第4図に示すようになる。 ブロクラム・カウンタ1に101番地がセットされてい
る時点では、その前の命令、つまり100 ?If地(
7) [MOVlE X、AJ (7)命令がマイ’1
7[JROM3から読出され、さらにブロクラム・カウ
ンタ1にインクリメントされた値の102番地かセット
された時点には、その前の命令であるrADDl、D」
がマイクロROM 3から読出される。このとき、パス
5上に送出さ九た16ビツ1−の命令のうちのMCO〜
15は、第2図(a)に示すように、それぞれ割当てら
れたフィ−ル1;ごとの(n’−(が表われる。この加
算命令が、16本のパス5を升してそれぞれNOP挿入
回路8−0〜8−15に入力さhる。第1図に示すよう
に、NOP挿入回路は1本の信号線ごとに1個づつ設【
づられでおり、第1図では、MCOの信号に対応するも
のだけが詳細に示されているが、他のM C1〜M C
l 5の信号に対応する回路の溝底も全く回し、である
。1qC”l l)挿入回路8−0は、タロツクφ2が
ケ゛−I−に加えられるp M (:l S l’ラン
シスタ30.クロックφ1が加えられるクロックド・ケ
ーh 31 、りUラクト・ゲート18からのバー1−
ウェアNOPかゲー1−に加えられるn M OS l
・ランジスタ311゜マイクロROM3からパス5の信
号線0を介し、Cマイクロ命令のMCOがケー1−に加
えら汎るII MOSトランジスタ33.およびタロツ
クφ1かう−1〜に加えられるIr M OS I・ラ
ンシスタ:32か+5構成される。 )、 M OS トランジスタ30は、クロックφ2か
ハイレベル(T2がローレベル)のときにオンとなり、
(+)電源をクロックド・ゲー1−31に接穿売して、
ゲートをハイレベルにプリチャージする(第4図参照)
。 この時点では、タロツクφ1かロー1・\ルである
ため、n M OS l−ランラスタ321Jオフ状態
であり、パス5およびクロックド・ゲート18からn
M OS l−ランシスタ33,34のゲー1−にハイ
レベル信号が加えられても、トランジスタ33.34は
オフ状態を保持する。 クロックφ1がハイレベレで、かつn M OS h一
つレジスタ33,34の少なくともいずれか一方の人力
かハイレベレのときに、n MOS [−ランジスタ3
3または34.および32がオンとなるため、クロック
1〜・ゲート31のケートにチャージさ牡′〔いた電荷
の放電経路が形成され、放電が行わ肛る。このとき、ク
ロックド・ゲート31はインバータであるため、放電に
よつ−C一端かローレベルになると、マイクロ金貨35
である他端はハイレベルどなる。マイクロ命令35ば、
第5図のパス9に出力される。 次に、プロゲラ15・カウンタlに10 :3 ’M−
地かセットされるど、マ、イク口ROM 3からr、J
[JMPl、06Jの分岐命令が読出される。これによ
り、パス5上には1分岐命令のMCO〜9として分岐先
アドレスのコートが送出され、またMCl0゜11とし
て分岐条件コードが送ら、1シ、M CI /1. 。 15としては両方共II OHレベルが送出される。こ
れにより、少なくとも、NOP挿入回路8−1.4 。 8−15には、II O1′信号、つまりローレベルが
入力されるため、トランジスタ33はオフ状態であり、
また前の命令は分岐命令でないため、クロックド・ゲー
ト18の出力はローレベルであり、従ってトランジスタ
34もオフ状態である。この結果、クロックド・ゲー1
−31にプリチャージされていた電荷は放電さオtす、
ゲー1−31の他端の出力マイクロ命令35(MCl
4 、 MCl 5)はローレベルとなる。これによっ
て、ORゲート10の出力はハイレベルとなる。また、
パス9」二の分岐命令35のMCl0.11はcO,c
lの分岐条件コードであり、これらがマイクロ命令レジ
スタ23にセラ1へされた後、テコーダ24でテコート
された結果、発生した制御信号が演算器25を制御する
ことにより、条件が成立すればハイレベルのキャリー信
号12あるいはハイレベルの演算結果信号14がマルチ
プレクサ11に入力し、M CIo、11の条件信号の
入力によって、この人力かそのまま出力してANDケー
ト17の入力となる。また、条件が不成立の場合には、
ローレベルのキャリー信号12、tr Ou信号+ 3
あるいはローレベルの演算結果信号14がマルチプレク
サ1jに入力するため、A N I)ゲートにはロー/
lノベルが入力する。ANDゲート17の再入力がハイ
レベルのときには、タロツタ1−・ゲー1−18の出力
もハイレベルとなり、これが16個のN O+”挿入回
路8−0〜8−15の各1〜ランシスタ34のゲートに
加えら九る。すなわち、ハードウェアN O))がアサ
ートされることになる。なお、無条件分岐命令のどきに
は、MCl0.IIをテコードし、た結果により、電池
1Gの出力をマルチプレクサ11に入力させる。 タロツク1〜・ゲー1−18からハードウェアN。 1)かアサ−1−されたときには、1−ランシスタ:3
2゜371かオンすることにより、クロッ91−・ゲー
1−:(1の放電経路が形成されるため、第(1図の矢
印で示すように、マイクロ命令35は無条件でハイレベ
ルどなる。すなわち、第11図におけるバス9上のマイ
クロ命令35のMC0−MC15のすべてのビットがハ
イレベルとなり、第2図(c)に示すNOP命令として
出方される。このようにして、マイクロROM3にはN
Oり命令が格納されていなくても、NOP挿入回路8
において分岐命令の次にNOP命令が挿入されるため、
プログラム・カウンタ1にセラ1−されていた103番
地の命令は実行されずにすむ。一方、分岐条件が不成立
の場合には、トランジスタ34はオフ状態であり、1〜
ランシスタ3コ3は、マイクロROM3の出力、つまり
マイクロ命令の各ピッl−がハイレベルが、またはロー
レベルによってオンまたはオフ状態となり、クロック[
二・ゲート3Iにプリチャージされていた電荷が放電さ
れるが、あるいは充電され命令35はハイレベルまたは
ローレベルのどちらかとなる。つまり、303番地のマ
イクロ命令がバス9上に出力される。このマイクロ命令
はマイクロ命令レジスタ23に格納された後、テコーダ
24でデコードされ、演算器25を制御することにより
実行される。なお、条件が不成立の場合には、信号線1
2〜14は、第4図に示すように、ローレベルのままの
状態であり、ANDケート17の出力はハイレベルとな
る。このため、インバータ19の出力はローレベルとな
り、マルチプレクサ7にローレベルが久方される。次の
アドレスとして、インクリメンタ4でインクリメン1−
された信号が選択され、プログラム・カウンタlにセッ
トされる。 このようにして、NOP挿入回路8〜0〜8−15、ク
ロックド・ゲート18等のハードウェア槽底を用いるこ
とにより、分岐マイクロ命令で分岐条件が成立した場合
には、次のクロック・サイクルのマイクロ命令がハート
;ウェアによりNOPマイクロ命令となる。従って、分
岐マイクロ命令で分11皮粂件が成立した場合1次のマ
イクロ命令は実行されないため、マイクロROM3中に
NOPマイクロ命令を挿入する必要がない。 なお、本実施例では、NOP命令をオールrr I I
+とし7たが、オールrr 011あるいは別の特定パ
ターンにし、て実施することも可能である。従って、判
定回路の出力とマイクロROM3の出力の各ピッ1〜ご
との論理和をとってその結果をマイクロ命令とし、で出
力する他に、論理積等の論理演nを行って出力すること
もできる。 マイクロブロクラム中の分岐マイクロ命令の割合を30
%と仮定すると、従来の方式のうち、最適化を行わない
ティレイド・ジャンプ方式では、30%分のN OPマ
イクロ命令が余分に必要である。また最適化を行うティ
レイド・ジャンプ方式では、条件付/無条件付分岐マイ
クロ命令がぞオしそれ50%づつ現われ、最適化可能な
割合をそれぞれ0%、60%であるとすれは、次式で示
す数たけ余分にNOPマイクロ命令が必要である。 30%X (0,5X(1,00;(1)+0.5X(
1,0−0,6月 =21 % ・・ ・・・・ (2
〕これに対して、本実施例では、NOPマイクロ命令を
挿入する必要が全くない。 このように、先廻り制御と多重制御を併用し7たいわゆ
るバイブライン制御では、2レベル以上でのバイブライ
ン動作が行われるが、本実施例では、このうちの2レベ
ルのバイブライン制御によるマイクロプロセッサの処理
について説明した。 一般に、マイクロブロクラム処理では、(a)命令の読
出し、(b)命令のデコード、(C)演算、データ移動
などの順序で実行される。バイブライン制御では、先ず
先廻り制御により、(a)、(b)、(c)を並行して
行うことによって、ハードウェアを効率よく利用して処
理速度を向上さぜる。さらに、多重制御により2レベル
の制御、すなわち1つ前のマイクロ命令の演算データ移
動を行っている間に次のマイクロ命令の読出しを行う。 すなわち、上記(a)〜(C)を1つ前のマイクロ命令
の処理順序とし、(a)’〜(C)′を次のマイクロ命
令の処理順序どすると2レベルの制御では、(a)()
。 (L+、cHa)’ 、の順序で処J″j!を行う。こ
れに対して、3レベルのバイブライン制御では、さらに
次のマイクロ命令の処理順序を(ij ) ”へ(c)
”とすると、(aH)()、(b)(a)()、(c)
(b)(a)、の順序で処理が行われることになる。本
発明は、2レベルのバイブライン制御は勿論のこと。 3レベル以上のバイブライン+V+J御り二も3口用す
ることができる。3レベルのバイブライン制御では、1
つのマイクロ命令の演算と紋riL、で、次のマイク0
命令のテコートとその次のマイクロ命令のに売出し、が
なさ、I−する。現在読出さJ(たマイクロ命令が分(
咬マイクロ命令のときには、引之続・(2つのマイクロ
命令が実行されないように、分岐命令の次のマイクロ命
令の出力とその次のマイクロ命令の出力に対して、N○
■)挿入回路8−0〜8−15によりハードウェア的に
N OPマイクロ命令を挿入すれはよい。勿論、4レベ
ル以上のバイブライン制御においても、全く同じように
し7て、分岐命令の次の出力から3つ後の出力までNO
Pマイクロ命令を挿入すれはよいことになる。 (発明の効果〕 以上説明したように、本発明によれは、バイブライン制
御のマイクロプログラムに対して、N○l〕マイクロ命
令を挿入する必要かないので、牛、1゛に果精度に制約
があるマイクロプロセッサで、かつ分岐マイクロ命令を
多数含むような六〇−tカ装置4制御用のマイクロプロ
セッサに対して極めて効果かある。 4、図面の簡単な説明 第1図は本発明の一実施例を示すマイクロプログラム制
御部と演算部のブロック構成図、第2図は本発明に用い
Iられるマイク0命令のフォーマット図、第3図は本発
明における2レベルのバイブライン制御のマイクロ命令
の1す」作順序を示す図、第4図は第1図の動作タイミ
ングチャー1−1第5図、第6図はそれそAし従来の2
レベルのバイブライン制御のマイクロプロゲラ11の動
作タイムチャー1−およびティレイト・シャンブ力式の
マイクロ命令の動作順序を示す図である。 1:ブログラlトカウンタ、3:マイクロRON1.4
:インクリメンタ、6:遅延回部、7.1■=マルヂブ
レクサ、8−0〜B−15:NOP揮六回路、18,3
1:クロックド・ゲート、10 : ORケート、17
二ΔN I)ゲート、19:インバータ、23二マイク
ロ命令レジスタ :l 71 :テコーダ、25:演算
器、16:電池。
Claims (1)
- 【特許請求の範囲】 (+)マ・ryロブログラムを格納するメモリと、該メ
モリの71−レスを示すプログラム・カウンタとを備え
たバ・rブライン制御によるマイクロプログつノ、制御
装置において、」二記メモリの出力が分岐マイクロ命令
で、かつ分岐条件が成立している(無条件分11晴を含
む)か否かを判定する手段と、該判定′r8段の庁定出
力により上記メモリの出力をN○P (N O(T)
pfl!raLion)マイクロ命令に変換する手段と
を有し1、上記判定手段から14″定出力か得られた場
合には、上記プログラム・カウンタに−1−記メモリの
出力の一部をロー+−り、 、否定出力が得ら4した場
合には、上記プログラム・カウンタに現在値をプラスI
した値をロー1−することをvi徴。 どするマイクロプログラム制御方式。 (2fη記N OPマイクロ金貨変換手段は、クロツク
に同期し、で、前記判定手段の出力と前記メモリの出力
の各ピッIへごとの論理/i!、算を行い、その結果を
マイクロ命令として出力することを特徴とする特許請求
の範囲第1項記載のマイクロプログラム制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3979584A JPS60183634A (ja) | 1984-03-02 | 1984-03-02 | マイクロプログラム制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3979584A JPS60183634A (ja) | 1984-03-02 | 1984-03-02 | マイクロプログラム制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS60183634A true JPS60183634A (ja) | 1985-09-19 |
Family
ID=12562884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3979584A Pending JPS60183634A (ja) | 1984-03-02 | 1984-03-02 | マイクロプログラム制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60183634A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6285338A (ja) * | 1985-10-04 | 1987-04-18 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | パイプライン式命令実行システム |
JPH0334025A (ja) * | 1989-06-30 | 1991-02-14 | Mitsubishi Electric Corp | 命令処理方式 |
CN102735375A (zh) * | 2011-04-14 | 2012-10-17 | 精工爱普生株式会社 | 传感器装置、力检测装置以及机器人 |
-
1984
- 1984-03-02 JP JP3979584A patent/JPS60183634A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6285338A (ja) * | 1985-10-04 | 1987-04-18 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | パイプライン式命令実行システム |
JPH0318210B2 (ja) * | 1985-10-04 | 1991-03-12 | Intaanashonaru Bijinesu Mashiinzu Corp | |
JPH0334025A (ja) * | 1989-06-30 | 1991-02-14 | Mitsubishi Electric Corp | 命令処理方式 |
CN102735375A (zh) * | 2011-04-14 | 2012-10-17 | 精工爱普生株式会社 | 传感器装置、力检测装置以及机器人 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5511173A (en) | Programmable logic array and data processing unit using the same | |
US5511207A (en) | Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction | |
US4403284A (en) | Microprocessor which detects leading 1 bit of instruction to obtain microcode entry point address | |
US4740893A (en) | Method for reducing the time for switching between programs | |
EP0476722B1 (en) | Data processing system | |
US8413086B2 (en) | Methods and apparatus for adapting pipeline stage latency based on instruction type | |
US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
US5497468A (en) | Data processor that utilizes full data width when processing a string operation | |
US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
US5412785A (en) | Microprogrammed data processor which includes a microsequencer in which a next microaddress output of a microROM is connected to the or-plane of an entry PLA | |
US4773002A (en) | Microprogram controller in which instruction following conditional branch instruction is selectively converted to a NOP instruction | |
EP0034634B1 (en) | Microcomputer arranged for direct memory access | |
US5848289A (en) | Extensible central processing unit | |
US4763246A (en) | Microprogram control | |
JPS6379134A (ja) | 補助記憶装置を有するマイクロプロセッサ装置 | |
US5590359A (en) | Method and apparatus for generating a status word in a pipelined processor | |
US4791551A (en) | Microprogrammable devices using transparent latch | |
US5247624A (en) | Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out | |
US5301338A (en) | System including central processing unit | |
JPS60183634A (ja) | マイクロプログラム制御方式 | |
EP0226991B1 (en) | Data-processing device | |
US6044460A (en) | System and method for PC-relative address generation in a microprocessor with a pipeline architecture | |
JPS5911945B2 (ja) | 計算装置の操作方法 | |
US5572479A (en) | Semiconductor integrated circuit having a synchronous type memory | |
EP0052828B1 (en) | Microprocessor system |