JP2564290B2 - 命令再開処理方法および装置 - Google Patents
命令再開処理方法および装置Info
- Publication number
- JP2564290B2 JP2564290B2 JP62022347A JP2234787A JP2564290B2 JP 2564290 B2 JP2564290 B2 JP 2564290B2 JP 62022347 A JP62022347 A JP 62022347A JP 2234787 A JP2234787 A JP 2234787A JP 2564290 B2 JP2564290 B2 JP 2564290B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- microprogram
- storage means
- address
- read address
- 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
Landscapes
- Retry When Errors Occur (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプログラム制御方式のデータ処理
装置における、命令再開処理方法および装置に関する。
装置における、命令再開処理方法および装置に関する。
従来、処理装置の間歇的な誤動作からの回復方法とし
ては、命令の最初からの再実行が一般的であつた。この
ような命令再実行は、特公昭47−48614号に記載のよう
に、実行する命令で破壊されるレジスタの内容あるいは
記憶装置の内容を退避しておき、誤動作の検出時に元の
レジスタあるいは記憶装置に戻して、命令を最初から再
実行していた。ところが、命令が高機能化されると、退
避しなければならない情報が増す上、処理速度を低下す
る問題があつた。
ては、命令の最初からの再実行が一般的であつた。この
ような命令再実行は、特公昭47−48614号に記載のよう
に、実行する命令で破壊されるレジスタの内容あるいは
記憶装置の内容を退避しておき、誤動作の検出時に元の
レジスタあるいは記憶装置に戻して、命令を最初から再
実行していた。ところが、命令が高機能化されると、退
避しなければならない情報が増す上、処理速度を低下す
る問題があつた。
一方、システムアーキテクチヤが高級化するに従い、
命令の中断要因として、前記誤動作の他に仮想記憶サポ
ートのために必然的に発生するミツシング・ページ・フ
オールト等があり、このような高機能命令の実行途中で
ミッシングページフォールト等が発生した場合、命令再
開時に、最初から高機能命令の再実行を行うことは難し
い。この問題に対し、命令の処理途中からの再開方式が
提案されている。USP4488228あるいは特開昭53−84540
号に記載の命令途中再開方式は、命令中断が発生した場
合に、命令中断時点の内容を退避しておき、再開時に退
避情報を回復して処理を再実行している。しかし、前記
命令途中再開方式においては、中断時点の退避情報が多
大となるという問題がある。特にパイプライン方式のデ
ータ処理装置においては、複数のユニツトの制御情報を
退避する必要があり、退避・回復のためのハードウエア
が大規模になると共に、退避・回復の時間が大きくな
る。
命令の中断要因として、前記誤動作の他に仮想記憶サポ
ートのために必然的に発生するミツシング・ページ・フ
オールト等があり、このような高機能命令の実行途中で
ミッシングページフォールト等が発生した場合、命令再
開時に、最初から高機能命令の再実行を行うことは難し
い。この問題に対し、命令の処理途中からの再開方式が
提案されている。USP4488228あるいは特開昭53−84540
号に記載の命令途中再開方式は、命令中断が発生した場
合に、命令中断時点の内容を退避しておき、再開時に退
避情報を回復して処理を再実行している。しかし、前記
命令途中再開方式においては、中断時点の退避情報が多
大となるという問題がある。特にパイプライン方式のデ
ータ処理装置においては、複数のユニツトの制御情報を
退避する必要があり、退避・回復のためのハードウエア
が大規模になると共に、退避・回復の時間が大きくな
る。
従来の命令途中再開方式では、命令の再開のための退
避情報が多大となる問題があつた。
避情報が多大となる問題があつた。
本発明の目的は、間歇的な誤動作に対するリトライ時
あるいは、ミツシング・ページ・フオールト等の命令中
断時に、退避情報の少ない再開処理方法および装置を提
供することにある。
あるいは、ミツシング・ページ・フオールト等の命令中
断時に、退避情報の少ない再開処理方法および装置を提
供することにある。
上記目的は、マイクロプログラム(マイクロ命令)の
指定により再開点を設定できるハードウエアを持つこ
と、すなわち、マイクロプログラムを格納した制御記憶
の再開アドレスを退避するレジスタとマイクロ命令の指
定により前記退避レジスタに再開点を書込み手段と、前
記退避レジスタに再開点が書込まれたことを記憶する再
開点有効フラグと、マイクロ命令により、前記再開点有
効フラグの内容を判別する手段と、前記退避レジスタに
書込まれている再開点より処理を再実行するハードウエ
アを持ち、中断命令を再開する際、中断点から再開する
のではなく、前記再開点有効フラグの内容を判定し、再
開点が設定されている場合は、退避レジスタの再開点よ
り、処理を再実行し、再開点が設定されていない場合
は、中断命令の命令フエツチから再実行することにより
達成される。
指定により再開点を設定できるハードウエアを持つこ
と、すなわち、マイクロプログラムを格納した制御記憶
の再開アドレスを退避するレジスタとマイクロ命令の指
定により前記退避レジスタに再開点を書込み手段と、前
記退避レジスタに再開点が書込まれたことを記憶する再
開点有効フラグと、マイクロ命令により、前記再開点有
効フラグの内容を判別する手段と、前記退避レジスタに
書込まれている再開点より処理を再実行するハードウエ
アを持ち、中断命令を再開する際、中断点から再開する
のではなく、前記再開点有効フラグの内容を判定し、再
開点が設定されている場合は、退避レジスタの再開点よ
り、処理を再実行し、再開点が設定されていない場合
は、中断命令の命令フエツチから再実行することにより
達成される。
再開点はマイクロプログラムにより指定するため、予
め再開が可能なステツプに設定でき、また再開が不可能
になる場合(再開点以降でソースとなるレジスタの更新
がある)は次の再開点を設定できる。このようにして予
め再開点を適切に設定し、また、再開点の設定が行なわ
れたかどうかを示すフラグを持ち、さらに、前記フラグ
をマイクロ命令で判別することにより、正しい再開が実
行される。
め再開が可能なステツプに設定でき、また再開が不可能
になる場合(再開点以降でソースとなるレジスタの更新
がある)は次の再開点を設定できる。このようにして予
め再開点を適切に設定し、また、再開点の設定が行なわ
れたかどうかを示すフラグを持ち、さらに、前記フラグ
をマイクロ命令で判別することにより、正しい再開が実
行される。
第2図は本発明のシステム構成例であり、命令の実行
を行う基本処理装置BPU1,キヤツシユメモリを内蔵し、
アドレス変換及びメモリの制御を行なうメモリ制御ユニ
ツトMCU2,命令及びデータを格納する主記憶装置MS3,高
速バスH−BUS9及び低速バスL−BUS10を制御するI/Oア
ダプタI/O ADPT4を構成要素としている。
を行う基本処理装置BPU1,キヤツシユメモリを内蔵し、
アドレス変換及びメモリの制御を行なうメモリ制御ユニ
ツトMCU2,命令及びデータを格納する主記憶装置MS3,高
速バスH−BUS9及び低速バスL−BUS10を制御するI/Oア
ダプタI/O ADPT4を構成要素としている。
本システムの動作を以下に説明する。
BPU1は、制御バス11,論理アドレスバス12,データバス
13を通してMCU2にアクセスする。MCU2は、論理アドレス
を論理アドレスに変換し、内蔵キヤツシユメモリに(以
下キヤツシユと略称する)に前記物理アドレスに対応す
るデータがあればデータバス13を通してBPU1に転送す
る。もしキヤツシユにデータがなければ、制御バス15,
物理アドレスバス16,データアス17を通してMS3にアクセ
スする。また、MCU2はアドレス変換を行なうときに対応
するページがMS3上にないとき、信号線14によりミツシ
ング・ページ・フオールトをBPU1に報告する。
13を通してMCU2にアクセスする。MCU2は、論理アドレス
を論理アドレスに変換し、内蔵キヤツシユメモリに(以
下キヤツシユと略称する)に前記物理アドレスに対応す
るデータがあればデータバス13を通してBPU1に転送す
る。もしキヤツシユにデータがなければ、制御バス15,
物理アドレスバス16,データアス17を通してMS3にアクセ
スする。また、MCU2はアドレス変換を行なうときに対応
するページがMS3上にないとき、信号線14によりミツシ
ング・ページ・フオールトをBPU1に報告する。
またI/O ADPT4はH−BUS9とL−BUS10とからの転送要
求のアビツトレーシヨンを行ない、制御バス18,物理ア
ドレスバス19およびデータバス2を通してMCU2へアクセ
スする。H−BUS9には主にフアイル装置6などの高速デ
バイスが接続される。本実施例では、フアイル制御装置
5がH−BUS9に接続され、フアイル装置6を制御してDM
A転送を行なう。L−BUS10にはI/O制御装置7が接続さ
れ、I/O装置8を制御してDMA転送を行なう。
求のアビツトレーシヨンを行ない、制御バス18,物理ア
ドレスバス19およびデータバス2を通してMCU2へアクセ
スする。H−BUS9には主にフアイル装置6などの高速デ
バイスが接続される。本実施例では、フアイル制御装置
5がH−BUS9に接続され、フアイル装置6を制御してDM
A転送を行なう。L−BUS10にはI/O制御装置7が接続さ
れ、I/O装置8を制御してDMA転送を行なう。
第3図はBPU1の内部構成例を示す。
IF100は命令を先行フエツチするユニツトであり、先
行フエツチされた命令を内部のバツフアに格納し、DA10
1から信号線106を通してくる命令要求毎に、前記内部バ
ツフアの命令を信号線107を通して渡す。DA101は、IF10
0から渡された命令をデコードして実行ユニツトE102の
命令に対応するマイクロプログラムのアドレスを生成
し、信号線109を通して渡す。またDA101は、マイクロプ
ログラムのアドレスと共に、前記命令のアドレスを信号
線110を通してE102に渡す。また、DA101は、命令のオペ
ランドの実効アドレスを計算し、信号線111を通してE
ユニツト102に渡す。E102はマイクロプログラム制御方
式の命令実行ユニツトであり、DA101から渡されるマイ
クロプログラムのアドレスとオペランドの実効アドレス
により、命令を実行する。E102はオペランドの読出しを
行なう場合、制御バス113,論理アドレスバス114,データ
バス115を通してMINF103にアクセス要求を行なう。IF10
0が命令フエツチを行なう場合は、制御バス104,論理ア
ドレスバス105,データバス116を通してMINF103に命令読
出しアクセス要求を行なう。MINF103は、IF100とE102の
アクセス要求のアビトレーシヨンを行ない、MCU2に対し
てアクセス要求を行なう。
行フエツチされた命令を内部のバツフアに格納し、DA10
1から信号線106を通してくる命令要求毎に、前記内部バ
ツフアの命令を信号線107を通して渡す。DA101は、IF10
0から渡された命令をデコードして実行ユニツトE102の
命令に対応するマイクロプログラムのアドレスを生成
し、信号線109を通して渡す。またDA101は、マイクロプ
ログラムのアドレスと共に、前記命令のアドレスを信号
線110を通してE102に渡す。また、DA101は、命令のオペ
ランドの実効アドレスを計算し、信号線111を通してE
ユニツト102に渡す。E102はマイクロプログラム制御方
式の命令実行ユニツトであり、DA101から渡されるマイ
クロプログラムのアドレスとオペランドの実効アドレス
により、命令を実行する。E102はオペランドの読出しを
行なう場合、制御バス113,論理アドレスバス114,データ
バス115を通してMINF103にアクセス要求を行なう。IF10
0が命令フエツチを行なう場合は、制御バス104,論理ア
ドレスバス105,データバス116を通してMINF103に命令読
出しアクセス要求を行なう。MINF103は、IF100とE102の
アクセス要求のアビトレーシヨンを行ない、MCU2に対し
てアクセス要求を行なう。
DA101とE102の間には、オペランド単位のパイプライ
ンとなつており、DA101で複数回のアドレス計算が実行
される場合は、DA101とE102は同一命令を処理する。ま
た、信号線112は、アドレス信号線であり、IF100,DA101
に対して、初期化後の命令を指定するためのものであ
る。
ンとなつており、DA101で複数回のアドレス計算が実行
される場合は、DA101とE102は同一命令を処理する。ま
た、信号線112は、アドレス信号線であり、IF100,DA101
に対して、初期化後の命令を指定するためのものであ
る。
第1図は、Eユニツト102の内部構成を示す。マイク
ロアドレスセレクタ(SEL)201は現マイクロ命令の次に
実行するマイクロアドレスを選択するためのセレクタで
あり、その入力としては、DA101から信号線109を通して
渡されるマイクロプログラムの先頭アドレス,インクリ
メンタ205からの現実行マイクロプログラムアドレス+
1,制御記憶204からの分岐アドレス,例外処理の固定ア
ドレス,ALU214出力バス216からのアドレス等である。マ
イクロアドレスセレクタ202にて選択されたマイクロア
ドレスはCSAR(Control Storage Address Register)20
3に送られ、CS(Control Storage)204に伝えられる。C
S204は64bit×8Kステツプのマイクロプログラムを格納
する制御記憶である。CS204の出力はBPU1のマシンサイ
クル毎に読出され、MIR(Micro Instrution Register)
206に格納され、内部制御バス217を通して、BPU1の内部
ハードウエアに伝達され、レジスタの読出し,書込み,
演算器の制御等を行なう。前記マイクロアドレスセレク
タ202は、CS出力の分岐指定信号及びTest Bit回路201に
より制御される。Test Bit回路201はCS出力信号を通し
てマイクロ命令に従つて条件判定を行ないマイクロアド
レスセレクタ202を制御する。Test Bit回路201の入力信
号としては、制御線108を通して伝達されるマイクロア
ドレス(信号109)のReady信号と実効アドレス(信号11
1)のReady信号,ステータスレジスタ215からの演算結
果ステータス信号,信号線113を通して伝達されるMCU2
へのアクセス応答信号,現命令でCSAR203の退避が実行
され、RPR207に有効な再開時のアドレス(チエツクポイ
ントアドレス)が設定されていることを示す信号等があ
る。またTest Bit回路201は、信号線113を通して伝達さ
れるアクセス応答にページ・フオールト(Page Fault)
等の命令中断要因が含まれる場合に、マイクロアドレス
セレクタが固定アドレスを選択するように制御されてい
る。RPR(Restart Pointer Register)207はマイクロ命
令の指定(書込信号はCS204より出力)によりCSAR203の
アドレスを退避するためのレジスタであり、本レジスタ
への書込みが実行された場合、その有効ビツトであるV2
08がセツトされる。実行ユニツト102の演算部は、ソー
スバス211,212,レジスタフアイル213,ALU214,ステータ
スレジスタ215,デイステイネーシヨンバス216より構成
される。レジスタフアイル213は8本の汎用レジスタと
8本のワークレジスタ及びスタツクポインタにより構成
され、MIR206の出力制御信号217により選択され、リー
ド又はライトが行なわれる。ALU214はソースバス211,21
2のデータにより演算を実行し、デイステイネーシヨン
バス216に出力すると共に演算結果のステータスをSR215
に格納する。SEL218はDA101から信号線111を通して渡さ
れる実効アドレスとデイステイネーシヨンバス216のデ
ータのいずれか一方を選択し、MAR(Memory Address Re
gister)219に出力する。MAR219は信号線114を通してメ
モリアクセスアドレスをMINF103に伝達する。
ロアドレスセレクタ(SEL)201は現マイクロ命令の次に
実行するマイクロアドレスを選択するためのセレクタで
あり、その入力としては、DA101から信号線109を通して
渡されるマイクロプログラムの先頭アドレス,インクリ
メンタ205からの現実行マイクロプログラムアドレス+
1,制御記憶204からの分岐アドレス,例外処理の固定ア
ドレス,ALU214出力バス216からのアドレス等である。マ
イクロアドレスセレクタ202にて選択されたマイクロア
ドレスはCSAR(Control Storage Address Register)20
3に送られ、CS(Control Storage)204に伝えられる。C
S204は64bit×8Kステツプのマイクロプログラムを格納
する制御記憶である。CS204の出力はBPU1のマシンサイ
クル毎に読出され、MIR(Micro Instrution Register)
206に格納され、内部制御バス217を通して、BPU1の内部
ハードウエアに伝達され、レジスタの読出し,書込み,
演算器の制御等を行なう。前記マイクロアドレスセレク
タ202は、CS出力の分岐指定信号及びTest Bit回路201に
より制御される。Test Bit回路201はCS出力信号を通し
てマイクロ命令に従つて条件判定を行ないマイクロアド
レスセレクタ202を制御する。Test Bit回路201の入力信
号としては、制御線108を通して伝達されるマイクロア
ドレス(信号109)のReady信号と実効アドレス(信号11
1)のReady信号,ステータスレジスタ215からの演算結
果ステータス信号,信号線113を通して伝達されるMCU2
へのアクセス応答信号,現命令でCSAR203の退避が実行
され、RPR207に有効な再開時のアドレス(チエツクポイ
ントアドレス)が設定されていることを示す信号等があ
る。またTest Bit回路201は、信号線113を通して伝達さ
れるアクセス応答にページ・フオールト(Page Fault)
等の命令中断要因が含まれる場合に、マイクロアドレス
セレクタが固定アドレスを選択するように制御されてい
る。RPR(Restart Pointer Register)207はマイクロ命
令の指定(書込信号はCS204より出力)によりCSAR203の
アドレスを退避するためのレジスタであり、本レジスタ
への書込みが実行された場合、その有効ビツトであるV2
08がセツトされる。実行ユニツト102の演算部は、ソー
スバス211,212,レジスタフアイル213,ALU214,ステータ
スレジスタ215,デイステイネーシヨンバス216より構成
される。レジスタフアイル213は8本の汎用レジスタと
8本のワークレジスタ及びスタツクポインタにより構成
され、MIR206の出力制御信号217により選択され、リー
ド又はライトが行なわれる。ALU214はソースバス211,21
2のデータにより演算を実行し、デイステイネーシヨン
バス216に出力すると共に演算結果のステータスをSR215
に格納する。SEL218はDA101から信号線111を通して渡さ
れる実効アドレスとデイステイネーシヨンバス216のデ
ータのいずれか一方を選択し、MAR(Memory Address Re
gister)219に出力する。MAR219は信号線114を通してメ
モリアクセスアドレスをMINF103に伝達する。
RDR220はMINF103より信号線115を通してデータを受け
取り、ソースバス211に出力する。WDR221はデイステイ
ネーシヨンバス216のデータ受け取り、信号線115を通し
てデータをMINF103に送出する。プログラムカウンタPC2
10はE102で実行中の命令のMS3上でのアドレスを格納す
るものでSEL209より渡される。SEL209はDA101より信号
線110を通じて渡される命令アドレスとデイステイネー
シヨンバス216の入力を選択してPC210に出力する。信号
線112はDA101及びIF100に対してイニシヤライズ時ある
いは分岐命令実行時に、次命令実行アドレスを渡すため
の信号線である。
取り、ソースバス211に出力する。WDR221はデイステイ
ネーシヨンバス216のデータ受け取り、信号線115を通し
てデータをMINF103に送出する。プログラムカウンタPC2
10はE102で実行中の命令のMS3上でのアドレスを格納す
るものでSEL209より渡される。SEL209はDA101より信号
線110を通じて渡される命令アドレスとデイステイネー
シヨンバス216の入力を選択してPC210に出力する。信号
線112はDA101及びIF100に対してイニシヤライズ時ある
いは分岐命令実行時に、次命令実行アドレスを渡すため
の信号線である。
第4図は、ミツシング・ページ・フオールト発生時の
マイクロプログラム,エラー処理マイクロプログラム及
びOSプログラムの処理を示す。
マイクロプログラム,エラー処理マイクロプログラム及
びOSプログラムの処理を示す。
第4図(a)は命令マイクロプログラム中でメモリへ
データをライトする時のフローを示し、1ステツプがそ
のまま1マイクロ命令を示す。ステツプ(1)の‘WDR
←DRO'はレジスタフアイル213中の汎用レジスタDROの内
容をWDR221へセツトすることを示し、‘RPRSET'は、CSA
R203の制御記憶アドレスをRPR207にセツトし、V208をセ
ツトすることを示す。ステツプ(2)の‘MWT'はメモリ
へライトアクセス起動をかけることを示す。ステツプ
(3)の‘MAW'はステツプ(2)のライトアクセス起動
に対する応答を待つステツプである。もし、このライト
アクセスによりミツシング・ページ・フオールトが発生
すれば、TEST BIT回路201により、マイクロプログラム
アドレスセレクタ209はエラー処理の固定アドレスを選
択し、そこへジヤンプする。もし、正常終了応答が返さ
れた場合、エラー処理にはジヤンプせず、次のステツプ
へ進む。
データをライトする時のフローを示し、1ステツプがそ
のまま1マイクロ命令を示す。ステツプ(1)の‘WDR
←DRO'はレジスタフアイル213中の汎用レジスタDROの内
容をWDR221へセツトすることを示し、‘RPRSET'は、CSA
R203の制御記憶アドレスをRPR207にセツトし、V208をセ
ツトすることを示す。ステツプ(2)の‘MWT'はメモリ
へライトアクセス起動をかけることを示す。ステツプ
(3)の‘MAW'はステツプ(2)のライトアクセス起動
に対する応答を待つステツプである。もし、このライト
アクセスによりミツシング・ページ・フオールトが発生
すれば、TEST BIT回路201により、マイクロプログラム
アドレスセレクタ209はエラー処理の固定アドレスを選
択し、そこへジヤンプする。もし、正常終了応答が返さ
れた場合、エラー処理にはジヤンプせず、次のステツプ
へ進む。
第4図(b)の詳細内容を第5図に示す。
第5図における1ステツプは複数のマイクロ命令によ
り実行される。ステツプ(1)はV208がonしているか否
かTEST BIT回路201により判定しonnしている場合はイン
クリメンタ205のアドレスがマイクロプログラムセレク
タ202により選択されステツプ(2)へ移る。onしてい
ない場合は、CS出力の分岐アドレスがマイクロアドレス
セレクタ202により選択されステツプ(6)に移る。ス
テツプ(2)は、現時点の内部レジスタの退避を行なう
ステツプである。ステツプ(3)は次命令のアドレスを
DA101から信号線110を通して受け取り、スタツクに退避
する。ステツプ(4)は、再開時に途中再開させるため
の識別子αをスタツクに書込む。ステツプ(6)はOSプ
ログラムのページフオールト処理に分岐することを示
す。ステツプ(6)は、命令フエツチから再開するのに
必要な内部レジスタを退避することを示す。ステツプ
(7)は、再開時に命令フエツチから再開するための識
別子βをライトすることを示す。
り実行される。ステツプ(1)はV208がonしているか否
かTEST BIT回路201により判定しonnしている場合はイン
クリメンタ205のアドレスがマイクロプログラムセレク
タ202により選択されステツプ(2)へ移る。onしてい
ない場合は、CS出力の分岐アドレスがマイクロアドレス
セレクタ202により選択されステツプ(6)に移る。ス
テツプ(2)は、現時点の内部レジスタの退避を行なう
ステツプである。ステツプ(3)は次命令のアドレスを
DA101から信号線110を通して受け取り、スタツクに退避
する。ステツプ(4)は、再開時に途中再開させるため
の識別子αをスタツクに書込む。ステツプ(6)はOSプ
ログラムのページフオールト処理に分岐することを示
す。ステツプ(6)は、命令フエツチから再開するのに
必要な内部レジスタを退避することを示す。ステツプ
(7)は、再開時に命令フエツチから再開するための識
別子βをライトすることを示す。
第4図(c)は、まず、ページ・フオールトを発生さ
せたページをフアイル6よりMS3へ転送する処理(Page
Fault処理)を行ない、完了後、元の命令に戻るためRTE
(Return From Exception)命令を実行する。
せたページをフアイル6よりMS3へ転送する処理(Page
Fault処理)を行ない、完了後、元の命令に戻るためRTE
(Return From Exception)命令を実行する。
第6図はRTE命令の詳細内容を示したものである。ス
テツプ(1)はスタツク上の識別子により命令途中再開
(識別子=α)か、命令フエツチ再開(識別子=β)か
を判定する。ステツプ(2)は、スタツク上から次命令
のPCをリードして、IF100,DA101に対して次命令から命
令の実行を開始することを指示する。このとき、次命令
アドレスは、信号線112によりE102から、IF100及びDA10
1に渡される。ステツプ(3)は内部レジスタを回復す
るステツプであり、RPR以外の退避レジスタを回復す
る。ステツプ(4)は、RPRの退避情報をCSAR203にセツ
トして、中断命令の再開点に復帰するステツプである。
ステツプ(5)は、退避情報を回復するステツプ、ステ
ツプ(6)は中断命令を命令フエツチから再実行させる
ためのステツプであり、中断命令のアドレスが信号線11
2を通してE102からIF100及びDA101に渡される。さら
に、ステツプ(6)にてE102は命令待ち状態となる。
テツプ(1)はスタツク上の識別子により命令途中再開
(識別子=α)か、命令フエツチ再開(識別子=β)か
を判定する。ステツプ(2)は、スタツク上から次命令
のPCをリードして、IF100,DA101に対して次命令から命
令の実行を開始することを指示する。このとき、次命令
アドレスは、信号線112によりE102から、IF100及びDA10
1に渡される。ステツプ(3)は内部レジスタを回復す
るステツプであり、RPR以外の退避レジスタを回復す
る。ステツプ(4)は、RPRの退避情報をCSAR203にセツ
トして、中断命令の再開点に復帰するステツプである。
ステツプ(5)は、退避情報を回復するステツプ、ステ
ツプ(6)は中断命令を命令フエツチから再実行させる
ためのステツプであり、中断命令のアドレスが信号線11
2を通してE102からIF100及びDA101に渡される。さら
に、ステツプ(6)にてE102は命令待ち状態となる。
以上のように本発明では、命令中断点とは異なる再開
点を柔軟に設定することが可能となり、再開点を適切な
ステツプ設定することにより、実行ユニツトE102の退避
情報を最小限にし、命令フエツチ,ユニツトIF100,デコ
ード&アドレス計算ユニツトDA101の命令実行の前処理
を行なうユニツトの制御情報の退避を不要とした。
点を柔軟に設定することが可能となり、再開点を適切な
ステツプ設定することにより、実行ユニツトE102の退避
情報を最小限にし、命令フエツチ,ユニツトIF100,デコ
ード&アドレス計算ユニツトDA101の命令実行の前処理
を行なうユニツトの制御情報の退避を不要とした。
以上のように、本発明によれば、命令中断発生時の退
避情報を削減し、特に複数ユニツトのパイプライン処理
を行なうデータ処理装置において、前処理を行なうユニ
ツトの制御情報の退避を不要とした。また、高機能命令
に対して広範囲なリトライ処理を大規模なハードウエア
を必要とせず実現可能とした。
避情報を削減し、特に複数ユニツトのパイプライン処理
を行なうデータ処理装置において、前処理を行なうユニ
ツトの制御情報の退避を不要とした。また、高機能命令
に対して広範囲なリトライ処理を大規模なハードウエア
を必要とせず実現可能とした。
【図面の簡単な説明】 第1図は本発明のハードウエアの構成図。第2図は本発
明のシステム構成例。第3図は本発明のデータ処理装置
の内部構成図。第4図は、本発明の実施例におけるペー
ジフオールト処理概略図。第5図はエラー(Page Faul
t)処理のマイクロプログラムの内容を示すフロー図、
第6図はRTE命令の内容を示すフロー図である。 1……基本処理装置(BPU)、2……メモリ制御ユニツ
ト(MCU)、3……主記憶(MS)、203……制御記憶アド
レスレジスタ(CSAR)、204……制御記憶(CS)、207…
…Restart Point Register(RPR)、208……Restart Po
int Valid Bit(V)。
明のシステム構成例。第3図は本発明のデータ処理装置
の内部構成図。第4図は、本発明の実施例におけるペー
ジフオールト処理概略図。第5図はエラー(Page Faul
t)処理のマイクロプログラムの内容を示すフロー図、
第6図はRTE命令の内容を示すフロー図である。 1……基本処理装置(BPU)、2……メモリ制御ユニツ
ト(MCU)、3……主記憶(MS)、203……制御記憶アド
レスレジスタ(CSAR)、204……制御記憶(CS)、207…
…Restart Point Register(RPR)、208……Restart Po
int Valid Bit(V)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂東 忠秋 日立市久慈町4026番地 株式会社日立製 作所日立研究所内 (72)発明者 山口 伸一朗 日立市久慈町4026番地 株式会社日立製 作所日立研究所内 (56)参考文献 特開 昭57−164343(JP,A) 特開 昭53−32646(JP,A) 特開 昭53−84540(JP,A)
Claims (5)
- 【請求項1】主記憶装置から読出された命令の実行をマ
イクロプログラムによつて行うマイクロプログラム制御
方式のデータ処理装置において、 該命令の少なくとも1つは、命令実行用マイクロプログ
ラム中に命令中断後の再開のためのマイクロプログラム
の読出しアドレスを決定するマイクロ命令を有し、 命令の実行の中断が発生すると、 前記マイクロ命令が実行され、再開のためのマイクロプ
ログラムの読出しアドレスを保持するために退避し、更
に当該読出しアドレスが退避されたことを示すグラフを
セットし、 誤動作に対するリトライ処理またはミッシングページフ
ォールト処理を含むエラー処理へ移行し、 前記エラー処理から、命令の実行へ復帰する際に、 前記フラグにより、前記再開のためのマイクロプログラ
ムの読出しアドレスが退避されているか否かをチェック
し、 退避されている時には、退避されている読出しアドレス
に対応するマイクロプログラムを読出し、命令の実行を
開始し、 退避されていない時には、当該中断された命令の主記憶
装置からの読出し動作より開始させるようにしたことを
特徴とする命令再開処理方法。 - 【請求項2】前記フラグにより、前記再開のためのマイ
クロプログラムの読出しアドレスが退避されているか否
かのチェックは、チェック用のマイクロプログラムによ
って行うようにしたことを特徴とする特許請求の範囲第
1項記載の命令再開処理方法。 - 【請求項3】退避されたマイクロプログラムの読出しア
ドレスは、前記マイクロ命令が実行される過程で、マイ
クロプログラムの指定により、その時点のマイクロプロ
グラムのアドレスに基づいて決定するようにしたことを
特徴とする特許請求の範囲第1項記載の命令再開処理方
法。 - 【請求項4】主記憶装置から読出された命令の実行をマ
イクロプログラムによつて行うマイクロプログラム制御
方式のデータ処理装置において、 マイクロプログラムを記憶している制御記憶の読出しア
ドレスを記憶する第1の記憶手段と、 マイクロプログラムの指定により、前記第1の記憶手段
に前記制御記憶の読出しアドレスを記憶させる手段、 前記読出しアドレスを第1の記憶手段に記憶しているか
否か記憶する第2の記憶手段と、 前記第2の記憶手段の内容をマイクロプログラムによっ
て判定する判定手段と、 前記第1の記憶手段に記憶されたアドレスよりマイクロ
プログラムを読出し、命令の実行を開始する手段を有
し、 命令の実行中に、命令の中断が発生した場合、マイクロ
プログラム中のあらかじめ定めたマイクロ命令で前記第
1の記憶手段へ記憶される読出しアドレスを指定し、 誤動作に対するリトライ処理またはミッシングページフ
ォールト処理を含むエラー処理から、命令の実行へ復帰
する際に、 前記第2の記憶手段の内容を判定し、 読出しアドレスが第1の記憶手段に記憶されていると第
2の記憶手段に記憶されていると判定された場合は、当
該読出しアドレスからマイクロプログラムを読出し命令
の実行を開始し、 読出しアドレスが第1の記憶手段に記憶されていないと
第2の記憶手段に記憶されていると判定された場合は、 前記中断された命令を、主記憶装置から再び読出す動作
から開始するようにしたことを特徴とする命令再開処理
装置。 - 【請求項5】主記憶装置から命令を読出して命令の実行
のための準備を行う第1のユニットと、 前記第1のユニットから命令実行に必要な信号を受取
り、命令の実行をマイクロプログラムにより行う第2の
ユニットを有し、 少なくとも前記第1、第2のユニットはパイプライン方
式をとるマイクロプログラム制御のデータ処置装置にお
いて、 マイクロプログラムの指定により、前記第2のユニット
は、が実行中の命令のマイクロプログラムの読出しアド
レスを記憶する第1の記憶手段と、 前記第1の記憶手段が、前記読出しアドレスを記憶して
いるか否かを記憶する第2の記憶手段とを有し、 命令の中断が発生し、誤動作に対するリトライ処理また
はミッシングページフォールト処理を含むエラー処理へ
移行し、前記エラー処理から、復帰する際に、 前記第2の記憶手段の内容を判定し、 前記第1の記憶手段に読出しアドレスが記憶されている
と判定された場合は、前記読出しアドレスからマイクロ
プログラムを読出し、命令の実行を開始し、前記第1の
ユニットに対して、前記中断命令の次の命令の主記憶装
置からの読出し動作から開始させるようにし、 前記第1の記憶手段に再開のための読出しアドレスが記
憶されていないと判定された場合、第2のユニットは、
前記第1のユニットに対して、前記中断命令を再度、主
記憶装置からの読出し動作から開始させるようにしたこ
とを特徴とする命令再開処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62022347A JP2564290B2 (ja) | 1987-02-04 | 1987-02-04 | 命令再開処理方法および装置 |
DE3735828A DE3735828C2 (de) | 1986-10-24 | 1987-10-22 | Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung |
US07/111,618 US5003458A (en) | 1986-10-24 | 1987-10-23 | Suspended instruction restart processing system based on a checkpoint microprogram address |
US07/674,398 US5146569A (en) | 1986-10-24 | 1991-03-25 | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62022347A JP2564290B2 (ja) | 1987-02-04 | 1987-02-04 | 命令再開処理方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63191239A JPS63191239A (ja) | 1988-08-08 |
JP2564290B2 true JP2564290B2 (ja) | 1996-12-18 |
Family
ID=12080137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62022347A Expired - Lifetime JP2564290B2 (ja) | 1986-10-24 | 1987-02-04 | 命令再開処理方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2564290B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116188247B (zh) * | 2023-02-06 | 2024-04-12 | 格兰菲智能科技有限公司 | 寄存器信息处理方法、装置、计算机设备、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57164343A (en) * | 1981-03-31 | 1982-10-08 | Fujitsu Ltd | Check point save system |
-
1987
- 1987-02-04 JP JP62022347A patent/JP2564290B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63191239A (ja) | 1988-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5119483A (en) | Application of state silos for recovery from memory management exceptions | |
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 | |
EP0898743B1 (en) | A multi-threaded microprocessor configured to execute interrupt service routines as a thread | |
US6230259B1 (en) | Transparent extended state save | |
US4520441A (en) | Data processing system | |
EP0297893A2 (en) | Apparatus and method for recovering from page faults in vector data processing operations | |
EP0348652A2 (en) | Checkpoint retry system | |
JPH07117903B2 (ja) | 障害回復方法 | |
JPS63208963A (ja) | デジタルデータ処理システム | |
JPH0215369A (ja) | ベクター処理システムの命令を実行する方法及び装置 | |
US5029073A (en) | Method for fast establishing a co-processor to memory linkage by main processor | |
US5146569A (en) | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension | |
JPH1021074A (ja) | 割り込み制御方式、プロセッサ及び計算機システム | |
US4628445A (en) | Apparatus and method for synchronization of peripheral devices via bus cycle alteration in a microprocessor implemented data processing system | |
JP2564290B2 (ja) | 命令再開処理方法および装置 | |
US5841999A (en) | Information handling system having a register remap structure using a content addressable table | |
US6209083B1 (en) | Processor having selectable exception handling modes | |
JPH0754467B2 (ja) | データ処理装置 | |
JPH0133856B2 (ja) | ||
US5201052A (en) | System for transferring first and second ring information from program status word register and store buffer | |
JPH0552535B2 (ja) | ||
JPH0250259A (ja) | ベクタープロセッサによって非同期メモリ管理例外を取り扱う方法及び装置 | |
JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
JPH0769825B2 (ja) | 並列処理装置 |