JPH0247724A - マイクロプログラムにおける条件分岐方法およびその装置 - Google Patents
マイクロプログラムにおける条件分岐方法およびその装置Info
- Publication number
- JPH0247724A JPH0247724A JP19815588A JP19815588A JPH0247724A JP H0247724 A JPH0247724 A JP H0247724A JP 19815588 A JP19815588 A JP 19815588A JP 19815588 A JP19815588 A JP 19815588A JP H0247724 A JPH0247724 A JP H0247724A
- Authority
- JP
- Japan
- Prior art keywords
- data
- microprogram
- address
- sequencer
- replaced
- 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
【発明の詳細な説明】
〈産業上の利用分野〉
この発明はマイクロプログラムにおける条件分岐方法お
よびその装置に関し、さらに詳細にいえば、条件分岐の
ためのマイクロプログラムを実行することなく条件分岐
を行なわせることができる新規なマイクロプログラムに
おける条件分岐方法およびその装置に関する。
よびその装置に関し、さらに詳細にいえば、条件分岐の
ためのマイクロプログラムを実行することなく条件分岐
を行なわせることができる新規なマイクロプログラムに
おける条件分岐方法およびその装置に関する。
〈従来の技術、および発明が解決しようとする課題〉
従来からマイクロプログラムをマイクロプログラムメモ
リから順次読出すことにより所望の一連の処理を行なわ
せるようにしたマイクロプログラムプロセッサが種々の
分野において広く使用されている。
リから順次読出すことにより所望の一連の処理を行なわ
せるようにしたマイクロプログラムプロセッサが種々の
分野において広く使用されている。
マイクロプログラムプロセッサの具体的な構成は、例え
ば第6図に示すように、マイクロプログラムにより所定
のデータが設定されるバスドライバ(21)と、バスド
ライバ(21)の内容を入力として所定のアドレスを出
力するシーケンサ(22)と、シーケンサ(22)から
出力されるアドレスに基づいて所定のマイクロプログラ
ムが読出されるマイクロプログラムメモリ(23)と、
マイクロプログラムに基づいて所定の演算を行なう演算
器(24)とを有している。そして、マイクロプログラ
ムに基づいてバスドライバ(21)からのデータ出力が
制御されるようにしている。
ば第6図に示すように、マイクロプログラムにより所定
のデータが設定されるバスドライバ(21)と、バスド
ライバ(21)の内容を入力として所定のアドレスを出
力するシーケンサ(22)と、シーケンサ(22)から
出力されるアドレスに基づいて所定のマイクロプログラ
ムが読出されるマイクロプログラムメモリ(23)と、
マイクロプログラムに基づいて所定の演算を行なう演算
器(24)とを有している。そして、マイクロプログラ
ムに基づいてバスドライバ(21)からのデータ出力が
制御されるようにしている。
したがって、例えば、数値aとbとの大小比較を行なっ
て比較結果に基づいて互に異なる処理A。
て比較結果に基づいて互に異なる処理A。
Bを行なわせる場合には、第7図に示すように、バスド
ライバ(21)の内容に基づいてシーケンサ(22)か
らa−bの減算動作を行なわせるマイクロプログラムに
対応するアドレスを出力するので、マイクロプログラム
メモリ(23)から減算プログラムが読出され、演算器
(24)によりa−bの演算が行なわれ(ステップ■参
照)、次にマイクロプログラムにより設定されるバスド
ライバ(21)の内容に基づいてシーケンサ(22)か
ら演算結果が負であるか否かを判別するマイクロプログ
ラムに対応するアドレスを出力するので、マイクロプロ
グラムメモリ(23)から大小比較プログラムが読出さ
れ、演算器(24)によりa−bの結果が負であるか否
かが判別される(ステップ■参照)。そして、a−bの
演算結果が負であれば、演算結果をバスドライバ(21
)を通してシーケンサ(22)に供給することにより、
演算結果が負の場合に対応する処理プログラムAに対応
するアドレスを出力することができる。この結果、マイ
クロプログラムメモリ(23)から処理プログラムAが
読出され、Aの処理を行なうことができる。逆に、a−
bの演算結果が0または正であれば、演算結果をバスド
ライバ(21)を通してシーケンサ(22)に供給する
ことにより、演算結果が0または正の場合に対応する処
理プログラムBに対応するアドレスを出力することがで
きる。この結果、マイクロプログラムメモリ(23)か
ら処理プログラムBが読出され、Bの処理を行なうこと
ができる。
ライバ(21)の内容に基づいてシーケンサ(22)か
らa−bの減算動作を行なわせるマイクロプログラムに
対応するアドレスを出力するので、マイクロプログラム
メモリ(23)から減算プログラムが読出され、演算器
(24)によりa−bの演算が行なわれ(ステップ■参
照)、次にマイクロプログラムにより設定されるバスド
ライバ(21)の内容に基づいてシーケンサ(22)か
ら演算結果が負であるか否かを判別するマイクロプログ
ラムに対応するアドレスを出力するので、マイクロプロ
グラムメモリ(23)から大小比較プログラムが読出さ
れ、演算器(24)によりa−bの結果が負であるか否
かが判別される(ステップ■参照)。そして、a−bの
演算結果が負であれば、演算結果をバスドライバ(21
)を通してシーケンサ(22)に供給することにより、
演算結果が負の場合に対応する処理プログラムAに対応
するアドレスを出力することができる。この結果、マイ
クロプログラムメモリ(23)から処理プログラムAが
読出され、Aの処理を行なうことができる。逆に、a−
bの演算結果が0または正であれば、演算結果をバスド
ライバ(21)を通してシーケンサ(22)に供給する
ことにより、演算結果が0または正の場合に対応する処
理プログラムBに対応するアドレスを出力することがで
きる。この結果、マイクロプログラムメモリ(23)か
ら処理プログラムBが読出され、Bの処理を行なうこと
ができる。
以上はaとbとの大小関係に基づいて互に異なる処理プ
ログラムA、Bを選択する場合について説明したが、こ
のような場合に限定されるものではなく、種々の演算の
結果等に基づいて互に異なる処理プログラムを選択する
場合にも同様に適用される。
ログラムA、Bを選択する場合について説明したが、こ
のような場合に限定されるものではなく、種々の演算の
結果等に基づいて互に異なる処理プログラムを選択する
場合にも同様に適用される。
しかし、上記の構成のマイクロプログラムプロセッサに
おいては、演算結果に基づく条件分岐が必要になる毎に
、所定の演算のためのマイクロプログラムの読出しおよ
び実行のみならず、演算結果に基づく判別のためのマイ
クロプログラムの読出しおよび実行が必要になるのであ
り、しかも判別のためのマイクロプログラムは少なくと
も1ステツプが必要になるのであるから、全体としての
処理所要時間が長くなってしまうという問題がある。特
に条件分岐の数が多い一連のマイクロプログラムを実行
する場合には、上記の問題が顕著になってしまうのであ
る。
おいては、演算結果に基づく条件分岐が必要になる毎に
、所定の演算のためのマイクロプログラムの読出しおよ
び実行のみならず、演算結果に基づく判別のためのマイ
クロプログラムの読出しおよび実行が必要になるのであ
り、しかも判別のためのマイクロプログラムは少なくと
も1ステツプが必要になるのであるから、全体としての
処理所要時間が長くなってしまうという問題がある。特
に条件分岐の数が多い一連のマイクロプログラムを実行
する場合には、上記の問題が顕著になってしまうのであ
る。
〈発明の目的〉
この発明は上記の問題点に鑑みてなされたものであり、
条件分岐を実行するために必要なマイクロプログラムの
ステップを減少させ、条件分岐所要時間を短縮すること
ができるマイクロプログラムにおける条件分岐方法およ
びその装置を提供することを目的としている。
条件分岐を実行するために必要なマイクロプログラムの
ステップを減少させ、条件分岐所要時間を短縮すること
ができるマイクロプログラムにおける条件分岐方法およ
びその装置を提供することを目的としている。
く課題を解決するための手段〉
上記の目的を達成するための、この発明のマイクロプロ
グラムにおける条件分岐方法は、所定の動作を行なった
場合にシーケンサに与えられるデータの一部を、所定の
動作を行なった時点における状態データで置換し、一部
が置換されたデータに基づいてシーケンサからアドレス
を出力し、アドレスに基づいてマイクロプログラムメモ
リからマイクロプログラムを読出す方法である。
グラムにおける条件分岐方法は、所定の動作を行なった
場合にシーケンサに与えられるデータの一部を、所定の
動作を行なった時点における状態データで置換し、一部
が置換されたデータに基づいてシーケンサからアドレス
を出力し、アドレスに基づいてマイクロプログラムメモ
リからマイクロプログラムを読出す方法である。
但し、置換されるデータがマイクロプログラムにより設
定されるデータであるとともに、状態データが周辺機器
の状態を示す少なくとも1ビットのデータであってもよ
く、または、置換されるデータがマイクロプログラムに
より設定されるデータであるとともに、状態データが演
算結果を示す少なくとも1ビットのデータであってもよ
い。
定されるデータであるとともに、状態データが周辺機器
の状態を示す少なくとも1ビットのデータであってもよ
く、または、置換されるデータがマイクロプログラムに
より設定されるデータであるとともに、状態データが演
算結果を示す少なくとも1ビットのデータであってもよ
い。
上記の目的を達成するための、この発明のマイクロプロ
グラムにおける条件分岐装置は、マイクロプログラムメ
モリから読出されたデータおよび処理手段から出力され
るデータを入力として読出しデータの一部が置換された
データを生成し、シーケンサに供給するデータ合成手段
を有している。
グラムにおける条件分岐装置は、マイクロプログラムメ
モリから読出されたデータおよび処理手段から出力され
るデータを入力として読出しデータの一部が置換された
データを生成し、シーケンサに供給するデータ合成手段
を有している。
但し、処理手段としては、データ処理手段、周辺機器制
御手段の少なくとも一方を含んでいればよい。
御手段の少なくとも一方を含んでいればよい。
く作用〉
以上のマイクロプログラムにおける条件分岐方法であれ
ば、供給されたデータに基づいてシーケンサからアドレ
スを出力し、アドレスに基づいてマイクロプログラムメ
モリからマイクロプログラムを読出して所定の動作を行
なわせる場合において、条件分岐が必要であれば、所定
の動作を行なった場合にシーケンサに与えられるデータ
の一部を、所定の動作を行なった時点における状態デー
タで置換し、一部が置換されたデータに基づいてシーケ
ンサからアドレスを出力し、アドレスに基づいてマイク
ロプログラムメモリからマイクロプログラムを読出すよ
うにしているので、所定の動作を行なった後、直ちに、
条件分岐のための判別処理が行なわれた場合に選択され
る、処理のためのマイクロプログラムを得てその後の処
理を行なわせることができ、条件分岐のための所要時間
を著しく短縮することができる。
ば、供給されたデータに基づいてシーケンサからアドレ
スを出力し、アドレスに基づいてマイクロプログラムメ
モリからマイクロプログラムを読出して所定の動作を行
なわせる場合において、条件分岐が必要であれば、所定
の動作を行なった場合にシーケンサに与えられるデータ
の一部を、所定の動作を行なった時点における状態デー
タで置換し、一部が置換されたデータに基づいてシーケ
ンサからアドレスを出力し、アドレスに基づいてマイク
ロプログラムメモリからマイクロプログラムを読出すよ
うにしているので、所定の動作を行なった後、直ちに、
条件分岐のための判別処理が行なわれた場合に選択され
る、処理のためのマイクロプログラムを得てその後の処
理を行なわせることができ、条件分岐のための所要時間
を著しく短縮することができる。
そして、置換されるデータがマイクロプログラムにより
設定されるデータであるとともに、状態データが周辺機
器の状態を示す少なくとも1ビットのデータである場合
には、入出力機器等の状態に基づく条件分岐を著しく短
い所要時間で実行させることができる。
設定されるデータであるとともに、状態データが周辺機
器の状態を示す少なくとも1ビットのデータである場合
には、入出力機器等の状態に基づく条件分岐を著しく短
い所要時間で実行させることができる。
また、置換されるデータがマイクロプログラムにより設
定されるデータであるとともに、状態データが演算結果
を示す少なくとも1ビットのデータである場合には、演
算結果に基づく条件分岐を著しく短い所要時間で実行さ
せることができる。
定されるデータであるとともに、状態データが演算結果
を示す少なくとも1ビットのデータである場合には、演
算結果に基づく条件分岐を著しく短い所要時間で実行さ
せることができる。
以上の構成のマイクロプログラムにおける条件分岐装置
であれば、条件分岐が含まれていないマイクロプログラ
ム処理を行なう場合には、データ保持手段から供給され
たデータに基づいてシーケンサからアドレスを出力し、
アドレスに基づいてマイクロプログラムメモリからマイ
クロプログラムを読出して処理手段により必要な処理を
行なわせることができるのである。そして、条件分岐が
含まれているマイクロプログラム処理を行なう場合には
、マイクロプログラムメモリから読出されたデータおよ
び処理手段から出力されるデータをデータ合成手段に供
給することにより、マイクロプログラムメモリからの読
出しデータの一部が置換されたデータを生成し、データ
保持手段から供給されるデータに代えて上記置換された
データをシーケンサに供給するだけでよく、置換された
データに基づいてシーケンサが、条件に基づいて定まる
処理のためのマイクロプログラムに対応するアドレスを
出力するので、条件分岐のために必要とされていた判別
処理を行なう必要がなくなり、所定の処理が行なわれた
後、直ちに該当する処理のためのマイクロプログラムを
読出して実行することができ、この結果、条件分岐のた
めに必要な所要時間を著しく短縮することができる。
であれば、条件分岐が含まれていないマイクロプログラ
ム処理を行なう場合には、データ保持手段から供給され
たデータに基づいてシーケンサからアドレスを出力し、
アドレスに基づいてマイクロプログラムメモリからマイ
クロプログラムを読出して処理手段により必要な処理を
行なわせることができるのである。そして、条件分岐が
含まれているマイクロプログラム処理を行なう場合には
、マイクロプログラムメモリから読出されたデータおよ
び処理手段から出力されるデータをデータ合成手段に供
給することにより、マイクロプログラムメモリからの読
出しデータの一部が置換されたデータを生成し、データ
保持手段から供給されるデータに代えて上記置換された
データをシーケンサに供給するだけでよく、置換された
データに基づいてシーケンサが、条件に基づいて定まる
処理のためのマイクロプログラムに対応するアドレスを
出力するので、条件分岐のために必要とされていた判別
処理を行なう必要がなくなり、所定の処理が行なわれた
後、直ちに該当する処理のためのマイクロプログラムを
読出して実行することができ、この結果、条件分岐のた
めに必要な所要時間を著しく短縮することができる。
そして、処理手段がデータ処理手段、周辺機器制御手段
の少なくとも一方を含んでいる場合には、含まれている
手段による処理に基づく条件分岐を著しく短時間で行な
うことができる。
の少なくとも一方を含んでいる場合には、含まれている
手段による処理に基づく条件分岐を著しく短時間で行な
うことができる。
〈実施例〉
以下、実施例を示す添付図面によって詳細に説明する。
第1図はこの発明の条件分岐装置を組込んだマイクロプ
ロセッサの一実施例を示すブロック図であり、選択的に
動作させられるバスドライバ(1) (2)と、バスド
ライバ(1)(21から供給されるデータに基づいて所
定のアドレスを出力するシーケンサ(3)と、シーケン
サ(3)から出力されるアドレスに基づいて所定のマイ
クロプログラムが読出されるマイクロプログラムメモリ
(4)と、マイクロプログラムメモリ(4)から読出さ
れたマイクロプログラムに基づいて所定の演算を行なう
演算器(5)とを有している。
ロセッサの一実施例を示すブロック図であり、選択的に
動作させられるバスドライバ(1) (2)と、バスド
ライバ(1)(21から供給されるデータに基づいて所
定のアドレスを出力するシーケンサ(3)と、シーケン
サ(3)から出力されるアドレスに基づいて所定のマイ
クロプログラムが読出されるマイクロプログラムメモリ
(4)と、マイクロプログラムメモリ(4)から読出さ
れたマイクロプログラムに基づいて所定の演算を行なう
演算器(5)とを有している。
さらに詳細に説明すると、上記バスドライバ(1)(2
)はマイクロプログラムメモリ(4)から読出されるマ
イクロプログラムに基づいて動作が制御されるものであ
り、選択された一方のバスドライバからデータをシーケ
ンサ(3)に供給するようにしている。
)はマイクロプログラムメモリ(4)から読出されるマ
イクロプログラムに基づいて動作が制御されるものであ
り、選択された一方のバスドライバからデータをシーケ
ンサ(3)に供給するようにしている。
そして、バスドライバ(1)はマイクロプログラムによ
り指定されたデータを一時的に保持し、所定のタイミン
グで保持データを全てシーケンサ(3月こ供給する。逆
に、上記バスドライバ(2)は、マイクロプログラムに
より指定されたデータおよび演算器(5)から出力され
る演算結果データの一部を入力として前者のデータの一
部を後者のデータで置換し、置換されたデータを一時的
に保持し、所定のタイミングで保持データを全てシーケ
ンサ(3)に供給する。
り指定されたデータを一時的に保持し、所定のタイミン
グで保持データを全てシーケンサ(3月こ供給する。逆
に、上記バスドライバ(2)は、マイクロプログラムに
より指定されたデータおよび演算器(5)から出力され
る演算結果データの一部を入力として前者のデータの一
部を後者のデータで置換し、置換されたデータを一時的
に保持し、所定のタイミングで保持データを全てシーケ
ンサ(3)に供給する。
上記シーケンサ(3)は人力データに対応させて予め出
力すべきアドレスが設定されているものであり、上記マ
イクロプログラムメモリ(4)はアドレスが供給される
ことにより予め設定されているマイクロプログラムが読
出されるものであり、演算器(9は供給されるマイクロ
プログラムに基づいて定まる所定の演算を行なって演算
結果データを出力するものである。
力すべきアドレスが設定されているものであり、上記マ
イクロプログラムメモリ(4)はアドレスが供給される
ことにより予め設定されているマイクロプログラムが読
出されるものであり、演算器(9は供給されるマイクロ
プログラムに基づいて定まる所定の演算を行なって演算
結果データを出力するものである。
上記の構成のマイクロプログラムプロセッサの動作は次
のとおりである。
のとおりである。
条件分岐を含まない一連のマイクロプログラムを実行す
る場合には、第2図A中ステップ■で示すように、シー
ケンサ(3)から所定のアドレスが出力されるので、ス
テップ■においてマイクロプログラムメモリ(4)から
所定のマイクロプログラムが読出され、各部の動作が規
定される。即ち、条件分岐を行なわないのであるからバ
スドライバ(1)のみが開かれ、バスドライバ(2)が
閉じられ、演算器(5)はマイクロプログラムにより定
められた所定の演算を行なうべく動作が制御される。そ
して、ステップ■において、マイクロプログラムメモリ
(4)から読出されるマイクロプログラムにより、バス
ドライバ(1)を通してシーケンサ(3)に所定の制御
データが供給されるので、ステップ■においてシーケン
サ(3)から次のマイクロプログラムに対応するアドレ
スデータが出力され、その後、ステップ■以下の処理を
反復する。
る場合には、第2図A中ステップ■で示すように、シー
ケンサ(3)から所定のアドレスが出力されるので、ス
テップ■においてマイクロプログラムメモリ(4)から
所定のマイクロプログラムが読出され、各部の動作が規
定される。即ち、条件分岐を行なわないのであるからバ
スドライバ(1)のみが開かれ、バスドライバ(2)が
閉じられ、演算器(5)はマイクロプログラムにより定
められた所定の演算を行なうべく動作が制御される。そ
して、ステップ■において、マイクロプログラムメモリ
(4)から読出されるマイクロプログラムにより、バス
ドライバ(1)を通してシーケンサ(3)に所定の制御
データが供給されるので、ステップ■においてシーケン
サ(3)から次のマイクロプログラムに対応するアドレ
スデータが出力され、その後、ステップ■以下の処理を
反復する。
条件分岐を実行する場合には、第2図B中ステップ■で
示すように、シーケンサ(3)から所定のアドレスが出
力されるので、ステップ■においてマイクロプログラム
メモリ(4)から所定のマイクロプログラムが読出され
、各部の動作が規定される。
示すように、シーケンサ(3)から所定のアドレスが出
力されるので、ステップ■においてマイクロプログラム
メモリ(4)から所定のマイクロプログラムが読出され
、各部の動作が規定される。
即ち、条件分岐を行なうのであるからバスドライバ■の
みが開かれ、バスドライバ(1)が閉じられ、演算器(
5)はマイクロプログラムにより定められた条件判定の
ための所定の演算を行なうべく動作が制御される。そし
て、ステップ■において演算器(5)から演算結果の種
別を示す識別データが出力される。さらに、ステップ■
において、マイクロプログラムメモリ(4)から読出さ
れるマイクロプログラムによりバスドライバ(りに対し
て所定の制御データがバスドライバ(2)に供給される
とともに、演算器(5)から識別データがバスドライバ
■に供給されることにより、制御データの一部を識別デ
ータで置換した新たな制御データがバスドライバ(2)
において生成され、−時的に保持される。その後は、ス
テップ■においてバスドライバ(りから新たな制御デー
タがシーケンサ(3)に供給されるので、ステップ■に
おいてシーケンサ(3)から条件分岐先のマイクロプロ
グラムに対応するアドレスが出力され、ステップ■にお
いて条件分岐先の一連のマイクロプログラム動作が行な
われる。尚、条件分岐先の一連のマイクロプログラムに
ついては、条件分岐が存在していない部分は第2図Aに
基づく処理が、条件分岐がさらに存在している部分は第
2図Bに基づく処理がそれぞれ選択される。
みが開かれ、バスドライバ(1)が閉じられ、演算器(
5)はマイクロプログラムにより定められた条件判定の
ための所定の演算を行なうべく動作が制御される。そし
て、ステップ■において演算器(5)から演算結果の種
別を示す識別データが出力される。さらに、ステップ■
において、マイクロプログラムメモリ(4)から読出さ
れるマイクロプログラムによりバスドライバ(りに対し
て所定の制御データがバスドライバ(2)に供給される
とともに、演算器(5)から識別データがバスドライバ
■に供給されることにより、制御データの一部を識別デ
ータで置換した新たな制御データがバスドライバ(2)
において生成され、−時的に保持される。その後は、ス
テップ■においてバスドライバ(りから新たな制御デー
タがシーケンサ(3)に供給されるので、ステップ■に
おいてシーケンサ(3)から条件分岐先のマイクロプロ
グラムに対応するアドレスが出力され、ステップ■にお
いて条件分岐先の一連のマイクロプログラム動作が行な
われる。尚、条件分岐先の一連のマイクロプログラムに
ついては、条件分岐が存在していない部分は第2図Aに
基づく処理が、条件分岐がさらに存在している部分は第
2図Bに基づく処理がそれぞれ選択される。
以上の説明から明らかなように、ハードウェア的には単
にバスドライバ(2)を追加しただけであるが、実際に
条件分岐処理を行なわせる場合には、演算結果を判定す
るためのマイクロプログラムは全く不要となり、バスド
ライバ(2)で制御データの一部を置換して新たな制御
データを生成し、新たな制御データに基づくマイクロプ
ログラム処理を行なうだけでよいから、条件分岐処理に
必要な所要時間を著しく短縮することができる。
にバスドライバ(2)を追加しただけであるが、実際に
条件分岐処理を行なわせる場合には、演算結果を判定す
るためのマイクロプログラムは全く不要となり、バスド
ライバ(2)で制御データの一部を置換して新たな制御
データを生成し、新たな制御データに基づくマイクロプ
ログラム処理を行なうだけでよいから、条件分岐処理に
必要な所要時間を著しく短縮することができる。
具体的には、例えばa−bの演算結果が負である場合と
負でない場合とで互に異なる処理A、 Bを実行する
条件分岐について説明すると、シーケンサ(3)からa
−bの演算を行なうマイクロプログラムに対応するアド
レスが出力されるので、マイクロプログラムメモリ(4
)から読出されたマイクロプログラムに基づいて演算器
(5)においてa−bの演算を行ない、演算結果が負の
場合には1”の識別データを、負でない場合には“0″
の識別データを出力する。また、上記読出しマイクロプ
ログラムにより指定された制御データが16進数で“A
AAA”に設定されていれば、バスドライバ■で制御デ
ータの一部が置換される関係上、演算結果が負の場合に
は“AAAB” (第3図A参照)の制御データが、負
でない場合には“AAAA”(第3図B参照)の制御デ
ータがそれぞれ生成され、生成された何れかの制御デー
タに基づいてシーケンサ(3)からアドレスを出力し、
アドレスに基づいてマイクロプログラムメモリ(4)か
らマイクロプログラムを読出すこことにより、直ちに条
件に対応する処理を行なわせることができる。また、以
上の説明から明らかなように、判定動作を行なわせるた
めのマイクロプログラムが不要になるので、マイクロプ
ログラムメモリの容量を小さくすることができる。
負でない場合とで互に異なる処理A、 Bを実行する
条件分岐について説明すると、シーケンサ(3)からa
−bの演算を行なうマイクロプログラムに対応するアド
レスが出力されるので、マイクロプログラムメモリ(4
)から読出されたマイクロプログラムに基づいて演算器
(5)においてa−bの演算を行ない、演算結果が負の
場合には1”の識別データを、負でない場合には“0″
の識別データを出力する。また、上記読出しマイクロプ
ログラムにより指定された制御データが16進数で“A
AAA”に設定されていれば、バスドライバ■で制御デ
ータの一部が置換される関係上、演算結果が負の場合に
は“AAAB” (第3図A参照)の制御データが、負
でない場合には“AAAA”(第3図B参照)の制御デ
ータがそれぞれ生成され、生成された何れかの制御デー
タに基づいてシーケンサ(3)からアドレスを出力し、
アドレスに基づいてマイクロプログラムメモリ(4)か
らマイクロプログラムを読出すこことにより、直ちに条
件に対応する処理を行なわせることができる。また、以
上の説明から明らかなように、判定動作を行なわせるた
めのマイクロプログラムが不要になるので、マイクロプ
ログラムメモリの容量を小さくすることができる。
尚、以上には大小判別に基づく条件分岐についてのみ説
明したが、一致判定に基づく条件分岐にも同様に適用で
きるほか、オーバーフローに基づく条件分岐等にも同様
に適用することができる。
明したが、一致判定に基づく条件分岐にも同様に適用で
きるほか、オーバーフローに基づく条件分岐等にも同様
に適用することができる。
〈実施例2〉
第4図は演算結果のみならずフレームメモリの状態によ
っても条件分岐を行なわせるようにした実施例を示すブ
ロック図であり、上記実施例と異なる点は、フレームメ
モリ(図示せず)がビジーであるか否かを示すビジーフ
ラグ(FMBSY)およびグランド信号(GND)が演
算結果識別データ(YD 15)に加えてバスドライバ
(2)に供給し、制御データの下位3ビットをビジーフ
ラグ(FMBSY) 、演算結果識別データ(YDl、
5)およびグランド信号(GND)で置換するようにし
た点のみである。
っても条件分岐を行なわせるようにした実施例を示すブ
ロック図であり、上記実施例と異なる点は、フレームメ
モリ(図示せず)がビジーであるか否かを示すビジーフ
ラグ(FMBSY)およびグランド信号(GND)が演
算結果識別データ(YD 15)に加えてバスドライバ
(2)に供給し、制御データの下位3ビットをビジーフ
ラグ(FMBSY) 、演算結果識別データ(YDl、
5)およびグランド信号(GND)で置換するようにし
た点のみである。
この実施例において実行されるマイクロプログラムを例
えば次のとおり設定している場合に基づいて説明する。
えば次のとおり設定している場合に基づいて説明する。
LYMO2:EQU S
0 RPCT LYMO2& TOR
I& 5CPU & YACNT 、 INCD I RTN &N0P116 ;
V、TORAA、ADD、lNC2 & PRWT & XACNT & MULTI >−OAND NOT END DRAW END 2 RPCT LYMO2& TOI?I
W、TORAA、ADD、INcI& 5CPU
& PRWT & YACNT& MLI[
、T1 、 INcD <OAND NOT END3
RTN & N0PIIB ;
DRAW END4 CJP $ & C
0ND FMBSY & N0pHB; MI
EMORY WAIT 5 JPL LYMO2& 5ONRW、M
OVB、SOA、NRY& 5CPU & MU
LTI 6 CJP g & C0ND FMBSY
& N0P11G、MEMORY WAIT 7 JPL LYMO2& 5ONRW、M
OVE、SOA、NRY& 5CPU & MU
LTI 但し、RPCT LYMO2はシーケンサ(3)に予め
設定されている回数、LYMO2までループすることを
指示し、TORI V、TOI?AA、ADD、lNC
2は演算器(5)ノ内部のアキュムレータHJC2に“
1”を加算することを指示し、5cpuはデータ授受用
バスへ演算器(5)がらデータを出力することを指示し
、FI?VTはフレームメモリにピクセルを書込むこと
を指示し、XACNT 、 YACNTはそれぞれXア
ドレス、yアドレスをカウントアツプすることを指示し
、MULTIは高速分岐を行なうことを指示し、RTN
はサブルーチンから抜けることを指示し、CJP S
& C0ND PMBSYはビジーフラグ(FMBSY
)がキャンセルされるまでここでループすることを指示
し、N0P11Bは演算器(5)が何もしなイコとを指
示し、JPL LYMO2ハLYMO21:ジャンプす
ルコとを指示し、5ONRW、MOVB、SOA、NR
Yは演算器(5)の内部のアキュムレータの内容をデー
タ授受用バスに出力することを指示している。
I& 5CPU & YACNT 、 INCD I RTN &N0P116 ;
V、TORAA、ADD、lNC2 & PRWT & XACNT & MULTI >−OAND NOT END DRAW END 2 RPCT LYMO2& TOI?I
W、TORAA、ADD、INcI& 5CPU
& PRWT & YACNT& MLI[
、T1 、 INcD <OAND NOT END3
RTN & N0PIIB ;
DRAW END4 CJP $ & C
0ND FMBSY & N0pHB; MI
EMORY WAIT 5 JPL LYMO2& 5ONRW、M
OVB、SOA、NRY& 5CPU & MU
LTI 6 CJP g & C0ND FMBSY
& N0P11G、MEMORY WAIT 7 JPL LYMO2& 5ONRW、M
OVE、SOA、NRY& 5CPU & MU
LTI 但し、RPCT LYMO2はシーケンサ(3)に予め
設定されている回数、LYMO2までループすることを
指示し、TORI V、TOI?AA、ADD、lNC
2は演算器(5)ノ内部のアキュムレータHJC2に“
1”を加算することを指示し、5cpuはデータ授受用
バスへ演算器(5)がらデータを出力することを指示し
、FI?VTはフレームメモリにピクセルを書込むこと
を指示し、XACNT 、 YACNTはそれぞれXア
ドレス、yアドレスをカウントアツプすることを指示し
、MULTIは高速分岐を行なうことを指示し、RTN
はサブルーチンから抜けることを指示し、CJP S
& C0ND PMBSYはビジーフラグ(FMBSY
)がキャンセルされるまでここでループすることを指示
し、N0P11Bは演算器(5)が何もしなイコとを指
示し、JPL LYMO2ハLYMO21:ジャンプす
ルコとを指示し、5ONRW、MOVB、SOA、NR
Yは演算器(5)の内部のアキュムレータの内容をデー
タ授受用バスに出力することを指示している。
上記プログラムの0行目が演算コマンドであり、演算結
果により演算結果識別データ(YD 15)が出力され
るので、制御データの下位2ビット目が(YD 15)
により置換され、また、この時点におけるフレームメモ
リの状態、即ち、ビジーフラグ(FMBSY)により制
御データの下位3ビット目が置換される。
果により演算結果識別データ(YD 15)が出力され
るので、制御データの下位2ビット目が(YD 15)
により置換され、また、この時点におけるフレームメモ
リの状態、即ち、ビジーフラグ(FMBSY)により制
御データの下位3ビット目が置換される。
したがって、ビジーフラグ(FMBSY)が“0”で演
算結果識別データ(YD 15)が“1″であれば新た
な制御データの下位3ビットが“010“となり2行目
にジャンプする。逆に、ビジーフラグ(FMBSY)が
“0“で演算結果識別データ(YD 15)が“0″で
あれば新たな制御データの下位3ビットがooo“とな
り0行目にジャンプする。
算結果識別データ(YD 15)が“1″であれば新た
な制御データの下位3ビットが“010“となり2行目
にジャンプする。逆に、ビジーフラグ(FMBSY)が
“0“で演算結果識別データ(YD 15)が“0″で
あれば新たな制御データの下位3ビットがooo“とな
り0行目にジャンプする。
また、ビジーフラグ(FMBSY)7><1″で演算結
果識別データ(YD 15)が“1”であれば新たな制
御データの下位3ビットが“110“となり6行目にジ
ャンプする。逆に、ビジーツーフグ(FMBSY)が“
1″で演算結果識別データ(YD15)が“0”であれ
ば新たな制御データの下位3ビットが“100 “とな
り4行目にジャンプする。
果識別データ(YD 15)が“1”であれば新たな制
御データの下位3ビットが“110“となり6行目にジ
ャンプする。逆に、ビジーツーフグ(FMBSY)が“
1″で演算結果識別データ(YD15)が“0”であれ
ば新たな制御データの下位3ビットが“100 “とな
り4行目にジャンプする。
以上の説明から明らかなように、特別な判定プログラム
を実行することなく4種類の条件分岐を簡単に行なうこ
とができる。
を実行することなく4種類の条件分岐を簡単に行なうこ
とができる。
〈実施例3〉
第5図はさらに他の実施例を示すブロック図であり、第
4図の実施例と異なる点は、演算器(5)がら出力され
る演算結果識別データ(YD15)およびビジーフラグ
(FMBSY)をデータ読出し用のアドレスとしてメモ
リ(6)に倶給している点、メモリ(6)が演算結果識
別データ(YD15)およびビジーフラグ(FMBSY
)の内容の組合せに基づいて定まる所定のデータを有し
ている点およびメモリ(6)からの読出しデータに基づ
いてバスドライバ(2)においてデータの置換を行なう
点のみである。
4図の実施例と異なる点は、演算器(5)がら出力され
る演算結果識別データ(YD15)およびビジーフラグ
(FMBSY)をデータ読出し用のアドレスとしてメモ
リ(6)に倶給している点、メモリ(6)が演算結果識
別データ(YD15)およびビジーフラグ(FMBSY
)の内容の組合せに基づいて定まる所定のデータを有し
ている点およびメモリ(6)からの読出しデータに基づ
いてバスドライバ(2)においてデータの置換を行なう
点のみである。
したがって、この実施例においては、演算結果識別デー
タ(YD 15)およびビジーフラグ(FMBSY)に
基づいて直接制御データの一部が置換されるのではない
が、上記データの組合せに基づいて定まるデータに基づ
いて制御データが置換されるのであるから、一部のデー
タが置換された新たな制御データに基づく処理を行なう
ことにより、特別に判定動作を行なうことなく条件分岐
を達成することができる。特にこの実施例の場合には、
メモリ(6)に格納しておくデータによって所望のビッ
ト数の置換を行なわせることができ、または所望の位置
のデータを置換させることができるので、メモリ(6)
に格納しておくデータを変化させるだけで種々のマイク
ロプログラムプロセッサに適用することができる。
タ(YD 15)およびビジーフラグ(FMBSY)に
基づいて直接制御データの一部が置換されるのではない
が、上記データの組合せに基づいて定まるデータに基づ
いて制御データが置換されるのであるから、一部のデー
タが置換された新たな制御データに基づく処理を行なう
ことにより、特別に判定動作を行なうことなく条件分岐
を達成することができる。特にこの実施例の場合には、
メモリ(6)に格納しておくデータによって所望のビッ
ト数の置換を行なわせることができ、または所望の位置
のデータを置換させることができるので、メモリ(6)
に格納しておくデータを変化させるだけで種々のマイク
ロプログラムプロセッサに適用することができる。
尚、この発明は上記の実施例に限定されるものではなく
、例えば、複数個の演算結果識別データのみにより制御
データの一部を置換することが可能であるほか、複数個
の入出力デバイスの状態を示す状態信号のみにより制御
データの一部を置換することが可能であり、さらに、任
意の複数個のデータにより制御データの一部を置換する
ことが可能であるほか、置換するためのデータが1種類
だけであってもよく、その他、この発明の要旨を変更し
ない範囲内において種々の設計変更を施すことが可能で
ある。
、例えば、複数個の演算結果識別データのみにより制御
データの一部を置換することが可能であるほか、複数個
の入出力デバイスの状態を示す状態信号のみにより制御
データの一部を置換することが可能であり、さらに、任
意の複数個のデータにより制御データの一部を置換する
ことが可能であるほか、置換するためのデータが1種類
だけであってもよく、その他、この発明の要旨を変更し
ない範囲内において種々の設計変更を施すことが可能で
ある。
〈発明の効果〉
以上のように第1の発明は、所定の動作を行なった後、
直ちに、条件分岐のための判別処理が行なわれた場合に
選択される、処理のためのマイクロプログラムを得てそ
の後の処理を行なわせることができ、条件分岐のための
所要時間を著しく短縮することができ、しかもマイクロ
プログラムメモリの容量を削減することができるという
特有の効果を奏する。
直ちに、条件分岐のための判別処理が行なわれた場合に
選択される、処理のためのマイクロプログラムを得てそ
の後の処理を行なわせることができ、条件分岐のための
所要時間を著しく短縮することができ、しかもマイクロ
プログラムメモリの容量を削減することができるという
特有の効果を奏する。
第2の発明は、入出力機器等の状態に基づく条件分岐を
著しく短い所要時間で実行させることができるという特
有の効果を奏する。
著しく短い所要時間で実行させることができるという特
有の効果を奏する。
第3の発明は、演算結果に基づく条件分岐を著しく短い
所要時間で実行させることができるという特有の効果を
奏する。
所要時間で実行させることができるという特有の効果を
奏する。
第4の発明は、条件分岐のために必要とされていた判別
処理を行なう必要がなくなり、所定の処理が行なわれた
後、直ちに該当する処理のためのマイクロプログラムを
読出して実行することができ、条件分岐のために必要な
所要時間を著しく短縮することができ、しかもマイクロ
プログラムメモリの容量を削減することができ、さらに
構成の複雑化を必要最少限に抑制することができるとい
う特有の効果を奏する。
処理を行なう必要がなくなり、所定の処理が行なわれた
後、直ちに該当する処理のためのマイクロプログラムを
読出して実行することができ、条件分岐のために必要な
所要時間を著しく短縮することができ、しかもマイクロ
プログラムメモリの容量を削減することができ、さらに
構成の複雑化を必要最少限に抑制することができるとい
う特有の効果を奏する。
第5の発明は、含まれている手段による処理に基づく条
件分岐を著しく短時間で行なうことができ、上記手段を
追加することにより簡単に条件の増加に対処することも
できるという特有の効果を奏する。
件分岐を著しく短時間で行なうことができ、上記手段を
追加することにより簡単に条件の増加に対処することも
できるという特有の効果を奏する。
第1図はこの発明の条件分岐装置を組込んだマイクロプ
ロセッサの一実施例を示すブロック図、第2図Aは条件
分岐が存在しない場合の動作を説明するフローチャート
、 第2図Bは条件分岐を実行する場合の動作を説明するフ
ローチャート、 第3図A、Bはそれぞれ一部が置換された制御データの
一例を示す図、 第4図は演算結果のみならずフレームメモリの状態によ
っても条件分岐を行なわせるようにした実施例を示すブ
ロック図、 第5図はさらに他の実施例を示すブロック図、第6図は
マイクロプログラムプロセッサの従来例を示すブロック
図、 第7図は従来のマイクロプロセッサの動作を説明するフ
ローチャート。
ロセッサの一実施例を示すブロック図、第2図Aは条件
分岐が存在しない場合の動作を説明するフローチャート
、 第2図Bは条件分岐を実行する場合の動作を説明するフ
ローチャート、 第3図A、Bはそれぞれ一部が置換された制御データの
一例を示す図、 第4図は演算結果のみならずフレームメモリの状態によ
っても条件分岐を行なわせるようにした実施例を示すブ
ロック図、 第5図はさらに他の実施例を示すブロック図、第6図は
マイクロプログラムプロセッサの従来例を示すブロック
図、 第7図は従来のマイクロプロセッサの動作を説明するフ
ローチャート。
Claims (1)
- 【特許請求の範囲】 1、供給されたデータに基づいてシーケンサ(3)から
アドレスを出力し、アドレスに基づいてマイクロプログ
ラムメモリ(4)からマイクロプログラムを読出して所
定の動作を行なわせるマイクロプログラムプロセッサに
おいて、 所定の動作を行なった場合にシーケンサ(3)に与えら
れるデータの一部を、所定の動作を行なった時点におけ
る状態データ(FMBSY)(YD15)で置換し、一
部が置換されたデータに基づいてシーケンサ(3)から
アドレスを出力し、アドレスに基づいてマイクロプログ
ラムメモリ(4)からマイクロプログラムを読出すこと
を特徴とするマイクロプログラムにおける条件分岐方法
。 2、置換されるデータがマイクロプログラムにより設定
されるデータであるとともに、状態データ(FMBSY
)が周辺機器の状態を示す少なくとも1ビットのデータ
である上記特許請求の範囲第1項記載のマイクロプログ
ラムにおける条件分岐方法。 3、置換されるデータがマイクロプログラムにより設定
されるデータであるとともに、状態データ(YD15)
が演算結果を示す少なくとも1ビットのデータである上
記特許請求の範囲第1項記載のマイクロプログラムにお
ける条件分岐方法。 4、データ保持手段(1)から供給されたデータに基づ
いてアドレスを出力するシーケンサ(3)と、アドレス
に基づいてマイクロプログラムが読出されるマイクロプ
ログラムメモリ(4)と、読出されたマイクロプログラ
ムに基づいて所定の動作を行なう処理手段(5)とを含
むマイクロプログラムプロセッサにおいて、マイクロプ
ログラムメモリ(4)から読出されたデータおよび処理
手段(5)から出力されるデータを入力として読出しデ
ータの一部が置換されたデータを生成し、シーケンサ(
3)に供給するデータ合成手段(2)を有していること
を特徴とするマイクロプログラムにおける条件分岐装置
。 5、処理手段(5)がデータ処理手段、周辺機器制御手
段の少なくとも一方を含んでいる上記特許請求の範囲第
4項記載のマイクロプログラムにおける条件分岐装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19815588A JPH0247724A (ja) | 1988-08-09 | 1988-08-09 | マイクロプログラムにおける条件分岐方法およびその装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19815588A JPH0247724A (ja) | 1988-08-09 | 1988-08-09 | マイクロプログラムにおける条件分岐方法およびその装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0247724A true JPH0247724A (ja) | 1990-02-16 |
Family
ID=16386377
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19815588A Pending JPH0247724A (ja) | 1988-08-09 | 1988-08-09 | マイクロプログラムにおける条件分岐方法およびその装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0247724A (ja) |
-
1988
- 1988-08-09 JP JP19815588A patent/JPH0247724A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7386646B2 (en) | System and method for interrupt distribution in a multithread processor | |
| US5757685A (en) | Data processing system capable of processing long word data | |
| JP2003058381A (ja) | プログラムによる例外処理設定を可能にしたプロセッサ | |
| JPH0247724A (ja) | マイクロプログラムにおける条件分岐方法およびその装置 | |
| JP7490766B2 (ja) | 演算論理回路レジスタの順序付け | |
| JPH0528431B2 (ja) | ||
| KR100246465B1 (ko) | 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법 | |
| JPS5995646A (ja) | 演算制御装置 | |
| JP3145044B2 (ja) | 高速データ演算処理装置 | |
| JPS62107341A (ja) | クロツク制御方式 | |
| JPS60204029A (ja) | 信号処理装置 | |
| JPS5839347A (ja) | プロセツサ | |
| JPH04107630A (ja) | 中央処理装置 | |
| JP2989830B2 (ja) | ベクトル処理方法 | |
| JP3733137B2 (ja) | マイクロコンピュータ | |
| JPS61253503A (ja) | シ−ケンス制御装置 | |
| JPH0241522A (ja) | 関数演算処理装置 | |
| JPS60173633A (ja) | 演算処理装置 | |
| JPS61272872A (ja) | ベクトル演算装置 | |
| JPH0559451B2 (ja) | ||
| JPS6329843A (ja) | プログラム制御方式 | |
| JPS6380333A (ja) | マイクロコンピユ−タ回路 | |
| JPH10320380A (ja) | ベクトル処理装置 | |
| JPH03282928A (ja) | アドレス制御型情報処理装置 | |
| JPH04168526A (ja) | ループ制御方式 |