JPH0782437B2 - 命令供給装置 - Google Patents
命令供給装置Info
- Publication number
- JPH0782437B2 JPH0782437B2 JP3194446A JP19444691A JPH0782437B2 JP H0782437 B2 JPH0782437 B2 JP H0782437B2 JP 3194446 A JP3194446 A JP 3194446A JP 19444691 A JP19444691 A JP 19444691A JP H0782437 B2 JPH0782437 B2 JP H0782437B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- register
- executed
- causal
- 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.)
- Expired - Lifetime
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサの
命令のシーケンスに基づいて発生する機能的な誤動作に
対処することができる命令供給装置に関するものであ
る。
命令のシーケンスに基づいて発生する機能的な誤動作に
対処することができる命令供給装置に関するものであ
る。
【0002】
【従来の技術】マイクロプロセッサは論理的に非常に複
雑な動作を行うために、開発途上で種々の機能的な誤動
作が発生している。しかも、設計段階において起こり得
る全ての命令シーケンスの場合を尽くした機能的なシミ
ュレーションを行うことは現実的な時間では不可能にな
ってきている。そこで、マイクロプロセッサの設計、機
能検証及び試作を行った後、各種のテストプログラムを
実行させて機能的な動作の確認を進めることになる。
雑な動作を行うために、開発途上で種々の機能的な誤動
作が発生している。しかも、設計段階において起こり得
る全ての命令シーケンスの場合を尽くした機能的なシミ
ュレーションを行うことは現実的な時間では不可能にな
ってきている。そこで、マイクロプロセッサの設計、機
能検証及び試作を行った後、各種のテストプログラムを
実行させて機能的な動作の確認を進めることになる。
【0003】そのため、評価段階において発生した機能
的な誤動作に対してはマイクロプロセッサの論理回路及
びマスクレイアウトの修正を行うことになり、開発期間
がどうしても長くなる傾向にある。特に、例えば特定の
浮動小数点演算命令の直後に一定の命令を実行する場合
などの特殊な命令シーケンスにおいてのみ発生する機能
的な誤動作すなわちシーケンス誤動作に関しては、その
特殊な命令シーケンスが含まれているプログラムによっ
てしか発見できないために機能的な動作確認に非常に時
間がかかるものである。実際に1989年の秋には、市
場に製品として出回ってから発見されたシーケンス誤動
作の例があった。
的な誤動作に対してはマイクロプロセッサの論理回路及
びマスクレイアウトの修正を行うことになり、開発期間
がどうしても長くなる傾向にある。特に、例えば特定の
浮動小数点演算命令の直後に一定の命令を実行する場合
などの特殊な命令シーケンスにおいてのみ発生する機能
的な誤動作すなわちシーケンス誤動作に関しては、その
特殊な命令シーケンスが含まれているプログラムによっ
てしか発見できないために機能的な動作確認に非常に時
間がかかるものである。実際に1989年の秋には、市
場に製品として出回ってから発見されたシーケンス誤動
作の例があった。
【0004】マイクロプロセッサがあらゆるプログラム
に対して完璧に正しく動作することを保証するのは非常
に難しく、またその確認は時間のかかる作業である。従
来はこのようなシーケンス誤動作が発生した場合にはソ
フトウェアで対応できるかどうかを調べてみて、ソフト
ウェアで対応できる場合はソフトウェアを変更すること
が多かった。
に対して完璧に正しく動作することを保証するのは非常
に難しく、またその確認は時間のかかる作業である。従
来はこのようなシーケンス誤動作が発生した場合にはソ
フトウェアで対応できるかどうかを調べてみて、ソフト
ウェアで対応できる場合はソフトウェアを変更すること
が多かった。
【0005】
【発明が解決しようとする課題】上述のようにシーケン
ス誤動作が発生した場合には、コンパイラの変更やオブ
ジェクトコードの変更などで対処しようとする傾向にあ
る。このようなソフトウェアの変更ではソフトウェアの
機能的な誤動作を取り込む恐れがある。また、ソフトウ
ェアで対応できない場合はマイクロプロセッサの論理回
路及びマスクレイアウトの修正を行わなければならない
ので、開発期間が長くなるという問題があった。
ス誤動作が発生した場合には、コンパイラの変更やオブ
ジェクトコードの変更などで対処しようとする傾向にあ
る。このようなソフトウェアの変更ではソフトウェアの
機能的な誤動作を取り込む恐れがある。また、ソフトウ
ェアで対応できない場合はマイクロプロセッサの論理回
路及びマスクレイアウトの修正を行わなければならない
ので、開発期間が長くなるという問題があった。
【0006】本発明の目的は、特定の命令シーケンスに
よって発生するシーケンス誤動作にハードウェアで対応
できるような命令供給装置を提供し、このことによりマ
イクロプロセッサの開発期間を短縮することにある。
よって発生するシーケンス誤動作にハードウェアで対応
できるような命令供給装置を提供し、このことによりマ
イクロプロセッサの開発期間を短縮することにある。
【0007】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の命令供給装置は、例えば命令I1,I2を
続けて実行すればシーケンス誤動作が発生するけれども
命令I1の次に命令I0を実行すれば該シーケンス誤動
作の発生を回避できる場合へのハードウェアによる対応
を可能にし、あるいは複数の命令を同時に実行できるス
ーパースケーラー型のマイクロプロセッサにおいて例え
ば命令I11とI12とを同時に実行したときにシーケ
ンス誤動作が発生する場合へのハードウェアによる対応
を可能にしたものである。
め、本発明の命令供給装置は、例えば命令I1,I2を
続けて実行すればシーケンス誤動作が発生するけれども
命令I1の次に命令I0を実行すれば該シーケンス誤動
作の発生を回避できる場合へのハードウェアによる対応
を可能にし、あるいは複数の命令を同時に実行できるス
ーパースケーラー型のマイクロプロセッサにおいて例え
ば命令I11とI12とを同時に実行したときにシーケ
ンス誤動作が発生する場合へのハードウェアによる対応
を可能にしたものである。
【0008】まず、請求項1の発明は、例えば命令I
1,I2を続けて実行すればシーケンス誤動作が発生す
るけれども命令I1の次に命令I0を実行すれば該シー
ケンス誤動作の発生を回避できる場合への対応を可能に
したものであって、図1に示すように、実行すべき複数
の命令を格納するための命令格納手段(命令キャッシ
ュ)16と、フェッチすべき命令のアドレスを生成する
ための命令アドレス生成手段14と、該命令アドレス生
成手段14により生成されたアドレスに従って前記命令
格納手段16からフェッチした命令を一時記憶するため
の命令レジスタ2と、一定の命令(上記の例では命令I
2)が後続して実行された場合にシーケンス誤動作が発
生する特定命令(上記の例では命令I1)を記憶するた
めの命令記憶手段4と、前記命令レジスタ2の記憶内容
と前記命令記憶手段4に記憶された特定命令とを比較す
ることにより少なくとも要部例えばオペコード部が該特
定命令と一致する原因命令が前記命令レジスタ2に一時
記憶されたかどうかを検出するための比較手段6と、前
記原因命令に引き続いて実行すればシーケンス誤動作の
発生を回避できる補償命令(上記の例では命令I0)を
出力し、かつ前記原因命令が前記命令レジスタ2に一時
記憶されたことが前記比較手段6により検出された場合
には前記原因命令の後続命令(命令I2)が前記命令レ
ジスタ2に保持されるように前記命令アドレス生成手段
14にアドレス生成の中断を指示するための命令生成手
段8と、前記原因命令が前記命令レジスタ2に一時記憶
されていないことが前記比較手段6により検出された場
合は前記命令レジスタ2に一時記憶された命令を実行す
べき命令として発行し、前記原因命令が前記命令レジス
タ2に一時記憶されたことが前記比較手段6により検出
された場合は該原因命令を実行すべき命令として発行し
たうえで前記命令生成手段8から出力された補償命令を
次に実行すべき命令として発行しかつ前記命令レジスタ
2に保持された後続命令をその次に実行すべき命令とし
て発行するための命令選択手段10とを備えた構成を採
用したものである。
1,I2を続けて実行すればシーケンス誤動作が発生す
るけれども命令I1の次に命令I0を実行すれば該シー
ケンス誤動作の発生を回避できる場合への対応を可能に
したものであって、図1に示すように、実行すべき複数
の命令を格納するための命令格納手段(命令キャッシ
ュ)16と、フェッチすべき命令のアドレスを生成する
ための命令アドレス生成手段14と、該命令アドレス生
成手段14により生成されたアドレスに従って前記命令
格納手段16からフェッチした命令を一時記憶するため
の命令レジスタ2と、一定の命令(上記の例では命令I
2)が後続して実行された場合にシーケンス誤動作が発
生する特定命令(上記の例では命令I1)を記憶するた
めの命令記憶手段4と、前記命令レジスタ2の記憶内容
と前記命令記憶手段4に記憶された特定命令とを比較す
ることにより少なくとも要部例えばオペコード部が該特
定命令と一致する原因命令が前記命令レジスタ2に一時
記憶されたかどうかを検出するための比較手段6と、前
記原因命令に引き続いて実行すればシーケンス誤動作の
発生を回避できる補償命令(上記の例では命令I0)を
出力し、かつ前記原因命令が前記命令レジスタ2に一時
記憶されたことが前記比較手段6により検出された場合
には前記原因命令の後続命令(命令I2)が前記命令レ
ジスタ2に保持されるように前記命令アドレス生成手段
14にアドレス生成の中断を指示するための命令生成手
段8と、前記原因命令が前記命令レジスタ2に一時記憶
されていないことが前記比較手段6により検出された場
合は前記命令レジスタ2に一時記憶された命令を実行す
べき命令として発行し、前記原因命令が前記命令レジス
タ2に一時記憶されたことが前記比較手段6により検出
された場合は該原因命令を実行すべき命令として発行し
たうえで前記命令生成手段8から出力された補償命令を
次に実行すべき命令として発行しかつ前記命令レジスタ
2に保持された後続命令をその次に実行すべき命令とし
て発行するための命令選択手段10とを備えた構成を採
用したものである。
【0009】また、請求項2の発明は、例えば2つの命
令I1,I2に続けて命令I3を実行すればシーケンス
誤動作が発生するけれども命令I1,I2の次に命令I
0を実行すれば該シーケンス誤動作の発生を回避できる
場合への対応を可能にしたものであって、図2に示すよ
うに、実行すべき複数の命令を格納するための命令格納
手段(命令キャッシュ)16と、フェッチすべき命令の
アドレスを生成するための命令アドレス生成手段14
と、該命令アドレス生成手段14により生成されたアド
レスに従って前記命令格納手段16からフェッチした命
令を一時記憶するための命令レジスタ2と、連続して実
行された後にさらに一定の命令(上記の例では命令I
3)が後続して実行された場合にシーケンス誤動作が発
生する第1及び第2の特定命令(上記の例では命令I
1,I2)を記憶するための命令記憶手段4と、前記命
令レジスタ2の記憶内容と前記命令記憶手段4に記憶さ
れた第1及び第2の特定命令とを比較することにより少
なくとも要部が該第1の特定命令と一致する第1の原因
命令に引き続いて少なくとも要部が該第2の特定命令と
一致する第2の原因命令が前記命令レジスタ2に一時記
憶されたかどうかを検出するための比較手段6と、前記
第1及び第2の原因命令に引き続いて実行すればシーケ
ンス誤動作の発生を回避できる補償命令(上記の例では
命令I0)を出力し、かつ前記第1の原因命令に引き続
いて前記第2の原因命令が前記命令レジスタ2に一時記
憶されたことが前記比較手段6により検出された場合に
は前記第2の原因命令の後続命令(命令I3)が前記命
令レジスタ2に保持されるように前記命令アドレス生成
手段14にアドレス生成の中断を指示するための命令生
成手段8と、前記第1の原因命令に引き続いて前記第2
の原因命令が前記命令レジスタ2に一時記憶されること
がなかったことが前記比較手段6により検出された場合
は前記命令レジスタ2に一時記憶された命令を実行すべ
き命令として順次発行し、前記第1の原因命令に引き続
いて前記第2の原因命令が前記命令レジスタ2に一時記
憶されたことが前記比較手段6により検出された場合は
該第1及び第2の原因命令を実行すべき命令として順次
発行したうえで前記命令生成手段8から出力された補償
命令を次に実行すべき命令として発行しかつ前記命令レ
ジスタ2に保持された後続命令をその次に実行すべき命
令として発行するための命令選択手段10とを備えた構
成を採用したものである。
令I1,I2に続けて命令I3を実行すればシーケンス
誤動作が発生するけれども命令I1,I2の次に命令I
0を実行すれば該シーケンス誤動作の発生を回避できる
場合への対応を可能にしたものであって、図2に示すよ
うに、実行すべき複数の命令を格納するための命令格納
手段(命令キャッシュ)16と、フェッチすべき命令の
アドレスを生成するための命令アドレス生成手段14
と、該命令アドレス生成手段14により生成されたアド
レスに従って前記命令格納手段16からフェッチした命
令を一時記憶するための命令レジスタ2と、連続して実
行された後にさらに一定の命令(上記の例では命令I
3)が後続して実行された場合にシーケンス誤動作が発
生する第1及び第2の特定命令(上記の例では命令I
1,I2)を記憶するための命令記憶手段4と、前記命
令レジスタ2の記憶内容と前記命令記憶手段4に記憶さ
れた第1及び第2の特定命令とを比較することにより少
なくとも要部が該第1の特定命令と一致する第1の原因
命令に引き続いて少なくとも要部が該第2の特定命令と
一致する第2の原因命令が前記命令レジスタ2に一時記
憶されたかどうかを検出するための比較手段6と、前記
第1及び第2の原因命令に引き続いて実行すればシーケ
ンス誤動作の発生を回避できる補償命令(上記の例では
命令I0)を出力し、かつ前記第1の原因命令に引き続
いて前記第2の原因命令が前記命令レジスタ2に一時記
憶されたことが前記比較手段6により検出された場合に
は前記第2の原因命令の後続命令(命令I3)が前記命
令レジスタ2に保持されるように前記命令アドレス生成
手段14にアドレス生成の中断を指示するための命令生
成手段8と、前記第1の原因命令に引き続いて前記第2
の原因命令が前記命令レジスタ2に一時記憶されること
がなかったことが前記比較手段6により検出された場合
は前記命令レジスタ2に一時記憶された命令を実行すべ
き命令として順次発行し、前記第1の原因命令に引き続
いて前記第2の原因命令が前記命令レジスタ2に一時記
憶されたことが前記比較手段6により検出された場合は
該第1及び第2の原因命令を実行すべき命令として順次
発行したうえで前記命令生成手段8から出力された補償
命令を次に実行すべき命令として発行しかつ前記命令レ
ジスタ2に保持された後続命令をその次に実行すべき命
令として発行するための命令選択手段10とを備えた構
成を採用したものである。
【0010】また、請求項3の発明は、複数の命令を同
時に実行できるスーパースケーラー型のマイクロプロセ
ッサにおいて例えば命令I11,I12の同時実行に続
けて命令I21,I22を同時実行すればシーケンス誤
動作が発生するけれども命令I11,I12の次に命令
I01,I02を実行すれば該シーケンス誤動作の発生
を回避できる場合への対応を可能にしたものであって、
図3に示すように、実行すべき複数の命令を格納するた
めの命令格納手段(命令キャッシュ)16と、フェッチ
すべき命令のアドレスを生成するための命令アドレス生
成手段14と、該命令アドレス生成手段14により生成
されたアドレスに従って前記命令格納手段16からフェ
ッチしたn個の命令を同時に一時記憶するための命令レ
ジスタ2と、一定の命令(上記の例では命令I21,I
22)が後続して実行された場合にシーケンス誤動作が
発生する特定命令(上記の例では命令I11,I12)
を記憶するための命令記憶手段4と、前記命令レジスタ
2の記憶内容と前記命令記憶手段4に記憶された特定命
令とを比較することにより前記命令レジスタ2に同時に
一時記憶されたn個の命令の中に少なくとも要部が該特
定命令と一致する原因命令が含まれているかどうかを検
出するための比較手段6と、前記原因命令に引き続いて
実行すればシーケンス誤動作の発生を回避できる補償命
令(上記の例では命令I01,I02)を出力し、かつ
前記命令レジスタ2に同時に一時記憶されたn個の命令
の中に前記原因命令が含まれていることが前記比較手段
6により検出された場合には前記原因命令を含むn個の
命令に後続するn個の後続命令(命令I21,I22)
が前記命令レジスタ2に保持されるように前記命令アド
レス生成手段14にアドレス生成の中断を指示するため
の命令生成手段8と、前記命令レジスタ2に同時に一時
記憶されたn個の命令の中に前記原因命令が含まれてい
ることが前記比較手段6により検出された場合に該n個
の命令中の原因命令を前記補償命令に置き換えて得られ
るn個の命令を出力するための命令置換手段18と、前
記命令レジスタ2に同時に一時記憶されたn個の命令の
中に前記原因命令が含まれていないことが前記比較手段
6により検出された場合は前記命令レジスタ2に同時に
一時記憶されたn個の命令を同時実行すべきn個の命令
として発行し、前記命令レジスタ2に同時に一時記憶さ
れたn個の命令の中に前記原因命令が含まれていること
が前記比較手段6により検出された場合は該原因命令を
含むn個の命令を同時実行すべきn個の命令として発行
したうえで前記命令置換手段18から出力されたn個の
命令を次に同時実行すべきn個の命令として発行しかつ
前記命令レジスタ2に保持されたn個の後続命令をその
次に同時実行すべきn個の命令として発行するための命
令選択手段10とを備えた構成を採用したものである。
時に実行できるスーパースケーラー型のマイクロプロセ
ッサにおいて例えば命令I11,I12の同時実行に続
けて命令I21,I22を同時実行すればシーケンス誤
動作が発生するけれども命令I11,I12の次に命令
I01,I02を実行すれば該シーケンス誤動作の発生
を回避できる場合への対応を可能にしたものであって、
図3に示すように、実行すべき複数の命令を格納するた
めの命令格納手段(命令キャッシュ)16と、フェッチ
すべき命令のアドレスを生成するための命令アドレス生
成手段14と、該命令アドレス生成手段14により生成
されたアドレスに従って前記命令格納手段16からフェ
ッチしたn個の命令を同時に一時記憶するための命令レ
ジスタ2と、一定の命令(上記の例では命令I21,I
22)が後続して実行された場合にシーケンス誤動作が
発生する特定命令(上記の例では命令I11,I12)
を記憶するための命令記憶手段4と、前記命令レジスタ
2の記憶内容と前記命令記憶手段4に記憶された特定命
令とを比較することにより前記命令レジスタ2に同時に
一時記憶されたn個の命令の中に少なくとも要部が該特
定命令と一致する原因命令が含まれているかどうかを検
出するための比較手段6と、前記原因命令に引き続いて
実行すればシーケンス誤動作の発生を回避できる補償命
令(上記の例では命令I01,I02)を出力し、かつ
前記命令レジスタ2に同時に一時記憶されたn個の命令
の中に前記原因命令が含まれていることが前記比較手段
6により検出された場合には前記原因命令を含むn個の
命令に後続するn個の後続命令(命令I21,I22)
が前記命令レジスタ2に保持されるように前記命令アド
レス生成手段14にアドレス生成の中断を指示するため
の命令生成手段8と、前記命令レジスタ2に同時に一時
記憶されたn個の命令の中に前記原因命令が含まれてい
ることが前記比較手段6により検出された場合に該n個
の命令中の原因命令を前記補償命令に置き換えて得られ
るn個の命令を出力するための命令置換手段18と、前
記命令レジスタ2に同時に一時記憶されたn個の命令の
中に前記原因命令が含まれていないことが前記比較手段
6により検出された場合は前記命令レジスタ2に同時に
一時記憶されたn個の命令を同時実行すべきn個の命令
として発行し、前記命令レジスタ2に同時に一時記憶さ
れたn個の命令の中に前記原因命令が含まれていること
が前記比較手段6により検出された場合は該原因命令を
含むn個の命令を同時実行すべきn個の命令として発行
したうえで前記命令置換手段18から出力されたn個の
命令を次に同時実行すべきn個の命令として発行しかつ
前記命令レジスタ2に保持されたn個の後続命令をその
次に同時実行すべきn個の命令として発行するための命
令選択手段10とを備えた構成を採用したものである。
【0011】また、請求項4の発明は、複数の命令を同
時に実行できるスーパースケーラー型のマイクロプロセ
ッサにおいて例えば命令I11とI12とを同時に実行
したときにシーケンス誤動作が発生する場合への対応を
可能にしたものであって、同じく図3に示すように、実
行すべき複数の命令を格納するための命令格納手段(命
令キャッシュ)16と、フェッチすべき命令のアドレス
を生成するための命令アドレス生成手段14と、該命令
アドレス生成手段14により生成されたアドレスに従っ
て前記命令格納手段16からフェッチしたn個の命令を
同時に一時記憶するための命令レジスタ2と、同時に実
行された場合にシーケンス誤動作が発生する第1及び第
2の特定命令(上記の例では命令I11,I12)を記
憶するための命令記憶手段4と、前記命令レジスタ2の
記憶内容と前記命令記憶手段4に記憶された第1及び第
2の特定命令とを比較することにより前記命令レジスタ
2に同時に一時記憶されたn個の命令の中に少なくとも
要部が該第1の特定命令と一致する第1の原因命令(例
えば第1の特定命令と完全に一致する命令I11)と少
なくとも要部が該第2の特定命令と一致する第2の原因
命令(例えば第2の特定命令と完全に一致する命令I1
2)とがいずれも含まれているかどうかを検出するため
の比較手段6と、前記第1の原因命令と同時に実行して
もシーケンス誤動作が発生しない第1の補償命令(例え
ば命令I02)と、前記第2の原因命令と同時に実行し
てもシーケンス誤動作が発生しない第2の補償命令(例
えば命令I01)とを出力し、かつ前記命令レジスタ2
に同時に一時記憶されたn個の命令の中に前記第1及び
第2の原因命令のいずれもが含まれていることが前記比
較手段6により検出された場合には前記第1及び第2の
原因命令を含むn個の命令に後続するn個の後続命令
(例えば命令I21,I22を含む)が前記命令レジス
タ2に保持されるように前記命令アドレス生成手段14
にアドレス生成の中断を指示するための命令生成手段8
と、前記命令レジスタ2に同時に一時記憶されたn個の
命令の中に前記第1及び第2の原因命令のいずれもが含
まれていることが前記比較手段により検出された場合に
該命令レジスタ2に同時に一時記憶されたn個の命令中
の前記第2の原因命令を前記第1の補償命令に置き換え
て得られる前記第1の原因命令と前記第1の補償命令と
を含む(上記の例では命令I11,I02を含む)n個
の命令を同時に出力したうえで該命令レジスタ2に同時
に一時記憶されたn個の命令中の前記第1の原因命令を
前記第2の補償命令に置き換えて得られる前記第2の原
因命令と前記第2の補償命令とを含む(上記の例では命
令I12,I01を含む)n個の命令を同時に出力する
ための命令置換手段18と、前記命令レジスタ2に同時
に一時記憶されたn個の命令の中に前記第1及び第2の
原因命令のうちのいずれかが含まれていないことが前記
比較手段6により検出された場合は前記命令レジスタ2
に同時に一時記憶されたn個の命令を同時実行すべきn
個の命令として発行し、前記命令レジスタ2に同時に一
時記憶されたn個の命令の中に前記第1及び第2の原因
命令のいずれもが含まれていることが前記比較手段6に
より検出された場合は前記命令置換手段18から出力さ
れた前記第1の原因命令と前記第1の補償命令とを含む
(上記の例では命令I11,I02を含む)n個の命令
を同時実行すべきn個の命令として発行したうえで前記
命令置換手段18から次に出力された前記第2の原因命
令と前記第2の補償命令とを含む(上記の例では命令I
12,I01を含む)n個の命令を次に同時実行すべき
n個の命令として発行しかつ前記命令レジスタ2に保持
されたn個の後続命令をその次に同時実行すべきn個の
命令として発行するための命令選択手段10とを備えた
構成を採用したものである。
時に実行できるスーパースケーラー型のマイクロプロセ
ッサにおいて例えば命令I11とI12とを同時に実行
したときにシーケンス誤動作が発生する場合への対応を
可能にしたものであって、同じく図3に示すように、実
行すべき複数の命令を格納するための命令格納手段(命
令キャッシュ)16と、フェッチすべき命令のアドレス
を生成するための命令アドレス生成手段14と、該命令
アドレス生成手段14により生成されたアドレスに従っ
て前記命令格納手段16からフェッチしたn個の命令を
同時に一時記憶するための命令レジスタ2と、同時に実
行された場合にシーケンス誤動作が発生する第1及び第
2の特定命令(上記の例では命令I11,I12)を記
憶するための命令記憶手段4と、前記命令レジスタ2の
記憶内容と前記命令記憶手段4に記憶された第1及び第
2の特定命令とを比較することにより前記命令レジスタ
2に同時に一時記憶されたn個の命令の中に少なくとも
要部が該第1の特定命令と一致する第1の原因命令(例
えば第1の特定命令と完全に一致する命令I11)と少
なくとも要部が該第2の特定命令と一致する第2の原因
命令(例えば第2の特定命令と完全に一致する命令I1
2)とがいずれも含まれているかどうかを検出するため
の比較手段6と、前記第1の原因命令と同時に実行して
もシーケンス誤動作が発生しない第1の補償命令(例え
ば命令I02)と、前記第2の原因命令と同時に実行し
てもシーケンス誤動作が発生しない第2の補償命令(例
えば命令I01)とを出力し、かつ前記命令レジスタ2
に同時に一時記憶されたn個の命令の中に前記第1及び
第2の原因命令のいずれもが含まれていることが前記比
較手段6により検出された場合には前記第1及び第2の
原因命令を含むn個の命令に後続するn個の後続命令
(例えば命令I21,I22を含む)が前記命令レジス
タ2に保持されるように前記命令アドレス生成手段14
にアドレス生成の中断を指示するための命令生成手段8
と、前記命令レジスタ2に同時に一時記憶されたn個の
命令の中に前記第1及び第2の原因命令のいずれもが含
まれていることが前記比較手段により検出された場合に
該命令レジスタ2に同時に一時記憶されたn個の命令中
の前記第2の原因命令を前記第1の補償命令に置き換え
て得られる前記第1の原因命令と前記第1の補償命令と
を含む(上記の例では命令I11,I02を含む)n個
の命令を同時に出力したうえで該命令レジスタ2に同時
に一時記憶されたn個の命令中の前記第1の原因命令を
前記第2の補償命令に置き換えて得られる前記第2の原
因命令と前記第2の補償命令とを含む(上記の例では命
令I12,I01を含む)n個の命令を同時に出力する
ための命令置換手段18と、前記命令レジスタ2に同時
に一時記憶されたn個の命令の中に前記第1及び第2の
原因命令のうちのいずれかが含まれていないことが前記
比較手段6により検出された場合は前記命令レジスタ2
に同時に一時記憶されたn個の命令を同時実行すべきn
個の命令として発行し、前記命令レジスタ2に同時に一
時記憶されたn個の命令の中に前記第1及び第2の原因
命令のいずれもが含まれていることが前記比較手段6に
より検出された場合は前記命令置換手段18から出力さ
れた前記第1の原因命令と前記第1の補償命令とを含む
(上記の例では命令I11,I02を含む)n個の命令
を同時実行すべきn個の命令として発行したうえで前記
命令置換手段18から次に出力された前記第2の原因命
令と前記第2の補償命令とを含む(上記の例では命令I
12,I01を含む)n個の命令を次に同時実行すべき
n個の命令として発行しかつ前記命令レジスタ2に保持
されたn個の後続命令をその次に同時実行すべきn個の
命令として発行するための命令選択手段10とを備えた
構成を採用したものである。
【0012】また、請求項5の発明は、請求項3の発明
の場合と同様に複数の命令を同時に実行できるスーパー
スケーラー型のマイクロプロセッサにおいて例えば命令
I11,I12の同時実行に続けて命令I21,I22
を同時実行すればシーケンス誤動作が発生するけれども
命令I11,I12の次に命令I01,I02を実行す
れば該シーケンス誤動作の発生を回避できる場合への対
応を可能にしたものであって、図4に示すように、実行
すべき複数の命令を格納するための命令格納手段(命令
キャッシュ)16と、フェッチすべき命令のアドレスを
生成するための命令アドレス生成手段14と、該命令ア
ドレス生成手段14により生成されたアドレスに従って
前記命令格納手段16からフェッチしたn個の命令を同
時に一時記憶するための命令レジスタ2と、一定の命令
(上記の例では命令I21,I22)が後続して実行さ
れた場合にシーケンス誤動作が発生する特定命令(上記
の例では命令I11,I12)を記憶するための命令記
憶手段4と、前記命令レジスタ2の記憶内容と前記命令
記憶手段4に記憶された特定命令とを比較することによ
り前記命令レジスタ2に同時に一時記憶されたn個の命
令の中に少なくとも要部が該特定命令と一致する原因命
令が含まれているかどうかを検出するための比較手段6
と、前記原因命令に引き続いて実行すればシーケンス誤
動作の発生を回避できる補償命令(上記の例では命令I
01,I02)を出力し、かつ前記命令レジスタ2に同
時に一時記憶されたn個の命令の中に前記原因命令が含
まれていることが前記比較手段6により検出された場合
には前記原因命令を含むn個の命令に後続するn個の後
続命令(命令I21,I22)が前記命令レジスタ2に
保持されるように前記命令アドレス生成手段14にアド
レス生成の中断を指示するための命令生成手段8と、前
記命令レジスタ2に同時に一時記憶されたn個の命令の
各々がそれぞれ第1の入力命令として与えられかつ前記
命令生成手段8から出力された補償命令がそれぞれ第2
の入力命令として与えられ、前記命令レジスタ2に同時
に一時記憶されたn個の命令の中に前記原因命令が含ま
れていないことが前記比較手段6により検出された場合
は前記第1の入力命令を同時実行すべきn個の命令のう
ちの1つとしてそれぞれ発行し、前記命令レジスタ2に
同時に一時記憶されたn個の命令の中に前記原因命令が
含まれていることが前記比較手段6により検出された場
合は前記第1の入力命令を同時実行すべきn個の命令の
うちの1つとしてそれぞれ発行したうえで前記第2の入
力命令を次に同時実行すべきn個の命令のうちの1つと
してそれぞれ発行しかつ前記命令レジスタ2に保持され
たn個の後続命令の各々をその次に同時実行すべきn個
の命令のうちの1つとしてそれぞれ発行するためのn個
の命令選択手段10−1,10−2とを備えた構成を採
用したものである。
の場合と同様に複数の命令を同時に実行できるスーパー
スケーラー型のマイクロプロセッサにおいて例えば命令
I11,I12の同時実行に続けて命令I21,I22
を同時実行すればシーケンス誤動作が発生するけれども
命令I11,I12の次に命令I01,I02を実行す
れば該シーケンス誤動作の発生を回避できる場合への対
応を可能にしたものであって、図4に示すように、実行
すべき複数の命令を格納するための命令格納手段(命令
キャッシュ)16と、フェッチすべき命令のアドレスを
生成するための命令アドレス生成手段14と、該命令ア
ドレス生成手段14により生成されたアドレスに従って
前記命令格納手段16からフェッチしたn個の命令を同
時に一時記憶するための命令レジスタ2と、一定の命令
(上記の例では命令I21,I22)が後続して実行さ
れた場合にシーケンス誤動作が発生する特定命令(上記
の例では命令I11,I12)を記憶するための命令記
憶手段4と、前記命令レジスタ2の記憶内容と前記命令
記憶手段4に記憶された特定命令とを比較することによ
り前記命令レジスタ2に同時に一時記憶されたn個の命
令の中に少なくとも要部が該特定命令と一致する原因命
令が含まれているかどうかを検出するための比較手段6
と、前記原因命令に引き続いて実行すればシーケンス誤
動作の発生を回避できる補償命令(上記の例では命令I
01,I02)を出力し、かつ前記命令レジスタ2に同
時に一時記憶されたn個の命令の中に前記原因命令が含
まれていることが前記比較手段6により検出された場合
には前記原因命令を含むn個の命令に後続するn個の後
続命令(命令I21,I22)が前記命令レジスタ2に
保持されるように前記命令アドレス生成手段14にアド
レス生成の中断を指示するための命令生成手段8と、前
記命令レジスタ2に同時に一時記憶されたn個の命令の
各々がそれぞれ第1の入力命令として与えられかつ前記
命令生成手段8から出力された補償命令がそれぞれ第2
の入力命令として与えられ、前記命令レジスタ2に同時
に一時記憶されたn個の命令の中に前記原因命令が含ま
れていないことが前記比較手段6により検出された場合
は前記第1の入力命令を同時実行すべきn個の命令のう
ちの1つとしてそれぞれ発行し、前記命令レジスタ2に
同時に一時記憶されたn個の命令の中に前記原因命令が
含まれていることが前記比較手段6により検出された場
合は前記第1の入力命令を同時実行すべきn個の命令の
うちの1つとしてそれぞれ発行したうえで前記第2の入
力命令を次に同時実行すべきn個の命令のうちの1つと
してそれぞれ発行しかつ前記命令レジスタ2に保持され
たn個の後続命令の各々をその次に同時実行すべきn個
の命令のうちの1つとしてそれぞれ発行するためのn個
の命令選択手段10−1,10−2とを備えた構成を採
用したものである。
【0013】また、請求項6の発明は、請求項4の発明
の場合と同様に複数の命令を同時に実行できるスーパー
スケーラー型のマイクロプロセッサにおいて例えば命令
I11とI12とを同時に実行したときにシーケンス誤
動作が発生する場合への対応を可能にしたものであっ
て、同じく図4に示すように、実行すべき複数の命令を
格納するための命令格納手段(命令キャッシュ)16
と、フェッチすべき命令のアドレスを生成するための命
令アドレス生成手段14と、該命令アドレス生成手段1
4により生成されたアドレスに従って前記命令格納手段
16からフェッチしたn個の命令を同時に一時記憶する
ための命令レジスタ2と、同時に実行された場合にシー
ケンス誤動作が発生する第1及び第2の特定命令(上記
の例では命令I11,I12)を記憶するための命令記
憶手段4と、前記命令レジスタ2の記憶内容と前記命令
記憶手段4に記憶された第1及び第2の特定命令とを比
較することにより前記命令レジスタ2に同時に一時記憶
されたn個の命令の中に少なくとも要部が該第1の特定
命令と一致する第1の原因命令(例えば第1の特定命令
と完全に一致する命令I11)と少なくとも要部が該第
2の特定命令と一致する第2の原因命令(例えば第2の
特定命令と完全に一致する命令I12)とがいずれも含
まれているかどうかを検出するための比較手段6と、前
記第1の原因命令と同時に実行してもシーケンス誤動作
が発生しない第1の補償命令(例えば命令I02)と、
前記第2の原因命令と同時に実行してもシーケンス誤動
作が発生しない第2の補償命令(例えば命令I01)と
を出力し、かつ前記命令レジスタ2に同時に一時記憶さ
れたn個の命令の中に前記第1及び第2の原因命令のい
ずれもが含まれていることが前記比較手段6により検出
された場合には前記第1及び第2の原因命令を含むn個
の命令に後続するn個の後続命令(例えば命令I21,
I22)が前記命令レジスタ2に保持されるように前記
命令アドレス生成手段14にアドレス生成の中断を指示
するための命令生成手段8と、前記命令レジスタ2に同
時に一時記憶されたn個の命令の各々がそれぞれ入力命
令として与えられ該n個の命令の中に前記第1及び第2
の原因命令のうちのいずれかが含まれていないことが前
記比較手段6により検出された場合は該入力命令を同時
実行すべきn個の命令のうちの1つとしてそれぞれ発行
するためのn個の命令選択手段10−1,10−2とを
備え、前記命令レジスタ2に同時に一時記憶されたn個
の命令の中に前記第1及び第2の原因命令のいずれもが
含まれていることが前記比較手段6により検出された場
合には、前記n個の命令選択手段10−1,10−2の
うち前記第1の原因命令の入力を受けた第1の命令選択
手段(例えば10−1)は該第1の原因命令(上記の例
では命令I11)を、前記n個の命令選択手段のうち前
記第2の原因命令の入力を受けた第2の命令選択手段
(例えば10−2)は前記命令生成手段から出力された
第1の補償命令(上記の例では命令I02)を各々同時
実行すべきn個の命令のうちの1つとしてそれぞれ発行
したうえで、前記第1の命令選択手段は前記命令生成手
段から出力された第2の補償命令(上記の例では命令I
01)を、前記第2の命令選択手段は該第2の原因命令
(上記の例では命令I12)を各々同時実行すべきn個
の命令のうちの1つとしてそれぞれ発行し、かつ前記第
1及び第2の命令選択手段(10−1,10−2)は前
記命令レジスタ2に保持されたn個の後続命令の各々を
その次に同時実行すべきn個の命令のうちの1つとして
それぞれ発行する機能を有する構成を採用したものであ
る。
の場合と同様に複数の命令を同時に実行できるスーパー
スケーラー型のマイクロプロセッサにおいて例えば命令
I11とI12とを同時に実行したときにシーケンス誤
動作が発生する場合への対応を可能にしたものであっ
て、同じく図4に示すように、実行すべき複数の命令を
格納するための命令格納手段(命令キャッシュ)16
と、フェッチすべき命令のアドレスを生成するための命
令アドレス生成手段14と、該命令アドレス生成手段1
4により生成されたアドレスに従って前記命令格納手段
16からフェッチしたn個の命令を同時に一時記憶する
ための命令レジスタ2と、同時に実行された場合にシー
ケンス誤動作が発生する第1及び第2の特定命令(上記
の例では命令I11,I12)を記憶するための命令記
憶手段4と、前記命令レジスタ2の記憶内容と前記命令
記憶手段4に記憶された第1及び第2の特定命令とを比
較することにより前記命令レジスタ2に同時に一時記憶
されたn個の命令の中に少なくとも要部が該第1の特定
命令と一致する第1の原因命令(例えば第1の特定命令
と完全に一致する命令I11)と少なくとも要部が該第
2の特定命令と一致する第2の原因命令(例えば第2の
特定命令と完全に一致する命令I12)とがいずれも含
まれているかどうかを検出するための比較手段6と、前
記第1の原因命令と同時に実行してもシーケンス誤動作
が発生しない第1の補償命令(例えば命令I02)と、
前記第2の原因命令と同時に実行してもシーケンス誤動
作が発生しない第2の補償命令(例えば命令I01)と
を出力し、かつ前記命令レジスタ2に同時に一時記憶さ
れたn個の命令の中に前記第1及び第2の原因命令のい
ずれもが含まれていることが前記比較手段6により検出
された場合には前記第1及び第2の原因命令を含むn個
の命令に後続するn個の後続命令(例えば命令I21,
I22)が前記命令レジスタ2に保持されるように前記
命令アドレス生成手段14にアドレス生成の中断を指示
するための命令生成手段8と、前記命令レジスタ2に同
時に一時記憶されたn個の命令の各々がそれぞれ入力命
令として与えられ該n個の命令の中に前記第1及び第2
の原因命令のうちのいずれかが含まれていないことが前
記比較手段6により検出された場合は該入力命令を同時
実行すべきn個の命令のうちの1つとしてそれぞれ発行
するためのn個の命令選択手段10−1,10−2とを
備え、前記命令レジスタ2に同時に一時記憶されたn個
の命令の中に前記第1及び第2の原因命令のいずれもが
含まれていることが前記比較手段6により検出された場
合には、前記n個の命令選択手段10−1,10−2の
うち前記第1の原因命令の入力を受けた第1の命令選択
手段(例えば10−1)は該第1の原因命令(上記の例
では命令I11)を、前記n個の命令選択手段のうち前
記第2の原因命令の入力を受けた第2の命令選択手段
(例えば10−2)は前記命令生成手段から出力された
第1の補償命令(上記の例では命令I02)を各々同時
実行すべきn個の命令のうちの1つとしてそれぞれ発行
したうえで、前記第1の命令選択手段は前記命令生成手
段から出力された第2の補償命令(上記の例では命令I
01)を、前記第2の命令選択手段は該第2の原因命令
(上記の例では命令I12)を各々同時実行すべきn個
の命令のうちの1つとしてそれぞれ発行し、かつ前記第
1及び第2の命令選択手段(10−1,10−2)は前
記命令レジスタ2に保持されたn個の後続命令の各々を
その次に同時実行すべきn個の命令のうちの1つとして
それぞれ発行する機能を有する構成を採用したものであ
る。
【0014】また、請求項7の発明は、複数の命令を同
時に実行できるスーパースケーラー型のマイクロプロセ
ッサにおいて例えば命令I11,I12の同時実行に続
いて命令I21,I22を同時実行したうえで更に命令
I31,I32を同時実行すればシーケンス誤動作が発
生するけれども命令I11,I12及び命令I21,I
22の連続同時実行の次に命令I01,I02を実行す
れば該シーケンス誤動作の発生を回避できる場合への対
応を可能にしたものであって、図5に示すように、実行
すべき複数の命令を格納するための命令格納手段(命令
キャッシュ)16と、フェッチすべき命令のアドレスを
生成するための命令アドレス生成手段14と、該命令ア
ドレス生成手段14により生成されたアドレスに従って
前記命令格納手段16からフェッチしたn個の命令を同
時に一時記憶するための命令レジスタ2と、連続して実
行された後にさらに一定の命令(上記の例では命令I3
1,I32)が後続して実行された場合にシーケンス誤
動作が発生する第1及び第2の特定命令(上記の例では
命令I11,I12及び命令I21,I22)を記憶す
るための命令記憶手段4と、前記命令レジスタ2の記憶
内容と前記命令記憶手段4に記憶された第1及び第2の
特定命令とを比較することにより前記命令レジスタ2に
同時に一時記憶されたn個の命令の中に少なくとも要部
が該第1の特定命令と一致する第1の原因命令が含まれ
かつ該第1の原因命令に引き続いて少なくとも要部が該
第2の特定命令と一致する第2の原因命令が該命令レジ
スタ2に一時記憶されたかどうかを検出するための比較
手段6と、前記第1及び第2の原因命令に引き続いて実
行すればシーケンス誤動作の発生を回避できる補償命令
(上記の例では命令I01,I02)を出力し、かつ前
記第1の原因命令に引き続いて前記第2の原因命令が前
記命令レジスタ2に一時記憶されたことが前記比較手段
6により検出された場合には前記第2の原因命令を含む
n個の命令に後続するn個の後続命令(命令I31,I
32)が前記命令レジスタ2に保持されるように前記命
令アドレス生成手段14にアドレス生成の中断を指示す
るための命令生成手段8と、前記命令レジスタ2に同時
に一時記憶されたn個の命令の各々がそれぞれ入力命令
として与えられ前記第1の原因命令に引き続いて前記第
2の原因命令が前記命令レジスタ2に一時記憶されるこ
とがなかったことが前記比較手段6により検出された場
合は該入力命令を同時実行すべきn個の命令のうちの1
つとしてそれぞれ発行するためのn個の命令選択手段1
0−1,10−2とを備え、前記第1の原因命令に引き
続いて前記第2の原因命令が前記命令レジスタ2に一時
記憶されたことが前記比較手段6により検出された場合
には、前記n個の命令選択手段10−1,10−2のう
ち前記第1及び第2の原因命令の入力を順次受けた命令
選択手段は、該第1及び第2の原因命令を各々同時実行
すべきn個の命令のうちの1つとして順次発行したうえ
で、前記命令生成手段8から出力された補償命令を次に
同時実行すべきn個の命令のうちの1つとして発行し、
かつ前記命令レジスタ2に保持されたn個の後続命令の
うちの1つをその次に同時実行すべきn個の命令のうち
の1つとして発行する機能を有する構成を採用したもの
である。
時に実行できるスーパースケーラー型のマイクロプロセ
ッサにおいて例えば命令I11,I12の同時実行に続
いて命令I21,I22を同時実行したうえで更に命令
I31,I32を同時実行すればシーケンス誤動作が発
生するけれども命令I11,I12及び命令I21,I
22の連続同時実行の次に命令I01,I02を実行す
れば該シーケンス誤動作の発生を回避できる場合への対
応を可能にしたものであって、図5に示すように、実行
すべき複数の命令を格納するための命令格納手段(命令
キャッシュ)16と、フェッチすべき命令のアドレスを
生成するための命令アドレス生成手段14と、該命令ア
ドレス生成手段14により生成されたアドレスに従って
前記命令格納手段16からフェッチしたn個の命令を同
時に一時記憶するための命令レジスタ2と、連続して実
行された後にさらに一定の命令(上記の例では命令I3
1,I32)が後続して実行された場合にシーケンス誤
動作が発生する第1及び第2の特定命令(上記の例では
命令I11,I12及び命令I21,I22)を記憶す
るための命令記憶手段4と、前記命令レジスタ2の記憶
内容と前記命令記憶手段4に記憶された第1及び第2の
特定命令とを比較することにより前記命令レジスタ2に
同時に一時記憶されたn個の命令の中に少なくとも要部
が該第1の特定命令と一致する第1の原因命令が含まれ
かつ該第1の原因命令に引き続いて少なくとも要部が該
第2の特定命令と一致する第2の原因命令が該命令レジ
スタ2に一時記憶されたかどうかを検出するための比較
手段6と、前記第1及び第2の原因命令に引き続いて実
行すればシーケンス誤動作の発生を回避できる補償命令
(上記の例では命令I01,I02)を出力し、かつ前
記第1の原因命令に引き続いて前記第2の原因命令が前
記命令レジスタ2に一時記憶されたことが前記比較手段
6により検出された場合には前記第2の原因命令を含む
n個の命令に後続するn個の後続命令(命令I31,I
32)が前記命令レジスタ2に保持されるように前記命
令アドレス生成手段14にアドレス生成の中断を指示す
るための命令生成手段8と、前記命令レジスタ2に同時
に一時記憶されたn個の命令の各々がそれぞれ入力命令
として与えられ前記第1の原因命令に引き続いて前記第
2の原因命令が前記命令レジスタ2に一時記憶されるこ
とがなかったことが前記比較手段6により検出された場
合は該入力命令を同時実行すべきn個の命令のうちの1
つとしてそれぞれ発行するためのn個の命令選択手段1
0−1,10−2とを備え、前記第1の原因命令に引き
続いて前記第2の原因命令が前記命令レジスタ2に一時
記憶されたことが前記比較手段6により検出された場合
には、前記n個の命令選択手段10−1,10−2のう
ち前記第1及び第2の原因命令の入力を順次受けた命令
選択手段は、該第1及び第2の原因命令を各々同時実行
すべきn個の命令のうちの1つとして順次発行したうえ
で、前記命令生成手段8から出力された補償命令を次に
同時実行すべきn個の命令のうちの1つとして発行し、
かつ前記命令レジスタ2に保持されたn個の後続命令の
うちの1つをその次に同時実行すべきn個の命令のうち
の1つとして発行する機能を有する構成を採用したもの
である。
【0015】さらに、請求項8の発明では命令記憶手段
4は特定命令が命令の実行によって書き込まれるものと
する。また、請求項9の発明では命令生成手段8は補償
命令が命令の実行によって変更され得るものとする。
4は特定命令が命令の実行によって書き込まれるものと
する。また、請求項9の発明では命令生成手段8は補償
命令が命令の実行によって変更され得るものとする。
【0016】
【作用】上記請求項1〜9の発明によれば、命令記憶手
段4にシーケンス誤動作の原因となる特定命令を記憶さ
せておき、命令レジスタ2に順次一時記憶される命令の
シーケンスを比較手段6により検査し、前記特定命令を
含むシーケンスが検出された場合は該命令シーケンスを
変更して誤動作の発生を回避させるような補償命令を、
命令アドレス生成手段14によってアドレスが指定され
る命令格納手段16とは別の命令生成手段8からハード
ウェアで発行する。しかも、補償命令の発行後には、ア
ドレス生成の中断の結果として命令レジスタ2に保持さ
れた後続命令が命令格納手段16へのアクセスなしに直
ちに発行される。
段4にシーケンス誤動作の原因となる特定命令を記憶さ
せておき、命令レジスタ2に順次一時記憶される命令の
シーケンスを比較手段6により検査し、前記特定命令を
含むシーケンスが検出された場合は該命令シーケンスを
変更して誤動作の発生を回避させるような補償命令を、
命令アドレス生成手段14によってアドレスが指定され
る命令格納手段16とは別の命令生成手段8からハード
ウェアで発行する。しかも、補償命令の発行後には、ア
ドレス生成の中断の結果として命令レジスタ2に保持さ
れた後続命令が命令格納手段16へのアクセスなしに直
ちに発行される。
【0017】
(実施例1)図1は本発明の第1の実施例を示すブロッ
ク図である。図1において、2は命令レジスタ、4は命
令記憶手段、6は命令レジスタ2の内容と命令記憶手段
4の内容とが一致しているかどうかを検出するための比
較手段、8は命令生成手段、10は命令選択手段、12
は命令を解読及び実行する命令実行手段、14は命令ア
ドレスを生成する命令アドレス生成手段、16は命令を
記憶するための命令キャッシュである。ただし、以下の
説明では説明を簡単にするために1命令の語長を例えば
32ビットの固定長とする。
ク図である。図1において、2は命令レジスタ、4は命
令記憶手段、6は命令レジスタ2の内容と命令記憶手段
4の内容とが一致しているかどうかを検出するための比
較手段、8は命令生成手段、10は命令選択手段、12
は命令を解読及び実行する命令実行手段、14は命令ア
ドレスを生成する命令アドレス生成手段、16は命令を
記憶するための命令キャッシュである。ただし、以下の
説明では説明を簡単にするために1命令の語長を例えば
32ビットの固定長とする。
【0018】最初に、通常のシーケンスについて説明す
る。命令フェッチステージでは命令アドレス生成手段1
4で生成された命令アドレスIAが命令キャッシュ16
に転送されてアクセスを行い、読み出された命令ICが
命令レジスタ2に格納される。命令記憶手段4は、比較
手段6が比較動作を行わないように初期化状態“L”
(ディセーブル状態)の比較イネーブルビットIVを出
力する。この場合の命令生成手段8は、命令IGを生成
することはなく、命令レジスタ2の内容IRが命令選択
手段10で選択されるように“L”の選択信号ISを出
力する。そして、命令選択手段10は、命令レジスタ2
の内容IRを次のサイクル(命令解読ステージ)で実行
される命令IEとして命令実行手段12に発行する。発
行された命令は命令実行手段12で実行される。この命
令実行手段12は、例えばロード命令、ストア命令、算
術論理演算命令、シフト命令、浮動小数点演算命令、条
件分岐命令、無条件分岐命令などの命令を実行すること
ができる。
る。命令フェッチステージでは命令アドレス生成手段1
4で生成された命令アドレスIAが命令キャッシュ16
に転送されてアクセスを行い、読み出された命令ICが
命令レジスタ2に格納される。命令記憶手段4は、比較
手段6が比較動作を行わないように初期化状態“L”
(ディセーブル状態)の比較イネーブルビットIVを出
力する。この場合の命令生成手段8は、命令IGを生成
することはなく、命令レジスタ2の内容IRが命令選択
手段10で選択されるように“L”の選択信号ISを出
力する。そして、命令選択手段10は、命令レジスタ2
の内容IRを次のサイクル(命令解読ステージ)で実行
される命令IEとして命令実行手段12に発行する。発
行された命令は命令実行手段12で実行される。この命
令実行手段12は、例えばロード命令、ストア命令、算
術論理演算命令、シフト命令、浮動小数点演算命令、条
件分岐命令、無条件分岐命令などの命令を実行すること
ができる。
【0019】次に、マイクロプロセッサの評価段階にお
いて発見されたシーケンス誤動作の回避動作について説
明する。評価の結果から例えば特定の命令I1の直後に
一定の命令I0を実行しなければシーケンス誤動作が発
生することが分かっている場合には、まず命令IXを用
いて命令記憶手段4に命令I1を書き込み、比較イネー
ブルビットIVを“H”にセットしてイネーブル状態に
する。この場合に命令I1の32ビット全てを比較する
必要がない場合(例えば命令で指定できるレジスタ番号
など)もあるので、後に説明するように比較を行わなけ
ればならないビットを指定するためのマスクレジスタを
設け、このマスクレジスタに値を設定することで命令I
1の要部例えばオペコード部のみの一致を検査する構成
を採用することができる。また、このようなマスクレジ
スタへの書き込みを命令によって行うことも可能であ
る。さらに、命令IYを用いて命令生成手段8が出力I
Gとして命令I0を生成できるように設定する。
いて発見されたシーケンス誤動作の回避動作について説
明する。評価の結果から例えば特定の命令I1の直後に
一定の命令I0を実行しなければシーケンス誤動作が発
生することが分かっている場合には、まず命令IXを用
いて命令記憶手段4に命令I1を書き込み、比較イネー
ブルビットIVを“H”にセットしてイネーブル状態に
する。この場合に命令I1の32ビット全てを比較する
必要がない場合(例えば命令で指定できるレジスタ番号
など)もあるので、後に説明するように比較を行わなけ
ればならないビットを指定するためのマスクレジスタを
設け、このマスクレジスタに値を設定することで命令I
1の要部例えばオペコード部のみの一致を検査する構成
を採用することができる。また、このようなマスクレジ
スタへの書き込みを命令によって行うことも可能であ
る。さらに、命令IYを用いて命令生成手段8が出力I
Gとして命令I0を生成できるように設定する。
【0020】比較手段6は、各サイクル毎に命令レジス
タ2の内容IRと命令記憶手段4の内容ID(例えば命
令I1)とが一致しているかどうかを調べる。この比較
手段6は、一致を検出したときには一致検出信号IMを
“H”にセットして命令生成手段8に与える。“H”の
一致検出信号IMを受けた命令生成手段8は、命令I1
が命令実行手段12に転送された次のサイクルに命令生
成手段8で生成した命令IG(例えば命令I0)を挿入
するように命令選択手段10に“H”の選択信号ISを
与え、かつ命令アドレス生成手段14及び命令レジスタ
2に次のサイクルの命令フェッチ動作を停止させるよう
に“H”のウェイト要求信号CPを与える。つまり、
“H”のウェイト要求信号CPを受けた命令アドレス生
成手段14は、次のサイクルのアドレス生成を行わずに
現在のアドレスを保持するのである。例えばこの“H”
のウェイト要求信号CPにより一致検出信号IMをリセ
ットすれば、比較手段6の状態を通常の命令シーケンス
に戻すことができる。
タ2の内容IRと命令記憶手段4の内容ID(例えば命
令I1)とが一致しているかどうかを調べる。この比較
手段6は、一致を検出したときには一致検出信号IMを
“H”にセットして命令生成手段8に与える。“H”の
一致検出信号IMを受けた命令生成手段8は、命令I1
が命令実行手段12に転送された次のサイクルに命令生
成手段8で生成した命令IG(例えば命令I0)を挿入
するように命令選択手段10に“H”の選択信号ISを
与え、かつ命令アドレス生成手段14及び命令レジスタ
2に次のサイクルの命令フェッチ動作を停止させるよう
に“H”のウェイト要求信号CPを与える。つまり、
“H”のウェイト要求信号CPを受けた命令アドレス生
成手段14は、次のサイクルのアドレス生成を行わずに
現在のアドレスを保持するのである。例えばこの“H”
のウェイト要求信号CPにより一致検出信号IMをリセ
ットすれば、比較手段6の状態を通常の命令シーケンス
に戻すことができる。
【0021】以上のようにして命令生成手段8が命令選
択手段10を通して命令実行手段12に命令I0を供給
した後は、選択信号ISを“L”に戻すとともに、ウェ
イト要求信号CPを“L”にすることにより命令フェッ
チ動作を再開させる。ウェイト要求信号CPが“L”に
なると、命令アドレス生成手段14はアドレスIAを生
成して命令キャッシュ16のアクセスを再開するのであ
る。以下、シーケンス誤動作を発生させる命令シーケン
スが再び検出されるまで、通常の命令シーケンスで命令
の実行が行われる。
択手段10を通して命令実行手段12に命令I0を供給
した後は、選択信号ISを“L”に戻すとともに、ウェ
イト要求信号CPを“L”にすることにより命令フェッ
チ動作を再開させる。ウェイト要求信号CPが“L”に
なると、命令アドレス生成手段14はアドレスIAを生
成して命令キャッシュ16のアクセスを再開するのであ
る。以下、シーケンス誤動作を発生させる命令シーケン
スが再び検出されるまで、通常の命令シーケンスで命令
の実行が行われる。
【0022】図6は本実施例の動作を示す動作波形図で
ある。命令フェッチのために命令アドレス生成手段14
は命令アドレスIAをサイクル毎生成して命令キャッシ
ュ16をアクセスする。命令レジスタ2は、命令I1、
命令I2、命令I3を順次記憶する。一方、命令記憶手
段4は命令I1を記憶している。比較手段6は、命令I
1の実行直後に必ず命令I0を実行するように、命令I
1を検出すると“H”の一致検出信号IMを命令生成手
段8に与える。命令生成手段8は命令I0を発行すると
ともに、命令選択手段10に“H”の選択信号ISを与
えて命令I1の次のサイクルに命令I0を命令実行手段
12に発行するようにしている。これによって、特定の
命令シーケンス(例えば命令I1の直後に命令I0以外
の命令が実行される場合)に起因して発生するシーケン
ス誤動作のためにマイクロプロセッサが正常に動作しな
くなることを回避することができる。なお、命令生成手
段8は、命令I0の出力と同時に命令アドレス生成手段
14及び命令レジスタ2を制御するためのウェイト要求
信号CPを出力して命令レジスタ2に次のサイクルでも
命令I2を保持させる。命令アドレスIAの生成を停止
することで命令キャッシュ16のアクセスを中断するの
である。したがって、命令I1、命令I0及び命令I2
という命令シーケンスを実現するうえで挿入すべき命令
I0を得るために命令キャッシュ16をアクセスする必
要がないだけでなく、その後続命令I2を得るために命
令キャッシュ16を再度アクセスする必要もなく、該命
令シーケンスが円滑かつ高速に実行されることとなる。
ある。命令フェッチのために命令アドレス生成手段14
は命令アドレスIAをサイクル毎生成して命令キャッシ
ュ16をアクセスする。命令レジスタ2は、命令I1、
命令I2、命令I3を順次記憶する。一方、命令記憶手
段4は命令I1を記憶している。比較手段6は、命令I
1の実行直後に必ず命令I0を実行するように、命令I
1を検出すると“H”の一致検出信号IMを命令生成手
段8に与える。命令生成手段8は命令I0を発行すると
ともに、命令選択手段10に“H”の選択信号ISを与
えて命令I1の次のサイクルに命令I0を命令実行手段
12に発行するようにしている。これによって、特定の
命令シーケンス(例えば命令I1の直後に命令I0以外
の命令が実行される場合)に起因して発生するシーケン
ス誤動作のためにマイクロプロセッサが正常に動作しな
くなることを回避することができる。なお、命令生成手
段8は、命令I0の出力と同時に命令アドレス生成手段
14及び命令レジスタ2を制御するためのウェイト要求
信号CPを出力して命令レジスタ2に次のサイクルでも
命令I2を保持させる。命令アドレスIAの生成を停止
することで命令キャッシュ16のアクセスを中断するの
である。したがって、命令I1、命令I0及び命令I2
という命令シーケンスを実現するうえで挿入すべき命令
I0を得るために命令キャッシュ16をアクセスする必
要がないだけでなく、その後続命令I2を得るために命
令キャッシュ16を再度アクセスする必要もなく、該命
令シーケンスが円滑かつ高速に実行されることとなる。
【0023】以上の説明から明らかなように本実施例に
よれば、特定の命令の直後に一定の命令を実行しなけれ
ばシーケンス誤動作が発生する場合に対応することがで
きる。なお、図1では1命令だけを記憶する1つの命令
記憶手段4を設けた場合について説明しているが、もち
ろん複数個の命令記憶手段と各命令記憶手段に対応する
複数個の比較手段とを具備し、かつ各比較手段の出力に
対応した命令生成手段を具備したものであっても同等の
効果が得られることは言うまでもない。
よれば、特定の命令の直後に一定の命令を実行しなけれ
ばシーケンス誤動作が発生する場合に対応することがで
きる。なお、図1では1命令だけを記憶する1つの命令
記憶手段4を設けた場合について説明しているが、もち
ろん複数個の命令記憶手段と各命令記憶手段に対応する
複数個の比較手段とを具備し、かつ各比較手段の出力に
対応した命令生成手段を具備したものであっても同等の
効果が得られることは言うまでもない。
【0024】(実施例2)上記第1の実施例は特定の命
令の直後に一定の命令以外の命令が実行された場合に発
生するシーケンス誤動作への対応を可能にしたものであ
ったが、それだけでは必ずしも全てのシーケンス誤動作
を防止できるわけではない。そこで、特定の2個の命令
が連続して実行された直後に一定の命令以外の命令が実
行された場合に発生するシーケンス誤動作への対応を可
能にしたものを第2の実施例として説明する。
令の直後に一定の命令以外の命令が実行された場合に発
生するシーケンス誤動作への対応を可能にしたものであ
ったが、それだけでは必ずしも全てのシーケンス誤動作
を防止できるわけではない。そこで、特定の2個の命令
が連続して実行された直後に一定の命令以外の命令が実
行された場合に発生するシーケンス誤動作への対応を可
能にしたものを第2の実施例として説明する。
【0025】図2は本発明の第2の実施例を示すブロッ
ク図である。図2において、2は命令レジスタである。
4は2個の命令が記憶できる命令記憶手段であって、第
1及び第2の命令記憶手段4−1,4−2で構成され
る。6は比較手段であって、第1及び第2の比較手段6
−1,6−2で構成される。8は命令生成手段、10は
命令選択手段、12は命令実行手段、14は命令アドレ
ス生成手段、16は命令キャッシュである。図7は本実
施例の動作を示す動作波形図である。
ク図である。図2において、2は命令レジスタである。
4は2個の命令が記憶できる命令記憶手段であって、第
1及び第2の命令記憶手段4−1,4−2で構成され
る。6は比較手段であって、第1及び第2の比較手段6
−1,6−2で構成される。8は命令生成手段、10は
命令選択手段、12は命令実行手段、14は命令アドレ
ス生成手段、16は命令キャッシュである。図7は本実
施例の動作を示す動作波形図である。
【0026】第1のサイクルで命令I1が実行され、第
2のサイクルで命令I2が実行された直後に、第3のサ
イクルで命令I3が実行されたときにマイクロプロセッ
サがシーケンス誤動作を発生する場合を例に挙げて、図
2及び図7に基づいて本実施例の動作を説明する。
2のサイクルで命令I2が実行された直後に、第3のサ
イクルで命令I3が実行されたときにマイクロプロセッ
サがシーケンス誤動作を発生する場合を例に挙げて、図
2及び図7に基づいて本実施例の動作を説明する。
【0027】まず最初に、命令IX1により第1の命令
記憶手段4−1に命令I1を書き込み、第1の比較イネ
ーブルビットIV1をセットする。次に、命令IX2に
より第2の命令記憶手段4−2に命令I2を書き込み、
第2の比較イネーブルビットIV2をセットする。次
に、命令IYにより命令生成手段8が命令I0を生成で
きるようにする。第1の比較手段6−1は、各サイクル
毎に命令レジスタ2の内容IRと第1の命令記憶手段4
−1の内容ID1(例えば命令I1)とが一致している
かどうかを調べる。第1の比較手段6−1で一致を検出
したときに、次のサイクルで第2の比較手段6−2は命
令レジスタ2の内容IRと第2の命令記憶手段4−2の
内容ID2(例えば命令I2)とが一致しているかどう
かを調べる。第2の比較手段6−2でも一致が検出され
た場合には、さらに次のサイクルで命令生成手段8が命
令IG(例えば命令I0)を生成して、この命令を命令
実行手段12に発行する。これにより、上記のように命
令が連続する命令シーケンスの検出と、該命令シーケン
スに起因する誤動作を回避するための命令の生成とを行
うことができる。
記憶手段4−1に命令I1を書き込み、第1の比較イネ
ーブルビットIV1をセットする。次に、命令IX2に
より第2の命令記憶手段4−2に命令I2を書き込み、
第2の比較イネーブルビットIV2をセットする。次
に、命令IYにより命令生成手段8が命令I0を生成で
きるようにする。第1の比較手段6−1は、各サイクル
毎に命令レジスタ2の内容IRと第1の命令記憶手段4
−1の内容ID1(例えば命令I1)とが一致している
かどうかを調べる。第1の比較手段6−1で一致を検出
したときに、次のサイクルで第2の比較手段6−2は命
令レジスタ2の内容IRと第2の命令記憶手段4−2の
内容ID2(例えば命令I2)とが一致しているかどう
かを調べる。第2の比較手段6−2でも一致が検出され
た場合には、さらに次のサイクルで命令生成手段8が命
令IG(例えば命令I0)を生成して、この命令を命令
実行手段12に発行する。これにより、上記のように命
令が連続する命令シーケンスの検出と、該命令シーケン
スに起因する誤動作を回避するための命令の生成とを行
うことができる。
【0028】この動作を具体的かつ詳細に説明すると、
第1のサイクルで命令I1が第1の比較手段6−1で検
出されて第1の一致検出信号IM1が“H”にセットさ
れる。次に、第2のサイクルで命令I2が第2の比較手
段6−2で検出されて第2の一致検出信号IM2が
“H”にセットされる。ここで、第2の一致検出信号I
M2がセットされなければ、第1の一致検出信号IM1
はリセット状態に戻される。両一致検出信号IM1,I
M2がいずれも“H”になると、第3のサイクルで命令
生成手段8は、命令選択信号ISを“H”にセットし、
命令I0を命令選択手段10に与える。命令選択手段1
0は、同じく第3のサイクルで命令I0を選択し、この
命令を命令実行手段12に発行する。また命令生成手段
8は、同時にウェイト要求信号CPを“H”にセットし
て命令アドレス生成手段14の動作を停止させる。この
結果、命令I3は第3のサイクルから第4のサイクルに
かけて命令レジスタ2に保持され、該保持された命令I
3が命令I0に続いて直ちに命令実行手段12に発行さ
れることとなる。なお、例えばこの“H”のウェイト要
求信号CPにより第1及び第2の一致検出信号IM1,
IM2をリセットすれば、第1及び第2の比較手段6−
1,6−2の状態を通常の命令シーケンスに戻すことが
できる。
第1のサイクルで命令I1が第1の比較手段6−1で検
出されて第1の一致検出信号IM1が“H”にセットさ
れる。次に、第2のサイクルで命令I2が第2の比較手
段6−2で検出されて第2の一致検出信号IM2が
“H”にセットされる。ここで、第2の一致検出信号I
M2がセットされなければ、第1の一致検出信号IM1
はリセット状態に戻される。両一致検出信号IM1,I
M2がいずれも“H”になると、第3のサイクルで命令
生成手段8は、命令選択信号ISを“H”にセットし、
命令I0を命令選択手段10に与える。命令選択手段1
0は、同じく第3のサイクルで命令I0を選択し、この
命令を命令実行手段12に発行する。また命令生成手段
8は、同時にウェイト要求信号CPを“H”にセットし
て命令アドレス生成手段14の動作を停止させる。この
結果、命令I3は第3のサイクルから第4のサイクルに
かけて命令レジスタ2に保持され、該保持された命令I
3が命令I0に続いて直ちに命令実行手段12に発行さ
れることとなる。なお、例えばこの“H”のウェイト要
求信号CPにより第1及び第2の一致検出信号IM1,
IM2をリセットすれば、第1及び第2の比較手段6−
1,6−2の状態を通常の命令シーケンスに戻すことが
できる。
【0029】以上の説明から明らかなように本実施例に
よれば、連続した複数の特定命令の直後に一定の命令を
実行しなければシーケンス誤動作が発生する場合に対応
することができる。なお、シーケンス誤動作の防止にあ
たってはマイクロプロセッサの内部のパイプラインの段
数を越えるシーケンスまでを検出する必要はない。例え
ばマイクロプロセッサの内部のパイプライン構成が4段
(例えば命令フェッチ、ロード、実行及びストアの4
段)ならば、5命令におよぶシーケンスまで検出する必
要はない。
よれば、連続した複数の特定命令の直後に一定の命令を
実行しなければシーケンス誤動作が発生する場合に対応
することができる。なお、シーケンス誤動作の防止にあ
たってはマイクロプロセッサの内部のパイプラインの段
数を越えるシーケンスまでを検出する必要はない。例え
ばマイクロプロセッサの内部のパイプライン構成が4段
(例えば命令フェッチ、ロード、実行及びストアの4
段)ならば、5命令におよぶシーケンスまで検出する必
要はない。
【0030】(実施例3)図3は本発明の第3の実施例
を示すブロック図である。本実施例は、複数の命令を同
時に実行できるように複数個の命令実行手段を備えたス
ーパースケーラー型のマイクロプロセッサにおいて、特
定の命令の直後に一定の命令を実行しなければシーケン
ス誤動作が発生する場合への対応を可能にしたものであ
る。図3において、2は2個の命令を記憶できる命令レ
ジスタ、4は命令記憶手段、6は比較手段、8は命令生
成手段、10は命令選択手段、12−1,12−2は各
々第1及び第2の命令実行手段、14は命令アドレス生
成手段、16は命令キャッシュ、18は命令の発行順序
を変更するための命令置換手段である。ただし、説明を
容易にするために命令実行手段の数を2個(12−1,
12−2)に限定し、これに対応して命令レジスタ2が
2個の命令を記憶できる場合を示したものである。
を示すブロック図である。本実施例は、複数の命令を同
時に実行できるように複数個の命令実行手段を備えたス
ーパースケーラー型のマイクロプロセッサにおいて、特
定の命令の直後に一定の命令を実行しなければシーケン
ス誤動作が発生する場合への対応を可能にしたものであ
る。図3において、2は2個の命令を記憶できる命令レ
ジスタ、4は命令記憶手段、6は比較手段、8は命令生
成手段、10は命令選択手段、12−1,12−2は各
々第1及び第2の命令実行手段、14は命令アドレス生
成手段、16は命令キャッシュ、18は命令の発行順序
を変更するための命令置換手段である。ただし、説明を
容易にするために命令実行手段の数を2個(12−1,
12−2)に限定し、これに対応して命令レジスタ2が
2個の命令を記憶できる場合を示したものである。
【0031】最初に、通常のシーケンスについて説明す
る。命令フェッチステージでは命令アドレス生成手段1
4で生成された命令アドレスIAが命令キャッシュ16
に転送されてアクセスを行い、読み出された2個の命令
IC1,IC2が命令レジスタ2に格納される。命令記
憶手段4は、比較手段6が比較動作を行わないように初
期化状態“L”(ディセーブル状態)の比較イネーブル
ビットIVを出力する。この場合の命令生成手段8は、
命令IG1,IG2を生成することはなく、命令レジス
タ2の内容IR1,IR2が命令置換手段18から出力
されるように該命令置換手段18に命令の置換に関する
情報REPを与える。また、命令生成手段8は命令レジ
スタ2の内容IR1,IR2が命令選択手段10で選択
されるように“L”の選択信号ISを出力する。そし
て、命令選択手段10は、命令レジスタ2の内容IR
1,IR2を次のサイクル(命令解読ステージ)で実行
される命令IE1,IE2として第1及び第2の命令実
行手段12−1,12−2にそれぞれ発行する。第1及
び第2の命令実行手段12−1,12−2は、各々例え
ばロード命令、ストア命令、算術論理演算命令、シフト
命令、浮動小数点演算命令、条件分岐命令、無条件分岐
命令などの命令を実行することができる。
る。命令フェッチステージでは命令アドレス生成手段1
4で生成された命令アドレスIAが命令キャッシュ16
に転送されてアクセスを行い、読み出された2個の命令
IC1,IC2が命令レジスタ2に格納される。命令記
憶手段4は、比較手段6が比較動作を行わないように初
期化状態“L”(ディセーブル状態)の比較イネーブル
ビットIVを出力する。この場合の命令生成手段8は、
命令IG1,IG2を生成することはなく、命令レジス
タ2の内容IR1,IR2が命令置換手段18から出力
されるように該命令置換手段18に命令の置換に関する
情報REPを与える。また、命令生成手段8は命令レジ
スタ2の内容IR1,IR2が命令選択手段10で選択
されるように“L”の選択信号ISを出力する。そし
て、命令選択手段10は、命令レジスタ2の内容IR
1,IR2を次のサイクル(命令解読ステージ)で実行
される命令IE1,IE2として第1及び第2の命令実
行手段12−1,12−2にそれぞれ発行する。第1及
び第2の命令実行手段12−1,12−2は、各々例え
ばロード命令、ストア命令、算術論理演算命令、シフト
命令、浮動小数点演算命令、条件分岐命令、無条件分岐
命令などの命令を実行することができる。
【0032】次に、マイクロプロセッサの評価段階にお
いて発見されたシーケンス誤動作の回避動作について説
明する。評価の結果から例えば特定の命令I11,I1
2の直後に一定の命令I01,I02を実行しなければ
シーケンス誤動作が発生することが分かっている場合に
は、まず命令IX1,IX2を用いて命令記憶手段4に
命令I11,I12を書き込み、比較イネーブルビット
IVを“H”にセットしてイネーブル状態にする。この
場合に命令I11,I12の64ビット(2命令分)全
てを比較する必要がない場合(例えば命令で指定できる
レジスタ番号など)もあるので、第1の実施例の場合と
同様に比較を行わなければならないビットを指定するた
めのマスクレジスタを設け、このマスクレジスタに値を
設定することで命令I11,I12の各々の要部例えば
オペコード部のみの一致を検査する構成を採用すること
ができる。また、このようなマスクレジスタへの書き込
みを命令によって行うことも可能である。さらに、命令
IY1,IY2を用いて命令生成手段8が出力IG1,
IG2として命令I01,I02を生成できるように設
定する。
いて発見されたシーケンス誤動作の回避動作について説
明する。評価の結果から例えば特定の命令I11,I1
2の直後に一定の命令I01,I02を実行しなければ
シーケンス誤動作が発生することが分かっている場合に
は、まず命令IX1,IX2を用いて命令記憶手段4に
命令I11,I12を書き込み、比較イネーブルビット
IVを“H”にセットしてイネーブル状態にする。この
場合に命令I11,I12の64ビット(2命令分)全
てを比較する必要がない場合(例えば命令で指定できる
レジスタ番号など)もあるので、第1の実施例の場合と
同様に比較を行わなければならないビットを指定するた
めのマスクレジスタを設け、このマスクレジスタに値を
設定することで命令I11,I12の各々の要部例えば
オペコード部のみの一致を検査する構成を採用すること
ができる。また、このようなマスクレジスタへの書き込
みを命令によって行うことも可能である。さらに、命令
IY1,IY2を用いて命令生成手段8が出力IG1,
IG2として命令I01,I02を生成できるように設
定する。
【0033】比較手段6は、各サイクル毎に命令レジス
タ2の内容IR1,IR2と命令記憶手段4の内容ID
1,ID2(例えば命令I11,I12)とが一致して
いるかどうかを調べる。この比較手段6は、一致を検出
したときには一致検出信号IMを“H”にセットして命
令生成手段8に与える。“H”の一致検出信号IMを受
けた命令生成手段8は、命令I01,I02を生成して
命令置換手段18に与える。同時に命令生成手段8から
命令置換手段18へ命令の置換に関する情報REPが送
られ、この情報に応じて命令置換手段18が命令レジス
タ2の内容IR1,IR2と命令生成手段8から出力さ
れた命令I01,I02との置換を実行し、この置換の
結果が出力IRP1,IRP2として命令選択手段10
に与えられる。上記のように特定の命令の直後に一定の
命令を実行しなければシーケンス誤動作が発生する場合
への対応を可能にするためには、命令置換手段18は命
令レジスタ2の内容IR1,IR2の全体を命令I0
1,I02に置き換える。これにより、該命令置換手段
18の出力IRP1,IRP2として命令I01,I0
2が命令選択手段10に与えられる。さらに命令生成手
段8は、命令I11,I12が第1及び第2の命令実行
手段12−1,12−2に各々転送された次のサイクル
に命令置換手段18の出力である命令IG1,IG2
(例えば命令I01,I02)を挿入するように命令選
択手段10に“H”の選択信号ISを与え、かつ命令ア
ドレス生成手段14及び命令レジスタ2に次のサイクル
の命令フェッチ動作を停止させるように“H”のウェイ
ト要求信号CPを与える。なお、例えばこの“H”のウ
ェイト要求信号CPにより一致検出信号IMをリセット
すれば、比較手段6の状態を通常の命令シーケンスに戻
すことができる。
タ2の内容IR1,IR2と命令記憶手段4の内容ID
1,ID2(例えば命令I11,I12)とが一致して
いるかどうかを調べる。この比較手段6は、一致を検出
したときには一致検出信号IMを“H”にセットして命
令生成手段8に与える。“H”の一致検出信号IMを受
けた命令生成手段8は、命令I01,I02を生成して
命令置換手段18に与える。同時に命令生成手段8から
命令置換手段18へ命令の置換に関する情報REPが送
られ、この情報に応じて命令置換手段18が命令レジス
タ2の内容IR1,IR2と命令生成手段8から出力さ
れた命令I01,I02との置換を実行し、この置換の
結果が出力IRP1,IRP2として命令選択手段10
に与えられる。上記のように特定の命令の直後に一定の
命令を実行しなければシーケンス誤動作が発生する場合
への対応を可能にするためには、命令置換手段18は命
令レジスタ2の内容IR1,IR2の全体を命令I0
1,I02に置き換える。これにより、該命令置換手段
18の出力IRP1,IRP2として命令I01,I0
2が命令選択手段10に与えられる。さらに命令生成手
段8は、命令I11,I12が第1及び第2の命令実行
手段12−1,12−2に各々転送された次のサイクル
に命令置換手段18の出力である命令IG1,IG2
(例えば命令I01,I02)を挿入するように命令選
択手段10に“H”の選択信号ISを与え、かつ命令ア
ドレス生成手段14及び命令レジスタ2に次のサイクル
の命令フェッチ動作を停止させるように“H”のウェイ
ト要求信号CPを与える。なお、例えばこの“H”のウ
ェイト要求信号CPにより一致検出信号IMをリセット
すれば、比較手段6の状態を通常の命令シーケンスに戻
すことができる。
【0034】以上のようにして命令生成手段8が命令置
換手段18及び命令選択手段10を通して第1及び第2
の命令実行手段12−1,12−2に各々命令I01,
I02を供給した後は、選択信号ISを“L”に戻すと
ともに、ウェイト要求信号CPを“L”にすることによ
り命令フェッチ動作を再開させる。ウェイト要求信号C
Pが“L”になると、命令アドレス生成手段14はアド
レスIAを生成して命令キャッシュ16のアクセスを再
開するのである。
換手段18及び命令選択手段10を通して第1及び第2
の命令実行手段12−1,12−2に各々命令I01,
I02を供給した後は、選択信号ISを“L”に戻すと
ともに、ウェイト要求信号CPを“L”にすることによ
り命令フェッチ動作を再開させる。ウェイト要求信号C
Pが“L”になると、命令アドレス生成手段14はアド
レスIAを生成して命令キャッシュ16のアクセスを再
開するのである。
【0035】図8は本実施例の動作を示す動作波形図で
ある。命令フェッチのために命令アドレス生成手段14
は命令アドレスIAをサイクル毎生成して命令キャッシ
ュ16をアクセスする。命令レジスタ2は、命令アドレ
スIA(n)に対して命令I11,I12を、命令アド
レスIA(n+1)に対して命令I21,I22を、命
令アドレスIA(n+2)に対して命令I31,I32
を順次各々記憶する。一方、命令記憶手段4は命令I1
1,I12を記憶している。比較手段6は、命令I1
1,I12の実行直後に必ず命令I01,I02を実行
するように、命令I11,I12を検出すると“H”の
一致検出信号IMを命令生成手段8に与える。命令生成
手段8は命令I01,I02を発行するとともに、命令
選択手段10に“H”の選択信号ISを与えて命令I1
1,I12の次のサイクルに命令I01,I02を第1
及び第2の命令実行手段12−1,12−2に各々発行
するようにしている。これによって、特定の命令シーケ
ンス(例えば命令I11,I12の直後に命令I01,
I02以外の命令が実行される場合)に起因して発生す
るシーケンス誤動作のためにマイクロプロセッサが正常
に動作しなくなることを回避することができる。なお、
命令生成手段8は、命令I01,I02の出力と同時に
命令アドレス生成手段14及び命令レジスタ2を制御す
るためのウェイト要求信号CPを出力して命令レジスタ
2に次のサイクルでも命令I21,I22を保持させ
る。命令アドレスIAの生成を停止することで命令キャ
ッシュ16のアクセスを中断するのである。したがっ
て、命令I11,I12、命令I01,I02及び命令
I21,I22という命令シーケンスを実現するうえで
挿入すべき命令I01,I02を得るために命令キャッ
シュ16をアクセスする必要がないだけでなく、その後
続命令I21,I22を得るために命令キャッシュ16
を再度アクセスする必要もなく、該命令シーケンスが円
滑かつ高速に実行されることとなる。
ある。命令フェッチのために命令アドレス生成手段14
は命令アドレスIAをサイクル毎生成して命令キャッシ
ュ16をアクセスする。命令レジスタ2は、命令アドレ
スIA(n)に対して命令I11,I12を、命令アド
レスIA(n+1)に対して命令I21,I22を、命
令アドレスIA(n+2)に対して命令I31,I32
を順次各々記憶する。一方、命令記憶手段4は命令I1
1,I12を記憶している。比較手段6は、命令I1
1,I12の実行直後に必ず命令I01,I02を実行
するように、命令I11,I12を検出すると“H”の
一致検出信号IMを命令生成手段8に与える。命令生成
手段8は命令I01,I02を発行するとともに、命令
選択手段10に“H”の選択信号ISを与えて命令I1
1,I12の次のサイクルに命令I01,I02を第1
及び第2の命令実行手段12−1,12−2に各々発行
するようにしている。これによって、特定の命令シーケ
ンス(例えば命令I11,I12の直後に命令I01,
I02以外の命令が実行される場合)に起因して発生す
るシーケンス誤動作のためにマイクロプロセッサが正常
に動作しなくなることを回避することができる。なお、
命令生成手段8は、命令I01,I02の出力と同時に
命令アドレス生成手段14及び命令レジスタ2を制御す
るためのウェイト要求信号CPを出力して命令レジスタ
2に次のサイクルでも命令I21,I22を保持させ
る。命令アドレスIAの生成を停止することで命令キャ
ッシュ16のアクセスを中断するのである。したがっ
て、命令I11,I12、命令I01,I02及び命令
I21,I22という命令シーケンスを実現するうえで
挿入すべき命令I01,I02を得るために命令キャッ
シュ16をアクセスする必要がないだけでなく、その後
続命令I21,I22を得るために命令キャッシュ16
を再度アクセスする必要もなく、該命令シーケンスが円
滑かつ高速に実行されることとなる。
【0036】以上の説明から明らかなように本実施例に
よれば、複数の命令を同時に実行できるスーパースケー
ラー型のマイクロプロセッサにおいて特定の命令の直後
に一定の命令を実行しなければシーケンス誤動作が発生
する場合に対応することができる。なお、図3では命令
レジスタ2が2命令を記憶し、これに対応して2命令だ
けを記憶する1つの命令記憶手段4を設けた場合につい
て説明しているが、もちろん複数個の命令記憶手段と各
命令記憶手段に対応する複数個の比較手段とを具備し、
かつ各比較手段の出力に対応した命令生成手段を具備し
たものであっても同等の効果が得られることは言うまで
もない。
よれば、複数の命令を同時に実行できるスーパースケー
ラー型のマイクロプロセッサにおいて特定の命令の直後
に一定の命令を実行しなければシーケンス誤動作が発生
する場合に対応することができる。なお、図3では命令
レジスタ2が2命令を記憶し、これに対応して2命令だ
けを記憶する1つの命令記憶手段4を設けた場合につい
て説明しているが、もちろん複数個の命令記憶手段と各
命令記憶手段に対応する複数個の比較手段とを具備し、
かつ各比較手段の出力に対応した命令生成手段を具備し
たものであっても同等の効果が得られることは言うまで
もない。
【0037】さて、上記の説明では命令I11,I12
の次のサイクルに命令I01,I02を挿入することで
シーケンス誤動作を回避する場合を説明したが、複数の
命令を同時に実行できるスーパースケーラー型のマイク
ロプロセッサでは例えば命令I11とI12とを同時に
実行したときにシーケンス誤動作が発生する場合も考え
られる。このようなシーケンス誤動作を回避するために
は、命令置換手段18は、命令I11,I12の同時実
行を避けるように命令の置き換えを行う。例えば命令I
11,I02(あるいは命令I01,I12)を先に第
1及び第2の命令実行手段12−1,12−2に各々送
り、次のサイクルで命令I01,I12(あるいは命令
I11,I02)を第1及び第2の命令実行手段12−
1,12−2に各々送るように命令の置換を実行するの
である。この場合、命令I01,I02として例えばN
OP命令を採用することができる。
の次のサイクルに命令I01,I02を挿入することで
シーケンス誤動作を回避する場合を説明したが、複数の
命令を同時に実行できるスーパースケーラー型のマイク
ロプロセッサでは例えば命令I11とI12とを同時に
実行したときにシーケンス誤動作が発生する場合も考え
られる。このようなシーケンス誤動作を回避するために
は、命令置換手段18は、命令I11,I12の同時実
行を避けるように命令の置き換えを行う。例えば命令I
11,I02(あるいは命令I01,I12)を先に第
1及び第2の命令実行手段12−1,12−2に各々送
り、次のサイクルで命令I01,I12(あるいは命令
I11,I02)を第1及び第2の命令実行手段12−
1,12−2に各々送るように命令の置換を実行するの
である。この場合、命令I01,I02として例えばN
OP命令を採用することができる。
【0038】(実施例4)図4は本発明の第4の実施例
を示すブロック図である。本実施例も、複数の命令を同
時に実行できるように複数個の命令実行手段を備えたス
ーパースケーラー型のマイクロプロセッサにおいて、特
定の命令の直後に一定の命令を実行しなければシーケン
ス誤動作が発生する場合への対応を可能にしたものであ
る。図4において、2は2個の命令を記憶できる命令レ
ジスタ、4は命令記憶手段、6は比較手段、8は命令生
成手段、10−1,10−2は各々第1及び第2の命令
選択手段、12−1,12−2は各々第1及び第2の命
令実行手段、14は命令アドレス生成手段、16は命令
キャッシュである。ただし、説明を容易にするために命
令実行手段を2個(12−1,12−2)に限定し、こ
れに対応して命令レジスタ2が2個の命令を記憶できる
場合について説明する。
を示すブロック図である。本実施例も、複数の命令を同
時に実行できるように複数個の命令実行手段を備えたス
ーパースケーラー型のマイクロプロセッサにおいて、特
定の命令の直後に一定の命令を実行しなければシーケン
ス誤動作が発生する場合への対応を可能にしたものであ
る。図4において、2は2個の命令を記憶できる命令レ
ジスタ、4は命令記憶手段、6は比較手段、8は命令生
成手段、10−1,10−2は各々第1及び第2の命令
選択手段、12−1,12−2は各々第1及び第2の命
令実行手段、14は命令アドレス生成手段、16は命令
キャッシュである。ただし、説明を容易にするために命
令実行手段を2個(12−1,12−2)に限定し、こ
れに対応して命令レジスタ2が2個の命令を記憶できる
場合について説明する。
【0039】最初に、通常のシーケンスについて説明す
る。命令フェッチステージでは命令アドレス生成手段1
4で生成された命令アドレスIAが命令キャッシュ16
に転送されてアクセスを行い、読み出された2個の命令
IC1,IC2が命令レジスタ2に格納される。命令記
憶手段4は、比較手段6が比較動作を行わないように初
期化状態“L”(ディセーブル状態)の比較イネーブル
ビットIVを出力する。この場合の命令生成手段8は、
命令IG1,IG2を生成することはなく、命令レジス
タ2の内容IR1,IR2が第1及び第2の命令選択手
段10−1,10−2で各々選択されるように、いずれ
も“L”の第1及び第2の選択信号IS1,IS2を出
力する。そして、第1及び第2の命令選択手段10−
1,10−2は、命令レジスタ2の内容IR1,IR2
の各々を次のサイクル(命令解読ステージ)で実行され
る命令IE1,IE2として第1及び第2の命令実行手
段12−1,12−2にそれぞれ発行する。
る。命令フェッチステージでは命令アドレス生成手段1
4で生成された命令アドレスIAが命令キャッシュ16
に転送されてアクセスを行い、読み出された2個の命令
IC1,IC2が命令レジスタ2に格納される。命令記
憶手段4は、比較手段6が比較動作を行わないように初
期化状態“L”(ディセーブル状態)の比較イネーブル
ビットIVを出力する。この場合の命令生成手段8は、
命令IG1,IG2を生成することはなく、命令レジス
タ2の内容IR1,IR2が第1及び第2の命令選択手
段10−1,10−2で各々選択されるように、いずれ
も“L”の第1及び第2の選択信号IS1,IS2を出
力する。そして、第1及び第2の命令選択手段10−
1,10−2は、命令レジスタ2の内容IR1,IR2
の各々を次のサイクル(命令解読ステージ)で実行され
る命令IE1,IE2として第1及び第2の命令実行手
段12−1,12−2にそれぞれ発行する。
【0040】次に、マイクロプロセッサの評価段階にお
いて発見されたシーケンス誤動作の回避動作について説
明する。評価の結果から例えば特定の命令I11,I1
2の直後に一定の命令I01,I02を実行しなければ
シーケンス誤動作が発生することが分かっている場合に
は、まず命令IX1,IX2を用いて命令記憶手段4に
命令I11,I12を書き込み、比較イネーブルビット
IVを“H”にセットしてイネーブル状態にする。この
場合に命令I11,I12の64ビット(2命令分)全
てを比較する必要がない場合(例えば命令で指定できる
レジスタ番号など)もあるので、第1の実施例の場合と
同様に比較を行わなければならないビットを指定するた
めのマスクレジスタを設け、このマスクレジスタに値を
設定することで命令I11,I12の各々の要部例えば
オペコード部のみの一致を検査する構成を採用すること
ができる。また、このようなマスクレジスタへの書き込
みを命令によって行うことも可能である。さらに、命令
IY1,IY2を用いて命令生成手段8が出力IG1,
IG2として命令I01,I02を生成できるように設
定する。
いて発見されたシーケンス誤動作の回避動作について説
明する。評価の結果から例えば特定の命令I11,I1
2の直後に一定の命令I01,I02を実行しなければ
シーケンス誤動作が発生することが分かっている場合に
は、まず命令IX1,IX2を用いて命令記憶手段4に
命令I11,I12を書き込み、比較イネーブルビット
IVを“H”にセットしてイネーブル状態にする。この
場合に命令I11,I12の64ビット(2命令分)全
てを比較する必要がない場合(例えば命令で指定できる
レジスタ番号など)もあるので、第1の実施例の場合と
同様に比較を行わなければならないビットを指定するた
めのマスクレジスタを設け、このマスクレジスタに値を
設定することで命令I11,I12の各々の要部例えば
オペコード部のみの一致を検査する構成を採用すること
ができる。また、このようなマスクレジスタへの書き込
みを命令によって行うことも可能である。さらに、命令
IY1,IY2を用いて命令生成手段8が出力IG1,
IG2として命令I01,I02を生成できるように設
定する。
【0041】比較手段6は、各サイクル毎に命令レジス
タ2の内容IR1,IR2と命令記憶手段4の内容ID
1,ID2(例えば命令I11,I12)とが一致して
いるかどうかを調べる。この比較手段6は、一致を検出
したときには一致検出信号IMを“H”にセットして命
令生成手段8に与える。“H”の一致検出信号IMを受
けた命令生成手段8は、命令I01,I02を生成し、
生成した各々の命令を第1及び第2の命令選択手段10
−1,10−2にそれぞれ与える。同時に命令生成手段
8から第1及び第2の命令選択手段10−1,10−2
へ命令の選択に関する情報として各々第1及び第2の選
択信号IS1,IS2が送られる。第1の命令選択手段
10−1は、第1の選択信号IS1に基づいて命令レジ
スタ2の内容IR1と命令生成手段8から出力された命
令I01とのうちのいずれか一方を選択し、選択した命
令を第1の出力命令IE1として第1の命令実行手段1
2−1に与える。一方、第2の命令選択手段10−2
は、第2の選択信号IS2に基づいて命令レジスタ2の
内容IR2と命令生成手段8から出力された命令I02
とのうちのいずれか一方を選択し、選択した命令を第2
の出力命令IE2として第2の命令実行手段12−2に
与える。上記のように特定の命令の直後に一定の命令を
実行しなければシーケンス誤動作が発生する場合への対
応を可能にするためには、第1及び第2の命令選択手段
10−1,10−2は、各々命令レジスタ2の内容IR
1,IR2を選択したうえで、次のサイクルで命令I0
1,I02を選択する。すなわち、命令生成手段8は、
命令I11,I12が第1及び第2の命令実行手段12
−1,12−2に各々転送された次のサイクルに命令生
成手段8の出力である命令IG1,IG2(例えば命令
I01,I02)を挿入するように第1及び第2の命令
選択手段10−1,10−2に各々いずれも“H”の第
1及び第2の選択信号IS1,IS2を与え、かつ命令
アドレス生成手段14及び命令レジスタ2に次のサイク
ルの命令フェッチ動作を停止させるように“H”のウェ
イト要求信号CPを与える。なお、例えばこの“H”の
ウェイト要求信号CPにより一致検出信号IMをリセッ
トすれば、比較手段6の状態を通常の命令シーケンスに
戻すことができる。
タ2の内容IR1,IR2と命令記憶手段4の内容ID
1,ID2(例えば命令I11,I12)とが一致して
いるかどうかを調べる。この比較手段6は、一致を検出
したときには一致検出信号IMを“H”にセットして命
令生成手段8に与える。“H”の一致検出信号IMを受
けた命令生成手段8は、命令I01,I02を生成し、
生成した各々の命令を第1及び第2の命令選択手段10
−1,10−2にそれぞれ与える。同時に命令生成手段
8から第1及び第2の命令選択手段10−1,10−2
へ命令の選択に関する情報として各々第1及び第2の選
択信号IS1,IS2が送られる。第1の命令選択手段
10−1は、第1の選択信号IS1に基づいて命令レジ
スタ2の内容IR1と命令生成手段8から出力された命
令I01とのうちのいずれか一方を選択し、選択した命
令を第1の出力命令IE1として第1の命令実行手段1
2−1に与える。一方、第2の命令選択手段10−2
は、第2の選択信号IS2に基づいて命令レジスタ2の
内容IR2と命令生成手段8から出力された命令I02
とのうちのいずれか一方を選択し、選択した命令を第2
の出力命令IE2として第2の命令実行手段12−2に
与える。上記のように特定の命令の直後に一定の命令を
実行しなければシーケンス誤動作が発生する場合への対
応を可能にするためには、第1及び第2の命令選択手段
10−1,10−2は、各々命令レジスタ2の内容IR
1,IR2を選択したうえで、次のサイクルで命令I0
1,I02を選択する。すなわち、命令生成手段8は、
命令I11,I12が第1及び第2の命令実行手段12
−1,12−2に各々転送された次のサイクルに命令生
成手段8の出力である命令IG1,IG2(例えば命令
I01,I02)を挿入するように第1及び第2の命令
選択手段10−1,10−2に各々いずれも“H”の第
1及び第2の選択信号IS1,IS2を与え、かつ命令
アドレス生成手段14及び命令レジスタ2に次のサイク
ルの命令フェッチ動作を停止させるように“H”のウェ
イト要求信号CPを与える。なお、例えばこの“H”の
ウェイト要求信号CPにより一致検出信号IMをリセッ
トすれば、比較手段6の状態を通常の命令シーケンスに
戻すことができる。
【0042】以上のようにして命令生成手段8が第1及
び第2の命令選択手段10−1,10−2をそれぞれ通
して第1及び第2の命令実行手段12−1,12−2に
各々命令I01,I02を供給した後は、第1及び第2
の選択信号IS1,IS2をいずれも“L”に戻すとと
もに、ウェイト要求信号CPを“L”にすることにより
命令フェッチ動作を再開させる。ウェイト要求信号CP
が“L”になると、命令アドレス生成手段14はアドレ
スIAを生成して命令キャッシュ16のアクセスを再開
するのである。
び第2の命令選択手段10−1,10−2をそれぞれ通
して第1及び第2の命令実行手段12−1,12−2に
各々命令I01,I02を供給した後は、第1及び第2
の選択信号IS1,IS2をいずれも“L”に戻すとと
もに、ウェイト要求信号CPを“L”にすることにより
命令フェッチ動作を再開させる。ウェイト要求信号CP
が“L”になると、命令アドレス生成手段14はアドレ
スIAを生成して命令キャッシュ16のアクセスを再開
するのである。
【0043】図9は本実施例の動作を示す動作波形図で
ある。命令フェッチのために命令アドレス生成手段14
は命令アドレスIAをサイクル毎生成して命令キャッシ
ュ16をアクセスする。命令レジスタ2は、命令アドレ
スIA(n)に対して命令I11,I12を、命令アド
レスIA(n+1)に対して命令I21,I22を、命
令アドレスIA(n+2)に対して命令I31,I32
を順次各々記憶する。一方、命令記憶手段4は命令I1
1,I12を記憶している。比較手段6は、命令I1
1,I12の実行直後に必ず命令I01,I02を実行
するように、命令I11,I12を検出すると“H”の
一致検出信号IMを命令生成手段8に与える。命令生成
手段8は命令I01,I02を発行するとともに、第1
及び第2の命令選択手段10−1,10−2にいずれも
“H”の第1及び第2の選択信号IS1,IS2を与え
て命令I11,I12の次のサイクルに命令I01,I
02を第1及び第2の命令実行手段12−1,12−2
に各々発行するようにしている。これによって、特定の
命令シーケンス(例えば命令I11,I12の直後に命
令I01,I02以外の命令が実行される場合)に起因
して発生するシーケンス誤動作のためにマイクロプロセ
ッサが正常に動作しなくなることを回避することができ
る。なお、命令生成手段8は、命令I01,I02の出
力と同時に命令アドレス生成手段14及び命令レジスタ
2を制御するためのウェイト要求信号CPを出力して命
令レジスタ2に次のサイクルでも命令I21,I22を
保持させる。命令アドレスIAの生成を停止することで
命令キャッシュ16のアクセスを中断するのである。し
たがって、命令I11,I12、命令I01,I02、
命令I21,I22という命令シーケンスを実現するう
えで挿入すべき命令I01,I02を得るために命令キ
ャッシュ16をアクセスする必要がないだけでなく、そ
の後続命令I21,I22を得るために命令キャッシュ
16を再度アクセスする必要もなく、該命令シーケンス
が円滑かつ高速に実行されることとなる。
ある。命令フェッチのために命令アドレス生成手段14
は命令アドレスIAをサイクル毎生成して命令キャッシ
ュ16をアクセスする。命令レジスタ2は、命令アドレ
スIA(n)に対して命令I11,I12を、命令アド
レスIA(n+1)に対して命令I21,I22を、命
令アドレスIA(n+2)に対して命令I31,I32
を順次各々記憶する。一方、命令記憶手段4は命令I1
1,I12を記憶している。比較手段6は、命令I1
1,I12の実行直後に必ず命令I01,I02を実行
するように、命令I11,I12を検出すると“H”の
一致検出信号IMを命令生成手段8に与える。命令生成
手段8は命令I01,I02を発行するとともに、第1
及び第2の命令選択手段10−1,10−2にいずれも
“H”の第1及び第2の選択信号IS1,IS2を与え
て命令I11,I12の次のサイクルに命令I01,I
02を第1及び第2の命令実行手段12−1,12−2
に各々発行するようにしている。これによって、特定の
命令シーケンス(例えば命令I11,I12の直後に命
令I01,I02以外の命令が実行される場合)に起因
して発生するシーケンス誤動作のためにマイクロプロセ
ッサが正常に動作しなくなることを回避することができ
る。なお、命令生成手段8は、命令I01,I02の出
力と同時に命令アドレス生成手段14及び命令レジスタ
2を制御するためのウェイト要求信号CPを出力して命
令レジスタ2に次のサイクルでも命令I21,I22を
保持させる。命令アドレスIAの生成を停止することで
命令キャッシュ16のアクセスを中断するのである。し
たがって、命令I11,I12、命令I01,I02、
命令I21,I22という命令シーケンスを実現するう
えで挿入すべき命令I01,I02を得るために命令キ
ャッシュ16をアクセスする必要がないだけでなく、そ
の後続命令I21,I22を得るために命令キャッシュ
16を再度アクセスする必要もなく、該命令シーケンス
が円滑かつ高速に実行されることとなる。
【0044】以上の説明から明らかなように本実施例に
よれば、複数の命令を同時に実行できるスーパースケー
ラー型のマイクロプロセッサにおいて特定の命令の直後
に一定の命令を実行しなければシーケンス誤動作が発生
する場合に対応することができる。なお、図4では命令
レジスタ2が2命令を記憶するものであって、これに対
応して2命令を記憶する1つの命令記憶手段4を設けた
場合について説明しているが、もちろん複数個の命令記
憶手段と各命令記憶手段に対応する複数個の比較手段と
を具備し、かつ各比較手段の出力に対応した命令生成手
段を具備したものであっても同等の効果が得られること
は言うまでもない。
よれば、複数の命令を同時に実行できるスーパースケー
ラー型のマイクロプロセッサにおいて特定の命令の直後
に一定の命令を実行しなければシーケンス誤動作が発生
する場合に対応することができる。なお、図4では命令
レジスタ2が2命令を記憶するものであって、これに対
応して2命令を記憶する1つの命令記憶手段4を設けた
場合について説明しているが、もちろん複数個の命令記
憶手段と各命令記憶手段に対応する複数個の比較手段と
を具備し、かつ各比較手段の出力に対応した命令生成手
段を具備したものであっても同等の効果が得られること
は言うまでもない。
【0045】さて、上記の説明では命令I11,I12
の次のサイクルに命令I01,I02を挿入することで
シーケンス誤動作を回避する場合を説明したが、複数の
命令を同時に実行できるスーパースケーラー型のマイク
ロプロセッサでは例えば命令I11とI12とを同時に
実行したときにシーケンス誤動作が発生する場合も考え
られる。このようなシーケンス誤動作を回避するために
は、第1及び第2の命令選択手段10−1.10−2
は、命令I11,I12の同時実行を避けるように命令
を選択する。例えば命令I11,I02(あるいは命令
I01,I12)を先に第1及び第2の命令実行手段1
2−1,12−2に各々送り、次のサイクルで命令I0
1,I12(あるいは命令I11,I02)を第1及び
第2の命令実行手段12−1,12−2に各々送るよう
に命令を選択するのである。この場合、命令I01,I
02として例えばNOP命令を採用することができる。
の次のサイクルに命令I01,I02を挿入することで
シーケンス誤動作を回避する場合を説明したが、複数の
命令を同時に実行できるスーパースケーラー型のマイク
ロプロセッサでは例えば命令I11とI12とを同時に
実行したときにシーケンス誤動作が発生する場合も考え
られる。このようなシーケンス誤動作を回避するために
は、第1及び第2の命令選択手段10−1.10−2
は、命令I11,I12の同時実行を避けるように命令
を選択する。例えば命令I11,I02(あるいは命令
I01,I12)を先に第1及び第2の命令実行手段1
2−1,12−2に各々送り、次のサイクルで命令I0
1,I12(あるいは命令I11,I02)を第1及び
第2の命令実行手段12−1,12−2に各々送るよう
に命令を選択するのである。この場合、命令I01,I
02として例えばNOP命令を採用することができる。
【0046】(実施例5)上記第3及び第4の実施例は
いずれも複数の命令を同時に実行できるスーパースケー
ラー型のマイクロプロセッサにおいて特定の命令の直後
に一定の命令以外の命令が実行された場合に発生するシ
ーケンス誤動作への対応を可能にしたものであったが、
それだけでは必ずしも全てのシーケンス誤動作を防止で
きるわけではない。そこで、同じくスーパースケーラー
型のマイクロプロセッサにおいて特定の2個の命令が連
続して実行された直後に一定の命令以外の命令が実行さ
れた場合に発生するシーケンス誤動作への対応を可能に
したものを第5の実施例として説明する。
いずれも複数の命令を同時に実行できるスーパースケー
ラー型のマイクロプロセッサにおいて特定の命令の直後
に一定の命令以外の命令が実行された場合に発生するシ
ーケンス誤動作への対応を可能にしたものであったが、
それだけでは必ずしも全てのシーケンス誤動作を防止で
きるわけではない。そこで、同じくスーパースケーラー
型のマイクロプロセッサにおいて特定の2個の命令が連
続して実行された直後に一定の命令以外の命令が実行さ
れた場合に発生するシーケンス誤動作への対応を可能に
したものを第5の実施例として説明する。
【0047】図5は本発明の第5の実施例を示すブロッ
ク図である。図5において、2は2個の命令を記憶でき
る命令レジスタである。4は4個の命令が記憶できる命
令記憶手段であって、各々2個の命令が記憶できる第1
及び第2の命令記憶手段4−1,4−2で構成される。
6は比較手段であって、第1及び第2の比較手段6−
1,6−2で構成される。8は命令生成手段、10−
1,10−2は各々第1及び第2の命令選択手段、12
−1,12−2は各々第1及び第2の命令実行手段、1
4は命令アドレス生成手段、16は命令キャッシュであ
る。ただし、説明を容易にするために命令実行手段の数
を2個(12−1,12−2)に限定し、これに対応し
て命令レジスタ2が2個の命令を記憶できる場合を示し
たものである。図10は本実施例の動作を示す動作波形
図である。
ク図である。図5において、2は2個の命令を記憶でき
る命令レジスタである。4は4個の命令が記憶できる命
令記憶手段であって、各々2個の命令が記憶できる第1
及び第2の命令記憶手段4−1,4−2で構成される。
6は比較手段であって、第1及び第2の比較手段6−
1,6−2で構成される。8は命令生成手段、10−
1,10−2は各々第1及び第2の命令選択手段、12
−1,12−2は各々第1及び第2の命令実行手段、1
4は命令アドレス生成手段、16は命令キャッシュであ
る。ただし、説明を容易にするために命令実行手段の数
を2個(12−1,12−2)に限定し、これに対応し
て命令レジスタ2が2個の命令を記憶できる場合を示し
たものである。図10は本実施例の動作を示す動作波形
図である。
【0048】第1のサイクルで命令I11,I12が同
時実行され、第2のサイクルで命令I21,I22が同
時実行された直後に、第3のサイクルで命令I31,I
32が同時実行されたときにマイクロプロセッサがシー
ケンス誤動作を発生する場合を例に挙げて、図5及び図
10に基づいて本実施例の動作を説明する。
時実行され、第2のサイクルで命令I21,I22が同
時実行された直後に、第3のサイクルで命令I31,I
32が同時実行されたときにマイクロプロセッサがシー
ケンス誤動作を発生する場合を例に挙げて、図5及び図
10に基づいて本実施例の動作を説明する。
【0049】まず最初に、命令IX1,IX2により第
1の命令記憶手段4−1に命令I11,I12を書き込
み、第1の比較イネーブルビットIV1をセットする。
続いて命令IX3、IX4により第2の命令記憶手段4
−2に命令I21,I22を書き込み、第2の比較イネ
ーブルビットIV2をセットする。次に、命令IY1,
IY2により命令生成手段8が命令I01,I02を生
成できるようにする。第1の比較手段6−1は、各サイ
クル毎に命令レジスタ2の内容IR1,IR2と第1の
命令記憶手段4−1の内容ID11,ID12(例えば
命令I11,I12)とが一致しているかどうかを調べ
る。第1の比較手段6−1で一致を検出したときに、次
のサイクルで第2の比較手段6−2は命令レジスタ2の
内容IR1,IR2と第2の命令記憶手段4−2の内容
ID21,ID22(例えば命令I21,I22)とが
一致しているかどうかを調べる。第2の比較手段6−2
でも一致が検出された場合には、さらに次のサイクルで
命令生成手段8が命令IG1,IG2(例えば命令I0
1,I02)を生成して、これらの命令を第1及び第2
の命令実行手段12−1,12−2に各々発行する。こ
れにより、上記のように命令が連続する命令シーケンス
の検出と、該命令シーケンスに起因する誤動作を回避す
るための命令の生成とを行うことができる。
1の命令記憶手段4−1に命令I11,I12を書き込
み、第1の比較イネーブルビットIV1をセットする。
続いて命令IX3、IX4により第2の命令記憶手段4
−2に命令I21,I22を書き込み、第2の比較イネ
ーブルビットIV2をセットする。次に、命令IY1,
IY2により命令生成手段8が命令I01,I02を生
成できるようにする。第1の比較手段6−1は、各サイ
クル毎に命令レジスタ2の内容IR1,IR2と第1の
命令記憶手段4−1の内容ID11,ID12(例えば
命令I11,I12)とが一致しているかどうかを調べ
る。第1の比較手段6−1で一致を検出したときに、次
のサイクルで第2の比較手段6−2は命令レジスタ2の
内容IR1,IR2と第2の命令記憶手段4−2の内容
ID21,ID22(例えば命令I21,I22)とが
一致しているかどうかを調べる。第2の比較手段6−2
でも一致が検出された場合には、さらに次のサイクルで
命令生成手段8が命令IG1,IG2(例えば命令I0
1,I02)を生成して、これらの命令を第1及び第2
の命令実行手段12−1,12−2に各々発行する。こ
れにより、上記のように命令が連続する命令シーケンス
の検出と、該命令シーケンスに起因する誤動作を回避す
るための命令の生成とを行うことができる。
【0050】この動作を具体的かつ詳細に説明すると、
第1のサイクルで命令I11,I12が第1の比較手段
6−1で検出されて第1の一致検出信号IM1が“H”
にセットされる。次に、第2のサイクルで命令I21,
I22が第2の比較手段6−2で検出されて第2の一致
検出信号IM2が“H”にセットされる。ここで、第2
の一致検出信号IM2がセットされなければ、第1の一
致検出信号IM1はリセット状態に戻される。両一致検
出信号IM1,IM2がいずれも“H”になると、第3
のサイクルで命令生成手段8は、第1及び第2の命令選
択信号IS1,IS2をいずれも“H”にセットし、命
令I01,I02を第1及び第2の命令選択手段10−
1,10−2に各々与える。第1及び第2の命令選択手
段10−1,10−2は、同じく第3のサイクルで命令
I01,I02を選択し、選択した各々の命令を第1及
び第2の命令実行手段12−1,12−2にそれぞれ発
行する。また命令生成手段8は、同時にウェイト要求信
号CPを“H”にセットして命令アドレス生成手段14
の動作を停止させる。この結果、命令I31,I32は
第3のサイクルから第4のサイクルにかけて命令レジス
タ2に保持され、該保持された命令I31,I32が命
令I01,I02に続いて直ちに第1及び第2の命令実
行手段12−1,12−2にそれぞれ発行されることと
なる。なお、例えばこの“H”のウェイト要求信号CP
により第1及び第2の一致検出信号IM1,IM2をリ
セットすれば、第1及び第2の比較手段6−1,6−2
の状態を通常の命令シーケンスに戻すことができる。
第1のサイクルで命令I11,I12が第1の比較手段
6−1で検出されて第1の一致検出信号IM1が“H”
にセットされる。次に、第2のサイクルで命令I21,
I22が第2の比較手段6−2で検出されて第2の一致
検出信号IM2が“H”にセットされる。ここで、第2
の一致検出信号IM2がセットされなければ、第1の一
致検出信号IM1はリセット状態に戻される。両一致検
出信号IM1,IM2がいずれも“H”になると、第3
のサイクルで命令生成手段8は、第1及び第2の命令選
択信号IS1,IS2をいずれも“H”にセットし、命
令I01,I02を第1及び第2の命令選択手段10−
1,10−2に各々与える。第1及び第2の命令選択手
段10−1,10−2は、同じく第3のサイクルで命令
I01,I02を選択し、選択した各々の命令を第1及
び第2の命令実行手段12−1,12−2にそれぞれ発
行する。また命令生成手段8は、同時にウェイト要求信
号CPを“H”にセットして命令アドレス生成手段14
の動作を停止させる。この結果、命令I31,I32は
第3のサイクルから第4のサイクルにかけて命令レジス
タ2に保持され、該保持された命令I31,I32が命
令I01,I02に続いて直ちに第1及び第2の命令実
行手段12−1,12−2にそれぞれ発行されることと
なる。なお、例えばこの“H”のウェイト要求信号CP
により第1及び第2の一致検出信号IM1,IM2をリ
セットすれば、第1及び第2の比較手段6−1,6−2
の状態を通常の命令シーケンスに戻すことができる。
【0051】以上の説明から明らかなように本実施例に
よれば、複数の命令を同時に実行できるスーパースケー
ラー型のマイクロプロセッサにおいて連続した複数の特
定命令の直後に一定の命令を実行しなければシーケンス
誤動作が発生する場合に対応することができる。なお、
シーケンス誤動作の防止にあたってはマイクロプロセッ
サの内部のパイプラインの段数を越えるシーケンスまで
を検出する必要はない。例えばマイクロプロセッサの内
部のパイプライン構成が4段(例えば命令フェッチ、ロ
ード、実行及びストアの4段)ならば、5命令におよぶ
シーケンスまで検出する必要はない。また、図5では命
令レジスタ2が2命令を記憶するものであって、これに
対応して各々2命令を記憶する1組の命令記憶手段4−
1,4−2からなる1つの命令記憶手段4を設けた場合
について説明しているが、もちろん複数個の命令記憶手
段と各命令記憶手段に対応する複数個の比較手段とを具
備し、かつ各比較手段の出力に対応した命令生成手段を
具備したものであっても同等の効果が得られることは言
うまでもない。
よれば、複数の命令を同時に実行できるスーパースケー
ラー型のマイクロプロセッサにおいて連続した複数の特
定命令の直後に一定の命令を実行しなければシーケンス
誤動作が発生する場合に対応することができる。なお、
シーケンス誤動作の防止にあたってはマイクロプロセッ
サの内部のパイプラインの段数を越えるシーケンスまで
を検出する必要はない。例えばマイクロプロセッサの内
部のパイプライン構成が4段(例えば命令フェッチ、ロ
ード、実行及びストアの4段)ならば、5命令におよぶ
シーケンスまで検出する必要はない。また、図5では命
令レジスタ2が2命令を記憶するものであって、これに
対応して各々2命令を記憶する1組の命令記憶手段4−
1,4−2からなる1つの命令記憶手段4を設けた場合
について説明しているが、もちろん複数個の命令記憶手
段と各命令記憶手段に対応する複数個の比較手段とを具
備し、かつ各比較手段の出力に対応した命令生成手段を
具備したものであっても同等の効果が得られることは言
うまでもない。
【0052】以上、5つの実施例を説明してきた。ただ
し、上記の説明では命令記憶手段4が出力する比較イネ
ーブルビットIVが“L”(ディセーブル状態)の場合
には命令生成手段8は命令を生成しないものとしたが、
比較イネーブルビットIVが“L”の場合には命令生成
手段8は常に例えばNOP命令を生成する構成を採用し
ても構わない。また、説明を簡単にするために1命令の
語長を例えば32ビットの固定長としてきたが、命令が
可変長の場合にも同等の効果が得られることは言うまで
もないことである。
し、上記の説明では命令記憶手段4が出力する比較イネ
ーブルビットIVが“L”(ディセーブル状態)の場合
には命令生成手段8は命令を生成しないものとしたが、
比較イネーブルビットIVが“L”の場合には命令生成
手段8は常に例えばNOP命令を生成する構成を採用し
ても構わない。また、説明を簡単にするために1命令の
語長を例えば32ビットの固定長としてきたが、命令が
可変長の場合にも同等の効果が得られることは言うまで
もないことである。
【0053】最後に、以上の各実施例中の各々のブロッ
クの具体的な回路構成例について説明する。まず、図1
中の命令記憶手段4の具体的な回路構成の一例を図11
に示す。図11の命令記憶手段4は、命令IXをデコー
ドして制御信号などを生成するデコード制御回路30
と、命令を記憶するためのメモリ回路(トランスファー
ゲートとラッチ回路とで構成される。)32と、比較イ
ネーブルビットIVの状態を示すRSフリップフロップ
34とで構成される。デコード制御回路30は、メモリ
回路32に命令を書き込むためのイネーブル信号E及び
その反転信号、RSフリップフロップ34で構成される
比較イネーブルビットIVをセット及びリセットするた
めのセット信号及びリセット信号を各々生成している。
動作はサイクルを決めるクロックCKに同期して行うこ
とができる。
クの具体的な回路構成例について説明する。まず、図1
中の命令記憶手段4の具体的な回路構成の一例を図11
に示す。図11の命令記憶手段4は、命令IXをデコー
ドして制御信号などを生成するデコード制御回路30
と、命令を記憶するためのメモリ回路(トランスファー
ゲートとラッチ回路とで構成される。)32と、比較イ
ネーブルビットIVの状態を示すRSフリップフロップ
34とで構成される。デコード制御回路30は、メモリ
回路32に命令を書き込むためのイネーブル信号E及び
その反転信号、RSフリップフロップ34で構成される
比較イネーブルビットIVをセット及びリセットするた
めのセット信号及びリセット信号を各々生成している。
動作はサイクルを決めるクロックCKに同期して行うこ
とができる。
【0054】図1中の比較手段6の具体的な回路構成の
一例を図12に示す。図12の比較手段6は、比較すべ
きビットの指定を行うためのマスクレジスタ40と、命
令レジスタ2の内容IRと命令記憶手段4の内容IDと
を比較するための32ビットの比較器42と、比較イネ
ーブルビットIVの状態に応じて該比較器42を動作さ
せるための論理回路44と、一致検出結果を記憶するた
めのラッチ46とで構成される。比較イネーブルビット
IVがセット状態である場合に限って、32ビットの命
令をビット毎に比較して全てのビットが一致しているか
どうかを調べる構成になっている。ただし、比較を要し
ないビットについては、マスクレジスタ40の該当ビッ
トをセットしておくことにより比較器42の比較動作を
一部停止させることができる。一致検出信号IMは、動
作サイクルを決めるクロックCKを反転した信号に同期
して生成することができる。
一例を図12に示す。図12の比較手段6は、比較すべ
きビットの指定を行うためのマスクレジスタ40と、命
令レジスタ2の内容IRと命令記憶手段4の内容IDと
を比較するための32ビットの比較器42と、比較イネ
ーブルビットIVの状態に応じて該比較器42を動作さ
せるための論理回路44と、一致検出結果を記憶するた
めのラッチ46とで構成される。比較イネーブルビット
IVがセット状態である場合に限って、32ビットの命
令をビット毎に比較して全てのビットが一致しているか
どうかを調べる構成になっている。ただし、比較を要し
ないビットについては、マスクレジスタ40の該当ビッ
トをセットしておくことにより比較器42の比較動作を
一部停止させることができる。一致検出信号IMは、動
作サイクルを決めるクロックCKを反転した信号に同期
して生成することができる。
【0055】図1中の命令生成手段8の具体的な回路構
成の一例を図13に示す。図13の命令生成手段8は、
命令IYをデコードして制御信号などを生成するデコー
ド制御回路50と、記憶すべき命令を選択するセレクタ
回路52と、命令を記憶するためのメモリ回路(トラン
スファーゲートとラッチ回路とで構成される。)54
と、ウェイト要求信号CP及び選択信号ISを生成する
ためのフリップフロップ56とで構成される。デコード
制御回路50では、セレクタ回路52の選択を制御する
ための制御信号とメモリ回路54に命令を書き込むため
のイネーブル信号E及びその反転信号とを生成してい
る。また、一致検出信号IMをフリップフロップ56に
入力して、クロックCKに同期したウェイト要求信号C
P及び選択信号ISを生成している。
成の一例を図13に示す。図13の命令生成手段8は、
命令IYをデコードして制御信号などを生成するデコー
ド制御回路50と、記憶すべき命令を選択するセレクタ
回路52と、命令を記憶するためのメモリ回路(トラン
スファーゲートとラッチ回路とで構成される。)54
と、ウェイト要求信号CP及び選択信号ISを生成する
ためのフリップフロップ56とで構成される。デコード
制御回路50では、セレクタ回路52の選択を制御する
ための制御信号とメモリ回路54に命令を書き込むため
のイネーブル信号E及びその反転信号とを生成してい
る。また、一致検出信号IMをフリップフロップ56に
入力して、クロックCKに同期したウェイト要求信号C
P及び選択信号ISを生成している。
【0056】図1中の命令選択手段10の具体的な回路
構成の一例を図14に示す。図14の命令選択手段10
は、命令レジスタ2の内容IRと命令生成手段8の出力
IGとのうちのいずれか一方を出力する32ビットのセ
レクタ回路60で構成されたものである。
構成の一例を図14に示す。図14の命令選択手段10
は、命令レジスタ2の内容IRと命令生成手段8の出力
IGとのうちのいずれか一方を出力する32ビットのセ
レクタ回路60で構成されたものである。
【0057】図2中の比較手段6の具体的な回路構成の
一例を図15に示す。図15の比較手段6は、第1及び
第2の比較手段6−1,6−2と、これら両比較手段の
出力に基づいて一致検出信号IM1,IM2を生成する
論理回路65とで構成される。第1及び第2の比較手段
6−1,6−2の各々は、図12に示したものを用いる
ことができる。図2中の第1及び第2の命令記憶手段4
−1,4−2は各々図11に示す構成を用いて、図2中
の命令生成手段8は図13に示す構成を用いて、図2中
の命令選択手段10は図14に示す構成を用いてそれぞ
れ実現できることは言うまでもない。
一例を図15に示す。図15の比較手段6は、第1及び
第2の比較手段6−1,6−2と、これら両比較手段の
出力に基づいて一致検出信号IM1,IM2を生成する
論理回路65とで構成される。第1及び第2の比較手段
6−1,6−2の各々は、図12に示したものを用いる
ことができる。図2中の第1及び第2の命令記憶手段4
−1,4−2は各々図11に示す構成を用いて、図2中
の命令生成手段8は図13に示す構成を用いて、図2中
の命令選択手段10は図14に示す構成を用いてそれぞ
れ実現できることは言うまでもない。
【0058】図3中の命令置換手段18の具体的な回路
構成の一例を図16に示す。図16の命令置換手段18
は、命令レジスタ2の第1の内容IR1と命令生成手段
8で生成された第1の命令IG1とのうちのいずれか一
方を選択する第1のセレクタ70と、命令レジスタ2の
第2の内容IR2と命令生成手段8で生成された第2の
命令IG2とのうちのいずれか一方を選択する第2のセ
レクタ72とで構成される。図3中の命令記憶手段4、
比較手段6、命令生成手段8及び命令選択手段10は、
各々図11〜図14に示す構成を用いてそれぞれ実現で
きる。
構成の一例を図16に示す。図16の命令置換手段18
は、命令レジスタ2の第1の内容IR1と命令生成手段
8で生成された第1の命令IG1とのうちのいずれか一
方を選択する第1のセレクタ70と、命令レジスタ2の
第2の内容IR2と命令生成手段8で生成された第2の
命令IG2とのうちのいずれか一方を選択する第2のセ
レクタ72とで構成される。図3中の命令記憶手段4、
比較手段6、命令生成手段8及び命令選択手段10は、
各々図11〜図14に示す構成を用いてそれぞれ実現で
きる。
【0059】図4中の命令記憶手段4、比較手段6、命
令生成手段8及び命令選択手段10も、各々図11〜図
14に示す構成を用いてそれぞれ実現できる。図5中の
第1及び第2の命令記憶手段4−1,4−2、比較手段
6、命令生成手段8並びに第1及び第2の命令選択手段
10−1,10−2についても同様である。
令生成手段8及び命令選択手段10も、各々図11〜図
14に示す構成を用いてそれぞれ実現できる。図5中の
第1及び第2の命令記憶手段4−1,4−2、比較手段
6、命令生成手段8並びに第1及び第2の命令選択手段
10−1,10−2についても同様である。
【0060】なお、上記図11〜図16の具体的な回路
構成は一例を示したものであって、同等の機能を有する
他の回路構成でも構わない。例えば、命令記憶手段4及
び比較手段6を連想記憶装置を用いて実現することがで
きる。命令生成手段8は、記憶されているデータを読み
出す方式で実現できるので通常のメモリで構成すること
も可能である。
構成は一例を示したものであって、同等の機能を有する
他の回路構成でも構わない。例えば、命令記憶手段4及
び比較手段6を連想記憶装置を用いて実現することがで
きる。命令生成手段8は、記憶されているデータを読み
出す方式で実現できるので通常のメモリで構成すること
も可能である。
【0061】図17には、命令記憶手段4、比較手段6
及び命令生成手段8を連想記憶装置20を用いて実現し
た例を示している。連想記憶装置20は、連想メモリセ
ルアレイ22、制御回路24及びSRAMアレイ26で
構成されている。連想メモリセルアレイ22は命令記憶
手段4と比較手段6との機能を備え、SRAMアレイ2
6は命令生成手段8の機能を備えており、制御回路24
は連想メモリセルアレイ22での比較結果に基づいてウ
ェイト要求信号CP、選択信号IS及びSRAMアレイ
26を読み出すためのワード選択信号を生成することが
できる。連想メモリセルアレイ22で命令レジスタ2の
出力IRと特定命令との一致が検出されれば、次のサイ
クルでSRAMアレイ26へのワード選択信号が出力さ
れてシーケンス誤動作の回避のための命令の生成が行わ
れる。同時に制御回路24は、命令アドレスの生成を停
止させるためのウェイト要求信号CPと命令選択手段1
0への選択信号ISとを生成することにより、命令実行
手段12への命令の供給を制御している。
及び命令生成手段8を連想記憶装置20を用いて実現し
た例を示している。連想記憶装置20は、連想メモリセ
ルアレイ22、制御回路24及びSRAMアレイ26で
構成されている。連想メモリセルアレイ22は命令記憶
手段4と比較手段6との機能を備え、SRAMアレイ2
6は命令生成手段8の機能を備えており、制御回路24
は連想メモリセルアレイ22での比較結果に基づいてウ
ェイト要求信号CP、選択信号IS及びSRAMアレイ
26を読み出すためのワード選択信号を生成することが
できる。連想メモリセルアレイ22で命令レジスタ2の
出力IRと特定命令との一致が検出されれば、次のサイ
クルでSRAMアレイ26へのワード選択信号が出力さ
れてシーケンス誤動作の回避のための命令の生成が行わ
れる。同時に制御回路24は、命令アドレスの生成を停
止させるためのウェイト要求信号CPと命令選択手段1
0への選択信号ISとを生成することにより、命令実行
手段12への命令の供給を制御している。
【0062】
【発明の効果】以上説明してきたように、請求項1〜7
の発明によれば、シーケンス誤動作の原因となる種々の
態様の特定命令を記憶しておき、該特定命令を含むシー
ケンスが検出された場合は該命令シーケンスを変更して
誤動作の発生を回避させるような補償命令をハードウェ
アで発行する構成を採用したので、マイクロプロセッサ
の評価段階において発見された種々の態様のシーケンス
誤動作にソフトウェアの変更を伴わずにハードウェアで
対応できる命令供給装置を提供することができ、マイク
ロプロセッサの開発期間の短縮が可能になる。しかも、
命令アドレス生成手段によってアドレスが指定される命
令格納手段とは別の命令生成手段から補償命令を発行
し、かつアドレス生成の中断の結果として命令レジスタ
に保持された後続命令を補償命令の発行後に直ちに発行
する構成を採用したので、補償命令を挿入した命令シー
ケンスが円滑かつ高速に実行される効果がある。
の発明によれば、シーケンス誤動作の原因となる種々の
態様の特定命令を記憶しておき、該特定命令を含むシー
ケンスが検出された場合は該命令シーケンスを変更して
誤動作の発生を回避させるような補償命令をハードウェ
アで発行する構成を採用したので、マイクロプロセッサ
の評価段階において発見された種々の態様のシーケンス
誤動作にソフトウェアの変更を伴わずにハードウェアで
対応できる命令供給装置を提供することができ、マイク
ロプロセッサの開発期間の短縮が可能になる。しかも、
命令アドレス生成手段によってアドレスが指定される命
令格納手段とは別の命令生成手段から補償命令を発行
し、かつアドレス生成の中断の結果として命令レジスタ
に保持された後続命令を補償命令の発行後に直ちに発行
する構成を採用したので、補償命令を挿入した命令シー
ケンスが円滑かつ高速に実行される効果がある。
【0063】また、請求項8の発明は命令記憶手段の特
定命令が命令の実行によって書き込まれる構成を採用
し、請求項9の発明は命令生成手段の補償命令が命令の
実行によって変更され得る構成を採用したので、両発明
によれば、いずれも命令供給装置のフレキシビリティを
向上させることができる。
定命令が命令の実行によって書き込まれる構成を採用
し、請求項9の発明は命令生成手段の補償命令が命令の
実行によって変更され得る構成を採用したので、両発明
によれば、いずれも命令供給装置のフレキシビリティを
向上させることができる。
【図1】 本発明の第1の実施例の命令供給装置のブロ
ック図である。
ック図である。
【図2】 本発明の第2の実施例の命令供給装置のブロ
ック図である。
ック図である。
【図3】 本発明の第3の実施例の命令供給装置のブロ
ック図である。
ック図である。
【図4】 本発明の第4の実施例の命令供給装置のブロ
ック図である。
ック図である。
【図5】 本発明の第5の実施例の命令供給装置のブロ
ック図である。
ック図である。
【図6】 本発明の第1の実施例の動作波形図である。
【図7】 本発明の第2の実施例の動作波形図である。
【図8】 本発明の第3の実施例の動作波形図である。
【図9】 本発明の第4の実施例の動作波形図である。
【図10】 本発明の第5の実施例の動作波形図であ
る。
る。
【図11】 本発明の第1の実施例における命令記憶手
段の具体的な回路構成を示す回路図である。
段の具体的な回路構成を示す回路図である。
【図12】 本発明の第1の実施例における比較手段の
具体的な回路構成を示す回路図である。
具体的な回路構成を示す回路図である。
【図13】 本発明の第1の実施例における命令生成手
段の具体的な回路構成を示す回路図である。
段の具体的な回路構成を示す回路図である。
【図14】 本発明の第1の実施例における命令選択手
段の具体的な回路構成を示す回路図である。
段の具体的な回路構成を示す回路図である。
【図15】 本発明の第2の実施例における比較手段の
具体的な回路構成を示す回路図である。
具体的な回路構成を示す回路図である。
【図16】 本発明の第3の実施例における命令置換手
段の具体的な回路構成を示す回路図である。
段の具体的な回路構成を示す回路図である。
【図17】 本発明の命令供給装置に連想記憶装置を用
いた場合の具体的な回路構成を示す回路図である。
いた場合の具体的な回路構成を示す回路図である。
2 命令レジスタ 4 命令記憶手段 4−1 第1の命令記憶手段 4−2 第2の命令記憶手段 6 比較手段 6−1 第1の比較手段 6−2 第2の比較手段 8 命令生成手段 10 命令選択手段 10−1 第1の命令選択手段 10−2 第2の命令選択手段 12 命令実行手段 12−1 第1の命令実行手段 12−2 第2の命令実行手段 14 命令アドレス生成手段 16 命令キャッシュ 18 命令置換手段 20 連想記憶装置 22 連想メモリセルアレイ 24 連想記憶装置の制御回路 26 SRAMアレイ
Claims (9)
- 【請求項1】 実行すべき複数の命令を格納するための
命令格納手段と、 フェッチすべき命令のアドレスを生成するための命令ア
ドレス生成手段と、 前記命令アドレス生成手段により生成されたアドレスに
従って前記命令格納手段から フェッチした命令を一時記
憶するための命令レジスタと、 一定の命令が後続して実行された場合に誤動作が発生す
る特定命令を記憶するための命令記憶手段と、 前記命令レジスタの記憶内容と前記命令記憶手段に記憶
された特定命令とを比較することにより、少なくとも要
部が該特定命令と一致する原因命令が前記命令レジスタ
に一時記憶されたかどうかを検出するための比較手段
と、 前記原因命令に引き続いて実行すれば誤動作の発生を回
避できる補償命令を出力し、かつ前記原因命令が前記命
令レジスタに一時記憶されたことが前記比較手段により
検出された場合には前記原因命令の後続命令が前記命令
レジスタに保持されるように前記命令アドレス生成手段
にアドレス生成の中断を指示するための命令生成手段
と、 前記原因命令が前記命令レジスタに一時記憶されていな
いことが前記比較手段により検出された場合は前記命令
レジスタに一時記憶された命令を実行すべき命令として
発行し、前記原因命令が前記命令レジスタに一時記憶さ
れたことが前記比較手段により検出された場合は該原因
命令を実行すべき命令として発行したうえで前記命令生
成手段から出力された補償命令を次に実行すべき命令と
して発行しかつ前記命令レジスタに保持された後続命令
をその次に実行すべき命令として発行するための命令選
択手段と を備えたことを特徴とする命令供給装置。 - 【請求項2】 実行すべき複数の命令を格納するための
命令格納手段と、 フェッチすべき命令のアドレスを生成するための命令ア
ドレス生成手段と、 前記命令アドレス生成手段により生成されたアドレスに
従って前記命令格納手段から フェッチした命令を一時記
憶するための命令レジスタと、 連続して実行された後にさらに一定の命令が後続して実
行された場合に誤動作が発生する第1及び第2の特定命
令を記憶するための命令記憶手段と、 前記命令レジスタの記憶内容と前記命令記憶手段に記憶
された第1及び第2の特定命令とを比較することによ
り、少なくとも要部が該第1の特定命令と一致する第1
の原因命令に引き続いて少なくとも要部が該第2の特定
命令と一致する第2の原因命令が前記命令レジスタに一
時記憶されたかどうかを検出するための比較手段と、 前記第1及び第2の原因命令に引き続いて実行すれば誤
動作の発生を回避できる補償命令を出力し、かつ前記第
1の原因命令に引き続いて前記第2の原因命令が前記命
令レジスタに一時記憶されたことが前記比較手段により
検出された場合には前記第2の原因命令の後続命令が前
記命令レジスタに保持されるように前記命令アドレス生
成手段にアドレス生成の中断を指示するための命令生成
手段と、 前記第1の原因命令に引き続いて前記第2の原因命令が
前記命令レジスタに一時記憶されることがなかったこと
が前記比較手段により検出された場合は前記命令レジス
タに一時記憶された命令を実行すべき命令として順次発
行し、前記第1の原因命令に引き続いて前記第2の原因
命令が前記命令レジスタに一時記憶されたことが前記比
較手段により検出された場合は該第1及び第2の原因命
令を実行すべき命令として順次発行したうえで前記命令
生成手段から出力された補償命令を次に実行すべき命令
として発行しかつ前記命令レジスタに保持された後続命
令をその次に実行すべき命令として発行するための命令
選択手段と を備えたことを特徴とする命令供給装置。 - 【請求項3】 実行すべき複数の命令を格納するための
命令格納手段と、 フェッチすべき命令のアドレスを生成するための命令ア
ドレス生成手段と、 前記命令アドレス生成手段により生成されたアドレスに
従って前記命令格納手段から フェッチしたn個の命令を
同時に一時記憶するための命令レジスタと、 一定の命令が後続して実行された場合に誤動作が発生す
る特定命令を記憶するための命令記憶手段と、 前記命令レジスタの記憶内容と前記命令記憶手段に記憶
された特定命令とを比較することにより、前記命令レジ
スタに同時に一時記憶されたn個の命令の中に少なくと
も要部が該特定命令と一致する原因命令が含まれている
かどうかを検出するための比較手段と、 前記原因命令に引き続いて実行すれば誤動作の発生を回
避できる補償命令を出力し、かつ前記命令レジスタに同
時に一時記憶されたn個の命令の中に前記原因命令が含
まれていることが前記比較手段により検出された場合に
は前記原因命令を含むn個の命令に後続するn個の後続
命令が前記命令レジスタに保持されるように前記命令ア
ドレス生成手段にアドレス生成の中断を指示するための
命令生成手段と、 前記命令レジスタに同時に一時記憶されたn個の命令の
中に前記原因命令が含まれていることが前記比較手段に
より検出された場合に、該n個の命令中の原因命令を前
記補償命令に置き換えて得られるn個の命令を出力する
ための命令置換手段と、 前記命令レジスタに同時に一時記憶されたn個の命令の
中に前記原因命令が含まれていないことが前記比較手段
により検出された場合は前記命令レジスタに同時に一時
記憶されたn個の命令を同時実行すべきn個の命令とし
て発行し、前記命令レジスタに同時に一時記憶されたn
個の命令の中に前記原因命令が含まれていることが前記
比較手段により検出された場合は該原因命令を含むn個
の命令を同時実行すべきn個の命令として発行したうえ
で前記命令置換手段から出力されたn個の命令を次に同
時実行すべきn個の命令として発行しかつ前記命令レジ
スタに保持されたn個の後続命令をその次に同時実行す
べきn個の命令として発行するための命令選択手段と を備えたことを特徴とする命令供給装置。 - 【請求項4】 実行すべき複数の命令を格納するための
命令格納手段と、 フェッチすべき命令のアドレスを生成するための命令ア
ドレス生成手段と、 前記命令アドレス生成手段により生成されたアドレスに
従って前記命令格納手段から フェッチしたn個の命令を
同時に一時記憶するための命令レジスタと、 同時に実行された場合に誤動作が発生する第1及び第2
の特定命令を記憶するための命令記憶手段と、 前記命令レジスタの記憶内容と前記命令記憶手段に記憶
された第1及び第2の特定命令とを比較することによ
り、前記命令レジスタに同時に一時記憶されたn個の命
令の中に少なくとも要部が該第1の特定命令と一致する
第1の原因命令と、少なくとも要部が該第2の特定命令
と一致する第2の原因命令とがいずれも含まれているか
どうかを検出するための比較手段と、 前記第1の原因命令と同時に実行しても誤動作が発生し
ない第1の補償命令と、前記第2の原因命令と同時に実
行しても誤動作が発生しない第2の補償命令とを出力
し、かつ前記命令レジスタに同時に一時記憶されたn個
の命令の中に前記第1及び第2の原因命令のいずれもが
含まれていることが前記比較手段により検出された場合
には前記第1及び第2の原因命令を含むn個の命令に後
続するn個の後続命令が前記命令レジスタに保持される
ように前記命令アドレス生成手段にアドレス生成の中断
を指示するための命令生成手段と、 前記命令レジスタに同時に一時記憶されたn個の命令の
中に前記第1及び第2の原因命令のいずれもが含まれて
いることが前記比較手段により検出された場合に、該命
令レジスタに同時に一時記憶されたn個の命令中の前記
第2の原因命令を前記第1の補償命令に置き換えて得ら
れる前記第1の原因命令と前記第1の補償命令とを含む
n個の命令を同時に出力したうえで、該命令レジスタに
同時に一時記憶されたn個の命令中の前記第1の原因命
令を前記第2の補償命令に置き換えて得られる前記第2
の原因命令と前記第2の補償命令とを含むn個の命令を
同時に出力するための命令置換手段と、 前記命令レジスタに同時に一時記憶されたn個の命令の
中に前記第1及び第2の原因命令のうちのいずれかが含
まれていないことが前記比較手段により検出された場合
は前記命令レジスタに同時に一時記憶されたn個の命令
を同時実行すべきn個の命令として発行し、前記命令レ
ジスタに同時に一時記憶されたn個の命令の中に前記第
1及び第2の原因命令のいずれもが含まれていることが
前記比較手段により検出された場合は前記命令置換手段
から出力された前記第1の原因命令と前記第1の補償命
令とを含むn個の命令を同時実行すべきn個の命令とし
て発行したうえで前記命令置換手段から次に出力された
前記第2の原因命令と前記第2の補償命令とを含むn個
の命令を次に同時実行すべきn個の命令として発行しか
つ前記命令レジスタに保持されたn個の後続命令をその
次に同時実行すべきn個の命令として発行するための命
令選択手段と を備えたことを特徴とする命令供給装置。 - 【請求項5】 実行すべき複数の命令を格納するための
命令格納手段と、 フェッチすべき命令のアドレスを生成するための命令ア
ドレス生成手段と、 前記命令アドレス生成手段により生成されたアドレスに
従って前記命令格納手段から フェッチしたn個の命令を
同時に一時記憶するための命令レジスタと、 一定の命令が後続して実行された場合に誤動作が発生す
る特定命令を記憶するための命令記憶手段と、 前記命令レジスタの記憶内容と前記命令記憶手段に記憶
された特定命令とを比較することにより、前記命令レジ
スタに同時に一時記憶されたn個の命令の中に少なくと
も要部が該特定命令と一致する原因命令が含まれている
かどうかを検出するための比較手段と、 前記原因命令に引き続いて実行すれば誤動作の発生を回
避できる補償命令を出力し、かつ前記命令レジスタに同
時に一時記憶されたn個の命令の中に前記原因命令が含
まれていることが前記比較手段により検出された場合に
は前記原因命令を含むn個の命令に後続するn個の後続
命令が前記命令レジスタに保持されるように前記命令ア
ドレス生成手段にアドレス生成の中断を指示するための
命令生成手段と、 前記命令レジスタに同時に一時記憶されたn個の命令の
各々がそれぞれ第1の入力命令として与えられ、かつ前
記命令生成手段から出力された補償命令がそれぞれ第2
の入力命令として与えられ、前記命令レジスタに同時に
一時記憶されたn個の命令の中に前記原因命令が含まれ
ていないことが前記比較手段により検出された場合は前
記第1の入力命令を同時実行すべきn個の命令のうちの
1つとしてそれぞれ発行し、前記命令レジスタに同時に
一時記憶されたn個の命令の中に前記原因命令が含まれ
ていることが前記比較手段により検出された場合は前記
第1の入力命令を同時実行すべきn個の命令のうちの1
つとしてそれぞれ発行したうえで前記第2の入力命令を
次に同時実行すべきn個の命令のうちの1つとしてそれ
ぞれ発行しかつ前記命令レジスタに保持されたn個の後
続命令の各々をその次に同時実行すべきn個の命令のう
ちの1つとしてそれぞれ発行するためのn個の命令選択
手段と を備えたことを特徴とする命令供給装置。 - 【請求項6】 実行すべき複数の命令を格納するための
命令格納手段と、 フェッチすべき命令のアドレスを生成するための命令ア
ドレス生成手段と、 前記命令アドレス生成手段により生成されたアドレスに
従って前記命令格納手段から フェッチしたn個の命令を
同時に一時記憶するための命令レジスタと、 同時に実行された場合に誤動作が発生する第1及び第2
の特定命令を記憶するための命令記憶手段と、 前記命令レジスタの記憶内容と前記命令記憶手段に記憶
された第1及び第2の特定命令とを比較することによ
り、前記命令レジスタに同時に一時記憶されたn個の命
令の中に少なくとも要部が該第1の特定命令と一致する
第1の原因命令と、少なくとも要部が該第2の特定命令
と一致する第2の原因命令とがいずれも含まれているか
どうかを検出するための比較手段と、 前記第1の原因命令と同時に実行しても誤動作が発生し
ない第1の補償命令と、前記第2の原因命令と同時に実
行しても誤動作が発生しない第2の補償命令とを出力
し、かつ前記命令レジスタに同時に一時記憶されたn個
の命令の中に前記第1及び第2の原因命令のいずれもが
含まれていることが前記比較手段により検出された場合
には前記第1及び第2の原因命令を含むn個の命令に後
続するn個の後続命令が前記命令レジスタに保持される
ように前記命令アドレス生成手段にアドレス生成の中断
を指示するための命令生成手段と、 前記命令レジスタに同時に一時記憶されたn個の命令の
各々がそれぞれ入力命令として与えられ、該n個の命令
の中に前記第1及び第2の原因命令のうちのいずれかが
含まれていないことが前記比較手段により検出された場
合は該入力命令を同時実行すべきn個の命令のうちの1
つとしてそれぞれ発行するためのn個の命令選択手段と を備え、 前記命令レジスタに同時に一時記憶されたn個の命令の
中に前記第1及び第2の原因命令のいずれもが含まれて
いることが前記比較手段により検出された場合には、前
記n個の命令選択手段のうち前記第1の原因命令の入力
を受けた第1の命令選択手段は該第1の原因命令を、前
記n個の命令選択手段のうち前記第2の原因命令の入力
を受けた第2の命令選択手段は前記命令生成手段から出
力された第1の補償命令を各々同時実行すべきn個の命
令のうちの1つとしてそれぞれ発行したうえで、前記第
1の命令選択手段は前記命令生成手段から出力された第
2の補償命令を、前記第2の命令選択手段は該第2の原
因命令を各々同時実行すべきn個の命令のうちの1つと
してそれぞれ発行し、かつ前記第1及び第2の命令選択
手段は前記命令レジスタに保持されたn個の後続命令の
各々をその次に同時実行すべきn個の命令のうちの1つ
としてそれぞれ発行する機能を有することを特徴とする
命令供給装置。 - 【請求項7】 実行すべき複数の命令を格納するための
命令格納手段と、 フェッチすべき命令のアドレスを生成するための命令ア
ドレス生成手段と、 前記命令アドレス生成手段により生成されたアドレスに
従って前記命令格納手段から フェッチしたn個の命令を
同時に一時記憶するための命令レジスタと、 連続して実行された後にさらに一定の命令が後続して実
行された場合に誤動作が発生する第1及び第2の特定命
令を記憶するための命令記憶手段と、 前記命令レジスタの記憶内容と前記命令記憶手段に記憶
された第1及び第2の特定命令とを比較することによ
り、前記命令レジスタに同時に一時記憶されたn個の命
令の中に少なくとも要部が該第1の特定命令と一致する
第1の原因命令が含まれ、かつ該第1の原因命令に引き
続いて少なくとも要部が該第2の特定命令と一致する第
2の原因命令が該命令レジスタに一時記憶されたかどう
かを検出するための比較手段と、 前記第1及び第2の原因命令に引き続いて実行すれば誤
動作の発生を回避できる補償命令を出力し、かつ前記第
1の原因命令に引き続いて前記第2の原因命令が前記命
令レジスタに一時記憶されたことが前記比較手段により
検出された場合には前記第2の原因命令を含むn個の命
令に後続するn個の後続命令が前記命令レジスタに保持
されるように前記命令アドレス生成手段にアドレス生成
の中断を指示するための命令生成手段と、 前記命令レジスタに同時に一時記憶されたn個の命令の
各々がそれぞれ入力命令として与えられ、前記第1の原
因命令に引き続いて前記第2の原因命令が前記命令レジ
スタに一時記憶されることがなかったことが前記比較手
段により検出された場合は該入力命令を同時実行すべき
n個の命令のうちの1つとしてそれぞれ発行するための
n個の命令選択手段と を備え、 前記第1の原因命令に引き続いて前記第2の原因命令が
前記命令レジスタに一時記憶されたことが前記比較手段
により検出された場合には、前記n個の命令選択手段の
うち前記第1及び第2の原因命令の入力を順次受けた命
令選択手段は、該第1及び第2の原因命令を各々同時実
行すべきn個の命令のうちの1つとして順次発行したう
えで、前記命令生成手段から出力された補償命令を次に
同時実行すべきn個の命令のうちの1つとして発行し、
かつ前記命令レジスタに保持されたn個の後続命令のう
ちの1つをその次に同時実行すべきn個の命令のうちの
1つとして発行する機能を有することを特徴とする命令
供給装置。 - 【請求項8】 請求項1〜7のいずれか1項に記載の命
令供給装置において、前記命令記憶手段は、前記特定命
令が命令の実行によって書き込まれることを特徴とする
命令供給装置。 - 【請求項9】 請求項1〜8のいずれか1項に記載の命
令供給装置において、前記命令生成手段は、前記補償命
令が命令の実行によって変更され得ることを特徴とする
命令供給装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3194446A JPH0782437B2 (ja) | 1990-08-03 | 1991-08-02 | 命令供給装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20723790 | 1990-08-03 | ||
| JP2-207237 | 1990-08-03 | ||
| JP3194446A JPH0782437B2 (ja) | 1990-08-03 | 1991-08-02 | 命令供給装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0535470A JPH0535470A (ja) | 1993-02-12 |
| JPH0782437B2 true JPH0782437B2 (ja) | 1995-09-06 |
Family
ID=26508502
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3194446A Expired - Lifetime JPH0782437B2 (ja) | 1990-08-03 | 1991-08-02 | 命令供給装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0782437B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016151774A1 (ja) * | 2015-03-24 | 2016-09-29 | 富士通株式会社 | 情報処理装置、情報処理システムおよび情報処理装置の制御プログラム |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS537337B2 (ja) * | 1974-05-20 | 1978-03-16 | ||
| JPS59108154A (ja) * | 1982-12-14 | 1984-06-22 | Mitsubishi Electric Corp | プログラム・モニタ装置 |
| JPH0769793B2 (ja) * | 1986-07-29 | 1995-07-31 | 日本電気株式会社 | 情報処理装置 |
| JPH01213719A (ja) * | 1988-02-23 | 1989-08-28 | Fuji Xerox Co Ltd | パイプライン処理用データ組替装置 |
| JPH02132524A (ja) * | 1988-11-14 | 1990-05-22 | Hitachi Ltd | 情報処理装置 |
-
1991
- 1991-08-02 JP JP3194446A patent/JPH0782437B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0535470A (ja) | 1993-02-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9063907B2 (en) | Comparison for redundant threads | |
| EP1324190B1 (en) | Data processing system having a read-modify-write unit | |
| CN1761940B (zh) | 指令处理设备,指令执行方法和装置,指令编译方法和装置 | |
| KR20200088760A (ko) | 체크섬 생성 | |
| US5446851A (en) | Instruction supplier for a microprocessor capable of preventing a functional error operation | |
| JPH0773037A (ja) | プロセッサの制御機構検証用命令列の自動生成方法及び装置 | |
| JP2007509399A (ja) | プロセッサユニットにおけるオペランド処理方法および装置 | |
| US7702885B2 (en) | Firmware extendable commands including a test mode command for a microcontroller-based flash memory controller | |
| JPH06295243A (ja) | データ処理装置 | |
| US20040003214A1 (en) | Instruction control method and processor | |
| US20080112205A1 (en) | Circuit and method for patching for program ROM | |
| JPH0535470A (ja) | 命令供給装置 | |
| US7392432B2 (en) | Synchronizing cross checked processors during initialization by miscompare | |
| JPH05257681A (ja) | マイクロプログラム制御装置群 | |
| JP2904172B2 (ja) | 論理回路シミュレータ | |
| JP3082944B2 (ja) | パイプライン処理装置 | |
| JP2872117B2 (ja) | マイクロプロセッサ | |
| JP2781779B2 (ja) | 分岐制御回路 | |
| JP2007213415A (ja) | メモリ装置 | |
| JP2008197943A (ja) | コンピュータシステム | |
| US5109516A (en) | Sequence controller for controlling next operating state with a short sequence | |
| JPH0298746A (ja) | マイクロプロセッサの障害回避方式 | |
| CN120255961A (zh) | 一种数据通路、芯片及电子设备 | |
| JP2710558B2 (ja) | 情報処理装置 | |
| JP2001051863A (ja) | マイクロプロセッサ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19960220 |