JPS622330A - 演算例外命令アドレス割出装置 - Google Patents

演算例外命令アドレス割出装置

Info

Publication number
JPS622330A
JPS622330A JP60140966A JP14096685A JPS622330A JP S622330 A JPS622330 A JP S622330A JP 60140966 A JP60140966 A JP 60140966A JP 14096685 A JP14096685 A JP 14096685A JP S622330 A JPS622330 A JP S622330A
Authority
JP
Japan
Prior art keywords
instruction
register
stack
arithmetic
exception
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
JP60140966A
Other languages
English (en)
Other versions
JPH0580691B2 (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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP60140966A priority Critical patent/JPS622330A/ja
Publication of JPS622330A publication Critical patent/JPS622330A/ja
Publication of JPH0580691B2 publication Critical patent/JPH0580691B2/ja
Granted legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置における演算例外処理に関し、特
に演算例外を発生した命令のアドレスを割出す装置に関
する。
情報処理装置において、演算の実行時にオーバーフロー
、アンダーフロー、ゼロディバイド等の演算例外が発生
した場合、その後の演算の実行を中止して割込みを発生
させ、演算例外に応じた処理が必要となる。
このような処理を行なうためには、どの命令で演算例外
が発生したかを先ず知ることが必要であるゆ 〔従来の技術〕 従来、演算例外を発生した命令のアドレスは、例えば第
3図(a)に示すようにある種の演算(11の実行終了
時に演算例外が発生したことが演算ユニットから報告さ
れると、割込み処理を開始して演算(11に続く演算(
2)の実行を行なわないようにし、割込み時における命
令アドレスレジスタの内容が演算例外を起こした命令の
次のアドレスを示すことから割出していた。
〔発明が解決しようとする問題点〕
しかし、上述した従来の割出しは、先行する命令の演算
実行が終了してから薇続命令の実行が開始されるシステ
ム構成を前提とするものであり、そうでないシステムで
は演算例外命令アドレスを割出すことは困難である。
即ち、性能を向上させるため、演算ユニットを例えば加
算器9乗算器、シフター等の如く複数個設け、これらの
演算ユニットを例えば第3図(b)或いは同図(c)に
示すように並行に動作させる装置では、ある時点で割込
みによりその後の命令実行を中止しても命令アドレスレ
ジスタは演算例外を発生した命令の次の命令を示さない
。従って、ソフトウェアに演算例外を起こした命令のア
ドレスを通知できず、演算例外聚生後の必要な処理をソ
フトウェアに行なわせることが困難となる。
本発明はこのような従来の問題点を解決したもので、そ
の目的は、後続命令が先行命令の終了前に実行開始され
ても演算例外を起こした命令のアドレスを正しく割出す
ことができる装置を提供することにある。
C問題点を解決するための手段〕 本発明は上記問題点を解決するために、複数個の演算ユ
ニットを有する情報処理装置において、 演算命令実行指示後演算結果が得られる迄の実行時間と
演算命令を実行する演算ユニットの指定情報を同一番号
のエントリに格納するレジスタスタックと、 該レジスタスタックの格納したエントリ番号を示すスタ
ックエントリレジスタと〜 命令実行権示時前記スタックエントリレジスタで示すエ
ントリ番号の実行時間のカウントダウンを開始し、その
値がある値に到達したとき同一エントリ番号の前記レジ
スタスタッタのエントリに格納された演算ユニット指定
情報で示す演算ユニットからの演算結果例外情報を例外
発生情報レジスタに格納する手段と、 前記実行時間がある値に到達した前記レジスタスタック
のエントリ番号を格納し、前記例外発生情報レジスタの
内容が例外発生を示しているとき格納したエントリ番号
をその後も保持する命令スタックリードレジスタと、 演算ユニットに対する命令実行権示時前記スタックエン
トリレジスタで示すエントリ番号に命令アドレスを格納
し、前記命令スタックリードレジスタの示すエントリ番
号の内容を出力する命令アドレススタックとを設ける。
〔作用〕
演算命令が実行指示された毎に、各演算に要する実行時
間と、各演算が行なわれる演算ユニットとが同一エント
リ番号のレジスタスタックに格納され、また、そのエン
トリ番号と同じエントリ番号の命令スタックレジスタに
その演算の命令アドレスが格納される。各演算の命令実
行指示に応答して対応する実行時間のカウンタダウンが
開始され、その値がある値に達し演算が終了するのが検
知されると、演算を終了した演算ユニットの演算例外発
生情報が選択されて例外発生情報レジスタに格納される
と共に、その演算ユニットに対応するレジスタスタッタ
のエントリ番号が命令スタックリードレジスタに格納さ
れる。そして、演算例外が発生していると、命令スタッ
クリードレジスタの内容はその後も保持されたままとな
り、命令アドレススタックからは演算例外を発生した命
令のアドレスが読出されたままとなる。
〔実施例〕
第1図は本発明の実施例のブロック図であり、演算命令
の演算結果を汎用レジスタスタッタに格納するために従
来備えられていた機構の一部を利用して演算例外を発生
した命令のアドレスを割出す実施例を示す。
同図において、命令レジスタ1は情報処理装置で実行す
る命令語を保持するレジスタで、命令制御部16は、こ
の命令レジスタ1の内容を解読し、演算命令ならば演算
ユニット2〜4の何れの演算ユニットに実行指示を出す
べきか、その演算の実行時間すなわち命令の実行指示□
後何りロック後に結果が得られるか、及びその演算結果
を格納する汎用レジスタスタッタのエントリ番号を決定
し、レジスタスタック5の空のエントリの演算ユニット
指定レジスタ6に前記実行指示を出すべき演算ユニット
の情報を、同一エントリ番号の実行時間レジスタ7に前
記実行時間を、同一エントリ番号の先行レジスタ8に演
算結果を格納する汎用レジスタスタックの番号をそれぞ
れ格納する。また、命令制御部16は、レジスタスタッ
ク5に格納したエントリのエントリ番号をスタックエン
トリレジスタ9に格納する。なお、レジスタスタック5
のエントリ数は情報処理装置のバイブラインの段数。
演算ユニットの数、ハードウェア量等より決められる。
また命令制御部16が演算ユニット2〜4の何れかに命
令実行指示を行なうとき、命令アドレスレジスタ10の
内容は命令アドレススタック11に格納される。このと
きの格納エントリ番号(アドレス)はスタックエントリ
レジスタ9で示されるアドレスである。
命令制御部16が命令実行を指示すると、レジスタスタ
ック5では、スタックエントリレジスタ9で示されるエ
ントリ番号の実行時間レジスタ7の内容のカウントダウ
ンが開始される。そして、その値がある値になると、同
じエントリ番号の演算ユニット指定レジスタ6の内容が
セレクタ12.17に送られる。
セレクタ17は各演算ユニット2〜4から加えられる演
算結果の中から入力された演算ユニット指定レジスタ6
の内容で指定される演算結果を選択し、図示しない汎用
レジスタスタックに送出するもので、この汎用レジスタ
スタッタではレジスタスタック5の同一エントリ番号の
行先レジスタ8で指定された汎用レジスタのエントリに
前記演算結果が格納される。
また、セレクタ12は、各演算ユニット2〜4から加え
られる例外発生情報の中から入力された演算ユニット指
定レジスタ6の内容で指定される演算ユニットの例外発
生情報を選択するもので、この選択された例外発生情報
は例外発生情報レジスタ13に格納される。また、実行
時間レジスタ7がある値になっているレジスタスタック
5のエントリ番号がエンコーダ14で求められ、そのエ
ントリ番号が命令スタックリードレジスタ14に格納さ
れる。
例外発生情報レジスタ13の内容が演算ユニットでの演
算に演算例外が発生したことを示す場合、例外発生情報
レジスタ13の出力によって命令スタックリードレジス
タ14のそれ以降の更新は禁止される。
命令スタックリードレジスタ14の内容は命令アドレス
スタック11のリードアドレスとなるよう構成されてい
るので、演算例外発生時は、命令アドレススタック11
の出力は演算例外を起こした命令のアドレスを示してい
ることになる。
第2図は、命令アドレス100の加算命令(1)が実行
指示された後、命令アドレス101の乗算命令filが
実行指示され、乗算命令(11の実行終了前に加算命令
(1)の実行が終了し命令アドレス102の加算命令(
2)の実行指示とその実行終了が行なわれるような命令
シーケンスにおいて、加算命令(2)で例えばフローテ
ィングオーバーフローの演算例外が発生したときの第1
同各部の状態の一例を示したタイムチャートである。
加算命令(11の実行指示直前には、レジスタスタック
5の演算ユニット指定レジスタのエントリEOに演算ユ
ニット2の指定情報が、実行時間レジスタ7のエントリ
EOに加算命令(1)の実行時間が設定され、スタック
エントリレジスタ9はエンドIJ E Oを示す。従っ
て、命令アドレスレジスタ10のエントリEOには加算
命令+11のアドレス100がスタックされる。加算命
令(11の命令実行指示が演算ユニット2に為されると
、実行時間レジスタ7のエントリEOの内容はカウント
ダウンされる。
同様に乗算命令(11の実行指示前にはスタックエント
リレジスタ9はエントリE1を示し、乗算命令!11の
命令アドレス101は命令アドレススタック11のエン
トリElにスタックされる。また、演算ユニット指定レ
ジスタ6のエントリE1には演算ユニット3の情報が、
実行時間レジスタ7のエントリE1には乗算命令(11
の実行時間がそれぞれ設定され、その実行指示時から実
行時間レジスタ7のエントリE1の内容はカウントダウ
ンされていく。
実行時間レジスタ7のエントリEOの内容がある値にな
ると、前述したように演算ユニット指定レジスタ6のエ
ントリEOの内容によってセレクタ13は演算ユニット
2の演算例外発生情報を例外発生情報レジスタ13に格
納し、エンコーダ15で求められたエントリEOを命令
スタックリードレジスタ14は指示し、命令アドレスス
タック11からスタックされた命令アドレスrloOJ
が読出される。
加算命令(1)の終了後に加算命令(2)が実行される
前には、スタックエントリレジスタ9はエントリE2を
示し、加算命令(2)の命令アドレス102は命令アド
レススタック11のエントリE2にスタックされる。ま
た、演算ユニット−指定レジスタ6のエントリE2には
演算ユニット2の情報が、実行時間レジスタ7のエント
リE2には加算命令(2)の実行時間がそれぞれ設定さ
れ、その実行指示時から実行時間レジスタ7のエントリ
E2の内容はカウントダウンされていく。
実行時間レジスタ7のエントリE2の内容がある値にな
ると、演算ユニット指定レジスタ6のエントリE2の内
容によってセレクタ13は演算ユニット2の演算例外発
生情報を例外発生情報レジスタ13に格納する。この場
合、加算命令(2)は演算例外を発生しており、エンコ
ーダ15で求められたエントリE2を命令スタックリー
ドレジスタ14は指示し、命令アドレススタック11に
スタックされた命令アドレスr102 jが読出される
。そして、例外発生有りの情報が例外発生情報レジスタ
13に格納されているで、以後命令スタックリードレジ
スタ14の更新は禁止され、命令アドレススタック11
からは演算例外を発生した命令のアドレスとしてr10
2 Jが送出されたままとなる。
以上の実施例は、演算命令の演算結果を汎用レジスタス
タッタに格納するために従来備えられていた機構の一部
を利用して演算例外を割出すものであり、少ないハード
ウェアの追加だけで演算例外命令アドレスを得ることが
できる利点がある。
〔発明の効果〕
以上説明したように、本発明によれば、後続命令が先行
命令の終了前に実行開始されても演算例外を起こした命
令のアドレスを正しく割出すことができる効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、M21211は
第1図の動作説明図および、第3図は従来の問題点の説
明図である。 図において、1は命令レジスタ、2〜4は演算ユニット
、5はレジスタスタッタ、6は演算ユニット指定レジス
タ、7は実行時間レジスタ、8は先行レジスタ、9はス
タックエントリレジスタ、10は命令アドレスレジスタ
、11は命令アドレススタック、12はセレクタ、13
は例外発生情報レジスタ、14は命令スタックリードレ
ジスタ、15はエンコーダである。 本発明の実施例のブロック図 加算命伶℃)左テ      −+ レジスタ6のエントリEOCXΣ=====Dレジスタ
6のエントリEル ラスタ6のエントリE2            C=
==】=====二ニレジスタフのエントリE2   
       −」−一一一一一一一一一スタックエン
トリレジスタ91 ◆令スタ・クリート         ニニレジスタ1
4 命令アドレススタック11        二In石可
==コ(=コ万Σ===の出力

Claims (1)

  1. 【特許請求の範囲】 複数個の演算ユニットを有する情報処理装置において、 演算命令実行指示後演算結果が得られる迄の実行時間と
    演算命令を実行する演算ユニットの指定情報を同一番号
    のエントリに格納するレジスタスタックと、 該レジスタスタックの格納したエントリ番号を示すスタ
    ックエントリレジスタと、 命令実行指示時前記スタックエントリレジスタで示すエ
    ントリ番号の実行時間のカウントダウンを開始し、その
    値がある値に到達したとき同一エントリ番号の前記レジ
    スタスタックのエントリに格納された演算ユニット指定
    情報で示す演算ユニットからの演算結果例外情報を例外
    発生情報レジスタに格納する手段と、 前記実行時間がある値に到達した前記レジスタスタック
    のエントリ番号を格納し、前記例外発生情報レジスタの
    内容が例外発生を示しているとき格納したエントリ番号
    をその後も保持する命令スタックリードレジスタと、 演算ユニットに対する命令実行指示時前記スタックエン
    トリレジスタで示すエントリ番号に命令アドレスを格納
    し、前記命令スタックリードレジスタの示すエントリ番
    号の内容を出力する命令アドレススタックとを具備した
    ことを特徴とする演算例外命令アドレス割出装置。
JP60140966A 1985-06-27 1985-06-27 演算例外命令アドレス割出装置 Granted JPS622330A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS622330A true JPS622330A (ja) 1987-01-08
JPH0580691B2 JPH0580691B2 (ja) 1993-11-10

Family

ID=15280960

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS622330A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999027439A1 (fr) * 1997-11-20 1999-06-03 Hajime Seki Systeme informatique

Citations (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
JPS5696339A (en) * 1979-12-28 1981-08-04 Fujitsu Ltd Data processing system
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 デ−タ処理装置

Patent Citations (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
JPS5696339A (en) * 1979-12-28 1981-08-04 Fujitsu Ltd Data processing system
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 デ−タ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999027439A1 (fr) * 1997-11-20 1999-06-03 Hajime Seki Systeme informatique

Also Published As

Publication number Publication date
JPH0580691B2 (ja) 1993-11-10

Similar Documents

Publication Publication Date Title
US3924245A (en) Stack mechanism for a data processor
US3303477A (en) Apparatus for forming effective memory addresses
US4172287A (en) General purpose data processing apparatus for processing vector instructions
KR0138468B1 (ko) 마이크로 컴퓨터
US4943915A (en) Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit
JPS622330A (ja) 演算例外命令アドレス割出装置
US6311266B1 (en) Instruction look-ahead system and hardware
JPH0528431B2 (ja)
JPH0293730A (ja) 情報処理装置
JPS6316335A (ja) ソフトウエアタイマの処理方法
JPS6119072B2 (ja)
JP2719676B2 (ja) 並列演算処理装置
JPH04106652A (ja) 例外処理システム
JPS622329A (ja) 演算例外命令アドレス割出装置
JPS59188900A (ja) デ−タ処理装置
JPS599936B2 (ja) デ−タ監視装置
JPS6238748B2 (ja)
JPS63120336A (ja) メモリアクセスモ−ド切替え方式
JPH01211048A (ja) プログラムの実行命令数測定方式
JPH05313924A (ja) 仮想計算機計測機構
JPS622324A (ja) 演算例外発生時処理方式
JPS6010342A (ja) 汎用レジスタのリロ−ド制御方式
JPS59158441A (ja) パイプライン制御方式
JPH0145650B2 (ja)
JPS63186372A (ja) ベクトル処理装置