JPH01310441A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH01310441A JPH01310441A JP63140779A JP14077988A JPH01310441A JP H01310441 A JPH01310441 A JP H01310441A JP 63140779 A JP63140779 A JP 63140779A JP 14077988 A JP14077988 A JP 14077988A JP H01310441 A JPH01310441 A JP H01310441A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- type
- address
- exception
- register
- 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.)
- Granted
Links
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
1血立1
本発明はデータ処理装置に関し、特に制御記憶に格納さ
れたマイクロプログラムにより制御されるデータ処理装
置に関する。
れたマイクロプログラムにより制御されるデータ処理装
置に関する。
藍氷及韮
従来、この種のデータ処理装置においては、処理性能の
向上を計るためにマイクロプログラムを構成するマイク
ロ命令が1ステツプで実行する機能を多くし、並列処理
性を高めたビット構成の大きな、いわゆる水平型マイク
ロ命令化が顕著である。
向上を計るためにマイクロプログラムを構成するマイク
ロ命令が1ステツプで実行する機能を多くし、並列処理
性を高めたビット構成の大きな、いわゆる水平型マイク
ロ命令化が顕著である。
特に基本演算命令など使用頻度の窩いものについては、
上述の水平型マイクロ命令の特徴が最大限にいかせるよ
うにハードウェアの構造も最適化されるので、マイクロ
プログラムのステップ数が極めて少なくなるように実現
される。
上述の水平型マイクロ命令の特徴が最大限にいかせるよ
うにハードウェアの構造も最適化されるので、マイクロ
プログラムのステップ数が極めて少なくなるように実現
される。
一方、シーケンシャルな処理が多く、このような機能に
対して高度に水平化されたマイクロ命令を使用しても、
1ステツプで実行する機能の並列度が低いためにマイク
ロ命令の未使用フィールドが多くなってしまう各種制御
命令を、上述の基本演算命令から構成される命令プログ
ラムにより実現するという階層構造をとることにより、
マイクロプログラムを格納する制御記憶のワード方向の
利用効率を高める方法が出願者により考えられている。
対して高度に水平化されたマイクロ命令を使用しても、
1ステツプで実行する機能の並列度が低いためにマイク
ロ命令の未使用フィールドが多くなってしまう各種制御
命令を、上述の基本演算命令から構成される命令プログ
ラムにより実現するという階層構造をとることにより、
マイクロプログラムを格納する制御記憶のワード方向の
利用効率を高める方法が出願者により考えられている。
以下、この方法を用いたデータ処理装置について第3図
を用いて説明する。
を用いて説明する。
この方法を用いたデータ処理装置は、第3図に示すよう
に、主記憶1と、命令フェッチ回路2と、命令解析用メ
モリ3と、制御記憶回路4と、演算回路5と、例外処理
機構8とを含んで構成されている。
に、主記憶1と、命令フェッチ回路2と、命令解析用メ
モリ3と、制御記憶回路4と、演算回路5と、例外処理
機構8とを含んで構成されている。
主記憶1は所定の処理を行うソフトウェアプログラムが
格納されたソフトウェアプログラム部11と、第1種の
命令で記述された複数の命令プログラムが格納された命
令プログラム部12とを含んで構成されている6M算回
路5は制御記憶回路4により制御され、第1種の命令で
定義された機能を実現するためのマイクロプログラムに
より各種の演算処理を行うものである。
格納されたソフトウェアプログラム部11と、第1種の
命令で記述された複数の命令プログラムが格納された命
令プログラム部12とを含んで構成されている6M算回
路5は制御記憶回路4により制御され、第1種の命令で
定義された機能を実現するためのマイクロプログラムに
より各種の演算処理を行うものである。
主記憶1のソフトウェアプログラム部11に格納された
ソフトウェアプログラムは、命令フェッチ回路2におい
て命令カウンタ25と逐次アドレス生成回路24とによ
り生成され、命令アドレスレジスタ21に保持されたア
ドレスにより主記憶1から読出され、この読出されたソ
フトウェアプログラムは命令バッファレジスタ22に格
納される。
ソフトウェアプログラムは、命令フェッチ回路2におい
て命令カウンタ25と逐次アドレス生成回路24とによ
り生成され、命令アドレスレジスタ21に保持されたア
ドレスにより主記憶1から読出され、この読出されたソ
フトウェアプログラムは命令バッファレジスタ22に格
納される。
命令の取出しは、実際にその命令が実行されるときには
命令バッファレジスタ22に到着済みであるように先取
りする、いわゆるブリフエヅチにより行われるのが一般
的である。
命令バッファレジスタ22に到着済みであるように先取
りする、いわゆるブリフエヅチにより行われるのが一般
的である。
はじめに、第1種の命令、すなわち制御記憶41上のマ
イクロプログラムで実現される命令について説明する。
イクロプログラムで実現される命令について説明する。
第1種の命令は水平型マイクロ命令の並列処理の効果か
充分に発揮できる基本命令であり、一般にソフトウェア
プログラムに使用される頻度が格段に高い命令である。
充分に発揮できる基本命令であり、一般にソフトウェア
プログラムに使用される頻度が格段に高い命令である。
命令バッファレジスタ22に格納された命令の命令コー
ド部221は命令解析用メモリ3に供給され、命令解析
用メモリ3からその命令の処理のマイクロプログラム制
御に必要な初期値として制御情報31〜33が読出され
る。
ド部221は命令解析用メモリ3に供給され、命令解析
用メモリ3からその命令の処理のマイクロプログラム制
御に必要な初期値として制御情報31〜33が読出され
る。
制御情報32はその命令が第1種の命令であるか第2種
の命令であるかを示す情報であり、制御記憶回路4のマ
イクロ命令シーケンサ42に供給される。
の命令であるかを示す情報であり、制御記憶回路4のマ
イクロ命令シーケンサ42に供給される。
このとき、制御情報32が第1種の命令であることを示
していれば、マイクロ命令シーケンサ42は制御情報3
1をこの命令の処理を実現するマイクロプログラムの先
頭番地として制御記憶41に供給し、制御記憶41のそ
の番地からマイクロコードを読出す、読出されたマイク
ロコードは一旦マイクロ命令レジスタ44に保持され、
マイクロ命令レジスタ44から演算回路5に提供される
。
していれば、マイクロ命令シーケンサ42は制御情報3
1をこの命令の処理を実現するマイクロプログラムの先
頭番地として制御記憶41に供給し、制御記憶41のそ
の番地からマイクロコードを読出す、読出されたマイク
ロコードは一旦マイクロ命令レジスタ44に保持され、
マイクロ命令レジスタ44から演算回路5に提供される
。
尚、このマイクロコードには次のマイクロ命令を読出ず
アドレスの決定方法やそのアドレスそのものの情報が含
まれており、この情報をマイクロ命令シーケンサ42が
マイクロ命令レジスタ44から受取ることにより次のマ
イクロ命令の読出しが行われる。以下、上述の処理と同
様にして、逐次的に目的のマイクロプログラムが実行さ
れていく。
アドレスの決定方法やそのアドレスそのものの情報が含
まれており、この情報をマイクロ命令シーケンサ42が
マイクロ命令レジスタ44から受取ることにより次のマ
イクロ命令の読出しが行われる。以下、上述の処理と同
様にして、逐次的に目的のマイクロプログラムが実行さ
れていく。
次に、第2種の命令、すなわち第1種の命令からなるソ
フトウェアプログラムで実現される命令について説明す
る。
フトウェアプログラムで実現される命令について説明す
る。
第2種の命令はマイクロプログラムで実現しようとする
と水平型マイクロ命令の並列処理の効果がそれほど発揮
できない命令であり、むしろ垂直型のマイクロ命令に近
い使い方になる命令である。
と水平型マイクロ命令の並列処理の効果がそれほど発揮
できない命令であり、むしろ垂直型のマイクロ命令に近
い使い方になる命令である。
命令解析用メモリ3からの制御情報32が第2種の命令
であることを示していれば、マイクロ命令シーゲンサ4
2は制御記憶41からマイクロ命令レジスタ44へのマ
イクロ命令の読出しを停止し、マイクロ命令レジスタ4
4にはNOP (ノーオペレーション)のマイクロコー
ドが保持されて演算回路5の動作が一時中断される。
であることを示していれば、マイクロ命令シーゲンサ4
2は制御記憶41からマイクロ命令レジスタ44へのマ
イクロ命令の読出しを停止し、マイクロ命令レジスタ4
4にはNOP (ノーオペレーション)のマイクロコー
ドが保持されて演算回路5の動作が一時中断される。
このとき同時に、制御情報32は分岐アドレス生成回路
23に提供され、分岐アドレス生成回路23は制御情報
33をこの命令の処理を実現する命令プログラムの開始
番地としてセレクタ27を介して命令アドレスレジスタ
21に出力し、命令プログラムの開始番地を命令アドレ
スレジスタ21に保持させる。この開始番地によって主
記憶1の命令プログラム部12から命令プログラムを読
出す動作が起動され、この命令プログラムの第1の命令
か命令バッファレジスタ22に格納される。
23に提供され、分岐アドレス生成回路23は制御情報
33をこの命令の処理を実現する命令プログラムの開始
番地としてセレクタ27を介して命令アドレスレジスタ
21に出力し、命令プログラムの開始番地を命令アドレ
スレジスタ21に保持させる。この開始番地によって主
記憶1の命令プログラム部12から命令プログラムを読
出す動作が起動され、この命令プログラムの第1の命令
か命令バッファレジスタ22に格納される。
さらに、この制御情報32ははじめの第2種の命令が主
記憶1から読出されたときの命令カウンタ25の[(第
2種の命令のアドレス)を格納するように命令カウンタ
退避レジスタ26に指示する。
記憶1から読出されたときの命令カウンタ25の[(第
2種の命令のアドレス)を格納するように命令カウンタ
退避レジスタ26に指示する。
ここで、第2図に示すように、第2種の命令B1が第1
種の命令Aa〜Adにより記述された命令プログラムに
より実現されるとすると、命令バッファレジスタ22に
は殻初の命令Aaが格納されていることになる。尚、第
2図においては第1種の命令A1〜A4と第2種の命令
B1とによりソフトウェアプログラムが構成されている
。
種の命令Aa〜Adにより記述された命令プログラムに
より実現されるとすると、命令バッファレジスタ22に
は殻初の命令Aaが格納されていることになる。尚、第
2図においては第1種の命令A1〜A4と第2種の命令
B1とによりソフトウェアプログラムが構成されている
。
この命令Aaは第1種の命令であるので、制御記憶41
上のマイクロプログラムによって実現される。命令プロ
グラムの命令Ab 、Acも同様に制御記憶41上のマ
イクロプログラムによって実現される。
上のマイクロプログラムによって実現される。命令プロ
グラムの命令Ab 、Acも同様に制御記憶41上のマ
イクロプログラムによって実現される。
命令Adは第1種の命令であるが、第2種の命令B1を
実現するための命令プログラムの最後の命令であり、元
のソフトウェアプログラムのシーケンス上で命令B1の
次の命令A3に戻るための役割を果たす。
実現するための命令プログラムの最後の命令であり、元
のソフトウェアプログラムのシーケンス上で命令B1の
次の命令A3に戻るための役割を果たす。
すなわち、命令Adは命令カウンタ退避レジスタ26に
保持される番地をベースにした相対分岐命令として定義
される。命令カウンタ退避レジスタ26には第2種の命
令B1が読出されたときの命令カウンタ25の値が保持
されているので、相対分岐命令の変位として第2種の命
令B1の命令語長を設定することにより、分岐アドレス
生成回路23において命令シーケンス上で第2種の命令
B1の次の命令A3の命令アドレスが生成され、この命
令アドレスがセレクタ27を介して命令アドレスレジス
タ21に保持される。
保持される番地をベースにした相対分岐命令として定義
される。命令カウンタ退避レジスタ26には第2種の命
令B1が読出されたときの命令カウンタ25の値が保持
されているので、相対分岐命令の変位として第2種の命
令B1の命令語長を設定することにより、分岐アドレス
生成回路23において命令シーケンス上で第2種の命令
B1の次の命令A3の命令アドレスが生成され、この命
令アドレスがセレクタ27を介して命令アドレスレジス
タ21に保持される。
同時に、命令アドレスレジスタ21に保持されたアドレ
スにより主記憶1のソフトウェアプログラム部11から
命令A3を読出す動作が起動され、ソフトウェアプログ
ラム部11から読出された命令A3は命令バッファレジ
スタ22に格納される。
スにより主記憶1のソフトウェアプログラム部11から
命令A3を読出す動作が起動され、ソフトウェアプログ
ラム部11から読出された命令A3は命令バッファレジ
スタ22に格納される。
命令A3は第1種の命令であるので、制御記憶41に格
納されたマイクロプログラムによって実現され、以下逐
次的にソフトウェアプログラム上の命令が実行されてい
く。
納されたマイクロプログラムによって実現され、以下逐
次的にソフトウェアプログラム上の命令が実行されてい
く。
通常、例外処理ti横8は主記憶1から読出された命令
の実行中に例外が検出されると起動され、例外メツセー
ジを作成してソフトウェアに通知する。この例外メツセ
ージには発生した例外の種類や例外の種類により決定さ
れるパラメータのほかに、例外が発生した命令のアドレ
スが含まれている。この例外が発生した命令のアドレス
は例外が発生したときの命令カウンタ25の内容が用い
られ、例外処理機構8においては命令カウンタ25の内
容によって例外メツセージが作成されている。
の実行中に例外が検出されると起動され、例外メツセー
ジを作成してソフトウェアに通知する。この例外メツセ
ージには発生した例外の種類や例外の種類により決定さ
れるパラメータのほかに、例外が発生した命令のアドレ
スが含まれている。この例外が発生した命令のアドレス
は例外が発生したときの命令カウンタ25の内容が用い
られ、例外処理機構8においては命令カウンタ25の内
容によって例外メツセージが作成されている。
しかしながら、第1種の命令Aa〜A[Iによって記述
された命令プログラムにより実現される第2種の命令B
1が実行されているときに例外が発生すると、本来なら
ば第2種の命令B1のアドレスを例外が発生した命令の
アドレスとすべきであるにもかかわらず、現実に実行さ
れている第1種の命令Aa−Adのアドレス、すなわち
第1種の命令Aa〜Adが実行されているときの命令カ
ウンタ25の内容が例外が発生した命令のアドレスとな
ってしまうという問題がある。
された命令プログラムにより実現される第2種の命令B
1が実行されているときに例外が発生すると、本来なら
ば第2種の命令B1のアドレスを例外が発生した命令の
アドレスとすべきであるにもかかわらず、現実に実行さ
れている第1種の命令Aa−Adのアドレス、すなわち
第1種の命令Aa〜Adが実行されているときの命令カ
ウンタ25の内容が例外が発生した命令のアドレスとな
ってしまうという問題がある。
1匪立旦至
本発明は上記のような従来のものの問題点を除去すべく
なされたもので、第2種の命令を実現する命令プログラ
ムの実行中に発生した例外を第2種の命令の例外として
扱うことができ、マイクロプログラムを格納する制御記
憶のワード方向の利用効率を高めることができるデータ
処理装置の提供を目的とする。
なされたもので、第2種の命令を実現する命令プログラ
ムの実行中に発生した例外を第2種の命令の例外として
扱うことができ、マイクロプログラムを格納する制御記
憶のワード方向の利用効率を高めることができるデータ
処理装置の提供を目的とする。
及J!ソ1國
本発明によるデータ処理装置は、制御記憶に格納された
マイクロプログラムにより制御されるデータ処理装置で
あって、前記マイクロプログラムにより実現される第1
の命令で構成される命令プログラムを格納する第1の格
納手段と、前記第1の命令と、前記第1の格納手段に格
納された前記命令プログラムにより実現される第2の命
令とを格納する第2の格納手段と、前記第1および第2
の格納手段から読出された命令のアドレスを格納するア
ドレス格納手段と、前記第2の格納手段から読出された
命令が前記第1の命令であるか前記第2の命令であるか
を識別する識別手段と、前記識別手段により前記第2の
命令であると識別されたときに、前記第1の格納手段か
ら読出された前記命令プログラムを構成する前記第1の
命令により前記第2の命令を実行する実行手段と、前記
識別手段により前記第2の命令であると識別されたとき
に、前記第2の命令のアドレスを退避する退避手段と、
前記識別手段により前記第2の命令であると識別された
ときに、前記第2の命令が実行中であることを示す情報
を保持する保持手段と、前記アドレス格納手段に格納さ
れたアドレスと前記退避手段に格納されたアドレスとの
うち一方を、前記保持手段に保持された前記情報に応じ
て選択する選択手段とを有し、前記第2の格納手段から
読出された命令の実行中に例外が発生したとき、前記選
択手段により選択されたアドレスにより前記例外の処理
を行うようにしたことを特徴とする。
マイクロプログラムにより制御されるデータ処理装置で
あって、前記マイクロプログラムにより実現される第1
の命令で構成される命令プログラムを格納する第1の格
納手段と、前記第1の命令と、前記第1の格納手段に格
納された前記命令プログラムにより実現される第2の命
令とを格納する第2の格納手段と、前記第1および第2
の格納手段から読出された命令のアドレスを格納するア
ドレス格納手段と、前記第2の格納手段から読出された
命令が前記第1の命令であるか前記第2の命令であるか
を識別する識別手段と、前記識別手段により前記第2の
命令であると識別されたときに、前記第1の格納手段か
ら読出された前記命令プログラムを構成する前記第1の
命令により前記第2の命令を実行する実行手段と、前記
識別手段により前記第2の命令であると識別されたとき
に、前記第2の命令のアドレスを退避する退避手段と、
前記識別手段により前記第2の命令であると識別された
ときに、前記第2の命令が実行中であることを示す情報
を保持する保持手段と、前記アドレス格納手段に格納さ
れたアドレスと前記退避手段に格納されたアドレスとの
うち一方を、前記保持手段に保持された前記情報に応じ
て選択する選択手段とを有し、前記第2の格納手段から
読出された命令の実行中に例外が発生したとき、前記選
択手段により選択されたアドレスにより前記例外の処理
を行うようにしたことを特徴とする。
実施例
次に、本発明の一実施例について図面を参照して説明す
る。
る。
第1図は本発明の一実施例の構成を示すブロック図であ
る0図において、本発明の一実施例によるデータ処理装
置は、レジスタ6および選択回路7以外は第3図に示す
データ処理装置と同様の構成となっており、同一の構成
部品には同一符号を付しである。
る0図において、本発明の一実施例によるデータ処理装
置は、レジスタ6および選択回路7以外は第3図に示す
データ処理装置と同様の構成となっており、同一の構成
部品には同一符号を付しである。
また、それら構成部品の動作も第3図に示すデータ処理
装置の動作と同様であるので、以下本発明の一実施例の
特徴について説明する。
装置の動作と同様であるので、以下本発明の一実施例の
特徴について説明する。
レジスタ6のセット端子Sには命令解析用メモリ3から
の制御情報32が入力され、リセット端子Rには命令解
析用メモリ3からの制御情報33が入力されている。
の制御情報32が入力され、リセット端子Rには命令解
析用メモリ3からの制御情報33が入力されている。
選択回路7は命令フェッチ回路2の命令カウンタ25か
らの出力信号と命令カウンタ退避レジスタ26からの出
力信号とのうち一方をレジスタ6の出力信号により選択
して例外処理機構8に出力する。すなわち、選択回路7
は現在実行されている命令のアドレスと、命令カウンタ
退避レジスタ26に退避されている第2種の命令のアド
レスとのうち一方をレジスタ6の内容に応じて選択する
。
らの出力信号と命令カウンタ退避レジスタ26からの出
力信号とのうち一方をレジスタ6の出力信号により選択
して例外処理機構8に出力する。すなわち、選択回路7
は現在実行されている命令のアドレスと、命令カウンタ
退避レジスタ26に退避されている第2種の命令のアド
レスとのうち一方をレジスタ6の内容に応じて選択する
。
第2図は本発明の一実施例のソフトウェアプログラム部
A1−A4およびAa〜Adは制御記憶回路4に格納さ
れたマイクロプログラムにより実現される第1種の命令
を示し、B1は命令プログラム部12に格納された命令
プログラムにより実現される第2種の命令を示している
。
れたマイクロプログラムにより実現される第1種の命令
を示し、B1は命令プログラム部12に格納された命令
プログラムにより実現される第2種の命令を示している
。
次に、第1図と第2図とを用いて本発明の一実施例の動
作について説明する。
作について説明する。
命令フェッチ回路2の命令アドレスレジスタ21に保持
されたアドレスにより主記憶1のソフトウェアプログラ
ム部11から第1種の命令A1〜A4と第2種の命令B
1とが読出され、第3図に示すデータ処理装置の動作と
同様にして、これら第1種の命令A1〜A4と第2種の
命令B1とが順次実行される。
されたアドレスにより主記憶1のソフトウェアプログラ
ム部11から第1種の命令A1〜A4と第2種の命令B
1とが読出され、第3図に示すデータ処理装置の動作と
同様にして、これら第1種の命令A1〜A4と第2種の
命令B1とが順次実行される。
このとき、命令バッファレジスタ22に格納された命令
の命令コード部221により命令解析用メモリ3からそ
の命令の処理のマイクロプログラム制御に必要な初期値
として制御情報31〜33が読出される。
の命令コード部221により命令解析用メモリ3からそ
の命令の処理のマイクロプログラム制御に必要な初期値
として制御情報31〜33が読出される。
これらの制御情報31〜33のうち制御情報32はその
命令が第1種の命令であるが第2種の命令であるかを示
す情報であり、第1種の命令のときに“0″となり、第
2種の命令のときに“1′。
命令が第1種の命令であるが第2種の命令であるかを示
す情報であり、第1種の命令のときに“0″となり、第
2種の命令のときに“1′。
となる。
したがって、レジスタ6は制御情報32に応じてセット
されるので、制御情報32が第2種の命令を示すときに
のみレジスタ6がセットされる。
されるので、制御情報32が第2種の命令を示すときに
のみレジスタ6がセットされる。
主記憶1のソフトウェアプログラム部11から第1種の
命令A1〜A4が読出されると、命令解析用メモリ3か
らの制御情報32は第1種の命令を示しているので、マ
イクロ命令シーケンサ42は制御情報31をこの命令の
処理を実現するマイクロプログラムの先頭番地として制
御記憶41に供給し、制御記憶41のその番地からマイ
クロコードを読出す、読出されたマイクロコードは一旦
マイクロ命令レジスタ44に保持され、マイクロ命令レ
ジスタ44から演算回路5に提供され、第1種の命令A
1〜A4が制御記憶41のマイクロコードにより実行さ
れる。このとき、レジスタ6にはこの制御情報32によ
り0”が入力されるのでリセットされたままである。
命令A1〜A4が読出されると、命令解析用メモリ3か
らの制御情報32は第1種の命令を示しているので、マ
イクロ命令シーケンサ42は制御情報31をこの命令の
処理を実現するマイクロプログラムの先頭番地として制
御記憶41に供給し、制御記憶41のその番地からマイ
クロコードを読出す、読出されたマイクロコードは一旦
マイクロ命令レジスタ44に保持され、マイクロ命令レ
ジスタ44から演算回路5に提供され、第1種の命令A
1〜A4が制御記憶41のマイクロコードにより実行さ
れる。このとき、レジスタ6にはこの制御情報32によ
り0”が入力されるのでリセットされたままである。
これら第1種の命令A1〜A4の実行中に例外が検出さ
れると、たとえば第1種の命令A2の実行中に例外が発
生した場合には、レジスタ6が“0”を保持しているの
で選択回路7は命令カウンタ25からの出力信号を選択
し、命令カウンタ25に保持されている第1種の命令A
2のアドレスを例外処理81構8に出方する0例外処理
機横8ではこの命令カウンタ25に保持されている第1
種の命令A2のアドレスを例外が発生した命令のアドレ
スとして例外メツセージを作成する。
れると、たとえば第1種の命令A2の実行中に例外が発
生した場合には、レジスタ6が“0”を保持しているの
で選択回路7は命令カウンタ25からの出力信号を選択
し、命令カウンタ25に保持されている第1種の命令A
2のアドレスを例外処理81構8に出方する0例外処理
機横8ではこの命令カウンタ25に保持されている第1
種の命令A2のアドレスを例外が発生した命令のアドレ
スとして例外メツセージを作成する。
一方、主記憶1のソフトウェアプログラム部11から第
2種の命令B1が読出されると、命令解析用メモリ3か
らの制御情報32は第2種の命令を示しているので、マ
イクロ命令シーケンサ42は制御記憶41からマイクロ
命令レジスタ44へのマイクロ命令の読出しを停止し、
マイクロ命令レジスタ44にはNOP (ノーオペレー
ション)のマイクロコードが保持されて演算回路5の動
作が一時中断される。
2種の命令B1が読出されると、命令解析用メモリ3か
らの制御情報32は第2種の命令を示しているので、マ
イクロ命令シーケンサ42は制御記憶41からマイクロ
命令レジスタ44へのマイクロ命令の読出しを停止し、
マイクロ命令レジスタ44にはNOP (ノーオペレー
ション)のマイクロコードが保持されて演算回路5の動
作が一時中断される。
このとき同時に、制御情報32は分岐アドレス生成回路
23に提供され、分岐アドレス生成回路23は制御情報
33をこの命令の処理を実現する命令プログラムの開始
番地としてセレクタ27を介して命令アドレスレジスタ
21に出力して保持させる。この開始番地によって主記
憶1の命令プログラム部12から命−令プログラムを読
出す動作が起動され、この命令プログラムの第1の命令
Aaが命令バッファレジスタ22に格納される。
23に提供され、分岐アドレス生成回路23は制御情報
33をこの命令の処理を実現する命令プログラムの開始
番地としてセレクタ27を介して命令アドレスレジスタ
21に出力して保持させる。この開始番地によって主記
憶1の命令プログラム部12から命−令プログラムを読
出す動作が起動され、この命令プログラムの第1の命令
Aaが命令バッファレジスタ22に格納される。
また、この制御情報32ははじめの第2種の命令B1が
主記憶1から読出されたときの命令カウンタ25の値(
第2種の命令B1のアドレス)を格納するように命令カ
ウンタ退避レジスタ26に指示する。このとき、レジス
タ6にはこの制御情報32により“1”がセットされる
。
主記憶1から読出されたときの命令カウンタ25の値(
第2種の命令B1のアドレス)を格納するように命令カ
ウンタ退避レジスタ26に指示する。このとき、レジス
タ6にはこの制御情報32により“1”がセットされる
。
第2種の命令B1を実現するための命令プログラムを構
成する命令Aa〜Adは第1種の命令であるので、制御
記憶41上のマイクロプログラムによって実現され、そ
のマイクロプログラムによって順次実行される。
成する命令Aa〜Adは第1種の命令であるので、制御
記憶41上のマイクロプログラムによって実現され、そ
のマイクロプログラムによって順次実行される。
命令Adは第1種の命令であるが、第2種の命令B1を
実現するための命令プログラムのfif&の命令であり
、元のソフトウェアプログラムのシーケンス上で命令B
1の次の命令A3に戻るための役割を果たす。
実現するための命令プログラムのfif&の命令であり
、元のソフトウェアプログラムのシーケンス上で命令B
1の次の命令A3に戻るための役割を果たす。
すなわち、命令Adは命令カウンタ3J1避レジスタ2
6に保持される番地をベースにした相対分岐命令として
定義される。命令カウンタ退避レジスタ26には第2種
の命令B1が読出されたときの命令カウンタ25の値が
保持されているので、相対分岐命令の変位として第2種
の命令B1の命令語長を設定することにより、分岐アド
レス生成回路23において命令シーケンス上で第2種の
命令B1の次の命令A3の命令アドレスが生成され、こ
の命令アドレスがセレクタ27を介して命令アドレスレ
ジスタ21に保持される。
6に保持される番地をベースにした相対分岐命令として
定義される。命令カウンタ退避レジスタ26には第2種
の命令B1が読出されたときの命令カウンタ25の値が
保持されているので、相対分岐命令の変位として第2種
の命令B1の命令語長を設定することにより、分岐アド
レス生成回路23において命令シーケンス上で第2種の
命令B1の次の命令A3の命令アドレスが生成され、こ
の命令アドレスがセレクタ27を介して命令アドレスレ
ジスタ21に保持される。
同時に、命令アドレスレジスタ21に保持されたアドレ
スにより主記憶1のソフトウェアプログラム部11から
命令A3を読出す動作が起動され、ソフトウェアプログ
ラム部11から読出された命令A3は命令バッファレジ
スタ22に格納される。
スにより主記憶1のソフトウェアプログラム部11から
命令A3を読出す動作が起動され、ソフトウェアプログ
ラム部11から読出された命令A3は命令バッファレジ
スタ22に格納される。
命令A3は第1種の命令であるので、制御記憶41に格
納されたマイクロプログラムによって実現され、以下逐
次的にソフトウェアプログラム上の命令が実行されてい
く。
納されたマイクロプログラムによって実現され、以下逐
次的にソフトウェアプログラム上の命令が実行されてい
く。
これらの命令Aa〜Adにより記述される命令プログラ
ム、すなわち第2種の命令B1が実行されているときに
例外が検出されなければ、命令Adの実行時に命令解析
用メモリ3から読出された制御情報33によりレジスタ
6はリセットされる。
ム、すなわち第2種の命令B1が実行されているときに
例外が検出されなければ、命令Adの実行時に命令解析
用メモリ3から読出された制御情報33によりレジスタ
6はリセットされる。
すなわち、レジスタ6は第2種の命令B1の実行開始と
ともにセットされ、実行終了とともにリセットされる。
ともにセットされ、実行終了とともにリセットされる。
また、第2種の命令B1を実現する命令プログラムの実
行中に例外が検出されると、たとえば命令プログラム中
の第1種の命令Abの実行中に例外が発生した場合には
、レジスタ6が“1”を保持しているので選択回路7は
命令カウンタ退避レジスタ26からの出力信号を選択し
、命令カウンタ退避レジスタ26に退避されている第2
種の命令B1のアドレスを例外処理Rs8に出力する。
行中に例外が検出されると、たとえば命令プログラム中
の第1種の命令Abの実行中に例外が発生した場合には
、レジスタ6が“1”を保持しているので選択回路7は
命令カウンタ退避レジスタ26からの出力信号を選択し
、命令カウンタ退避レジスタ26に退避されている第2
種の命令B1のアドレスを例外処理Rs8に出力する。
例外処理機構8ではこの命令カウンタ退避レジスタ26
に退避されている第2種の命令B1のア1くレスを例外
が発生した命令のアドレスとして例外メツセージを作成
する。
に退避されている第2種の命令B1のア1くレスを例外
が発生した命令のアドレスとして例外メツセージを作成
する。
このように、マイクロプログラムで実現しようとすると
水平型マイクロ命令の並列処理の効果かそれほど発揮で
きない第2種の命令B1を、水平型マイクロ命令の並列
処理の効果が充分に発揮できる基本命令Aa〜Adから
なる命令プログラムの実行により実現し、この命令プロ
グラムの実行中に例外が発生したときに、レジスタ6に
保持された命令プログラムの実行中を示す情報に応じて
選択回路7で命令カウンタ退避レジスタ26に退避され
た第2種の命令B1のアドレスが選択されて例外処理i
横8に送出されるようにすることにより、第2種の命令
を実現する命令プログラムの実行中に発生した例外を、
命令プログラムを構成する第1種の命令Aa〜Adの例
外としてではなく、第2種の命令の例外として扱うこと
ができ、マイクロプログラムを格納する制御記憶41の
ワード方向の利用効率を高めることができる。これによ
り、制御記憶41の容量を従来よりも縮小させることが
できる。
水平型マイクロ命令の並列処理の効果かそれほど発揮で
きない第2種の命令B1を、水平型マイクロ命令の並列
処理の効果が充分に発揮できる基本命令Aa〜Adから
なる命令プログラムの実行により実現し、この命令プロ
グラムの実行中に例外が発生したときに、レジスタ6に
保持された命令プログラムの実行中を示す情報に応じて
選択回路7で命令カウンタ退避レジスタ26に退避され
た第2種の命令B1のアドレスが選択されて例外処理i
横8に送出されるようにすることにより、第2種の命令
を実現する命令プログラムの実行中に発生した例外を、
命令プログラムを構成する第1種の命令Aa〜Adの例
外としてではなく、第2種の命令の例外として扱うこと
ができ、マイクロプログラムを格納する制御記憶41の
ワード方向の利用効率を高めることができる。これによ
り、制御記憶41の容量を従来よりも縮小させることが
できる。
さらに、パイプライン処理などによりソフトウェア命令
の並列処理が行えるハードウェアにおいては、実行時間
を短縮することができる。
の並列処理が行えるハードウェアにおいては、実行時間
を短縮することができる。
尚、本発明の一実施例においては、第2種の命令B1の
処理を実現する命令プログラムの開始番地がそのまま命
令解析用メモリ3に格納されるようになっているが、開
始番地の一部のみを命令解析用メモリ3に格納し、この
開始番地の一部と予め定められた定数とを合成して開始
番地が生成されるようにしてもよい。
処理を実現する命令プログラムの開始番地がそのまま命
令解析用メモリ3に格納されるようになっているが、開
始番地の一部のみを命令解析用メモリ3に格納し、この
開始番地の一部と予め定められた定数とを合成して開始
番地が生成されるようにしてもよい。
また、本発明の一実施例においては、第1種の命令AI
’〜A4 、Aa〜Adの処理を実現するマイクロプロ
グラムの先頭番地が命令解析用メモリ3の制tllI情
報31により定義され、第2種の命令B1の処理を実現
する命令プログラムの開始番地が命令解析用メモリ3の
制御情報33により定義されているが、第2種の命令B
1の処理を実現する命令プログラムの開始番地を第1種
の命令A1〜A4 、Aa〜Adの処理を実現するマイ
クロプログラムの先頭番地が定義される命令解析用メモ
リ3の制御情報31に割当ててもよい。
’〜A4 、Aa〜Adの処理を実現するマイクロプロ
グラムの先頭番地が命令解析用メモリ3の制tllI情
報31により定義され、第2種の命令B1の処理を実現
する命令プログラムの開始番地が命令解析用メモリ3の
制御情報33により定義されているが、第2種の命令B
1の処理を実現する命令プログラムの開始番地を第1種
の命令A1〜A4 、Aa〜Adの処理を実現するマイ
クロプログラムの先頭番地が定義される命令解析用メモ
リ3の制御情報31に割当ててもよい。
さらに、本発明の一実施例においては、レジスタ6のリ
セットを命令解析用メモリ3からの制御情報33により
行っているが、たとえばマイクロ命令によりレジスタ6
のリセットを行ってもよく、これらに限定されない。
セットを命令解析用メモリ3からの制御情報33により
行っているが、たとえばマイクロ命令によりレジスタ6
のリセットを行ってもよく、これらに限定されない。
1匪立菫1
以上説明したように本発明によれば、制御記憶に格納さ
れたマイクロプログラムにより実現される第1の命令と
、この第1の命令で構成される命令プログラムにより実
現される第2の命令とを識別し、その識別結果が第2の
命令であることを示すとき、第2の命令を命令プログラ
ムを構成する第1の命令によって実行するようにし、が
っ該命令プログラムの実行中に例外が発生したときに、
退避手段に退避された第2の命令のアドレスによりその
例外の処理を行うようにすることにより、第2種の命令
を実現する命令プログラムの実行中に発生した例外を第
2種の命令の例外として扱うことができ、マイクロプロ
グラムを格納する制御記憶のワード方向の利用効率を高
めることができるという効果がある。
れたマイクロプログラムにより実現される第1の命令と
、この第1の命令で構成される命令プログラムにより実
現される第2の命令とを識別し、その識別結果が第2の
命令であることを示すとき、第2の命令を命令プログラ
ムを構成する第1の命令によって実行するようにし、が
っ該命令プログラムの実行中に例外が発生したときに、
退避手段に退避された第2の命令のアドレスによりその
例外の処理を行うようにすることにより、第2種の命令
を実現する命令プログラムの実行中に発生した例外を第
2種の命令の例外として扱うことができ、マイクロプロ
グラムを格納する制御記憶のワード方向の利用効率を高
めることができるという効果がある。
第1図は本発明の一実施例の構成を示すブロック図、第
2図は本発明の一実施例のソフトウェアプログラムのシ
ーケンスを示す図、第3図は従来例を示すブロック図で
ある。 主要部分の符号の説明 1・・・・・・主記憶 2・・・・・・命令フェッチ回路 3・・・・・・命令解析用メモリ 4・・・・・・制御記憶回路 6・・・・・・レジスタ 7・・・・・・選択回路 8・・・・・・例外処理機構 11・・・・・・ソフトウェアプログラム部12・・・
・・・命令プログラム部 Al〜A4 。 Aa〜Ad・・・・・・第1種の命令 B1・・・・・・第2種の命令
2図は本発明の一実施例のソフトウェアプログラムのシ
ーケンスを示す図、第3図は従来例を示すブロック図で
ある。 主要部分の符号の説明 1・・・・・・主記憶 2・・・・・・命令フェッチ回路 3・・・・・・命令解析用メモリ 4・・・・・・制御記憶回路 6・・・・・・レジスタ 7・・・・・・選択回路 8・・・・・・例外処理機構 11・・・・・・ソフトウェアプログラム部12・・・
・・・命令プログラム部 Al〜A4 。 Aa〜Ad・・・・・・第1種の命令 B1・・・・・・第2種の命令
Claims (1)
- (1)制御記憶に格納されたマイクロプログラムにより
制御されるデータ処理装置であって、前記マイクロプロ
グラムにより実現される第1の命令で構成される命令プ
ログラムを格納する第1の格納手段と、前記第1の命令
と、前記第1の格納手段に格納された前記命令プログラ
ムにより実現される第2の命令とを格納する第2の格納
手段と、前記第1および第2の格納手段から読出された
命令のアドレスを格納するアドレス格納手段と、前記第
2の格納手段から読出された命令が前記第1の命令であ
るか前記第2の命令であるかを識別する識別手段と、前
記識別手段により前記第2の命令であると識別されたと
きに、前記第1の格納手段から読出された前記命令プロ
グラムを構成する前記第1の命令により前記第2の命令
を実行する実行手段と、前記識別手段により前記第2の
命令であると識別されたときに、前記第2の命令のアド
レスを退避する退避手段と、前記識別手段により前記第
2の命令であると識別されたときに、前記第2の命令が
実行中であることを示す情報を保持する保持手段と、前
記アドレス格納手段に格納されたアドレスと前記退避手
段に格納されたアドレスとのうち一方を、前記保持手段
に保持された前記情報に応じて選択する選択手段とを有
し、前記第2の格納手段から読出された命令の実行中に
例外が発生したとき、前記選択手段により選択されたア
ドレスにより前記例外の処理を行うようにしたことを特
徴とするデータ処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63140779A JPH0682320B2 (ja) | 1988-06-08 | 1988-06-08 | データ処理装置 |
US07/361,977 US5095426A (en) | 1988-06-08 | 1989-06-06 | Data processing system for effectively handling exceptions during execution of two different types of instructions |
FR8907536A FR2632746B1 (fr) | 1988-06-08 | 1989-06-07 | Dispositif de traitement de donnees |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63140779A JPH0682320B2 (ja) | 1988-06-08 | 1988-06-08 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01310441A true JPH01310441A (ja) | 1989-12-14 |
JPH0682320B2 JPH0682320B2 (ja) | 1994-10-19 |
Family
ID=15276549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63140779A Expired - Lifetime JPH0682320B2 (ja) | 1988-06-08 | 1988-06-08 | データ処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5095426A (ja) |
JP (1) | JPH0682320B2 (ja) |
FR (1) | FR2632746B1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134693A (en) * | 1989-01-18 | 1992-07-28 | Intel Corporation | System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel |
JP2581236B2 (ja) * | 1989-11-16 | 1997-02-12 | 三菱電機株式会社 | データ処理装置 |
JP2504235B2 (ja) * | 1989-11-16 | 1996-06-05 | 三菱電機株式会社 | デ―タ処理装置 |
US5237700A (en) * | 1990-03-21 | 1993-08-17 | Advanced Micro Devices, Inc. | Exception handling processor for handling first and second level exceptions with reduced exception latency |
US5574872A (en) * | 1991-12-10 | 1996-11-12 | Intel Corporation | Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling |
DE4237417C2 (de) * | 1992-03-25 | 1997-01-30 | Hewlett Packard Co | Datenverarbeitungssystem |
US5386563A (en) * | 1992-10-13 | 1995-01-31 | Advanced Risc Machines Limited | Register substitution during exception processing |
US5761407A (en) * | 1993-03-15 | 1998-06-02 | International Business Machines Corporation | Message based exception handler |
US5758141A (en) * | 1995-02-10 | 1998-05-26 | International Business Machines Corporation | Method and system for selective support of non-architected instructions within a superscaler processor system utilizing a special access bit within a machine state register |
US6052801A (en) * | 1995-05-10 | 2000-04-18 | Intel Corporation | Method and apparatus for providing breakpoints on a selectable address range |
US5659679A (en) * | 1995-05-30 | 1997-08-19 | Intel Corporation | Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system |
US5621886A (en) * | 1995-06-19 | 1997-04-15 | Intel Corporation | Method and apparatus for providing efficient software debugging |
US5740413A (en) * | 1995-06-19 | 1998-04-14 | Intel Corporation | Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping |
JP3451594B2 (ja) * | 1995-12-21 | 2003-09-29 | 株式会社森精機ハイテック | 数値制御装置における記憶手段アクセス制御方法および数値制御装置 |
FR2757653B1 (fr) * | 1996-12-20 | 1999-03-12 | Sextant Avionique | Controleur d'entrees-sorties autonome et deporte |
US6009515A (en) * | 1997-05-30 | 1999-12-28 | Sun Microsystems, Inc. | Digital data processing system including efficient arrangement to support branching within trap shadows |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3766532A (en) * | 1972-04-28 | 1973-10-16 | Nanodata Corp | Data processing system having two levels of program control |
GB1426749A (en) * | 1973-06-05 | 1976-03-03 | Burroughs Corp | Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets |
US4370709A (en) * | 1980-08-01 | 1983-01-25 | Tracor, Inc. | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases |
US4434462A (en) * | 1980-11-24 | 1984-02-28 | Texas Instruments Incorporated | Off-chip access for psuedo-microprogramming in microprocessor |
US4399505A (en) * | 1981-02-06 | 1983-08-16 | Data General Corporaton | External microcode operation in a multi-level microprocessor |
US4928223A (en) * | 1982-10-06 | 1990-05-22 | Fairchild Semiconductor Corporation | Floating point microprocessor with directable two level microinstructions |
US4901235A (en) * | 1983-10-28 | 1990-02-13 | Data General Corporation | Data processing system having unique multilevel microcode architecture |
US4975837A (en) * | 1984-10-01 | 1990-12-04 | Unisys Corporation | Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets |
-
1988
- 1988-06-08 JP JP63140779A patent/JPH0682320B2/ja not_active Expired - Lifetime
-
1989
- 1989-06-06 US US07/361,977 patent/US5095426A/en not_active Expired - Fee Related
- 1989-06-07 FR FR8907536A patent/FR2632746B1/fr not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0682320B2 (ja) | 1994-10-19 |
FR2632746B1 (fr) | 1994-10-28 |
US5095426A (en) | 1992-03-10 |
FR2632746A1 (fr) | 1989-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4879646A (en) | Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging | |
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
JPH01310441A (ja) | データ処理装置 | |
JP2011086298A (ja) | プログラム・フロー制御 | |
JPH03233630A (ja) | 情報処理装置 | |
JPH031231A (ja) | マイクロプログラム制御装置 | |
US7415599B1 (en) | Instruction operation and operand memory location determined based on preceding instruction operation and operand memory location | |
US5812845A (en) | Method for generating an object code for a pipeline computer process to reduce swapping instruction set | |
JPS6329292B2 (ja) | ||
JPH0222413B2 (ja) | ||
JPH0544049B2 (ja) | ||
JPH07114509A (ja) | メモリアクセス装置 | |
JP2536615B2 (ja) | 情報処理装置 | |
JPH01276231A (ja) | データ処理装置 | |
JP3057732B2 (ja) | 情報処理装置 | |
US7281121B2 (en) | Pipeline processing device and interrupt processing method | |
JP2689894B2 (ja) | マイクロプログラム制御型情報処理装置 | |
JPH01310440A (ja) | データ処理装置 | |
JPH01276232A (ja) | データ処理装置 | |
JPH04239323A (ja) | 階層形命令制御における命令キャッシュ方式 | |
KR20010067336A (ko) | 데이터 처리 장치 및 그 제어 방법 | |
JPH0425937A (ja) | 情報処理装置 | |
JPH0279122A (ja) | 浮動小数点演算機構 | |
JPS61143848A (ja) | マイクロプログラム制御装置 | |
JPH0146889B2 (ja) |