JPH0580690B2 - - Google Patents

Info

Publication number
JPH0580690B2
JPH0580690B2 JP60140965A JP14096585A JPH0580690B2 JP H0580690 B2 JPH0580690 B2 JP H0580690B2 JP 60140965 A JP60140965 A JP 60140965A JP 14096585 A JP14096585 A JP 14096585A JP H0580690 B2 JPH0580690 B2 JP H0580690B2
Authority
JP
Japan
Prior art keywords
instruction
address
arithmetic
exception
counter
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
Application number
JP60140965A
Other languages
English (en)
Other versions
JPS622329A (ja
Inventor
Hideo Hayashi
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP60140965A priority Critical patent/JPS622329A/ja
Publication of JPS622329A publication Critical patent/JPS622329A/ja
Publication of JPH0580690B2 publication Critical patent/JPH0580690B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置における演算例外処理に
関し、特に演算例外を発生した命令のアドレスを
割出す装置に関する。
情報処理装置において、演算の実行時にオーバ
ーフロー、アンダーフロー、ゼロデイバイド等の
演算例外が発生した場合、その後の演算の実行を
中止して割込みを発生させ、演算例外に応じた処
理が必要となる。
このような処理を行なうためには、どの命令で
演算例外が発生したかを先ず知ることが必要であ
る。
〔従来の技術〕
従来、演算例外を発生した命令のアドレスは、
例えば第3図aに示すようにある種の演算1の実
行終了時に演算例外が発生したことが演算ユニツ
トから報告されると、割込み処理を開始して演算
1に続く演算2の実行を行なわないようにし、割
込み時における命令アドレスレジスタの内容が演
算例外を起こした命令のアドレスを示すことから
割出していた。
〔発明が解決しようとする問題点〕
しかし、上述した従来の割出しは、先行する命
令の演算実行が終了してから後続命令の実行が開
始されるシステム構成を前提とするものであり、
そうでないシステムでは演算例外命令アドレスを
割出すことは困難である。
即ち、性能を向上させるため、演算ユニツトを
例えば加算器、乗算器、シフター等の如く複数個
設け、これらの演算ユニツトを例えば第3図bあ
るいは同図cに示すように並行に動作させる装置
では、ある時点で割込みによりその後の命令実行
を中止しても命令アドレスレジスタは演算例外を
発生した命令の次の命令を示さない。従つて、ソ
フトウエアに演算例外を起こした命令のアドレス
を通知できず、演算例外発生後の必要な処理をソ
フトウエアに行なわせることが困難となる。
本発明はこのような従来の問題点を解決したも
ので、その目的は、後続命令が先行命令の終了前
に実行開始されても演算例外を起こした命令のア
ドレスを正しく割出すことができる装置を提供す
ることにある。
〔問題点を解決するための手段〕
本発明は上記問題点を解決するために、 異なる演算機能を持つ複数の演算ユニツトを有
する情報処理装置において、 前記各々の演算ユニツトに対応して設けられ、
対応する演算ユニツトへの命令実行指示時に歩進
される複数個の第1のカウンタと、 前記演算ユニツトの各々に対応して設けられ、
対応する演算ユニツトで演算が演算例外なしに終
了したときにその演算ユニツトからの信号で歩進
される複数個の第2のカウンタと、 命令実行指示が為された前記演算ユニツトに対
応する前記第1のカウンタの示す値に基づいたア
ドレスを発生する第1のセレクタと、 前記演算ユニツトの各々に対応して設けられ、
対応する演算ユニツトで演算例外が発生したとき
セツトされる複数個の例外発生レジスタと、 該例外発生レジスタがセツトされた前記演算ユ
ニツトに対応する前記第2のカウンタの示す値に
基づいたアドレスを発生する第2のセレクタと、 前記第1のセレクタから送られたアドレスにそ
のときの命令アドレスレジスタの内容を格納し、
前記第2のセレクタから送られたアドレスに格納
された内容を演算例外を起こした命令のアドレス
として出力する命令アドレススタツクとを設け
る。
〔作用〕
命令実行指示毎に、命令実行指示が為された演
算ユニツトに対応する第1のカウンタの内容に基
づく命令アドレスレジスタのアドレスにその命令
のアドレスが格納され、演算ユニツトで演算が例
外なく終了すると第2のカウンタはカウントアツ
プされる。しかし、演算ユニツトで演算例外が発
生すると第2のカウンタはカウントアツプされ
ず、その演算例外を発生した命令のアドレスが格
納されている命令アドレスレジスタのアドレスを
指したまま保持され、命令アドレスレジスタから
は演算例外を起こした命令のアドレスが出力され
たままとなる。
〔実施例〕
第1図は本発明の実施例のブロツク図である。
同図において、命令アドレスレジスタ1は実行
する命令語が格納されている主記憶装置上のアド
レス(命令アドレス)を格納し、命令レジスタ2
は実行する命令語を格納する。また、複数の演算
ユニツト3〜5のうち例えば演算ユニツト3は加
算器、演算ユニツト4は乗算器、演算ユニツト5
はシフターとして働く。各演算ユニツト3〜5に
は、その各々に対応してカウンタ13〜15、カ
ウンタ23〜25が設けられている。なお、これ
らのカウンタはカウント値が例えば9になつたら
零に戻るようになつている。
上記カウンタのうち、カウンタ13は命令レジ
スタ2に含まれる命令が演算ユニツト3を使用す
る命令のときその命令実行指示時にカウントアツ
プされ、カウンタ14は同様に演算ユニツト4を
使用する命令のときその命令実行指示時にカウン
トアツプされ、カウンタ15は演算ユニツト5を
使用する命令のときその命令実行指示時にカウン
トアツプされる。また、カウンタ23は演算ユニ
ツト3の演算終了時に演算例外の発生がなければ
カウントアツプされ、カウンタ24は演算ユニツ
ト4の演算終了時に演算例外の発生がなければカ
ウントアツプされ、カウンタ25は演算ユニツト
5の演算終了時に演算例外の発生がなければカウ
ントアツプされるよう制御される。
セレクタ6は、命令レジスタ2に含まれる演算
ユニツト3〜5の使用種別情報等によりカウンタ
13〜15の何れかを選択するもので、命令実行
指示時、加算命令ならカウンタ13の内容を、乗
算命令ならカウンタ14の内容を、シフト命令な
らカウンタ15の内容をそれぞれ命令アドレスス
タツク7の書込みアドレスとしてスタツク7に送
出する。
命令アドレススタツク7は、命令アドレスレジ
スタ1の内容をセレクタ6より指定されたアドレ
スに格納する。尚、セレクタ6では命令アドレス
スタツク7のアドレスがカウンタ13〜15間で
同じにならないようにカウンタ13〜15の値に
ある定数例えばカウンタ13を選択するときは
「10」、カウンタ14を選択するときは「20」、カ
ウンタ15を選択するときは「30」等の定数等を
付加する。
一方、命令実行指示により指示された演算ユニ
ツト3〜5は、演算例外を発生することなく演算
を終了すると演算終了時にその旨を示す信号をア
ンド回路9を介してカウンタ23〜25にカウン
トアツプ信号として送出する。しかし、反対に演
算例外が発生するとそのような信号を送出せず、
各演算ユニツト3〜5に対応して設けられた例外
発生レジスタ33〜35にアンド回路12を介し
てセツト信号を送出する。例外発生レジスタ33
〜35の出力はオア回路8を介して図示しない割
込制御部へ例外発生を通知する信号となり、且つ
オア回路8の反転出力によりアンド回路9,12
が閉じられる。従つて、他の演算ユニツトに対応
するカウンタ23〜25のカウントアツプは禁止
され、且つ他の例外発生レジスタのセツトも禁止
される。
各例外発生レジスタ33〜35の出力は選択決
定回路10にも入力され、この選択決定回路10
で演算例外が発生した演算ユニツトに対応するカ
ウンタ23〜25の出力をセレクタ11が選択す
るようにセレクタ11が制御される。なお、レジ
スタ33〜35のうち2個以上が同時にセツトさ
れた場合、選択決定回路10は予め定められた順
序例えば演算ユニツトの実行時間の長い方を優先
して選択する。
セレクタ11の出力は読出しアドレスとして命
令アドレススタツク7に入力される。上記セレク
タ11もセレクタ6と同様にカウンタ23〜25
の値の上位にある定数(この定数はカウンタ13
〜15と同じである)を加算し、命令アドレスス
タツク7のエントリアドレスがカウンタ23〜2
5間で同じにならないようにしている。
第2図aは、命令アドレス100の加算命令1
が実行指示された後、命令アドレス101の乗算
命令1が実行指示され、乗算命令1の実行終了前
に加算命令1の実行が終了し命令アドレス102
の加算命令2の実行指示とその実行終了が行なわ
れるような命令シーケンスにおいて、加算命令2
で例えばフローテイングオーバーフローの演算例
外が発生したときの第1図各部の状態の一例を示
したタイムチヤートである。また第2図bは命令
アドレススタツク7の内容の一例を示す図であ
る。
カウンタ13〜15、カウンタ23〜25の内
容は当初零であり、加算命令1の実行指示が為さ
れると、セレクタ6はカウンタ13の値「0」に
定数「10」を加算したアドレス「10」を命令アド
レススタツク7に送出し、スタツク7は命令アド
レスレジスタ1の内容「100」をアドレス「10」
に格納する。その後、カウンタ13はカウントア
ツプされ、その内容は「1」となる。
次に、乗算命令1の実行指示が為されると、セ
レクタ6はカウンタ14の値「0」に定数「20」
を加算したアドレス「20」を命令アドレススタツ
ク7に送出し、スタツク7は命令アドレスレジス
タ1の内容「101」をアドレス「20」に格納する。
その後、カウンタ14はカウントアツプされ、
「1」となる。
加算命令1の実行が終了すると、演算例外が発
生していないことからカウンタ23はカウントア
ツプされて「1」となる。また、例外発生レジス
タ33はセツトされない。
次に加算命令2の実行が指示されると、セレク
タ6はカウンタ13の値「1」に定数「10」を加
算したアドレス「11」を命令アドレススタツク7
に送出し、スタツク7はアドレス「11」にそのと
きの命令アドレスレジスタ1の内容「102」を格
納する。その後、カウンタ13は「2」に変更さ
れる。
加算命令2の実行が終了すると、この場合演算
例外が発生しているので、演算例外レジスタ33
がセツトされ、図示しない割込制御部へ演算例外
が発生したことが通知される。このとき、カウン
タ23はカウントアツプされないのでその内容は
「1」のままとなる。また、選定決定回路10で
は、カウンタ23の内容「1」に定数「10」を加
算したアドレス「11」が読出しアドレスとして命
令アドレススタツク7に送出され、命令アドレス
スタツク7からは演算例外を起した命令(加算命
令2)のアドレス「102」が読出される。
なお、レジスタ33がセツトされるとオア回路
8の出力によりアンド回路9,12が閉じられる
ため、他の演算で例外が発生しても演算例外レジ
スタはセツトされず、カウンタもカウントアツプ
されない。
〔発明の効果〕
以上説明したように、本発明は、命令実行指示
時に演算ユニツトに対応して順次命令アドレスを
命令アドレススタツクに格納しておき、演算ユニ
ツトからの例外発生なし信号に応答して演算ユニ
ツト対応の第2のカウンタをカウントアツプし、
例外発生有りを示す信号に応答してそれ以降の第
2のカウンタのカウントアツプを禁止し、例外を
発生した演算ユニツトに対応する第2のカウンタ
の内容で命令アドレススタツクをアクセスするよ
うにしたので、後続命令が先行命令の終了前に実
行開始されても演算例外を起こした命令のアドレ
スを正しく割出すことができる効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロツク図、第2図
は第1図の動作説明図および、第3図は従来の問
題点の説明図である。 図において、1は命令アドレスレジスタ、2は
命令レジスタ、3〜5は演算ユニツト、6,11
はセレクタ、7は命令アドレススタツク、8はオ
ア回路、9はアンド回路、10は選択決定回路、
13,14,15は第1のカウンタ、23,2
4,25は第2のカウンタ、33,34,35は
例外発生レジスタである。

Claims (1)

  1. 【特許請求の範囲】 1 異なる演算機能を持つ複数の演算ユニツトを
    有する情報処理装置において、 前記各々の演算ユニツトに対応して設けられ、
    対応する演算ユニツトへの命令実行指示時に歩進
    される複数個の第1のカウンタと、 前記演算ユニツトの各々に対応して設けられ、
    対応する演算ユニツトで演算が演算例外なしに終
    了したときにその演算ユニツトからの信号で歩進
    される複数個の第2のカウンタと、 命令実行指示が為された前記演算ユニツトに対
    応する前記第1のカウンタの示す値に基づいたア
    ドレスを発生する第1のセレクタと、 前記演算ユニツトの各々に対応して設けられ、
    対応する演算ユニツトで演算例外が発生したとき
    セツトされる複数個の例外発生レジスタと、 該例外発生レジスタがセツトされた前記演算ユ
    ニツトに対応する前記第2のカウンタの示す値に
    基づいたアドレスを発生する第2のセレクタと、 前記第1のセレクタから送られたアドレスにそ
    のときの命令アドレスレジスタの内容を格納し、
    前記第2のセレクタから送られたアドレスに格納
    された内容を演算例外を起こした命令のアドレス
    として出力する命令アドレススタツクとを具備し
    たことを特徴とする演算例外命令アドレス割出装
    置。
JP60140965A 1985-06-27 1985-06-27 演算例外命令アドレス割出装置 Granted JPS622329A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60140965A JPS622329A (ja) 1985-06-27 1985-06-27 演算例外命令アドレス割出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60140965A JPS622329A (ja) 1985-06-27 1985-06-27 演算例外命令アドレス割出装置

Publications (2)

Publication Number Publication Date
JPS622329A JPS622329A (ja) 1987-01-08
JPH0580690B2 true JPH0580690B2 (ja) 1993-11-10

Family

ID=15280936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60140965A Granted JPS622329A (ja) 1985-06-27 1985-06-27 演算例外命令アドレス割出装置

Country Status (1)

Country Link
JP (1) JPS622329A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7172257B2 (ja) 2018-08-01 2022-11-16 トヨタ自動車株式会社 自動運転システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5576446A (en) * 1978-12-06 1980-06-09 Toshiba Corp Pre-fetch control system
JPS55110340A (en) * 1979-02-16 1980-08-25 Fujitsu Ltd Data processing system
JPS595932B2 (ja) * 1979-12-28 1984-02-08 富士通株式会社 デ−タ処理方式
JPS56157538A (en) * 1980-05-09 1981-12-04 Fujitsu Ltd Data processing system of advanced mode control
JPS58221447A (ja) * 1982-06-18 1983-12-23 Hitachi Ltd デ−タ処理装置

Also Published As

Publication number Publication date
JPS622329A (ja) 1987-01-08

Similar Documents

Publication Publication Date Title
KR920008280B1 (ko) 집적 프로세서
US5539685A (en) Multiplier device with overflow detection function
JPS6254359A (ja) コンピユ−タ装置
EP0167959B1 (en) Computer vector register processing
US4754424A (en) Information processing unit having data generating means for generating immediate data
JPH0580690B2 (ja)
JPH0346024A (ja) 浮動小数点演算器
JPS5935451B2 (ja) 汎用レジスタ・アクセス方式
JPS5968058A (ja) フロ−テイング乗算器
US5732252A (en) Program counter system capable of incrementing or decrementing after a conditional jump instruction
JPH0580691B2 (ja)
JP2511063B2 (ja) パイプライン制御方式
US4467410A (en) Multi-phase subroutine control circuitry
JPS6236255B2 (ja)
JP2696903B2 (ja) 数値計算装置
JPS6125275A (ja) ベクトル命令処理装置
JP3271713B2 (ja) マイクロ命令制御装置
JPS622324A (ja) 演算例外発生時処理方式
JPS6052449B2 (ja) 割込み処理方式
JPS6155731A (ja) コンデイシヨンコ−ド判定機能を備えるプロセツサ
JPH04330519A (ja) 乗算回路
JPH0531771B2 (ja)
JPS6117033B2 (ja)
JPS5965378A (ja) ベクトル処理装置のレジスタ連結処理方式
JPS6143736B2 (ja)