JPH0195336A - リトライ制御方式 - Google Patents

リトライ制御方式

Info

Publication number
JPH0195336A
JPH0195336A JP62253254A JP25325487A JPH0195336A JP H0195336 A JPH0195336 A JP H0195336A JP 62253254 A JP62253254 A JP 62253254A JP 25325487 A JP25325487 A JP 25325487A JP H0195336 A JPH0195336 A JP H0195336A
Authority
JP
Japan
Prior art keywords
instruction
retry
address
register
unit
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.)
Pending
Application number
JP62253254A
Other languages
English (en)
Inventor
Fumihiko Miyazawa
文彦 宮沢
Kozo Yamano
山野 孝三
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 JP62253254A priority Critical patent/JPH0195336A/ja
Publication of JPH0195336A publication Critical patent/JPH0195336A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 技術分野 本発明は間欠障害の救済を行うための命令リトライ制御
方式に関する。
従来技術 従来のバイブライン処理型情報処理装置でのパイプライ
ン処理は次のようにして行なわれる。第5図を参照する
と、このパイプライン処理の一例では、アドレス手段に
より命令キャッシュから命令を取出す命令取出(IF)
ステージ、このステージで取出された命令を命令レジス
タに格納したあとこの゛命令のオペランドにもとづきア
ドレス加専器で論理アドレスを生成するオペランドアド
レス(AC)ステージ、このステージで生成された論理
アドレスを論理アドレスレジスタに格納したあとアドレ
ス変換バッファで論理アドレスを物理アドレスに変換す
るアドレス変換(^■)ステージ、このステージで変換
された物理アドレスを物理アドレスレジスタに格納した
あと、この物理アドレスでオペランドキャッシュをアク
セスしオペランドを読み出すオペランドキャッシュアク
セス(CA)ステージ、このステージで読み出されたオ
ペランドを実行レジスタに格納したあと演n器で演算す
る演算実行([X)ステージ、およびこの(EX)ステ
ージで演算された結果を格納する結果格納(ST)ステ
ージの6つのステージに分割されている。
第6図を参照すると、従来この種のパイプライン処理型
情報処理装置では、主記憶装置へのストア動作を命令カ
ウンタの更新時まで極力遅らせることにより、命令カウ
ンタの更新とメモリへの最初のストアまでの命令リトラ
イ不可期間の短縮を計っていた。
しかし、この方式では、ストア処理に対する主記憶装置
更新タイミングが考慮されていないため、ストアバッフ
ァから主記憶装置への格納(以下掃出しと称す)は命令
カウンタの更新後になる。従って命令Cのように一命令
で多くのストア処理をしなければならない命令では、命
令リトライ不可期間が長くなるという欠点がある。
発明の目的 本発明の目的は上述の欠点を除去するようにした命令リ
トライ制御方式を提供することにある。
発明の構成 本発明の方式は、複数バイトの演算をバイト単位で行う
演算実行手段と、この演算実行手段からの演算結果をバ
イト単位で順次格納するストアバッフ7手段と、このス
トアバッファ手段からバイト単位で転送される演ね結果
を記憶する主記憶手段と、前記ストアバッファ手段への
リトライ単位の演算結果の格納動作終了まで前記主記憶
手段への該リトライ単位の演算結果の転送を禁止するた
めの掃出し待合指示フラグ手段と、障害検出に応答して
演算ずみのリトライ単位の次のリトライ単位からリトラ
イを行うよう命令を変更するリトライ制御手段とを含む
ことを特徴とする。
実施例 次に本発明の一実施例について詳細に説明する。
まず、本発明の前提となる第4図の処理を実現する回路
について簡単に説明する。第1図を参照すると、命令取
出しく IF)ステージの処理のため主記憶装置8から
読み出された命令を格納する命令主11ツシユI Ca
che 、この命令キャッシュI Cacheにアドレ
スを供給する・アドレスレジスタANC1このアドレス
レジスタAICの内容を更新するためのインクリメンタ
+1、命令キャッシュI Cacheからの命令を一旦
格納するための命令バッファIBおよび線111を介し
てリトライ制御部17からの指示に応答して変更後の命
令を選択するためのセレクタ21を備えている。
オペランドアドレス生成(AC)ステージでは、セレク
タ21で選択出力された変更後の命令を格納する命令レ
ジスタlR2O、この命令レジス・りIR2Gからのア
ドレスまたはその値により索引されるアドレスを格納す
るためのレジスタBRおよびGR,およびこの命令レジ
スタlR2O,レジスタBRおよびGRからの値を計算
しアドレスを生成するためのアドレス演算器AD、 A
DDERが必要である。
アドレス変換(^■)ステージのためには、アドレス演
算器AD、 ADDERから与えられる論理アドレスを
格納する論理アドレスレジスタLARおよびこの論理ア
ドレスに応答して物理アドレスを読み出すためのアドレ
ス変換バッファ TLBが用意されている。
次にキャッシュアクセス(CA)ステージの処理のため
アドレス変換バッファTLBから与えられる物理アドレ
スを格納するための物理アドレスレジスタPAR、この
物理アドレスレジスタPARからのアドレス情報で指示
される位置に主記憶装置8がらのオペランドを格納し、
格納されたオペランドを読み出すためのオペランドキャ
ッシュo cache 。
レジスタ群BRおよびGR,更にこれらレジスタ群BR
およびGRからの内容を選択するためのセレクタ22が
用意されている。
演算実行(EX)ステージのためには、演算を行うため
の演算器FLT、ADD 、桁合わせを行うためのシフ
タ5)IT 、これら演算器FLT、ADD 1シフタ
5IITおよびオペランドキャッシュOCacheから
の演算結果、演算中間結果およびオペランドを格納する
ための実行レジスタEXR、セレクタ22からの内容お
よび演算器FLT、 ADDおよびシフタSHTからの
演算結果、演算中間結果を格納するためのレジスタRE
GISTER,実行レジスタEXRおよびレジスタRE
GISTERからの情報を入力し、ストアバッフ77用
の書込みアドレスレジスタ21のセット指示信号を線1
01に出力し、ストアバッファ掃出待合指示フラグを線
102に出力し、リトライ単位のストアバッファ中間掃
出信号を線112に出力し、命令カウンタの更新指示信
号を線108に出力する演算制御部1が設けられている
結果格納(ST)ステージでは、演算器FLT、 AD
DおよびシフタSHTからの演算結果を格納するための
リードデータレジスタRDR5の他、本発明の一実施例
は線101からの指示に応答して書込みアドレスをセッ
トする書込アドレスレジスタWA2、このレジスタ様2
からの書込みアドレスを+1増加させるためのインクリ
メンタ3、線102を介して与えられるストアバッファ
掃出待合指示フラグをセットするレジスタWF4、この
レジスタWF4からのフラグを書込アドレスレジスタ貼
2で指示される位置に格納する掃出持合指示フラグバッ
ファーEB6、線103を介して与えられるリードデー
タレジスタ5の内容を、レジスタWA2からのアドレス
で指示される位置に格納するためのストアバッファ7、
このストアバッファ7に対する続出アドレスを格納する
ための読出アドレスレジスタ9、この続出アドレスレジ
スタ9の内容を更新するためのインクリメンタ10、帰
山待合指示フラグバッファWFB 6から線104を介
して与えられる掃出待合指示フラグを入力持合せがない
ときのみ線105に出力するメモリアクセス制御部11
.このメモリアクセス制御部11から105を介して与
えられるtM出待合指示フラグを格納するレジスタMA
R12、障害を検出し線109を介して通知する障害処
理制御部14、線108を介して与えられる命令カウン
タの更新指示に応答して線109からの障害通知を判定
し、障害が検出されなければ更新指示信号を線110に
出力するとともに、線111にリセット指示信号を出力
する命令カウンタ更新制御部13、線110を介して与
えられる更新指示信号に応答して更新内容をセットする
命令カウンタICl3、この命令カウンタICl3の内
容を更新するインクリメンタ19、および線112を介
して与えられるリトライ単位のストアバッファ中間掃出
信号に応答してリセットカウンタ18の内容を更新する
ための更新指示信号を出力し、線114を介して与えら
れる障害検出通知に応答して線115を介して与えられ
る命令カウンタICl3の現在値を取込み主記憶1置8
から命令カウンタICl3に関する命令線116を介し
て呼込み、処理済みのリトライ単位の次のリトライ単位
から命令リトライを行うように命令の変更を行い、変更
後の命令を線117を介して命令レジスタlR2Oに通
知してリトライ準備を行い、リトライ準備完了を線11
4を介して障害処理制御部14に通知するリトライ制御
部17を含む。
次に、本発明の一実施例の動作を第1図から第4図を参
照して詳細に説明する。
第1図および第2A図を参照すると、サイクル1では主
記憶装置8から命令キャッシュI Cacheに命令へ
が格納される。次にサイクル2では主記憶装置8から命
令I Cacheに命令Bが格納されるとともに命令A
は命令キャッシュI cacheからセレクタ21およ
び命令レジスタlR2Oを介して加専器AO,ADDE
Rでアドレス生成される。このようにして、命令A、B
およびCの処理は進められる。
サイクル6で読出データレジスタRDR5に格納された
命令Aに関する演算結果はサイクル7で線103を介し
てストアバッファの1番地に格納される。また命令Bに
関する演算結果はサイクル7で読出データレジスタRD
R5に格納され、サイクル8で書込アドレスレジスター
A2で示されるストアバッファ7の2番地に該命令Bに
関する演算結果が格納される。このサイクル8では読出
アドレスレジスタR^9により示されたストアバッファ
7の1番地からレジスタ12および線107を介して主
21装置8に前記命令Aに関する演尊結果が格納される
。同様にサイクル9ではストアバッファの2番地から主
記憶装置8に前記命令Bに関する演算結果が格納される
命令Cでは32ワードの演算が、サイクル7からサイク
ル38までの間1ワード毎にステージEXで行われる。
サイクル9では命令Cの第1ワード目(C−1)の演算
結果がストアバッファ7に棗込よれるとともに、リセッ
トカウンタ18の対応アドレスに1′°がセットされる
。これと同時に、(吊出待合指示フラグバッファー1”
B 6の対応アドレスに“1゛が書込まれる。これは待
合指示のオン状態を意味し、以後連続して第16ワード
目(C−16)までの最初のリトライ単位(16ワード
を単位とする)ストアバッファ7に書込まれる。サイク
ル25において第17ワード目(C−17)がストアバ
ッファ7に書込まれると、リセットカウンタ18の対応
アドレスに2′°が書込まれる。これと同時に掃出持合
指示フラグバッファWrB 6の対応アドレスに1“が
書込まれ待合指示のオン状態を示す。以後連続して第3
2ワード目(C−32)までの2番目のリトライ単位が
ストアバッファ7に書込まれる。この場合、リセットカ
ウンタ18はストアバッファ7を16ワード毎に分割し
ており、その名称をリトライ単位と称している。バッフ
71読出アドレスレジスタ9の値はサイクル9でセット
された値をサイクル24まで保持し続ける。
これは掃出持合指示フラグバッファWFB5への111
11のセットによる待合せが行われていることを示して
いる。
1ノイクル24′cリセツトカウンタ18の更新がリト
ライ制御部17から指示される時、リトライ制御部17
が線114を介して与えられる通知により障害を検出し
なければ描出待合指示フラグバッファWFB 5がリセ
ットされる。このリセットにより読出アドレスレジスタ
9のカウントが開始され、サイクル25からストアバッ
ファ7から主記憶装置8への第1のリトライ単位の中間
描出が行われる。
この結果、本発明では命令Cの処理の終了、すなわち命
令カウンタICl3の更新時であるサイクル40までこ
のス1〜アバッフ77から主記憶装置8への描出を中断
せずに行わなければならないという欠点はなくなる。し
たがって、第1のり1〜ライ単位の中間帰山が行われた
あと、例えば、サイクル38で障害が検出されたときに
は、サイクル7までらどって命令Cをリトライせずに、
次のリトライ単位すなわちサイクル25がらリトライを
行えばよい。
本発明のもう1つの特徴はリトライ制御部17で命令C
を変更して命令C′のリトライを可能にすることにある
以下、命令の変更処理について第3A図から第4図を参
照して詳細に説明する。第3A図を参照すると、この型
式の命令が実行されると仮定する。
第3B図を参照すると、番地1フイールドで示される1
001番地から長さ1フイールドで示される長さ32番
地すなわち1001番地から1032番地が移送元番地
として指定される。また番地2フイールドで示される長
さ16番地、すなわち2001番地から2032番地が
移送先番地として指定される。
したがって、この型式の命令Cは1001番地から10
32番地に格納された内容を2001番地から2032
番地に移送する命令である。この命令Cの実行で103
2番地の値を2032番地に転送中に障害が発生したも
のとする。この時、第3B図の斜線に示す部分であるリ
トライ単位1は第2A図に示すサイクル38のEXステ
ージにおける障害発生時にリセットカウンタ18の値゛
2′′より1つ前までのリセットカウンタ18の値゛1
”に対応しており、このリトライ単位1は処理済みであ
る。従って、第3C図に示すように、障害発生による命
令Cのリトライはリトライ単位2から行えばよい。
この動作はリトライ制御部17で行われる。以下第1図
および第4図を参照しながら説明する。
第1図および第4図を参照すると、障害処理制御部14
での障害発生(第4図の41)に応答して命令カウンタ
tc15で示される値により主記憶装置8から命令が読
出される(第4図の42)。
線116を介して送られてきた命令が命令Cであること
を検出すると(第4図の43)、リトライ制御部17は
第3B図に示す命令Cを第3c図に示す命令C′に変更
する(第4図の44)。変更された命令C′は線117
およびセレクタ21を介して命令レジスタ20に格納さ
れる(第4図の45)とともに、リトライ準備の完了し
た旨が線114を介して障害処理制御部14に通知され
る(第4図の46)。次に変更された命令C′はステー
ジAC。
ATおよびCAを介してステージEXで実行される。
再び第1図および第2A図および第2B図を参照すると
、この命令変更動作の他、サイクル39では障害処理も
行われる。すなわち、演算実行EXステージにおいて障
害処理制御部14における障害検出に応答して命令カウ
ンタICl3の更新、リセットカウンタ18の更新、お
よび待合指示フラグが抑止される。これとともにリセッ
トカウンタ18に関するストアバッファから主記憶装置
8へのリトライ単位の掃出し処理は実行されない。しか
しすでに処理ずみのリトライ単位に関しては障害発生に
関係なくストアバッファ7から主記憶装置8に掃出され
る。すなわちサイクル39で障害処理が行われていたと
しても、サイクル39で演算結果(C−15) 、サイ
クル40で演算結果(C−16)が主記憶装置8に格納
される。
サイクル40で命令Cの変形された命令C′が線117
およびセレクタ21を介して命令レジスタ20に格納さ
れる。以後命令C−のステージATおよびCAはサイク
ル41および42で処理される。
ステージ[Xでlよりイクル43から58にかけて障害
の発生したリトライ単位(C−17)〜(C−32)の
再演算が実行される。
その後の処理は上述したサイクル1から38までの処理
と同じ様にしてなされる。したがってサイクル60で残
りのリトライ単位(C−17)〜(C−32)のストア
バッファ7へのストアが終了し、サイクル61からサイ
クル76にかけてこのストアバッファ7から主記憶装置
8への描出処理が行われる。
発明の詳細 な説明したように本発明は、ストア命令において発行さ
れるストア要求に対して主記憶装置8への掃出持合指示
フラグを付加することにより、主記憶装N8の書替えを
命令の終了まで送らせる制御を行い、またリセットカウ
ンタ18およびリトライ制御部17を設けることにより
限られた宙吊のストアバッファを有効に使用することが
でき、命令の実行が中断された場合処理済み5リトライ
単位(例えばC−1からC−16)の次のリトライ単位
(C−17からC−32)から命令を再実行すように命
令を変更することで主記憶装置8の書換えによる命令リ
トライ不可期間をなくし、結果としてリトライ率を向上
できるという効果をもたらす。
【図面の簡単な説明】 第1図は本発明の一実施例を示す図、第2A図および第
2B図は本発明の一実施例の動作を説明するための図、
第3A図、第3B図、第3C図および第4図は命令の変
更動作を説明するための図、第5図はパイプライン処理
を説明するための図、第6図は従来技術の一例を示すタ
イムチャートである。 主要部分の符号の説明 1・・・・・・演算制御部 2・・・・・・書込アドレスレジスタ 3・・・・・・インクリメンタ 4・・・・・・レジスタ 5・・・・・・リードデータレジスタ 6・・・・・・掃出持合指示フラグバッファ7・・・・
・・ストアバッフ1 8・・・・・・主記憶装置 9・・・・・・読出アドレスレジスタ 10・・・・・・インクリメンタ 11・・・・・・メモリアクセス制御部12・・・・・
・レジスタ 13・・・・・・命令カウンタ更新制御部14・・・・
・・障害処理制御部 15・・・・・・命令カウンタ 16・・・・・・カウンタ 17・・・・・・リトライ制御部 18・・・・・・リセットカウンタ 19・・・・・・インクリメンタ

Claims (1)

    【特許請求の範囲】
  1. 複数バイトの演算をバイト単位で行う演算実行手段と、
    この演算実行手段からの演算結果をバイト単位で順次格
    納するストアバッファ手段と、このストアバッファ手段
    からバイト単位で転送される演算結果を記憶する主記憶
    手段と、前記ストアバッファ手段へのリトライ単位の演
    算結果の格納動作終了まで前記主記憶手段への該リトラ
    イ単位の演算結果の転送を禁止するための掃出し待合指
    示フラグ手段と、障害検出に応答して演算ずみのリトラ
    イ単位の次のリトライ単位からリトライを行うよう命令
    を変更するリトライ制御手段とを含むことを特徴とする
    リトライ制御方式。
JP62253254A 1987-10-07 1987-10-07 リトライ制御方式 Pending JPH0195336A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62253254A JPH0195336A (ja) 1987-10-07 1987-10-07 リトライ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62253254A JPH0195336A (ja) 1987-10-07 1987-10-07 リトライ制御方式

Publications (1)

Publication Number Publication Date
JPH0195336A true JPH0195336A (ja) 1989-04-13

Family

ID=17248713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62253254A Pending JPH0195336A (ja) 1987-10-07 1987-10-07 リトライ制御方式

Country Status (1)

Country Link
JP (1) JPH0195336A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5437647A (en) * 1977-08-31 1979-03-20 Nec Corp Storing retry system of buffer memory
JPS5543662A (en) * 1978-09-22 1980-03-27 Nec Corp Order re-execution information process system
JPS569846A (en) * 1979-07-06 1981-01-31 Hitachi Ltd Instruction retry system
JPS5727326A (en) * 1980-07-28 1982-02-13 Fujitsu Ltd Control device for data transfer
JPS59117644A (ja) * 1982-12-24 1984-07-07 Fujitsu Ltd 命令再試行処理方式
JPS62247426A (ja) * 1986-03-20 1987-10-28 Fujitsu Ltd 大量デ−タ処理命令の処理方式

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5437647A (en) * 1977-08-31 1979-03-20 Nec Corp Storing retry system of buffer memory
JPS5543662A (en) * 1978-09-22 1980-03-27 Nec Corp Order re-execution information process system
JPS569846A (en) * 1979-07-06 1981-01-31 Hitachi Ltd Instruction retry system
JPS5727326A (en) * 1980-07-28 1982-02-13 Fujitsu Ltd Control device for data transfer
JPS59117644A (ja) * 1982-12-24 1984-07-07 Fujitsu Ltd 命令再試行処理方式
JPS62247426A (ja) * 1986-03-20 1987-10-28 Fujitsu Ltd 大量デ−タ処理命令の処理方式

Similar Documents

Publication Publication Date Title
JP2539199B2 (ja) デジタルプロセッサ制御装置
JP3423310B2 (ja) 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu
JP5450336B2 (ja) レジスタ状態の保存および復元
JP3663317B2 (ja) コンピュータ・システム
US20080148022A1 (en) Marking registers as available for register renaming
JPS61107434A (ja) デ−タ処理装置
JPS62245442A (ja) 情報処理装置
JPH0242569A (ja) ベクター処理システムに用いる文脈スイッチング方法及び装置
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH05204709A (ja) プロセッサ
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
JPS58121457A (ja) 情報処理装置
US5287483A (en) Prefetched operand storing system for an information processor
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
JPH0195336A (ja) リトライ制御方式
JP2901247B2 (ja) 掃出し制御方式
JP2824484B2 (ja) パイプライン処理計算機
JPH0544049B2 (ja)
JPH0195337A (ja) リトライ制御方式
JP3476314B2 (ja) マイクロプロセッサ
JPH0524537B2 (ja)
JP2574918B2 (ja) 割り込み復帰処理方式
JPH02151930A (ja) ストアバツフア管理方式
KR20220086590A (ko) 스레드 저장에 대한 섀도우 래치 구성 레지스터 파일의 섀도우 래치