JPH05341994A - 命令処理方式及びデータ処理装置 - Google Patents
命令処理方式及びデータ処理装置Info
- Publication number
- JPH05341994A JPH05341994A JP4149660A JP14966092A JPH05341994A JP H05341994 A JPH05341994 A JP H05341994A JP 4149660 A JP4149660 A JP 4149660A JP 14966092 A JP14966092 A JP 14966092A JP H05341994 A JPH05341994 A JP H05341994A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processing
- unit
- decoding
- stage
- 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)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】 本発明は命令コード内の情報のデコードを分
散化し、規模が小さく、高速な命令デコーダを構成する
ことにより、装置全体の動作速度を向上させ得る命令処
理方式及びデータ処理装置を提供することを目的とす
る。 【構成】 命令フェッチユニット11、命令デコードユ
ニット12、マイクロ命令読み出しユニット13、オペ
ランドアドレス計算ユニット14、オペランドフェッチ
ユニット15、及び実行ユニット16等の複数の処理ユ
ニットと、命令の処理内容及び命令の形式により前記命
令デコードユニット12の結果の中から必要な情報を選
択していく選択手段1とを有して構成し、選択手段1
は、命令デコードユニット12以降の任意の処理ユニッ
トが情報を必要とする場合、或いは該処理ユニットの処
理時間に余裕のある場合に、該処理ユニットと並列に処
理を行なう。
散化し、規模が小さく、高速な命令デコーダを構成する
ことにより、装置全体の動作速度を向上させ得る命令処
理方式及びデータ処理装置を提供することを目的とす
る。 【構成】 命令フェッチユニット11、命令デコードユ
ニット12、マイクロ命令読み出しユニット13、オペ
ランドアドレス計算ユニット14、オペランドフェッチ
ユニット15、及び実行ユニット16等の複数の処理ユ
ニットと、命令の処理内容及び命令の形式により前記命
令デコードユニット12の結果の中から必要な情報を選
択していく選択手段1とを有して構成し、選択手段1
は、命令デコードユニット12以降の任意の処理ユニッ
トが情報を必要とする場合、或いは該処理ユニットの処
理時間に余裕のある場合に、該処理ユニットと並列に処
理を行なう。
Description
【0001】
【産業上の利用分野】本発明は高位のマイクロプロセッ
サ(以下MPUと略記)等のデータ処理装置における命
令処理方式に関し、特に、命令コード内の情報のデコー
ドを分散化し、規模が小さく、高速な命令デコーダを構
成することにより、装置全体の動作速度を向上させ得る
命令処理方式及びデータ処理装置に関する。
サ(以下MPUと略記)等のデータ処理装置における命
令処理方式に関し、特に、命令コード内の情報のデコー
ドを分散化し、規模が小さく、高速な命令デコーダを構
成することにより、装置全体の動作速度を向上させ得る
命令処理方式及びデータ処理装置に関する。
【0002】
【従来の技術】MPUの命令処理の高速化を図る手法と
して、パイプライン手法がよく用いられている。パイプ
ライン手法は、命令処理を幾つかの処理ステージに分
け、各処理ステージを同一処理時間の論理処理手段に対
応させてプロセッサを構成し、複数の命令処理を同時に
行なうことによりスループットを向上させるものであ
る。
して、パイプライン手法がよく用いられている。パイプ
ライン手法は、命令処理を幾つかの処理ステージに分
け、各処理ステージを同一処理時間の論理処理手段に対
応させてプロセッサを構成し、複数の命令処理を同時に
行なうことによりスループットを向上させるものであ
る。
【0003】例えば、7段の処理ステージを有するパイ
プラインでは、命令コードのフェッチ(IFステー
ジ)、命令コードのデコード(IDステージ)、マイク
ロROMからのマイクロ命令の読み出し(RRステー
ジ)、オペランド・アドレス計算(AGステージ)、オ
ペランド・フェッチ(OFステージ)、実行(EXステ
ージ)、及び実行結果のストア(STステージ)の7つ
の処理ステージに分けられ、それぞれのステージに対応
して処理ユニットが用意される。この7段の処理ステー
ジを有するパイプラインのタイミングチャートを図11
及び図12に示す。尚、図12はRRステージとAGス
テージを並列に動作させた場合を示している。
プラインでは、命令コードのフェッチ(IFステー
ジ)、命令コードのデコード(IDステージ)、マイク
ロROMからのマイクロ命令の読み出し(RRステー
ジ)、オペランド・アドレス計算(AGステージ)、オ
ペランド・フェッチ(OFステージ)、実行(EXステ
ージ)、及び実行結果のストア(STステージ)の7つ
の処理ステージに分けられ、それぞれのステージに対応
して処理ユニットが用意される。この7段の処理ステー
ジを有するパイプラインのタイミングチャートを図11
及び図12に示す。尚、図12はRRステージとAGス
テージを並列に動作させた場合を示している。
【0004】ここで、命令コードのデコードとは、機械
語命令として指定されるフォーマットに従って、命令コ
ードから処理動作、オペランドの種類、オペランドのア
ドレス、及びオペランドの属性等を判断するものであ
り、パイプラインの1ステージを占有する。また、この
デコードには、デコード論理の特異性より2段論理にな
り易く、PLAやROM等のハードウェアが使用される
ことが多い。そのためIDステージは、デコードを行な
うPLAに命令コード(と、命令コードを複数に分けて
フェッチ、デコードするときには、更に前の命令コー
ド)からの情報を入力し、必要な情報を出力させるステ
ージとなる。
語命令として指定されるフォーマットに従って、命令コ
ードから処理動作、オペランドの種類、オペランドのア
ドレス、及びオペランドの属性等を判断するものであ
り、パイプラインの1ステージを占有する。また、この
デコードには、デコード論理の特異性より2段論理にな
り易く、PLAやROM等のハードウェアが使用される
ことが多い。そのためIDステージは、デコードを行な
うPLAに命令コード(と、命令コードを複数に分けて
フェッチ、デコードするときには、更に前の命令コー
ド)からの情報を入力し、必要な情報を出力させるステ
ージとなる。
【0005】ところで、MPUは年々高性能化の道を辿
っている。その実現方法には幾つかあるが、一般的に、
1機械語命令にたくさんの情報を入れ、1命令で複数の
処理を行なうことで高性能化を達成する。こうすること
で、機械語命令数を減らしてIF及びIDステージの負
担を減少させると共に、EXステージでも無駄な動作を
省くことが可能となる。
っている。その実現方法には幾つかあるが、一般的に、
1機械語命令にたくさんの情報を入れ、1命令で複数の
処理を行なうことで高性能化を達成する。こうすること
で、機械語命令数を減らしてIF及びIDステージの負
担を減少させると共に、EXステージでも無駄な動作を
省くことが可能となる。
【0006】例えば、2オペランド型の加算命令では、
「A+B→C」という処理は、A+Bの結果を一旦Aに
入れ、AからCに転送するという2つの命令が必要とな
る。これを3オペランド型の加算命令にすると、加算結
果をAに入れたり、その結果をAから出したりする処理
が不要となり、その分処理時間を減少させることができ
る。
「A+B→C」という処理は、A+Bの結果を一旦Aに
入れ、AからCに転送するという2つの命令が必要とな
る。これを3オペランド型の加算命令にすると、加算結
果をAに入れたり、その結果をAから出したりする処理
が不要となり、その分処理時間を減少させることができ
る。
【0007】ところがこの方法では、3つのオペランド
の情報をデコードすることとなり、IDステージの負担
が増加する。また情報が多くなった結果、1命令当たり
の命令コード長が増加するのでは、パイプラインの効果
が薄れてしまう。例えば、2回に分けてフェッチ、デコ
ードを行なうことになれば、IF及びIDステージに2
サイクルを要してしまい、他の処理ステージが1サイク
ルで行なわれるとすれば、パイプラインに空きが生じて
パイプラインは実質的に2サイクルで1命令しか実行し
ていないことになる。従って、1命令当たりの命令コー
ド長を増やすことは出来ない。このため必然的に情報は
マルチプレクスされて、機械語命令のフォーマットは複
雑になっていく(図13参照)。
の情報をデコードすることとなり、IDステージの負担
が増加する。また情報が多くなった結果、1命令当たり
の命令コード長が増加するのでは、パイプラインの効果
が薄れてしまう。例えば、2回に分けてフェッチ、デコ
ードを行なうことになれば、IF及びIDステージに2
サイクルを要してしまい、他の処理ステージが1サイク
ルで行なわれるとすれば、パイプラインに空きが生じて
パイプラインは実質的に2サイクルで1命令しか実行し
ていないことになる。従って、1命令当たりの命令コー
ド長を増やすことは出来ない。このため必然的に情報は
マルチプレクスされて、機械語命令のフォーマットは複
雑になっていく(図13参照)。
【0008】従来よりデコード処理はPLAで行なわれ
るのが一般的であるが、マルチプレクスされたコードの
デコード処理はPLAには不向きである。これはPLA
がANDゲートとORゲートの2段論理回路で構成され
ることによる。即ち、この回路構成は、 (OPフィールドがAならば)(情報はBである) (フィールドCがDならば)(情報はEである) という論理構造のデコード処理には適しているが、 (OPフィールドがAならば)(情報はBである)(フ
ィールドCがDならば)(情報はEである) という論理構造のデコード処理には適していない。
るのが一般的であるが、マルチプレクスされたコードの
デコード処理はPLAには不向きである。これはPLA
がANDゲートとORゲートの2段論理回路で構成され
ることによる。即ち、この回路構成は、 (OPフィールドがAならば)(情報はBである) (フィールドCがDならば)(情報はEである) という論理構造のデコード処理には適しているが、 (OPフィールドがAならば)(情報はBである)(フ
ィールドCがDならば)(情報はEである) という論理構造のデコード処理には適していない。
【0009】前者の論理構造をPLAで実現する時、そ
の積項数は、 (OPフィールドの採り得るビットパターン数)+(フ
ィールドCの採り得るビットパターン数) であるが、後者の論理構造をPLAで実現する時には、
その積項数は最大で、 (OPフィールドの採り得るビットパターン数)×(フ
ィールドCの採り得るビットパターン数) となる。
の積項数は、 (OPフィールドの採り得るビットパターン数)+(フ
ィールドCの採り得るビットパターン数) であるが、後者の論理構造をPLAで実現する時には、
その積項数は最大で、 (OPフィールドの採り得るビットパターン数)×(フ
ィールドCの採り得るビットパターン数) となる。
【0010】PLAの規模はその積項線数によるので、
後者の論理構造を実現したPLAの方がはるかに大きく
なってしまう。PLAの規模が大きいと、面積に与える
影響の他に、動作速度が低下してパイプラインの1ステ
ージ当たりの処理時間を律速してしまう可能性が生ず
る。
後者の論理構造を実現したPLAの方がはるかに大きく
なってしまう。PLAの規模が大きいと、面積に与える
影響の他に、動作速度が低下してパイプラインの1ステ
ージ当たりの処理時間を律速してしまう可能性が生ず
る。
【0011】また、MPUでの性能の目安は、動作周波
数と1サイクル当たりの処理量の積(即ち、MIPS
値)で求められる。つまり、性能を向上させるために
は、1サイクルで処理できる量を増やすばかりでなく、
動作周波数も向上させなければならない。ところが実際
には、動作周波数を上げると1サイクルの所要時間が短
くなり、1サイクル中に動作が可能なPLAの規模に制
限を与えることになり、動作周波数の向上と1サイクル
に処理できる量の増大は相反するものである。
数と1サイクル当たりの処理量の積(即ち、MIPS
値)で求められる。つまり、性能を向上させるために
は、1サイクルで処理できる量を増やすばかりでなく、
動作周波数も向上させなければならない。ところが実際
には、動作周波数を上げると1サイクルの所要時間が短
くなり、1サイクル中に動作が可能なPLAの規模に制
限を与えることになり、動作周波数の向上と1サイクル
に処理できる量の増大は相反するものである。
【0012】
【発明が解決しようとする課題】以上のように、従来の
命令処理方式及びデータ処理装置では、(1)1機械語
命令にたくさんの情報を入れ、1命令で複数の処理を行
なうことで高性能化を達成する方法では、オペランド情
報が増え、IDステージの負担が増加し、またパイプラ
インの効果が薄れる、(2)情報をマルチプレクスする
と、機械語命令のフォーマットは複雑になり、命令デコ
ーダをPLAで実現する場合、規模が大きくなり、また
動作速度が低下してパイプラインの1ステージ当たりの
処理時間を律速してしまう可能性が生ずる、という欠点
があった。
命令処理方式及びデータ処理装置では、(1)1機械語
命令にたくさんの情報を入れ、1命令で複数の処理を行
なうことで高性能化を達成する方法では、オペランド情
報が増え、IDステージの負担が増加し、またパイプラ
インの効果が薄れる、(2)情報をマルチプレクスする
と、機械語命令のフォーマットは複雑になり、命令デコ
ーダをPLAで実現する場合、規模が大きくなり、また
動作速度が低下してパイプラインの1ステージ当たりの
処理時間を律速してしまう可能性が生ずる、という欠点
があった。
【0013】本発明は、上記問題点を解決するもので、
その目的は、命令コード内の情報のデコードを分散化す
ることにより、命令デコーダの規模を小さく、また命令
デコーダの動作速度を向上させることができ、結果とし
て全体の動作速度を向上させることが可能な命令処理方
式及びデータ処理装置を提供することである。
その目的は、命令コード内の情報のデコードを分散化す
ることにより、命令デコーダの規模を小さく、また命令
デコーダの動作速度を向上させることができ、結果とし
て全体の動作速度を向上させることが可能な命令処理方
式及びデータ処理装置を提供することである。
【0014】
【課題を解決するための手段】前記課題を解決するため
に、本発明の第1の特徴は、図1に示す如く、命令のフ
ェッチを行なう命令フェッチユニット11、命令のデコ
ード処理を行なう命令デコードユニット12、マイクロ
ROM17からマイクロ命令を読み出すマイクロ命令読
み出しユニット13、オペランドのアドレス計算を行な
うオペランドアドレス計算ユニット14、オペランドの
フェッチを行なうオペランドフェッチユニット15、及
び命令を実行する実行ユニット16等の複数の処理ユニ
ットと、命令の処理内容及び命令の形式により前記命令
デコードユニット12の結果の中から必要な情報を選択
していく選択手段1とを具備し、前記複数の処理ユニッ
トは、パイプライン制御により動作し、前記命令デコー
ドユニット12は、前記命令フェッチユニット11にフ
ェッチされた命令コードにおいて、予め設定された各フ
ィールドを別々にデコード処理するデコード手段DEC
1及びDEC2を有し、前記選択手段1は、前記パイプ
ライン制御による各処理ユニットの順序において、前記
命令デコードユニット12以降の任意の処理ユニットが
情報を必要とする場合、或いは該処理ユニットの処理時
間に余裕のある場合に、該処理ユニットと並列に処理を
行なうことである。
に、本発明の第1の特徴は、図1に示す如く、命令のフ
ェッチを行なう命令フェッチユニット11、命令のデコ
ード処理を行なう命令デコードユニット12、マイクロ
ROM17からマイクロ命令を読み出すマイクロ命令読
み出しユニット13、オペランドのアドレス計算を行な
うオペランドアドレス計算ユニット14、オペランドの
フェッチを行なうオペランドフェッチユニット15、及
び命令を実行する実行ユニット16等の複数の処理ユニ
ットと、命令の処理内容及び命令の形式により前記命令
デコードユニット12の結果の中から必要な情報を選択
していく選択手段1とを具備し、前記複数の処理ユニッ
トは、パイプライン制御により動作し、前記命令デコー
ドユニット12は、前記命令フェッチユニット11にフ
ェッチされた命令コードにおいて、予め設定された各フ
ィールドを別々にデコード処理するデコード手段DEC
1及びDEC2を有し、前記選択手段1は、前記パイプ
ライン制御による各処理ユニットの順序において、前記
命令デコードユニット12以降の任意の処理ユニットが
情報を必要とする場合、或いは該処理ユニットの処理時
間に余裕のある場合に、該処理ユニットと並列に処理を
行なうことである。
【0015】また、本発明の第2の特徴は、図2に示す
如く、命令のフェッチを行なう命令フェッチユニット2
1、命令のデコード処理を行なう命令デコードユニット
22、マイクロROM17からマイクロ命令を読み出す
マイクロ命令読み出しユニット23、オペランドのアド
レス計算を行なうオペランドアドレス計算ユニット2
4、オペランドのフェッチを行なうオペランドフェッチ
ユニット25、及び命令を実行する実行ユニット26等
の複数の処理ユニットと、前記命令フェッチユニット2
1にフェッチされた命令コードの内、必要なフィールド
をデコードする第2のデコード手段2とを具備し、前記
複数の処理ユニットは、パイプライン制御により動作
し、前記デコード手段2は、前記パイプライン制御によ
る各処理ユニットの順序において、前記命令デコードユ
ニット22以降の任意の処理ユニットが情報を必要とす
る場合、或いは該処理ユニットの処理時間に余裕のある
場合に、該処理ユニットと並列に処理を行なうことであ
る。
如く、命令のフェッチを行なう命令フェッチユニット2
1、命令のデコード処理を行なう命令デコードユニット
22、マイクロROM17からマイクロ命令を読み出す
マイクロ命令読み出しユニット23、オペランドのアド
レス計算を行なうオペランドアドレス計算ユニット2
4、オペランドのフェッチを行なうオペランドフェッチ
ユニット25、及び命令を実行する実行ユニット26等
の複数の処理ユニットと、前記命令フェッチユニット2
1にフェッチされた命令コードの内、必要なフィールド
をデコードする第2のデコード手段2とを具備し、前記
複数の処理ユニットは、パイプライン制御により動作
し、前記デコード手段2は、前記パイプライン制御によ
る各処理ユニットの順序において、前記命令デコードユ
ニット22以降の任意の処理ユニットが情報を必要とす
る場合、或いは該処理ユニットの処理時間に余裕のある
場合に、該処理ユニットと並列に処理を行なうことであ
る。
【0016】また、本発明の第3の特徴は、図3に示す
如く、命令のフェッチを行なう命令フェッチユニット3
1、命令のデコード処理を行なう命令デコードユニット
32、マイクロROM17からマイクロ命令を読み出す
マイクロ命令読み出しユニット33、オペランドのアド
レス計算を行なうオペランドアドレス計算ユニット3
4、オペランドのフェッチを行なうオペランドフェッチ
ユニット35、及び命令を実行する実行ユニット36等
の複数の処理ユニットと、情報生成手段3とを具備し、
前記複数の処理ユニットは、パイプライン制御により動
作し、前記命令デコードユニット32は、前記命令フェ
ッチユニット21にフェッチされた命令コードのデコー
ド処理において、デコード処理の途中段階の情報を出力
する第3のデコード手段DEC2及びDEC4を具備
し、前記情報生成手段3は、前記パイプライン制御によ
る各処理ユニットの順序において、前記命令デコードユ
ニット32以降の任意の処理ユニットが情報を必要とす
る場合、或いは該処理ユニットの処理時間に余裕のある
場合に、該処理ユニットと並列に、前記途中段階の情報
に対して比較、選択等の処理を行なって該処理ステージ
に必要な情報を生成することである。
如く、命令のフェッチを行なう命令フェッチユニット3
1、命令のデコード処理を行なう命令デコードユニット
32、マイクロROM17からマイクロ命令を読み出す
マイクロ命令読み出しユニット33、オペランドのアド
レス計算を行なうオペランドアドレス計算ユニット3
4、オペランドのフェッチを行なうオペランドフェッチ
ユニット35、及び命令を実行する実行ユニット36等
の複数の処理ユニットと、情報生成手段3とを具備し、
前記複数の処理ユニットは、パイプライン制御により動
作し、前記命令デコードユニット32は、前記命令フェ
ッチユニット21にフェッチされた命令コードのデコー
ド処理において、デコード処理の途中段階の情報を出力
する第3のデコード手段DEC2及びDEC4を具備
し、前記情報生成手段3は、前記パイプライン制御によ
る各処理ユニットの順序において、前記命令デコードユ
ニット32以降の任意の処理ユニットが情報を必要とす
る場合、或いは該処理ユニットの処理時間に余裕のある
場合に、該処理ユニットと並列に、前記途中段階の情報
に対して比較、選択等の処理を行なって該処理ステージ
に必要な情報を生成することである。
【0017】更に、本発明の第4の特徴は、図4に示す
如く、命令のフェッチを行なう命令フェッチユニット4
1、命令の処理動作を同定する処理同定手段DEC5を
備えて命令のデコード処理を行なう命令デコードユニッ
ト42、マイクロROM17からマイクロ命令を読み出
すマイクロ命令読み出しユニット43、オペランドのア
ドレス計算を行なうオペランドアドレス計算ユニット4
4、オペランドのフェッチを行なうオペランドフェッチ
ユニット45、及び命令を実行する実行ユニット46等
の複数の処理ユニットと、命令の同定の為の情報以外の
情報のデコード処理を幾つかの処理に分割して、分割し
た各処理を複数の構成手段5及び6に割り当てて行なう
第2の命令デコードユニット4とを具備し、前記複数の
処理ユニットは、パイプライン制御により動作し、前記
複数の構成手段5及び6は、前記複数の処理ユニット4
3及び44のパイプライン動作に同期して並列に処理を
行なうことである。
如く、命令のフェッチを行なう命令フェッチユニット4
1、命令の処理動作を同定する処理同定手段DEC5を
備えて命令のデコード処理を行なう命令デコードユニッ
ト42、マイクロROM17からマイクロ命令を読み出
すマイクロ命令読み出しユニット43、オペランドのア
ドレス計算を行なうオペランドアドレス計算ユニット4
4、オペランドのフェッチを行なうオペランドフェッチ
ユニット45、及び命令を実行する実行ユニット46等
の複数の処理ユニットと、命令の同定の為の情報以外の
情報のデコード処理を幾つかの処理に分割して、分割し
た各処理を複数の構成手段5及び6に割り当てて行なう
第2の命令デコードユニット4とを具備し、前記複数の
処理ユニットは、パイプライン制御により動作し、前記
複数の構成手段5及び6は、前記複数の処理ユニット4
3及び44のパイプライン動作に同期して並列に処理を
行なうことである。
【0018】
【作用】本発明の第1の特徴のデータ処理装置では、命
令デコードユニット12内のデコード手段DEC1及び
DEC2は、命令フェッチユニット11にフェッチされ
た命令コードにおいて、予め設定された各フィールドを
別々にデコード処理し、選択手段1は、パイプライン制
御による各処理ユニットの順序において、命令デコード
ユニット12以降の任意の処理ユニット(図1では命令
実行ユニット16)が情報を必要とする場合、或いは該
処理ユニットの処理時間に余裕のある場合に、該処理ユ
ニットと並列に処理を行なう。
令デコードユニット12内のデコード手段DEC1及び
DEC2は、命令フェッチユニット11にフェッチされ
た命令コードにおいて、予め設定された各フィールドを
別々にデコード処理し、選択手段1は、パイプライン制
御による各処理ユニットの順序において、命令デコード
ユニット12以降の任意の処理ユニット(図1では命令
実行ユニット16)が情報を必要とする場合、或いは該
処理ユニットの処理時間に余裕のある場合に、該処理ユ
ニットと並列に処理を行なう。
【0019】これにより、命令コード内の情報のデコー
ドを命令デコードユニット12内のデコード手段DEC
1及びDEC2と選択手段1とに分散化することとな
り、デコード手段DEC1及びDEC2の規模を小さく
することができ、また、デコード手段DEC1及びDE
C2の動作速度を向上させることができる。従って、デ
コード手段DEC1及びDEC2の動作時間で装置全体
を律速することが少なくなる。また選択手段1は、動作
速度の影響の少ない任意の処理ユニットと並行に処理を
行なうようにすれば、パイプラインの各ステージの動作
時間を均等化させ、全体の処理時間を短くさせることが
でき、1サイクル中に行なう処理を増加させることが可
能となる。結果として、データ処理装置全体の動作速度
を向上させることが可能となる。
ドを命令デコードユニット12内のデコード手段DEC
1及びDEC2と選択手段1とに分散化することとな
り、デコード手段DEC1及びDEC2の規模を小さく
することができ、また、デコード手段DEC1及びDE
C2の動作速度を向上させることができる。従って、デ
コード手段DEC1及びDEC2の動作時間で装置全体
を律速することが少なくなる。また選択手段1は、動作
速度の影響の少ない任意の処理ユニットと並行に処理を
行なうようにすれば、パイプラインの各ステージの動作
時間を均等化させ、全体の処理時間を短くさせることが
でき、1サイクル中に行なう処理を増加させることが可
能となる。結果として、データ処理装置全体の動作速度
を向上させることが可能となる。
【0020】本発明の第2の特徴のデータ処理装置で
は、第2のデコード手段2は、パイプライン制御による
各処理ユニットの順序において、命令デコードユニット
22以降の任意の処理ユニットが情報を必要とする場
合、或いは該処理ユニットの処理時間に余裕のある場合
に、該処理ユニットと並列に処理を行なう。
は、第2のデコード手段2は、パイプライン制御による
各処理ユニットの順序において、命令デコードユニット
22以降の任意の処理ユニットが情報を必要とする場
合、或いは該処理ユニットの処理時間に余裕のある場合
に、該処理ユニットと並列に処理を行なう。
【0021】これにより、命令コード内の情報のデコー
ドを命令デコードユニット22内のデコーダDEC1と
第2のデコード手段2とに分散化することとなり、第1
の特徴のデータ処理装置と同様の効果を得ることができ
る。
ドを命令デコードユニット22内のデコーダDEC1と
第2のデコード手段2とに分散化することとなり、第1
の特徴のデータ処理装置と同様の効果を得ることができ
る。
【0022】本発明の第3の特徴のデータ処理装置で
は、命令デコードユニット32内の第3のデコード手段
DEC2及びDEC4は、前記命令フェッチユニット3
1にフェッチされた命令コードのデコード処理におい
て、デコード処理の途中段階の情報を出力するし、情報
生成手段3は、パイプライン制御による各処理ユニット
の順序において、命令デコードユニット32以降の任意
の処理ユニットが情報を必要とする場合、或いは該処理
ユニットの処理時間に余裕のある場合に、該処理ユニッ
トと並列に、途中段階の情報に対して比較、選択等の処
理を行なって該処理ステージに必要な情報を生成する。
は、命令デコードユニット32内の第3のデコード手段
DEC2及びDEC4は、前記命令フェッチユニット3
1にフェッチされた命令コードのデコード処理におい
て、デコード処理の途中段階の情報を出力するし、情報
生成手段3は、パイプライン制御による各処理ユニット
の順序において、命令デコードユニット32以降の任意
の処理ユニットが情報を必要とする場合、或いは該処理
ユニットの処理時間に余裕のある場合に、該処理ユニッ
トと並列に、途中段階の情報に対して比較、選択等の処
理を行なって該処理ステージに必要な情報を生成する。
【0023】これにより、命令コード内の情報のデコー
ドを命令デコードユニット32内の第3のデコード手段
DEC2及びDEC4と情報生成手段3とに分散化する
こととなり、第1の特徴のデータ処理装置と同様の効果
を得ることができる。
ドを命令デコードユニット32内の第3のデコード手段
DEC2及びDEC4と情報生成手段3とに分散化する
こととなり、第1の特徴のデータ処理装置と同様の効果
を得ることができる。
【0024】本発明の第4の特徴のデータ処理装置で
は、命令デコードユニット42内の処理同定手段DEC
5で命令の処理動作を同定し、一方、第2の命令デコー
ドユニット4では、命令の同定の為の情報以外の情報の
デコード処理を幾つかの処理に分割して、分割した各処
理を複数の構成手段5及び6に割り当てて行なう。ま
た、複数の構成手段5及び6は、複数の処理ユニット4
3及び44のパイプライン動作に同期して並列に処理を
行なう。
は、命令デコードユニット42内の処理同定手段DEC
5で命令の処理動作を同定し、一方、第2の命令デコー
ドユニット4では、命令の同定の為の情報以外の情報の
デコード処理を幾つかの処理に分割して、分割した各処
理を複数の構成手段5及び6に割り当てて行なう。ま
た、複数の構成手段5及び6は、複数の処理ユニット4
3及び44のパイプライン動作に同期して並列に処理を
行なう。
【0025】これにより、命令コード内の情報のデコー
ドを命令デコードユニット42内の処理同定手段DEC
5と第2の命令デコードユニット4内の複数の構成手段
5及び6とに分散化することとなり、第1の特徴のデー
タ処理装置と同様の効果を得ることができる。
ドを命令デコードユニット42内の処理同定手段DEC
5と第2の命令デコードユニット4内の複数の構成手段
5及び6とに分散化することとなり、第1の特徴のデー
タ処理装置と同様の効果を得ることができる。
【0026】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
説明する。
【0027】図1に本発明の第1の実施例に係るデータ
処理装置の構成図を示す。第1の実施例のデータ処理装
置では、IDステージでありうるフィールドを全て別々
にデコードし、パイプラインの各ステージのバランスを
見て、IDステージ以降の任意のステージで命令の処理
内容及び命令のフォーマットによって、デコード結果の
中から必要な情報を選択して行く方法を採用している。
処理装置の構成図を示す。第1の実施例のデータ処理装
置では、IDステージでありうるフィールドを全て別々
にデコードし、パイプラインの各ステージのバランスを
見て、IDステージ以降の任意のステージで命令の処理
内容及び命令のフォーマットによって、デコード結果の
中から必要な情報を選択して行く方法を採用している。
【0028】図1において、本実施例のデータ処理装置
は、7段のステージを有するパイプライン制御を採用し
ており、IFユニット11、IDユニット12、RRユ
ニット13、AGユニット14、OFユニット15、E
Xユニット16、マイクロROM17、制御部18、及
び選択手段1から構成されている。尚、同図に示す構成
は本実施例の特徴的な部分のみを詳細に示すものであ
り、それ以外の部分についてはその詳細を省略してい
る。
は、7段のステージを有するパイプライン制御を採用し
ており、IFユニット11、IDユニット12、RRユ
ニット13、AGユニット14、OFユニット15、E
Xユニット16、マイクロROM17、制御部18、及
び選択手段1から構成されている。尚、同図に示す構成
は本実施例の特徴的な部分のみを詳細に示すものであ
り、それ以外の部分についてはその詳細を省略してい
る。
【0029】各ユニットの基本的動作をパイプラインの
流れに添って説明する。先ず、IFユニット11で命令
コード61を命令レジスタIFにフェッチし、IDユニ
ット12でフェッチされた命令コードをデコードして内
部命令74を出力する。RRユニット13では、内部命
令74に基づきマイクロROM17にアクセスしてマイ
クロ命令の読み出して内部命令81を出力する。AGユ
ニット14では、オペランドのアドレス計算を行ない、
制御部18に対してオペランドアドレス64を出力する
と共にオペランドフェッチ要求信号63をアクティブに
する。OFユニット15では、制御部18から送られて
来るオペランドデータ65をフェッチする。EXユニッ
ト16では、オペランドデータ65に対して内部命令8
3の指示に基づいた演算処理を施す。以上のユニット
は、それぞれパイプラインのIFステージ、IDステー
ジ、RRステージ、AGステージ、OFステージ、及び
EXステージに対応している。更に、STステージとし
て、EXユニット16は、実行結果であるストアデータ
67を制御部18に対して出力すると共にストア要求信
号66をアクティブにする。
流れに添って説明する。先ず、IFユニット11で命令
コード61を命令レジスタIFにフェッチし、IDユニ
ット12でフェッチされた命令コードをデコードして内
部命令74を出力する。RRユニット13では、内部命
令74に基づきマイクロROM17にアクセスしてマイ
クロ命令の読み出して内部命令81を出力する。AGユ
ニット14では、オペランドのアドレス計算を行ない、
制御部18に対してオペランドアドレス64を出力する
と共にオペランドフェッチ要求信号63をアクティブに
する。OFユニット15では、制御部18から送られて
来るオペランドデータ65をフェッチする。EXユニッ
ト16では、オペランドデータ65に対して内部命令8
3の指示に基づいた演算処理を施す。以上のユニット
は、それぞれパイプラインのIFステージ、IDステー
ジ、RRステージ、AGステージ、OFステージ、及び
EXステージに対応している。更に、STステージとし
て、EXユニット16は、実行結果であるストアデータ
67を制御部18に対して出力すると共にストア要求信
号66をアクティブにする。
【0030】本実施例のデータ処理装置が処理する命令
セットは、図5に示す様な命令セットを想定している。
即ち、命令コード自体は16ビットであり、命令はA,
B,C,Dの4種類がある。同図において、S1はソー
スデータのサイズ、S2はデスティネーションデータの
サイズ、R1はソースデータが格納されているレジスタ
番号、R2はデスティネーションデータを格納すべきレ
ジスタ番号、MEMはメモリ・オペランドのアドレッシ
ング・モードをそれぞれ示すフィールドであり、Lit
はリテラルデータのフィールドである。尚、命令A,C
ではオペランドサイズがフィールド101(2ビット)
で指定され、命令B,Dではフィールド102(2ビッ
ト)で指定されている。
セットは、図5に示す様な命令セットを想定している。
即ち、命令コード自体は16ビットであり、命令はA,
B,C,Dの4種類がある。同図において、S1はソー
スデータのサイズ、S2はデスティネーションデータの
サイズ、R1はソースデータが格納されているレジスタ
番号、R2はデスティネーションデータを格納すべきレ
ジスタ番号、MEMはメモリ・オペランドのアドレッシ
ング・モードをそれぞれ示すフィールドであり、Lit
はリテラルデータのフィールドである。尚、命令A,C
ではオペランドサイズがフィールド101(2ビット)
で指定され、命令B,Dではフィールド102(2ビッ
ト)で指定されている。
【0031】比較のために、先ず、従来のデコード方式
によるIDユニット12のデコーダの構成を説明する。
従来のデコード方式では、命令コードの全ビットから必
要とする情報全てを一度にデコードするので、この場合
のデコーダ(PLA)の積項数は以下に示すように12
積項となる。
によるIDユニット12のデコーダの構成を説明する。
従来のデコード方式では、命令コードの全ビットから必
要とする情報全てを一度にデコードするので、この場合
のデコーダ(PLA)の積項数は以下に示すように12
積項となる。
【0032】(命令Aでオペランドサイズは8ビット) (命令Aでオペランドサイズは16ビット) (命令Aでオペランドサイズは32ビット) (命令Bでオペランドサイズは8ビット) (命令Bでオペランドサイズは16ビット) (命令Bでオペランドサイズは32ビット) (命令Cでオペランドサイズは8ビット) (命令Cでオペランドサイズは16ビット) (命令Cでオペランドサイズは32ビット) (命令Dでオペランドサイズは8ビット) (命令Dでオペランドサイズは16ビット) (命令Dでオペランドサイズは32ビット) 即ち、この場合のデコーダ(PLA)の積項数は、(命
令の種類)×(サイズの種類)=4×3=12となって
いる。
令の種類)×(サイズの種類)=4×3=12となって
いる。
【0033】本実施例のデータ処理装置では、IDユニ
ット12で命令の種類及びサイズの種類のフィールドを
別々にデコードし、IDステージ以降のEXステージ
で、選択手段1によりサイズの種類のデコード結果から
必要な情報を選択して、所定の処理を行なう構成となっ
ている。
ット12で命令の種類及びサイズの種類のフィールドを
別々にデコードし、IDステージ以降のEXステージ
で、選択手段1によりサイズの種類のデコード結果から
必要な情報を選択して、所定の処理を行なう構成となっ
ている。
【0034】つまり、IDユニット12では、フィール
ド101にサイズ情報があった場合のサイズをSA(2
ビット)、フィールド102にサイズ情報があった場合
のサイズをSB(2ビット)とすると、SAはフィール
ド101のみを見てデコードし、SBはフィールド10
2のみを見てデコードすれば良いわけである。そのた
め、デコーダDEC1及びDEC2の積項数は以下に示
すように10積項で済む。
ド101にサイズ情報があった場合のサイズをSA(2
ビット)、フィールド102にサイズ情報があった場合
のサイズをSB(2ビット)とすると、SAはフィール
ド101のみを見てデコードし、SBはフィールド10
2のみを見てデコードすれば良いわけである。そのた
め、デコーダDEC1及びDEC2の積項数は以下に示
すように10積項で済む。
【0035】(命令Aである) (命令Bである) (命令Cである) (命令Dである) (オペランドサイズSAは8ビット) (オペランドサイズSAは16ビット) (オペランドサイズSAは32ビット) (オペランドサイズSBは8ビット) (オペランドサイズSBは16ビット) (オペランドサイズSBは32ビット) 即ち、この場合のデコーダDEC1及びDEC2の積項
数は、(命令の種類)+(サイズの種類)×(フィール
ドの種類)=4+3×2=10となっている。
数は、(命令の種類)+(サイズの種類)×(フィール
ドの種類)=4+3×2=10となっている。
【0036】また、本実施例では、命令の種類を同定す
るフィールドと、サイズの種類を同定するフィールドと
は独立であるので、命令の種類をデコーダDEC1でデ
コードして内部命令74を生成し、サイズの種類をデコ
ーダDEC2でデコードして信号SA及びSBを生成す
る。尚、デコーダDEC1の積項数は4積項で、デコー
ダDEC2は6積項で済む。これは、PLAを用いない
でランダムロジックで組んでも構わない大きさである。
るフィールドと、サイズの種類を同定するフィールドと
は独立であるので、命令の種類をデコーダDEC1でデ
コードして内部命令74を生成し、サイズの種類をデコ
ーダDEC2でデコードして信号SA及びSBを生成す
る。尚、デコーダDEC1の積項数は4積項で、デコー
ダDEC2は6積項で済む。これは、PLAを用いない
でランダムロジックで組んでも構わない大きさである。
【0037】デコーダDEC2の出力信号SA及びSB
の何れが必要とするデータとして有効であるかはEXス
テージの選択手段1で判断される。その方法としては、
例えば、内部命令74で指定されるマイクロROM17
のマイクロ命令(内部命令83)の制御の下に何れかを
マルチプレクサMPX1で指定しても良いし、デコーダ
DEC1で選択フラグを生成して、この選択フラグでマ
ルチプレクサMPX1を選択制御させても良い。
の何れが必要とするデータとして有効であるかはEXス
テージの選択手段1で判断される。その方法としては、
例えば、内部命令74で指定されるマイクロROM17
のマイクロ命令(内部命令83)の制御の下に何れかを
マルチプレクサMPX1で指定しても良いし、デコーダ
DEC1で選択フラグを生成して、この選択フラグでマ
ルチプレクサMPX1を選択制御させても良い。
【0038】また本実施例では、EXステージの選択手
段1において、信号SA及びSBをレジスタREG1及
びREG2にそれぞれラッチして、マルチプレクサMP
X1で選択して信号76を生成するようにしているが、
この信号76がEXユニット83でクリティカルパスと
なるようであれば、IDステージ以降の任意のステージ
に、この選択手段1の回路を構成して信号76を生成す
ればよい。選択手段1をEXステージに置く場合のパイ
プライン上の動作を説明するタイミングチャートを図6
に示す。
段1において、信号SA及びSBをレジスタREG1及
びREG2にそれぞれラッチして、マルチプレクサMP
X1で選択して信号76を生成するようにしているが、
この信号76がEXユニット83でクリティカルパスと
なるようであれば、IDステージ以降の任意のステージ
に、この選択手段1の回路を構成して信号76を生成す
ればよい。選択手段1をEXステージに置く場合のパイ
プライン上の動作を説明するタイミングチャートを図6
に示す。
【0039】一般的にPLAの面積は、(入力数×2+
出力数)×(積項数)に比例することから、本実施例の
デコーダDEC1及びDEC2の面積評価を行なうと以
下のようになる。
出力数)×(積項数)に比例することから、本実施例の
デコーダDEC1及びDEC2の面積評価を行なうと以
下のようになる。
【0040】従来の方法によりデコーダを構成すると、
入力が命令コード16ビット全てであり、出力が命令の
種類(2ビット)とサイズ(2ビット)で、積項数が1
2積項である。従って、 {16×2+(2+2)}×12=432 となり、一方、本実施例では、 デコーダDEC1… (16×2+2)×4=136 デコーダDEC2… (2×2×2+2×2)×3=36 マルチプレクサMPX1、並びにレジスタREG1及びREG2 となる。PLAのサイト数だけで比較すれば、(136
+36):432と、従来の40%で実現できることに
なる。
入力が命令コード16ビット全てであり、出力が命令の
種類(2ビット)とサイズ(2ビット)で、積項数が1
2積項である。従って、 {16×2+(2+2)}×12=432 となり、一方、本実施例では、 デコーダDEC1… (16×2+2)×4=136 デコーダDEC2… (2×2×2+2×2)×3=36 マルチプレクサMPX1、並びにレジスタREG1及びREG2 となる。PLAのサイト数だけで比較すれば、(136
+36):432と、従来の40%で実現できることに
なる。
【0041】このように本実施例によれば、従来の40
%の面積で命令デコーダを構成できる。またPLAが小
さくなると、面積だけでなく動作速度も速くなる。この
ため、PLAの動作時間でMPU全体を律速することが
少なくなる。また前述のように、信号SA及びSBの選
択は、IDステージで判断するとデコーダの動作に使え
る時間を、EXステージで判断すると実行に使える時間
を短くすることになるが、これが全体の動作速度に影響
を与えるのであれば、例えばRRステージで行なう等、
影響の少ない任意のステージで行なうようにすればよ
い。このように本実施例では、パイプラインの各ステー
ジの動作時間を均等化させ、全体の処理時間を短くさせ
ることができ、1サイクル中に行なう処理を増加させる
ことが可能となる。
%の面積で命令デコーダを構成できる。またPLAが小
さくなると、面積だけでなく動作速度も速くなる。この
ため、PLAの動作時間でMPU全体を律速することが
少なくなる。また前述のように、信号SA及びSBの選
択は、IDステージで判断するとデコーダの動作に使え
る時間を、EXステージで判断すると実行に使える時間
を短くすることになるが、これが全体の動作速度に影響
を与えるのであれば、例えばRRステージで行なう等、
影響の少ない任意のステージで行なうようにすればよ
い。このように本実施例では、パイプラインの各ステー
ジの動作時間を均等化させ、全体の処理時間を短くさせ
ることができ、1サイクル中に行なう処理を増加させる
ことが可能となる。
【0042】次に、図2に本発明の第2の実施例に係る
データ処理装置の構成図を示す。第2の実施例のデータ
処理装置では、命令コード61をIDステージ以降のス
テージに送って、必要なステージ、或いは必要となる以
前の時間的に余裕のあるステージで、必要なフィールド
のみをデコードする方法を採用している。
データ処理装置の構成図を示す。第2の実施例のデータ
処理装置では、命令コード61をIDステージ以降のス
テージに送って、必要なステージ、或いは必要となる以
前の時間的に余裕のあるステージで、必要なフィールド
のみをデコードする方法を採用している。
【0043】図2において、本実施例のデータ処理装置
は、7段のステージを有するパイプライン制御を採用し
ており、IFユニット21、IDユニット22、RRユ
ニット23、AGユニット24、OFユニット25、E
Xユニット26、マイクロROM17、制御部18、及
び第2のデコード手段2から構成され、各ユニットの基
本的動作は第1の実施例と同様である。
は、7段のステージを有するパイプライン制御を採用し
ており、IFユニット21、IDユニット22、RRユ
ニット23、AGユニット24、OFユニット25、E
Xユニット26、マイクロROM17、制御部18、及
び第2のデコード手段2から構成され、各ユニットの基
本的動作は第1の実施例と同様である。
【0044】本実施例のデータ処理装置が処理する命令
セットも、第1の実施例同様、図5に示す様な命令セッ
トを想定している。
セットも、第1の実施例同様、図5に示す様な命令セッ
トを想定している。
【0045】本実施例のデータ処理装置では、IDユニ
ット22で命令の種類のフィールドをデコーダDEC1
でデコードし、IDステージ以降のEXステージに置か
れる第2のデコード手段2において、サイズの種類のフ
ィールドをデコーダDEC3によりデコードを行なう構
成となっている。このため、デコーダDEC1及びDE
C3の積項数は以下に示すように7積項となる。
ット22で命令の種類のフィールドをデコーダDEC1
でデコードし、IDステージ以降のEXステージに置か
れる第2のデコード手段2において、サイズの種類のフ
ィールドをデコーダDEC3によりデコードを行なう構
成となっている。このため、デコーダDEC1及びDE
C3の積項数は以下に示すように7積項となる。
【0046】(命令Aである) (命令Bである) (命令Cである) (命令Dである) (サイズは8ビット) (サイズは16ビット) (サイズは32ビット) 即ち、この場合のデコーダDEC1及びDEC3の積項
数は、(命令の種類)+(サイズの種類)=4+3=7
となっている。
数は、(命令の種類)+(サイズの種類)=4+3=7
となっている。
【0047】しかし、本実施例では、サイズ情報がある
フィールドがどこにあるか、命令の種類が分かるまで分
からないため、命令の種類をデコードするデコーダDE
C1とサイズの種類をデコードするデコーダDEC3と
は、同時に動作できない。従って、図2に示すように、
サイズの種類をデコードするデコーダDEC3を命令を
同定するデコーダDEC1とは分けて構成し、デコーダ
DEC3の入力側でフィールドを選択するようにしてい
る。デコーダDEC3はパイプラインの各ステージにお
ける作業内容のバランスに従って、パイプライン上のI
Dステージ以降の任意のステージに置かれる。このよう
に、デコーダDEC3の入力側にフィールドを選択する
ためのマルチプレクサMPX2を設け、命令コードの全
て若しくはその一部分をそのステージまで供給するのが
特徴となっている。
フィールドがどこにあるか、命令の種類が分かるまで分
からないため、命令の種類をデコードするデコーダDE
C1とサイズの種類をデコードするデコーダDEC3と
は、同時に動作できない。従って、図2に示すように、
サイズの種類をデコードするデコーダDEC3を命令を
同定するデコーダDEC1とは分けて構成し、デコーダ
DEC3の入力側でフィールドを選択するようにしてい
る。デコーダDEC3はパイプラインの各ステージにお
ける作業内容のバランスに従って、パイプライン上のI
Dステージ以降の任意のステージに置かれる。このよう
に、デコーダDEC3の入力側にフィールドを選択する
ためのマルチプレクサMPX2を設け、命令コードの全
て若しくはその一部分をそのステージまで供給するのが
特徴となっている。
【0048】本実施例では、サイズの種類をデコードす
るデコーダDEC3、即ち第2のデコード手段2をEX
ステージに置いた構成となっているが、この場合、命令
レジスタのフィールド101及び102をそれぞれレジ
スタREG3及びREG4に供給し、EXステージ処理
中に、命令の処理動作の1つとしてフィールドをマルチ
プレクサMPX2で選択し、デコーダDEC3でサイズ
の種類をデコードする。
るデコーダDEC3、即ち第2のデコード手段2をEX
ステージに置いた構成となっているが、この場合、命令
レジスタのフィールド101及び102をそれぞれレジ
スタREG3及びREG4に供給し、EXステージ処理
中に、命令の処理動作の1つとしてフィールドをマルチ
プレクサMPX2で選択し、デコーダDEC3でサイズ
の種類をデコードする。
【0049】マルチプレクサMPX2におけるフィール
ドの選択方法としては、例えば、内部命令74で指定さ
れるマイクロROM17のマイクロ命令(内部命令8
3)の制御の下に選択するようにしても良いし、命令の
種類を同定するデコーダDEC1で選択フラグを生成し
て、この選択フラグでマルチプレクサMPX3を選択制
御させても良い。
ドの選択方法としては、例えば、内部命令74で指定さ
れるマイクロROM17のマイクロ命令(内部命令8
3)の制御の下に選択するようにしても良いし、命令の
種類を同定するデコーダDEC1で選択フラグを生成し
て、この選択フラグでマルチプレクサMPX3を選択制
御させても良い。
【0050】また、本実施例ではEXステージでフィー
ルド101及びフィールド102をレジスタREG3及
びREG4にそれぞれラッチして、マルチプレクサMP
X2で選択して信号76を生成するようにしているが、
この信号76がEXユニット83でクリティカルパスと
なるようであれば、IDステージ以降の任意のステージ
に第2のデコード手段2の回路を構成して信号76を生
成すればよい。第2のデコード手段2をEXステージに
置く場合のパイプライン上の動作を説明するタイミング
チャートを図7に示す。
ルド101及びフィールド102をレジスタREG3及
びREG4にそれぞれラッチして、マルチプレクサMP
X2で選択して信号76を生成するようにしているが、
この信号76がEXユニット83でクリティカルパスと
なるようであれば、IDステージ以降の任意のステージ
に第2のデコード手段2の回路を構成して信号76を生
成すればよい。第2のデコード手段2をEXステージに
置く場合のパイプライン上の動作を説明するタイミング
チャートを図7に示す。
【0051】第1の実施例と同様に、本実施例のデコー
ダDEC1及びDEC3の面積評価を行なうと以下のよ
うになる。
ダDEC1及びDEC3の面積評価を行なうと以下のよ
うになる。
【0052】 デコーダDEC1… (16×2+2)×4=136 デコーダDEC3… (2×2+2)×3=18 マルチプレクサMPX2、並びにレジスタREG3及び
REG4 となる。PLAのサイト数だけで比較すれば、(136
+18):432と、従来の36%で実現できることに
なる。
REG4 となる。PLAのサイト数だけで比較すれば、(136
+18):432と、従来の36%で実現できることに
なる。
【0053】このように本実施例によれば、従来の36
%の面積で命令デコーダを構成できる。またPLAが小
さくなると、面積だけでなく動作速度も速くなる。この
ため、PLAの動作時間でMPU全体を律速することが
少なくなる。また前述のように、フィールド101及び
102の選択は、IDステージで判断するとデコーダの
動作に使える時間を、EXステージで判断すると実行に
使える時間を短くすることになるが、これが全体の動作
速度に影響を与えるのであれば、例えばRRステージで
行なう等、影響の少ない任意のステージで行なうように
すればよい。このように本実施例では、パイプラインの
各ステージの動作時間を均等化させ、全体の処理時間を
短くさせることができ、1サイクル中に行なう処理を増
加させることが可能となる。
%の面積で命令デコーダを構成できる。またPLAが小
さくなると、面積だけでなく動作速度も速くなる。この
ため、PLAの動作時間でMPU全体を律速することが
少なくなる。また前述のように、フィールド101及び
102の選択は、IDステージで判断するとデコーダの
動作に使える時間を、EXステージで判断すると実行に
使える時間を短くすることになるが、これが全体の動作
速度に影響を与えるのであれば、例えばRRステージで
行なう等、影響の少ない任意のステージで行なうように
すればよい。このように本実施例では、パイプラインの
各ステージの動作時間を均等化させ、全体の処理時間を
短くさせることができ、1サイクル中に行なう処理を増
加させることが可能となる。
【0054】次に、図3に本発明の第3の実施例に係る
データ処理装置の構成図を示す。第3の実施例のデータ
処理装置では、IDユニット32でデコードの途中段階
の情報を出力し、IDステージ以降のステージでそれら
の情報を使って比較、選択等の処理を行なって該ステー
ジに必要な情報を生成する方法を採用している。
データ処理装置の構成図を示す。第3の実施例のデータ
処理装置では、IDユニット32でデコードの途中段階
の情報を出力し、IDステージ以降のステージでそれら
の情報を使って比較、選択等の処理を行なって該ステー
ジに必要な情報を生成する方法を採用している。
【0055】図3において、本実施例のデータ処理装置
は、7段のステージを有するパイプライン制御を採用し
ており、IFユニット31、IDユニット32、RRユ
ニット33、AGユニット34、OFユニット35、E
Xユニット36、マイクロROM17、制御部18、及
び情報生成手段3から構成され、各ユニットの基本的動
作は第1の実施例と同様である。
は、7段のステージを有するパイプライン制御を採用し
ており、IFユニット31、IDユニット32、RRユ
ニット33、AGユニット34、OFユニット35、E
Xユニット36、マイクロROM17、制御部18、及
び情報生成手段3から構成され、各ユニットの基本的動
作は第1の実施例と同様である。
【0056】本実施例のデータ処理装置が処理する命令
セットは、第1の実施例(図5)の命令セットに対し
て、以下に示す様な制限を付加した命令セットを想定し
ている。
セットは、第1の実施例(図5)の命令セットに対し
て、以下に示す様な制限を付加した命令セットを想定し
ている。
【0057】(1) 命令によってオペランドサイズが規定
されている。
されている。
【0058】(2) 命令Aは16ビットの指定のみ可能で
ある。
ある。
【0059】(3) 命令B,Cは8,16,32ビット全
ての指定が可能である。
ての指定が可能である。
【0060】(4) 命令Dは32ビットの指定のみ可能で
ある。
ある。
【0061】尚、命令Aで8,32ビットを指定した
り、命令Dで8,16ビットの指定をしたりすると禁止
サイズ例外として、EXステージの処理が始まる前にパ
イプラインを停止するものとする。
り、命令Dで8,16ビットの指定をしたりすると禁止
サイズ例外として、EXステージの処理が始まる前にパ
イプラインを停止するものとする。
【0062】比較のために、先ず、従来のデコード方式
によるIDユニット32のデコーダの構成を説明する。
従来のデコード方式では、命令コードの全ビットから必
要とする情報全てを一度にデコードするので、この場合
のデコーダ(PLA)の積項数は以下に示すように12
積項となる。
によるIDユニット32のデコーダの構成を説明する。
従来のデコード方式では、命令コードの全ビットから必
要とする情報全てを一度にデコードするので、この場合
のデコーダ(PLA)の積項数は以下に示すように12
積項となる。
【0063】 (命令Aでオペランドサイズは8ビット) → 禁止サ
イズ例外の検出 (命令Aでオペランドサイズは16ビット) (命令Aでオペランドサイズは32ビット) → 禁止
サイズ例外の検出 (命令Bでオペランドサイズは8ビット) (命令Bでオペランドサイズは16ビット) (命令Bでオペランドサイズは32ビット) (命令Cでオペランドサイズは8ビット) (命令Cでオペランドサイズは16ビット) (命令Cでオペランドサイズは32ビット) (命令Dでオペランドサイズは8ビット) → 禁止サ
イズ例外の検出 (命令Dでオペランドサイズは16ビット) → 禁止
サイズ例外の検出 (命令Dでオペランドサイズは32ビット) 本実施例のデータ処理装置では、IDユニット12の処
理動作を同定するデコーダDEC4により禁止サイズ例
外の検出情報を出力し、その禁止サイズ例外の検出情報
とサイズ情報を比較する情報生成手段3の回路を、デコ
ーダDEC4から独立させた構成となっている。このた
め、命令の種類を同定するデコーダDEC4の積項数は
以下に示すように4積項となる。
イズ例外の検出 (命令Aでオペランドサイズは16ビット) (命令Aでオペランドサイズは32ビット) → 禁止
サイズ例外の検出 (命令Bでオペランドサイズは8ビット) (命令Bでオペランドサイズは16ビット) (命令Bでオペランドサイズは32ビット) (命令Cでオペランドサイズは8ビット) (命令Cでオペランドサイズは16ビット) (命令Cでオペランドサイズは32ビット) (命令Dでオペランドサイズは8ビット) → 禁止サ
イズ例外の検出 (命令Dでオペランドサイズは16ビット) → 禁止
サイズ例外の検出 (命令Dでオペランドサイズは32ビット) 本実施例のデータ処理装置では、IDユニット12の処
理動作を同定するデコーダDEC4により禁止サイズ例
外の検出情報を出力し、その禁止サイズ例外の検出情報
とサイズ情報を比較する情報生成手段3の回路を、デコ
ーダDEC4から独立させた構成となっている。このた
め、命令の種類を同定するデコーダDEC4の積項数は
以下に示すように4積項となる。
【0064】(命令Aである)(禁止サイズは8,32
ビット) (命令Bである)(禁止サイズは無し) (命令Cである)(禁止サイズは無し) (命令Dである)(禁止サイズは8,16ビット) また、禁止サイズ情報(デコーダDEC4の出力信号S
IZE)は、例えば3ビットで以下のようにビットパタ
ーンを割り振る。
ビット) (命令Bである)(禁止サイズは無し) (命令Cである)(禁止サイズは無し) (命令Dである)(禁止サイズは8,16ビット) また、禁止サイズ情報(デコーダDEC4の出力信号S
IZE)は、例えば3ビットで以下のようにビットパタ
ーンを割り振る。
【0065】000:禁止サイズは無し 100:禁止サイズは8ビット 010:禁止サイズは16ビット 001:禁止サイズは32ビット 110:禁止サイズは8,16ビット 101:禁止サイズは8,32ビット 011:禁止サイズは16,32ビット 一方、サイズの種類をデコードするデコーダDEC2
は、第1の実施例のデコーダDEC2と同一のものを使
用する。また、デコーダDEC2の出力信号SA及びS
Bの選択回路も、第1の実施例の構成(レジスタREG
1及びREG2、並びにマルチプレクサMPX1)を使
用して、RRステージに置く。
は、第1の実施例のデコーダDEC2と同一のものを使
用する。また、デコーダDEC2の出力信号SA及びS
Bの選択回路も、第1の実施例の構成(レジスタREG
1及びREG2、並びにマルチプレクサMPX1)を使
用して、RRステージに置く。
【0066】つまり、情報生成手段3はレジスタREG
1及びREG2、マルチプレクサMPX1、並びにコン
パレータCOMP1から構成される。コンパレータCO
MP1では、デコーダDEC4の出力SIZEと、マル
チプレクサMPX1の出力76を比較して、異なる場合
には禁止サイズ例外信号SERRをアクティブにする。
1及びREG2、マルチプレクサMPX1、並びにコン
パレータCOMP1から構成される。コンパレータCO
MP1では、デコーダDEC4の出力SIZEと、マル
チプレクサMPX1の出力76を比較して、異なる場合
には禁止サイズ例外信号SERRをアクティブにする。
【0067】制御部18はこの禁止サイズ例外信号SE
RRがアクティブとなったことを認識するとパイプライ
ンの動作を停止する。本実施例のパイプライン上の動作
を説明するタイミングチャートを図8に示す。
RRがアクティブとなったことを認識するとパイプライ
ンの動作を停止する。本実施例のパイプライン上の動作
を説明するタイミングチャートを図8に示す。
【0068】本実施例では、サイズの種類をデコードす
るデコーダ及び選択回路を第1の実施例と同じものを使
用したが、第2の実施例の構成としてもよい。また、情
報生成手段3の回路はIDステージ以降でEXステージ
より前の任意のステージに置くことも可能である。
るデコーダ及び選択回路を第1の実施例と同じものを使
用したが、第2の実施例の構成としてもよい。また、情
報生成手段3の回路はIDステージ以降でEXステージ
より前の任意のステージに置くことも可能である。
【0069】第1の実施例と同様に、本実施例のデコー
ダDEC4及びDEC2の面積評価を行なうと以下のよ
うになる。
ダDEC4及びDEC2の面積評価を行なうと以下のよ
うになる。
【0070】従来の方法によりデコーダを構成すると、
入力が命令コード16ビット全てであり、出力が命令の
種類(2ビット)、サイズ(2ビット)、及び禁止サイ
ズ例外信号SERRで、積項数が12積項である。従っ
て、 {16×2+(2+2+1)}×12=444 となり、一方、本実施例では、 デコーダDEC4… (16×2+2+3)×4=148 デコーダDEC2… (2×2×2+2×2)×3=36 マルチプレクサMPX1、並びにレジスタREG1及び
REG2となる。PLAのサイト数だけで比較すれば、
(148+36):444と、従来の41%で実現でき
ることになる。
入力が命令コード16ビット全てであり、出力が命令の
種類(2ビット)、サイズ(2ビット)、及び禁止サイ
ズ例外信号SERRで、積項数が12積項である。従っ
て、 {16×2+(2+2+1)}×12=444 となり、一方、本実施例では、 デコーダDEC4… (16×2+2+3)×4=148 デコーダDEC2… (2×2×2+2×2)×3=36 マルチプレクサMPX1、並びにレジスタREG1及び
REG2となる。PLAのサイト数だけで比較すれば、
(148+36):444と、従来の41%で実現でき
ることになる。
【0071】このように本実施例によれば、第1及び第
2の実施例と同様に、PLAの減少によりデコーダの動
作速度を向上させることができ、IDステージに限らず
選択及び比較動作を行なえることから、処理分散により
MPU全体の動作速度を向上させることが可能となる。
2の実施例と同様に、PLAの減少によりデコーダの動
作速度を向上させることができ、IDステージに限らず
選択及び比較動作を行なえることから、処理分散により
MPU全体の動作速度を向上させることが可能となる。
【0072】次に、図4に本発明の第4の実施例に係る
データ処理装置の構成図を示す。第4の実施例のデータ
処理装置では、IDユニット42で命令の処理動作を同
定し、命令の同定の為の情報以外の情報のデコード処理
を幾つかの処理に分割して、IDステージ以降のステー
ジで該分割処理を並列に、或いはパイプライン上に分散
して処理する方法を採用している。
データ処理装置の構成図を示す。第4の実施例のデータ
処理装置では、IDユニット42で命令の処理動作を同
定し、命令の同定の為の情報以外の情報のデコード処理
を幾つかの処理に分割して、IDステージ以降のステー
ジで該分割処理を並列に、或いはパイプライン上に分散
して処理する方法を採用している。
【0073】図4において、本実施例のデータ処理装置
は、7段のステージを有するパイプライン制御を採用し
ており、IFユニット41、IDユニット42、RRユ
ニット43、AGユニット44、OFユニット45、E
Xユニット46、マイクロROM17、制御部18、並
びに構成手段5及び6から成る第2の命令デコードユニ
ット4から構成されている。また、41から46の各ユ
ニットの基本的動作は第1の実施例と同様である。
は、7段のステージを有するパイプライン制御を採用し
ており、IFユニット41、IDユニット42、RRユ
ニット43、AGユニット44、OFユニット45、E
Xユニット46、マイクロROM17、制御部18、並
びに構成手段5及び6から成る第2の命令デコードユニ
ット4から構成されている。また、41から46の各ユ
ニットの基本的動作は第1の実施例と同様である。
【0074】本実施例のデータ処理装置が処理する命令
セットは、TRON仕様の命令セットである。TRON
仕様の命令フォーマットには、大きく、命令の対象性が
良く機能の高い一般形(gen モード)と、機能は制限さ
れるが命令長の短い短縮形(short モード)の2種類が
あり、更に、図9に示すように7種類の命令フォーマッ
トが用意され、各命令毎に種々の制約条件を持ってい
る。尚、TRON仕様の詳細については、K.Sakamura,
"Architecture of the TRON VLSI CPU", IEEE MICRO,
April 1987, pp17-31. を参照されたい。
セットは、TRON仕様の命令セットである。TRON
仕様の命令フォーマットには、大きく、命令の対象性が
良く機能の高い一般形(gen モード)と、機能は制限さ
れるが命令長の短い短縮形(short モード)の2種類が
あり、更に、図9に示すように7種類の命令フォーマッ
トが用意され、各命令毎に種々の制約条件を持ってい
る。尚、TRON仕様の詳細については、K.Sakamura,
"Architecture of the TRON VLSI CPU", IEEE MICRO,
April 1987, pp17-31. を参照されたい。
【0075】図9は、MOV命令における各命令フォー
マットのビットパターン、各オペランドのアドレッシン
グモード、及びサイズを示している。即ち、TRON仕
様には、レジスタ−メモリ間のL(Load)形式(図中
)及びS(Store )形式()、イミディエト−メモ
リ間のI(Immediate )形式()、Z形式()、リ
テラル−メモリ間のQ(Quick )形式()、2オペラ
ンド一般型のG(General )形式()、並びに8ビッ
トイミディエト型のE形式()がある。
マットのビットパターン、各オペランドのアドレッシン
グモード、及びサイズを示している。即ち、TRON仕
様には、レジスタ−メモリ間のL(Load)形式(図中
)及びS(Store )形式()、イミディエト−メモ
リ間のI(Immediate )形式()、Z形式()、リ
テラル−メモリ間のQ(Quick )形式()、2オペラ
ンド一般型のG(General )形式()、並びに8ビッ
トイミディエト型のE形式()がある。
【0076】図中、<de>及び<sr>はそれぞれ4ビットで
ソース及びデスティネーションのレジスタ番号を指定す
る。<src.>及び<dest>はそれぞれ6ビットでソース及び
デスティネーションのアドレッシングモードを、<.sr
c..>及び<.dest.>はそれぞれ8ビットでソース及びデス
ティネーションのアドレッシングモードを、それぞれ指
定する。また、Sx及びSyはそれぞれ2ビットでソース・
オペランド及びデスティネーション・オペランドのサイ
ズを指定する。exp.はイミディエト値である。尚、命令
コードのビット一は、左端から0ビット,1ビット,…
と数えるものとする。
ソース及びデスティネーションのレジスタ番号を指定す
る。<src.>及び<dest>はそれぞれ6ビットでソース及び
デスティネーションのアドレッシングモードを、<.sr
c..>及び<.dest.>はそれぞれ8ビットでソース及びデス
ティネーションのアドレッシングモードを、それぞれ指
定する。また、Sx及びSyはそれぞれ2ビットでソース・
オペランド及びデスティネーション・オペランドのサイ
ズを指定する。exp.はイミディエト値である。尚、命令
コードのビット一は、左端から0ビット,1ビット,…
と数えるものとする。
【0077】上記の内、gen モードとshort モードは、
更にそのビットパターンで幾つかのアドレッシングモー
ドが適用される。サポートしているアドレッシングモー
ドを図10に示す。gen モードでは6ビット、short モ
ードでは8ビットで指定する。gen モードで16種類、
short モードで12種類のアドレッシングモードをサポ
ートしている。
更にそのビットパターンで幾つかのアドレッシングモー
ドが適用される。サポートしているアドレッシングモー
ドを図10に示す。gen モードでは6ビット、short モ
ードでは8ビットで指定する。gen モードで16種類、
short モードで12種類のアドレッシングモードをサポ
ートしている。
【0078】このように、TRON仕様の命令体形で
は、同じRn−RnのMOV命令でも、 L-format(short=Rn) 00<Rn>Sx0101<Rn> S-format(short=Rn) 00<Rn>Sy1001<Rn> G-format(gen=Rn) 110100Sx0001<Rn> 100010Sy0001<Rn> の3種類があることになる。
は、同じRn−RnのMOV命令でも、 L-format(short=Rn) 00<Rn>Sx0101<Rn> S-format(short=Rn) 00<Rn>Sy1001<Rn> G-format(gen=Rn) 110100Sx0001<Rn> 100010Sy0001<Rn> の3種類があることになる。
【0079】また、ソース・オペランドで禁止されてい
るアドレッシングモードは@-SP であり、デスティネー
ション・オペランドで禁止されているアドレッシングモ
ードは@SP+ 及び#expである。尚、禁止アドレッシング
モードとは、16種類個別に指定されるのではなく、次
の6分類に従って禁止される。
るアドレッシングモードは@-SP であり、デスティネー
ション・オペランドで禁止されているアドレッシングモ
ードは@SP+ 及び#expである。尚、禁止アドレッシング
モードとは、16種類個別に指定されるのではなく、次
の6分類に従って禁止される。
【0080】
【表1】 スタップポップ @SP+ スタックプッシュ @-SP レジスタ直接 Rn 即値 #exp メモリ @exp:16,@exp:32,@(exp:16,PC) ,@(exp:32,PC) , @(exp:16,Rn) ,@Rn,@(exp:32,Rn) ,@(exp:4,FP), @(exp:4,SP) 多段間接モード @..@(-) ,@..@(PC,-),@..@(Rn,-)
【0081】比較のために、先ず、従来のデコード方式
によるIDユニット42のデコーダの構成を説明する。
従来のデコード方式では、MOV命令をデコードするだ
けでその積項数は次のようになる。
によるIDユニット42のデコーダの構成を説明する。
従来のデコード方式では、MOV命令をデコードするだ
けでその積項数は次のようになる。
【0082】
【表2】 (L-formatである)×(src.が12種類)×(destはRnに固定) +(S-formatである)×(src.はRnに固定)×(destが12種類) +(I-formatである)×(src.は#expに固定)×(destが12種類) +(Z-formatである)×(src.は#0に固定)×(destが16種類) +(Q-formatである)×(src.は#expに固定)×(destが16種類) +(G-formatである)×(src.が16種類)×(destが16種類) +(E-formatである)×(src.は#expに固定)×(destが16種類) =336積項 また、この時の出力数は、次のようになる。
【0083】 (MOVである) 信号IMA +(src.のアドレッシングモード) 信号SAD<0:3> +(destのアドレッシングモード) 信号DAD<0:3> +(src.のレジスタ番号) 信号RS<0:3> +(destのレジスタ番号) 信号RD<0:3> +(禁止アドレッシングモードである) 信号IAE =18出力 入力数を16ビットとすると、このデコーダはPLAで
実現する時、 (16×2+18)×=16800 のサイト数を持つことになる。
実現する時、 (16×2+18)×=16800 のサイト数を持つことになる。
【0084】本実施例のデータ処理装置では、IDユニ
ット42でデコードの途中段階として種々の信号を出力
し、IDステージ以降のRRステージで、第2の命令デ
コードユニット4の構成手段5によりそれらの信号群を
使って選択等の処理を行ない、AGステージで、第2の
命令デコードユニット4の構成手段6により比較等の処
理を行なって禁止アドレッシングモード例外の信号を生
成する構成となっている。
ット42でデコードの途中段階として種々の信号を出力
し、IDステージ以降のRRステージで、第2の命令デ
コードユニット4の構成手段5によりそれらの信号群を
使って選択等の処理を行ない、AGステージで、第2の
命令デコードユニット4の構成手段6により比較等の処
理を行なって禁止アドレッシングモード例外の信号を生
成する構成となっている。
【0085】先ず、IDステージにはデコーダDEC5
が構成されている。IFユニット41内の命令レジスタ
IRの命令コードをデコーダDEC5でデコードして次
の信号群を生成する。即ち、命令の種類を示す信号IM
A、ソースのアドレッシングモードが#expに固定,Rnに
固定,short モード,及びgen モードの何れであるかを
示す信号SA<0:1>、デスティネーションのアドレ
ッシングモードがRnに固定,short モード,及びgen モ
ードの何れであるかを示す信号DA<0:1>、ソース
で禁止しているアドレッシングモードリストを示す信号
SIA<0:5>、デスティネーションで禁止している
アドレッシングモードリストを示す信号DIA<0:5
>、short モードである時に何れのアドレッシングモー
ドであるかを示す信号SH<0:3>、gen モードであ
る時に何れのアドレッシングモードであるかを示す信号
GN<0:3>である。
が構成されている。IFユニット41内の命令レジスタ
IRの命令コードをデコーダDEC5でデコードして次
の信号群を生成する。即ち、命令の種類を示す信号IM
A、ソースのアドレッシングモードが#expに固定,Rnに
固定,short モード,及びgen モードの何れであるかを
示す信号SA<0:1>、デスティネーションのアドレ
ッシングモードがRnに固定,short モード,及びgen モ
ードの何れであるかを示す信号DA<0:1>、ソース
で禁止しているアドレッシングモードリストを示す信号
SIA<0:5>、デスティネーションで禁止している
アドレッシングモードリストを示す信号DIA<0:5
>、short モードである時に何れのアドレッシングモー
ドであるかを示す信号SH<0:3>、gen モードであ
る時に何れのアドレッシングモードであるかを示す信号
GN<0:3>である。
【0086】また、命令コードの2ビット目から5ビッ
ト目までを信号FAとして、命令コードの12ビット目
から15ビット目までを信号FBとして、次のRRステ
ージに送る。
ト目までを信号FAとして、命令コードの12ビット目
から15ビット目までを信号FBとして、次のRRステ
ージに送る。
【0087】次に、RRステージには、第1モード判定
回路51、第2モード判定回路52、第1変換回路5
3、第2変換回路54、並びにマルチプレクサMPX3
及びMPX4から構成される第2の命令デコードユニッ
ト4の構成手段5が置かれている。
回路51、第2モード判定回路52、第1変換回路5
3、第2変換回路54、並びにマルチプレクサMPX3
及びMPX4から構成される第2の命令デコードユニッ
ト4の構成手段5が置かれている。
【0088】第1モード判定回路51では、信号SA<
0:1>の値に従って、信号SA<0:1>、SH<
0:3>、及びGN<0:3>から、ソースのアドレッ
シングモードを示す信号SAD<0:3>を生成し、更
に第1変換回路53により、アドレッシングモード信号
SAD<0:3>を6分類した信号SIAD<0:5>
を生成する。また、第2モード判定回路52では、信号
DA<0:1>の値に従って、信号DA<0:1>、S
H<0:3>、及びGN<0:3>から、デスティネー
ションのアドレッシングモードを示す信号DAD<0:
3>を生成し、更に第2変換回路54により、アドレッ
シングモード信号DAD<0:3>を6分類した信号D
IAD<0:5>を生成する。
0:1>の値に従って、信号SA<0:1>、SH<
0:3>、及びGN<0:3>から、ソースのアドレッ
シングモードを示す信号SAD<0:3>を生成し、更
に第1変換回路53により、アドレッシングモード信号
SAD<0:3>を6分類した信号SIAD<0:5>
を生成する。また、第2モード判定回路52では、信号
DA<0:1>の値に従って、信号DA<0:1>、S
H<0:3>、及びGN<0:3>から、デスティネー
ションのアドレッシングモードを示す信号DAD<0:
3>を生成し、更に第2変換回路54により、アドレッ
シングモード信号DAD<0:3>を6分類した信号D
IAD<0:5>を生成する。
【0089】また、第1モード判定回路51では、マル
チプレクサMPX3において、信号SA<0:1>の値
がshort モード若しくはgen モードであったら信号FB
を、信号SA<0:1>の値が#exp若しくはRnの固定モ
ードであったら信号FAを、信号RS<0:3>として
選択するよう制御する選択信号SAEを生成して、マル
チプレクサMPX3に供給している。同様に、第2モー
ド判定回路52でも、マルチプレクサMPX4におい
て、信号DA<0:1>の値がshort モード若しくはge
n モードであったら信号FBを、信号DA<0:1>の
値が#exp若しくはRnの固定モードであったら信号FA
を、信号RD<0:3>として選択するよう制御する選
択信号DAEを生成して、マルチプレクサMPX4に供
給している。
チプレクサMPX3において、信号SA<0:1>の値
がshort モード若しくはgen モードであったら信号FB
を、信号SA<0:1>の値が#exp若しくはRnの固定モ
ードであったら信号FAを、信号RS<0:3>として
選択するよう制御する選択信号SAEを生成して、マル
チプレクサMPX3に供給している。同様に、第2モー
ド判定回路52でも、マルチプレクサMPX4におい
て、信号DA<0:1>の値がshort モード若しくはge
n モードであったら信号FBを、信号DA<0:1>の
値が#exp若しくはRnの固定モードであったら信号FA
を、信号RD<0:3>として選択するよう制御する選
択信号DAEを生成して、マルチプレクサMPX4に供
給している。
【0090】更に、AGステージには、コンパレータC
OMP2及びCOMP3、並びに例外検出回路55から
構成される第2の命令デコードユニット4の構成手段6
が置かれている。
OMP2及びCOMP3、並びに例外検出回路55から
構成される第2の命令デコードユニット4の構成手段6
が置かれている。
【0091】コンパレータCOMP2では、禁止アドレ
ッシングモード信号SIA<0:5>と、第1変換回路
53の出力信号SIAD<0:5>とを比較して、一致
していたら信号IAESをアクティブにする。また、コ
ンパレータCOMP3では、禁止アドレッシングモード
信号DIA<0:5>と、第2変換回路54の出力信号
DIAD<0:5>とを比較して、一致していたら信号
IAEDをアクティブにする。更に例外検出回路55で
は、信号IAESと信号IAEDを入力して、何れかの
信号がアクティブの時、禁止アドレッシングモード例外
信号IAEをアクティブにして制御部18に供給する。
制御部18はこの禁止アドレッシングモード例外信号I
AEがアクティブとなったことを認識するとパイプライ
ンの動作を停止する。
ッシングモード信号SIA<0:5>と、第1変換回路
53の出力信号SIAD<0:5>とを比較して、一致
していたら信号IAESをアクティブにする。また、コ
ンパレータCOMP3では、禁止アドレッシングモード
信号DIA<0:5>と、第2変換回路54の出力信号
DIAD<0:5>とを比較して、一致していたら信号
IAEDをアクティブにする。更に例外検出回路55で
は、信号IAESと信号IAEDを入力して、何れかの
信号がアクティブの時、禁止アドレッシングモード例外
信号IAEをアクティブにして制御部18に供給する。
制御部18はこの禁止アドレッシングモード例外信号I
AEがアクティブとなったことを認識するとパイプライ
ンの動作を停止する。
【0092】次に、本実施例のデコーダDEC5の面積
評価を行なうと以下のようになる。
評価を行なうと以下のようになる。
【0093】デコーダDEC5をPLAで実現した場合
の積項数は、次に示す35積項となる。
の積項数は、次に示す35積項となる。
【0094】 (src.のアドレッシングモードが#expに固定) (src.のアドレッシングモードがRnに固定) (src.のアドレッシングモードがshort モード) (src.のアドレッシングモードがgen モード) (destのアドレッシングモードがRnに固定) (destのアドレッシングモードがshort モード) (destのアドレッシングモードがgen モード) (short モードである時、何れのアドレッシングモード
であるか)×12 (gen モードである時、何れのアドレッシングモードで
あるか)×16 また、short モード、gen モードはそれぞれ6ビット、
8ビットの入力で済むので、デコーダDEC5のPLA
の総サイト数は、
であるか)×12 (gen モードである時、何れのアドレッシングモードで
あるか)×16 また、short モード、gen モードはそれぞれ6ビット、
8ビットの入力で済むので、デコーダDEC5のPLA
の総サイト数は、
【数1】 デコーダDEC5… (16×2+17)×7+(6×2+4)×12 +(8×2+4)×16=855 となる。PLAのサイト数だけで比較すれば、855:
16800と、従来の95%減となる。
16800と、従来の95%減となる。
【0095】このように本実施例によれば、デコード動
作をIDステージのみに負担させることなく、パイプラ
イン上の複数のステージにその処理を振り分けることと
したので、PLAの減少によりデコーダの動作速度を向
上させることができ、また1ステージ当たりの動作時間
を均等化でき、全体の動作時間を短縮させることが可能
となる。
作をIDステージのみに負担させることなく、パイプラ
イン上の複数のステージにその処理を振り分けることと
したので、PLAの減少によりデコーダの動作速度を向
上させることができ、また1ステージ当たりの動作時間
を均等化でき、全体の動作時間を短縮させることが可能
となる。
【0096】
【発明の効果】以上のように本発明によれば、 (1)命令デコードの処理ステージで、命令コードにお
いて予め設定された各フィールドを別々にデコードし、
パイプライン上の命令デコードの処理ステージ以降の任
意の処理ステージで、必要になった時、或いは該処理ス
テージの処理時間に余裕のある時に、命令の処理内容及
び命令の形式により前記デコード結果の中から必要な情
報を選択していく命令処理方式 (2)パイプライン上の命令デコードの処理ステージ以
降の任意の処理ステージで、必要になった時、或いは該
処理ステージの処理時間に余裕のある時に、命令コード
の必要なフィールドをデコードする命令処理方式 (3)命令デコードの処理ステージで、デコードの途中
段階の情報を出力し、パイプライン上の命令デコードの
処理ステージ以降の任意の処理ステージで、必要になっ
た時、或いは該処理ステージの処理時間に余裕のある時
に、途中段階の情報に対して比較、選択等の処理を行な
って該処理ステージに必要な情報を生成する命令処理方
式 (4)命令デコードの処理ステージで命令の処理動作を
同定し、命令の同定の為の情報以外の情報のデコード処
理を幾つかの処理に分割して、該分割処理を並列に、或
いはパイプライン上に分散して処理する命令処理方式の
何れかの命令処理方式を採用してデータ処理装置を構成
することにより、命令コード内の情報のデコードを分散
化することができ、命令デコーダの規模を小さくするこ
とができ、また、命令デコーダの動作速度を向上させる
ことができる。従って、命令デコーダの動作時間で装置
全体を律速することが少なくなる。また命令デコードを
行なう手段の内、命令デコードの処理ステージ以外の処
理ステージに構成されるデコード手段は、動作速度の影
響の少ない任意の処理ステージで行なうようにすれば、
パイプラインの各ステージの動作時間を均等化させ、全
体の処理時間を短くさせることができ、1サイクル中に
行なう処理を増加させることが可能となり、結果とし
て、データ処理装置全体の動作速度を向上させ得る命令
処理方式及びデータ処理装置を提供することができる。
いて予め設定された各フィールドを別々にデコードし、
パイプライン上の命令デコードの処理ステージ以降の任
意の処理ステージで、必要になった時、或いは該処理ス
テージの処理時間に余裕のある時に、命令の処理内容及
び命令の形式により前記デコード結果の中から必要な情
報を選択していく命令処理方式 (2)パイプライン上の命令デコードの処理ステージ以
降の任意の処理ステージで、必要になった時、或いは該
処理ステージの処理時間に余裕のある時に、命令コード
の必要なフィールドをデコードする命令処理方式 (3)命令デコードの処理ステージで、デコードの途中
段階の情報を出力し、パイプライン上の命令デコードの
処理ステージ以降の任意の処理ステージで、必要になっ
た時、或いは該処理ステージの処理時間に余裕のある時
に、途中段階の情報に対して比較、選択等の処理を行な
って該処理ステージに必要な情報を生成する命令処理方
式 (4)命令デコードの処理ステージで命令の処理動作を
同定し、命令の同定の為の情報以外の情報のデコード処
理を幾つかの処理に分割して、該分割処理を並列に、或
いはパイプライン上に分散して処理する命令処理方式の
何れかの命令処理方式を採用してデータ処理装置を構成
することにより、命令コード内の情報のデコードを分散
化することができ、命令デコーダの規模を小さくするこ
とができ、また、命令デコーダの動作速度を向上させる
ことができる。従って、命令デコーダの動作時間で装置
全体を律速することが少なくなる。また命令デコードを
行なう手段の内、命令デコードの処理ステージ以外の処
理ステージに構成されるデコード手段は、動作速度の影
響の少ない任意の処理ステージで行なうようにすれば、
パイプラインの各ステージの動作時間を均等化させ、全
体の処理時間を短くさせることができ、1サイクル中に
行なう処理を増加させることが可能となり、結果とし
て、データ処理装置全体の動作速度を向上させ得る命令
処理方式及びデータ処理装置を提供することができる。
【図1】本発明の第1の実施例に係るデータ処理装置の
構成図である。
構成図である。
【図2】本発明の第2の実施例に係るデータ処理装置の
構成図である。
構成図である。
【図3】本発明の第3の実施例に係るデータ処理装置の
構成図である。
構成図である。
【図4】本発明の第4の実施例に係るデータ処理装置の
構成図である。
構成図である。
【図5】第1、第2、及び第3の実施例のデータ処理装
置で使用する命令セットの説明図である。
置で使用する命令セットの説明図である。
【図6】第1の実施例のデータ処理装置におけるパイプ
ライン動作を説明するタイミングチャートである。
ライン動作を説明するタイミングチャートである。
【図7】第2の実施例のデータ処理装置におけるパイプ
ライン動作を説明するタイミングチャートである。
ライン動作を説明するタイミングチャートである。
【図8】第3の実施例のデータ処理装置におけるパイプ
ライン動作を説明するタイミングチャートである。
ライン動作を説明するタイミングチャートである。
【図9】第4の実施例のデータ処理装置で使用する命令
フォーマットを説明する図である。
フォーマットを説明する図である。
【図10】第4の実施例のデータ処理装置で使用する命
令のアドレッシングモードを説明する図である。
令のアドレッシングモードを説明する図である。
【図11】従来のデータ処理装置におけるパイプライン
動作を説明するタイミングチャートである。
動作を説明するタイミングチャートである。
【図12】従来のデータ処理装置におけるパイプライン
動作を説明するタイミングチャートである。
動作を説明するタイミングチャートである。
【図13】従来のデータ処理装置で使用する命令セット
の説明図である。
の説明図である。
1 選択手段 2 第2のデコード手段 3 情報生成手段 4 第2の命令デコードユニット 5,6 構成手段 11,21,31,41 命令フェッチユニット(IF
ユニット) 12,22,32,42 命令デコードユニット(ID
ユニット) 13,23,33,43 マイクロ命令読み出しユニッ
ト(RRユニット) ..4,24,34,44 オペランドアドレス計算ユ
ニット(AGユニット) 15,25,35,45 オペランドフェッチユニット
(OFユニット) 16,26,36,46 実行ユニット(EXユニッ
ト) 17 マイクロROM 18 制御部 DEC1,DEC2 デコード手段(デコーダ) IR 命令レジスタ REG1〜REG5 レジスタ MPX1〜MPX4 マルチプレクサ COMP1〜COMP3 コンパレータ 51 第1モード判定回路 52 第2モード判定回路 53 第1変換回路 54 第2変換回路 55 例外検出回路(ORゲート回路) 61 命令コード 62 命令フェッチ要求信号 74,81〜83,91〜93 内部命令 63 オペランドフェッチ要求信号 64 オペランドアドレス 65 オペランドデータ 66 ストア要求信号 67 ストアデータ 101,102 命令レジスタのフィールド SA,SB オペランドサイズを示す信号 SIZE 禁止サイズ情報 SERR 禁止サイズ例外信号 IMA 命令の種類を示す信号 SA<0:1> ソースのアドレッシングモード信号 DA<0:1> デスティネーションのアドレッシング
モード信号 SIA<0:5> ソースの禁止アドレッシングモード
リスト信号 DIA<0:5> デスティネーションの禁止アドレッ
シングモードリスト信号 SH<0:3> shortモード時のアドレッシングモー
ド信号 GN<0:3> genモード時のアドレッシングモード
信号 FA 命令レジスタIR<2:5>の出力信号 FB 命令レジスタIR<12:15>の出力信号 SAD<0:3> ソースのアドレッシングモード信号 SIAD<0:5> SAD<0:3>を6分類した信
号 DAD<0:3> デスティネーションのアドレッシン
グモード信号 DIAD<0:5> DAD<0:3>を6分類した信
号 SAE,DAE 選択信号 IAES ソースの禁止アドレッシングモード例外信号 IAED デスティネーションの禁止アドレッシングモ
ード例外信号 IAE 禁止アドレッシングモード例外信号
ユニット) 12,22,32,42 命令デコードユニット(ID
ユニット) 13,23,33,43 マイクロ命令読み出しユニッ
ト(RRユニット) ..4,24,34,44 オペランドアドレス計算ユ
ニット(AGユニット) 15,25,35,45 オペランドフェッチユニット
(OFユニット) 16,26,36,46 実行ユニット(EXユニッ
ト) 17 マイクロROM 18 制御部 DEC1,DEC2 デコード手段(デコーダ) IR 命令レジスタ REG1〜REG5 レジスタ MPX1〜MPX4 マルチプレクサ COMP1〜COMP3 コンパレータ 51 第1モード判定回路 52 第2モード判定回路 53 第1変換回路 54 第2変換回路 55 例外検出回路(ORゲート回路) 61 命令コード 62 命令フェッチ要求信号 74,81〜83,91〜93 内部命令 63 オペランドフェッチ要求信号 64 オペランドアドレス 65 オペランドデータ 66 ストア要求信号 67 ストアデータ 101,102 命令レジスタのフィールド SA,SB オペランドサイズを示す信号 SIZE 禁止サイズ情報 SERR 禁止サイズ例外信号 IMA 命令の種類を示す信号 SA<0:1> ソースのアドレッシングモード信号 DA<0:1> デスティネーションのアドレッシング
モード信号 SIA<0:5> ソースの禁止アドレッシングモード
リスト信号 DIA<0:5> デスティネーションの禁止アドレッ
シングモードリスト信号 SH<0:3> shortモード時のアドレッシングモー
ド信号 GN<0:3> genモード時のアドレッシングモード
信号 FA 命令レジスタIR<2:5>の出力信号 FB 命令レジスタIR<12:15>の出力信号 SAD<0:3> ソースのアドレッシングモード信号 SIAD<0:5> SAD<0:3>を6分類した信
号 DAD<0:3> デスティネーションのアドレッシン
グモード信号 DIAD<0:5> DAD<0:3>を6分類した信
号 SAE,DAE 選択信号 IAES ソースの禁止アドレッシングモード例外信号 IAED デスティネーションの禁止アドレッシングモ
ード例外信号 IAE 禁止アドレッシングモード例外信号
Claims (8)
- 【請求項1】 命令フェッチ、命令デコード、命令実行
等の複数の処理ステージを有するパイプラインの制御に
より処理を行なうデータ処理装置の命令処理方式におい
て、 前記命令デコードの処理ステージで、命令コードにおい
て予め設定された各フィールドを別々にデコードし、前
記パイプライン上の前記命令デコードの処理ステージ以
降の任意の処理ステージで、必要になった時、或いは該
処理ステージの処理時間に余裕のある時に、命令の処理
内容及び命令の形式により前記デコード結果の中から必
要な情報を選択していくことを特徴とする命令処理方
式。 - 【請求項2】 命令フェッチ、命令デコード、命令実行
等の複数の処理ステージを有するパイプラインの制御に
より処理を行なうデータ処理装置の命令処理方式におい
て、 前記パイプライン上の前記命令デコードの処理ステージ
以降の任意の処理ステージで、必要になった時、或いは
該処理ステージの処理時間に余裕のある時に、命令コー
ドの必要なフィールドをデコードすることを特徴とする
命令処理方式。 - 【請求項3】 命令フェッチ、命令デコード、命令実行
等の複数の処理ステージを有するパイプライン制御によ
り処理を行なうデータ処理装置の命令処理方式におい
て、 前記命令デコードの処理ステージで、デコードの途中段
階の情報を出力し、前記パイプライン上の前記命令デコ
ードの処理ステージ以降の任意の処理ステージで、必要
になった時、或いは該処理ステージの処理時間に余裕の
ある時に、前記途中段階の情報に対して比較、選択等の
処理を行なって該処理ステージに必要な情報を生成する
ことを特徴とする命令処理方式。 - 【請求項4】 命令フェッチ、命令デコード、命令実行
等の複数の処理ステージを有するパイプライン制御によ
り処理を行なうデータ処理装置の命令処理方式におい
て、 前記命令デコードの処理ステージで命令の処理動作を同
定し、命令の同定の為の情報以外の情報のデコード処理
を幾つかの処理に分割して、該分割処理を並列に、或い
は前記パイプライン上に分散して処理することを特徴と
する命令処理方式。 - 【請求項5】 命令のフェッチを行なう命令フェッチユ
ニット、命令のデコード処理を行なう命令デコードユニ
ット、マイクロROMからマイクロ命令を読み出すマイ
クロ命令読み出しユニット、オペランドのアドレス計算
を行なうオペランドアドレス計算ユニット、オペランド
のフェッチを行なうオペランドフェッチユニット、及び
命令を実行する実行ユニット等の複数の処理ユニット
と、命令の処理内容及び命令の形式により前記命令デコ
ードユニットの結果の中から必要な情報を選択していく
選択手段とを有し、 前記複数の処理ユニットは、パイプライン制御により動
作し、 前記命令デコードユニットは、前記命令フェッチユニッ
トにフェッチされた命令コードにおいて、予め設定され
た各フィールドを別々にデコード処理するデコード手段
を有し、 前記選択手段は、前記パイプライン制御による各処理ユ
ニットの順序において、前記命令デコードユニット以降
の任意の処理ユニットが情報を必要とする場合、或いは
該処理ユニットの処理時間に余裕のある場合に、該処理
ユニットと並列に処理を行なうことを特徴とするデータ
処理装置。 - 【請求項6】 命令のフェッチを行なう命令フェッチユ
ニット、命令のデコード処理を行なう命令デコードユニ
ット、マイクロROMからマイクロ命令を読み出すマイ
クロ命令読み出しユニット、オペランドのアドレス計算
を行なうオペランドアドレス計算ユニット、オペランド
のフェッチを行なうオペランドフェッチユニット、及び
命令を実行する実行ユニット等の複数の処理ユニット
と、前記命令フェッチユニットにフェッチされた命令コ
ードの内、必要なフィールドをデコードする第2のデコ
ード手段とを有し、 前記複数の処理ユニットは、パイプライン制御により動
作し、 前記デコード手段は、前記パイプライン制御による各処
理ユニットの順序において、前記命令デコードユニット
以降の任意の処理ユニットが情報を必要とする場合、或
いは該処理ユニットの処理時間に余裕のある場合に、該
処理ユニットと並列に処理を行なうことを特徴とするデ
ータ処理装置。 - 【請求項7】 命令のフェッチを行なう命令フェッチユ
ニット、命令のデコード処理を行なう命令デコードユニ
ット、マイクロROMからマイクロ命令を読み出すマイ
クロ命令読み出しユニット、オペランドのアドレス計算
を行なうオペランドアドレス計算ユニット、オペランド
のフェッチを行なうオペランドフェッチユニット、及び
命令を実行する実行ユニット等の複数の処理ユニット
と、情報生成手段とを有し、 前記複数の処理ユニットは、パイプライン制御により動
作し、 前記命令デコードユニットは、前記命令フェッチユニッ
トにフェッチされた命令コードのデコード処理におい
て、デコード処理の途中段階の情報を出力する第3のデ
コード手段を有し、 前記情報生成手段は、前記パイプライン制御による各処
理ユニットの順序において、前記命令デコードユニット
以降の任意の処理ユニットが情報を必要とする場合、或
いは該処理ユニットの処理時間に余裕のある場合に、該
処理ユニットと並列に、前記途中段階の情報に対して比
較、選択等の処理を行なって該処理ステージに必要な情
報を生成することを特徴とするデータ処理装置。 - 【請求項8】 命令のフェッチを行なう命令フェッチユ
ニット、命令の処理動作を同定する処理同定手段を備え
て命令のデコード処理を行なう命令デコードユニット、
マイクロROMからマイクロ命令を読み出すマイクロ命
令読み出しユニット、オペランドのアドレス計算を行な
うオペランドアドレス計算ユニット、オペランドのフェ
ッチを行なうオペランドフェッチユニット、及び命令を
実行する実行ユニット等の複数の処理ユニットと、命令
の同定の為の情報以外の情報のデコード処理を幾つかの
処理に分割して、分割した各処理を複数の構成手段に割
り当てて行なう第2の命令デコードユニットとを有し、 前記複数の処理ユニットは、パイプライン制御により動
作し、 前記複数の構成手段は、前記複数の処理ユニットのパイ
プライン動作に同期して並列に処理を行なうことを特徴
とするデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4149660A JPH05341994A (ja) | 1992-06-09 | 1992-06-09 | 命令処理方式及びデータ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4149660A JPH05341994A (ja) | 1992-06-09 | 1992-06-09 | 命令処理方式及びデータ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05341994A true JPH05341994A (ja) | 1993-12-24 |
Family
ID=15480071
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4149660A Pending JPH05341994A (ja) | 1992-06-09 | 1992-06-09 | 命令処理方式及びデータ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05341994A (ja) |
-
1992
- 1992-06-09 JP JP4149660A patent/JPH05341994A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6581152B2 (en) | Methods and apparatus for instruction addressing in indirect VLIW processors | |
| US5784585A (en) | Computer system for executing instruction stream containing mixed compressed and uncompressed instructions by automatically detecting and expanding compressed instructions | |
| US6889318B1 (en) | Instruction fusion for digital signal processor | |
| US5442762A (en) | Instructing method and execution system for instructions including plural instruction codes | |
| US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
| US7028170B2 (en) | Processing architecture having a compare capability | |
| US20020169942A1 (en) | VLIW processor | |
| US7552313B2 (en) | VLIW digital signal processor for achieving improved binary translation | |
| US4954943A (en) | Data processing system | |
| JPH1165839A (ja) | プロセッサの命令制御機構 | |
| US5577256A (en) | Data driven type information processor including a combined program memory and memory for queuing operand data | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| US5710914A (en) | Digital signal processing method and system implementing pipelined read and write operations | |
| EP0093430A2 (en) | Pipeline data processing system | |
| US6026486A (en) | General purpose processor having a variable bitwidth | |
| JP5052713B2 (ja) | 条件付き命令を備えるベクトルデータプロセッサ | |
| US7047396B1 (en) | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system | |
| JPH05341994A (ja) | 命令処理方式及びデータ処理装置 | |
| KR100278136B1 (ko) | 데이타처리장치 및 데이타처리방법 | |
| JP3534987B2 (ja) | 情報処理装置 | |
| JP2925842B2 (ja) | パイプライン処理装置 | |
| JP3481479B2 (ja) | 命令制御装置 | |
| JP2743947B2 (ja) | マイクロプログラム制御方式 | |
| JPH1196001A (ja) | プログラム実行装置及びプログラム変換方法 | |
| JP3431503B2 (ja) | 情報処理装置およびプログラム制御方法 |