JP2809710B2 - プログラム例外コード制御回路 - Google Patents

プログラム例外コード制御回路

Info

Publication number
JP2809710B2
JP2809710B2 JP1156567A JP15656789A JP2809710B2 JP 2809710 B2 JP2809710 B2 JP 2809710B2 JP 1156567 A JP1156567 A JP 1156567A JP 15656789 A JP15656789 A JP 15656789A JP 2809710 B2 JP2809710 B2 JP 2809710B2
Authority
JP
Japan
Prior art keywords
exception code
exception
code
completion
type
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 - Fee Related
Application number
JP1156567A
Other languages
English (en)
Other versions
JPH0322032A (ja
Inventor
哲也 萩原
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 JP1156567A priority Critical patent/JP2809710B2/ja
Publication of JPH0322032A publication Critical patent/JPH0322032A/ja
Application granted granted Critical
Publication of JP2809710B2 publication Critical patent/JP2809710B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔概要〕 検出される例外コードをプログラムに通知するプログ
ラム例外コード制御回路に関し、 2種以上の完了型例外が検出されるときにも適切に対
応できるようにすることを目的とし、 例外コードがないことを表すコードを初期コードにし
て例外コードを一時的に保持するラッチ手段と、例外コ
ードを記憶するメモリ手段と、検出される例外コードと
ラッチ手段の保持データとを入力データとして、一般例
外コードが検出されるときにはそれを選択し、一般例外
コードが検出されずに完了型例外コードが検出されると
きに、保持データが初期コードであるときには検出され
る完了型例外コードを選択するとともに、完了型例外コ
ードであるときには保持されるものか検出されるものの
内の優先度の高い方を選択し、いずれの例外コードも検
出されないときに、保持データが完了型例外コードであ
るときにはそれを選択するとともに、初期コードである
ときにはいずれの入力データも選択しないよう処理する
選択手段とを備え、ラッチ手段は、命令実行中に所定の
周期に従って選択手段の出力を入力として保持データを
更新していくとともに、メモリ手段は、プログラム割込
処理時に最終的に更新されたこの保持データの例外コー
ドを記憶するよう構成する。
〔産業上の利用分野〕
本発明は、プログラム命令の実行時に検出される割込
種別を表す一般例外コード及び完了型例外コードをプロ
グラムに通知するよう処理するプログラム例外コード制
御回路に関し、特に、少ないゲート数で回路を実装でき
るようにするとともに、同一命令で2種以上の完了型例
外が検出されるような場合にも適切に対応できるように
するプログラム例外コード制御回路に関するものであ
る。
プログラム例外コード制御回路は、プログラム命令の
実行時に検出される割込種別を表す例外コードをメモリ
上の固定アドレスに格納するための制御回路であり、検
出される例外コードがプログラム命令の抑止・無効・中
断を指定する一般例外コードであるときには、直ちに割
込処理に入るために検出される例外コードを固定アドレ
スに格納すべく処理するとともに、検出される例外コー
ドがプログラム命令の完了を待って割込処理に入ること
を指定する完了型例外コードであるときには、プログラ
ム命令の完了を待って検出される例外コードを固定アド
レスに格納すべく処理することになる。
近年、アドレス拡張、新VM機構、拡張記憶等の追加機
能が検討され、それによって新しい例外コードが定義さ
れるようになってきている。これから、ビット数の増加
に伴うプログラム例外コード制御回路のハード量の増加
が問題になってきている。また、追加機能によっては、
同一命令で2種以上の完了型例外が検出されるようなも
のについて、完了型例外の優先度順に命令を実行させて
いくことが不可能になるものがでてきており、プログラ
ム例外コード制御回路がこれに対応できるよう構成され
る必要性がでてきている。
〔従来の技術〕
第4図に、パイプラインのラストステージであるライ
トステージに従って、従来のプログラム例外コード制御
回路の構成を示す。第4図(a)中、10は一般例外検出
回路であって、プログラムの一般例外を検出してその一
般例外コードを出力するもの、11は完了型例外検出回路
であって、プログラムの完了型例外を検出してその完了
型例外コードを出力するもの、12はCMPL_XVラッチであ
って、完了型例外検出回路11により完了型例外が検出さ
れるときにセットされてHI出力を出力(図中のCMPL_XV
信号)するもの、13はCMPL_XCレジスタであって、完了
型例外検出回路11が出力する完了型例外コードを格納す
るもの、14は例外コード選択回路であって、例外コード
の有効信号を参照して、一般例外検出回路10の一般例外
コード出力、CMPL_XCレジスタ13の完了型例外コード出
力、完了型例外検出回路11の完了型例外コード出力の順
位順に従っていずれか1つの出力の例外コードを選択す
るもの、15はPGM_XCレジスタであって、例外コード選択
回路14が選択した例外コードを格納するもの、16はORゲ
ートであって、プログラム命令の完了を表すEND_OP信号
がでるときか、RESTORE_STATE信号がでるときにCMPL_XV
ラッチ12のHI出力をリセットするもの、17はORゲートで
あって、完了型例外検出回路11が完了型例外コードの有
効信号を出力するときか、CMPL_XVラッチ12がHI出力を
出力するときにHI出力を出力するもの、18はANDゲート
であって、ORゲート17がHI出力を出力し、かつEND_OP信
号がでるときにHI出力を出力するもの、19はORゲートで
あって、ANDゲート18がHI出力を出力するときか、一般
例外検出回路10が一般例外コードの有効信号を出力する
ときにHI出力を出力するもの、20はANDゲートであっ
て、ORゲート19がHI出力を出力し、かつマシンチェック
を行っていないときにでるPGM_RUPT_ENBL信号があると
きにHI出力を出力(図中のSET_PGM_LCH信号)するも
の、21はPGM_RUPTラッチであって、ANDゲート20のHI出
力をラッチ(図中のPGM_RUPT_LCH信号)するものであ
る。
図中の二重線は例外コード信号を表し、実線は検出信
号を表している。また、一般例外検出回路10及び完了型
例外検出回路11は、実際にはパイプラインの各ステージ
に存在していて、それらの各ステージの一般例外検出回
路10及び完了型例外検出回路11により検出された例外コ
ードが、ライトステージの一般例外検出回路10及び完了
型例外検出回路11に送り込まれてくることになるが、こ
こでは説明の便宜上簡略化し図示してある。
第4図(b)に示すように、CMPL_XCレジスタ13をイ
ネーブル状態にするためのCMPL_XC_CLK_ENBL信号は、バ
ッファ22に従ってCMPL_XVラッチ12がLO出力を出力して
いるときに出力されることになり、PGM_RUPTラッチ21を
イネーブル状態にするためのPGM_RUPT_LCH_CLK_ENBL信
号は、ORゲート23に従って、PROCESS_STATE信号かSTOP_
STATE信号のいずれか一方の出力があるときに出力され
ることになり、PGM_XCレジスタ15をイネーブル状態にす
るためのPGM_XC_CLK_ENBL信号は、ANDゲート24に従っ
て、PGM_RUPT_LCH_CLK_ENBL信号が出力される条件で、
かつANDゲート20からSET_PGM_LCH信号が出力されるとき
に出力されることになる。
以上に説明したORゲート16の入力となるRESTORE_STAT
E信号と、ORゲート23の入力となるPROCESS_STATE信号及
びSTOP_STATE信号とは、ステートマシンの出力信号であ
る。第5図に、このステートマシンの遷移図を示す。
次に、このように構成される従来のプログラム例外コ
ード制御回路の動作処理について説明する。
一般例外検出回路10が一般例外の発生を検出して一般
例外コードを出力すると、例外コード選択回路14は、CM
PL_XCレジスタ13の完了型例外コードや完了型例外検出
回路11の完了型例外コードの有無に関係なく、この出力
される一般例外コードを選択するとともに、ANDゲート2
0は、SET_PGM_LCH信号を出力する。SET_PGM_LCH信号が
出力されると、ANDゲート24は、PROCESS_STATE信号との
論理積に従ってPGM_XC_CLK_ENBL信号を出力し、PGM_XC
レジスタ15は、このPGM_XC_CLK_ENBL信号に従ってイネ
ーブル状態となって例外コード選択回路14が選択した一
般例外コードを格納する。そして、SET_PGM_LCH信号が
出力されると、図示しない論理に従ってステートがPROC
ESSステートからRESTOREステートに遷移することになる
ので、PGM_XC_CLK_ENBL信号は1マシンサイクル分で消
滅する。このようにして、第5図に示すように、RESTOR
Eステートを経由してENDPROCステートに遷移して割込処
理のマイクロプログラムが起動されることで、PGM_XCレ
ジスタ15に格納されている一般例外コードがメモリ上の
固定アドレスのところに格納されて、プログラムに対し
て一般例外コードが通知されるよう処理されることにな
る。
一方、完了型例外検出回路11が複数フローからなるプ
ログラム命令の途中のフローで完了型例外(複数発生す
るときには、最も優先度の高いものが最初となるように
プログラム命令が構成されている)の発生を検出して完
了型例外コードを出力すると、CMPL_XVラッチ12は、CMP
L_XV信号を出力することで完了型例外が発生したことを
表示し、CMPL_XCレジスタ13は、その出力される完了型
例外コードを格納するとともに、バッファ22に従ってデ
ィスイネーブル状態に転じてその完了型例外コードを保
持するよう処理する。この処理に従って、例外コード選
択回路14は、一般例外検出回路10が一般例外コードを出
力していないことを条件に、このCMPL_XCレジスタ13の
完了型例外コードを選択する。そして、ANDゲート18がE
ND_OP信号に従ってその完了型例外を発生させたプログ
ラム命令の完了を確認すると、ANDゲート20は、SET_PGM
_LCH信号を出力する。このようにして、SET_PGM_LCH信
号が出力されると、上述した一般例外が検出されたとき
の処理と同様の処理に従って、発生した完了型例外コー
ドがPGM_XCレジスタ15を介してメモリ上の固定アドレス
のところに格納されることで、プログラムに対して通知
されるよう処理されることになる。
一方、完了型例外検出回路11がプログラム命令の最終
のフローで完了型例外の発生を検出して完了型例外コー
ドを出力すると、例外コード選択回路14は、一般例外検
出回路10が一般例外コードを出力していなく、かつCMPL
_XCレジスタ13が完了型例外コードを保持していないこ
とを条件に、この完了型例外検出回路11の完了型例外コ
ードを選択する。そして、上述したCMPL_XCレジスタ13
に保持される完了型例外コードと同様の処理に従い、完
了型例外を発生させたプログラム命令の完了を待って、
発生した完了型例外コードがPGM_XCレジスタ15を介して
メモリ上に固定アドレスのところに格納されることで、
プログラムに対して通知されるよう処理されることにな
る。
上述したように、RESTOREステートを経由して割込処
理のENDPROCステートに遷移することで、PGM_XCレジス
タ15に格納されている例外コードがメモリに展開される
と、このENDPROCステートでは、更にプログラム割込用
新PSWをセットし、そして、次のSTARTステートを経由し
て、PROCESSステートに入ることで割込ルーチンの実行
に入るよう処理することになる。
第6図に、プログラム命令の途中のフローで完了型例
外が検出されたときのタイムチャートを示す。このタイ
ムチャートでは、最初のフローで完了型例外が検出され
た例を示してある。なお、この図に示すように、PGM_RU
PTラッチ21は、PROCESS_STATE信号に従って送出されるP
GM_RUPT_LCH_CLK_ENBL信号によりイネーブル状態となっ
て、ANDゲート20からのSET_PGM_LCH信号によりPGM_RUPT
_LCH信号を出力するとともに、RESTOREステートに遷移
することでディスイネーブル状態となってこのPGM_RUPT
_LCH信号を保持し、そして、PROCESSステートに遷移す
ることで再びイネーブル状態となってこのPGM_RUPT_LCH
信号を消滅するよう処理することになる。
〔発明が解決しようとする課題〕
しかしながら、このような従来のプログラム例外コー
ド制御回路では、CMPL_XCレジスタ13が出力機能を有す
るレジスタとなるために、ゲート数が多くなってしまう
という問題点があった。この問題点は、完了型例外種別
の増加に伴って必要となるビット数が増えるとともに大
きなものとなっていたのである。
そして、従来のプログラム例外コード制御回路では、
例外コード選択回路14が、CMPL_XCレジスタ13の完了型
例外コードを完了型例外検出回路11の完了型例外コード
よりも優先的に選択するよう処理していたことから、同
一命令で2種以上の完了型例外が検出されるようなプロ
グラム命令については、優先度の高い完了型例外が先に
検出されることになるようにと実行手順に定めていく必
要があるが、新たに追加される機能によっては、このよ
うな実行手順を採用することができないようなプログラ
ム命令もでてくることがあって、対処することができな
いという問題点がでてきた。
しかも、従来のプログラム例外コード制御回路では、
PGM_XCレジスタ15は、命令が正常終了しても割込処理を
行った例外コードを保持し続けることから、割込処理し
た例外コードをサービスプロセッサから知ることができ
るという利点はあるものの、現時点で実行した命令でプ
ログラム例外が発生したかのような誤解を生じさせると
いう問題点もあったのである。
本発明はかかる事情に鑑みてなされたものであって、
このような従来技術の問題点を解決できる新たなプログ
ラム例外コード制御回路の提供を目的とするものであ
る。
〔課題を解決するための手段〕
第1図は本発明の原理構成図である。
図中、1は一般例外検出手段であって、プログラムの
一般例外を検出してその一般例外コードを出力するも
の、2は完了型例外検出手段であって、プログラムの完
了型例外を検出してその完了型例外コードを出力するも
の、3は完了型例外コード表示手段であって、完了型例
外検出手段2により完了型例外が検出されたことを表示
するもの、4は例外コードラッチ手段であって、例外コ
ードがないことを表すコードを初期コードにして、プロ
グラム命令の実行中に検出される例外コードを所定の周
期に従って更新しながら一時的に保持していくもの、5
は例外コード選択手段であって、一般例外検出手段1に
より検出される一般例外コードと、完了型例外検出手段
2により検出される完了型例外コードと、例外コードラ
ッチ手段4により保持される例外コードとを入力データ
として、予め定められる選択手順に従っていずれか1つ
の例外コードを選択して例外コードラッチ手段4に出力
するもの、6は例外コードメモリ手段であって、プログ
ラム割込処理の終了時に最終的に更新された例外コード
ラッチ手段4の例外コードを記憶するもの、7は割込処
理要求手段であって、一般例外検出手段1が発生する一
般例外コードの有効信号と、完了型例外検出手段2が発
生する完了型例外コードの有効信号と、完了型例外コー
ド表示手段3が発生する表示信号と、END_OP信号とを入
力として、割込処理に入るための割込要求信号を出力す
るものである。
ここで、例外コード選択手段5は、ステートマシンが
STOPステートにあるときにあって、いずれの例外コード
も検出されていないことを条件に、例外コードラッチ手
段4の保持データを選択するよう処理することになる。
〔作用〕
本発明では、例外コード選択手段5は、一般例外及び
完了型例外が検出されないときにはいずれの入力データ
も選択しないよう処理するので、例外コードラッチ手段
4は、例外コードがないことを表す初期コードを保持し
続けることになる。このとき、一般例外検出手段1が一
般例外を検出すると、例外コード選択手段5は、他の入
力データに関係なく一般例外検出手段1が出力する一般
例外コードを選択して例外コードラッチ手段4にセット
するよう処理する。そして、割込処理要求手段7は、一
般例外検出手段1からの一般例外コードの有効信号を検
出すると、例外コードラッチ手段4の更新処理を終了し
て割込要求信号を出力するよう処理する。このようにし
て、割込処理が起動されると、例外コードラッチ手段4
に格納されている一般例外コードがプログラムに通知さ
れることになるとともに、例外コードメモリ手段6は、
割込処理の終了時にプログラムに通知した例外コードラ
ッチ手段4の一般例外コードを記憶するよう処理する。
また、例外コード選択手段5は、完了型例外検出手段
2が完了型例外を検出すると、一般例外が検出されてい
ないことを条件にこの完了型例外の完了型例外コードを
選択して例外コードラッチ手段4にセットするよう処理
する。その後、例外コード選択手段5は、完了型例外検
出手段2から新たな完了型例外コードが通知されないと
きには、例外コードラッチ手段4が保持する完了型例外
コードを選択することで例外コードラッチ手段4がその
ままの完了型例外コードを保持するよう処理する。一
方、完了型例外検出手段2から新たな完了型例外コード
が通知されるときには、例外コード選択手段5は、例外
コードラッチ手段4が保持する完了型例外コードの優先
度と新たに通知される完了型例外コードの優先度とを比
較して、優先度の高い方の完了型例外コードを選択して
例外コードラッチ手段4にセットするよう処理する。こ
のようにして、例外コードラッチ手段4は、一般例外が
検出されずに完了型例外が検出されるときには、優先度
の高い完了型例外コードに更新しながら完了型例外コー
ドを保持するよう処理する。
そして、割込処理要求手段7は、END_OP信号に従って
完了型例外コードに係る命令の完了を検出すると、例外
コードラッチ手段4の更新処理を終了して割込要求信号
を出力するよう処理する。このようにして、割込処理が
起動されると、例外コードラッチ手段4に格納されてい
る完了型例外コードがプログラムに通知されることにな
るとともに、例外コードメモリ手段6は、割込処理の終
了時にプログラムに通知した例外コードラッチ手段4の
完了型例外コードを記憶するよう処理する。
このように、本発明では、例外コードラッチ手段4
は、ループバックしながら最も優先度の高い完了型例外
コードを保持するよう構成するので、優先度の高い完了
型例外が先に検出されることになるようにできないプロ
グラム命令に対しても適切に対応できるようになる。そ
して、従来技術のCMPL_XCレジスタ13が出力機能を有す
るレジスタであるのに対して、例外コードメモリ手段6
は出力機能を有しないレジスタで済むので、ゲート数も
少なくて実装できるようになる。
しかも、割込処理の起動に従って命令が正常終了した
場合には、例外コードラッチ手段4には例外コードがな
いことを表す初期コードがセットされるので、現時点で
実行した命令でプログラム例外が発生したかのような誤
解を招くことがなくなるとともに、例外コードメモリ手
段6に従って割込処理した例外コードを知ることも確保
されるのである。
そして、例外コード選択手段5は、ステートマシンが
STOPステートにあるときにあって、いずれの例外コード
も検出されていないことを条件に、例外コードラッチ手
段4の保持データをループバックするよう処理すること
から、サービスプロセッサの処理をCPUが代行する処理
や、CPU命令とその例外によるプログラム割込処理をサ
ービスプロセッサが代行する処理も実現できるようにな
るのである。
〔実施例〕
以下、実施例に従って本発明を詳細に説明する。
第2図に、パイプラインのラストステージであるライ
トステージに従って、本発明のプログラム例外コード制
御回路の一実施例の構成を示す。図中、第4図に示した
ものと同じものについては、同一の記号で示してある。
第2図(a)中、15aは本発明に係るPGM_XCレジスタで
あって、例外コードがないことを表すALL“0"を初期コ
ードにして、プログラム命令の実行中に検出される例外
コードを所定の周期に従って更新しながら一時的に保持
していくもの、14aは本発明に係る例外コード選択回路
であって、一般例外検出回路10からの一般例外コード
と、ループバックされるPGM_XCレジスタ15aの完了型例
外コードと、完了型例外検出回路11からの完了型例外コ
ードと、ALL“0"のコードとを入力コードとして、例外
コードの有効信号とPGM_XCレジスタ15aに保持される完
了型例外コードの優先度を参照することで、いずれか1
つの入力コードを選択するもの、30はRETAINレジスタで
あって、プログラム割込処理の終了時に最終的に更新さ
れたPGM_XCレジスタ15aの例外コードを記憶するもので
ある。
第2図(b)に示すように、PGM_XCレジスタ15aをイ
ネーブル状態にするためのPGM_XC_CLK_ENBL信号と、PGM
_RUPTラッチ21をイネーブル状態にするためのPGM_RUPT_
LCH_CLK_ENBL信号は、ORゲート31に従って、PROCESS_ST
ATE信号かSTOP_STATE信号のいずれか一方の出力がある
ときに出力されることになり、RETAINレジスタ30をイネ
ーブル状態にするためのRETAIN_CLK_ENBL信号は、ANDゲ
ート32に従って、PGM_RUPT_LCH信号が出力される条件
で、かつSTRAT_STATE信号が出力されるときに出力され
ることになる。
次に、このように構成される本発明のプログラム例外
コード制御回路の動作処理について説明する。
一般例外検出回路10が一般例外を検出せず、かつ完了
型例外検出回路11が完了型例外を検出していないときに
は、例外コード選択回路14aは、ALL“0"の入力データを
選択して、PROCESS_STATE信号に従ってイネーブル状態
となっているPGM_XCレジスタ15aにセットするよう処理
する。このようにして、一般例外も完了型例外も検出さ
れないときには、PGM_XCレジスタ15aは、例外コードが
ないことを表すALL“0"を保持し続けることになる。
一方、一般例外検出回路10が一般例外の発生を検出し
て一般例外コードを出力すると、例外コード選択回路14
aは、完了型例外検出回路11の完了型例外コードやルー
プバックされるPGM_XCレジスタ15aの保持コードやALL
“0"の入力コードに関係なく、この出力される一般例外
コードを選択して、イネーブル状態となっているPGM_XC
レジスタ15aにセットするよう処理するとともに、ANDゲ
ート20は、割込要求信号であるSET_PGM_LCH信号を出力
する。このとき、従来技術と同様にPGM_RUPTラッチ21が
セットされることで、PGM_RUPT_LCH信号が出力される。
このようにして、SET_PGM_LCH信号が出力されると、図
示しない論理に従ってステートがPROCESSステートからR
ESTOREステートに遷移して割込処理に入ることになるの
で、PGM_XCレジスタ15aがディスイネーブル状態になっ
て一般例外コードがPGM_XCレジスタ15aに保持されるこ
とになる。
SET_PGM_LCH信号に従って割込処理が起動されること
で、RESTOREステートを経由してENDPROCステートに遷移
して割込処理のマイクロプログラムが起動されると、PG
M_XCレジスタ15aに格納されている一般例外コードがメ
モリ上の固定アドレスのところに格納されて、プログラ
ムに対してその一般例外コードが通知されるよう処理さ
れる。そして、割込処理が終了して割込ルーチンの実行
に入るべくSTART_STATE信号が出力されると、出力され
ているPGM_RUPT_LCH信号との論理積に従って、ANDゲー
ト32からRETAIN_CLK_ENBL信号が出力されることでRETAI
Nレジスタ30がイネーブル状態となって、PGM_XCレジス
タ15aに格納されている一般例外コードがRETAINレジス
タ30に記憶されることになる。
一方、完了型例外検出回路11が完了型例外の発生を検
出して完了型例外コードを出力すると、例外コード選択
回路14aは、一般例外コードが出力されていないことを
条件にこの出力される完了型例外コードを選択して、イ
ネーブル状態となっているPGM_XCレジスタ15aにセット
するよう処理するとともに、ANDゲート20は、割込要求
信号であるSET_PGM_LCH信号を出力する。そして、CMPL_
XVラッチ12は、CMPL_XV信号を出力することで完了型例
外が発生したことを表示する。
このようにして、PGM_XCレジスタ15aに完了型例外コ
ードが保持されると、例外コード選択回路14aは、一般
例外検出回路10から一般例外コードが通知されず、かつ
完了型例外検出回路11から新たな完了型例外コードが通
知されないときには、PGM_XCレジスタ15aが保持する完
了型例外コードを選択して出力する。この選択処理に従
って、PGM_XCレジスタ15aは、END_OP信号がでるまでの
間、PGM_XC_CLK_ENBL信号のクロック周期に同期して同
じ完了型例外コードをループバックしながら更新するこ
とで保持し続けるよう処理することになる。例外コード
選択回路14aは、この保持処理時に、CMPL_XVラッチ12の
表示に従って完了型例外検出回路11から新たな完了型例
外コードの通知を受け取ることを知ると、保持している
完了型例外コードが持つ優先度(完了型例外コード同士
間の優先度)と通知される新たな完了型例外コードが持
つ優先度とを比較して、優先度の高い方の完了型例外コ
ードを選択して出力する。この選択処理に従って、PGM_
XCレジスタ15aは、完了型例外検出回路11から保持して
いる完了型例外コードよりも優先度の高い完了型例外コ
ードが通知されるときには、その新たな完了型例外コー
ドに更新しながら完了型例外コードを保持し続けるよう
処理することになる。
そして、完了型例外コードを発生させたプログラム命
令のEND_OP信号がでることで、ANDゲート20よりSET_PGM
_LCH信号が出力されると、一般例外コードが出力される
ときと同様の処理に従って、PGM_XCレジスタ15aがディ
スイネーブル状態になることで完了型例外コードの更新
処理が停止されるとともに、起動される割込処理のマイ
クロプログラムに従って更新の終了した最も高い優先度
を持つ完了型例外コードがメモリ上の固定アドレスのと
ころに格納されて、プログラムに対してその完了型例外
コードが通知されるよう処理される。そして、割込処理
の終了に伴ってRETAIN_CLK_ENBL信号が出力されてRETAI
Nレジスタ30がイネーブル状態となることで、割込処理
に入ったPGM_XCレジスタ15aの完了型例外コードがRETAI
Nレジスタ30に記憶されることになる。
第3図に、プログラム命令の途中のフローで完了型例
外が検出されたときのタイムチャートを示す。このタイ
ムチヤートと第6図のタイムチヤートとを比較すること
で分かるように、従来技術では、PGM_XCレジスタ15が次
のプログラム例外発生時までの間、割込処理に入った例
外コードを保持し続けるのに対して、本発明では、RETA
INレジスタ30が割込処理に入った例外コードを保持する
とともに、PGM_XCレジスタ15aは正常状態に復帰すると
例外コードをクリアして保持しないよう処理することに
なる。これから、本発明では、サービスプロセッサから
PGM_XCレジスタ15aをスキャンアウトしたときに、現時
点で実行した命令でプログラム例外が発生したかのよう
な誤解を招くことが起こらないようにできるとともに、
RETAINレジスタ30をスキャンアウトすることで割込処理
に入った例外コードを知ることも確保されるのである。
そして、例外コード選択回路14aは、ステートマシン
がSTOPステートにあるときにあっていずれの例外コード
も検出されていないときには、PGM_XCレジスタ15aの保
持データをループバックするよう処理する。この処理に
従って、STOPステート中にレジスタ変更等のサービスプ
ロッセサ処理をCPUが代行する機能を実現できるように
なるとともに、CPU命令とその例外によるプログラム割
込をサービスプロセッサが代行することが実現できるよ
うになる。
以上図示実施例について説明したが、本発明はこれに
限定されるものではない。例えば、実施例では、例外コ
ード選択回路14aは、初期コードであるALL“0"を入力す
るよう構成して選択させるものを開示したが、一般例外
及び完了型例外が検出されないときにはいずれの入力デ
ータも選択しないように構成すれば、ALL“0"を入力し
なくても等価な処理を実現できることになるのである。
〔発明の効果〕
このように、本発明によれば、PGM_XCレジスタ15aは
ループバックしながら最も優先度の高い完了型例外コー
ドを保持するよう構成するので、優先度の高い完了型例
外が先に検出されることになるようにできないプログラ
ム命令に対しても適切に対応できるようになる。
そして、従来技術のCMPL_XCレジスタ13が出力機能を
有するレジスタであるのに対して、RETAINレジスタ30は
出力機能を有しないレジスタであるので、ゲート数も少
なくて実装できるようになる。しかも、命令が正常終了
した場合にあっても、現時点で実行した命令でプログラ
ム例外が発生したかのような誤解を招くことがないとと
もに、割込処理した例外コードを知ることも確保される
のである。
更に、SET_PGM_LCH信号は、マシンチェックのための
ゲート回路を介して生成されるPGM_RUPT_ENBL信号を介
して生成されることから遅延が避けられない信号となる
が、本発明では、PGM_XCレジスタ15aをイネーブル状態
にするためのPGM_XC_CLK_ENBL信号を、このSET_PGM_LCH
信号に関係なく生成できるようになることから、割込処
理の応答性を高めることができるという利点もでてくる
ことになる。
【図面の簡単な説明】 第1図は本発明の原理構成図、 第2図は本発明のプログラム例外コード制御回路の一実
施例、 第3図は本発明のプログラム例外コード制御回路のタイ
ムチャート、 第4図は従来のプログラム例外コード制御回路の構成
図、 第5図はステートマシンの遷移図、 第6図は従来のプログラム例外コード制御回路のタイム
チャートである。 図中、1は一般例外検出手段、2は完了型例外検出手
段、3は完了型例外コード表示手段、4は例外コードラ
ッチ手段、5は例外コード選択手段、6は例外コードメ
モリ手段、7は割込処理要求手段、10は一般例外検出回
路、11は完了型例外検出回路、12はCMPL_XVラッチ、13
はCMPL_XCレジスタ、14及び14aは例外コード選択回路、
15及び15aはPGM_XCレジスタ、21はPGM_RUPTラッチ、30
はRETAINレジスタである。
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/46 G06F 9/38 G06F 7/00 G06F 11/00 G06F 11/14 G06F 11/16 G06F 17/16

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】プログラム命令の実行時に検出される割込
    種別を表す一般例外コード及び完了型例外コードをプロ
    グラムに通知するプログラム例外コード制御回路におい
    て、 例外コードがないことを表すコードを初期コードにし
    て、検出される例外コードを一時的に保持する例外コー
    ドラッチ手段(4)と、 該例外コードラッチ手段(4)が保持する例外コードを
    記憶する例外コードメモリ手段(6)と、 検出される一般例外コードと検出される完了型例外コー
    ドと上記例外コードラッチ手段の保持データとを入力デ
    ータとして、一般例外コードが検出されるときには該一
    般例外コードを選択し、一般例外コードが検出されずに
    完了型例外コードが検出されるときに、該保持データが
    初期コードを保持するときには検出される完了型例外コ
    ードを選択するとともに、該保持データが完了型例外コ
    ードを保持するときには該保持される完了型例外コード
    か検出される完了型例外コードの内の優先度の高い方の
    完了型例外コードを選択し、そして、一般例外コード及
    び完了型例外コードが検出されないときに、該保持デー
    タが完了型例外コードを保持するときには該完了型例外
    コードを選択するとともに、該保持データが初期コード
    を保持するときにはいずれの入力データも選択しないよ
    う処理する例外コード選択手段(5)とを備え、 上記例外コードラッチ手段(4)は、プログラム命令の
    実行中に所定の周期に従って上記例外コード選択手段
    (5)の選択出力を入力として保持データを更新してい
    くとともに、上記例外コードメモリ手段(6)は、プロ
    グラム割込処理時に、最終的に更新された上記例外コー
    ドラッチ手段(4)の例外コードを記憶するよう処理し
    てなることを、 特徴とするプログラム例外コード制御回路。
  2. 【請求項2】請求項(1)記載のプログラム例外コード
    制御回路において、 例外コード選択手段(5)は、ステートマシンがストッ
    プステートにあるときにあって、いずれの例外コードも
    検出されていないことを条件に、例外コードラッチ手段
    (4)の保持データを選択するよう処理してなること
    を、 特徴とするプログラム例外コード制御回路。
JP1156567A 1989-06-19 1989-06-19 プログラム例外コード制御回路 Expired - Fee Related JP2809710B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1156567A JP2809710B2 (ja) 1989-06-19 1989-06-19 プログラム例外コード制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1156567A JP2809710B2 (ja) 1989-06-19 1989-06-19 プログラム例外コード制御回路

Publications (2)

Publication Number Publication Date
JPH0322032A JPH0322032A (ja) 1991-01-30
JP2809710B2 true JP2809710B2 (ja) 1998-10-15

Family

ID=15630606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1156567A Expired - Fee Related JP2809710B2 (ja) 1989-06-19 1989-06-19 プログラム例外コード制御回路

Country Status (1)

Country Link
JP (1) JP2809710B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9804840B2 (en) 2013-01-23 2017-10-31 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
US9471308B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Vector floating point test data class immediate instruction
US9513906B2 (en) 2013-01-23 2016-12-06 International Business Machines Corporation Vector checksum instruction
US9715385B2 (en) * 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code

Also Published As

Publication number Publication date
JPH0322032A (ja) 1991-01-30

Similar Documents

Publication Publication Date Title
JP4703718B2 (ja) 選択的サブルーチンリターン構造
JPS6239780B2 (ja)
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
US5497459A (en) System for testing instruction queue circuit and central processing unit having the system
JP2809710B2 (ja) プログラム例外コード制御回路
JP3822568B2 (ja) イベント処理
JPH0237600A (ja) 読取り専用記憶装置の試験方法とその方法を実行するデバイス
JP3055999B2 (ja) マイクロプログラム制御装置群
JPH03271829A (ja) 情報処理装置
JPH03149621A (ja) マイクロプロセッサ
JPH04370832A (ja) プロセッサ回路
KR19990012409A (ko) 레지스터 제어 방법
JPH05120155A (ja) マイクロプログラム制御装置
JPH0630056B2 (ja) 信号処理装置
JPH0764822A (ja) マイクロコンピュータ
JPS60193046A (ja) 命令例外検出方式
JPH0612252A (ja) マイクロコンピュータ
JPH0573308A (ja) 半導体集積回路装置
JPH11282787A (ja) 入出力制御装置
JPH01147636A (ja) 障害発生時の処理再試行方式
JPH06250943A (ja) バスアダプタ装置
JPH05108315A (ja) 情報処理装置
JPH03164945A (ja) データ処理装置
JPH02257336A (ja) Lsiのアクセス制御回路
JPH04274520A (ja) マイクロプログラム制御装置

Legal Events

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