JP3035108B2 - 並列演算処理装置 - Google Patents

並列演算処理装置

Info

Publication number
JP3035108B2
JP3035108B2 JP5076512A JP7651293A JP3035108B2 JP 3035108 B2 JP3035108 B2 JP 3035108B2 JP 5076512 A JP5076512 A JP 5076512A JP 7651293 A JP7651293 A JP 7651293A JP 3035108 B2 JP3035108 B2 JP 3035108B2
Authority
JP
Japan
Prior art keywords
error
processing
parallel
instruction
operation error
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
JP5076512A
Other languages
English (en)
Other versions
JPH06290045A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP5076512A priority Critical patent/JP3035108B2/ja
Publication of JPH06290045A publication Critical patent/JPH06290045A/ja
Application granted granted Critical
Publication of JP3035108B2 publication Critical patent/JP3035108B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、電子計算機等におい
て実行優先度に応じて命令を再配置し、並列演算を行う
並列演算処理装置における、先行処理中に発生した演算
エラーの保持、及びこの保持する演算エラーを必要に応
じて検索し、演算エラー割込みを発生可能にする演算エ
ラーの検出方式に関する。
【0002】
【従来の技術】電子計算機等において実行優先度に応じ
て命令を再配置し、並列演算を行う並列演算処理装置に
おいては、実行時間の長い命令はなるべく早く命令をス
タートさせた方が全体としての実行時間が短くなる。
【0003】例えば、ある演算処理Aを実行し、その結
果を判定して「真」であれば演算処理Bを、「偽」であ
れば演算処理Cを実行するような場合を想定する。この
時、演算処理Aの実行が終了してから、その結果に応じ
て演算処理BあるいはCを実行するのではこれら一連の
処理全体の実行時間は最も長くなってしまう。処理時間
を短くするためには、処理Aと並行して同時、あるいは
出来るだけ早い時点で処理Bと処理Cの実行を開始する
ようにしなければならない。
【0004】処理Aと同時に処理B、Cも全て並列に実
行するのが最も望ましいが、もし同時に2つの演算処理
しか実行できなければA、B、Cそれぞれの演算に要す
るであろう時間を比較し、よりよい組合せを選んで命令
の再配置を行い、並列演算処理を実行する。例えば処理
Cに要する時間が長く、処理Bと処理Aとを合わせた時
間にほぼ一致するような場合であれば、処理Aと処理C
とを先ず実行し、処理Aが終われば処理Bにかかる。そ
して最後に処理Aの結果を判定し、処理Bあるいは処理
Cの演算結果の内、一方を最終結果として出力するとい
うような制御を行うことになる。
【0005】このようにして、並列演算により処理時間
の短縮を図ることができる。
【0006】
【発明が解決しようとする課題】しかしながら、ある一
定の条件でのみ実行される命令で、かつ、例えば入力デ
ータによって演算エラー割込みが発生する可能性のある
ような命令では、同じ実行条件の範囲内でしか命令再配
置できない。
【0007】即ち、上述の処理例をもって説明すれば、
例えば処理Cにおいて演算エラーが発生する可能性があ
るとすると、処理Aの結果が「偽」であれば演算エラー
を生じてエラー割込みを発生することが正常であり、か
つ必要でもあるが、もし処理Aの結果が「真」であれば
処理Cは実行されないはずであり、ここで演算エラー割
込みが発生しては正しく処理が行われないことになって
しまう。
【0008】従って、このようなある一定の条件でのみ
実行される命令で、かつ演算エラー発生の可能性がある
処理は、確かにその処理が実行されるという条件の範囲
内でしか実行を開始させることができず、命令再配置し
て並列処理を行い、処理時間を短縮することができなく
なってしまう。
【0009】ここで、演算エラーによる割込みを禁止す
れば、再配置して並列処理を実行することが可能になる
が、この場合は演算エラーが生じても割込みが発生しな
くなり、やはり正常な処理が行われないことになる。そ
して、例えばプログラムミスを検出する等の手段を失う
といった実害をもたらすことになる。
【0010】この発明は、このような従来の問題点に鑑
みてなされたものであり、命令再配置し、並行処理を実
行するような場合に、その中で演算エラーが生じても直
ちに演算エラー割込みを発生させること無く、そのまま
処理の継続を可能にすると共に、必要に応じて前記演算
エラーの発生の有無を検索し、割込みの発生を可能にす
るような並列演算処理装置に置ける演算エラー検出方式
を提供することを目的とするものである。
【0011】
【課題を解決するための手段】このような目的を達成す
るために、本発明に係る並列演算処理装置の演算エラー
検出方式では、演算結果と共に、演算エラー発生情報も
並行して保持できるようにし、かつ任意にこの保持され
た演算エラー発生情報を検索してエラー割込みを発生さ
せ得るようにすることで、優先度の高い処理の先行実行
を可能とし、かつプログラムエラーの検出等の機能も損
なうことなく実行可能としている。
【0012】即ち、複数の演算器を備え、命令を並列実
行可能な並列演算処理装置において、ある命令に後続し
て実行される後続命令を、前記ある命令と平行して実行
するよう再スケジュールする命令再配置手段と、命令の
演算結果を格納するデータレジスタと、該データレジス
タに対応して設けられ、演算エラーの発生情報を格納す
る演算エラー情報格納手段と、前記後続命令で演算エラ
ーが発生したことを示す情報が前記演算エラー情報格納
手段に格納されていることを検出すると、該後続命令が
前記ある命令の演算結果に依存するか否かを判定し、依
存する場合、前記ある命令の演算結果の確定後、後続命
令で発生した演算エラーによる演算エラー割込みを発生
させるか判定するエラー処理手段とを備えて成ることを
最も主要な特徴とするものである。
【0013】
【作用】このような構成を備えた並列演算処理装置の演
算エラー検出方式であれば、命令再配置され並列実行さ
れている処理の中で、もし演算エラーが生じても、直ち
に演算エラー割込みが発生することはなく処理は継続実
行される。かつ、演算エラーが生じた時のエラー情報
は、当該演算結果が格納されるデータレジスタに対応し
て演算エラーフラグ内に格納・保持される。
【0014】また、この演算エラーが生じた演算結果の
データを用いて他の演算が実施される場合には、前記演
算エラーフラグ内に保持されるエラー情報が同時に取出
され、新たな演算による結果のデータと共に、そのエラ
ー情報との論理和が求められて対応して格納される。
(即ち、一度演算エラーが発生したデータについては、
そのデータを用いた以降の全ての演算結果にエラー情報
が付随していくことになる。) そして、最後に演算結果のデータが取出される時に、対
応して前記演算エラーフラグに保持されている演算エラ
ー情報も取出されて検索され、エラーがあれば初めて演
算エラー割込みが発生可能になる。
【0015】このようにして、演算エラー発生の可能性
の有無に拘らず、実行優先度に応じて命令再配置して並
列演算処理を実行することが可能になると共に、途中で
演算エラーがあったか否かを最終結果のデータを取出す
際にそのデータに対応して確認し、演算エラー割込みを
発生させることが可能になる。
【0016】
【実施例】図1は、この発明に係る並列演算処理装置の
演算エラー検出方式を適用した一実施例の電子計算機シ
ステムの要部構成を示す図である。
【0017】複数の演算対象ないし演算結果等のデータ
を格納するレジスタファイルであるデータレジスタ1
と、このデータレジスタ1から任意のデータを選択して
入力とし、演算を実行し、その結果をまた任意のデータ
レジスタに格納する演算器3がある。演算器3からは、
実行した演算処理において演算エラーが生じた時、その
エラー情報が演算結果データと共に出力されるよう構成
されている。
【0018】そして、実行優先度に応じ、命令を再配置
して並列演算を行う中で、演算器3における演算におい
て演算エラーが発生した時、このエラー情報を演算結果
データが格納されるデータレジスタ1に対応して格納す
る演算エラーフラグ2と、この演算エラーフラグ2に格
納されるエラー情報を、演算実行時に演算対象のデータ
レジスタ1に対応して取出し、新たな演算の結果演算器
3から発生するエラー情報との論理和をとって再格納す
るOR回路4が設けられている。
【0019】さらに、演算結果のデータレジスタ1から
の取出しに対応し、演算エラーフラグ2からエラー情報
を取出すと共に、このエラー情報から演算エラーの有無
を判別し、エラーが有れば演算エラー割込み信号8を発
生させる選択・判定機構として条件判定回路5、及びセ
レクタ6、7が設けられている。
【0020】条件判定回路5は、例えば演算機3の演算
結果に応じ、データを取出すべきデータレジスタ1を判
別してその選択信号をセレクタ6及び7に送付する。セ
レクタはこの選択信号に従ってデータレジスタ1から
データを選択出力する。この時、条件判定回路5から送
付される選択信号に従い、セレクタは、演算エラーフ
ラグ2から当該データに対応する演算エラー情報を選択
して取出す。そして、もし、選択した演算エラー情報内
に演算エラー割込みを発生させるべき情報があれば演算
エラー割込み信号8をオンにして出力する。
【0021】図2に、並列演算処理の対象としての一連
の演算処理例を示す。
【0022】例えば、ある演算処理Aを実行し、その結
果を判定して「真」であれば演算処理Bを、「偽」であ
れば演算処理Cを実行するような場合を想定する。この
時、演算処理Aの実行が終了してから、その結果に応じ
て演算処理BあるいはCを実行するのではこれら一連の
処理全体の実行時間は最も長くなってしまう。処理時間
を短くするためには、処理Aと並行して同時、あるいは
出来るだけ早い時点で処理Bと処理Cの実行を開始する
ようにしなければならない。
【0023】図3に並列演算の処理例を示したように、
処理Aと同時に処理B、Cも全て並列に実行するのが最
も望ましい。しかし、もし同時に2つの演算処理しか実
行できなければA、B、Cそれぞれの演算に要するであ
ろう時間を比較し、よりよい組合せを選んで命令の再配
置を行い、並列演算処理を実行する。例えば処理Bに要
する時間が長く、処理Aと処理Cとを合わせた時間にほ
ぼ一致するような場合であれば、処理Aと処理Bとを先
ず実行し、処理Aが終われば処理Cにかかる。そして最
後に処理Aの結果を判定し、処理Bあるいは処理Cの演
算結果の内、一方を最終結果として出力するというよう
な制御を行うことになる。
【0024】ここで、もし処理B内に、演算エラーを発
生させる可能性のあるような演算が含まれているとす
る。例えば数値0による割算、オーバーフローやアンダ
ーフローを起こすような加減乗除算等々である。実際の
例としては次のようなものがある。
【0025】Z=(X!=0)?Y/X:1;
(C言語による例) 上述の演算処理では、先ずデータ「X」の値を「0」と
比較し、「0」でなければデータ「Y」の値をデータ
「X」の値で割算した結果を、また「0」であれば値
「1」をデータ「Z」の値とするという作業が実行され
る。
【0026】この場合、処理に要する時間を比較する
と、処理Bに相当するYのXによる割算が最も多くの時
間を必要とし、次いで処理Aに相当するXと0との比較
演算、そして処理Cに相当する数値データ「1」の取出
しが最も短時間で実行可能と判断される。従って、例え
ば図3に示したように、処理Bが最も早く開始されるよ
う命令再配置することが必要になる。
【0027】ところが処理Bには、データ「X」の値が
「0」である場合には、0で割算を行うという演算エラ
ーを発生する可能性が含まれている。(このため従来
は、このような場合には処理Aの結果が判明するまで処
理Bの実行は不可であった。即ち命令再配置による並列
処理ができなかった。) このような場合の処理を、図3に示すような命令再配置
による並列処理により実行する時の動作を説明する。図
1において、先ず処理A、B、Cそれぞれに対応するデ
ータX、Y及び数値1の(例えば図示しない記憶装置か
らの)読出しが行われ、別個のデータレジスタ1に格納
される。
【0028】次に、処理AとしてデータXがデータレジ
スタ1から取出され、数値0と比較演算される。
【0029】かつ、この比較演算と並行してデータYの
データXによる割算が実行開始される。ここで、もしデ
ータXの値が「0」であれば、演算器3における割算の
実行時に演算エラーが発生する。この発生した演算エラ
ーの情報は、演算器3からOR回路4を介して演算エラ
ーフラグ2に、割算の結果のデータ(エラーがあったた
め数値は保証されない)のデータレジスタ1への格納と
対応して格納される。そして、この割算の結果のデータ
がデータレジスタ1から取出される時、対応して演算エ
ラーフラグ2から取出され、次の演算が行われる場合で
あればその演算による演算エラー情報と論理和がとられ
て再び対応して格納され、取出されたデータが最終結果
として扱われる場合であればセレクタ6から演算エラー
割込み信号を発生させるのに用いられる。
【0030】しかし、上述の処理例では、演算エラーが
発生する場合、即ちデータXの値が0と一致する場合に
は、処理Bの結果は採用されずに処理Cの側が取出され
るので、この処理Cに対応する演算エラーフラグ内には
演算エラー情報は含まれておらず、従って、並列演算処
理中に演算エラーが発生していても割込みが生じること
はない。
【0031】このようにして、実行優先度の高い命令を
演算エラー発生の可能性に拘らず、先行実行し、後で必
要に応じて演算エラーのチェックを行い演算エラー割込
みを発生させることが可能になる。従って、演算エラー
発生の可能性を含むような場合でも、命令再配置を行っ
て並列演算処理を実行し、処理時間の短縮を図ることが
できるようになり、命令実行の並列度を上げ、性能を向
上させることが可能になる。
【0032】
【発明の効果】実行優先度に応じて命令を再配置し、並
列演算を行う並列演算処理装置において、先行処理中に
発生した演算エラー情報を保持し、かつこの保持する演
算エラー情報を必要に応じて検索し、演算エラー割込み
を発生可能としたので、演算エラー発生の可能性がある
ような演算処理であっても命令再配置及び並列演算の実
行が可能になり、命令実行の並列度を向上させ、処理時
間の短縮を可能にして、この種の処理装置の性能を向上
させることができる。
【図面の簡単な説明】
【図1】本発明に係る並列演算処理装置の演算エラー検
出方式を適用した一実施例の電子計算機システムの要部
構成を示す図である。
【図2】並列演算処理の対象としての一連の演算処理例
を示す図である。
【図3】並列演算処理例を示す図である。
【符号の説明】
1 データレジスタ 2 演算エラーフラグ 3 演算器 4 OR回路 5 条件判定回路 6、7 セレクタ 8 演算エラー割込み信号

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の演算器を備え、命令を並列実行可
    能な並列演算処理装置において、 ある命令に後続して実行される後続命令を、前記ある命
    令と平行して実行するよう再スケジュールする命令再配
    置手段と、 命令の演算結果を格納するデータレジスタと、 該データレジスタに対応して設けられ、演算エラーの発
    生情報を格納する演算エラー情報格納手段と、 前記後続命令で演算エラーが発生したことを示す情報が
    前記演算エラー情報格納手段に格納されていることを検
    出すると、該後続命令が前記ある命令の演算結果に依存
    するか否かを判定し、依存する場合、前記ある命令の演
    算結果の確定後、後続命令で発生した演算エラーによる
    演算エラー割込みを発生させるか判定するエラー処理手
    段とを備えたことを特徴とする並列演算処理装置。
JP5076512A 1993-04-02 1993-04-02 並列演算処理装置 Expired - Fee Related JP3035108B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5076512A JP3035108B2 (ja) 1993-04-02 1993-04-02 並列演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5076512A JP3035108B2 (ja) 1993-04-02 1993-04-02 並列演算処理装置

Publications (2)

Publication Number Publication Date
JPH06290045A JPH06290045A (ja) 1994-10-18
JP3035108B2 true JP3035108B2 (ja) 2000-04-17

Family

ID=13607324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5076512A Expired - Fee Related JP3035108B2 (ja) 1993-04-02 1993-04-02 並列演算処理装置

Country Status (1)

Country Link
JP (1) JP3035108B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008114443A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited マルチプロセッサシステム及びその制御方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061785A (en) * 1998-02-17 2000-05-09 International Business Machines Corporation Data processing system having an apparatus for out-of-order register operations and method therefor
US7555703B2 (en) 2004-06-17 2009-06-30 Intel Corporation Method and apparatus for reducing false error detection in a microprocessor
US7957351B2 (en) 2005-04-04 2011-06-07 Qualcomm Incorporated Method and apparatus for management of multi-carrier communications in a wireless communication system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008114443A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited マルチプロセッサシステム及びその制御方法
JP5146444B2 (ja) * 2007-03-20 2013-02-20 富士通株式会社 マルチプロセッサシステム及びその制御方法

Also Published As

Publication number Publication date
JPH06290045A (ja) 1994-10-18

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
JP2746549B2 (ja) コンピュータシステム及びその動作方法
US5687360A (en) Branch predictor using multiple prediction heuristics and a heuristic identifier in the branch instruction
US5003462A (en) Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US5212662A (en) Floating point arithmetic two cycle data flow
US6081887A (en) System for passing an index value with each prediction in forward direction to enable truth predictor to associate truth value with particular branch instruction
JPH0769818B2 (ja) デ−タ処理装置
EP0377994A2 (en) Apparatus for performing floating point arithmetic operations
US4967350A (en) Pipelined vector processor for executing recursive instructions
EP0094535B1 (en) Pipe-line data processing system
EP0093430A2 (en) Pipeline data processing system
US5095426A (en) Data processing system for effectively handling exceptions during execution of two different types of instructions
US4839895A (en) Early failure detection system for multiprocessor system
JPH03286332A (ja) デジタルデータ処理装置
KR20010001022A (ko) 병렬 프로세서를 위한 무순서 명령어 발행 방법 및 장치
JP3035108B2 (ja) 並列演算処理装置
JPS5991551A (ja) 分岐先アドレス予測を行なう命令先取り装置
AU1490888A (en) Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
JPS60129839A (ja) 情報処理装置
JP2553728B2 (ja) 演算装置
JPS60164842A (ja) 命令先取り装置
JPH01213719A (ja) パイプライン処理用データ組替装置
KR100303136B1 (ko) 디지탈신호처리장치를구비한마이크로프로세서구조
US5644745A (en) Apparatus for replacing data availability information for an instruction subsequent to a branch with previous availability information upon branch prediction failure
JPH06149569A (ja) レジスタ番号変更装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080218

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees