JPS6022768B2 - デ−タ処理方法 - Google Patents

デ−タ処理方法

Info

Publication number
JPS6022768B2
JPS6022768B2 JP55065119A JP6511980A JPS6022768B2 JP S6022768 B2 JPS6022768 B2 JP S6022768B2 JP 55065119 A JP55065119 A JP 55065119A JP 6511980 A JP6511980 A JP 6511980A JP S6022768 B2 JPS6022768 B2 JP S6022768B2
Authority
JP
Japan
Prior art keywords
processor
instruction
address
prefetch
execution
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
Application number
JP55065119A
Other languages
English (en)
Other versions
JPS56162152A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP55065119A priority Critical patent/JPS6022768B2/ja
Publication of JPS56162152A publication Critical patent/JPS56162152A/ja
Publication of JPS6022768B2 publication Critical patent/JPS6022768B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 この発明はパイプライン制御方式により命令、データの
先取りを行う電子計算機のデータ処理方法に関し、特に
例外条件の処理に関するものである。
第1図はパイプライン制御方式によりデータ処理を行う
電子計算機システムの構成例を示すブロック図であって
、、1は主記憶装置、2は記憶制御プロセッサ、3は先
取りプロセッサ、4は実行プロセッサである。
記憶制御プロセッサ2は主記憶装置1と先取りプロセッ
サ3、実行プロセッサ4間のインタフェースとなり高速
バッファメモリを備え、先取りプロセッサ3は記憶制御
プロセッサ2を介して命令やデータを受取り、命令の解
読、インデツクシング(inde幻ng)、オペランド
データの先取り、ブランチ先命令ストリームの先取り、
命令、オペランドデータのキューィン、グ(q雌uei
ng)などを行い、実行プロセッサ4は先取りプロセッ
サ3で準備された命令やオペランドデータを使って実際
に命令を実行する。パイプライン制御方式では、1つの
命令の1つの、ステップが実行プロセッサ4内の1つの
回路で実行されると、その命令のすべてのステップの実
行が完了する前に、上記回路では次の命令の1つのステ
ップが実行され、このようにして各命令の処理ステップ
をオーバーラップ(overlap)させて命令の並行
処理を行い処理を高速化している。
第2図は先取りプロセッサ3のにおける先取りされる命
令の流れを示すブロック図であって、10は命令バッフ
ァ、11は命令レジスタ、12は命令キュー(命令の待
ち行列)である。
命令レジスタ10は記憶制御プロセッサ2から送られる
命令を一時保持するバッファレジスタであって、第2図
に、示す実施例では10aと1obの2セットを持ち各
セット4語の容量を有し、いずれも4語アドレス境界と
なり主記憶装置1から同時に読出される4語が格納され
る。したがって命令バッファ10a又は10bは命令が
アドレス順に処理されてその内容が空になると記憶制御
プロセッサ2に命令の先取り要求を出し、主記憶装置か
ら4藷分同時に入力される。命令レジスタ11はアドレ
ス順に従って命令バッファー0から命令部を取り出すレ
ジスタであって、この取り出された命令に応じたィンデ
ツクシング、オペランドデータの先取り等の実行を決定
する。
命令キュー12は先取りプロセッサ3と実行プロセッサ
4との命令の種類にともなう処理時間の違いを吸収し、
命令が、できるだけ淀みなく実行されるようにするため
のバッファレジスタである。ところ、で、パイプライン
制御方式によって、命令、オペランドデータの先取り中
に、例外条件が検出されることがある。
例外条件とはたとえばアドレスサーチ、(addres
ssearch)、アドレスオーバ(addresso
ver)等であって、アドレスサーチとは所定のアドレ
スの命令を実行した後、中央処理装置をストップ(sめ
p)ごせたり割込みをおこしたりする機能を言い、アド
レスオーバは実在しないアドレスから仮空の命令を持っ
てこようとすることをいう。このような例外条件を処理
するステップはパイプライン制御方式によって並行処理
されている他の命令のステップとは類似点の少ないもの
である。従来の方法では先取りプロセッサ3が例外条件
を検出した時点では、実行プロセッサ4に報告すること
ができず、当該命令が実行プロセッサ4で実行される直
前又は直後までこの命令を先取りプロセッサ3で保持し
ておく必要があり、処理が複雑になり処理に必要なハー
ドウェアを増加しなければならぬという欠点があつた。
この発明は従釆の方法における上記の欠点を除去するた
めになされたもので、この発明の方法では、先取りプロ
セッサ3が例外条件を検出した時点の先取りプロセッサ
3の動作が、実行プロセッサ4にとって先取り動作であ
るか当該命令の前処理の動作であるかを判断し(キュ−
12がすべて空になっているか杏かによりこの判断がで
きる)、先取り動作であればプリ割込み(pre−肌e
mupt)を、先取り動作でなく当該命令の前処理なら
ばカレント割込み(cument一intemupt)
又はトラップ(tねp)を実行プロセッサ4に送出し、
ブリ割込みの場合、には、実行プロセッサ4は現在実行
している命令の切れ目で、割込み処理ルーチンへ飛び、
先取りプロセッサ3の先取り、動作をすべてリセットし
次命令アドレスからの先取り再開を要求するスタートア
ップ(sねrtup)信号を出し、このようにして例外
条件の発生タイミングを実際の実行と同期をとったもの
である。
以下、この発明の実施例を図について説明する。
第3図はこの発明の一実施例を示すブロック図で、アド
レスサーチの場合を示す。第3図の10aは第1図の1
0aに相当するバッファレジスタ(先取りプロセッサ3
内の)、20aは主記憶装置1又は記憶制御プロセッサ
2内に、ある命令群A,B,C,・・・,日と昇順、ア
ドレスとなっておりA,E,…が4語境界の各先頭語と
する。今、アドレスサーチが行われていて命令Cのアド
レスが指定されたアドレスとして設定されており、この
設定されたアドレスの命令(すなわち命令C)を実行し
た後、たとえば中央処理装置をストップさせたり割込を
おこしたりするものとする。先取りプロセッサ3は4藷
アドレス境界で命令をバッファレジスタ10aに入力す
る(すなわち命令をフェツチする)が、この命令の先取
り中に命令のアドレスのうち下位2ビットを無視したア
ドレス(命令は4語アドレス境界でフェッチされるので
アドレスのうち下位2ビットを無視したアドレスが上記
4語すなわち第3図の例ではA,B,C,Dの4語に共
通である)とアドレスサー/チのため設定されているア
ドレスの下位2ビットを無視したアドレスとの一致条件
が発生するとプIJ割込み信号21を実行プロセッサ4
に与える。
第3図aはこの段階を示す。すなわち、第3図aで命令
A,B,C,Dをフェツチしてくることは実行プロセッ
サ4にとっては先取り動作であるので、この時アドレス
サーチに関する例外条件が検出されるとプリ割込み信号
21が出力されるのである。実行プロセッサ4は現在実
行中の命令の切れ目で、プリ割込み信号21を受付け先
取りプロセッサ3をリセットすると同時に次命令アドレ
スからの先取再開要求であるスタートアップ信号を出す
。一方、先取りプロセッサ3はスタートアップ信号を受
けとる時点でその命令アドレスとアドレスサーチのため
設定されたアドレスとの全ビット比較を行い、、全ビッ
ト一致するまで、又は分岐命令等で命令ストリームが変
り、下位2ビットを除いた部分も一致しなくなるまで、
実行プロセッサ4に対しプリ割込み信号21を送出する
またスタートアップ動作によって命令が順次1つあて実
行されてゆく。すなわち第3図aでプリ割込み信号21
が出力され、実行プロセッサ4は命令Aを実行しその切
れ目でブリ割込み信号21受付けスタートアップ信号を
出し、先取りプロセッサ3で命令Aの次命令である命令
Bの先取りを再開し命令Bのアドレスとアドレスサーチ
のため設定されたアドレスとの全ビット比較を行いプリ
割込み信号21が出力された段階では第3図bの状態に
あり命令Aは実行済である。このようにして次に第3図
cの状態では命令Cのアドレスとアドレスサーチのため
設定されたアドレスとの全ビットが一致するので、この
ときの先取りプロセッサ3の動作は実行プロセッサにと
って先取り動作ではなく当該命令の前処理であるのでカ
レント割込み信号22が先取りプロセッサ3から実行プ
ロセッサ4に与えられる。実行プロセッサ4はカレント
割込み信号22を受けると本来のアドレスサーチ動作(
アドレスサーチストツプ又はアドレスサーチ割込み)を
実行する。第4図はこの発明の他の実施例を示すブロッ
ク図で、アドレスオーバの場合を示す。
第4図において第2図及び第3図と同一符号は同一又は
相当部分を示すものである。また命令Dは分岐命令であ
るとし、20bは分岐命令Dで決定される分岐先の命令
ストリームであり、、S,T,U,Vと昇順アドレスと
なっているとする。先取りプロセッサ3は4語アドレス
境界の命令A〜Dをバッファレジスタ10aに持つてく
る。
分岐命令である命令Dがデコードされる前に、命令A〜
Dより先に処理されていたバッファレジスタ10b内の
命令の処理が終り、、バッファレジスタ10bが空にな
っているので、、引続き未実装領域から仮空の命令B〜
日をもって来てバッファレジスター0bに入力しようと
する。しかし、命令E〜日は実在せず、そのアドレスも
実際しない為、主記憶装置1又は記憶制御プロセッサ2
からアドレスオーバの信号が送出される。すなわち例外
条件が検出されたことになる。しかし、この場合仮空の
命令E〜日をもってこようとする先取りプロセッサ3の
動作は実行プロセッサ4にとって先取り動作であるので
、、先取りプロセッサ3から実行プロセッサ4へプリ割
込み信号21が送出される。実行プロセッサ4は現在実
行中の命令の切れ目で、プリ割込み信号21を受付け先
取りプロセッサ3をリセットすると同時にスタートアッ
プ信号を出す。先取りプロセッサ3はスタートアップ信
号によって次命令アドレスからの先取りをしようとする
と再びアドレスオーバの信号が出るので再びプリ割込み
信号21を実行プロセッサ4に送り、このようにして1
命令ずつ進んでゆき、第4図aの状態になると先取りプ
ロセッサ3が分岐命令Dをデコードして分岐先の命令ス
トリーム20bからバッファレジスタ10へ命令S〜U
,W〜を持つてくることにより、第4図bの状態になっ
てアドレスオーバの条件がなくなる。すなわち、第4図
の実施例では、はじめからアドレスオーバという例外条
件は発生しなかったことと等価になる。本来、分X皮命
令Dによって、実在しない命令列E〜日の実行には決し
てこないのであるから、アドレスオーバの例外条件が発
生してはならないのである。以上のように、先取り動作
中の例外条件の発生であるか、実行プロセッサ4の当該
命令実行に対する前処理動作中の例外条件の発生である
かを区別し、前者の場合はプリ割込み信号を、後者の場
合はカレント割込み信号を先取りプロセッサから実行プ
ロセッサ4に与えるという2様の処理レベルを設けるだ
けで、特別なハードウェアを設けることなく、先取り中
の例外条件を命令の実行に同期したものに変えることが
できる。
例外条件は、発生する頻度が極めて少ないため、数命令
にわたって毎回プリ割込21を出力し、これによって毎
回先取り動作がリセットされ毎回次命令アドレスからス
タートアップされても綜合的なデータ処理理時間に与え
る影響は殆んどなく、かつ発生頻度の少ない例外条件の
処理を最少限のハードウェアで実現することは、綜合的
に見て最も経済的な設計になる。
なお、上述の実施例では、アドレスサーチ、アドレスオ
ーバの例外条件について説明したが、メモリアドレス、
データ等のパリティエラー(parityerror)
などのマシンチェック(machinecheck)の
例外条件等に対しても同様にこの発明の方法を用いるこ
とができる。
また上述の実施例では命令アドレスについてのアドレス
サーチ、アドレスオーバの例外条件について述べたが、
命令アドレスだけでなくオペランドデータのアドレスサ
ーチやアドレスオーバ、又は先取りプロセッサ3内のデ
ータのパリティエラー等の例外条件についても同様にこ
の発明の方法を用いることができる。以上のように、こ
の発明によれば、実際の命令実行と先取りとの時間的ず
れをプリ割込みとカレント割込みという2様の処理レベ
ルを設け、プリ割込みの場合はカレント割込みになるま
で1命令ずつ実行する方式としたので、例外条件を命令
キューと同様実行する時点まで付けて回る必要がなくハ
ードウェアが安価にできるという効果がある。
【図面の簡単な説明】
第1図はパイプライン制御方式によりデ−タ処理を行う
電子計算機システムの構成例を示すブロック図、第2図
は第1図の先取りプロセッサの中における先取にりされ
る命令の流れを示すブロック図、第3図はこの発明の一
実施例を示すブロック図、第4図はこの発明の他の実施
例を示すブロック図である。 図において1は主記憶装置、2は記憶制御プロセッサ、
3は先取りプロセッサ、4は実行プロセッサ、10はバ
ツフアメモリ、12はキュー、21はプリ割込み信号、
22はカレント割込み信号である。 なお、図中同一符号は同一、又は相当部分を示す。 第l図 第2図 第3図 第4図

Claims (1)

    【特許請求の範囲】
  1. 1 先取りプロセツサと実行プロセツサとを備えパイプ
    ライン制御方式によりデータ処理を行う電子計算機のデ
    ータ処理方法において、上記先取りプロセツサにおいて
    例外条件を検出したときの動作が上記実行プロセツサに
    とつて先取り動作であるか否かを判断し上記取り動作で
    あるときは上記先取りプロセツサから上記実行プロセツ
    サに対しプリ割込み(pre−interrupt)の
    信号を与え上記先取り動作でなく当該命令の前処理なら
    ば上記先取りプロセツサから上記実行プロセツサに対し
    カレント割込み(current−interrupt
    )の信号を与える第1の段階、この第1の段階における
    上記プリ割込みの信号を受付けた上記実行プロセツサが
    上記先取りプロセツサをリセツトすると同時に次命令ア
    ドレスからの先取再開を要求するスタートアツプ(st
    art up)信号を上記先取りプロセツサに与える第
    2の段階、この第2の段階において上記スタートアツプ
    信号を受けた上記先取りプロセツサが次命令アドレスか
    らの先取りを再開し例外条件を検出したとき上記第1の
    段階と上記第2の段階を繰返す段階、上記第1の段階に
    おいて上記カレント割込みの信号を受けた上記実行プロ
    セツサが上記例外条件を処理する段階を備えたことを特
    徴とするデータ処理方法。
JP55065119A 1980-05-16 1980-05-16 デ−タ処理方法 Expired JPS6022768B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55065119A JPS6022768B2 (ja) 1980-05-16 1980-05-16 デ−タ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55065119A JPS6022768B2 (ja) 1980-05-16 1980-05-16 デ−タ処理方法

Publications (2)

Publication Number Publication Date
JPS56162152A JPS56162152A (en) 1981-12-12
JPS6022768B2 true JPS6022768B2 (ja) 1985-06-04

Family

ID=13277670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55065119A Expired JPS6022768B2 (ja) 1980-05-16 1980-05-16 デ−タ処理方法

Country Status (1)

Country Link
JP (1) JPS6022768B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH042466U (ja) * 1990-04-20 1992-01-10
JPH0545931U (ja) * 1991-11-19 1993-06-18 株式会社白山製作所 鰐口クリツプ

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029840A (ja) * 1983-07-13 1985-02-15 Fuji Electric Co Ltd 実行プログラムの中断方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH042466U (ja) * 1990-04-20 1992-01-10
JPH0545931U (ja) * 1991-11-19 1993-06-18 株式会社白山製作所 鰐口クリツプ

Also Published As

Publication number Publication date
JPS56162152A (en) 1981-12-12

Similar Documents

Publication Publication Date Title
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
JP2858140B2 (ja) パイプラインプロセッサ装置および方法
US4709324A (en) Data processor control unit having an interrupt service using instruction prefetch redirection
US4775927A (en) Processor including fetch operation for branch instruction with control tag
JPH0816395A (ja) 格納要求処理方法および取出し/格納バッファ
EP0166431B1 (en) An information processing apparatus having an instruction prefetch circuit
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
US5088030A (en) Branch address calculating system for branch instructions
JPH0348537B2 (ja)
US5390305A (en) Information processing apparatus capable of executing exception at high speed
JPS6022768B2 (ja) デ−タ処理方法
US4987532A (en) Electronic computer system with means for issuing a non-store request before executing state transition prosecution
US5243705A (en) System for rapid return of exceptional processing during sequence operation instruction execution
JP2508021B2 (ja) デ−タ処理装置
JPH1063574A (ja) キャッシュメモリ付プロセッサ
JPH0342723A (ja) データ処理装置
KR950000088B1 (ko) 데이터처리시스템
JPS6232507B2 (ja)
JPS5868162A (ja) 再試行処理方式
JPS5819957A (ja) 計算機における命令制御の先行方式
JPS59144955A (ja) 情報処理装置
JPH04213120A (ja) 情報処理装置
JPS6148181B2 (ja)
JPS63231627A (ja) 先行制御方式
JPH10187634A (ja) 同期制御方法および主記憶共有型並列プロセッサ