JPH0346852B2 - - Google Patents
Info
- Publication number
- JPH0346852B2 JPH0346852B2 JP60076461A JP7646185A JPH0346852B2 JP H0346852 B2 JPH0346852 B2 JP H0346852B2 JP 60076461 A JP60076461 A JP 60076461A JP 7646185 A JP7646185 A JP 7646185A JP H0346852 B2 JPH0346852 B2 JP H0346852B2
- Authority
- JP
- Japan
- Prior art keywords
- read
- error
- memory
- modify
- signal
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は処理装置のエラーリトライ方式に関わ
り、特に、制御記憶のエラー発生時のリトライに
関わる。
り、特に、制御記憶のエラー発生時のリトライに
関わる。
メモリのα線によるビツト化けは、雑誌「16回
アニユアル プロシーデイング リライアビイリ
テイ フイデイクス 1978(16TH ANNUAL
PROCEEDING RELIABILITY PHYSICS
1978)」中の文献名「ダイナミツク・メモリーの
ソフトエラーに対する新しい物理的マカニズム
(A NEW PHYSICAL MECHANISM FOR
SOFT ERRORS IN
DYNAMICMEMORIES)」で延べられている。
アニユアル プロシーデイング リライアビイリ
テイ フイデイクス 1978(16TH ANNUAL
PROCEEDING RELIABILITY PHYSICS
1978)」中の文献名「ダイナミツク・メモリーの
ソフトエラーに対する新しい物理的マカニズム
(A NEW PHYSICAL MECHANISM FOR
SOFT ERRORS IN
DYNAMICMEMORIES)」で延べられている。
プロセツサの高速化、高密度化が進むにつれ、
制御記憶等に用いられる高速メモリについてもα
線によるビツト化けエラーを、稼働性を確保のた
めに救済する必要がでてきた。制御記憶の場合は
高速性追求のためECC(Error Correcting Code)
による修正は困難(マシンサイクルが30%程度低
下)で、パリテイビツトを付加しパリテイエラー
発生時再ロードしリトライする方式が好都合であ
る。
制御記憶等に用いられる高速メモリについてもα
線によるビツト化けエラーを、稼働性を確保のた
めに救済する必要がでてきた。制御記憶の場合は
高速性追求のためECC(Error Correcting Code)
による修正は困難(マシンサイクルが30%程度低
下)で、パリテイビツトを付加しパリテイエラー
発生時再ロードしリトライする方式が好都合であ
る。
一方、主メモリのRead−Modify−Write中の
リトライ方式については、文献「MC68020 32
ビツト マイクロプロセツサ ユーザーズ マニ
ユアル(MC68020 32bit Microprocesor User′s
Mannual)」p.5−39のように、テスト・アンド・
セツト命令(TAS命令)等で使用されるメモリ
アクセルであるRead−Modify−Write中のエラ
ーであればRead−Modify−Write中という状態
を続けたままエラー発生箇所からリトライする方
式がある。Read−Modify−Writeという状態か
ら一旦はずれてしまうと、他のプロセスサやI/
Oコントローラの主メモリアクセスが間に入つて
しまい、Read−Modify−Writeの本来の機能が
損われるからである。しかしこの方式には以下の
欠点がある。即ち、制御記憶のパリテイエラー発
生時再ロードを行うが、再ロードを行うための補
助プロセツサは安価なマイコンで実現するために
スピードが遅く、再ロードにかかる時間は100μs
をはるかに越える。しかるにRead−Modify−
Write中はプロセツサは主メモリを占有し続ける
ため、他のプロセツサやI/Oコントローラは主
メモリアクセスができず処理が止まつてしまう。
リアルタイム性重視のマルチプロセツサ用のバス
ではリザーブタイムアウト(10μs程度)を検出し
強制的にバスを開放してしまう。また、安価な
I/Oコントローラではコントローラ内のバツフ
アが小さいためオーバーランエラーを発生してし
まう。
リトライ方式については、文献「MC68020 32
ビツト マイクロプロセツサ ユーザーズ マニ
ユアル(MC68020 32bit Microprocesor User′s
Mannual)」p.5−39のように、テスト・アンド・
セツト命令(TAS命令)等で使用されるメモリ
アクセルであるRead−Modify−Write中のエラ
ーであればRead−Modify−Write中という状態
を続けたままエラー発生箇所からリトライする方
式がある。Read−Modify−Writeという状態か
ら一旦はずれてしまうと、他のプロセスサやI/
Oコントローラの主メモリアクセスが間に入つて
しまい、Read−Modify−Writeの本来の機能が
損われるからである。しかしこの方式には以下の
欠点がある。即ち、制御記憶のパリテイエラー発
生時再ロードを行うが、再ロードを行うための補
助プロセツサは安価なマイコンで実現するために
スピードが遅く、再ロードにかかる時間は100μs
をはるかに越える。しかるにRead−Modify−
Write中はプロセツサは主メモリを占有し続ける
ため、他のプロセツサやI/Oコントローラは主
メモリアクセスができず処理が止まつてしまう。
リアルタイム性重視のマルチプロセツサ用のバス
ではリザーブタイムアウト(10μs程度)を検出し
強制的にバスを開放してしまう。また、安価な
I/Oコントローラではコントローラ内のバツフ
アが小さいためオーバーランエラーを発生してし
まう。
また、別のリトライ方式としては、命令の先頭
からリトライする方式がある。しかしこの方式を
制御記憶パリテイエラーに使用しようとすると主
メモリや汎用レジスタの内容を変更後にはリトラ
イができぬため、リトライのできないマイクロプ
ログラムアドレスが生じてしまう。特に、プリデ
クリメントのアドレツシングモードを支援するマ
シンでは、リトライできる可能性がかなり小さく
なつてしまい、制御記憶エラーのリトライ方式と
しては好ましくない。
からリトライする方式がある。しかしこの方式を
制御記憶パリテイエラーに使用しようとすると主
メモリや汎用レジスタの内容を変更後にはリトラ
イができぬため、リトライのできないマイクロプ
ログラムアドレスが生じてしまう。特に、プリデ
クリメントのアドレツシングモードを支援するマ
シンでは、リトライできる可能性がかなり小さく
なつてしまい、制御記憶エラーのリトライ方式と
しては好ましくない。
本発明は、従来例の欠点をカバーし、エラー時
に共通バスを握つたままとならない、制御記憶エ
ラーリトライ方式を提供するものである。
に共通バスを握つたままとならない、制御記憶エ
ラーリトライ方式を提供するものである。
本発明は第1図に概略制御手順を示すように、
Read−Modify−Write命令の実行時にはまず、
エラー発生の場合にリトライ開始するマイクロプ
ログラムアドレス識別情報を特定レジスタ(実施
例では第4図のセーブレジスタ63がこれに相当
し、マイクロプログラムの先頭アドレスがセツト
される)にセツトする。その後Read−Modify−
Writeフラグ(実施例では第4図のリザーブフラ
グ62がこれに相当する)をセツトし、バス占有
を行い、リード起動を行う。そしてRead−
Modify−Writeフラグは、ライト起動の直前に
クリアする。このRead−Modify−Write命令の
実行中に制御記憶エラーが発生しなければ、リー
ド命令の実行に引続きライト命令が実行される
が、制御記憶エラーが発生したときにはいずれの
命令実行中であつてもまず、バス占有を解除し、
リトライのための準備及びリトライ処理に入る。
リトライ準備のためにはまず制御記憶を再ロード
し、Read−Modify−Writeフラグがセツト状態
(リード命令実行時)であれば特定レジスタにセ
ツトされたマイクロプログラムの先頭アトレスか
らリトライを開始し、Read−Modify−Writeフ
ラグがリセツト状態(ライト命令実行時)であれ
ば、エラー発生したマイクロプログラムのアドレ
スからリトライを開始する。
Read−Modify−Write命令の実行時にはまず、
エラー発生の場合にリトライ開始するマイクロプ
ログラムアドレス識別情報を特定レジスタ(実施
例では第4図のセーブレジスタ63がこれに相当
し、マイクロプログラムの先頭アドレスがセツト
される)にセツトする。その後Read−Modify−
Writeフラグ(実施例では第4図のリザーブフラ
グ62がこれに相当する)をセツトし、バス占有
を行い、リード起動を行う。そしてRead−
Modify−Writeフラグは、ライト起動の直前に
クリアする。このRead−Modify−Write命令の
実行中に制御記憶エラーが発生しなければ、リー
ド命令の実行に引続きライト命令が実行される
が、制御記憶エラーが発生したときにはいずれの
命令実行中であつてもまず、バス占有を解除し、
リトライのための準備及びリトライ処理に入る。
リトライ準備のためにはまず制御記憶を再ロード
し、Read−Modify−Writeフラグがセツト状態
(リード命令実行時)であれば特定レジスタにセ
ツトされたマイクロプログラムの先頭アトレスか
らリトライを開始し、Read−Modify−Writeフ
ラグがリセツト状態(ライト命令実行時)であれ
ば、エラー発生したマイクロプログラムのアドレ
スからリトライを開始する。
本発明の一実施例を以下に説明する。
まず、本発明の実施例の全体構成図を第2図に
示す。システムバス4には、プログラムを解読し
データの処理を行うメインプロセツサ(MPU)
1と、プログラム、データを記憶する主メモリ
(MM)2と、バス占有制御を行うバスコントロ
ーラ(BC)3と、入出力コントローラ(IOCI)
5及び5′が接続されている。入出力コントロー
ラ5及び5′には入出力装置或いは補助記憶装置
(I/OI)6及び6′が接続されている。メイン
プロセツサ1には補助プロセツサ(ASTP)7が
接続されている。補助プロセツサ7はメインプロ
セツサ1内の制御記憶のロード等を行う。
示す。システムバス4には、プログラムを解読し
データの処理を行うメインプロセツサ(MPU)
1と、プログラム、データを記憶する主メモリ
(MM)2と、バス占有制御を行うバスコントロ
ーラ(BC)3と、入出力コントローラ(IOCI)
5及び5′が接続されている。入出力コントロー
ラ5及び5′には入出力装置或いは補助記憶装置
(I/OI)6及び6′が接続されている。メイン
プロセツサ1には補助プロセツサ(ASTP)7が
接続されている。補助プロセツサ7はメインプロ
セツサ1内の制御記憶のロード等を行う。
第3図に、メインプロセツサ1の内部構成を示
す。メインプロセツサ1は、汎用レジスタR0〜
R7、プログラムカウンタPC、ワークレジスタ
WK0〜15を含むレジスタフアイル16、演算器
(ALU)17、命令デコーダ(ID)18、メモリ
起動制御回路(MCTL)19、メモリアドレス
レジスタ(MAR)20、書き込みデータレジス
タ(WDR)21、読出しデータレジスタ
(RDR)22、これらの統括制御を行うメインプ
ロセツサ制御回路(MPU CTL)11とにより
構成される。
す。メインプロセツサ1は、汎用レジスタR0〜
R7、プログラムカウンタPC、ワークレジスタ
WK0〜15を含むレジスタフアイル16、演算器
(ALU)17、命令デコーダ(ID)18、メモリ
起動制御回路(MCTL)19、メモリアドレス
レジスタ(MAR)20、書き込みデータレジス
タ(WDR)21、読出しデータレジスタ
(RDR)22、これらの統括制御を行うメインプ
ロセツサ制御回路(MPU CTL)11とにより
構成される。
第4図にメインプロセツサ制御回路11の内部
構成を示す。第4図中| で示したレジスタ
はクロツクに同期して変化するレジスタである。
マイクロプログラムは制御記憶(WCS)37に
格納されており、読み出された内容はマシンサイ
クルの先頭タイミングでマイクロインストラクシ
ヨンレジスタ42にセツトされる。制御記憶37
のアドレスは制御記憶アドレスレジスタ34の内
容で決まる。このレジエスタはマシンサイクルの
中間タイミングでセツトされる。このレジスタに
セツトされる内容は、セレクタ33で選択された
マイクロイントラクシヨンの分岐用フイールド3
1が、命令デコーダの出力27か、前のマシンサ
イクルのアドレスに+1したアドレス32かのい
ずれかである。マイクロインストラクシヨンレジ
スタ42の出力はデコーダ44によりデコードさ
れ、ゲート45を通過してメモリ起動信号23、
レジスタフアイル書換え等の各種宛先
(Destination)制御信号25を構成する。また、
マイクロインストラクシヨンレジスタ42の一部
の出力はレジスタフアイルのアドレス、ALUの
フアンクシヨン等のソース(Source)制御信号
26を構成する。メモリ起動後応答を持つ場合は
信号24が“1”になり、マイクロインストラク
シヨンレジスタ42の拡張部(WAIT)にセツ
トされる。すると信号55が“1”、信号59が
“0”となり、各種制御信号23,25はマスク
される。また、信号59が“0”のときは信号6
6“0”となり制御記憶アドレスレジスタ34は
更新されない。従つて、マイクロプログラムは信
号24が“0”になるまで待つ。
構成を示す。第4図中| で示したレジスタ
はクロツクに同期して変化するレジスタである。
マイクロプログラムは制御記憶(WCS)37に
格納されており、読み出された内容はマシンサイ
クルの先頭タイミングでマイクロインストラクシ
ヨンレジスタ42にセツトされる。制御記憶37
のアドレスは制御記憶アドレスレジスタ34の内
容で決まる。このレジエスタはマシンサイクルの
中間タイミングでセツトされる。このレジスタに
セツトされる内容は、セレクタ33で選択された
マイクロイントラクシヨンの分岐用フイールド3
1が、命令デコーダの出力27か、前のマシンサ
イクルのアドレスに+1したアドレス32かのい
ずれかである。マイクロインストラクシヨンレジ
スタ42の出力はデコーダ44によりデコードさ
れ、ゲート45を通過してメモリ起動信号23、
レジスタフアイル書換え等の各種宛先
(Destination)制御信号25を構成する。また、
マイクロインストラクシヨンレジスタ42の一部
の出力はレジスタフアイルのアドレス、ALUの
フアンクシヨン等のソース(Source)制御信号
26を構成する。メモリ起動後応答を持つ場合は
信号24が“1”になり、マイクロインストラク
シヨンレジスタ42の拡張部(WAIT)にセツ
トされる。すると信号55が“1”、信号59が
“0”となり、各種制御信号23,25はマスク
される。また、信号59が“0”のときは信号6
6“0”となり制御記憶アドレスレジスタ34は
更新されない。従つて、マイクロプログラムは信
号24が“0”になるまで待つ。
以上は、制御回路11の正常動作に関する説明
であるが、制御記憶パリテイエラーに関する説明
を以下に行う。制御記憶37はパリテイビツトが
付加されており、読出された内容はパリテイテイ
チエツク回路40でチエツクされエラー時は信号
51が“1”になる。この信号はマイクロインス
トラクシヨンレジスタ42の拡張部
(PTYERR)にセツトされ信号53が“1”と
なる。すると信号59が“0”となり、各種制御
信号23,25をマスクすると共に信号61,5
8が“1”となり、次のマシンサイクルで信号5
8がマイクロインストラクシヨンレジスタ42の
拡張部(STOP)にセツトされ信号54が“1”
となる。一度、信号54が“1”になると、拡張
部(STOP)は以後ずつとセツト状態のままとな
り、従つて、マイクロプログラムの動作は停止す
る。制御記憶パリテイエラー検出からマイクロプ
ログラム実行停止までのタイムチヤートを第5図
に示す。
であるが、制御記憶パリテイエラーに関する説明
を以下に行う。制御記憶37はパリテイビツトが
付加されており、読出された内容はパリテイテイ
チエツク回路40でチエツクされエラー時は信号
51が“1”になる。この信号はマイクロインス
トラクシヨンレジスタ42の拡張部
(PTYERR)にセツトされ信号53が“1”と
なる。すると信号59が“0”となり、各種制御
信号23,25をマスクすると共に信号61,5
8が“1”となり、次のマシンサイクルで信号5
8がマイクロインストラクシヨンレジスタ42の
拡張部(STOP)にセツトされ信号54が“1”
となる。一度、信号54が“1”になると、拡張
部(STOP)は以後ずつとセツト状態のままとな
り、従つて、マイクロプログラムの動作は停止す
る。制御記憶パリテイエラー検出からマイクロプ
ログラム実行停止までのタイムチヤートを第5図
に示す。
次に、マイクロプログラムの実行再開について
説明する。マイクロプログラムが停止すると信号
61が“1”となるが、この信号は補助プロセツ
サ7に送られており、補助プロセツサは制御記憶
アドレスレジスタ34の出力信号36を読み、エ
ラーの発生したアドレスを知り信号38を通して
制御記憶37に正しい値を再ロードする。再ロー
ド後、信号51,53は“0”になる。そして、
スタート信号48を“1”にする。すると、スタ
ート回路49が動作する。この回路は信号56を
1マシンサイクルだけ“1”にする。次にマシン
サイクルでマイクロインストラクシヨンレジスタ
の拡張部(STOP)はクリアされ、信号54が
“0”になるため、信号59が“1”となつて各
種制御信号23,25はイネーブルになりまた制
御記憶アドレスレジスタ34はこのマシンサイク
ルの中間に更新され、マイクロプログラムは実行
再開する。スタート信号48のオンからマイクロ
プログラム実行再開までのタイムチヤートを第6
図に示す。
説明する。マイクロプログラムが停止すると信号
61が“1”となるが、この信号は補助プロセツ
サ7に送られており、補助プロセツサは制御記憶
アドレスレジスタ34の出力信号36を読み、エ
ラーの発生したアドレスを知り信号38を通して
制御記憶37に正しい値を再ロードする。再ロー
ド後、信号51,53は“0”になる。そして、
スタート信号48を“1”にする。すると、スタ
ート回路49が動作する。この回路は信号56を
1マシンサイクルだけ“1”にする。次にマシン
サイクルでマイクロインストラクシヨンレジスタ
の拡張部(STOP)はクリアされ、信号54が
“0”になるため、信号59が“1”となつて各
種制御信号23,25はイネーブルになりまた制
御記憶アドレスレジスタ34はこのマシンサイク
ルの中間に更新され、マイクロプログラムは実行
再開する。スタート信号48のオンからマイクロ
プログラム実行再開までのタイムチヤートを第6
図に示す。
第4図中、リザーブフラグ62はマイクロプロ
グラムによりセツト、クリア可能なフラグであ
り、この出力101は補助プロセツサに送られ、
補助プロセツサのプログラムでその内容を判定で
きる。本フラグは第1図のRead−Modify−
Writeフラグに対応する。また、セーブレジスタ
63はマイクロプログラムにより任意の値を設定
可能なレジスタで、その出力67は補助プロセツ
サに出力される。本レジスタは第1図の特定レジ
スタに対応する。
グラムによりセツト、クリア可能なフラグであ
り、この出力101は補助プロセツサに送られ、
補助プロセツサのプログラムでその内容を判定で
きる。本フラグは第1図のRead−Modify−
Writeフラグに対応する。また、セーブレジスタ
63はマイクロプログラムにより任意の値を設定
可能なレジスタで、その出力67は補助プロセツ
サに出力される。本レジスタは第1図の特定レジ
スタに対応する。
リザーブフラグ62とセーブレジスタ63は
Read−Modify−Write時のエラーリトライに使
用されるもので、制御手順は後述する。また、同
じくRead−Modify−Write時のエラーリトライ
に使用されるものとして、制御記憶パリテイエラ
ーが発生すると、“1”となる信号61がメモリ
起動制御回路19に出力されている。
Read−Modify−Write時のエラーリトライに使
用されるもので、制御手順は後述する。また、同
じくRead−Modify−Write時のエラーリトライ
に使用されるものとして、制御記憶パリテイエラ
ーが発生すると、“1”となる信号61がメモリ
起動制御回路19に出力されている。
また、第4図中、信号68は補助プロセツサか
ら出力され制御記憶アドレスレジスタ34の入力
に接続され、同じく補助プロセツサから出力され
る信号65が“1”となつたとき、制御記憶変更
イネーブル信号66が“1”となり、信号68の
内容が制御記憶アドレスレジスタ34にセツトさ
れる。この回路は、復電時の制御記憶全内容のロ
ード及びRead−Modify−Write時のエラーリト
ライにおけるリトライ開始アドレス変更に使用さ
れる。
ら出力され制御記憶アドレスレジスタ34の入力
に接続され、同じく補助プロセツサから出力され
る信号65が“1”となつたとき、制御記憶変更
イネーブル信号66が“1”となり、信号68の
内容が制御記憶アドレスレジスタ34にセツトさ
れる。この回路は、復電時の制御記憶全内容のロ
ード及びRead−Modify−Write時のエラーリト
ライにおけるリトライ開始アドレス変更に使用さ
れる。
第7図に、補助プロセツサ7の内部構成を示
す。内部アドレスバス74、データバス75には
マイクロプロセツサ71、RAM72、ROM7
3が接続される。ROMにはマイクロプロセツサ
71のプログラムの他にメインプロセツサ1の制
御記憶37に格納すべきデータを格納している。
復電時や制御記憶パリテイエラー発生時にこの格
納していたデータを制御記憶に再ロードするのに
使用される。制御記憶アドレスレジスタの出力3
6と、リザーブフラグの出力101とセーブレシ
スタの出力67はデータバス75にのせることが
できるため、補助プロセツサのプログラムはこれ
らの内容を知ることができる。アドレスバス74
はRAM72、ROM73の選択のみならず、デ
コーダ77によつて制御信号の選択も行い、書込
み信号76をオンさせると、スタート信号48、
または制御記憶書込み信号50、または制御記憶
アドレスレジスタ変更信号65をオンすることが
でき、補助プロセツサのプログラムはこれらの信
号を制御することができる。また、データバス7
5の出力は、信号38を通して、制御記憶37の
データ信号に接続され、前記信号50と共に使用
することにより、制御記憶の内容を書換えること
ができる。また、データバス75の出力は信号6
8を通して制御記憶アドレスレジスタ34の入力
に接続され、前記信号65と共に使用することに
より、制御記憶アドレスレジスタの内容を書換え
ることができる。
す。内部アドレスバス74、データバス75には
マイクロプロセツサ71、RAM72、ROM7
3が接続される。ROMにはマイクロプロセツサ
71のプログラムの他にメインプロセツサ1の制
御記憶37に格納すべきデータを格納している。
復電時や制御記憶パリテイエラー発生時にこの格
納していたデータを制御記憶に再ロードするのに
使用される。制御記憶アドレスレジスタの出力3
6と、リザーブフラグの出力101とセーブレシ
スタの出力67はデータバス75にのせることが
できるため、補助プロセツサのプログラムはこれ
らの内容を知ることができる。アドレスバス74
はRAM72、ROM73の選択のみならず、デ
コーダ77によつて制御信号の選択も行い、書込
み信号76をオンさせると、スタート信号48、
または制御記憶書込み信号50、または制御記憶
アドレスレジスタ変更信号65をオンすることが
でき、補助プロセツサのプログラムはこれらの信
号を制御することができる。また、データバス7
5の出力は、信号38を通して、制御記憶37の
データ信号に接続され、前記信号50と共に使用
することにより、制御記憶の内容を書換えること
ができる。また、データバス75の出力は信号6
8を通して制御記憶アドレスレジスタ34の入力
に接続され、前記信号65と共に使用することに
より、制御記憶アドレスレジスタの内容を書換え
ることができる。
第8図に、メインプロセツサ内のメモリ起動制
御回路19の内部構成を示す。信号81〜84は
マイクロプログラムにより制御される信号で、信
号81がメモリ読出し起動、信号82がメモリ書
込み起動、信号83がバスリザーブ指定、信号8
4がバスリザーブ解除指定である。信号24は応
答信号である。制御フラグ85〜87はクロツク
に同期して変化するフラグで、フラグ85は読出
し要求、フラグ86は書込み要求、フラグ87は
バスリザーブ要求である。信号88はバス占有要
求信号、信号89はバス占有許可信号、信号90
はリードコマンド信号、信号91はライトコマン
ド信号、信号93は応答信号である。信号61は
制御記憶パリテイエラー発生時にセツトされる。
正常なRead−Modify−Writeのときのタイムチ
ヤートを第9図に示す。また、Read−Modify−
Write中に制御記憶パリテイエラーが発生した場
合のタイムチヤートを第10図に示す。エラー発
生時、バスリザーブが解除されることが、この回
路の特徴である。
御回路19の内部構成を示す。信号81〜84は
マイクロプログラムにより制御される信号で、信
号81がメモリ読出し起動、信号82がメモリ書
込み起動、信号83がバスリザーブ指定、信号8
4がバスリザーブ解除指定である。信号24は応
答信号である。制御フラグ85〜87はクロツク
に同期して変化するフラグで、フラグ85は読出
し要求、フラグ86は書込み要求、フラグ87は
バスリザーブ要求である。信号88はバス占有要
求信号、信号89はバス占有許可信号、信号90
はリードコマンド信号、信号91はライトコマン
ド信号、信号93は応答信号である。信号61は
制御記憶パリテイエラー発生時にセツトされる。
正常なRead−Modify−Writeのときのタイムチ
ヤートを第9図に示す。また、Read−Modify−
Write中に制御記憶パリテイエラーが発生した場
合のタイムチヤートを第10図に示す。エラー発
生時、バスリザーブが解除されることが、この回
路の特徴である。
第11図に、Read−Modify−Write中のエラ
ーリトライに関わるメインプロセツサのマイクロ
プログラムフローチヤートと、補助プロセツサの
プログラムフローチヤートを示す。
ーリトライに関わるメインプロセツサのマイクロ
プログラムフローチヤートと、補助プロセツサの
プログラムフローチヤートを示す。
メインプロセツサのフローチヤートはコンペア
アンド スワツプ(Compare&Swap)命令の
フローチヤートの一部である。
アンド スワツプ(Compare&Swap)命令の
フローチヤートの一部である。
ステツプ100ではリトライ開始アドレスとして
マイクロプログラムの先頭アドレスに相当する
100という値をセーブレジスタ63(第4図)に
セツトし、リザーブフラグ62(第4図)をセツ
トする。ステツプ101では読出し要求フラグ85
とバスリザーブ要求フラグ87(第8図)をセツ
トする。ステツプ106ではリザーブフラグ62を
セツトしてから書込み要求フラグ86(第8図)
をセツトする。通常、バスリザーブ信号92はス
テツプ101における読出し要求に対するバス占有
許可信号89がオンしてから、ステツプ103の書
込み要求の応答信号93がオンし、バスリザーブ
要求フラグ87がクリアされるまでの間オン状態
であり、この間にRead−Modify−Write動作が
行われる。しかし、Read−Modify−Write中、
例えばステツプ103で制御記憶パリテイエラーが
発生すると、第8図で信号61がオンするため、
バスリザーブは解除され、また、第7図で同じく
信号61がオンするため補助プロセツサのマイク
ロプロセツサに割込みが入り、補助プロセツサは
ステツプ110〜113の処理を行う。ステツプ110で
は制御記憶アドレスレジスタ34(第4図)の内
容を読み、これに対応する制御記憶の内容を
ROM73(第7図)より読出し、制御記憶37
(第4図)に書込む。ステツプ111ではリザーブフ
ラグ62(第4図)の内容を判定し、“0”のと
き、即ちWrite中はステツプ113にジヤンプし、
“1”のとき、即ちRead中のときはステツプ112
に進む。ステツプ112でセーブレジスタ63(第
4図)の内容を読み、制御記憶アドレスレジスタ
34(第4図)にセツトする。ステツプ113では
スタートフラグ49(第4図)をセツトする。
(信号56が1マシンサイクルのみ“1”とな
る。)従つて、Read中であればステツプ100から、
即ちReadの開始前からリトライスタートし、
Write中であれば、ステツプ103から、即ち制御
記憶バリテイエラー発生ステツプからリトライス
タートする。なお、バスの占有はメモリ占有の目
的で行われ、バス従つてメモリの占有の仕方とし
てメモリにつながる全てのバスを占有する場合
と、メモリにつながる一部のバスを占有する場合
とがある。
マイクロプログラムの先頭アドレスに相当する
100という値をセーブレジスタ63(第4図)に
セツトし、リザーブフラグ62(第4図)をセツ
トする。ステツプ101では読出し要求フラグ85
とバスリザーブ要求フラグ87(第8図)をセツ
トする。ステツプ106ではリザーブフラグ62を
セツトしてから書込み要求フラグ86(第8図)
をセツトする。通常、バスリザーブ信号92はス
テツプ101における読出し要求に対するバス占有
許可信号89がオンしてから、ステツプ103の書
込み要求の応答信号93がオンし、バスリザーブ
要求フラグ87がクリアされるまでの間オン状態
であり、この間にRead−Modify−Write動作が
行われる。しかし、Read−Modify−Write中、
例えばステツプ103で制御記憶パリテイエラーが
発生すると、第8図で信号61がオンするため、
バスリザーブは解除され、また、第7図で同じく
信号61がオンするため補助プロセツサのマイク
ロプロセツサに割込みが入り、補助プロセツサは
ステツプ110〜113の処理を行う。ステツプ110で
は制御記憶アドレスレジスタ34(第4図)の内
容を読み、これに対応する制御記憶の内容を
ROM73(第7図)より読出し、制御記憶37
(第4図)に書込む。ステツプ111ではリザーブフ
ラグ62(第4図)の内容を判定し、“0”のと
き、即ちWrite中はステツプ113にジヤンプし、
“1”のとき、即ちRead中のときはステツプ112
に進む。ステツプ112でセーブレジスタ63(第
4図)の内容を読み、制御記憶アドレスレジスタ
34(第4図)にセツトする。ステツプ113では
スタートフラグ49(第4図)をセツトする。
(信号56が1マシンサイクルのみ“1”とな
る。)従つて、Read中であればステツプ100から、
即ちReadの開始前からリトライスタートし、
Write中であれば、ステツプ103から、即ち制御
記憶バリテイエラー発生ステツプからリトライス
タートする。なお、バスの占有はメモリ占有の目
的で行われ、バス従つてメモリの占有の仕方とし
てメモリにつながる全てのバスを占有する場合
と、メモリにつながる一部のバスを占有する場合
とがある。
以上のように、本発明によれば、極めて簡単な
ハード量で、バスリザーブ時間も短く抑えた、制
御記憶パリテイエラーのリトライを実現できる。
ハード量で、バスリザーブ時間も短く抑えた、制
御記憶パリテイエラーのリトライを実現できる。
第1図は本発明の概念図、第2図〜第11図は
本発明の実施例の説明図で、第2図は全体構成
図、第3図はメインプロセツサの構造図、第4図
はメインプロセツサの制御部の構成図、第5図は
制御記憶パリテイエラー発生時のタイムチヤー
ト、第6図はエラーリトライ開始時のタイムチヤ
ート、第7図は補助プロセツサの構成図、第8図
はメインプロセツサのメモリ起動回路の構成図、
第9図はRead−Modify−Write正常動作時のタ
イムチヤート、第10図はRead−Modify−
Write中制御記憶パリテイエラー発生時のタイム
チヤート、第11図はRead−Modify−Write中
のエラーリトライに関わるプログラムフローチヤ
ートである。 1……メインプロセツサ、2……主メモリ、3
……バスコントローラ、4……システムバス、5
……入出力コントローラ、6……補助記憶装置、
7……補助プロセツサ。
本発明の実施例の説明図で、第2図は全体構成
図、第3図はメインプロセツサの構造図、第4図
はメインプロセツサの制御部の構成図、第5図は
制御記憶パリテイエラー発生時のタイムチヤー
ト、第6図はエラーリトライ開始時のタイムチヤ
ート、第7図は補助プロセツサの構成図、第8図
はメインプロセツサのメモリ起動回路の構成図、
第9図はRead−Modify−Write正常動作時のタ
イムチヤート、第10図はRead−Modify−
Write中制御記憶パリテイエラー発生時のタイム
チヤート、第11図はRead−Modify−Write中
のエラーリトライに関わるプログラムフローチヤ
ートである。 1……メインプロセツサ、2……主メモリ、3
……バスコントローラ、4……システムバス、5
……入出力コントローラ、6……補助記憶装置、
7……補助プロセツサ。
Claims (1)
- 【特許請求の範囲】 1 バスを介してメモリに接続され、メモリの同
一アドレスにリード及びライトを行うリード−モ
デイフアイ−ライト命令をマイクロプログラムで
実行する処理装置において、マイクロプログラム
のエラーを検出する手段と、リード−モデイフア
イ−ライト命令実行前に前記バスを占有してメモ
リを占有する占有手段と、リード−モデイフアイ
−ライト命令のリード起動前にセツトされライト
起動と同時にリセツトされる第1のフラグと、リ
ード−モデイフアイ−ライト命令のリード起動前
のマイクロプログラムアドレスを記憶する第1の
レジスタと、前記エラー検出手段によりエラー検
出したときのマイクロプログラムアドレスを記憶
する第2のレジスタと、前記エラー検出手段によ
りエラー検出したときに前記占有手段による占有
を解除する占有解除手段と、占有解除後、前記第
1のフラグのセツト、リセツト状態に応じてリー
ド中のときは第1のレジスタに記憶されたマイク
ロプログラムアドレスから、ライト中のときは第
2のレジスタに記憶されたマイクロプログラムア
ドレスから処理再開を行わしめるリトライ手段を
備えることを特徴とする処理装置エラーリトライ
装置。 2 共通バスを介してメモリに接続され、メモリ
の同一アドレスにリードおよびライトを行うリー
ド−モデイフアイ−ライト命令を実行する処理装
置において、リード−モデイフアイ−ライト命令
実行中にエラーが発生した場合にバスを介しての
メモリの占有を解除し、エラー発生がリード動作
時の場合先頭アドレスから、ライト動作時にエラ
ーが発生した場合エラー発生時のアドレスから処
理を再スタートすることを特徴とする処置装置エ
ラーリトライ方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60076461A JPS61235952A (ja) | 1985-04-12 | 1985-04-12 | 処理装置エラーリトライ装置および方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60076461A JPS61235952A (ja) | 1985-04-12 | 1985-04-12 | 処理装置エラーリトライ装置および方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61235952A JPS61235952A (ja) | 1986-10-21 |
| JPH0346852B2 true JPH0346852B2 (ja) | 1991-07-17 |
Family
ID=13605799
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60076461A Granted JPS61235952A (ja) | 1985-04-12 | 1985-04-12 | 処理装置エラーリトライ装置および方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61235952A (ja) |
-
1985
- 1985-04-12 JP JP60076461A patent/JPS61235952A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61235952A (ja) | 1986-10-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2858140B2 (ja) | パイプラインプロセッサ装置および方法 | |
| US5003458A (en) | Suspended instruction restart processing system based on a checkpoint microprogram address | |
| US4949241A (en) | Microcomputer system including a master processor and a slave processor synchronized by three control lines | |
| JPH07219809A (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 | |
| JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
| US5898867A (en) | Hierarchical memory system for microcode and means for correcting errors in the microcode | |
| JPH0346852B2 (ja) | ||
| JP2564290B2 (ja) | 命令再開処理方法および装置 | |
| JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
| JP2671160B2 (ja) | 例外処理方式 | |
| JP3507193B2 (ja) | ロード・ストア命令処理装置 | |
| JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
| JPH0133856B2 (ja) | ||
| JPH03103924A (ja) | データ処理装置 | |
| JPS61117635A (ja) | 仮想記憶制御方式 | |
| JPH0222416B2 (ja) | ||
| JP3130798B2 (ja) | バス転送装置 | |
| JPS59172044A (ja) | 命令制御方式 | |
| JPS62125437A (ja) | 付加プロセツサの制御方法 | |
| US20030131199A1 (en) | Method for ensuring that a line is present in an instruction cache | |
| JPS62130427A (ja) | メモリリ−ド/ライト方式 | |
| JPH07104834B2 (ja) | 処理装置間ロック制御システム | |
| JPS60193046A (ja) | 命令例外検出方式 | |
| JPH01258154A (ja) | マイクロ命令実行制御方式 |