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
Links
Abstract
め要約のデータは記録されません。
Description
おけるバスを介するメモリ・Ilo等へのデータ転送の
リトライ制御方式に関し、データ転送を高速にでき、か
つマイクロプログラムメモリの使用容量を減少可能なデ
ータ転送のリトライ制御方式を提供することを目的とし
、マクロプログラムが格納されるマクロプログラムメモ
リ、該マクロプログラムメモリのアドレスを指定するマ
クロプログラムカウンタ、マイクロプログラムが格納さ
れるマイクロプログラムメモリ、該マイクロプログラム
メモリのアドレスを指定するマイクロシーケンサ、前記
マイクロプログラムメモリから読み出されるマイクロ命
令に基づいて動作を行うCPUを有するプロセッサにお
けるデータ転送のリトライ制御方式において、所定のマ
クロ命令を解読実行するマイクロプログラムのマイクロ
命令の実行によりバス転送エラーが発生した場合、前記
CPUのリードデータの取り込み動作、及びデータの転
送アドレスのインクリメント並びに前記マイクロシーケ
ンサの指定するアドレスの更新をアボートして前記所定
のマイクロ命令を再実行する処理を、バス転送エラーが
解消されない場合、所定回数まで繰り返すように構成す
る。
ロセッサにおけるバスを介するメモリ・Ilo等へのデ
ータ転送のリトライ制御方式に関する。
成例を示す図である。各種コンピュータ及びプログラマ
ブル・コントローラ等の情報処理装置は、一般に第9図
に示すように、プロセッサ100、メモリ200、I1
0装置(入出力装置)300、伝送インタフェース40
0等で構成される。プロセッサ100は、これらのメモ
リ200、I10デバイス300、伝送インタフェース
400等と情報交換を行う際、システムバス500を介
してデータ転送を行う、プロセッサ100は、マイクロ
プログラム制御方式を採用しており、FORTRAN、
C0BOL等の高級言語もし゛くはプログラム・コン
トローラ用のコントローラ言語等で記述されたソースプ
ログラムをコンパイルまたはアセンブルして得られるマ
クロ命令から成るマクロプログラムの実行を、マイクロ
プログラムにより解読して行う。
ログラムを格納しているマイクロプログラムメモリ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とから成
っている。
エッカ/ジェネレータ121検出によるパリティエラー
発生、及びバスアクセス時間監視回路122検出による
バスアクセス時間異常、及びスレーブデバイス異常信号
判定回路123検出によるデータ転送時のスレーブデバ
イス異常のどれかの要因により、バスエラー信号を出力
する。
8は、それぞれプログラムカウント・イネーブル信号(
PCB)、アドレスラッチ・イネーブル信号(ALE)
がアクティブになったときに、アドレス信号がセットさ
れる。また、上記CPU104は、ローカルデータバス
130を介し、前記システムバス500に接続されてい
る。
されたマクロプログラムメモリ105内のマクロ命令は
、MAP処理によりμm5QCI02を介してμmM、
EM101に格納されている対応する複数のマイクロ命
令から成るインタプリタによって、解読・実行される。
つかの種類があり、例えば、32ビツト長のり一ド/ラ
イト転送、16ビツト長のリード/ライト転送、8ビツ
ト長のり一ド/ライト転送、及び16/8ビツト長の符
号付転送(転送時に符号拡張して32ビツト長に変換す
る)等がある。そして、μm5QCIO2内にはこれら
の各マクロ命令に対応したインタプリタが格納されてい
る。
の当該インタプリタの起動と同時に、マクロプログラム
メモリ105から読み出されているマクロ命令中のアド
レスオペランドを物理アドレス生成回路107により物
理アドレスである転送アドレスに変換した後、ALE信
号をアクティブにすることにより、転送アドレスレジス
タ108にラッチされる。そして、上記インタプリタの
起動によりCPU104がシステムバス500を介する
データ転送を開始するとき、転送アドレスレジスタ10
8から転送アドレスがシステムバス500に出力され、
該当するメモリ200もしくはI10装置300等と情
報交換が行われる。
、バス転送エラー検出回路120により、システムバス
500上のバスデータのパリティチエツク、バスアクセ
スの時間監視、及びデータ転送先のスレーブ側装置の異
常状態が常にチエツクされ、異常時には一過性の不良動
作を切り捨てるためにリトライ処理を行う。そして、リ
トライ処理が失敗した時は、その旨をシステム管理プロ
グラム内のRAS処理ルーチンに通知し、システム見地
で縮退による継続運転またはシステムの停止等の決定を
行う。
ながら、上記従来例におけるバスを介するデータ転送の
リトライ制御方式を説明する。尚、リトライカウンタR
TC(以後、単にRTCと記述する)の値はリトライ回
数を決定する。この例ではリトライ回数を3回に設定し
ているものとする。
インクブリタにおいては、システムバス500を介して
32ビツトのデータをリードした後(SAI)、バス転
送エラー検出回路120により、バスエラーが発生した
か否かを判別しく5A2)、バスエラー発生時には32
ビツト長のデータリード専用のリトライサブルーチンを
コールする(SA3)。
行われた時には、MAP処理によりMPC106がカウ
ントアツプされ、次のマクロ命令へ処理が移る。
すバス転送エラー検出回路120が、上記32ビツトデ
ータ転送において検出したバスエラー信号をテストコン
デイション選択回路109を介してμm3QC102に
出力することにより、μm5QC102が行う。
トライサブルーチンを示すフローチャートであり、この
32ビツト長データのリード専用リトライサブルーチン
は、リトライ回数を3回に設定した例である。
り説明する。
(SBI)。
)、「0」に等しくなければ32ビツトデータを再び読
み出す(SB4)。
ラーが発生していれば再び前記処理SB2に戻り、再び
32ビツトデータの読み出しを行う。
い場合には、リトライリードの成功となり、本サブルー
チンをリターンで抜はインタプリタに戻りMAP処理を
行い、次のマクロ命令の解読実行へと処理を継続してい
(。
出しが失敗した時には、上記処理SB2〜SB5を最大
3回繰り返し、バスエラーが解消しない場合には、上記
判別処理SB3でRTC=Oと判別し、システム管理プ
ログラムのRAS処理を起動させた後、本サブルーチン
をリターンで抜け、割り込みによりシステム管理プログ
ラム処理へ移行する。
1図(a)に示す16ビツトリードインタプリタ並びに
同図Φ)に示す16ビツトリード専用リトライサブルー
チンにより、上記32ビツトデータの読み出しと同様な
処理が行われる。また、他の各種データビット長及び各
種転送モードのり一ド/ライトにおいても、それらの転
送処理を行うインタプリタとそれらのインタプリタ毎に
用意されだ専用のリトライサブルーチンにより同様な処
理が行われる。
ンタプリタによるバスを介するデータ転送処理において
は、メモリのリード・ライト等のデータ転送処理後に必
ずバスエラーが発生したか否かをチエツクするステップ
が必要であり、1つのマクロ命令を解読実行するマイク
ロプログラムのステップ数が少ない場合、処理速度の遅
延に大きく影響していた。(1つのマクロ命令を解読実
行するマイクロプログラムが1ステツプの場合は、転送
命令の処理時間は2倍になる) また、データ転送のアクセスモードが複数個ある場合(
例えば、32ビツトリード・16ビツトリード・8ビツ
トリード・32ビツトライト・16ビツトライト・8ビ
ツトライト等)は、それらの各アクセスモードに対応し
て、リトライ処理ルーチンも複数個用意しなければなら
ず、マイクロプログラムメモリの使用容量が大きくなっ
てしまうという欠点があった。
グラムメモリの使用容量を減少可能なデータ転送のリト
ライ制御方式を提供することを目的とする。
ラムメモリ1、該マクロプログラムメモリ1のアドレス
を指定するマクロプログラムカウンタ2、マイクロプロ
グラムが格納されるマイクロプログラムメモリ3、該マ
イクロプログラムメモリ3のアドレスを指定するマイク
ロシーケンサ4、前記マイクロプログラムメモリ3から
読み出されるマイクロ命令に基づいて動作を行うCPU
5を有するプロセッサにおけるデータ転送のリトライ制
御方式を前提とする。
定のマクロ命令を解読実行するマイクロプログラムのマ
イクロ命令の実行によりバス転送エラーが発生した場合
、CPtJ5のリードデータの取り込み動作、及びデー
タの転送アドレスのインクリメント並びにマイクロシー
ケンサ4の指定するアドレスの更新をアボートして、前
記所定のマイクロ命令を再実行する処理を、バス転送エ
ラーが解消されない場合、所定回数まで繰り返す。
ムのマイクロ命令の再実行の繰り返し回数の計数は、例
えば、請求項2記載のようにバス転送エラー発生後に起
動されるマイクロプログラムメモリ3に格納された割り
込み処理ルーチン3aの実行により行われる。
3記載のように、起動される毎に、今回のバス転送エラ
ー時のマクロプログラムカウンタ2の値と前回のバス転
送エラー時のマクロプログラムカウンタ2の値とを比較
することにより、同一マクロ命令の実行によるバス転送
エラーであるか否かを判別し、同一マクロ命令が実行さ
れたものと判別したときのみ、前記マクロ命令を解読実
行するマイクロプログラムのマイクロ命令の再実行回数
の計数を行うようにしてもよい。
ように前記バス転送エラーを引き起こしたマクロ命令を
解読実行するマイクロプログラムのマイクロ命令を前記
所定回数だけ再実行させても、バス転送エラーが解消し
ない場合には、前記データの転送アドレスをマイクロプ
ログラム・オペレーティング・システムの管理下のバス
転送エラーの発生しないダミーアドレスに変更して復帰
するようにしてもよい。
いて、バス転送動作と同時にカウンタ7のインクリメン
ト/デクリメントなどの処理を行う場合、前記マイクロ
プログラムメモリ3から出力された該マイクロ命令をパ
イプラインレジスタ6ヘラツチすると同時にカウンタ7
のインクリメント/デクリメントなどの処理を実行する
(すなわち、同一マイクロ命令で記述されているが、カ
ウンタ7のインクリメント/デクリメントなどの処理の
みは、バス転送動作よりも1クロツタサイクル先に実行
する。)ようなマイクロ命令の実行時においてバス転送
エラーが発生した場合、そのときの前記カウンタ7に対
するカウント操作等の情報を記憶する記憶手段8とをさ
らに有するマイクロプログラム制御方式のプロセッサに
おいては、バス転送エラー発生時には、上記記憶手段8
に記憶されている該マイクロ命令がパイプラインレジス
タ6ヘラツチされると同時に処理されたカウント操作等
の情報に基づいて、前記カウンタ7等の値を前記マイク
ロ命令実行前の状態に戻した後、前記マイクロ命令の再
実行を行うようにしてもよい。
5により所定のマクロ命令を解読実行するマイクロプロ
グラムのマイクロ命令が実行された際、バス転送エラー
が発生すると、CPU5のり一ドデータの取り込み動作
、及びデータの転送アドレスの更新がアボートされ、ま
た、マイクロシーケンサ4のマイクロプログラムカウン
タ(μmPC)の更新もアボートされ、バス転送エラー
割込みによるリトライ制御処理の後に、前記所定のマク
ロ命令が命令実行前の状態で再び実行される。そして、
このマイクロ命令の再実行を、バス転送エラーが解消さ
れない場合、所定回数まで繰り返す。
いて、リトライ失敗と判定した場合に、転送アドレスを
マイクロプログラムのオペレーティングシステムに変更
して割込み復帰することにより、前記所定のマイクロ命
令をバスエラーが発生しないで強制的に抜けることがで
きる。
時にカウンタ7のインクリメント/デクリメントなどの
処理を行う場合、前記マイクロプログラムメモリ3から
出力された該マイクロ命令をパイプラインレジスタ6ヘ
ラツチすると同時にカランタフのインクリメント/デク
リメントなどの処理を実行する(すなわち、同一マイク
ロ命令で記述されているが、カランタフのインクリメン
ト/デクリメントなどの処理のみは、バス転送動作より
も1クロツクサイクル先に実行する。)ようなマイクロ
命令の実行時にバス転送エラーが発生したならば、その
時の上記カウンタ7のカウント操作等の情報を記憶手段
8に記憶させておき、バス転送エラー割込み処理におい
て、上記記憶手段8に記憶されているカウント操作等の
情報に基づいて、前記カウンタ7等の値を前記マイクロ
命令の実行前の状態に戻した後、前記マイクロ命令の再
実行を行う、この場合も、前記マイクロ命令の再実行は
、所定回数だけ繰り返される。
ログラムのマイクロ命令の実行によりバス転送エラーが
発生した場合、自動的に上記マイクロ命令が所定数回繰
り返されてデータ転送のリトライが行われるので、従来
のように各種データ転送用のマクロ命令に対応したマイ
クロプログラムのインクブリタ毎に、専用のリトライサ
ブルーチンを設ける必要がなくなる。また、バス転送エ
ラーが発生しない場合には、直ちに次のマクロ命令を実
行することができる。
する。
構成図である。尚、同図において、前記第9図に示すブ
ロックと同一のブロックには同一番号を付し、詳しい説
明は省略する。
みベクタが格納されている割込みベクタレジスタ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とから成ってい
る。
力されるデータ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から出力される。
クロ命令を解読・実行してデータのバス転送を行う動作
とそのデータ転送時のバスエラーを検出する動作は、前
述した従来例と同様であり、その説明は省略する。CP
U160は、PLRI03から出力されるCPU制御信
号(CPUC)により各種演算・転送制御、キャッシュ
メモリ161のアドレス信号A並びにB、キャッシュメ
モリ161に対するライト動作が指示される。
120からバスエラー信号が出力され、ゲート165に
よりキャッシュメモリ161に対するリードデータの書
き込みが禁止される。また、ゲート171により次に実
行されるマクロ命令の転送アドレスの転送アドレスレジ
スタ108に対する書き込みが禁止され、さらにゲート
172によりMPC106のカウント動作が禁止される
。
禁止される。また、同じくバスエラー信号により、μm
5QC150においては、ブランチ制御部152を介し
、μmPCl53のカウント動作が禁止され更新されな
い状態のμmPCl53の値が、μmスタック154に
格納される。そして、マルチプレクサ155は、マクロ
プログラムメモリ105から読み出されるマクロ命令の
MAPアドレスを選択しないで割込ベクタレジスタ15
1から出力されるリトライ処理ルーチンのアドレスを選
択し、μmPCl53並びにμmMEM101に出力す
る。このことにより、μmMEM101に格納されてい
るリトライ処理ルーチンが実行される。また、上述した
ように、バスエラーが発生した場合、更新されないμm
PCl53の値が、μmスタック154に格納されるの
で、バスエラー割込により起動されるリトライ処理ルー
チンからリターン命令で復帰するときは、μ−スタック
154内に格納されている前記バスエラーを起こした転
送命令のμアドレスを選択することにより、再びバス転
送のリトライを行うことができる。
ログラムにより行われる32ビツト、16ビツトのバス
転送処理におけるルーチンを示すフローチャートである
。
ードインクプリタは、どちらもそれぞれの転送動作と同
時にMAPの処理を行うために、1りロックでマクロ命
令のインタプリタを終了する。
割込処理を説明するフローチャートである。尚、リトラ
イ回数は3回とした例とする為同図のフローチャートが
実行される前に、RTCには「4」が初期設定されてい
るものとして、以下説明を行う。
C4は行われない。
送動作においてバスエラーが発生した場合、上述したよ
うに、マルチプレクサ155により、割込みベクタレジ
スタ151に格納されているバス転送エラーに対応する
割込みペクタの示すリトライ制御処理ルーチンの先頭ア
ドレスが選択され、その先頭アドレスがμmMEMIO
Iに供給されることにより、第5図のフローチャートに
示すデータ転送のリトライ制御用の割込処理ルーチンが
起動される。
記す)と前回のMPCが等しいか否かの判別を行い(S
C1)、等しい場合は処理SC2へ、等しくない場合は
処理SC5へ移行する。
3)、RTCが「0」に等しくなければリターン命令(
RET)により第3図に示すインタプリタの32ピツト
リー[゛の実行によるリトライを行い、バスエラーが発
生せずリトライが成功した場合には、同時実行するMA
P処理により、次のマクロ命令の解読実行へと処理を継
続していく。
発生した場合には、再び、割込処理により上記処理SC
Iへ移行する。
Cに等しくない場合は、同一マクロ命令を解読実行する
マイクロプログラムのインタプリタによるバス転送命令
でないため、リトライ制御をクリアするため、現在のM
PCを前回のM P C9’JA域に格納した後(SC
5)、RTCを「4」に初期設定する(SC6)。
2ビツトリード→SCI→SC2→SC3の処理が3回
繰り返された後、上記処理SC3でRTCが「O」とな
り、システム管理プログラムのRAS処理起動後に(S
C7)、マイクロプログラム・オペレーティングシステ
ムのダミーアドレスを転送アドレスレジスタ108に格
納してリターンすることにより(SC8)、バスエラー
の起きないダミー転送を行わせて、前記第3図に示す3
2ビツトデータ転送マイクロプログラムステツプを強制
的に終結し、システム管理プログラム処理へ割込により
移行する。
に示す16ビツトリードインクプリタの転送処理と上述
した第5図のフローチャートに示すバスエラー時のリト
ライ制御用の割込処理が、上記32ビツトリードと同様
にして行われる。また、その他の各種ビットおよび各種
転送モードのり一ド/ライトにおいても、それらのデー
タ転送を行うインタプリタの実行並びに第5図のフロー
チャートに示すバスエラー発生時のリトライ制御用の割
込処理ルーチンの実行が同様に行われる。
チすると同時に実行される動作を伴ったバス転送のマイ
クロ命令(μ命令)を実行するプロセッサにおいては、
上記第1の実施例では完全にアボードできない。以下、
このような動作を伴った場合に対応する第2実施例につ
いて説明する。
構成を示す図である。
は、キャッシュメモリ182をスタック構造で使用する
ときのポインタであり、マイクロプログラムメモリ (
μmMEM)191から読み出されたマイクロ命令がパ
イプラインレジスタ(PLR)192にセントされると
同時に、μmMEM191から出力されるカウントイネ
ーブル信号CTEとカウントアツプ/ダウン信号UP/
mにより、カウントアツプ/ダウン動作を行う。アンド
ゲート183は、PLR192から出力されるカウント
イネーブル信号CTEXとカウントアツプ/ダウン信号
UP/UπXにより、バスエラー時のDSP 181の
カウントアツプ条件を生成するANDゲートであり、そ
の出力はJKフリップフロップ(JK−F/F)184
に記憶される。
181のカウントダウン条件を生成するANDゲートで
あり、その出力はJKフリップフロップ(JK−F/F
)186に記憶される。
ラムの実行によりALU188から出力される前記JK
−F/F184,186がバスエラー時に記憶している
DSP181のカウンタアップ/ダウン情報をクリア(
リセット)するためのコマンドを格納するレジスタであ
る。
及びPLR192を有する第2実施例の動作を説明する
。
ントアツプを行う動作が実行された際に、バスエラーが
発生した場合の動作を、第7図のタイミングチャートを
参照しながら説明する。尚、バス転送によりバスエラー
が発生したときの、特に図示していないマイクロシーケ
ンサ(μm5QC)及びCPU 180の各アボート動
作は、前述した第2図に示す第1実施例と同様である。
おけるクロックのタイミング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とし
て組み込むことにより同等の機能を実現できる。
/F184.186の出力を読み出して、バスエラー時
のカウントアツプ指令有のときは、DSP 181のカ
ウント値を°′1“デクリメント(減算)して(SD2
) 、DSP 181の値を上記データ転送命令の実行
前のカウント値「5」に戻した状態とし、さらにJK−
F/F1B4の出力をコマンドレジスタ187を介して
リセットさせた後(SD5)、リターン命令により元の
インタプリタの転送命令の実行へ移行しリトライを行う
。
ダウンを行う場合も、ゲート185とJK−F/F F
86により、上記と同様にしてバスエラー時にJK−F
/F 184.186の出力を読み出して、バスエラー
時のカウントダウン指令有を認識してDSP181のカ
ウント値を「1」インクリメント(増加)して(SD4
)、DSP181の値を上記データ転送命令の実行前の
カウント値に戻してからリトライすることができる。
の値をデータ転送実行前に戻して、リトライ処理を行う
ことができる。
/ダウンの例であるが、バス転送命令をパイプラインレ
ジスタヘラッチすると同時に実行される各種の動作を伴
ったバス転送のマイクロ命令においても、バスエラー信
号の発生タイミングでその動作があったことを記憶する
複数のF/Fを備えることにより、バスエラー割込処理
の中でリトライする前にF/Fの出力を確認し、その動
作をデータ転送の実行前に戻すことが可能である。
令を解読実行するマイクロプログラムのマイクロ命令の
実行により、バス転送エラーが発生した場合、同一のマ
イクロ命令のステップを所定回数繰り返して再実行させ
るようにしたので、インクプリタ内で転送命令を実行す
るマイクロ命令の実行後に、バスエラー判定用の同じく
マイクロ命令から成るステップを実行することが不要と
なり、バスエラーの無い時のデータ転送のマクロ命令を
高速にマイクロプログラムで解読実行することができる
。またモードの異なる複数のデータ転送用のマクロ命令
に対しては、各マクロ命令を解読実行するマイクロプロ
グラムのマイクロ命令上でリトライする為マクロ命令毎
に、リトライ用のサブルーチンを用意することも不要と
なるので、マイクロメモリの使用容量を減少することが
できる。
明するフローチャート、 第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)のアドレ
スを指定するマクロプログラムカウンタ(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記載のデータ転送の
リトライ制御方式。
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5924347A (ja) * | 1982-07-30 | 1984-02-08 | Hitachi Ltd | マイクロ命令実行制御方法 |
-
1990
- 1990-08-31 JP JP2231296A patent/JP2782471B2/ja not_active Expired - Fee Related
Patent Citations (1)
| 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 |