[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH01258034A - プログラム例外処理方式 - Google Patents

プログラム例外処理方式

Info

Publication number
JPH01258034A
JPH01258034A JP8590688A JP8590688A JPH01258034A JP H01258034 A JPH01258034 A JP H01258034A JP 8590688 A JP8590688 A JP 8590688A JP 8590688 A JP8590688 A JP 8590688A JP H01258034 A JPH01258034 A JP H01258034A
Authority
JP
Japan
Prior art keywords
exception
code
exceptional
microprogram
circuit
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
Application number
JP8590688A
Other languages
English (en)
Other versions
JP2560401B2 (ja
Inventor
Tetsuya Hagiwara
哲也 萩原
Fumio Matsunoshita
松野下 文郎
Yoshihiro Mizushima
水島 芳宏
Koichi Ueda
上田 孝一
Satoshi Sugiura
聡 杉浦
Masato Tanaka
正人 田中
Akisumi Koike
小池 夫澄
Tatsuki Nakada
達己 中田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63085906A priority Critical patent/JP2560401B2/ja
Publication of JPH01258034A publication Critical patent/JPH01258034A/ja
Application granted granted Critical
Publication of JP2560401B2 publication Critical patent/JP2560401B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 パイプライン方式のプログラム例外処理回路を備えたマ
イクロプログラム制御の情報処理装置におけるプログラ
ム例外処理方式に関し、ハードウェアの変更を行うこと
なく、例外コードの変更や、新しい例外コードを生成す
ることを目的とし、 情報処理装置の例外検出回路の出力を演算回路に入力す
る手段と、上記マイクロプログラムで、上記検出回路か
らの例外情報から該演算回路で割込みコードを生成させ
る手段と、その結果を該演算回路の書込みバスを介して
例外コードレジスタに書込む手段と、上記生成した例外
発生により、命令継続を抑止させて、且つ例外割込みを
発生させる手段とを設けて、マイクロプログラムにより
、任意の割込みコードを生成して例外処理割込みを行う
ように構成する。
〔産業上の利用分野〕
本発明は、パイプライン方式のプログラム例外処理回路
を備えたマイクロプログラム制御の情報処理装置におけ
るプログラム例外処理方式に関する。
情報処理装置の中央処理装置(CPU)では命令の実行
の際、ソフトウェアのプログラムミス、又は使用者の与
えた不当データによる種々のプログラム例外条件を検査
し、異常があった場合にはプログラム割込みを起こし、
該例外側込みの種別を割込みコードにしてソフトウェア
に報告しなければならない。
この例外には、命令読出しのミスのように命令に依存し
ない例外と、未定義命令コードや特権命令のように命令
の種類に依存する例外、及びオペランド読出しや演算例
外のように命令を実行してから判る例外がある。
これらの例外の中で、命令に依存する例外は例外条件の
パターンに共通性があり、又、命令に対応するマイクロ
プログラムの例外判定条件を変えることにより、比較的
容易に、修正できるが、命令の実行後に判る例外は、ハ
ードウェアで回路を組む為修正が困難である。
この為、新しい命令を追加しようとした場合や。
既存の命令の仕様変更により、例外割込みコードを変え
なければならない時は、該ハードウェアの改造となり、
多大な費用と工数を必要とする問題があった。又、発生
するコードのパターンの種類を増やすとハードウェアの
増加となる問題もあることから、最近のように、データ
処理の多様化に伴って、情報処理装置の機能の変更に対
する要求が多い状況においては、少ない費用で効果的に
、例外コードの変更や、新しい例外コードを生成して例
外割込みを発生できるプログラム例外処理方式が必要と
される。
〔従来の技術と発明が解決しようとする課題〕第2図は
従来のプログラム例外処理方式を説明する図であり、(
a)はブロック図を示し、(b)は動作タイムチャート
を示している。
先ず、本図(a)のブロック図において、3−61〜3
−88は、情報処理装置の本来の命令処理の為の回路の
一部である。
命令の読出しによって得られた命令コードは、命令コー
ドレジスタ3−61に投入され、その命令コードにより
制御記憶(CS) 3−60から対応するマイクロプロ
グラムが読み出されて、パイプラインタグ(フリップフ
ロップ(FF)からなる制御ビット群) 3−62〜3
−66に流される。
これらの制御ビットにより、各パイプラインステージを
順に制御することにより命令が実行される。
3−81〜3−88は演算部の回路であり、Bステージ
で読み出された主記憶/バッファのオペランドデータ、
又はレジスタオペランドデータがBステージの制御ピッ
) 3−64の制御の元に、選択回路3−86 、3−
87によって選択され、オペランドデータレジスタ3−
81.3−82に入力される。
この両オペランドの値がEステージの制御ビット3−6
5の制御により演算回路3−88で演算を施され、リザ
ルトレジスタ3−83に書込まれる。
更に、該リザルトレジスタ3−83の値はWステージの
制御ビット3−66の制御によりレジスタファイル3−
85中のレジスタ、又は主記憶/バッファに書込まれる
本図において、3−11〜3−55は例外処理の為の回
路であって、3−11〜3−17は例外検出を示すフリ
ップフロップ(FF)であり、パイプラインのそれぞれ
のステージで検出された例外事象が、ゲート回路3−2
2〜3−26により論理和される。
3−50〜3−55はそれぞれのステージの例外を検出
し、コード化する論理回路であり、その例外コードはパ
イプライン接続されている例外コードレジスタ3−31
〜3−37を流れる。
3−50で検出されるのは命令読出しに関する例外(例
えば、無効アドレスからの読出し等)であり、ハードウ
ェアによって検出/コード化される。
3−52で検出されるのは未定義命令例外、特権命金側
外等があり、その例外検出条件はAステージの制御ビッ
ト3−62によって与えられ、ハードウェアによって検
出/コード化される。
3−53.3−54で検出される例外は主記憶オペラン
ドアクセス等に関するものであり、3−55で検出され
る例外は演算実行に関するもの(例えば、除数が0°の
場合の演算等)であり、いずれもハードウェアによって
検出/コード化される。
選択回路3−42〜3−46は、前のステージで検出さ
れた例外コードを優先させる為のものであり、前述の例
外検出を表すフリップフロップ(PP) 3−13〜3
−17によって該優先制御が行われる。
又、例外コードレジスタ3−37.例外検出フリップフ
ロップ(PF) 3−17の帰還ループ■、■は、上記
各ステージで検出した例外事象を例外割込み処理におい
て、ソフトウェアに報告する為に保持してお(為の回路
である。
次に、(b)図によって、例外発生時のパイプラインの
動作を説明する。
今、3番目のマイクロプログラムフローのBステージで
例外が検出されたとすると、それ以前の命令の動作を保
証する為に、その時゛1゛にセットされた例外検出フリ
ップフロップ(FP) 3−15の内容は3−16迄パ
イプラインに従って流される。そして、フリップフロッ
プ(PP) 3−16が°1′になると、3番目以降の
マイクロプログラムフローが抑止され、クリアパイプラ
イン(RSで示す)に入り、パイプラインの通常の命令
処理に関係する制御ビット3−62〜3−66は全てク
リアされ、その後に、例外割込み処理の為のマイクロプ
ログラムフローが流れ出し、上記例外コードレジスタ3
−37に保持されていた内容が例外割込みコードとして
報告される。
このように、従来のプログラム例外処理方式においては
、殆どの例外事象がハードウェア論理で例外コードを作
成していた為、例外コードの変更や、新しい例外コード
を必要するような場合には、ハードウェアの改造を必要
とすると言う問題があった・ 本発明は上記従来の欠点に鑑み、パイプライン方式のプ
ログラム例外処理回路を備えたマイクロプログラム制御
の情報処理装置におけるプログラム例外処理方式におい
て、例外コードの変更や、新しい例外コードを作る際に
、ハードウェアの変更を行うことなくマイクロプログラ
ムの変更で対処する例外処理方式を提供することを目的
とするものである。
〔課題を解決するための手段〕
上記の問題点は下記の如(に構成されたプログラム例外
処理方式によって解決される。
パイプライン方式のプログラム例外処理回路を備えたマ
イクロプログラム制御の情報処理装置において、 例外検出回路の出力を演算回路に入力する手段と、 上記マイクロプログラムで、上記検出回路からの例外情
報から該演算回路で割込みコードを生成させる手段と、 その結果を該演算回路の書込みバスを介して例外コード
レジスタに書込む手段と、 上記生成した例外発生により、命令継続を抑止させて、
且つ例外割込みを発生させる手段とを設けて、 マイクロプログラムにより、任意の割込みコードを生成
して例外処理割込みを行うように構成する。
〔作用〕
即ち、本発明によれば、パイプライン方式のプログラム
例外処理回路を備えたマイクロプログラム制御の情報処
理装置におけるプログラム例外処理方式において、新設
した特定命令、或いは、機能を変更した特定命令を実行
する際、特定のマイクロプログラムフローで、例外検出
回路で検出した例外情報を演算回路に入力し、その出力
を例外コードレジスタに書込むと同時に、例外フリップ
フロップ(FF)を°オン°するか、又は該例外情報を
演算回路に入力して、−旦レジスタフアイルに記憶して
おき、特定のマイクロプログラムフローで、該演算回路
で新たな例外コードを生成した時点で、該演算回路の書
込みバスの出力を例外コードレジスタに書込むと同時に
例外フリップフロップ(FP)を°オン゛として例外割
込み処理に入り、該例外コードレジスタにセットされた
例外コードをソフトウェアに報告するようにしたもので
あるので、ハードウェアの改造を加えることなく、マイ
クロプログラムを変更、或いは新設するだけで、例外コ
ードの変更、或いは新しい例外コードを生成することが
できる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
第1図は本発明の一実施例をブロック図で示した図であ
り、例外検出回路3−53〜3−55の出力を演算回路
の入力とする手段のと、演算回路3−88の出力の書込
みバスを例外コードレジスタ3−37に入力する手段■
と、該演算回路3−88の出力を例外コードレジスタ3
−37に書込む時に、例外フリップフロップ(FF) 
3−17を゛オン゛とする手段■が本発明を実施するの
に必要な手段である。尚、全図を通して同じ符号は同じ
対象物を示している。
本発明を実施しても、命令処理、及び例外事象の検出動
作そのものは特に従来方式と変わることはないので省略
し、ここでは、特定の命令の機能を変更したり、新規な
命令を追加した際の例外コードの変更、或いは、新たな
例外コードの生成方式を中心にして、本発明のプログラ
ム例外処理方式を説明する。
今、新しい例外割込みコードが定義されたとすると、そ
の例外事象を検出するマイクロプログラムフローの、例
えば、Bステージでの例外検出回路3−54における従
来の例外コード作成処理を制御ビット3−64によって
抑止し、そこで検出した例外情報を本発明によって新設
したルート■で演算回路3−88に入力し、該演算回路
3−88を通してレジスタファイル3−85中の作業用
レジスタに書込むように指示し、継続する特定のマイク
ロプログラムフローで、従来からある演算回路3−88
による演算機能により、上記作業用レジスタに格納され
ている例外情報を用いて、上記定義した例外コードを作
成し、本発明で新設したルート■により例外コードレジ
スタ3−37に書込むように指示すると共に、そのWス
テージにおいて例外割込みを強制させる為にルート■で
例外フリップフロップ(FF) 3−17を°オン° 
とするように機能させる。
すると、従来のプログラム例外割込みと同様にして、そ
のマイクロプログラムフロー、及び以降のマイクロプロ
グラムフローの抑止、及び例外割込みが発生し、該生成
され例外コードレジスタ3−37に書込まれている例外
コードをソフトウェアに報告することができるようにな
る。
つまり、本発明を実施することによりマイクロプログラ
ムの変更等で、自由に例外コードを作成することができ
る。
尚、上記の実施例では、Bステージの例外事象のみを演
算回路に入力する例で説明したが、他のステージで検出
された例外情報を該演算回路3−88に入力することは
勿論、該Bステージの例外コードレジスタ3−34の出
力を入力することや、−船釣に良く知られているバイパ
ス回路によって、一つ前のマイクロプログラムフローの
Eステージの例外情報を入力すること、更に、該例外検
出回路で検出した例外情報をコンデイションコードのデ
ータ形式に変換して入力するようにしても良いことは言
う迄もないことである。
又、上記の実施例においては、上記の例外情報をレジス
タファイル3−85中の作業用レジスタに一旦書込んで
おいて、該例外を検出したマイクロプログラムフローと
は異なる別の(具体的には、継続した)マイクロプログ
ラムフローで例外コードを作成する例で説明したが、該
例外検出回路3−54の出力を演算回路3−88に入力
して、即演算を行いその出力をその侭書込みバスに乗せ
、例外コードレジスタ3−37に書込むと同時に例外フ
リップフロップ(FF) 3−17を°オン“ とする
ようにしても良いことは言う迄もないことである。
このように、本発明はプログラム例外処理方式において
、例外コードを変更したい場合や、新しい例外コードを
作成したい場合、関連する命令を実行して検出された例
外情報を演算回路に入力し、該演算回路で特定の演算を
施して、予め、定義した新たな例外コードを作成し、例
外コードレジスタに書込んで例外割込みを強制するよう
にした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明のプログラム例外
処理方式は、パイプライン方式のプログラム例外処理回
路を備えたマイクロプログラム制御の情報処理装置にお
けるプログラム例外処理方式において、新設した特定命
令、或いは、機能を変更した特定命令を実行する際、特
定のマイクロプログラムフローで、例外検出回路で検出
した例外情報を演算回路に入力し、その出力を例外コー
ドレジスタに書込むと同時に、例外フリップフロップ(
PF)を“オン゛するか、又は該例外情報を演算回路に
入力して、−旦レジスタフアイルに記憶しておき、特定
のマイクロプログラムフローで、該演算回路で新たな例
外コードを生成した時点で、該演算回路の書込みバスの
出力を例外コードレジスタに書込むと同時に例外フリッ
プフロップ(FF)を°オン°として例外割込み処理に
入り、該例外コードレジスタにセットされた例外コード
をソフトウェアに報告するようにしたものであるので、
ハードウェアの改造を加えることなく、マイクロプログ
ラムを変更、或いは新設するだけで、例外コードの変更
、或いは新しい例外コードを生成することができる効果
がある。
【図面の簡単な説明】
第1図は本発明の一実施例をブロック図で示した図。 第2図は従来のプログラム例外処理方式を説明する図。 である。 図面において、 3−11〜3−17は例外検出を示すフリップフロップ
(FF)、又は例外フリップフロップ(FP) 。 3−22〜3−26は論理和回路。 3−31〜3−37は例外コードレジスタ。 3−42〜3−46は選択回路。 3−50〜3−55は例外検出回路。 3−81〜3−88は演算回路。 ■〜■は本発明を実施する為の手段、又はルート。 ■、■は保持ルート をそれぞれ示す。 舖  1−f   凸

Claims (1)

  1. 【特許請求の範囲】 パイプライン方式のプログラム例外処理回路(3)を備
    えたマイクロプログラム制御の情報処理装置において、 例外検出回路(3−50〜3−55)の出力を演算回路
    (3−8)に入力する手段([1])と、 上記マイクロプログラムで、上記検出回路(3−50〜
    3−55)からの例外情報から該演算回路(3−8)で
    割込みコードを生成させる手段と、 その結果を該演算回路(3−8)の書込みバスを介して
    例外コードレジスタ(3−37)に書込む手段([2]
    )と、 上記生成した例外発生により、命令継続を抑止させて、
    且つ例外割込みを発生させる手段([3])とを設けて
    、 マイクロプログラムにより、任意の割込みコードを生成
    して例外処理割込みを行うことを特徴とするプログラム
    例外処理方式。
JP63085906A 1988-04-07 1988-04-07 プログラム例外処理方式 Expired - Fee Related JP2560401B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63085906A JP2560401B2 (ja) 1988-04-07 1988-04-07 プログラム例外処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63085906A JP2560401B2 (ja) 1988-04-07 1988-04-07 プログラム例外処理方式

Publications (2)

Publication Number Publication Date
JPH01258034A true JPH01258034A (ja) 1989-10-16
JP2560401B2 JP2560401B2 (ja) 1996-12-04

Family

ID=13871879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63085906A Expired - Fee Related JP2560401B2 (ja) 1988-04-07 1988-04-07 プログラム例外処理方式

Country Status (1)

Country Link
JP (1) JP2560401B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61285540A (ja) * 1985-06-13 1986-12-16 Nec Corp 情報処理装置
JPS62171026A (ja) * 1986-01-23 1987-07-28 Mitsubishi Electric Corp パイプライン演算装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61285540A (ja) * 1985-06-13 1986-12-16 Nec Corp 情報処理装置
JPS62171026A (ja) * 1986-01-23 1987-07-28 Mitsubishi Electric Corp パイプライン演算装置

Also Published As

Publication number Publication date
JP2560401B2 (ja) 1996-12-04

Similar Documents

Publication Publication Date Title
US5692169A (en) Method and system for deferring exceptions generated during speculative execution
US4181942A (en) Program branching method and apparatus
EP0537309A1 (en) System and method for preserving source instruction atomicity in translated program code
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JPH04266125A (ja) ディジタルコンピュータの操作方法
JPH034936B2 (ja)
JPH01258034A (ja) プログラム例外処理方式
EP0806723A2 (en) Method and apparatus for handling multiple precise events in a pipelined digital processor
JPH1196006A (ja) 情報処理装置
JPS63214804A (ja) Plc用プロセツサ及びplc
US11263014B2 (en) Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry
JP4063182B2 (ja) プロセッサおよびその割り込み制御方法
JPH02197924A (ja) 中央演算処理装置
JPS6327746B2 (ja)
KR20080044652A (ko) Cpu에서의 스택을 이용한 디버깅 방법
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
KR100765867B1 (ko) 계산기와 그 제어 방법
JPH02132524A (ja) 情報処理装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
WO1990005951A1 (en) Method of handling unintended software interrupt exceptions
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
JP2671161B2 (ja) レジスタ干渉チェック方式
JP2987281B2 (ja) プロセッサ
JP2023151592A (ja) 情報処理装置、及び情報処理装置の動作制御方法
JPS623345A (ja) 割込方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees