(57)【特許請求の範囲】
【請求項１】
第１の情報処理装置と、第２の情報処理装置と、前記第１の情報処理装置内のソフトウェア可視レジスタの内容を前記第２の情報処理装置のソフトウェア可視レジスタに出力する転送用パスと、を含み、
前記転送用パスは、前記第１の情報処理装置内のプログラムカウンタ、および、プログラムステータスワードレジスタの内容を、それぞれ、前記第２の情報処理装置のプログラムカウンタ、および、プログラムステータスワードレジスタに出力し、
前記第１の情報処理装置内のプログラムカウンタの内容は、前記第１の情報処理装置で実行中のプログラムにおいて、最後に実行された命令の位置を示す情報である、ことを特徴とする情報処理システム。
【請求項２】
前記第１の情報処理装置内の汎用レジスタの内容を前記第２の情報処理装置の汎用レジスタに出力する前記転送用パスを含むことを特徴とする請求項１の情報処理システム。
【請求項３】
動作系の前記第１の情報処理装置と、待機系の前記第２の情報処理装置と、を含むことを特徴とする請求項２の情報処理システム。
【請求項４】
自身が非稼働状態の場合、前記転送用パスに出力されている前記動作系の前記第１の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容をそれぞれ、自身の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタに取り込み、前記動作系の前記第１の情報処理装置からのプログラムの実行引き継ぎにより自身が非稼働状態から稼働状態になると、前記転送用パスに出力されている前記動作系の前記第１の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容の取り込みを停止する前記待機系の前記第２の情報処理装置を、含むことを特徴とする請求項３の情報処理システム。
【請求項５】
プログラムの実行引き継ぎに際し、実行中のプログラムの命令列の途中のある命令まで実行し、次にＮＯＰ命令を挿入、実行する前記動作系の前記第１の情報処理装置を、含むことを特徴とする請求項４の情報処理システム。
【請求項６】
ＮＯＰ命令の挿入、実行が終了すると、前記ある命令の次の命令からプログラムを実行する前記動作系の前記第１の情報処理装置と、プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の前記次の命令からプログラムを実行する前記待機系の前記第２の情報処理装置と、を含むことを特徴とする請求項５の情報処理システム。
【請求項７】
プログラムの実行引き継ぎが完了しても、ＮＯＰ命令の挿入、実行を続ける前記動作系の前記第１の情報処理装置と、プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の次の命令からプログラムを実行する前記待機系の前記第２の情報処理装置と、を含むことを特徴とする請求項５の情報処理システム。
【請求項８】
第１の情報処理装置内のプログラムカウンタ、および、プログラムステータスワードレジスタの内容を転送用パスを用いて、それぞれ、第２の情報処理装置のプログラムカウンタ、および、プログラムステータスワードレジスタに出力し、
前記第１の情報処理装置内のプログラムカウンタの内容は、前記第１の情報処理装置で実行中のプログラムにおいて、最後に実行された命令の位置を示す情報である、ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、および、情報処理方法に関する。
【背景技術】
【０００２】
マルチプロセッサシステムの技術の一例が特許文献１に記載されている。特許文献１の技術は、２つのプロセッサが、それぞれ異なるタスクを実行するスプリットモードと、同一のタスクを実行するロックモードとを設けている。
【０００３】
スプリットモードからロックモードへの切り替えに際しては、第１のプロセッサが、切り替え指令を含むプログラムコードを実行する。このプログラムコード実行の結果、モード切り替えユニットが、第１のプロセッサを停止させ、第２のプロセッサに同期化の意図を通知する。
【０００４】
第２のプロセッサは、通知にしたがい、タスクを終了し、切り替え指令を含むプログラムコードを実行する。このプログラムコード実行の結果、モード切り替えユニットが、第１のプロセッサの待機を解除する。さらに、モード切り替えユニットは、１．５クロック遅れて第２のプロセッサに対する待機を解除する。２つのプロセッサは、１．５クロックのクロックオフセットを伴って同期して動作する。また、本発明は、同期化のためにＮＯＰを利用することを示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００８−５１８３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１の技術においては、プログラムの実行引き継ぎに多くの時間がかかるという問題点があった。
【０００７】
その理由は、特許文献１は、以前に実行中であったタスクをどのように、途中から再実行するかの技術を開示していないからである。特許文献１の技術は、実行中のタスクを停止し、切り替え指令を含むプログラムコードを実行する構成である。すなわち、再度タスクを最初から実行することになるからである。
【０００８】
本発明の目的は、上記問題点を解決する情報処理システム、および、情報処理方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明の情報処理システムは、第１の情報処理装置と、第２の情報処理装置と、前記第１の情報処理装置内のソフトウェア可視レジスタの内容を前記第２の情報処理装置のソフトウェア可視レジスタに出力する転送用パスとを含む。
【００１０】
本発明の情報処理方法は、第１の情報処理装置内のソフトウェア可視レジスタの内容を転送用パスを用いて第２の情報処理装置のソフトウェア可視レジスタに出力する。
【発明の効果】
【００１１】
本発明は、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第２の実施の形態の構成を示すブロック図である。
【図３】本発明の第３の実施の形態の構成を示すブロック図である。
【図４】本発明の第４の実施の形態の構成を示すブロック図である。
【図５】本発明の第５の実施の形態の構成を示すブロック図である。
【図６】本発明の第５の実施の形態の動作を示すタイムチャートである。
【図７】本発明の第５の実施の形態のプロセッサの内部構成を示すブロック図である。
【図８】本発明の第６の実施の形態のプロセッサの内部構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。 
図１は、本発明の第１の実施の形態の構成を示すブロック図である。第１の実施の形態の情報処理システム１０１は、第１の情報処理装置０１ａ、第２の情報処理装置０１ｂ、および、転送用パス０１ｐを含む。また、第１の情報処理装置０１ａは、ソフトウェア可視レジスタ０９ａを含む。第２の情報処理装置０１ｂは、ソフトウェア可視レジスタ０９ｂを含む。
【００１４】
ソフトウェア可視レジスタ０９ａ、０９ｂは、アーキテクチャで規定される内容を保持するレジスタであり、たとえば、機械語命令で指定可能なレジスタである。
【００１５】
転送用パス０１ｐは、ソフトウェア可視レジスタ０９ａの内容（または、ソフトウェア可視レジスタ０９ａに書き込まれる内容）をソフトウェア可視レジスタ０９ｂに出力する。転送用パス０１ｐは、内容を常時出力してもよいし、そうでなくてもよい。
【００１６】
ここで、第１の情報処理装置０１ａ（または、第２の情報処理装置０１ｂ）が、プログラムの命令を実行している状態のことを稼働状態と呼ぶ。また、稼働状態でない場合を非稼働状態と呼ぶ。
【００１７】
第２の情報処理装置０１ｂが非稼働状態の場合、ソフトウェア可視レジスタ０９ｂは、転送用パス０１ｐ上の内容を取り込む。
【００１８】
第１の情報処理装置０１ａが稼働状態であり、第２の情報処理装置０１ｂが非稼働状態の場合に、第１の情報処理装置０１ａで実行されていたプログラムを途中から第２の情報処理装置０１ｂに実行させ稼働状態にすることを、実行引き継ぎと呼ぶ。
【００１９】
たとえば、第１の情報処理装置０１ａにおいて、障害が発生した場合に、第１の情報処理装置０１ａは、「ある命令」まで実行しプログラムを中断して、実行引き継ぎが実施される。
【００２０】
また、たとえば、第１の情報処理装置０１ａと第２の情報処理装置０１ｂとが通常同一プログラムを実行し比較が実施される情報処理システム１０１が可能である。第２の情報処理装置０１ｂに故障が発生し、第１の情報処理装置０１ａがプログラムの実行を続け、第２の情報処理装置０１ｂは停止し修理が実施される場合がある。
【００２１】
そして、第２の情報処理装置０１ｂの修理が完了すると、第１の情報処理装置０１ａは、プログラムを中断して、第２の情報処理装置０１ｂへのプログラムの実行引き継ぎが実施される。
【００２２】
実行引き継ぎが完了するまで、第２の情報処理装置０１ｂのソフトウェア可視レジスタ０９ｂは、転送用パス０１ｐ上の内容を取り込む。すなわち、ソフトウェア可視レジスタ０９ｂの内容は、第１の情報処理装置０１ａが「ある命令」まで実行した結果のソフトウェア可視レジスタ０９ａの内容と同一となる。
【００２３】
実行引き継ぎが完了すると、第２の情報処理装置０１ｂは、「ある命令の次の命令」から、第１の情報処理装置０１ａで実行されていたプログラムを実行する。ここで、ソフトウェア可視レジスタ０９ｂの内容は、「ある命令」まで実行した結果なので、「ある命令の次の命令」が実行可能となる。
【００２４】
実行引き継ぎに際しては、他の処理（たとえば、図示しない主記憶装置内のデータの転送等）が実施されることが可能である。実行引き継ぎ後、第１の情報処理装置０１ａは、引き続きプログラムを実行してもよいし、他の処理を実行してもよい。
【００２５】
次に、第１の実施の形態の効果について説明する。
【００２６】
第１の実施の形態は、第１の情報処理装置０１ａのソフトウェア可視レジスタ０９ａの内容を第２の情報処理装置０１ｂのソフトウェア可視レジスタ０９ｂに出力する転送用パス０１ｐを含む構成である。したがって、第１の実施の形態は、ソフトウェア可視レジスタ０９ｂに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【００２７】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。 
図２は、本発明の第２の実施の形態の構成を示すブロック図である。第２の実施の形態の情報処理システム１０２は、第１の実施の形態の１種である。情報処理システム１０２は、第１の情報処理装置０１ａ、第２の情報処理装置０１ｂ、および、転送用パス０２ｐを含む。
【００２８】
また、第１の情報処理装置０１ａは、汎用レジスタ０２ａを含み、第２の情報処理装置０１ｂは、汎用レジスタ０２ｂを含む。汎用レジスタ０２ａ、０２ｂは、ソフトウェア可視レジスタ０９ａの１種であり、機械語命令で指定可能なレジスタである。
【００２９】
転送用パス０２ｐは、第１の実施の形態の転送用パス０１ｐの１種であり、汎用レジスタ０２ａの内容（または、汎用レジスタ０２ａに書き込まれる内容）を汎用レジスタ０２ｂに出力する。
【００３０】
第２の情報処理装置０１ｂが非稼働状態の場合、汎用レジスタ０２ｂは、転送用パス０２ｐ上の内容を取り込む。
【００３１】
次に、第２の実施の形態の効果について説明する。
【００３２】
第２の実施の形態は、第１の情報処理装置０１ａの汎用レジスタ０２ａの内容を第２の情報処理装置０１ｂの汎用レジスタ０２ｂに出力する転送用パス０２ｐを含む構成である。したがって、第２の実施の形態は、汎用レジスタ０２ｂに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【００３３】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【００３４】
図３は、本発明の第３の実施の形態の構成を示すブロック図である。第３の実施の形態の情報処理システム１０３は、第１の実施の形態の１種である。情報処理システム１０３は、第１の情報処理装置０１ａ、第２の情報処理装置０１ｂ、および、転送用パス０３ｐを含む。
【００３５】
また、第１の情報処理装置０１ａは、プログラムカウンタ０３ａ、および、プログラムステータスワードを格納するプログラムステータスワードレジスタ０４ａを含む。第２の情報処理装置０１ｂは、プログラムカウンタ０３ｂ、および、プログラムステータスワードを格納するプログラムステータスワードレジスタ０４ｂを含む。
【００３６】
転送用パス０３ｐは、第１の実施の形態の転送用パス０１ｐの１種である。転送用パス０３ｐは、プログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａの内容を、それぞれ、プログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂに出力する。かわりに、転送用パス０３ｐは、プログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａに書き込まれる内容を出力してもよい。転送用パス０３ｐは、常時出力してもよいし、そうでなくてもよい。
【００３７】
第２の情報処理装置０１ｂが非稼働状態の場合、プログラムカウンタ０３ｂ、および、プログラムステータスワードレジスタ０４ｂは、それぞれ、転送用パス０３ｐ上の対応する内容を取り込む。すなわち、プログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂの内容は、それぞれ、プログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａの内容と同一になる。
【００３８】
次に、第３の実施の形態の効果について説明する。
【００３９】
第３の実施の形態は、第１の情報処理装置０１ａのプログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａの内容を第２の情報処理装置０１ｂのプログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂに出力する転送用パス０３ｐを含む構成である。したがって、第３の実施の形態は、プログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【００４０】
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。
【００４１】
図４は、本発明の第４の実施の形態の構成を示すブロック図である。第４の実施の形態の情報処理システム１０４は、第２の実施の形態、かつ、第３の実施の形態である。
【００４２】
すなわち、情報処理システム１０４は、転送用パス０２ｐ、および、転送用パス０３ｐを含む。
【００４３】
第２の情報処理装置０１ｂが非稼働状態の場合、第２の情報処理装置０１ｂの汎用レジスタ０２ｂは、転送用パス０２ｐ上の内容を取り込む。すなわち、汎用レジスタ０２ｂの内容は、汎用レジスタ０２ａの内容と同一になる。
【００４４】
第２の情報処理装置０１ｂが非稼働状態の場合、プログラムカウンタ０３ｂ、および、プログラムステータスワードレジスタ０４ｂは、それぞれ、転送用パス０３ｐ上の対応する内容を取り込む。すなわち、プログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂの内容は、それぞれ、プログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａの内容と同一になる。
【００４５】
次に、第４の実施の形態の効果について説明する。
【００４６】
第４の実施の形態は、第１の情報処理装置０１ａの汎用レジスタ０２ａの内容を第２の情報処理装置０１ｂの汎用レジスタ０２ｂに出力する転送用パス０２ｐを含む構成である。
【００４７】
さらに、第４の実施の形態は、第１の情報処理装置０１ａのプログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａの内容を第２の情報処理装置０１ｂのプログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂに出力する転送用パス０３ｐを含む構成である。したがって、第４の実施の形態は、汎用レジスタ０２ｂ、プログラムカウンタ０３ｂ、および、プログラムステータスワードレジスタ０４ｂに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【００４８】
次に、本発明の第５の実施の形態について図面を参照して詳細に説明する。
【００４９】
図５は、本発明の第５の実施の形態の構成を示すブロック図である。第５の実施の形態の情報処理システム１０５は、第４の実施の形態の１種である。情報処理システム１０５は、動作系情報処理装置１０ａ、待機系情報処理装置１０ｂ、引き継ぎ制御装置１１ｃ、パス中継装置１２ｃ、転送用パス０２ｐ、および、転送用パス０３ｐを含む。さらに、情報処理システム１０５は、制御パス１３ｐ、制御パス１４ｐ、制御パス１５ｐ、制御パス１６ｐ、および、コピー用データパス１７ｐを含む。
【００５０】
ここで、動作系とは、通常、稼働状態であるシステムを意味する。待機系とは、通常、待機している（非稼働状態の１種であり、プログラムの命令を実行していない状態）システムを意味する。
【００５１】
動作系情報処理装置１０ａは、第４の実施の形態の第１の情報処理装置０１ａの１種である。待機系情報処理装置１０ｂは、第４の実施の形態の第２の情報処理装置０１ｂの１種である。
【００５２】
動作系情報処理装置１０ａは、プロセッサ２０ａ、主記憶制御装置３０ａ、および、主記憶装置４０ａを含む。さらに、動作系情報処理装置１０ａは、ライトデータパス３１ａ、リードデータパス３２ａ、ライトデータパス４１ａ、および、リードデータパス４２ａを含む。
【００５３】
待機系情報処理装置１０ｂは、プロセッサ２０ｂ、主記憶制御装置３０ｂ、および、主記憶装置４０ｂを含む。さらに、待機系情報処理装置１０ｂは、ライトデータパス３１ｂ、リードデータパス３２ｂ、ライトデータパス４１ｂ、および、リードデータパス４２ｂを含む。
【００５４】
プロセッサ２０ａは、パイプライン処理回路２１ａ、汎用レジスタ０２ａ、プログラムカウンタ０３ａ、および、プログラムステータスワードレジスタ０４ａを含む。プロセッサ２０ｂは、パイプライン処理回路２１ｂ、汎用レジスタ０２ｂ、プログラムカウンタ０３ｂ、および、プログラムステータスワードレジスタ０４ｂを含む。
【００５５】
また、プロセッサ２０ａ、２０ｂは、他に演算回路等を含むが、本実施の形態の特徴に関係しないので、図示しない。
【００５６】
パイプライン処理回路２１ａ、２１ｂは、機械語命令をパイプライン制御で処理する回路であり、たとえば、５ステージで処理する。たとえば、５ステージは、命令フェッチ、命令デコード、実行（演算の実行を含む）、メモリアクセス、および、レジスタライトバックである。
【００５７】
プロセッサ２０ａ、２０ｂは、プログラムを実行する処理を行う。主記憶制御装置３０ａ、３０ｂは、それぞれ、プロセッサ２０ａ、２０ｂの指示にしたがい、主記憶装置４０ａ、４０ｂに対して書き込み、読み出しの処理を行う。主記憶装置４０ａ、４０ｂは、プログラム、および、プログラムで扱われるデータを格納する。
【００５８】
また、実行引き継ぎの際に、主記憶制御装置３０ａは、動作系の主記憶装置４０ａ内のデータを待機系の主記憶装置４０ｂに転送する。主記憶装置４０ｂは、主記憶装置４０ａから主記憶制御装置３０ａを介して転送されてきたデータを内部に書き込む。すなわち、実行引き継ぎにより、動作系の主記憶装置４０ａ内のデータが待機系の主記憶装置４０ｂにコピーされる。
【００５９】
ライトデータパス３１ａは、プロセッサ２０ａからライトデータを主記憶制御装置３０ａに出力するためのものである。主記憶制御装置３０ａは、そのライトデータをライトデータパス４１ａを使用して主記憶装置４０ａに出力する。
【００６０】
ライトデータパス３１ｂは、プロセッサ２０ｂからライトデータを主記憶制御装置３０ｂに出力するためのものである。主記憶制御装置３０ｂは、そのライトデータをライトデータパス４１ｂを使用して主記憶装置４０ｂに出力する。
【００６１】
リードデータパス４２ａは、主記憶装置４０ａから主記憶制御装置３０ａにリードデータ（命令を含む）を出力するためのものである。主記憶制御装置３０ａは、そのリードデータをリードデータパス３２ａを使用してプロセッサ２０ａに出力する。
【００６２】
リードデータパス４２ｂは、主記憶装置４０ｂから主記憶制御装置３０ｂにリードデータ（命令を含む）を出力するためのものである。主記憶制御装置３０ｂは、そのリードデータをリードデータパス３２ｂを使用してプロセッサ２０ｂに出力する。
【００６３】
引き継ぎ制御装置１１ｃは、実行引き継ぎに際し、実行引き継ぎのための指示等を制御パス１３ｐ、制御パス１４ｐ、制御パス１５ｐ、制御パス１６ｐを使用して出力する。
【００６４】
パス中継装置１２ｃは、制御パス１５ｐ上の指示にしたがい、転送用パス０２ｐ、および、転送用パス０３ｐ上の内容の転送、非転送の制御を行う。パス中継装置１２ｃは、実行引き継ぎが実施され、待機系情報処理装置１０ｂが稼働状態であると、たとえば、待機系情報処理装置１０ｂに、取り込みを抑止させるための抑止指示を出力する。
【００６５】
抑止指示が出力されていない場合、待機系のプロセッサ２０ｂは、転送用パス０２ｐ、および、転送用パス０３ｐ上の内容の取り込みを行う。すなわち、非稼働状態の場合、待機系のプロセッサ２０ｂの汎用レジスタ０２ｂは、動作系のプロセッサ２０ａの汎用レジスタ０２ａと同一の内容を保持する。
【００６６】
さらに、非稼働状態の場合、プロセッサ２０ｂのプログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂは、それぞれ、プロセッサ２０ａのプログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａと同一の内容を保持する。
【００６７】
抑止指示は、転送用パス０２ｐ、および、転送用パス０３ｐのどちらか片方に載せられてもよいし、両方に載せられてもよい。また、抑止指示の代わりに、転送用パス０２ｐ、および、転送用パス０３ｐ上の内容の取り込みを実施させるための取り込み指示でもよい。
【００６８】
次に、以上の構成による第５の実施の形態の動作について図面を参照して詳細に説明する。
【００６９】
図６は、第５の実施の形態の動作を示すタイムチャートである。図６は、特に、プロセッサ２０ａ、２０ｂのパイプライン処理の動作を示す。図６において、ＩＦ、ＩＤ、ＥＸ、ＭＥＭ、ＷＢは、それぞれ、命令フェッチ、命令デコード、実行、メモリアクセス、および、レジスタライトバックの各ステージを示す。
【００７０】
ｔ、ｔ＋１、・・・、ｔ＋ｋ、・・・は、サイクル（たとえば、クロックサイクル）を示す。ｎ、ｎ＋１、・・・、ｎ＋１０は、それぞれ、プログラムのｎ番目、ｎ＋１番目、・・・、ｎ＋１０番目の命令を示す。たとえば、ｔ＋３のＥＸはｎ＋５であり、これは、ｎ＋５番目の命令が、サイクルｔ＋３において、実行ステージにあることを示す。ＮＯＰ（１）、ＮＯＰ（２）、・・・ＮＯＰ（ｍ）は、それぞれ、１番目、２番目、・・・、ｍ番目のＮＯＰ命令を示す。
【００７１】
図７は、プロセッサ２０ａの内部構成を示すブロック図である。
【００７２】
サイクルｔ〜ｔ＋ｋの期間、動作系のプロセッサ２０ａは、稼働状態（ここでは、ＮＯＰ命令実行中も含める）であり、待機系のプロセッサ２０ｂは、非稼働状態である。
【００７３】
この間、パス中継装置１２ｃは、抑止指示を出力しない。よって、待機系のプロセッサ２０ｂの汎用レジスタ０２ｂは、転送用パス０２ｐ上の内容を取り込む。また、プログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂは、転送用パス０３ｐ上の対応する内容を取り込む。
【００７４】
したがって、汎用レジスタ０２ｂ、プログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂの内容は、それぞれ、汎用レジスタ０２ａ、プログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａの内容と同一となる。
【００７５】
次に、何らかの事態（たとえば、動作系情報処理装置１０ａの障害）が発生し、実行引き継ぎが要請されると、引き継ぎ制御装置１１ｃは、制御パス１６ｐに実行引き継ぎのためのデータコピー指示を載せる。主記憶制御装置３０ａは、データコピー指示を受け取ると、リードデータパス４２ａを介して主記憶装置４０ａ内のデータを順次読み出し、コピー用データパス１７ｐ上にコピー指示と共に出力する。
【００７６】
主記憶装置４０ｂは、主記憶制御装置３０ａからコピー指示を受け取ると、コピー用データパス１７ｐ上のデータを順次内部に書き込む。
【００７７】
次に、引き継ぎ制御装置１１ｃは、サイクルｔ＋２において、制御パス１３ｐ上へＮＯＰ挿入指示の出力を開始する。ＮＯＰ挿入指示は、プロセッサ２０ａにＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）命令を挿入させるためのものである。プロセッサ２０ａは、ＮＯＰ挿入指示が出力されると、ＮＯＰ命令の挿入を開始する。プロセッサ２０ａは、ＮＯＰ挿入指示が出力されている間、ＮＯＰ命令の挿入を行う。この間、ＮＯＰ命令の前に実行中であったプログラムの命令の実行は、一時中断される。
【００７８】
ここで、図７を参照して、プロセッサ２０ａにおけるＮＯＰ命令の挿入時の動作について説明する。プロセッサ２０ａは、プログラムカウンタ０３ａ、加算器５１ａ、命令デコーダ５２ａ、ＮＯＰ命令生成回路５３ａ、選択回路５４ａ、および、選択回路５５ａを含む。
【００７９】
通常、プログラム実行時には、選択回路５４ａは、内部パス６１ａ上の「加算器５１ａの出力である命令アドレス」を選択し内部パス６３ａに出力する。ここでは、説明を簡単にするために、分岐命令の実行に関する機能の説明は省略する。内部パス６１ａ上の「加算器５１ａの出力である命令アドレス」は、主記憶制御装置３０ａに出力される。主記憶装置４０ａのこの命令アドレスで示される番地から命令が読み出され、リードデータパス３２ａ上に載せられ選択回路５５ａに入力される。
【００８０】
制御パス１３ｐにＮＯＰ挿入指示が載せられると、選択回路５４ａは、内部パス６２ａ上の「プログラムカウンタ０３ａの出力である命令アドレス」を選択し内部パス６３ａに出力する。
【００８１】
ＮＯＰ命令生成回路５３ａは、固定値としてＮＯＰ命令を生成し内部パス６４ａ上に出力する。通常、プログラム実行時には、選択回路５５ａは、リードデータパス３２ａ上の「主記憶制御装置３０ａの出力である命令」を選択し内部パス６５ａに出力する。
【００８２】
制御パス１３ｐにＮＯＰ挿入指示が載せられると、選択回路５５ａは、内部パス６４ａ上の「ＮＯＰ命令生成回路５３ａの出力であるＮＯＰ命令」を選択し内部パス６５ａに出力する。よって、制御パス１３ｐにＮＯＰ挿入指示が載せられると、命令デコーダ５２ａは、ＮＯＰ命令を入力しデコードすることになる。
【００８３】
ここで、プロセッサ２０ａは、主記憶制御装置３０ａに対し、命令フェッチ要求の送出を抑止し、主記憶制御装置３０ａからの命令リプライを自動生成する制御を行うことが可能である。
【００８４】
次に、引き継ぎ制御装置１１ｃは、主記憶装置４０ａ内のデータの主記憶装置４０ｂへのコピーが完了する（サイクルｔ＋ｋ−１）と、制御パス１５ｐ上に、転送用パス０２ｐ、０３ｐを無効とするためのパス無効指示を出力する（サイクルｔ＋ｋ）。
【００８５】
パス中継装置１２ｃは、制御パス１５ｐ上のパス無効指示を受け取ると、待機系のプロセッサ２０ｂに、転送用パス０２ｐ、および、転送用パス０３ｐ上の内容の取り込みを抑止させるための抑止指示を出力する（サイクルｔ＋ｋ）。
【００８６】
待機系のプロセッサ２０ｂの汎用レジスタ０２ｂ、プログラムカウンタ０３ｂ、および、プログラムステータスワードレジスタ０４ｂは、抑止指示を受け取ると、転送用パス０２ｐ、および、転送用パス０３ｐ上の内容の取り込みを中止する（サイクルｔ＋ｋ）。ＮＯＰ命令の実行では、汎用レジスタ０２ａ、プログラムカウンタ０３ａ、および、プログラムステータスワードレジスタ０４ａは、変化しない。したがって、ｎ＋５番目の命令の実行完了時の内容が、汎用レジスタ０２ｂ、プログラムカウンタ０３ｂ、および、プログラムステータスワードレジスタ０４ｂに保持され、引き継がれたことになる。
【００８７】
また、引き継ぎ制御装置１１ｃは、ＮＯＰ挿入指示の制御パス１３ｐへの出力を終了する（サイクルｔ＋ｋ）。また、引き継ぎ制御装置１１ｃは、稼働開始指示を、制御パス１４ｐ上に出力する（サイクルｔ＋ｋ）。
【００８８】
動作系のプロセッサ２０ａにおいては、ＮＯＰ挿入指示が出力されなくなると、選択回路５４ａが加算器５１ａの出力を選択し、プログラムカウンタ０３ａには、ｎ＋６番目の命令のアドレスが取り込まれる（サイクルｔ＋ｋ＋１）。そして、動作系のプロセッサ２０ａは、中断されたプログラムのｎ＋６番目の命令から実行を開始する（サイクルｔ＋ｋ＋１）。
【００８９】
待機系のプロセッサ２０ｂは、制御パス１４ｐ上に稼働開始指示が出力されると、プログラムカウンタ０３ｂに保持されているｎ＋６番目の命令のアドレスにしたがって、プログラムの実行を開始する（サイクルｔ＋ｋ＋１）。このようにして実行引き継ぎが実施される。
【００９０】
コピー中、または、コピー完了後（ただし、待機系情報処理装置１０ｂが、非稼働状態）に、プロセッサ２０ａが、主記憶装置４０ａに対するデータの書き込みを行う可能性がある。
【００９１】
この場合、主記憶制御装置３０ａは、コピーの動作を一時中断し、主記憶装置４０ａにそのデータを書き込ませ、同一データをコピー用データパス１７ｐ上に載せて、主記憶装置４０ｂに書き込ませる。
【００９２】
ただし、コピーの開始をｎ＋５番目の命令の実行が完了し、ＮＯＰ命令の挿入が開始され後とする構成にすれば、このような制御を行う必要はない。
【００９３】
次に、第５の実施の形態の効果について説明する。
【００９４】
第５の実施の形態は、稼働状態の動作系情報処理装置１０ａの汎用レジスタ０２ａの内容を待機系情報処理装置１０ｂの汎用レジスタ０２ｂに出力する転送用パス０２ｐを含む構成である。
【００９５】
さらに、第５の実施の形態は、稼働状態の動作系情報処理装置１０ａのプログラムカウンタ０３ａ、プログラムステータスワードレジスタ０４ａの内容をプログラムカウンタ０３ｂ、プログラムステータスワードレジスタ０４ｂに出力する転送用パス０３ｐを含む構成である。
【００９６】
したがって、第５の実施の形態は、汎用レジスタ０２ｂ、プログラムカウンタ０３ｂ、および、プログラムステータスワードレジスタ０４ｂに内容が実行引き継ぎ開始時に引き継がれているので、プログラムの実行引き継ぎが短時間で実施できるという効果をもつ。
【００９７】
また、第５の実施の形態は、プログラムの実行引き継ぎに際し、稼働状態の動作系情報処理装置１０ａによって実行中のプログラムの命令列の途中にＮＯＰ命令を挿入する構成である。
【００９８】
したがって、第５の実施の形態は、制御が容易であるという効果をもつ。
【００９９】
次に、本発明の第６の実施の形態について図面を参照して詳細に説明する。第６の実施の形態の全体構成は、図５に示される第５の実施の形態の全体構成と同一である。動作系情報処理装置１０ａのプロセッサ２０ａの内部構成が異なる。
【０１００】
図８は、第６の実施の形態のプロセッサ２０ａの内部構成を示すブロック図である。プロセッサ２０ａは、第５の実施の形態のプロセッサ２０ａにＦ／Ｆ５６ａ（フリップフロップ）を追加した構成である。
【０１０１】
Ｆ／Ｆ５６ａは、引き継ぎ制御装置１１ｃから制御パス１３ｐ上に出力されたＮＯＰ挿入指示の立ち上がりを検出してセットされる。したがって、制御パス１３ｐ上のＮＯＰ挿入指示は、パルスでよい。Ｆ／Ｆ５６ａはセット状態のとき、内部ＮＯＰ挿入指示を、内部パス６６ａ上に出力する。プロセッサ２０ａは、内部ＮＯＰ挿入指示をＮＯＰ挿入指示として認識する。したがって、Ｆ／Ｆ５６ａがセット状態のとき、ＮＯＰ命令の挿入が行われる。
【０１０２】
実行引き継ぎが完了し、待機系情報処理装置１０ｂがプログラム実行を引き継いでも、プロセッサ２０ａは、ＮＯＰ命令を実行し続ける。そして、たとえば、プロセッサ２０ａは、割り込み等を入力すると、Ｆ／Ｆ５６ａをリセットし、ＮＯＰ命令の挿入を終了し、割り込みルーチンの実行を開始する。
【０１０３】
次に、第６の実施の形態の効果について説明する。
【０１０４】
第６の実施の形態は、動作系情報処理装置１０ａが実行引き継ぎ後もＮＯＰ命令を挿入し実行する構成である。したがって、たとえば、動作系情報処理装置１０ａに障害が発生して実行引き継ぎが実施された場合に、第５の実施の形態に比べて、障害が再度発生する確率が低いという効果をもつ。
【０１０５】
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１０６】
（付記１）
第１の情報処理装置と、第２の情報処理装置と、前記第１の情報処理装置内のソフトウェア可視レジスタの内容を前記第２の情報処理装置のソフトウェア可視レジスタに出力する転送用パスと、
を含むことを特徴とする情報処理システム。
【０１０７】
（付記２）
前記第１の情報処理装置内の汎用レジスタの内容を前記第２の情報処理装置の汎用レジスタに出力する前記転送用パスを含むことを特徴とする付記１の情報処理システム。
【０１０８】
（付記３）
前記第１の情報処理装置内のプログラムカウンタ、および、プログラムステータスワードレジスタの内容を、それぞれ、前記第２の情報処理装置のプログラムカウンタ、および、プログラムステータスワードレジスタに出力する前記転送用パスを含むことを特徴とする付記１の情報処理システム。
【０１０９】
（付記４）
前記第１の情報処理装置内の前記汎用レジスタの内容を前記第２の情報処理装置の前記汎用レジスタに出力する前記転送用パスを含むことを特徴とする付記３の情報処理システム。
【０１１０】
（付記５）
動作系の前記第１の情報処理装置と、待機系の前記第２の情報処理装置と、
を含むことを特徴とする付記４の情報処理システム。
【０１１１】
（付記６）
自身が非稼働状態の場合、前記転送用パスに出力されている前記動作系の前記第１の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容をそれぞれ、自身の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタに取り込み、
前記動作系の前記第１の情報処理装置からのプログラムの実行引き継ぎにより自身が非稼働状態から稼働状態になると、
前記転送用パスに出力されている前記動作系の前記第１の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容の取り込みを停止する前記待機系の前記第２の情報処理装置を、
含むことを特徴とする付記５の情報処理システム。
【０１１２】
（付記７）
プログラムの実行引き継ぎに際し、実行中のプログラムの命令列の途中のある命令まで実行し、次にＮＯＰ命令を挿入、実行する前記動作系の前記第１の情報処理装置を、
含むことを特徴とする付記６の情報処理システム。
【０１１３】
（付記８）
ＮＯＰ命令の挿入、実行が終了すると、前記ある命令の次の命令からプログラムを実行する前記動作系の前記第１の情報処理装置と、
プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の前記次の命令からプログラムを実行する前記待機系の前記第２の情報処理装置と、
を含むことを特徴とする付記７の情報処理システム。
【０１１４】
（付記９）
プログラムの実行引き継ぎが完了しても、ＮＯＰ命令の挿入、実行を続ける前記動作系の前記第１の情報処理装置と、
プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の次の命令からプログラムを実行する前記待機系の前記第２の情報処理装置と、
を含むことを特徴とする付記７の情報処理システム。
【０１１５】
（付記１０）
第１の情報処理装置内のソフトウェア可視レジスタの内容を転送用パスを用いて第２の情報処理装置のソフトウェア可視レジスタに出力することを特徴とする情報処理方法。
【０１１６】
（付記１１）
前記第１の情報処理装置内の汎用レジスタの内容を前記転送用パスを用いて前記第２の情報処理装置の汎用レジスタに出力することを特徴とする付記１０の情報処理方法。
【０１１７】
（付記１２）
前記第１の情報処理装置内のプログラムカウンタ、および、プログラムステータスワードレジスタの内容を、前記転送用パスを用いて、それぞれ、前記第２の情報処理装置のプログラムカウンタ、および、プログラムステータスワードレジスタに出力することを特徴とする付記１０の情報処理方法。
【０１１８】
（付記１３）
前記第１の情報処理装置内の前記汎用レジスタの内容を前記転送用パスを用いて前記第２の情報処理装置の前記汎用レジスタに出力することを特徴とする付記１２の情報処理方法。
【０１１９】
（付記１４）
待機系の前記第２の情報処理装置は、自身が非稼働状態の場合、前記転送用パスに出力されている動作系の前記第１の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容をそれぞれ、自身の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタに取り込み、
前記動作系の前記第１の情報処理装置からのプログラムの実行引き継ぎにより自身が非稼働状態から稼働状態になると、
前記転送用パスに出力されている前記動作系の前記第１の情報処理装置の前記汎用レジスタ、前記プログラムカウンタ、および、前記プログラムステータスワードレジスタの内容の取り込みを停止することを特徴とする付記１３の情報処理方法。
【０１２０】
（付記１５）
前記動作系の前記第１の情報処理装置が、プログラムの実行引き継ぎに際し、実行中のプログラムの命令列の途中のある命令まで実行し、次にＮＯＰ命令を挿入、実行することを特徴とする付記１４の情報処理方法。
【０１２１】
（付記１６）
前記動作系の前記第１の情報処理装置が、ＮＯＰ命令の挿入、実行が終了すると、前記ある命令の次の命令からプログラムを実行し、
前記待機系の前記第２の情報処理装置が、プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の前記次の命令からプログラムを実行することを特徴とする付記１５の情報処理方法。
【０１２２】
（付記１７）
前記動作系の前記第１の情報処理装置が、プログラムの実行引き継ぎが完了しても、ＮＯＰ命令の挿入、実行を続け、
前記待機系の前記第２の情報処理装置が、プログラムの実行引き継ぎにより稼働状態になると、前記ある命令の次の命令からプログラムを実行することを特徴とする付記１５の情報処理方法。
【符号の説明】
【０１２３】
０１ａ    第１の情報処理装置
０１ｂ    第２の情報処理装置
０１ｐ    転送用パス
０２ａ    汎用レジスタ
０２ｂ    汎用レジスタ
０２ｐ    転送用パス
０３ａ    プログラムカウンタ
０３ｂ    プログラムカウンタ
０３ｐ    転送用パス
０４ａ    プログラムステータスワードレジスタ
０４ｂ    プログラムステータスワードレジスタ
０９ａ    ソフトウェア可視レジスタ
０９ｂ    ソフトウェア可視レジスタ
１０ａ    動作系情報処理装置
１０ｂ    待機系情報処理装置
１１ｃ    引き継ぎ制御装置
１２ｃ    パス中継装置
１３ｐ    制御パス
１４ｐ    制御パス
１５ｐ    制御パス
１６ｐ    制御パス
１７ｐ    コピー用データパス
２０ａ    プロセッサ
２０ｂ    プロセッサ
２１ａ    パイプライン処理回路
２１ｂ    パイプライン処理回路
３０ａ    主記憶制御装置
３０ｂ    主記憶制御装置
３１ａ    ライトデータパス
３１ｂ    ライトデータパス
３２ａ    リードデータパス
３２ｂ    リードデータパス
４０ａ    主記憶装置
４０ｂ    主記憶装置
４１ａ    ライトデータパス
４１ｂ    ライトデータパス
４２ａ    リードデータパス
４２ｂ    リードデータパス
５１ａ    加算器
５２ａ    命令デコーダ
５３ａ    ＮＯＰ命令生成回路
５４ａ    選択回路
５５ａ    選択回路
５６ａ    Ｆ／Ｆ
６１ａ    内部パス
６２ａ    内部パス
６３ａ    内部パス
６４ａ    内部パス
６５ａ    内部パス
６６ａ    内部パス
１０１    情報処理システム
１０２    情報処理システム
１０３    情報処理システム
１０４    情報処理システム
１０５    情報処理システム
【図１】
0005718600.tif 000002
【図２】
0005718600.tif 000003
【図３】
0005718600.tif 000004
【図４】
0005718600.tif 000005
【図５】
0005718600.tif 000006
【図６】
0005718600.tif 000007
【図７】
0005718600.tif 000008
【図８】
0005718600.tif 000009