JPH0580691B2 - - Google Patents

Info

Publication number
JPH0580691B2
JPH0580691B2 JP60140966A JP14096685A JPH0580691B2 JP H0580691 B2 JPH0580691 B2 JP H0580691B2 JP 60140966 A JP60140966 A JP 60140966A JP 14096685 A JP14096685 A JP 14096685A JP H0580691 B2 JPH0580691 B2 JP H0580691B2
Authority
JP
Japan
Prior art keywords
register
instruction
stack
entry
arithmetic
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
JP60140966A
Other languages
English (en)
Other versions
JPS622330A (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 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

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置における演算例外処理に
関し、特に演算例外を発生した命令のアドレスを
割出す装置に関する。
情報処理装置において、演算の実行時にオーバ
ーフロー、アンダーフロー、ゼロデイバイド等の
演算例外が発生した場合、その後の演算の実行を
中止して割込みを発生させ、演算例外に応じた処
理が必要となる。
このような処理を行なうためには、どの命令で
演算例外が発生したかを先ず知ることが必要であ
る。
〔従来の技術〕
従来、演算例外を発生した命令のアドレスは、
例えば第3図aに示すようにある種の演算1の実
行終了時に演算例外が発生したことが演算ユニツ
トから報告されると、割込み処理を開始して演算
1に続く演算2の実行を行なわないようにし、割
込み時における命令アドレスレジスタの内容が演
算例外を起こした命令の次のアドレスを示すこと
から割出していた。
〔発明が解決しようとする問題点〕 しかし、上述した従来の割出しは、先行する命
令の演算実行が終了してから後続命令の実行が開
始されるシステム構成を前提とするものであり、
そうでないシステムでは演算例外命令アドレスを
割出すことは困難である。
即ち、性能を向上させるため、演算ユニツトを
例えば加算器、乗算器、シフター等の如く複数個
設け、これらの演算ユニツトを例えば第3図b或
いは同図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の内容がセレクタ1
2,17に送られる。すなわち、後述するよう
に、セレクタ17で演算結果を選択し、もしくは
セレクタ12で例外発生情報を選択するタイミン
グを生成するために、実行時間レジスタ7のカウ
ントダウンを行う。
セレクタ17は各演算ユニツト2〜4から加え
られる演算結果の中から入力された演算ユニツト
指定レジスタ6の内容で指定される演算結果を選
択し、図示しない汎用レジスタスタツクに送出す
るもので、この汎用レジスタスタツクではレジス
タスタツク5の同一エントリ番号の行先レジスタ
8で指定された汎用レジスタのエントリに前記演
算結果が格納される。
また、セレクタ12は、各演算ユニツト2〜4
から加えられる例外発生情報の中から入力された
演算ユニツト指定レジスタ6の内容で指定される
演算ユニツトの例外発生情報を選択するもので、
この選択された例外発生情報は例外発生情報レジ
スタ13に格納される。また、実行時間レジスタ
7がある値になつているレジスタスタツク5のエ
ントリ番号がエンコーダ15で求められ、そのエ
ントリ番号が命令スタツクリードレジスタ14に
格納される。
例外発生情報レジスタ13の内容が演算ユニツ
トでの演算に演算例外が発生したことを示す場
合、例外発生情報レジスタ13の出力によつて命
令スタツクリードレジスタ14のそれ以降の更新
は禁止される。
命令スタツクリードレジスタ14の内容は命令
アドレススタツク11のリードアドレスとなるよ
う構成されているので、演算例外発生時は、命令
アドレススタツク11の出力は演算例外を起こし
た命令のアドレスを示していることになる。
第2図は、命令アドレス100の加算命令1が実
行指示された後、命令アドレス101の乗算命令1
が実行指示され、乗算命令1の実行終了前に加算
命令1の実行が終了し命令アドレス102の加算
命令2の実行指示とその実行終了が行なわれるよ
うな命令シーケンスにおいて、加算命令2で例え
ばフローテイングオーバーフローの演算例外が発
生したときの第1図各部の状態の一例を示したタ
イムチヤートである。
加算命令1の実行指示直前には、レジスタスタ
ツク5の演算ユニツト指定レジスタのエントリ
E0に演算ユニツト2の指定情報が、実行時間レ
ジスタ7のエントリE0に加算命令(1)の実行時間
が設定され、スタツクエントリレジスタ9はエン
トリE0を示す。従つて、命令アドレスレジスタ
10のエントリE0には加算命令1のアドレス100
がスタツクされる。加算命令1の命令実行指示が
演算ユニツト2に為されると、実行時間レジスタ
7のエントリE0の内容はカウントダウンされる。
同様に乗算命令1の実行指示前にはスタツクエ
ントリレジスタ9はエントリE1を示し、乗算命
令1の命令アドレス101は命令アドレススタツク
11のエントリE1にスタツクされる。また、演
算ユニツト指定レジスタ6のエントリE1には演
算ユニツト3の情報が、実行時間レジスタ7のエ
ントリE1には乗算命令1の実行時間がそれぞれ
設定され、その実行指示時から実行時間レジスタ
7のエントリE1の内容はカウントダウンされて
いく。
実行時間レジスタ7のエントリE0の内容があ
る値になると、前述したように演算ユニツト指定
レジスタ6のエントリE0の内容によつてセレク
タ13は演算ユニツト2の演算例外発生情報を例
外発生情報レジスタ13に格納し、エンコーダ1
5で求められたエントリE0を命令スタツクリー
ドレジスタ14は指示し、命令アドレススタツク
11からスタツクされた命令アドレス「100」が
読出される。
加算命令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にスタ
ツクされた命令アドレス「102」が読出される。
そして、例外発生有りの情報が例外発生情報レジ
スタ13に格納されているので、以後命令スタツ
クリードレジスタ14の更新は禁止され、命令ア
ドレススタツク11からは演算例外を発生した命
令のアドレスとして「102」が送出されたままと
なる。
以上の実施例は、演算命令の演算結果を汎用レ
ジスタスタツクに格納するために従来備えられて
いた機構の一部を利用して演算例外を割出すもの
であり、少ないハードウエアの追加だけで演算例
外命令アドレスを得ることができる利点がある。
〔発明の効果〕
以上説明したように、本発明によれば、後続命
令が先行命令の終了前に実行開始されても演算例
外を起こした命令のアドレスを正しく割出すこと
ができる効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロツク図、第2図
は第1図の動作説明図および、第3図は従来の問
題点の説明図である。 図において、1は命令レジスタ、2〜4は演算
ユニツト、5はレジスタスタツク、6は演算ユニ
ツト指定レジスタ、7は実行時間レジスタ、8は
先行レジスタ、9はスタツクエントリレジスタ、
10は命令アドレスレジスタ、11は命令アドレ
ススタツク、12はセレクタ、13は例外発生情
報レジスタ、14は命令スタツクリードレジス
タ、15はエンコーダである。

Claims (1)

  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 JPS622330A (ja) 1987-01-08
JPH0580691B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EA200000546A1 (ru) * 1997-11-20 2001-04-23 Хадзиме Секи Компьютерная система

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 デ−タ処理装置

Also Published As

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

Similar Documents

Publication Publication Date Title
EP0220682B1 (en) Data processing system
JPS589455B2 (ja) 多重長アドレス構成を有するマイクロプログラム化デ−タ処理システム
EP0352935A2 (en) Pipelined processor
US4943915A (en) Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit
EP0357188A2 (en) Pipelined processor
JPH0580691B2 (ja)
KR930003399B1 (ko) 마이크로프로그램된 소프트웨어 명령 실행장치 및 방법
JPS6236575B2 (ja)
JPS62262146A (ja) 処理装置
JPH0580690B2 (ja)
JP2719676B2 (ja) 並列演算処理装置
JPS595932B2 (ja) デ−タ処理方式
JPS622324A (ja) 演算例外発生時処理方式
JP2511063B2 (ja) パイプライン制御方式
JPS6117033B2 (ja)
JPS59189448A (ja) オペランドバツフア
JPS638492B2 (ja)
JPS599936B2 (ja) デ−タ監視装置
JP2764947B2 (ja) 命令制御方式
JPS6238748B2 (ja)
JPH01211048A (ja) プログラムの実行命令数測定方式
JP2674747B2 (ja) シグナル・プロセツサ
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPS59188900A (ja) デ−タ処理装置
JPS63186372A (ja) ベクトル処理装置