JP2849189B2 - 例外処理システム - Google Patents

例外処理システム

Info

Publication number
JP2849189B2
JP2849189B2 JP2224620A JP22462090A JP2849189B2 JP 2849189 B2 JP2849189 B2 JP 2849189B2 JP 2224620 A JP2224620 A JP 2224620A JP 22462090 A JP22462090 A JP 22462090A JP 2849189 B2 JP2849189 B2 JP 2849189B2
Authority
JP
Japan
Prior art keywords
coprocessor
exception
instruction
register
cpu
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
JP2224620A
Other languages
English (en)
Other versions
JPH04106652A (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 JP2224620A priority Critical patent/JP2849189B2/ja
Publication of JPH04106652A publication Critical patent/JPH04106652A/ja
Application granted granted Critical
Publication of JP2849189B2 publication Critical patent/JP2849189B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 [概要] 命令実行を非同期的に行うデータ処理部(コプロセッ
サ)をもつデータ処理装置における例外処理装置に関
し、 コプロセッサで例外が発生した時の例外処理を確実に
行えるようにすることを目的とし、 CPUとコプロセッサとが接続され、CPU内では一連の命
令が同期的に処理され、コプロセッサ側ではCPUから依
頼された処理を非同期的に行うシステムにおいて、コプ
ロセッサ内には、コプロセッサ命令キューと、コプロセ
ッサ演算器とを具備し、コプロセッサ演算器内で例外が
発生した場合に、その例外をコプロセッサ命令キュー内
に設けた例外フラグ用レジスタに書き込み、例外が発生
した命令コードを命令コードレジスタから読み込むこと
によって例外の発生と、例外の種類と、例外が発生した
命令コードの読み込みを行なうことにより例外処理を行
なうように構成する。
[産業上の利用分野] 本発明は命令実行を非同期的に行うデータ処理部(コ
プロセッサ)をもつデータ処理装置における例外処理装
置に関する。
中央処理装置(CPU)とデータ処理部(コプロセッサ;
CPR)とが接続され、データの処理を行うシステムがあ
る。この種のシステムでは、通常の同期命令はCPU側で
行い、必要に応じてコプロセッサ側に処理を依頼する形
をとる。このようなシステムで、コプロセッサ内の演算
器で演算を行っている場合に例外が発生した場合、例外
の種類及び例外を発生した命令(或いはそのアドレス)
をCPU内の例外処理部に確実に報告する必要がある。
[従来の技術] 第4図は従来システムの構成ブロック図である。図に
おいて、10は中央処理装置(CPU)、20はコプロセッサ
(CPR)である。これらCPU10とコプロセッサ20は各種の
バスで接続されている。CPU10は命令制御部1,汎用レジ
スタ2,演算器3及びメモリ4より構成されている。コプ
ロセッサ20はコプロセッサ命令キュー11,制御部12及び
コプロセッサ演算器13より構成されている。21は命令制
御部1からコプロセッサ命令キュー11にコプロセッサ命
令を通知するコプロセッサ命令バス、22は制御部12から
汎用レジスタ2に書込みレジスタ番号及び読出しレジス
タ番号を通知するレジスタ番号バス、23は汎用レジスタ
2からコプロセッサ演算器13にソースデータを通知する
ソースデータバス、24はコプロセッサ演算器13の出力を
汎用レジスタ2に通知する出力バスである。
このように構成された装置において、命令制御部1は
メモリ4に格納されているプログラム命令を同期的に順
次読出してシーケンシャルに実行する。これら一連の命
令の実行中に、コプロセッサ20に演算させるべき命令が
あったら、コプロセッサバス21を介してコプロセッサ20
に通知する。コプロセッサ20側では、入力された命令を
順次コプロセッサ命令キュー11に格納する。そして、コ
プロセッサ命令キュー11に一番最初に格納された命令か
ら順次実行する。この意味において、コプロセッサ20側
で行われる命令の実行は、CPU10側とは完全に非同期で
ある。
コプロセッサ命令キュー11から読出された命令は、制
御部12に入る。制御部12は読出された命令を判読して対
応する書込みレジスタ番号又は読出しレジスタ番号をレ
ジスタ番号バス22を介して汎用レジスタ2に通知する。
汎用レジスタ2では、制御部12から与えられた書込みレ
ジスタ又は読出しレジスタに入っているデータをソース
データバス23を介してコプロセッサ演算器13にソース1
データ,ソース2データとして与える。コプロセッサ演
算器13は、所定の演算処理を行い、その結果を出力バス
24を介して汎用レジスタ2の結果書込みレジスタに通知
する。
このように、コプロセッサ20で演算している間にも、
命令制御部1は、次の命令を順次実行していく。なお、
自身でできる演算の場合には、演算器3を用いて演算処
理を行う。
第5図はコプロセッサ命令キュー11の構造を示す図で
ある。コプロセッサ命令バス21を介して順次入力された
命令1〜命令nは先に入った命令1から出ていき、実行
される。これら命令は、いずれも命令コードレジスタ11
1,ソース1レジスタ番号レジスタ112,ソース2レジスタ
番号レジスタ113及び結果書込みレジスタ番号レジスタ1
14より構成されている。
従って、これら命令が制御部12に読出されると、制御
部12は命令コード111により命令の種類を判読し、ソー
ス1レジスタ番号112,ソース2レジスタ番号113より汎
用レジスタ2をアクセスし、そのレジスタ番号に入って
いるソース1データ,ソース2データを読出してきてコ
プロセッサ演算器13に命令コード111に従った演算を行
なわせることになる。そして、コプロセッサ演算器13に
よる演算が開始されると、コプロセッサ命令キュー11に
格納されていた命令はデキューされる。
[発明が解決しようとする課題] 第4図,第5図に示した従来方式では、コプロセッサ
演算器13で演算が開始されると、その命令はコプロセッ
サ命令キュー11からはデキュー(外される)されてい
た。従って、若しコプロセッサ演算器13で例外(例えば
ある数を0で割る演算等の不合理演算が発生すること)
が発生すると、コプロセッサ演算器13は異常終了し、そ
の異常終了をCPU10側に通知する。しかしながら、この
ような通知方式では、非同期命令側の例外発生アドレス
位置を同期側のCPU10側から判読するのは不可能であ
る。
そこで、第6図に示すようにコプロセッサ命令キュー
11にその命令が送られた時の同期側アドレス値(プログ
ラムカウンタ値;PC値)を書込むレジスタ115を設け、命
令が例外なく終わるまで命令を保持しておくようにす
る。このようにすれば、その命令で例外が発生した時の
同期側(CPU10側)のCPC値が分かるので、例外処理が速
やかに行える。
しかしながら、このCP値を保持する方式でも、コプロ
セッサ20内のコプロセッサ演算器が複数あった場合、そ
れらコプロセッサ演算器で同時に発生した例外のいずれ
を先に処理すべきであるかが不明であり、例外処理に支
障をきたしている。
本発明はこのような課題に鑑みてなされたものであっ
て、コプロセッサで例外が発生した時の例外処理を確実
に行えるようにすることができる例外処理システムを提
供することとを目的としている。
[課題を解決するための手段] 第1図は本発明の原理ブロック図である。第4図と同
一のものは、同一の符号を付して示す。図において、14
はCPU10側から送られてくる命令を順次格納するコプロ
セッサ命令キュー、116はコプロセッサ演算器13内で例
外が発生した場合に、その例外を書込むための例外フラ
グ用レジスタでコプロセッサ命令キュー14内に含まれ
る。この例外フラグ用レジスタ116はそれぞれの命令毎
に設けられている。その他の構成は第4図と同一であ
る。
[作用] コプロセッサ13で演算処理中に例外が発生した場合、
制御部12は前記例外フラグ用レジスタ116に例外の種類
を書込む。コプロセッサ内の制御部12の中の例外処理部
は、従来の方法により例外発生位置を、例外フラグ用レ
ジスタ116により例外の種類を、同時に認識することに
より、命令と例外の対応づけが容易になり、例外処理を
確実に行うことができ、しかも例外処理を高速にかつ効
率的に行うことができる。
[実施例] 以下、図面を参照して本発明の実施例を詳細に説明す
る。
第2図は本発明の一実施例を示す構成ブロック図で、
複数の並列演算を行う浮動小数点コプロセッサ演算器13
が複数存在している。そして、それぞれの浮動小数点コ
プロセッサ演算器13の出力は汎用レジスタ2に入ってい
る。浮動小数点コプロセッサ演算器13で行う演算の種類
としては、例えば加算,乗算,除算等が考えられる。
本実施例で用いるコプロセッサ命令キュー14の構造は
第3図に示すとおりである。第5図に示す従来例と異な
り、命令コードレジスタ111,ソース1レジスタ番号レジ
スタ112,ソース2レジスタ番号レジスタ113及び結果書
込みレジスタ番号レジスタ114に加えて例外フラグ用レ
ジスタ116が各命令毎に設けられている。この例外フラ
グ用レジスタ116のビット数は任意に設定することがで
き、例外の種類等を書込めるようになっている。このよ
うに構成された装置の動作を説明すれば、以下のとおり
である。
命令制御部1はメモリ4に格納されているプログラム
命令を同期的に順次読出してシーケンシャルに実行す
る。これら一連の命令の実行中に、コプロセッサ20に演
算させるべき命令があったら、コプロセッサバス21を介
してコプロセッサ20に通知する。コプロセッサ20側で
は、入力された命令を順次コプロセッサ命令キュー11に
格納する。そして、コプロセッサ命令キュー11に一番最
初に格納された命令から順次実行する。
コプロセッサ命令キュー11から読出された命令は、制
御部12に入る。制御部12は読出された命令を判読して対
応する書込みレジスタ番号又は読出しレジスタ番号(ソ
ース1レジスタ又はソース2レジスタ)をレジスタ番号
バス22を介して汎用レジスタ2に通知する。汎用レジス
タ2では、制御部12から与えられた書込みレジスタ又は
読出しレジスタに入っているデータをソースデータバス
23を介してコプロセッサ演算器13にソース1データ,ソ
ース2データとして与える。浮動小数点演算では、複数
のコプロセッサ演算器13が並列に動作しており、このた
め前述したシーケンスにより汎用レジスタ2から各コプ
ロセッサ演算器13にそれぞれの対応するソース1デー
タ,ソース2データを与える。
コプロセッサ演算器13は、所定の演算処理を行い、そ
の結果を出力バス24を介して汎用レジスタ2の結果書込
みレジスタに通知する。このように、コプロセッサ20で
演算している間にも、命令制御部1は、次の命令を順次
実行していく。なお、自身でできる演算の場合には、、
演算器3を用いて演算処理を行う。
このようなコプロセッサ演算器13の動作中に、例外が
発生したものとする。コプロセッサ演算器13はそれがど
のような種類の例外であったかを例外フラグ用レジスタ
116に書込む。制御部12は、この例外フラグ用レジスタ1
16に書込まれた例外フラグの内容を読込んで例外の種類
を判読し例外の種類に応じた例外処理を行う。例外処理
が終了したら、コプロセッサ命令キュー14に保持されて
いた例外フラグはデキューされる。
本発明によれば、例外フラグ用レジスタ116の内容に
加えて、その例外が発生した命令コードも命令コードレ
ジスタ111から読込むことができるので、命令と例外の
対応づけが容易となる。また、本発明によれば、浮動小
数点演算を並列で実行している複数のコプロセッサ演算
器13で同時に例外が発生しても、それぞれの命令毎に例
外フラグ用レジスタ116は設けられているので、それぞ
れの例外フラグ用レジスタ116に例外の種類を書込むこ
とができ、CPU10は複数のコプロセッサ演算器13で同時
に起こった例外を認識して表示させることができるよう
になる。
[発明の効果] 以上、詳細に説明したように、本発明によればコプロ
セッサで例外が発生した時の例外処理を確実に行えるよ
うにすることができ、以下のような効果が得られる。
命令の再実行が簡単である。
コプロセッサに命令に送った後、同期側(CPU側)の
命令も順次実行されており、コプロセッサ内の演算器で
例外が発生した時点で既に数命令が実行されている場合
が考えられるが、この間に実行された命令は有効であ
り、再び実行する必要はない。従って、CPU側では例外
処理終了後、再実行する場合は例外が発生した時点でプ
ログラムカウンタ(PC)の示している命令から、コプロ
セッサ側ではコプロセッサ命令キューの命令をそれぞれ
順次実行すればよいため、再実行が簡単である。
複数の例外を表示できる。
複数のコプロセッサ演算器で例外が同時に起こって
も、それぞれの命令が持っている例外フラグ用レジスタ
に例外の種類及びその発生位置を書込むことができるの
で、複数のコプロセッサ演算器で同時に例外が発生して
もそれら例外をCPU側で表示させることができる。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明の一実施例を示す構成ブロック図、 第3図はコプロセッサ命令キューの構造例を示す図、 第4図は従来システムの構成ブロック図、 第5図はコプロセッサ命令キューの構造を示す図、 第6図はコプロセッサ命令キューの従来構造を示す図で
ある。 第1図において、 1は命令制御部、 2は汎用レジスタ、 3は演算器、 4はメモリ、 10はCPU、 12は制御部、 13はコプロセッサ演算器、 14はコプロセッサ命令キュー、 20はコプロセッサ、 21はコプロセッサ命令バス、 22はレジスタ番号バス、 23はソースデータバス、 24は出力バスである。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−143660(JP,A) 特開 平2−41532(JP,A) 特開 昭57−162035(JP,A) 特開 昭62−144246(JP,A) 特開 昭64−21629(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 G06F 11/00 G06F 9/38

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】CPUとコプロセッサとが接続され、CPU内で
    は一連の命令が同期的に処理され、コプロセッサ側では
    CPUから依頼された処理を非同期的に行うシステムにお
    いて、 コプロセッサ内には、コプロセッサ命令キューと、コプ
    ロセッサ演算器とを具備し、 コプロセッサ演算器内で例外が発生した場合に、その例
    外をコプロセッサ命令キュー内に設けた例外フラグ用レ
    ジスタに書き込み、例外が発生した命令コードを命令コ
    ードレジスタから読み込むことによって例外の発生と、
    例外の種類と、例外が発生した命令コードの読み込みを
    行なうことにより例外処理を行なうようにしたことを特
    徴とする例外処理システム。
JP2224620A 1990-08-27 1990-08-27 例外処理システム Expired - Fee Related JP2849189B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2224620A JP2849189B2 (ja) 1990-08-27 1990-08-27 例外処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2224620A JP2849189B2 (ja) 1990-08-27 1990-08-27 例外処理システム

Publications (2)

Publication Number Publication Date
JPH04106652A JPH04106652A (ja) 1992-04-08
JP2849189B2 true JP2849189B2 (ja) 1999-01-20

Family

ID=16816565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2224620A Expired - Fee Related JP2849189B2 (ja) 1990-08-27 1990-08-27 例外処理システム

Country Status (1)

Country Link
JP (1) JP2849189B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219774A (ja) * 1994-02-07 1995-08-18 Fujitsu Ltd データ処理装置および例外処理方法
GB0415851D0 (en) * 2004-07-15 2004-08-18 Imagination Tech Ltd Microprocessor output ports and control of instructions provided therefrom
JP5682829B2 (ja) * 2011-09-01 2015-03-11 日本電気株式会社 情報処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57144246A (en) * 1981-03-03 1982-09-06 Hodogaya Chem Co Ltd O-benzyloxybenzoic acid amide derivative and herbicide containing the same
JPS57162035A (en) * 1981-03-31 1982-10-05 Fujitsu Ltd Interruption control system
JPS63143660A (ja) * 1986-12-08 1988-06-15 Fanuc Ltd コ・プロセツサを有する演算処理装置
JPH0241532A (ja) * 1988-08-01 1990-02-09 Fuji Electric Co Ltd マイクロプロセッサの例外処理方法

Also Published As

Publication number Publication date
JPH04106652A (ja) 1992-04-08

Similar Documents

Publication Publication Date Title
US5890010A (en) Data processing apparatus with a coprocessor which asynchronously executes commands stored in a coprocessor command storage section
JP2849189B2 (ja) 例外処理システム
CA1212478A (en) Data processor with interrupt facility
JPH0147818B2 (ja)
JP2708647B2 (ja) コプロセサによる補助機能のサポート方法
JPS59172044A (ja) 命令制御方式
JPH0452759A (ja) ベクトル命令多重処理方式
JPH0552938U (ja) パイプライン演算装置
JPS60250440A (ja) リトライ制御方式
JPS59218567A (ja) アドレスオ−バラツプチエツク方式
JPH08286950A (ja) 情報処理装置及びトレース情報格納方法
JP2866143B2 (ja) 動的パイプライン処理装置
JPS6349942A (ja) 演算処理装置
JP2540605B2 (ja) デ―タフロ―コンピュ―タの実行検知方式
JPS6349946A (ja) 演算処理装置
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置
JPS63214856A (ja) デ−タ処理装置のデ−タ保護制御方式
JPS62219032A (ja) 初期診断方式
JPH0148563B2 (ja)
JPS62282338A (ja) デ−タ処理装置における移送命令の再試行方式
JPH01315831A (ja) 情報処理装置
JPH06168216A (ja) コプロセッサ制御方法
JPH0340013A (ja) 中央演算処理装置
JPH0378064A (ja) 周辺制御部の統合メモリ管理による入出力制御方式
JPH02128223A (ja) 演算処理装置

Legal Events

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