JPH03282927A - マイクロプログラム制御方法およびその制御装置 - Google Patents
マイクロプログラム制御方法およびその制御装置Info
- Publication number
- JPH03282927A JPH03282927A JP8520090A JP8520090A JPH03282927A JP H03282927 A JPH03282927 A JP H03282927A JP 8520090 A JP8520090 A JP 8520090A JP 8520090 A JP8520090 A JP 8520090A JP H03282927 A JPH03282927 A JP H03282927A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- area
- bits
- address
- instruction
- 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
【発明の詳細な説明】
〔目次〕
概要
産業上の利用分野
従来の技術
発明が解決しようとする課題
課題を解決するための手段
作用
実施例
発明の効果
〔概要〕
マイクロプログラム制御方法、特にマイクロプロセッサ
等のマイクロプログラムをシーケンシャルに制御する方
法およびその制御装置に関し、簡単な構成で且つ命令実
行速度を低下させることなく、分岐先アドレスのプログ
ラム領域を減少させることができるマイクロプログラム
制御方法を提供することを目的とし、 複数のマイクロ命令から構成される小領域を複数個含む
マイクロプログラムを制御する方法であって、前記マイ
クロ命令は、分岐命令を格納する領域と、ある小領域内
でどのマイクロ命令に分岐するかを指示する分岐先アド
レスの下位nビットを格納する領域と、m −nビット
を格納する領域と、を含み、前記m−nビット格納領域
は、被制御部の制御命令のうちのm−nビット、あるい
は、どの小領域に分岐するかを指示する分岐先アドレス
の上位m−nビット、のいずれか一方を格納しており、
マイクロ命令の分岐命令を解析して、分岐先アドレスの
下位nビットにより、同一小領域内で指示されたマイク
ロ命令に短分岐させ、あるいは、マイクロ命令の分岐命
令を解析して、分岐先アドレスの上位m−nビット及び
下位nビットにより、指示された小領域内の指示された
マイクロ命令に長分岐させるように構成する。
等のマイクロプログラムをシーケンシャルに制御する方
法およびその制御装置に関し、簡単な構成で且つ命令実
行速度を低下させることなく、分岐先アドレスのプログ
ラム領域を減少させることができるマイクロプログラム
制御方法を提供することを目的とし、 複数のマイクロ命令から構成される小領域を複数個含む
マイクロプログラムを制御する方法であって、前記マイ
クロ命令は、分岐命令を格納する領域と、ある小領域内
でどのマイクロ命令に分岐するかを指示する分岐先アド
レスの下位nビットを格納する領域と、m −nビット
を格納する領域と、を含み、前記m−nビット格納領域
は、被制御部の制御命令のうちのm−nビット、あるい
は、どの小領域に分岐するかを指示する分岐先アドレス
の上位m−nビット、のいずれか一方を格納しており、
マイクロ命令の分岐命令を解析して、分岐先アドレスの
下位nビットにより、同一小領域内で指示されたマイク
ロ命令に短分岐させ、あるいは、マイクロ命令の分岐命
令を解析して、分岐先アドレスの上位m−nビット及び
下位nビットにより、指示された小領域内の指示された
マイクロ命令に長分岐させるように構成する。
本発明は、マイクロプログラム制御方法、特にマイクロ
プロセッサ等のマイクロプログラムをシーケンシャルに
制御する方法およびその制御装置に関する。
プロセッサ等のマイクロプログラムをシーケンシャルに
制御する方法およびその制御装置に関する。
現在、複雑な機能を有するマイクロプロセッサにおいて
は、その高機能化に伴って内部のマイクロプログラムも
複雑になっており、このため、マイクロプログラムのプ
ログラム領域が膨大になっている。
は、その高機能化に伴って内部のマイクロプログラムも
複雑になっており、このため、マイクロプログラムのプ
ログラム領域が膨大になっている。
ここで、マイクロプログラムが分岐を含む場合について
考えると、一般にマイクロプログラムにおいて、分岐先
アドレスは、マイクロ命令のうちの特定のプログラム領
域に書き込まれる。そして、プログラムの語数が増加す
ると、分岐先アドレスを示すのに必要なビット数が増加
するので、分岐先アドレスのためのプログラムに領域が
さらに増加する。例えば、マイクロプログラムのアドレ
ス空間が21′1語である場合には、分岐先アドレスの
ビット数は、mビットであり、マイクロプログラムのア
ドレス空間の増加により、分岐先アドレスのビット数か
増加することが理解されるであろう。
考えると、一般にマイクロプログラムにおいて、分岐先
アドレスは、マイクロ命令のうちの特定のプログラム領
域に書き込まれる。そして、プログラムの語数が増加す
ると、分岐先アドレスを示すのに必要なビット数が増加
するので、分岐先アドレスのためのプログラムに領域が
さらに増加する。例えば、マイクロプログラムのアドレ
ス空間が21′1語である場合には、分岐先アドレスの
ビット数は、mビットであり、マイクロプログラムのア
ドレス空間の増加により、分岐先アドレスのビット数か
増加することが理解されるであろう。
そこで、効率の良い方法を用いて、分岐先アドレスのプ
ログラム領域を減少させることが望まれている。
ログラム領域を減少させることが望まれている。
従来、プログラム領域中の分岐先アドレスのプログラム
領域を減少させるために、次のような第1の方法が提案
されている。すなわち、全てのプログラム領域をいくつ
かの小領域に分割し、分岐先アドレスの上位ビット及び
下位ビットを別個に指定し、上位ビットにより、分岐先
がどの小領域に属するかを示し、下位ビットにより、分
岐先がその小領域のどの部分に属するかを示すようにな
っている。このような方法によれば、分岐先アドレスの
ためのプログラム領域が減少させられる。
領域を減少させるために、次のような第1の方法が提案
されている。すなわち、全てのプログラム領域をいくつ
かの小領域に分割し、分岐先アドレスの上位ビット及び
下位ビットを別個に指定し、上位ビットにより、分岐先
がどの小領域に属するかを示し、下位ビットにより、分
岐先がその小領域のどの部分に属するかを示すようにな
っている。このような方法によれば、分岐先アドレスの
ためのプログラム領域が減少させられる。
しかし、このような方法は、分岐アドレスの指定を複数
回行う必要があるため、命令の実行速度が低下してしま
う。
回行う必要があるため、命令の実行速度が低下してしま
う。
また、分岐先アドレスのプログラム領域を減少させるた
めに、次のような第2の方法が提案されている。すなわ
ち、分岐命令として、長分岐命令(他の小領域への分岐
)及び短分岐命令(同−小領域内での分岐)の2種類の
形式を設定し、長分岐命令の分岐先アドレスは、絶対ア
ドレスではなく、絶対アドレスに対応するコードにより
設定されており、長分岐命令の実行時には、該コードを
デコードして分岐先アドレスを生成している。なお、こ
のような方法の例としては、特開昭53−28351号
公報を参照されたい(ただし、この公報においては長短
の両分岐命令の分岐先アドレスをコード化している)。
めに、次のような第2の方法が提案されている。すなわ
ち、分岐命令として、長分岐命令(他の小領域への分岐
)及び短分岐命令(同−小領域内での分岐)の2種類の
形式を設定し、長分岐命令の分岐先アドレスは、絶対ア
ドレスではなく、絶対アドレスに対応するコードにより
設定されており、長分岐命令の実行時には、該コードを
デコードして分岐先アドレスを生成している。なお、こ
のような方法の例としては、特開昭53−28351号
公報を参照されたい(ただし、この公報においては長短
の両分岐命令の分岐先アドレスをコード化している)。
そして、このような方法においては、分岐先アドレスの
絶対アドレスをコード化してビット数を減少しているの
で、分岐先アドレスに必要なプログラム領域が減少させ
られる。また、1サイクルで分岐命令が実行されるので
、命令実行速度の低下が防止される。
絶対アドレスをコード化してビット数を減少しているの
で、分岐先アドレスに必要なプログラム領域が減少させ
られる。また、1サイクルで分岐命令が実行されるので
、命令実行速度の低下が防止される。
しかしながら、第1の方法においては分岐を行う場合に
、分岐先アドレスの指定を2回行わねばならず(上位ビ
ットの指定及び下位ビットの指定)、分岐命令の実行が
終了するまでに2サイクルかかってしまう。このため、
命令実行速度が低下するという問題が生じる。しかしな
がら、第2の方法においては分岐命令の種類により、プ
ログラム領域に格納される分岐先アドレスの意味が異な
るため(絶対アドレスであるかあるいはコードであるか
)、プログラムの作成に際し、相当の注意が要求される
。また、分岐先アドレスが絶対アドレスであるかあるい
はコードであるかを識別するための識別回路が必要にな
る。更に、分岐先アドレスの絶対アドレスをコード化す
るという手続、コードをデコードする回路、及び、読み
出されたコードに基づいて絶対アドレスを参照するテー
ブルが必要になる。また、長分岐においては、予めコー
ド化されているアドレスにのみ分岐が可能となるために
、プログラムの柔軟性を減少させる。
、分岐先アドレスの指定を2回行わねばならず(上位ビ
ットの指定及び下位ビットの指定)、分岐命令の実行が
終了するまでに2サイクルかかってしまう。このため、
命令実行速度が低下するという問題が生じる。しかしな
がら、第2の方法においては分岐命令の種類により、プ
ログラム領域に格納される分岐先アドレスの意味が異な
るため(絶対アドレスであるかあるいはコードであるか
)、プログラムの作成に際し、相当の注意が要求される
。また、分岐先アドレスが絶対アドレスであるかあるい
はコードであるかを識別するための識別回路が必要にな
る。更に、分岐先アドレスの絶対アドレスをコード化す
るという手続、コードをデコードする回路、及び、読み
出されたコードに基づいて絶対アドレスを参照するテー
ブルが必要になる。また、長分岐においては、予めコー
ド化されているアドレスにのみ分岐が可能となるために
、プログラムの柔軟性を減少させる。
以上のように、分岐先アドレスのプログラム領域を減少
させるために、第1の方法をとると、命令実行速度が低
下し、また、第2の方法をとると、複雑な構成になり、
プログラミングにおける柔軟性を損失してしまう。
させるために、第1の方法をとると、命令実行速度が低
下し、また、第2の方法をとると、複雑な構成になり、
プログラミングにおける柔軟性を損失してしまう。
本発明の目的は、簡単な構成で且つ命令実行速度を低下
させることなく、分岐先アドレスのプログラム領域を減
少させることができるマイクロプログラム制御方法を提
供することにある。
させることなく、分岐先アドレスのプログラム領域を減
少させることができるマイクロプログラム制御方法を提
供することにある。
請求項1記載の発明は、複数のマイクロ命令から構成さ
れる小領域を複数個含むマイクロプログラムを制御する
方法であって、前記マイクロ命令は、分岐命令を格納す
る領域と、ある小領域内でどのマイクロ命令に分岐する
かを指示する分岐先アドレスの下位nビットを格納する
領域と、m−nビットを格納する領域と、を含み、前記
m−nビット格納領域は、被制御部の制御命令のうちの
m−nビット、あるいは、どの小領域に分岐するかを指
示する分岐先アドレスの上位m−nビット、のいずれか
一方を格納しており、マイクロ命令の分岐命令を解析し
て、分岐先アドレスの下位nビットにより、同−小領域
内で指示されたマイクロ命令に短分岐させ、あるいは、
マイクロ命令の分岐命令を解析して、分岐先アドレスの
上位m−nビット及び下位nビットにより、指示された
小領域内の指示されたマイクロ命令に長分岐させること
を特徴とする。
れる小領域を複数個含むマイクロプログラムを制御する
方法であって、前記マイクロ命令は、分岐命令を格納す
る領域と、ある小領域内でどのマイクロ命令に分岐する
かを指示する分岐先アドレスの下位nビットを格納する
領域と、m−nビットを格納する領域と、を含み、前記
m−nビット格納領域は、被制御部の制御命令のうちの
m−nビット、あるいは、どの小領域に分岐するかを指
示する分岐先アドレスの上位m−nビット、のいずれか
一方を格納しており、マイクロ命令の分岐命令を解析し
て、分岐先アドレスの下位nビットにより、同−小領域
内で指示されたマイクロ命令に短分岐させ、あるいは、
マイクロ命令の分岐命令を解析して、分岐先アドレスの
上位m−nビット及び下位nビットにより、指示された
小領域内の指示されたマイクロ命令に長分岐させること
を特徴とする。
また、請求項2に記載の発明においては、請求項1記載
の方法によりマイクロプログラムを制御する装置であっ
て、マイクロ命令の分岐先アドレスの上位m−nビット
が書き込まれるアドレスレジスタと、マイクロ命令の分
岐先アドレスの下位nビットがロードされるプログラム
カウンタと、マイクロ命令の分岐命令を解析して前記ア
ドレスレジスタ及びプログラムカウンタを制御する分岐
命令解析手段と、を含むようにしてもよい。
の方法によりマイクロプログラムを制御する装置であっ
て、マイクロ命令の分岐先アドレスの上位m−nビット
が書き込まれるアドレスレジスタと、マイクロ命令の分
岐先アドレスの下位nビットがロードされるプログラム
カウンタと、マイクロ命令の分岐命令を解析して前記ア
ドレスレジスタ及びプログラムカウンタを制御する分岐
命令解析手段と、を含むようにしてもよい。
次に、第1図には、本発明の原理によるマイクロプログ
ラム制御方法の構成が示され、第2図には、マイクロプ
ログラムの構成が示されている。
ラム制御方法の構成が示され、第2図には、マイクロプ
ログラムの構成が示されている。
まず、箪2図において、マイクロプログラムは、複数の
(例えばP個の)小領域10−1〜10−Pを含み、各
小領域10は、複数の(例えばQ個の)マイクロ命令1
2−1〜12−Qから構成されている。
(例えばP個の)小領域10−1〜10−Pを含み、各
小領域10は、複数の(例えばQ個の)マイクロ命令1
2−1〜12−Qから構成されている。
ここで、第1小領域10−1の第1マイクロ命令12−
1を例としてとり上げて分岐について説明する。まず、
分岐が起こらない場合には、アドレスはインクリメント
され、第2マイクロ命令12−2に進む。一方、第1小
領域1o−1内の短分岐である場合には、分岐先アドレ
スの下位nビットで指示されたマイクロ命令、例えば第
Qマイクロ命令12−Qに進む。また、他の小領域への
長分岐である場合には、分岐先アドレスの上位m−nビ
ット及び下位nビットで指示された小領域のマイクロ命
令、例えば第3小領域1o−3の第1マイクロ命令12
−1に進む。
1を例としてとり上げて分岐について説明する。まず、
分岐が起こらない場合には、アドレスはインクリメント
され、第2マイクロ命令12−2に進む。一方、第1小
領域1o−1内の短分岐である場合には、分岐先アドレ
スの下位nビットで指示されたマイクロ命令、例えば第
Qマイクロ命令12−Qに進む。また、他の小領域への
長分岐である場合には、分岐先アドレスの上位m−nビ
ット及び下位nビットで指示された小領域のマイクロ命
令、例えば第3小領域1o−3の第1マイクロ命令12
−1に進む。
次に、策1図において、マイクロ命令12は、分岐命令
を格納する領域14と、ある小領域10内でどのマイク
ロ命令12に分岐するかを指示する分岐先アドレスの下
位nビットを格納する領域16と、被制御部18の制御
命令を格納する領域20と、を含む。ここで、領域20
は、主領域22と、m−nビットを格納する領域24と
、を備えており、主領域22は、被制御部18の制御命
令を格納する領域として常に使用される。一方、領域2
4は、通常の場合、被制御部18の制御命令のm−nビ
ットを格納する領域として使用されているが、長分岐の
場合には、どの小領域10に分岐するかを指示する分岐
先アドレスの上位m−nビットを格納する領域として使
用される。
を格納する領域14と、ある小領域10内でどのマイク
ロ命令12に分岐するかを指示する分岐先アドレスの下
位nビットを格納する領域16と、被制御部18の制御
命令を格納する領域20と、を含む。ここで、領域20
は、主領域22と、m−nビットを格納する領域24と
、を備えており、主領域22は、被制御部18の制御命
令を格納する領域として常に使用される。一方、領域2
4は、通常の場合、被制御部18の制御命令のm−nビ
ットを格納する領域として使用されているが、長分岐の
場合には、どの小領域10に分岐するかを指示する分岐
先アドレスの上位m−nビットを格納する領域として使
用される。
上記マイクロ命令12の分岐先アドレスの上位m−nビ
ットは、アドレスレジスタ26に書き込まれ、また、マ
イクロ命令12の分岐先アドレスの下位nビットは、プ
ログラムカウンタ28にロードされる。そして、分岐命
令解析手段30は、マイクロ命令12の分岐命令を解析
して、前記アドレスレジスタ26及びプログラムカウン
タ28を制御する。
ットは、アドレスレジスタ26に書き込まれ、また、マ
イクロ命令12の分岐先アドレスの下位nビットは、プ
ログラムカウンタ28にロードされる。そして、分岐命
令解析手段30は、マイクロ命令12の分岐命令を解析
して、前記アドレスレジスタ26及びプログラムカウン
タ28を制御する。
第1.2図を参照しながら、本発明の原理によるマイク
ロプログラム制御方法の作用を説明する。
ロプログラム制御方法の作用を説明する。
マイクロ命令12の分岐命令は、分岐命令解析手段30
に供給され、該解析手段3oは、分岐が起こるか否かを
判断する。
に供給され、該解析手段3oは、分岐が起こるか否かを
判断する。
まず、解析手段30で分岐が起こらないと判断された場
合には、プログラムカウンタ28は、アドレスをインク
リメントしてプログラムを進め、例えば、第2図におい
て、第1小領域1o−1の第1マイクロ命令12−1か
ら茶2マイクロ命令12−2に進める。なお、アドレス
レジスタ26の内容は、書き換えられない。また、領域
2゜(主領域22及び領域24を含む)の制御命令によ
り、被制御部18が制御される。
合には、プログラムカウンタ28は、アドレスをインク
リメントしてプログラムを進め、例えば、第2図におい
て、第1小領域1o−1の第1マイクロ命令12−1か
ら茶2マイクロ命令12−2に進める。なお、アドレス
レジスタ26の内容は、書き換えられない。また、領域
2゜(主領域22及び領域24を含む)の制御命令によ
り、被制御部18が制御される。
また、解析手段30で短分岐が起こると判断された場合
には、領域16の分岐先アドレスの下位nビットは、プ
ログラムカウンタ28にロードされ、該プログラムカウ
ンタ28は、アドレスを短分岐してプログラムを進める
。例えば、第2図において、第1小領域10−1の第1
マイクロ命令12−1から第Qマイクロ命令12−Qに
短分岐される。なお、アドレスレジスタ26の内容は、
書き換えられない。また、領域20(主領域22及び領
域24)の制御命令により、被制御部18が制御される
。
には、領域16の分岐先アドレスの下位nビットは、プ
ログラムカウンタ28にロードされ、該プログラムカウ
ンタ28は、アドレスを短分岐してプログラムを進める
。例えば、第2図において、第1小領域10−1の第1
マイクロ命令12−1から第Qマイクロ命令12−Qに
短分岐される。なお、アドレスレジスタ26の内容は、
書き換えられない。また、領域20(主領域22及び領
域24)の制御命令により、被制御部18が制御される
。
また、解析手段30で長分岐が起こると判断された場合
には、領域16の分岐先アドレスの下位nビットは、プ
ログラムカウンタ28にロードされ、且つ、領域24の
分岐先アドレスの上位m−nビットは、アドレスレジス
タ26に書き込まれ、プログラムカウンタ28及びアド
レスレジスタ26により、アドレスは長分岐され、プロ
グラムが進められる。例えば、第2図において、第1小
領域10−1の第1マイクロ命令12−1から第3小領
域10−3の第1マイクロ命令12−1に長分岐される
。なお、領域20において、領域24は、分岐先アドレ
スの上位m−nビットを格納するために使用されている
ので、主領域22の制御命令により、被制御部18が制
御される。
には、領域16の分岐先アドレスの下位nビットは、プ
ログラムカウンタ28にロードされ、且つ、領域24の
分岐先アドレスの上位m−nビットは、アドレスレジス
タ26に書き込まれ、プログラムカウンタ28及びアド
レスレジスタ26により、アドレスは長分岐され、プロ
グラムが進められる。例えば、第2図において、第1小
領域10−1の第1マイクロ命令12−1から第3小領
域10−3の第1マイクロ命令12−1に長分岐される
。なお、領域20において、領域24は、分岐先アドレ
スの上位m−nビットを格納するために使用されている
ので、主領域22の制御命令により、被制御部18が制
御される。
以上のようにすると、簡単な構成でプログラム領域を効
率良く使用でき、分岐先アドレスのプログラム領域を減
少させることができる。また、分岐命令が1サイクルで
実行されるので、命令実行速度の低下を生ずることがな
い。
率良く使用でき、分岐先アドレスのプログラム領域を減
少させることができる。また、分岐命令が1サイクルで
実行されるので、命令実行速度の低下を生ずることがな
い。
以下、図面に基づいて本発明の好適な実施例を説明する
。
。
第3図には、本発明の実施例によるマイクロプログラム
制御方法の構成が示され、第4図には、マイクロ命令の
構成が示されている。
制御方法の構成が示され、第4図には、マイクロ命令の
構成が示されている。
まず、第4図において、マイクロ命令12は、分岐命令
を格納する領域(JIN)14と、ある小領域10内で
どのマイクロ命令12に分岐するかを指示する分岐先ア
ドレスの下位nビットを格納する領域(JAD)16と
、被制御部18の制御命令を格納する領域20と、を含
む。ここで、領域20は、主領域22と、m−nビット
を格納する領域(CTL)24と、を備えており、主領
域22は、被制御部18の制御命令を格納する領域とし
て常に使用される。一方、領域24は、通常の場合、被
制御部18の制御命令のm−nビットを格納する領域と
して使用されるが、長分岐の場合には、どの小領域10
に分岐するかを指示する分岐先アドレスの上位m−nビ
ットを格納する領域として使用される。
を格納する領域(JIN)14と、ある小領域10内で
どのマイクロ命令12に分岐するかを指示する分岐先ア
ドレスの下位nビットを格納する領域(JAD)16と
、被制御部18の制御命令を格納する領域20と、を含
む。ここで、領域20は、主領域22と、m−nビット
を格納する領域(CTL)24と、を備えており、主領
域22は、被制御部18の制御命令を格納する領域とし
て常に使用される。一方、領域24は、通常の場合、被
制御部18の制御命令のm−nビットを格納する領域と
して使用されるが、長分岐の場合には、どの小領域10
に分岐するかを指示する分岐先アドレスの上位m−nビ
ットを格納する領域として使用される。
なお、本実施例では、マイクロアドレスは、8ビツトで
あり、このため、領域24.16は、それぞれ、3ビツ
ト、5ビツトである。また、マイクロプログラムのワー
ド数は、256ワードであり、このマイクロプログラム
は、32ワードごとの小領域に分割されている。また、
領域14の分岐命令は、分岐が起こらない場合(JNE
)、短分岐の場合(JST)、長分岐の場合(JLG)
のいずれかを有している。
あり、このため、領域24.16は、それぞれ、3ビツ
ト、5ビツトである。また、マイクロプログラムのワー
ド数は、256ワードであり、このマイクロプログラム
は、32ワードごとの小領域に分割されている。また、
領域14の分岐命令は、分岐が起こらない場合(JNE
)、短分岐の場合(JST)、長分岐の場合(JLG)
のいずれかを有している。
次に、第3図において、マイクロROM32は、マイク
ロプログラム34を有し、該マイクロプログラム34の
マイクロ命令12は、命令レジスタ36に供給される。
ロプログラム34を有し、該マイクロプログラム34の
マイクロ命令12は、命令レジスタ36に供給される。
命令レジスタ36内のマイクロ命令12のうち主領域2
2の制御命令は、被制御部18に供給される。命令レジ
スタ36内のマイクロ命令12のうち領域14の分岐命
令は、分岐命令解析手段としての分岐命令デコーダ3o
に供給され、該分岐命令デコーダ3oは、分岐命令を解
析して、アドレスレジスタ26及びプログラムカウンタ
28を制御する。また、アドレスレジスタ26、プログ
ラムカウンタ28には、それぞれ、命令レジスタ36内
のマイクロ命令12のうちfi域24.16の分岐先ア
ドレスの上位3ビツト、5ビツトが供給される。そして
、分岐命令デコーダ30からの制御信号により、アドレ
スレジスタ26、プログラムカウンタ28の分岐先アド
レスの上位3ビツト及び下位5ビツトは、8ビツトのマ
イクロアドレスとして、マイクロROM32内のマイク
ロプログラム34に供給される。
2の制御命令は、被制御部18に供給される。命令レジ
スタ36内のマイクロ命令12のうち領域14の分岐命
令は、分岐命令解析手段としての分岐命令デコーダ3o
に供給され、該分岐命令デコーダ3oは、分岐命令を解
析して、アドレスレジスタ26及びプログラムカウンタ
28を制御する。また、アドレスレジスタ26、プログ
ラムカウンタ28には、それぞれ、命令レジスタ36内
のマイクロ命令12のうちfi域24.16の分岐先ア
ドレスの上位3ビツト、5ビツトが供給される。そして
、分岐命令デコーダ30からの制御信号により、アドレ
スレジスタ26、プログラムカウンタ28の分岐先アド
レスの上位3ビツト及び下位5ビツトは、8ビツトのマ
イクロアドレスとして、マイクロROM32内のマイク
ロプログラム34に供給される。
なお、制御回路32は、長分岐命令の実行時に、被制御
部18に対して強制的にNOPを割り当て、これにより
、領域24の3ビツトが被制御部18に供給されるのを
防止する。
部18に対して強制的にNOPを割り当て、これにより
、領域24の3ビツトが被制御部18に供給されるのを
防止する。
次に、第3図に示されるマイクロプログラム制御方法の
作用を説明する。
作用を説明する。
まず、アドレスレジスタ26及びプログラムカウンタ2
8で示される8ビツトのマイクロアドレスは、“ooo
ooooo”であるとする。このマイクロアドレス
は、マイクロROM32のマイクロプログラム34に供
給され、マイクロアドレスにより指示されたマイクロ命
令12が命令レジスタ36に書き込まれる。そして、マ
イクロ命令12の領域14の分岐命令は、分岐命令デコ
ーダ30に供給され、該デコーダ30で解析される。
8で示される8ビツトのマイクロアドレスは、“ooo
ooooo”であるとする。このマイクロアドレス
は、マイクロROM32のマイクロプログラム34に供
給され、マイクロアドレスにより指示されたマイクロ命
令12が命令レジスタ36に書き込まれる。そして、マ
イクロ命令12の領域14の分岐命令は、分岐命令デコ
ーダ30に供給され、該デコーダ30で解析される。
分岐命令デコーダ30で分岐が起こらない(JNE)と
判断された場合には、デコーダ30は、アドレスレジス
タ26に対して書き込みを指示せず、プログラムカウン
タ28をインクリメントする。これにより、アドレスレ
ジスタ26及びプログラムカウンタ28で示される8ビ
ツトのマイクロアドレスは、“000 00001”に
なる。なお、領域20(主領域22及び領域24を含む
)の制御命令により、被制御部18が制御される。
判断された場合には、デコーダ30は、アドレスレジス
タ26に対して書き込みを指示せず、プログラムカウン
タ28をインクリメントする。これにより、アドレスレ
ジスタ26及びプログラムカウンタ28で示される8ビ
ツトのマイクロアドレスは、“000 00001”に
なる。なお、領域20(主領域22及び領域24を含む
)の制御命令により、被制御部18が制御される。
また、分岐命令デコーダ30で短分岐が起こる(JST
)と判断された場合には、デコーダ30は、アドレスレ
ジスタ26に対して書き込みを指示しないので、アドレ
スレジスタ26の分岐先アドレスの上位3ビツトは、保
たれたままである。
)と判断された場合には、デコーダ30は、アドレスレ
ジスタ26に対して書き込みを指示しないので、アドレ
スレジスタ26の分岐先アドレスの上位3ビツトは、保
たれたままである。
また、デコーダ30は、プログラムカウンタ28に分岐
先アドレスの下位5ビツトをロードする。
先アドレスの下位5ビツトをロードする。
例えば、分岐先アドレスの下位5ビツトが“10001
″であると、アドレスレジスタ26及びプログラムカウ
ンタ28で示される8ビツトのマイクロアドレスは、“
000 10001”になり、この”000 1000
1”のアドレスに短分岐される。なお、領域20(主領
域22及び領域24を含む)の制御命令により、被制御
部18が制御される。
″であると、アドレスレジスタ26及びプログラムカウ
ンタ28で示される8ビツトのマイクロアドレスは、“
000 10001”になり、この”000 1000
1”のアドレスに短分岐される。なお、領域20(主領
域22及び領域24を含む)の制御命令により、被制御
部18が制御される。
また、分岐命令デコーダ30で長分岐が起こる(JLG
)と判断された場合には、デコーダ30は、アドレスレ
ジスタ26に対して書き込みを指示し、これにより、ア
ドレスレジスタ26の内容は、マイクロ命令12の領域
24の分岐先アドレスの上位3ビツトに更新される。例
えば、分岐先アドレスの上位3ビツトが“111”であ
ると、アドレスレジスタ26には、“111”が書き込
まれる。また、デコーダ30は、プログラムカウンタ2
8に分岐先アドレスの下位5ビツトをロードする。例え
ば、分岐先アドレスの下位5ビツトが“10001”で
あると、プログラムカウンタ28には、“10001”
がロードされる。
)と判断された場合には、デコーダ30は、アドレスレ
ジスタ26に対して書き込みを指示し、これにより、ア
ドレスレジスタ26の内容は、マイクロ命令12の領域
24の分岐先アドレスの上位3ビツトに更新される。例
えば、分岐先アドレスの上位3ビツトが“111”であ
ると、アドレスレジスタ26には、“111”が書き込
まれる。また、デコーダ30は、プログラムカウンタ2
8に分岐先アドレスの下位5ビツトをロードする。例え
ば、分岐先アドレスの下位5ビツトが“10001”で
あると、プログラムカウンタ28には、“10001”
がロードされる。
このようにして、アドレスレジスタ26及びプログラム
カウンタ28で示される8ビツトのマイクロアドレスは
、“111 10001”になり、この111 100
01”のアドレスに長分岐される。なお、領域20の領
域22の制御命令により、被制御部18が制御される。
カウンタ28で示される8ビツトのマイクロアドレスは
、“111 10001”になり、この111 100
01”のアドレスに長分岐される。なお、領域20の領
域22の制御命令により、被制御部18が制御される。
また、制御回路32は、この長分岐命令の実行時には、
被制御部18に対して強制的にNOPを割り当て、これ
により、領域24の3ビツトが制御命令として被制御部
18に供給されて誤動作するのを防止する。
被制御部18に対して強制的にNOPを割り当て、これ
により、領域24の3ビツトが制御命令として被制御部
18に供給されて誤動作するのを防止する。
なお、上記の動作において、マイクロアドレスが“00
0 11111″から′001ooooo”に移行する
際には、ある小領域の最終アドレスから次の小領域の先
頭アドレスにプログラムが移動することになる。このよ
うな場合には、通常の方法ではインクリメント操作であ
るが、長分岐(JLG)が用いられる。
0 11111″から′001ooooo”に移行する
際には、ある小領域の最終アドレスから次の小領域の先
頭アドレスにプログラムが移動することになる。このよ
うな場合には、通常の方法ではインクリメント操作であ
るが、長分岐(JLG)が用いられる。
以上のようにして分岐命令が1サイクルで実行され、次
のアドレスが決定される。この動作を繰り返すことによ
り、マイクロプログラムが制御される。
のアドレスが決定される。この動作を繰り返すことによ
り、マイクロプログラムが制御される。
以上説明したように、本発明によれば、プログラム領域
を効率良く使用することができ、分岐先アドレスのプロ
グラム領域を減少させることができる。また、分岐命令
の実行が1サイクルでなされるので、命令実行速度が低
下することがない。
を効率良く使用することができ、分岐先アドレスのプロ
グラム領域を減少させることができる。また、分岐命令
の実行が1サイクルでなされるので、命令実行速度が低
下することがない。
また、マイクロ命令の分岐命令を解析して分岐を判断す
る構成なので、構成が簡単である。
る構成なので、構成が簡単である。
なお、分岐先アドレスの下位nビットがロードされるプ
ログラムカウンタを設置した場合に、このプログラムカ
ウンタのビット数はアドレスのビット数よりも少なくと
もよく、また、従来使用されたアドレスデコーダや分岐
アドレス参照テーブルが必要ない。この結果、制御方法
の小型化、高速化に寄与するところが大きい。
ログラムカウンタを設置した場合に、このプログラムカ
ウンタのビット数はアドレスのビット数よりも少なくと
もよく、また、従来使用されたアドレスデコーダや分岐
アドレス参照テーブルが必要ない。この結果、制御方法
の小型化、高速化に寄与するところが大きい。
また、従来のように分岐アドレスを予めコード化したり
、分岐アドレス参照テーブルを準備する必要がないので
、プログラムの柔軟性を減少させることがない。
、分岐アドレス参照テーブルを準備する必要がないので
、プログラムの柔軟性を減少させることがない。
第1図は、本発明の原理によるマイクロプログラム制御
方法の構成図、 第2図は、マイクロプログラムの構成図、第3図は、本
発明の実施例によるマイクロプログラム制御方法の構成
図、 第4図は、マイクロ命令の構成図である。 10・・・小領域 12・・・マイクロ命令 14・・・分岐命令を格納する領域 16・・・分岐先アドレスの下位nビットを格納する領
域 18・・・被制御部 20・・・被制御部の制御命令を格納する領域22・・
・主領域 24・・・m−nビットを格納する領域26・・・アド
レスレジスタ 28・・・プログラムカウンタ 30・・・分岐命令解析手段(分岐命令デコーダ)32
・・・マイクロROM 34・・・マイクロプログラム 36・・・命令レジスタ
方法の構成図、 第2図は、マイクロプログラムの構成図、第3図は、本
発明の実施例によるマイクロプログラム制御方法の構成
図、 第4図は、マイクロ命令の構成図である。 10・・・小領域 12・・・マイクロ命令 14・・・分岐命令を格納する領域 16・・・分岐先アドレスの下位nビットを格納する領
域 18・・・被制御部 20・・・被制御部の制御命令を格納する領域22・・
・主領域 24・・・m−nビットを格納する領域26・・・アド
レスレジスタ 28・・・プログラムカウンタ 30・・・分岐命令解析手段(分岐命令デコーダ)32
・・・マイクロROM 34・・・マイクロプログラム 36・・・命令レジスタ
Claims (1)
- 【特許請求の範囲】 1、複数のマイクロ命令(12−1〜 12−Q)から構成される小領域(10−1〜10−P
)を複数個含むマイクロプログラムを制御する方法であ
って、 前記マイクロ命令(12)は、分岐命令を格納する領域
(14)と、ある小領域(10)内でどのマイクロ命令
(12)に分岐するかを指示する分岐先アドレスの下位
nビットを格納する領域(16)と、m−nビットを格
納する領域(24)と、を含み、 前記m−nビット格納領域(24)は、被制御部(18
)の制御命令のうちのm−nビット、あるいは、どの小
領域(10)に分岐するかを指示する分岐先アドレスの
上位m−nビット、のいずれか一方を格納しており、 マイクロ命令(12)の分岐命令を解析して、分岐先ア
ドレスの下位nビットにより、同一小領域(10)内で
指示されたマイクロ命令(12)に短分岐させ、あるい
は、マイクロ命令(12)の分岐命令を解析して、分岐
先アドレスの上位m−nビット及び下位nビットにより
、指示された小領域(10)内の指示されたマイクロ命
令(12)に長分岐させることを特徴とするマイクロプ
ログラム制御方法。 2、請求項1記載の方法によりマイクロプログラムを制
御する装置であって、 マイクロ命令(12)の分岐先アドレスの上位m−nビ
ットが書き込まれるアドレスレジスタ(26)と、 マイクロ命令(12)の分岐先アドレスの 下位nビットがロードされるプログラムカウンタ(28
)と、 マイクロ命令(12)の分岐命令を解析して前記アドレ
スレジスタ(26)及びプログラムカウンタ(28)を
制御する分岐命令解析手段(30)と、を含むことを特
徴とするマイクロプログラム制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8520090A JPH03282927A (ja) | 1990-03-30 | 1990-03-30 | マイクロプログラム制御方法およびその制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8520090A JPH03282927A (ja) | 1990-03-30 | 1990-03-30 | マイクロプログラム制御方法およびその制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03282927A true JPH03282927A (ja) | 1991-12-13 |
Family
ID=13851984
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8520090A Pending JPH03282927A (ja) | 1990-03-30 | 1990-03-30 | マイクロプログラム制御方法およびその制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03282927A (ja) |
-
1990
- 1990-03-30 JP JP8520090A patent/JPH03282927A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US3781823A (en) | Computer control unit capable of dynamically reinterpreting instructions | |
| EP0354585A2 (en) | Instruction pipeline microprocessor | |
| US4685058A (en) | Two-stage pipelined execution unit and control stores | |
| US5519649A (en) | Micro-processor having rapid condition comparison function | |
| US5390306A (en) | Pipeline processing system and microprocessor using the system | |
| EP0164418B1 (en) | Microprogram control system | |
| EP0660229B1 (en) | Method and apparatus for modifying the contents of a register | |
| JPH03282927A (ja) | マイクロプログラム制御方法およびその制御装置 | |
| JPH0612253A (ja) | マイクロコンピュータ | |
| JPS6220032A (ja) | 情報処理装置 | |
| KR960029969A (ko) | 파이프라인 처리기능을 갖는 데이타프로세서 | |
| JPS63228332A (ja) | 命令実行制御方式 | |
| JPH03127171A (ja) | ベクトル処理装置 | |
| JPH02103628A (ja) | マイクロプログラム制御方式 | |
| JPH02162421A (ja) | 命令デコード方式 | |
| JPS6247745A (ja) | マイクロプログラム制御方式 | |
| JPS5952348A (ja) | マイクロプログラム制御装置 | |
| JPH02110631A (ja) | マイクロプログラム制御方法 | |
| JPH01319863A (ja) | ベクトルマスク制御方式 | |
| JPH04107633A (ja) | マイクロプログラム制御装置 | |
| JPS62259139A (ja) | マイクロプログラム制御装置 | |
| JPH0560130B2 (ja) | ||
| JPS6260034A (ja) | ストア−ドプログラム方式制御装置 | |
| JPH02103604A (ja) | プログラマブルコントローラ | |
| JPS6320631A (ja) | レジスタ選択方式 |