JPH04112254A - データ転送のリトライ制御方式 - Google Patents

データ転送のリトライ制御方式

Info

Publication number
JPH04112254A
JPH04112254A JP2231296A JP23129690A JPH04112254A JP H04112254 A JPH04112254 A JP H04112254A JP 2231296 A JP2231296 A JP 2231296A JP 23129690 A JP23129690 A JP 23129690A JP H04112254 A JPH04112254 A JP H04112254A
Authority
JP
Japan
Prior art keywords
bus
transfer
microinstruction
address
microprogram
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.)
Granted
Application number
JP2231296A
Other languages
English (en)
Other versions
JP2782471B2 (ja
Inventor
Akihito Watanabe
渡辺 哲仁
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.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom 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 Fuji Electric Co Ltd, Fuji Facom Corp filed Critical Fuji Electric Co Ltd
Priority to JP2231296A priority Critical patent/JP2782471B2/ja
Publication of JPH04112254A publication Critical patent/JPH04112254A/ja
Application granted granted Critical
Publication of JP2782471B2 publication Critical patent/JP2782471B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概  要〕 マイクロプログラム制御のCPUを有するプロセッサに
おけるバスを介するメモリ・Ilo等へのデータ転送の
リトライ制御方式に関し、データ転送を高速にでき、か
つマイクロプログラムメモリの使用容量を減少可能なデ
ータ転送のリトライ制御方式を提供することを目的とし
、マクロプログラムが格納されるマクロプログラムメモ
リ、該マクロプログラムメモリのアドレスを指定するマ
クロプログラムカウンタ、マイクロプログラムが格納さ
れるマイクロプログラムメモリ、該マイクロプログラム
メモリのアドレスを指定するマイクロシーケンサ、前記
マイクロプログラムメモリから読み出されるマイクロ命
令に基づいて動作を行うCPUを有するプロセッサにお
けるデータ転送のリトライ制御方式において、所定のマ
クロ命令を解読実行するマイクロプログラムのマイクロ
命令の実行によりバス転送エラーが発生した場合、前記
CPUのリードデータの取り込み動作、及びデータの転
送アドレスのインクリメント並びに前記マイクロシーケ
ンサの指定するアドレスの更新をアボートして前記所定
のマイクロ命令を再実行する処理を、バス転送エラーが
解消されない場合、所定回数まで繰り返すように構成す
る。
〔産業上の利用分野〕
本発明は、マイクロプログラム制御のCPUを有するプ
ロセッサにおけるバスを介するメモリ・Ilo等へのデ
ータ転送のリトライ制御方式に関する。
〔従来の技術〕
第9図は、従来のプロセッサを用いた情報処理装置の構
成例を示す図である。各種コンピュータ及びプログラマ
ブル・コントローラ等の情報処理装置は、一般に第9図
に示すように、プロセッサ100、メモリ200、I1
0装置(入出力装置)300、伝送インタフェース40
0等で構成される。プロセッサ100は、これらのメモ
リ200、I10デバイス300、伝送インタフェース
400等と情報交換を行う際、システムバス500を介
してデータ転送を行う、プロセッサ100は、マイクロ
プログラム制御方式を採用しており、FORTRAN、
 C0BOL等の高級言語もし゛くはプログラム・コン
トローラ用のコントローラ言語等で記述されたソースプ
ログラムをコンパイルまたはアセンブルして得られるマ
クロ命令から成るマクロプログラムの実行を、マイクロ
プログラムにより解読して行う。
プロセッサ100は、マイクロ命令から成るマイクロプ
ログラムを格納しているマイクロプログラムメモリ10
1(以下、u−MEMIOIと略称する)、そのμmM
EMIOIに対し一定期間(マイクロサイクル)毎にア
ドレスを供給するマイクロシーケンサ102(以下、μ
m5QCIO2と略称する)、上記μmMEMIOIか
ら読み出されたマイクロ命令を保持すると共に、そのマ
イクロ命令から各種制御信号を出力するパイプラインレ
ジスタ103(以下、PLR103と略称する)、該P
LR103から読み出したマイクロ命令に指示された各
種演算を行い、その結果としてサイン符号(S)、ゼロ
検出(Z)、キャリー検出(CY)、オーバーフロー検
出(OVF)等の各種フラグを出力するCPU (中央
処理装置)104、システムバス500上のバスデータ
の入力時はバスデータのパリティチエツクを行い、シス
テムバス500ヘデータ出力時は、パリティジェネレー
トを行うバスパリティチエッカ/ジェネレータ121と
バスアクセスの時間監視を行うバスアクセス時間監視回
路122とシステムバス500を介するデータ転送先の
スレーブ側デバイスの異常状態を常時監視するスレーブ
デバイス異常信号判定回路123とから成るバス転送エ
ラー検出回路120、上記マクロプログラムが格納され
ているマクロプログラムメモリ105、該マクロプログ
ラムメモリ105にアドレスを供給するマクロプログラ
ム・カウンタ106(以下、MPC106と略称する)
、前記マフラプログラムメモリ105から読み出された
マクロ命令のアドレスオペランドから物理アドレスを生
成する物理アドレス生成回路107、該物理アドレス生
成回路107から加わる転送データのアドレスを保持す
る転送アドレスレジスタ10日、及び上記バス転送エラ
ー検出回路120から加わるバスエラー信号またはCP
Ul−04から加わる上記、S、  Z、  CY、も
しくはOVFの各フラグの値をμm3QCI02に選択
出力するテストコンデイション選択回路109とから成
っている。
尚、バス転送エラー検出回路120は、バスパリティチ
エッカ/ジェネレータ121検出によるパリティエラー
発生、及びバスアクセス時間監視回路122検出による
バスアクセス時間異常、及びスレーブデバイス異常信号
判定回路123検出によるデータ転送時のスレーブデバ
イス異常のどれかの要因により、バスエラー信号を出力
する。
そして、前記MPC106、転送アドレスレジスタ10
8は、それぞれプログラムカウント・イネーブル信号(
PCB)、アドレスラッチ・イネーブル信号(ALE)
がアクティブになったときに、アドレス信号がセットさ
れる。また、上記CPU104は、ローカルデータバス
130を介し、前記システムバス500に接続されてい
る。
上記構成において、MPC106によりアドレッシング
されたマクロプログラムメモリ105内のマクロ命令は
、MAP処理によりμm5QCI02を介してμmM、
EM101に格納されている対応する複数のマイクロ命
令から成るインタプリタによって、解読・実行される。
マクロ命令の転送命令には、その転送モードによりいく
つかの種類があり、例えば、32ビツト長のり一ド/ラ
イト転送、16ビツト長のリード/ライト転送、8ビツ
ト長のり一ド/ライト転送、及び16/8ビツト長の符
号付転送(転送時に符号拡張して32ビツト長に変換す
る)等がある。そして、μm5QCIO2内にはこれら
の各マクロ命令に対応したインタプリタが格納されてい
る。
上記各転送命令の実行時には、このμ−MEM101内
の当該インタプリタの起動と同時に、マクロプログラム
メモリ105から読み出されているマクロ命令中のアド
レスオペランドを物理アドレス生成回路107により物
理アドレスである転送アドレスに変換した後、ALE信
号をアクティブにすることにより、転送アドレスレジス
タ108にラッチされる。そして、上記インタプリタの
起動によりCPU104がシステムバス500を介する
データ転送を開始するとき、転送アドレスレジスタ10
8から転送アドレスがシステムバス500に出力され、
該当するメモリ200もしくはI10装置300等と情
報交換が行われる。
このシステムバス500を介するデータ転送においては
、バス転送エラー検出回路120により、システムバス
500上のバスデータのパリティチエツク、バスアクセ
スの時間監視、及びデータ転送先のスレーブ側装置の異
常状態が常にチエツクされ、異常時には一過性の不良動
作を切り捨てるためにリトライ処理を行う。そして、リ
トライ処理が失敗した時は、その旨をシステム管理プロ
グラム内のRAS処理ルーチンに通知し、システム見地
で縮退による継続運転またはシステムの停止等の決定を
行う。
次に、第10図及び第11図のフローチャートを参照し
ながら、上記従来例におけるバスを介するデータ転送の
リトライ制御方式を説明する。尚、リトライカウンタR
TC(以後、単にRTCと記述する)の値はリトライ回
数を決定する。この例ではリトライ回数を3回に設定し
ているものとする。
まず、第10図(a)に示す32ビツトデータのリード
インクブリタにおいては、システムバス500を介して
32ビツトのデータをリードした後(SAI)、バス転
送エラー検出回路120により、バスエラーが発生した
か否かを判別しく5A2)、バスエラー発生時には32
ビツト長のデータリード専用のリトライサブルーチンを
コールする(SA3)。
一方、上記バスエラーが発生せず、データ転送が正常に
行われた時には、MAP処理によりMPC106がカウ
ントアツプされ、次のマクロ命令へ処理が移る。
上記処理SA2におけるバスエラー判定は、第9図に示
すバス転送エラー検出回路120が、上記32ビツトデ
ータ転送において検出したバスエラー信号をテストコン
デイション選択回路109を介してμm3QC102に
出力することにより、μm5QC102が行う。
第1O図(ハ)は32ビツト長データのリード専用のリ
トライサブルーチンを示すフローチャートであり、この
32ビツト長データのリード専用リトライサブルーチン
は、リトライ回数を3回に設定した例である。
次に、このサブルーチンの処理を以下に示す■〜■によ
り説明する。
■ まず、リトライカウンタ(RTC)に4を格納する
(SBI)。
■ RTCの値を「1」減算する(SB2)。
■ RTCの値が「0」に等しいか否か判別しく5B3
)、「0」に等しくなければ32ビツトデータを再び読
み出す(SB4)。
■ 次に、バスエラーの判定を行い(SB5)、バスエ
ラーが発生していれば再び前記処理SB2に戻り、再び
32ビツトデータの読み出しを行う。
■ 一方、上記処理SB5でバスエラーが発生していな
い場合には、リトライリードの成功となり、本サブルー
チンをリターンで抜はインタプリタに戻りMAP処理を
行い、次のマクロ命令の解読実行へと処理を継続してい
(。
■ また、上記処理SB4で32ビツトデータの再読み
出しが失敗した時には、上記処理SB2〜SB5を最大
3回繰り返し、バスエラーが解消しない場合には、上記
判別処理SB3でRTC=Oと判別し、システム管理プ
ログラムのRAS処理を起動させた後、本サブルーチン
をリターンで抜け、割り込みによりシステム管理プログ
ラム処理へ移行する。
また、16ビツトリードインクプリタにおいても、第1
1図(a)に示す16ビツトリードインタプリタ並びに
同図Φ)に示す16ビツトリード専用リトライサブルー
チンにより、上記32ビツトデータの読み出しと同様な
処理が行われる。また、他の各種データビット長及び各
種転送モードのり一ド/ライトにおいても、それらの転
送処理を行うインタプリタとそれらのインタプリタ毎に
用意されだ専用のリトライサブルーチンにより同様な処
理が行われる。
〔発明が解決しようとする課題] 上述したように、従来の1つのマクロ命令に対応するイ
ンタプリタによるバスを介するデータ転送処理において
は、メモリのリード・ライト等のデータ転送処理後に必
ずバスエラーが発生したか否かをチエツクするステップ
が必要であり、1つのマクロ命令を解読実行するマイク
ロプログラムのステップ数が少ない場合、処理速度の遅
延に大きく影響していた。(1つのマクロ命令を解読実
行するマイクロプログラムが1ステツプの場合は、転送
命令の処理時間は2倍になる) また、データ転送のアクセスモードが複数個ある場合(
例えば、32ビツトリード・16ビツトリード・8ビツ
トリード・32ビツトライト・16ビツトライト・8ビ
ツトライト等)は、それらの各アクセスモードに対応し
て、リトライ処理ルーチンも複数個用意しなければなら
ず、マイクロプログラムメモリの使用容量が大きくなっ
てしまうという欠点があった。
本発明は、データ転送を高速にでき、かつマイクロプロ
グラムメモリの使用容量を減少可能なデータ転送のリト
ライ制御方式を提供することを目的とする。
〔課題を解決するための手段〕
第1図は、本発明の原理説明図である。
本発明は、マクロプログラムが格納されるマクロプログ
ラムメモリ1、該マクロプログラムメモリ1のアドレス
を指定するマクロプログラムカウンタ2、マイクロプロ
グラムが格納されるマイクロプログラムメモリ3、該マ
イクロプログラムメモリ3のアドレスを指定するマイク
ロシーケンサ4、前記マイクロプログラムメモリ3から
読み出されるマイクロ命令に基づいて動作を行うCPU
5を有するプロセッサにおけるデータ転送のリトライ制
御方式を前提とする。
本発明のデータ転送のリトライ制御方式においては、所
定のマクロ命令を解読実行するマイクロプログラムのマ
イクロ命令の実行によりバス転送エラーが発生した場合
、CPtJ5のリードデータの取り込み動作、及びデー
タの転送アドレスのインクリメント並びにマイクロシー
ケンサ4の指定するアドレスの更新をアボートして、前
記所定のマイクロ命令を再実行する処理を、バス転送エ
ラーが解消されない場合、所定回数まで繰り返す。
上記所定のマクロ命令を解読実行するマイクロプログラ
ムのマイクロ命令の再実行の繰り返し回数の計数は、例
えば、請求項2記載のようにバス転送エラー発生後に起
動されるマイクロプログラムメモリ3に格納された割り
込み処理ルーチン3aの実行により行われる。
また、上記割り込み処理ルーチン3aは、例えば請求項
3記載のように、起動される毎に、今回のバス転送エラ
ー時のマクロプログラムカウンタ2の値と前回のバス転
送エラー時のマクロプログラムカウンタ2の値とを比較
することにより、同一マクロ命令の実行によるバス転送
エラーであるか否かを判別し、同一マクロ命令が実行さ
れたものと判別したときのみ、前記マクロ命令を解読実
行するマイクロプログラムのマイクロ命令の再実行回数
の計数を行うようにしてもよい。
さらに、割り込み処理ルーチン3aは、請求項4記載の
ように前記バス転送エラーを引き起こしたマクロ命令を
解読実行するマイクロプログラムのマイクロ命令を前記
所定回数だけ再実行させても、バス転送エラーが解消し
ない場合には、前記データの転送アドレスをマイクロプ
ログラム・オペレーティング・システムの管理下のバス
転送エラーの発生しないダミーアドレスに変更して復帰
するようにしてもよい。
また、請求項5記載のように、1つのマイクロ命令にお
いて、バス転送動作と同時にカウンタ7のインクリメン
ト/デクリメントなどの処理を行う場合、前記マイクロ
プログラムメモリ3から出力された該マイクロ命令をパ
イプラインレジスタ6ヘラツチすると同時にカウンタ7
のインクリメント/デクリメントなどの処理を実行する
(すなわち、同一マイクロ命令で記述されているが、カ
ウンタ7のインクリメント/デクリメントなどの処理の
みは、バス転送動作よりも1クロツタサイクル先に実行
する。)ようなマイクロ命令の実行時においてバス転送
エラーが発生した場合、そのときの前記カウンタ7に対
するカウント操作等の情報を記憶する記憶手段8とをさ
らに有するマイクロプログラム制御方式のプロセッサに
おいては、バス転送エラー発生時には、上記記憶手段8
に記憶されている該マイクロ命令がパイプラインレジス
タ6ヘラツチされると同時に処理されたカウント操作等
の情報に基づいて、前記カウンタ7等の値を前記マイク
ロ命令実行前の状態に戻した後、前記マイクロ命令の再
実行を行うようにしてもよい。
〔作  用〕
前記マイクロプログラム制御方式のプロセッサのCPU
5により所定のマクロ命令を解読実行するマイクロプロ
グラムのマイクロ命令が実行された際、バス転送エラー
が発生すると、CPU5のり一ドデータの取り込み動作
、及びデータの転送アドレスの更新がアボートされ、ま
た、マイクロシーケンサ4のマイクロプログラムカウン
タ(μmPC)の更新もアボートされ、バス転送エラー
割込みによるリトライ制御処理の後に、前記所定のマク
ロ命令が命令実行前の状態で再び実行される。そして、
このマイクロ命令の再実行を、バス転送エラーが解消さ
れない場合、所定回数まで繰り返す。
前記バス転送エラー割込みによるリトライ制御処理にお
いて、リトライ失敗と判定した場合に、転送アドレスを
マイクロプログラムのオペレーティングシステムに変更
して割込み復帰することにより、前記所定のマイクロ命
令をバスエラーが発生しないで強制的に抜けることがで
きる。
また、1つのマイクロ命令において、バス転送動作と同
時にカウンタ7のインクリメント/デクリメントなどの
処理を行う場合、前記マイクロプログラムメモリ3から
出力された該マイクロ命令をパイプラインレジスタ6ヘ
ラツチすると同時にカランタフのインクリメント/デク
リメントなどの処理を実行する(すなわち、同一マイク
ロ命令で記述されているが、カランタフのインクリメン
ト/デクリメントなどの処理のみは、バス転送動作より
も1クロツクサイクル先に実行する。)ようなマイクロ
命令の実行時にバス転送エラーが発生したならば、その
時の上記カウンタ7のカウント操作等の情報を記憶手段
8に記憶させておき、バス転送エラー割込み処理におい
て、上記記憶手段8に記憶されているカウント操作等の
情報に基づいて、前記カウンタ7等の値を前記マイクロ
命令の実行前の状態に戻した後、前記マイクロ命令の再
実行を行う、この場合も、前記マイクロ命令の再実行は
、所定回数だけ繰り返される。
このように任意のマクロ命令を解読実行するマイクロプ
ログラムのマイクロ命令の実行によりバス転送エラーが
発生した場合、自動的に上記マイクロ命令が所定数回繰
り返されてデータ転送のリトライが行われるので、従来
のように各種データ転送用のマクロ命令に対応したマイ
クロプログラムのインクブリタ毎に、専用のリトライサ
ブルーチンを設ける必要がなくなる。また、バス転送エ
ラーが発生しない場合には、直ちに次のマクロ命令を実
行することができる。
〔実  施  例〕
以下、図面を参照しながら本発明の実施例について説明
する。
第2図は本発明の一実施例であるプロセッサのシステム
構成図である。尚、同図において、前記第9図に示すブ
ロックと同一のブロックには同一番号を付し、詳しい説
明は省略する。
マイクロシーケンサ(μm5QC)150は、各種割込
みベクタが格納されている割込みベクタレジスタ151
、PLR(パイプラインレジスタ)103から出力され
るブランチオベレーシッン命令(BOP)、バス転送エ
ラー検出回路120から出力されるバスエラー信号、及
びテストコンディジ目ン選択回路109から出力される
信号をデコードして各種制御信号を出力するブランチ制
御回路152、マイクロプログラムメモリ(μmMEM
)101に一定期間(マイクロサイクル)ごとにそのア
ドレスを供給するマイクロプログラムカラ7り(μmP
C)I 53、+0)u−PCl53の値を所定ワード
数スタックするマイクロスタック(μmスタック)15
4、前記割込ベクタレジスタ151から出力される割込
みベクタアドレス、パイプラインレジスタ103がら出
力されるジャンプアドレス、マクロプログラムメモリ1
゜5から出力されるマクロ命令を解読実行するマイクロ
プリンタの先頭アドレス、及びμmPCl53並びにμ
mスタック154から出力されるμmMEMI O1の
アドレスの中からいずれか1つを選択して、その選択し
た信号をマイクロプログラムメモリ101にアドレス信
号として供給するマルチプレクサ155とから成ってい
る。
また、CPU160は、キャッシュメモリ161から出
力されるデータADとデータBDに対し算術・論理演算
を行うA L U (Arithmetic Logi
cUnit) I 62、そのALU162の出力をロ
ーカルバス600に出力すると共にローカルデータバス
600上とデータの入出力する人出力バッファ163、
ALU162の出力もしくは人出カバッファ163の出
力のいずれがを選択してキャッシュメモリ161に出力
するマルチプレクサ164、及び前記バスエラー信号と
キャッシュメモリ161に対する書込信号WTが加わり
、前記バスエラー信号がアクティブのときに、上記書込
信号WTがキャッシュメモリ161に出力されることを
禁止して、キャッシュメモリのライト動作を禁止するゲ
ート165とから成っている。
また、バスエラー信号及びアドレスラッチ・イネーブル
信号ALEが加わり、バスエラー信号がアクティブのと
きに、転送アドレスレジスタ1゜8に対するアドレスラ
ッチ・イネーブル信号ALEの出力を禁止して、バスエ
ラー時に転送アドレスのラッチを禁止するゲート171
、バスエラー信号及びプログラムカウント・イネーブル
信号PCEが加わり、バスエラー信号がアクティブのと
きにプログラムカウント・イネーブル信号PCEがマク
ロ・プログラム・カウンタMPC106に出力されるこ
とを禁止して、バスエラー時にMPC106のカウント
を禁止するゲート172、及びバスエラー信号と動作許
可信号が加わり、バスエラー信号がアクティブのときに
、レジスタ及びカウンタにより構成される各種実行回路
174へ動作許可信号を出力することを禁止して、バス
エラー時に各種実行回路の動作を禁止するゲート173
とから成っている。尚、キャッシュメモリ161に対す
るアドレス信号A、Bは、PLRIO3から出力される
。また、CPU160に対する制御信号CPUCも、P
LR103から出力される。
上記構成の実施例において、μmインタプリタによりマ
クロ命令を解読・実行してデータのバス転送を行う動作
とそのデータ転送時のバスエラーを検出する動作は、前
述した従来例と同様であり、その説明は省略する。CP
U160は、PLRI03から出力されるCPU制御信
号(CPUC)により各種演算・転送制御、キャッシュ
メモリ161のアドレス信号A並びにB、キャッシュメ
モリ161に対するライト動作が指示される。
バスエラーが発生した場合は、バス転送エラー検出回路
120からバスエラー信号が出力され、ゲート165に
よりキャッシュメモリ161に対するリードデータの書
き込みが禁止される。また、ゲート171により次に実
行されるマクロ命令の転送アドレスの転送アドレスレジ
スタ108に対する書き込みが禁止され、さらにゲート
172によりMPC106のカウント動作が禁止される
また、ゲート173により各種実行回路174の動作が
禁止される。また、同じくバスエラー信号により、μm
5QC150においては、ブランチ制御部152を介し
、μmPCl53のカウント動作が禁止され更新されな
い状態のμmPCl53の値が、μmスタック154に
格納される。そして、マルチプレクサ155は、マクロ
プログラムメモリ105から読み出されるマクロ命令の
MAPアドレスを選択しないで割込ベクタレジスタ15
1から出力されるリトライ処理ルーチンのアドレスを選
択し、μmPCl53並びにμmMEM101に出力す
る。このことにより、μmMEM101に格納されてい
るリトライ処理ルーチンが実行される。また、上述した
ように、バスエラーが発生した場合、更新されないμm
PCl53の値が、μmスタック154に格納されるの
で、バスエラー割込により起動されるリトライ処理ルー
チンからリターン命令で復帰するときは、μ−スタック
154内に格納されている前記バスエラーを起こした転
送命令のμアドレスを選択することにより、再びバス転
送のリトライを行うことができる。
第3図及び第4図は、それぞれ第1実施例のマイクロプ
ログラムにより行われる32ビツト、16ビツトのバス
転送処理におけるルーチンを示すフローチャートである
上記32ビツトリードインクプリタおよび16ビツトリ
ードインクプリタは、どちらもそれぞれの転送動作と同
時にMAPの処理を行うために、1りロックでマクロ命
令のインタプリタを終了する。
次に、第5図は、ハスエラー発生時のリトライ制御用の
割込処理を説明するフローチャートである。尚、リトラ
イ回数は3回とした例とする為同図のフローチャートが
実行される前に、RTCには「4」が初期設定されてい
るものとして、以下説明を行う。
また、第1実施例においては、破線の矩形で示す処理S
C4は行われない。
第3図に示す32ビツトリードインタプリタのデータ転
送動作においてバスエラーが発生した場合、上述したよ
うに、マルチプレクサ155により、割込みベクタレジ
スタ151に格納されているバス転送エラーに対応する
割込みペクタの示すリトライ制御処理ルーチンの先頭ア
ドレスが選択され、その先頭アドレスがμmMEMIO
Iに供給されることにより、第5図のフローチャートに
示すデータ転送のリトライ制御用の割込処理ルーチンが
起動される。
この割込処理ルーチンにおいて、 ■ 現在のマクロプログラムカウンタ(以後、MPCと
記す)と前回のMPCが等しいか否かの判別を行い(S
C1)、等しい場合は処理SC2へ、等しくない場合は
処理SC5へ移行する。
■ 処理SC2において、RTCを「1」減算する。
■ 次に、RTCが「0」に等しいか否か判別しく5C
3)、RTCが「0」に等しくなければリターン命令(
RET)により第3図に示すインタプリタの32ピツト
リー[゛の実行によるリトライを行い、バスエラーが発
生せずリトライが成功した場合には、同時実行するMA
P処理により、次のマクロ命令の解読実行へと処理を継
続していく。
また、上記32ビツトリードのリトライで再びエラーが
発生した場合には、再び、割込処理により上記処理SC
Iへ移行する。
■ また、上記処理SCIで現在のMPCが前回のMP
Cに等しくない場合は、同一マクロ命令を解読実行する
マイクロプログラムのインタプリタによるバス転送命令
でないため、リトライ制御をクリアするため、現在のM
PCを前回のM P C9’JA域に格納した後(SC
5)、RTCを「4」に初期設定する(SC6)。
■ データ転送のリトライが失敗した時は、上記処理3
2ビツトリード→SCI→SC2→SC3の処理が3回
繰り返された後、上記処理SC3でRTCが「O」とな
り、システム管理プログラムのRAS処理起動後に(S
C7)、マイクロプログラム・オペレーティングシステ
ムのダミーアドレスを転送アドレスレジスタ108に格
納してリターンすることにより(SC8)、バスエラー
の起きないダミー転送を行わせて、前記第3図に示す3
2ビツトデータ転送マイクロプログラムステツプを強制
的に終結し、システム管理プログラム処理へ割込により
移行する。
16ビツトリードにおいても、第4図のフローチャート
に示す16ビツトリードインクプリタの転送処理と上述
した第5図のフローチャートに示すバスエラー時のリト
ライ制御用の割込処理が、上記32ビツトリードと同様
にして行われる。また、その他の各種ビットおよび各種
転送モードのり一ド/ライトにおいても、それらのデー
タ転送を行うインタプリタの実行並びに第5図のフロー
チャートに示すバスエラー発生時のリトライ制御用の割
込処理ルーチンの実行が同様に行われる。
ところで、バス転送命令をパイプラインレジスタにラッ
チすると同時に実行される動作を伴ったバス転送のマイ
クロ命令(μ命令)を実行するプロセッサにおいては、
上記第1の実施例では完全にアボードできない。以下、
このような動作を伴った場合に対応する第2実施例につ
いて説明する。
第6図は、本発明に係わる第2実施例のCPU180の
構成を示す図である。
データスタックポインタ(以下、DSPと称す)181
は、キャッシュメモリ182をスタック構造で使用する
ときのポインタであり、マイクロプログラムメモリ (
μmMEM)191から読み出されたマイクロ命令がパ
イプラインレジスタ(PLR)192にセントされると
同時に、μmMEM191から出力されるカウントイネ
ーブル信号CTEとカウントアツプ/ダウン信号UP/
mにより、カウントアツプ/ダウン動作を行う。アンド
ゲート183は、PLR192から出力されるカウント
イネーブル信号CTEXとカウントアツプ/ダウン信号
UP/UπXにより、バスエラー時のDSP 181の
カウントアツプ条件を生成するANDゲートであり、そ
の出力はJKフリップフロップ(JK−F/F)184
に記憶される。
また、アンドゲート185は、バスエラー時のDSP 
181のカウントダウン条件を生成するANDゲートで
あり、その出力はJKフリップフロップ(JK−F/F
)186に記憶される。
コマンドレジスタ(CMR)187は、マイクロプログ
ラムの実行によりALU188から出力される前記JK
−F/F184,186がバスエラー時に記憶している
DSP181のカウンタアップ/ダウン情報をクリア(
リセット)するためのコマンドを格納するレジスタであ
る。
続いて、上記構成のCPU180、μmMEM191、
及びPLR192を有する第2実施例の動作を説明する
まず、バス転送を行うと同時に、DSP 181のカウ
ントアツプを行う動作が実行された際に、バスエラーが
発生した場合の動作を、第7図のタイミングチャートを
参照しながら説明する。尚、バス転送によりバスエラー
が発生したときの、特に図示していないマイクロシーケ
ンサ(μm5QC)及びCPU 180の各アボート動
作は、前述した第2図に示す第1実施例と同様である。
第7図のタイミングチャートに示すように、時刻TAに
おけるクロックのタイミングAで、μmMEM191か
ら出力されるデータ転送命令がPLR192にセットさ
れると同時に、DSP181は、同じくμmMEM19
1から出力されるカウントイネーブル信号CTEとカウ
ントアツプ/ダウン信号UP/■Xによりカウントアツ
プ動作を行いカウント値が“5°”から 6″に変化す
る。そして、次のクロックのタイミングBでデータ転送
が行われたときにバスエラーが発生した場合は、PLR
192から出力されるカウントイネーブル信号CTEX
、カウントアツプ/ダウン信号U P / DπX、及
びバスエラー信号がアクティブとなるので、ゲート18
3を介して、JK−F/F184にバスエラー時のDS
P 181のカウントアツプ情報が記憶される。この時
、データ転送のリトライ動作を、前記第1の実施例と同
様にして行った場合には、DSP 181がすでにカウ
ントアツプされているのでアボートすることができない
が、前記第5図のフローチャートに示す割込処理ルーチ
ンの処理SC3でRTCが「0」に等しくないと判別さ
れた後に、第6図に示すJK−F/F 184の出力に
基づいてバスエラー時のDSP181のカウントアツプ
指令の有無を判定する第8図の処理を、処理SC4とし
て組み込むことにより同等の機能を実現できる。
すなわち、第8図のフローチャートにおいて、JK−F
/F184.186の出力を読み出して、バスエラー時
のカウントアツプ指令有のときは、DSP 181のカ
ウント値を°′1“デクリメント(減算)して(SD2
) 、DSP 181の値を上記データ転送命令の実行
前のカウント値「5」に戻した状態とし、さらにJK−
F/F1B4の出力をコマンドレジスタ187を介して
リセットさせた後(SD5)、リターン命令により元の
インタプリタの転送命令の実行へ移行しリトライを行う
一方、データ転送命令と同時にDSP181のカウント
ダウンを行う場合も、ゲート185とJK−F/F F
86により、上記と同様にしてバスエラー時にJK−F
/F 184.186の出力を読み出して、バスエラー
時のカウントダウン指令有を認識してDSP181のカ
ウント値を「1」インクリメント(増加)して(SD4
)、DSP181の値を上記データ転送命令の実行前の
カウント値に戻してからリトライすることができる。
以上により、バスエラーが発生した際に、DSP181
の値をデータ転送実行前に戻して、リトライ処理を行う
ことができる。
尚、上記第2実施例はDSP 181のカウントアツプ
/ダウンの例であるが、バス転送命令をパイプラインレ
ジスタヘラッチすると同時に実行される各種の動作を伴
ったバス転送のマイクロ命令においても、バスエラー信
号の発生タイミングでその動作があったことを記憶する
複数のF/Fを備えることにより、バスエラー割込処理
の中でリトライする前にF/Fの出力を確認し、その動
作をデータ転送の実行前に戻すことが可能である。
〔発明の効果〕
以上説明したように、本発明は、データ転送のマクロ命
令を解読実行するマイクロプログラムのマイクロ命令の
実行により、バス転送エラーが発生した場合、同一のマ
イクロ命令のステップを所定回数繰り返して再実行させ
るようにしたので、インクプリタ内で転送命令を実行す
るマイクロ命令の実行後に、バスエラー判定用の同じく
マイクロ命令から成るステップを実行することが不要と
なり、バスエラーの無い時のデータ転送のマクロ命令を
高速にマイクロプログラムで解読実行することができる
。またモードの異なる複数のデータ転送用のマクロ命令
に対しては、各マクロ命令を解読実行するマイクロプロ
グラムのマイクロ命令上でリトライする為マクロ命令毎
に、リトライ用のサブルーチンを用意することも不要と
なるので、マイクロメモリの使用容量を減少することが
できる。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は一実施例のプロセッサのシステム構成図、 第3図は32ビツトリードインクプリタの転送処理を説
明するフローチャート、 第4図は16ビツトリードインタプリタの転送処理を説
明するフローチャート、 第5図はバス転送エラー発生時に行われる割込処理を説
明するフローチャート、 第6図は本発明に係わる第2実施例のCPUの回路構成
図、 第7図はパイプライン処理を行うプロセッサの回路の動
作を説明するタイミングチャート、第8図は上記パイプ
ライン処理を行うプロセッサのバス転送エラー発生時の
動作を説明するフローチャート、 第9図は従来のプロセッサの一構成例を示す図、第10
図(a)は従来の32ビツトリードインタプリタ処理を
説明するフローチャート、 第10図(b)は従来の32ビツトリードインクプリタ
専用のリトライサブルーチンの処理を説明するフローチ
ャート、 第11図(a)は従来の16ビツトリードインクプリタ
の処理を説明するフローチャート、 第11図(b)は従来の16ビツトリードインタプリタ
専用のリトライサブルーチンの処理を説明するフローチ
ャートである。 1,105・・・マクロプログラムメモリ、2.106
・・・マクロプログラムカウンタ、3.101,191
・・・マイクロプログラムメモリ、 3a・・・・割込処理ルーチン、 4.150,102・・・・・マイクロシーケンサ、 5.104,160,180・・・CPLI。 6.103.192・・・パイプラインレジスタ(PL
R)、 7・・・カウンタ、 8・・・記憶手段、 107・・・物理アドレス生成回路、 108・・・転送アドレスレジスタ、 109・・・テストコンデイション選択回路、120・
・・バス転送エラー検出回路、121・・・バスパリテ
ィチエッカ/ジェネレータ、 122・・・バスアクセス時間監視回路、123 ・ 151 ・ 152 ・ 153 ・ 154 ・ 155 ・ 16 l。 162. 163 ・ 164 ・ 165 ・ 171 ・ 172 ・ 173 ・ ・・スレーブデバイス異常信号判定回 路、 ・・割込へフタレジスタ、 ・・ブランチ制御回路、 ・・マイクロプログラムカウンタ(μ mPC)、 ・・マイクロスタック(μmスタック)・・マルチプレ
クサ、 182・・・キャッシュメモリ、 188・・・演算器(ALU)、 ・・データ入出力ハッファ、 ・・マルチプレクサ、 ・・パスエラー時キャッシュメモリラ イト禁止アンドゲート、 ・・パスエラー時アドレスラッチ禁止 アンドゲート、 ・・パスエラー時MPCカウント禁止 アンドゲート、 ・・パスエラー時各種レジスタ動作禁 止アンドゲート、 174 ・ 181 ・ 183゜ 184゜ 187 ・ ・・各種実行回路、 ・・データスタックポインタ、 185・・・アンドゲート、 186・・・JK−F/F。 ・・コマンドレジスタ。

Claims (1)

  1. 【特許請求の範囲】 1)マクロプログラムが格納されるマクロプログラムメ
    モリ(1)、該マクロプログラムメモリ(1)のアドレ
    スを指定するマクロプログラムカウンタ(2)、マイク
    ロプログラムが格納されるマイクロプログラムメモリ(
    3)、該マイクロプログラムメモリ(3)のアドレスを
    指定するマイクロシーケンサ(4)、前記マイクロプロ
    グラムメモリ(3)から読み出されるマイクロ命令に基
    づいて動作を行うCPU(5)を有するプロセッサにお
    けるデータ転送のリトライ制御方式において、 所定のマクロ命令を解読実行するマイクロプログラムの
    マイクロ命令の実行によりバス転送エラーが発生した場
    合、前記CPU(5)のリードデータの取り込み動作、
    及びデータの転送アドレスのインクリメント並びに前記
    マイクロシーケンサ(4)の指定するアドレスの更新を
    アボートして前記所定のマクロ命令を再実行する処理を
    、バス転送エラーが解消されない場合、所定回数まで繰
    り返すことを特徴とするデータ転送のリトライ制御方式
    。 2)前記所定のマクロ命令を解読実行するマイクロプロ
    グラムのマイクロ命令の再実行の繰り返し回数の計数は
    、バス転送エラー発生後に起動される前記マイクロプロ
    グラムメモリ(3)に格納された割り込み処理ルーチン
    (3a)の実行により行われることを特徴とする請求項
    1記載のデータ転送のリトライ制御方式。 3)前記割り込み処理ルーチン(3a)は、起動される
    毎に、今回のバス転送エラー時のマクロプログラムカウ
    ンタ(2)の値と前回のバス転送エラー時のマクロプロ
    グラムカウンタ(2)との値とを比較することにより、
    同一マクロ命令の実行によるバス転送エラーであるか否
    かを判別し、同一マクロ命令が実行されたものと判別し
    たときのみ、前記マクロ命令を解読実行するマイクロプ
    ログラムのマイクロ命令の再実行回数の計数を行うこと
    を特徴とする請求項2記載のデータ転送のリトライ制御
    方式。 4)前記割り込み処理ルーチン(3a)は、前記バス転
    送エラーを引き起こしたマクロ命令を解読実行するマイ
    クロプログラムのマイクロ命令を前記所定回数だけ再実
    行させても、バス転送エラーが解消しない場合には、前
    記データの転送アドレスをマイクロプログラム・オペレ
    ーティング・システムの管理下のバス転送エラーの発生
    しないダミーアドレスに変更して復帰することを特徴と
    する請求項3記載のデータ転送のリトライ制御方式。 5)1つのマイクロ命令において、バス転送動作と同時
    にカウンタ(7)のインクリメント/デクリメントなど
    の処理を行う場合、前記マイクロプログラムメモリ(3
    )から出力された該マイクロ命令をパイプラインレジス
    タ(6)へラッチすると同時にカウンタ(7)のインク
    リメント/デクリメントなどの処理を実行するようなマ
    イクロ命令の実行時においてバス転送エラーが発生した
    場合、そのときの前記カウンタ(7)に対するカウント
    操作等の情報を記憶する記憶手段(8)とをさらに有し
    、 前記バス転送エラー発生時には、上記記憶手段(8)に
    記憶されているカウント操作等の情報に基づいて前記カ
    ウンタ(7)等の値を前記マイクロ命令の実行前の状態
    に戻した後、前記マイクロ命令の再実行を行うことを特
    徴とする請求項1、2、3または4記載のデータ転送の
    リトライ制御方式。
JP2231296A 1990-08-31 1990-08-31 データ転送のリトライ制御方式 Expired - Fee Related JP2782471B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2231296A JP2782471B2 (ja) 1990-08-31 1990-08-31 データ転送のリトライ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2231296A JP2782471B2 (ja) 1990-08-31 1990-08-31 データ転送のリトライ制御方式

Publications (2)

Publication Number Publication Date
JPH04112254A true JPH04112254A (ja) 1992-04-14
JP2782471B2 JP2782471B2 (ja) 1998-07-30

Family

ID=16921391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2231296A Expired - Fee Related JP2782471B2 (ja) 1990-08-31 1990-08-31 データ転送のリトライ制御方式

Country Status (1)

Country Link
JP (1) JP2782471B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5924347A (ja) * 1982-07-30 1984-02-08 Hitachi Ltd マイクロ命令実行制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5924347A (ja) * 1982-07-30 1984-02-08 Hitachi Ltd マイクロ命令実行制御方法

Also Published As

Publication number Publication date
JP2782471B2 (ja) 1998-07-30

Similar Documents

Publication Publication Date Title
JP3123047B2 (ja) マイクロプロセッサ
US4074353A (en) Trap mechanism for a data processing system
US7334161B2 (en) Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
US4710866A (en) Method and apparatus for validating prefetched instruction
JPH02232737A (ja) パイプライン方式コンピューターシステムにおいてエラーを検出し訂正する方法及び装置
IL100991A (en) Method for translating a first program code to a second program code
KR980010764A (ko) 인터럽트 제어방식, 프로세서 및 계산기 시스템
US7752427B2 (en) Stack underflow debug with sticky base
JP2513417B2 (ja) 情報処理装置
US4757445A (en) Method and apparatus for validating prefetched instruction
CN100549946C (zh) 用于执行数据处理操作的装置和方法
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
TW201734769A (zh) 處理向量指令
US5212779A (en) System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction
JPH04112254A (ja) データ転送のリトライ制御方式
US20080133838A1 (en) Data processing device
WO1988007239A1 (en) Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
JPH0192843A (ja) データ処理装置
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JP3171615B2 (ja) データ転送のリトライ制御方式
JP2607319B2 (ja) プログラマブルコントローラ
EP0155275B1 (en) Prefetch validation
CA1223079A (en) Data processor having selective breakpoint capability with minimal overhead
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
JPH0147818B2 (ja)

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090522

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20090522

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090522

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100522

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees