(58)【調査した分野】(Int.Cl.,DB名)
第1の情報処理装置と、第2の情報処理装置と、前記第1の情報処理装置内のソフトウェア可視レジスタの内容を前記第2の情報処理装置のソフトウェア可視レジスタに出力する転送用パスと、を含み、
前記転送用パスは、前記第1の情報処理装置内のプログラムカウンタ、および、プログラムステータスワードレジスタの内容を、それぞれ、前記第2の情報処理装置のプログラムカウンタ、および、プログラムステータスワードレジスタに出力し、
前記第1の情報処理装置内のプログラムカウンタの内容は、前記第1の情報処理装置で実行中のプログラムにおいて、最後に実行された命令の位置を示す情報である、ことを特徴とする情報処理システム。
自身が非稼働状態の場合、前記転送用パスに出力されている前記動作系の前記第1の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容をそれぞれ、自身の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタに取り込み、前記動作系の前記第1の情報処理装置からのプログラムの実行引き継ぎにより自身が非稼働状態から稼働状態になると、前記転送用パスに出力されている前記動作系の前記第1の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容の取り込みを停止する前記待機系の前記第2の情報処理装置を、含むことを特徴とする請求項3の情報処理システム。
プログラムの実行引き継ぎに際し、実行中のプログラムの命令列の途中のある命令まで実行し、次にNOP命令を挿入、実行する前記動作系の前記第1の情報処理装置を、含むことを特徴とする請求項4の情報処理システム。
NOP命令の挿入、実行が終了すると、前記ある命令の次の命令からプログラムを実行する前記動作系の前記第1の情報処理装置と、プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の前記次の命令からプログラムを実行する前記待機系の前記第2の情報処理装置と、を含むことを特徴とする請求項5の情報処理システム。
プログラムの実行引き継ぎが完了しても、NOP命令の挿入、実行を続ける前記動作系の前記第1の情報処理装置と、プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の次の命令からプログラムを実行する前記待機系の前記第2の情報処理装置と、を含むことを特徴とする請求項5の情報処理システム。
【発明を実施するための形態】
【0013】
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の第1の実施の形態の構成を示すブロック図である。第1の実施の形態の情報処理システム101は、第1の情報処理装置01a、第2の情報処理装置01b、および、転送用パス01pを含む。また、第1の情報処理装置01aは、ソフトウェア可視レジスタ09aを含む。第2の情報処理装置01bは、ソフトウェア可視レジスタ09bを含む。
【0014】
ソフトウェア可視レジスタ09a、09bは、アーキテクチャで規定される内容を保持するレジスタであり、たとえば、機械語命令で指定可能なレジスタである。
【0015】
転送用パス01pは、ソフトウェア可視レジスタ09aの内容(または、ソフトウェア可視レジスタ09aに書き込まれる内容)をソフトウェア可視レジスタ09bに出力する。転送用パス01pは、内容を常時出力してもよいし、そうでなくてもよい。
【0016】
ここで、第1の情報処理装置01a(または、第2の情報処理装置01b)が、プログラムの命令を実行している状態のことを稼働状態と呼ぶ。また、稼働状態でない場合を非稼働状態と呼ぶ。
【0017】
第2の情報処理装置01bが非稼働状態の場合、ソフトウェア可視レジスタ09bは、転送用パス01p上の内容を取り込む。
【0018】
第1の情報処理装置01aが稼働状態であり、第2の情報処理装置01bが非稼働状態の場合に、第1の情報処理装置01aで実行されていたプログラムを途中から第2の情報処理装置01bに実行させ稼働状態にすることを、実行引き継ぎと呼ぶ。
【0019】
たとえば、第1の情報処理装置01aにおいて、障害が発生した場合に、第1の情報処理装置01aは、「ある命令」まで実行しプログラムを中断して、実行引き継ぎが実施される。
【0020】
また、たとえば、第1の情報処理装置01aと第2の情報処理装置01bとが通常同一プログラムを実行し比較が実施される情報処理システム101が可能である。第2の情報処理装置01bに故障が発生し、第1の情報処理装置01aがプログラムの実行を続け、第2の情報処理装置01bは停止し修理が実施される場合がある。
【0021】
そして、第2の情報処理装置01bの修理が完了すると、第1の情報処理装置01aは、プログラムを中断して、第2の情報処理装置01bへのプログラムの実行引き継ぎが実施される。
【0022】
実行引き継ぎが完了するまで、第2の情報処理装置01bのソフトウェア可視レジスタ09bは、転送用パス01p上の内容を取り込む。すなわち、ソフトウェア可視レジスタ09bの内容は、第1の情報処理装置01aが「ある命令」まで実行した結果のソフトウェア可視レジスタ09aの内容と同一となる。
【0023】
実行引き継ぎが完了すると、第2の情報処理装置01bは、「ある命令の次の命令」から、第1の情報処理装置01aで実行されていたプログラムを実行する。ここで、ソフトウェア可視レジスタ09bの内容は、「ある命令」まで実行した結果なので、「ある命令の次の命令」が実行可能となる。
【0024】
実行引き継ぎに際しては、他の処理(たとえば、図示しない主記憶装置内のデータの転送等)が実施されることが可能である。実行引き継ぎ後、第1の情報処理装置01aは、引き続きプログラムを実行してもよいし、他の処理を実行してもよい。
【0025】
次に、第1の実施の形態の効果について説明する。
【0026】
第1の実施の形態は、第1の情報処理装置01aのソフトウェア可視レジスタ09aの内容を第2の情報処理装置01bのソフトウェア可視レジスタ09bに出力する転送用パス01pを含む構成である。したがって、第1の実施の形態は、ソフトウェア可視レジスタ09bに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【0027】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図2は、本発明の第2の実施の形態の構成を示すブロック図である。第2の実施の形態の情報処理システム102は、第1の実施の形態の1種である。情報処理システム102は、第1の情報処理装置01a、第2の情報処理装置01b、および、転送用パス02pを含む。
【0028】
また、第1の情報処理装置01aは、汎用レジスタ02aを含み、第2の情報処理装置01bは、汎用レジスタ02bを含む。汎用レジスタ02a、02bは、ソフトウェア可視レジスタ09aの1種であり、機械語命令で指定可能なレジスタである。
【0029】
転送用パス02pは、第1の実施の形態の転送用パス01pの1種であり、汎用レジスタ02aの内容(または、汎用レジスタ02aに書き込まれる内容)を汎用レジスタ02bに出力する。
【0030】
第2の情報処理装置01bが非稼働状態の場合、汎用レジスタ02bは、転送用パス02p上の内容を取り込む。
【0031】
次に、第2の実施の形態の効果について説明する。
【0032】
第2の実施の形態は、第1の情報処理装置01aの汎用レジスタ02aの内容を第2の情報処理装置01bの汎用レジスタ02bに出力する転送用パス02pを含む構成である。したがって、第2の実施の形態は、汎用レジスタ02bに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【0033】
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
【0034】
図3は、本発明の第3の実施の形態の構成を示すブロック図である。第3の実施の形態の情報処理システム103は、第1の実施の形態の1種である。情報処理システム103は、第1の情報処理装置01a、第2の情報処理装置01b、および、転送用パス03pを含む。
【0035】
また、第1の情報処理装置01aは、プログラムカウンタ03a、および、プログラムステータスワードを格納するプログラムステータスワードレジスタ04aを含む。第2の情報処理装置01bは、プログラムカウンタ03b、および、プログラムステータスワードを格納するプログラムステータスワードレジスタ04bを含む。
【0036】
転送用パス03pは、第1の実施の形態の転送用パス01pの1種である。転送用パス03pは、プログラムカウンタ03a、プログラムステータスワードレジスタ04aの内容を、それぞれ、プログラムカウンタ03b、プログラムステータスワードレジスタ04bに出力する。かわりに、転送用パス03pは、プログラムカウンタ03a、プログラムステータスワードレジスタ04aに書き込まれる内容を出力してもよい。転送用パス03pは、常時出力してもよいし、そうでなくてもよい。
【0037】
第2の情報処理装置01bが非稼働状態の場合、プログラムカウンタ03b、および、プログラムステータスワードレジスタ04bは、それぞれ、転送用パス03p上の対応する内容を取り込む。すなわち、プログラムカウンタ03b、プログラムステータスワードレジスタ04bの内容は、それぞれ、プログラムカウンタ03a、プログラムステータスワードレジスタ04aの内容と同一になる。
【0038】
次に、第3の実施の形態の効果について説明する。
【0039】
第3の実施の形態は、第1の情報処理装置01aのプログラムカウンタ03a、プログラムステータスワードレジスタ04aの内容を第2の情報処理装置01bのプログラムカウンタ03b、プログラムステータスワードレジスタ04bに出力する転送用パス03pを含む構成である。したがって、第3の実施の形態は、プログラムカウンタ03b、プログラムステータスワードレジスタ04bに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【0040】
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
【0041】
図4は、本発明の第4の実施の形態の構成を示すブロック図である。第4の実施の形態の情報処理システム104は、第2の実施の形態、かつ、第3の実施の形態である。
【0042】
すなわち、情報処理システム104は、転送用パス02p、および、転送用パス03pを含む。
【0043】
第2の情報処理装置01bが非稼働状態の場合、第2の情報処理装置01bの汎用レジスタ02bは、転送用パス02p上の内容を取り込む。すなわち、汎用レジスタ02bの内容は、汎用レジスタ02aの内容と同一になる。
【0044】
第2の情報処理装置01bが非稼働状態の場合、プログラムカウンタ03b、および、プログラムステータスワードレジスタ04bは、それぞれ、転送用パス03p上の対応する内容を取り込む。すなわち、プログラムカウンタ03b、プログラムステータスワードレジスタ04bの内容は、それぞれ、プログラムカウンタ03a、プログラムステータスワードレジスタ04aの内容と同一になる。
【0045】
次に、第4の実施の形態の効果について説明する。
【0046】
第4の実施の形態は、第1の情報処理装置01aの汎用レジスタ02aの内容を第2の情報処理装置01bの汎用レジスタ02bに出力する転送用パス02pを含む構成である。
【0047】
さらに、第4の実施の形態は、第1の情報処理装置01aのプログラムカウンタ03a、プログラムステータスワードレジスタ04aの内容を第2の情報処理装置01bのプログラムカウンタ03b、プログラムステータスワードレジスタ04bに出力する転送用パス03pを含む構成である。したがって、第4の実施の形態は、汎用レジスタ02b、プログラムカウンタ03b、および、プログラムステータスワードレジスタ04bに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【0048】
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。
【0049】
図5は、本発明の第5の実施の形態の構成を示すブロック図である。第5の実施の形態の情報処理システム105は、第4の実施の形態の1種である。情報処理システム105は、動作系情報処理装置10a、待機系情報処理装置10b、引き継ぎ制御装置11c、パス中継装置12c、転送用パス02p、および、転送用パス03pを含む。さらに、情報処理システム105は、制御パス13p、制御パス14p、制御パス15p、制御パス16p、および、コピー用データパス17pを含む。
【0050】
ここで、動作系とは、通常、稼働状態であるシステムを意味する。待機系とは、通常、待機している(非稼働状態の1種であり、プログラムの命令を実行していない状態)システムを意味する。
【0051】
動作系情報処理装置10aは、第4の実施の形態の第1の情報処理装置01aの1種である。待機系情報処理装置10bは、第4の実施の形態の第2の情報処理装置01bの1種である。
【0052】
動作系情報処理装置10aは、プロセッサ20a、主記憶制御装置30a、および、主記憶装置40aを含む。さらに、動作系情報処理装置10aは、ライトデータパス31a、リードデータパス32a、ライトデータパス41a、および、リードデータパス42aを含む。
【0053】
待機系情報処理装置10bは、プロセッサ20b、主記憶制御装置30b、および、主記憶装置40bを含む。さらに、待機系情報処理装置10bは、ライトデータパス31b、リードデータパス32b、ライトデータパス41b、および、リードデータパス42bを含む。
【0054】
プロセッサ20aは、パイプライン処理回路21a、汎用レジスタ02a、プログラムカウンタ03a、および、プログラムステータスワードレジスタ04aを含む。プロセッサ20bは、パイプライン処理回路21b、汎用レジスタ02b、プログラムカウンタ03b、および、プログラムステータスワードレジスタ04bを含む。
【0055】
また、プロセッサ20a、20bは、他に演算回路等を含むが、本実施の形態の特徴に関係しないので、図示しない。
【0056】
パイプライン処理回路21a、21bは、機械語命令をパイプライン制御で処理する回路であり、たとえば、5ステージで処理する。たとえば、5ステージは、命令フェッチ、命令デコード、実行(演算の実行を含む)、メモリアクセス、および、レジスタライトバックである。
【0057】
プロセッサ20a、20bは、プログラムを実行する処理を行う。主記憶制御装置30a、30bは、それぞれ、プロセッサ20a、20bの指示にしたがい、主記憶装置40a、40bに対して書き込み、読み出しの処理を行う。主記憶装置40a、40bは、プログラム、および、プログラムで扱われるデータを格納する。
【0058】
また、実行引き継ぎの際に、主記憶制御装置30aは、動作系の主記憶装置40a内のデータを待機系の主記憶装置40bに転送する。主記憶装置40bは、主記憶装置40aから主記憶制御装置30aを介して転送されてきたデータを内部に書き込む。すなわち、実行引き継ぎにより、動作系の主記憶装置40a内のデータが待機系の主記憶装置40bにコピーされる。
【0059】
ライトデータパス31aは、プロセッサ20aからライトデータを主記憶制御装置30aに出力するためのものである。主記憶制御装置30aは、そのライトデータをライトデータパス41aを使用して主記憶装置40aに出力する。
【0060】
ライトデータパス31bは、プロセッサ20bからライトデータを主記憶制御装置30bに出力するためのものである。主記憶制御装置30bは、そのライトデータをライトデータパス41bを使用して主記憶装置40bに出力する。
【0061】
リードデータパス42aは、主記憶装置40aから主記憶制御装置30aにリードデータ(命令を含む)を出力するためのものである。主記憶制御装置30aは、そのリードデータをリードデータパス32aを使用してプロセッサ20aに出力する。
【0062】
リードデータパス42bは、主記憶装置40bから主記憶制御装置30bにリードデータ(命令を含む)を出力するためのものである。主記憶制御装置30bは、そのリードデータをリードデータパス32bを使用してプロセッサ20bに出力する。
【0063】
引き継ぎ制御装置11cは、実行引き継ぎに際し、実行引き継ぎのための指示等を制御パス13p、制御パス14p、制御パス15p、制御パス16pを使用して出力する。
【0064】
パス中継装置12cは、制御パス15p上の指示にしたがい、転送用パス02p、および、転送用パス03p上の内容の転送、非転送の制御を行う。パス中継装置12cは、実行引き継ぎが実施され、待機系情報処理装置10bが稼働状態であると、たとえば、待機系情報処理装置10bに、取り込みを抑止させるための抑止指示を出力する。
【0065】
抑止指示が出力されていない場合、待機系のプロセッサ20bは、転送用パス02p、および、転送用パス03p上の内容の取り込みを行う。すなわち、非稼働状態の場合、待機系のプロセッサ20bの汎用レジスタ02bは、動作系のプロセッサ20aの汎用レジスタ02aと同一の内容を保持する。
【0066】
さらに、非稼働状態の場合、プロセッサ20bのプログラムカウンタ03b、プログラムステータスワードレジスタ04bは、それぞれ、プロセッサ20aのプログラムカウンタ03a、プログラムステータスワードレジスタ04aと同一の内容を保持する。
【0067】
抑止指示は、転送用パス02p、および、転送用パス03pのどちらか片方に載せられてもよいし、両方に載せられてもよい。また、抑止指示の代わりに、転送用パス02p、および、転送用パス03p上の内容の取り込みを実施させるための取り込み指示でもよい。
【0068】
次に、以上の構成による第5の実施の形態の動作について図面を参照して詳細に説明する。
【0069】
図6は、第5の実施の形態の動作を示すタイムチャートである。
図6は、特に、プロセッサ20a、20bのパイプライン処理の動作を示す。
図6において、IF、ID、EX、MEM、WBは、それぞれ、命令フェッチ、命令デコード、実行、メモリアクセス、および、レジスタライトバックの各ステージを示す。
【0070】
t、t+1、・・・、t+k、・・・は、サイクル(たとえば、クロックサイクル)を示す。n、n+1、・・・、n+10は、それぞれ、プログラムのn番目、n+1番目、・・・、n+10番目の命令を示す。たとえば、t+3のEXはn+5であり、これは、n+5番目の命令が、サイクルt+3において、実行ステージにあることを示す。NOP(1)、NOP(2)、・・・NOP(m)は、それぞれ、1番目、2番目、・・・、m番目のNOP命令を示す。
【0071】
図7は、プロセッサ20aの内部構成を示すブロック図である。
【0072】
サイクルt〜t+kの期間、動作系のプロセッサ20aは、稼働状態(ここでは、NOP命令実行中も含める)であり、待機系のプロセッサ20bは、非稼働状態である。
【0073】
この間、パス中継装置12cは、抑止指示を出力しない。よって、待機系のプロセッサ20bの汎用レジスタ02bは、転送用パス02p上の内容を取り込む。また、プログラムカウンタ03b、プログラムステータスワードレジスタ04bは、転送用パス03p上の対応する内容を取り込む。
【0074】
したがって、汎用レジスタ02b、プログラムカウンタ03b、プログラムステータスワードレジスタ04bの内容は、それぞれ、汎用レジスタ02a、プログラムカウンタ03a、プログラムステータスワードレジスタ04aの内容と同一となる。
【0075】
次に、何らかの事態(たとえば、動作系情報処理装置10aの障害)が発生し、実行引き継ぎが要請されると、引き継ぎ制御装置11cは、制御パス16pに実行引き継ぎのためのデータコピー指示を載せる。主記憶制御装置30aは、データコピー指示を受け取ると、リードデータパス42aを介して主記憶装置40a内のデータを順次読み出し、コピー用データパス17p上にコピー指示と共に出力する。
【0076】
主記憶装置40bは、主記憶制御装置30aからコピー指示を受け取ると、コピー用データパス17p上のデータを順次内部に書き込む。
【0077】
次に、引き継ぎ制御装置11cは、サイクルt+2において、制御パス13p上へNOP挿入指示の出力を開始する。NOP挿入指示は、プロセッサ20aにNOP(No Operation)命令を挿入させるためのものである。プロセッサ20aは、NOP挿入指示が出力されると、NOP命令の挿入を開始する。プロセッサ20aは、NOP挿入指示が出力されている間、NOP命令の挿入を行う。この間、NOP命令の前に実行中であったプログラムの命令の実行は、一時中断される。
【0078】
ここで、
図7を参照して、プロセッサ20aにおけるNOP命令の挿入時の動作について説明する。プロセッサ20aは、プログラムカウンタ03a、加算器51a、命令デコーダ52a、NOP命令生成回路53a、選択回路54a、および、選択回路55aを含む。
【0079】
通常、プログラム実行時には、選択回路54aは、内部パス61a上の「加算器51aの出力である命令アドレス」を選択し内部パス63aに出力する。ここでは、説明を簡単にするために、分岐命令の実行に関する機能の説明は省略する。内部パス61a上の「加算器51aの出力である命令アドレス」は、主記憶制御装置30aに出力される。主記憶装置40aのこの命令アドレスで示される番地から命令が読み出され、リードデータパス32a上に載せられ選択回路55aに入力される。
【0080】
制御パス13pにNOP挿入指示が載せられると、選択回路54aは、内部パス62a上の「プログラムカウンタ03aの出力である命令アドレス」を選択し内部パス63aに出力する。
【0081】
NOP命令生成回路53aは、固定値としてNOP命令を生成し内部パス64a上に出力する。通常、プログラム実行時には、選択回路55aは、リードデータパス32a上の「主記憶制御装置30aの出力である命令」を選択し内部パス65aに出力する。
【0082】
制御パス13pにNOP挿入指示が載せられると、選択回路55aは、内部パス64a上の「NOP命令生成回路53aの出力であるNOP命令」を選択し内部パス65aに出力する。よって、制御パス13pにNOP挿入指示が載せられると、命令デコーダ52aは、NOP命令を入力しデコードすることになる。
【0083】
ここで、プロセッサ20aは、主記憶制御装置30aに対し、命令フェッチ要求の送出を抑止し、主記憶制御装置30aからの命令リプライを自動生成する制御を行うことが可能である。
【0084】
次に、引き継ぎ制御装置11cは、主記憶装置40a内のデータの主記憶装置40bへのコピーが完了する(サイクルt+k−1)と、制御パス15p上に、転送用パス02p、03pを無効とするためのパス無効指示を出力する(サイクルt+k)。
【0085】
パス中継装置12cは、制御パス15p上のパス無効指示を受け取ると、待機系のプロセッサ20bに、転送用パス02p、および、転送用パス03p上の内容の取り込みを抑止させるための抑止指示を出力する(サイクルt+k)。
【0086】
待機系のプロセッサ20bの汎用レジスタ02b、プログラムカウンタ03b、および、プログラムステータスワードレジスタ04bは、抑止指示を受け取ると、転送用パス02p、および、転送用パス03p上の内容の取り込みを中止する(サイクルt+k)。NOP命令の実行では、汎用レジスタ02a、プログラムカウンタ03a、および、プログラムステータスワードレジスタ04aは、変化しない。したがって、n+5番目の命令の実行完了時の内容が、汎用レジスタ02b、プログラムカウンタ03b、および、プログラムステータスワードレジスタ04bに保持され、引き継がれたことになる。
【0087】
また、引き継ぎ制御装置11cは、NOP挿入指示の制御パス13pへの出力を終了する(サイクルt+k)。また、引き継ぎ制御装置11cは、稼働開始指示を、制御パス14p上に出力する(サイクルt+k)。
【0088】
動作系のプロセッサ20aにおいては、NOP挿入指示が出力されなくなると、選択回路54aが加算器51aの出力を選択し、プログラムカウンタ03aには、n+6番目の命令のアドレスが取り込まれる(サイクルt+k+1)。そして、動作系のプロセッサ20aは、中断されたプログラムのn+6番目の命令から実行を開始する(サイクルt+k+1)。
【0089】
待機系のプロセッサ20bは、制御パス14p上に稼働開始指示が出力されると、プログラムカウンタ03bに保持されているn+6番目の命令のアドレスにしたがって、プログラムの実行を開始する(サイクルt+k+1)。このようにして実行引き継ぎが実施される。
【0090】
コピー中、または、コピー完了後(ただし、待機系情報処理装置10bが、非稼働状態)に、プロセッサ20aが、主記憶装置40aに対するデータの書き込みを行う可能性がある。
【0091】
この場合、主記憶制御装置30aは、コピーの動作を一時中断し、主記憶装置40aにそのデータを書き込ませ、同一データをコピー用データパス17p上に載せて、主記憶装置40bに書き込ませる。
【0092】
ただし、コピーの開始をn+5番目の命令の実行が完了し、NOP命令の挿入が開始され後とする構成にすれば、このような制御を行う必要はない。
【0093】
次に、第5の実施の形態の効果について説明する。
【0094】
第5の実施の形態は、稼働状態の動作系情報処理装置10aの汎用レジスタ02aの内容を待機系情報処理装置10bの汎用レジスタ02bに出力する転送用パス02pを含む構成である。
【0095】
さらに、第5の実施の形態は、稼働状態の動作系情報処理装置10aのプログラムカウンタ03a、プログラムステータスワードレジスタ04aの内容をプログラムカウンタ03b、プログラムステータスワードレジスタ04bに出力する転送用パス03pを含む構成である。
【0096】
したがって、第5の実施の形態は、汎用レジスタ02b、プログラムカウンタ03b、および、プログラムステータスワードレジスタ04bに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【0097】
また、第5の実施の形態は、プログラムの実行引き継ぎに際し、稼働状態の動作系情報処理装置10aによって実行中のプログラムの命令列の途中にNOP命令を挿入する構成である。
【0098】
したがって、第5の実施の形態は、制御が容易であるという効果をもつ。
【0099】
次に、本発明の第6の実施の形態について図面を参照して詳細に説明する。第6の実施の形態の全体構成は、
図5に示される第5の実施の形態の全体構成と同一である。動作系情報処理装置10aのプロセッサ20aの内部構成が異なる。
【0100】
図8は、第6の実施の形態のプロセッサ20aの内部構成を示すブロック図である。プロセッサ20aは、第5の実施の形態のプロセッサ20aにF/F56a(フリップフロップ)を追加した構成である。
【0101】
F/F56aは、引き継ぎ制御装置11cから制御パス13p上に出力されたNOP挿入指示の立ち上がりを検出してセットされる。したがって、制御パス13p上のNOP挿入指示は、パルスでよい。F/F56aはセット状態のとき、内部NOP挿入指示を、内部パス66a上に出力する。プロセッサ20aは、内部NOP挿入指示をNOP挿入指示として認識する。したがって、F/F56aがセット状態のとき、NOP命令の挿入が行われる。
【0102】
実行引き継ぎが完了し、待機系情報処理装置10bがプログラム実行を引き継いでも、プロセッサ20aは、NOP命令を実行し続ける。そして、たとえば、プロセッサ20aは、割り込み等を入力すると、F/F56aをリセットし、NOP命令の挿入を終了し、割り込みルーチンの実行を開始する。
【0103】
次に、第6の実施の形態の効果について説明する。
【0104】
第6の実施の形態は、動作系情報処理装置10aが実行引き継ぎ後もNOP命令を挿入し実行する構成である。したがって、たとえば、動作系情報処理装置10aに障害が発生して実行引き継ぎが実施された場合に、第5の実施の形態に比べて、障害が再度発生する確率が低いという効果をもつ。
【0105】
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0106】
(付記1)
第1の情報処理装置と、第2の情報処理装置と、前記第1の情報処理装置内のソフトウェア可視レジスタの内容を前記第2の情報処理装置のソフトウェア可視レジスタに出力する転送用パスと、
を含むことを特徴とする情報処理システム。
【0107】
(付記2)
前記第1の情報処理装置内の汎用レジスタの内容を前記第2の情報処理装置の汎用レジスタに出力する前記転送用パスを含むことを特徴とする付記1の情報処理システム。
【0108】
(付記3)
前記第1の情報処理装置内のプログラムカウンタ、および、プログラムステータスワードレジスタの内容を、それぞれ、前記第2の情報処理装置のプログラムカウンタ、および、プログラムステータスワードレジスタに出力する前記転送用パスを含むことを特徴とする付記1の情報処理システム。
【0109】
(付記4)
前記第1の情報処理装置内の前記汎用レジスタの内容を前記第2の情報処理装置の前記汎用レジスタに出力する前記転送用パスを含むことを特徴とする付記3の情報処理システム。
【0110】
(付記5)
動作系の前記第1の情報処理装置と、待機系の前記第2の情報処理装置と、
を含むことを特徴とする付記4の情報処理システム。
【0111】
(付記6)
自身が非稼働状態の場合、前記転送用パスに出力されている前記動作系の前記第1の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容をそれぞれ、自身の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタに取り込み、
前記動作系の前記第1の情報処理装置からのプログラムの実行引き継ぎにより自身が非稼働状態から稼働状態になると、
前記転送用パスに出力されている前記動作系の前記第1の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容の取り込みを停止する前記待機系の前記第2の情報処理装置を、
含むことを特徴とする付記5の情報処理システム。
【0112】
(付記7)
プログラムの実行引き継ぎに際し、実行中のプログラムの命令列の途中のある命令まで実行し、次にNOP命令を挿入、実行する前記動作系の前記第1の情報処理装置を、
含むことを特徴とする付記6の情報処理システム。
【0113】
(付記8)
NOP命令の挿入、実行が終了すると、前記ある命令の次の命令からプログラムを実行する前記動作系の前記第1の情報処理装置と、
プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の前記次の命令からプログラムを実行する前記待機系の前記第2の情報処理装置と、
を含むことを特徴とする付記7の情報処理システム。
【0114】
(付記9)
プログラムの実行引き継ぎが完了しても、NOP命令の挿入、実行を続ける前記動作系の前記第1の情報処理装置と、
プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の次の命令からプログラムを実行する前記待機系の前記第2の情報処理装置と、
を含むことを特徴とする付記7の情報処理システム。
【0115】
(付記10)
第1の情報処理装置内のソフトウェア可視レジスタの内容を転送用パスを用いて第2の情報処理装置のソフトウェア可視レジスタに出力することを特徴とする情報処理方法。
【0116】
(付記11)
前記第1の情報処理装置内の汎用レジスタの内容を前記転送用パスを用いて前記第2の情報処理装置の汎用レジスタに出力することを特徴とする付記10の情報処理方法。
【0117】
(付記12)
前記第1の情報処理装置内のプログラムカウンタ、および、プログラムステータスワードレジスタの内容を、前記転送用パスを用いて、それぞれ、前記第2の情報処理装置のプログラムカウンタ、および、プログラムステータスワードレジスタに出力することを特徴とする付記10の情報処理方法。
【0118】
(付記13)
前記第1の情報処理装置内の前記汎用レジスタの内容を前記転送用パスを用いて前記第2の情報処理装置の前記汎用レジスタに出力することを特徴とする付記12の情報処理方法。
【0119】
(付記14)
待機系の前記第2の情報処理装置は、自身が非稼働状態の場合、前記転送用パスに出力されている動作系の前記第1の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容をそれぞれ、自身の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタに取り込み、
前記動作系の前記第1の情報処理装置からのプログラムの実行引き継ぎにより自身が非稼働状態から稼働状態になると、
前記転送用パスに出力されている前記動作系の前記第1の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容の取り込みを停止することを特徴とする付記13の情報処理方法。
【0120】
(付記15)
前記動作系の前記第1の情報処理装置が、プログラムの実行引き継ぎに際し、実行中のプログラムの命令列の途中のある命令まで実行し、次にNOP命令を挿入、実行することを特徴とする付記14の情報処理方法。
【0121】
(付記16)
前記動作系の前記第1の情報処理装置が、NOP命令の挿入、実行が終了すると、前記ある命令の次の命令からプログラムを実行し、
前記待機系の前記第2の情報処理装置が、プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の前記次の命令からプログラムを実行することを特徴とする付記15の情報処理方法。
【0122】
(付記17)
前記動作系の前記第1の情報処理装置が、プログラムの実行引き継ぎが完了しても、NOP命令の挿入、実行を続け、
前記待機系の前記第2の情報処理装置が、プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の次の命令からプログラムを実行することを特徴とする付記15の情報処理方法。