JP4457577B2 - マルチプロセッサシステム - Google Patents
マルチプロセッサシステム Download PDFInfo
- Publication number
- JP4457577B2 JP4457577B2 JP2003140538A JP2003140538A JP4457577B2 JP 4457577 B2 JP4457577 B2 JP 4457577B2 JP 2003140538 A JP2003140538 A JP 2003140538A JP 2003140538 A JP2003140538 A JP 2003140538A JP 4457577 B2 JP4457577 B2 JP 4457577B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- processor
- stop
- instruction
- execution
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 16
- 230000010365 information processing Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 25
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、主メモリを複数のプロセッサで共用したマルチプロセッサシステムに利用する。特に、命令コードの書き換え処理技術に関する。
【0002】
【従来の技術】
プログラムの実行中に、主メモリ中の命令を書き換えることにより、プログラム実行が特定の命令コードに到達した際に性能測定やデバグを目的として設置された処理部(関数)に制御を移すことのできるシステムの一例が、例えば特許文献1に記載されている。これは、システムがプログラム実行のために有するプロセッサ数が1の場合、すなわち、単一プロセッサシステムの場合に有効に機能する。
【0003】
【特許文献1】
特開平10−214203号公報
【特許文献2】
特開平2−25965号公報
【特許文献3】
特開平6−35866号公報
【特許文献4】
特開平2−140847号公報
【0004】
【発明が解決しようとする課題】
しかし、この従来技術をマルチプロセッサシステムにそのまま適用した場合には、次のような問題点がある。
【0005】
第一の問題点は、複数のプロセッサが異なるプログラムを並行して実行するマルチプロセッサシステムにおいて、複数の命令を書き換える場合、書き換え操作を行っている以外のプロセッサが書き換え途中状態の命令系列を実行してしまう可能性を排除できないということである。
【0006】
その理由は、命令書き換えを行っているプロセッサから他プロセッサの命令実行を制御する手段が存在していないためである。
【0007】
第二の問題点は、各プロセッサが命令キャッシュを有しており、かつ、それらの命令キャッシュは保持する命令に対して自分および他のプロセッサから主メモリに書き込みが行われた場合でも、その内容は反映されないアーキテクチャの場合、命令書き換えによる変更内容を反映することができないことである。
【0008】
その理由は、命令書き換え操作を行っている以外のプロセッサが、書き換え処理の完了を検出できないため、書き換え内容を命令キャッシュに反映させる処理(命令キャッシュのクリア)を起動する契機を検出できないためである。
【0009】
本発明は、このような背景に行われたものであって、命令書き換えを行う際、他プロセッサが実行途中の命令を書き換えてしまうという事態を回避し、安全な命令書き換えが行えるマルチプロセッサシステムを提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明は、複数のプロセッサがメモリを共有してプログラムを実行するマルチプロセッサシステムにおいて、プログラムの一部を安全に書き換えられる技術を提供する。具体的には、他プロセッサに停止指示を行うための停止指示通知機能、プロセッサが停止状態にあることを他プロセッサに通知するための停止状態通知機能を持たせる。命令書き換え手順は、命令書き換えを行うプロセッサが1)停止指示通知機能を介して他プロセッサに停止指示を通知する、2)他プロセッサは、停止指示を受けると停止状態通知機能に自分が停止状態になったことを設定し、停止指示通知機能により停止解除を通知されるまで停止状態となる、3)命令書き換えを行うプロセッサは、停止状態通知機能を調べ他プロセッサが全部停止状態になったことを確認した後、命令書き換えを行う、4)命令書き換えを完了したプロセッサは、停止指示通知機能を介して他プロセッサに停止解除を通知する、5)他プロセッサは停止指示通知機能により停止解除を通知されると、停止状態通知機能に自分が停止状態を解除したことを設定し、設定停止状態を解除する。
【0011】
このようにして、命令書き換えを行うプロセッサに対し、1)他プロセッサに対して停止指示を送る、2)他プロセッサが実際に停止したことを確認する、の二点を可能とする。これにより、他プロセッサに停止指示を送り、それらが停止していることを確認した上で命令書き換えを実行することを可能にする。
【0012】
これにより、マルチプロセッサシステムにおいて、プログラム中の命令を書き換える操作を行っている最中に、その命令コードを他プロセッサが実行してしまい、プログラム実行が異常な状況に陥る事態を完全に防止することができることにある。
【0013】
その理由は、プログラム中の命令を書き換えるプロセッサが他プロセッサに停止指示を行った後、他プロセッサが停止したことを確認してから命令書き換えを行うためである。
【0014】
また、各プロセッサが命令キャッシュを待つマルチプロセッサシステムであり、各命令キャッシュは保持する命令に対して自分および他のプロセッサから主メモリに書き込みが行われた場合でもその内容は反映されないアーキテクチャであっても、命令書き換えによる変更内容を反映することができることになる。
【0015】
その理由は、書き込み操作を行っているプロセッサによる他プロセッサの停止解除の際、それらのプロセッサは命令キャッシュをクリアする処理を行ってから処理を再開するように制御できるためである。
【0016】
なお、例えば、特許文献2および特許文献3には、単に、一つのプロセッサが他のプロセッサのプログラム実行を停止させる技術は開示されているが、当該技術は、命令コードの書き換えという観点から開発された技術ではなく、プログラム実行停止の指示を受け取った他プロセッサがプログラム実行停止の実行をプログラム実行停止指示を行ったプロセッサに通知するステップや命令コード書き換え後にプログラムの実行を停止している他プロセッサに対してプログラム実行停止解除の指示を行うといったステップが記されていないので、本発明とは、根本的に異なる。
【0017】
また、例えば、特許文献4には、自命令キャッシュへの格納対象となっているデータの書き換えが行われたときだけ、ライトアドレスのチェックと無効化が行われる技術が開示されているが、本発明では、各命令キャッシュは保持する命令に対して自分および他のプロセッサから主メモリに書き込みが行われた場合でもその内容は反映されないアーキテクチャであっても、プログラムの実行停止後の再開時に、命令キャッシュをクリアするので、確実な命令更新を行うことができる。
【0018】
すなわち、本発明の第一の観点は、複数のプロセッサと、この複数のプロセッサが共有する主メモリとを備え、この主メモリには、プログラム記憶領域とデータ記憶領域とを備え、前記複数のプロセッサは、これらの記憶領域を参照してプログラムを実行する手段を備えたマルチプロセッサシステムである。
【0019】
ここで、本発明の特徴とするところは、一つのプロセッサから他のプロセッサに対してプログラムの実行停止を指示する手段と、この指示する手段によりプログラムの実行停止を指示されたプロセッサは当該実行停止を指示したプロセッサに対してプログラムの実行を停止状態としたことを通知する手段とを備えたところにある。
【0020】
前記主メモリ中の命令コードの書き換えを行うプロセッサは、当該書き換えに際して前記プログラムの実行停止を指示する手段により他プロセッサにプログラムの実行停止を指示する手段と、前記通知する手段による他プロセッサからのプログラムの実行停止通知を受け取った後に前記主メモリ中の命令コードの書き換えを行う手段とを備えることができる。
【0021】
また、前記主メモリと前記複数のプロセッサとの間には、各プロセッサ毎にそれぞれ命令キャッシュを備え、前記プログラムの実行停止を指示する手段により他プロセッサに対してプログラムの実行停止を指示したプロセッサは当該指示が不要になったときには当該指示を解除する指示を他プロセッサに対して行うプログラムの実行停止解除指示手段を備え、前記プログラムの実行停止指示を受けてプログラムの実行を停止していたプロセッサは、前記プログラムの実行停止解除指示手段によるプログラムの実行停止解除指示を受け取ると自己に関わる前記命令キャッシュの内容をクリアしてからプログラム実行を再開する手段を備えることができる。
【0022】
本発明の第二の観点は、複数のプロセッサと、この複数のプロセッサが共有する主メモリとを備え、この主メモリには、プログラム記憶領域とデータ記憶領域とを備え、前記複数のプロセッサは、これらの記憶領域を参照してプログラムを実行する手段を備えたマルチプロセッサシステムに適用される前記主メモリである。
【0023】
ここで、本発明の特徴とするところは、前記プログラム記憶領域には、一つのプロセッサから他のプロセッサに対してプログラムの実行停止を指示するプログラムと、プログラムの実行停止を指示されたプロセッサが当該実行停止を指示したプロセッサに対してプログラムの実行を停止状態としたことを通知するプログラムとが書き込まれたところにある。
【0024】
前記プログラム領域には、前記主メモリ中の命令コードの書き換えを行うプロセッサが当該書き換えに際して前記プログラムの実行停止を指示するプログラムにより他プロセッサにプログラムの実行停止を指示するプログラムと、前記通知するプログラムによる他プロセッサからのプログラムの実行停止通知を受け取った後に前記主メモリ中の命令コードの書き換えを行うプログラムとが書き込まれることができる。
【0025】
また、前記プログラム領域には、前記プログラムの実行停止を指示するプログラムにより他プロセッサに対してプログラムの実行停止を指示したプロセッサが当該指示が不要になったときには当該指示を解除する指示を他プロセッサに対して行うプログラムの実行停止解除指示プログラムと、前記プログラムの実行停止指示を受けてプログラムの実行を停止していたプロセッサがプログラムの実行停止解除指示を受け取ると当該プロセッサに関わる前記命令キャッシュの内容をクリアしてからプログラム実行を再開するプロセッサとが書き込まれることができる。
【0026】
本発明の第三の観点は、情報処理装置にインストールすることにより、その情報処理装置に、複数のプロセッサと、この複数のプロセッサが共有する主メモリとを備え、この主メモリには、プログラム記憶領域とデータ記憶領域とを備え、前記複数のプロセッサは、これらの記憶領域を参照してプログラムを実行する手段を備えたマルチプロセッサシステムに適用される前記主メモリに相応する機能を実現させる前記情報処理装置のセットアップ用プログラムである。
【0027】
ここで、本発明の特徴とするところは、前記プログラム記憶領域には、一つのプロセッサから他のプロセッサに対してプログラムの実行停止を指示するプログラムと、プログラムの実行停止を指示されたプロセッサが当該実行停止を指示したプロセッサに対してプログラムの実行を停止状態としたことを通知するプログラムとを書き込む機能を実現させるところにある。
【0028】
前記プログラム領域には、前記主メモリ中の命令コードの書き換えを行うプロセッサが当該書き換えに際して前記プログラムの実行停止を指示するプログラムにより他プロセッサにプログラムの実行停止を指示するプログラムと、前記通知するプログラムによる他プロセッサからのプログラムの実行停止通知を受け取った後に前記主メモリ中の命令コードの書き換えを行うプログラムとを書き込む機能を実現させることができる。
【0029】
また、前記プログラム領域には、前記プログラムの実行停止を指示するプログラムにより他プロセッサに対してプログラムの実行停止を指示したプロセッサが当該指示が不要になったときには当該指示を解除する指示を他プロセッサに対して行うプログラムの実行停止解除指示プログラムと、前記プログラムの実行停止指示を受けてプログラムの実行を停止していたプロセッサがプログラムの実行停止解除指示を受け取ると当該プロセッサに関わる前記命令キャッシュの内容をクリアしてからプログラム実行を再開するプロセッサとを書き込む機能を実現させることができる。
【0030】
本発明の第四の観点は、本発明のプログラムが記録された前記情報処理装置読取可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
【0031】
これにより、情報処理装置を用いて、命令書き換えを行う際、他プロセッサが実行途中の命令を書き換えてしまうという事態を回避し、安全な命令書き換えを行えるマルチプロセッサシステムを実現することができる。
【0032】
【発明の実施の形態】
本発明実施形態のマルチプロセッサシステムを図1を参照して説明する。図1は本実施形態のマルチプロセッサシステムの構成図である。
【0033】
本実施形態は、図1に示すように、複数のプロセッサ#1〜#nと、この複数のプロセッサ#1〜#nが共有する主メモリ1とを備え、この主メモリ1には、プログラム記憶領域2とデータ記憶領域3とを備え、複数のプロセッサ#1〜#nは、これらの記憶領域を参照してプログラムを実行する手段を備えたマルチプロセッサシステムである。
【0034】
ここで、本実施形態の特徴とするところは、一つのプロセッサから他のプロセッサに対してプログラムの実行停止を指示する停止指示通知手段12を備え、この停止指示通知手段12によりプログラムの実行停止を指示されたプロセッサは当該実行停止を指示したプロセッサに対してプログラムの実行を停止状態としたことを通知する停止状態通知手段9を備えたところにある。
【0035】
また、主メモリ1中の命令コードの書き換えを行うプロセッサは、当該書き換えに際して停止指示通知手段12により他プロセッサにプログラムの実行停止を指示する命令書き換え手段14を備え、この命令書き換え手段14は、停止状態通知手段9による他プロセッサからのプログラムの実行停止通知を受け取った後に主メモリ1中の命令コードの書き換えを行う。
【0036】
また、主メモリ1と複数のプロセッサ#1〜#nとの間には、各プロセッサ毎にそれぞれ命令キャッシュ#1〜#nを備え、停止指示通知手段12は、他プロセッサに対してプログラムの実行停止を指示した後に、当該指示が不要になったときには当該指示を解除する指示を他プロセッサに対して行い、前記プログラムの実行停止指示を受けてプログラムの実行を停止していたプロセッサは、前記プログラムの実行停止解除指示を受け取ると自己に関わる命令キャッシュの内容をクリアしてからプログラム実行を再開する命令キャッシュクリア手段17を備える。
【0037】
また、命令書き換え処理部15の停止状態監視手段13は、停止状態通知手段9からのプログラム停止状態通知を監視する。停止処理部11の停止指示監視手段10は、停止指示通知手段12からのプログラム停止指示を監視する。idle処理部8の停止指示監視手段6は、停止指示通知手段12からのプログラム停止指示を監視する。停止処理起動手段7は、プログラム停止指示を受けて実際のプログラム停止処理を実行する。
【0038】
本発明は、汎用の情報処理装置にインストールすることにより、上述のマルチプロセッサシステムの主メモリ1として機能させるセットアップ用プログラムとして実現することができる。このセットアップ用プログラムは、記録媒体に記録されて情報処理装置にインストールされ、あるいは通信回線を介して情報処理装置にインストールされることにより当該情報処理装置を主メモリ1として機能させることができる。
【0039】
以下では、本実施形態をさらに詳細に説明する。
【0040】
図1を参照すると、本発明のマルチプロセッサシステムにおける命令書き換え方法の一実施例は、プログラムを実行するプロセッサ#1〜#n(複数)と、プログラムおよびデータを格納する主メモリ1から構成される。各プロセッサ#1〜#nは命令キャッシュ#1〜#nを持つと共に、命令キャッシュ#1〜#nの内容をクリアする手段を備えているものとする。さらに、その命令キャッシュ#1〜#nは、保持する命令に対して自分および他のプロセッサから主メモリ1に書き込みが行われた場合でも、その内容は反映されないものとする。
【0041】
主メモリ1の内、データ記憶領域3には、停止指示用データ領域4(停止指示通知機能)と停止状態用データ領域5(停止状態通知機能)とを持ち、プログラム記憶領域2内には、1)停止指示監視手段6と停止処理起動手段7とを持つidle処理部8、2)停止状態通知手段9と停止指示監視手段10と命令キャッシュクリア手段17とを持つ停止処理部11、3)停止指示通知手段12と停止状態監視手段13と命令書き換え手段14とを持つ命令書き換え処理部15を持つ。
【0042】
これらの処理部の概略は次のとおりである。idle処理部8は、プロセッサで処理すべき仕事(オペレーティング・システムの用語でプロセス)が存在しない場合に実行される。停止処理部11は、停止指示を受けたプロセッサにより実行される。命令書き換え処理15は、プログラム内の命令を書き換える目的でオペレータが起動する命令書き換えプログラムから呼び出されたときに実行される。
【0043】
次に、図2、図3、図4、図5のフローチャートを参照して本実施形態の全体の動作について詳細に説明する。まず、図2に示すように、本実施形態の各プロセッサ#1〜#nは、一般のオペレーティング・システムと同様、実行すべきプロセスがある場合は(ステップ1)、そのプロセスを実行し(ステップ2)、実行すべきプロセスが存在しない場合は(ステップ1)、idle処理を実行し続けるようになっている。idle処理の内部では、停止指示監視手段6により停止指示用データ領域内の自プロセッサに対する停止指示を監視し(ステップ3)、停止指示がなければ実行すべきプロセスが存在しているかを調べるステップに戻る(ステップ4)。停止指示がある場合は停止処理部11を呼び出す(ステップ5)。
【0044】
図3に示すように、停止処理部11では、まず停止状態通知手段9により、自プロセッサが停止状態であることを示す値を停止状態用データ領域5に設定した後(ステップ1)、停止指示用データ領域4内の自プロセッサに対する停止指示を監視し(ステップ2)、停止指示が解除されるまで監視を繰り返す(ステップ3)。停止指示が解除されると、自プロセッサが停止状態でないことを示す値を停止状態用データ領域5に設定した後(ステップ4)、命令キャッシュクリア手段17により命令キャッシュの内容を無効化する(ステップ5)。
【0045】
図4は、このような本発明の特徴である構成および手段を備えたマルチプロセッサにおいて、プログラム内容の命令を書き換える手順である。図4に示すとおり、オペレータが起動する命令書き換えプログラムは、オペレータ等により予め設定された書き換え内容、すなわち書き換え対象アドレスと分岐先アドレスの組(複数)を書き換え表16に設定した後(ステップ1)、命令書き換え処理部15を起動し(ステップ2)、実行結果が失敗であった場合は書き換え失敗を示すメッセージを出力する(ステップ3、4)。
【0046】
図5に示すように、命令書き換え処理部15では、まず、停止指示通知手段12により停止指示用データ領域4内の自プロセッサ以外の全プロセッサに対する領域に停止指示を示す値を設定し(ステップ1)、その時刻を記録する(ステップ2)。次に、停止状態監視手段13により停止状態用データ領域5内の自プロセッサ以外の全プロセッサに関する停止状態を監視する(ステップ3)。全プロセッサが停止していない場合は、現在時刻と停止指示時刻との差として経過時間を求める(ステップ7)。これが予め設定されている時間よりも小さい場合は、停止確認を行うステップに戻って処理を繰り返す。経路時間が予め設定されている時間よりも大きい場合には、命令書き換え処理結果は失敗として、この処理を終える。すなわち、停止指示用データ領域4に停止解除を示す値を書き込む(ステップ8)。
【0047】
停止確認を行うステップにおいて全プロセッサが停止したことを確認できた場合は(ステップ3)、次に示すとおり書き換え表に示された内容に従ってプログラム領域中の命令を書き換えた後(ステップ4)、命令キャッシュクリア手段17により命令キャッシュの内容を無効化し(ステップ5)、命令書き換え処理結果は成功として、この処理を終える。すなわち、停止指示用データ領域4に停止解除を示す値を書き込む(ステップ6)。
【0048】
書き換え表16の各行について行う書き換え処理では、1)書き換え表16の命令アドレスで示されるアドレスに存在する命令(図6の命令1)を、書き換え表16の分岐先アドレスを予め決められた特定のレジスタに設定する命令に書き換え、2)その次の命令(図6の命令2)を、前記予め決められた特定のレジスタに格納されたアドレスに分岐する命令に書き換える。なお、書き換え操作は、シングルプロセッサに関しては従来技術で実現されているのと同様に、図6における書き換え後の状態のプログラムが正常に動作するよう、オペレータもしくは外部プログラムの制御の元で行われる。すなわち、プロセッサが実行する命令が、図6の書き換え前、および、書き換え後のどちらであってもプログラム実行は正常に行われる。反面、万一、図6の書き換え途中状態のプログラムを実行した場合は、プログラム実行が異常な状態に陥ってしまう。
【0049】
他プロセッサを停止させずに命令書き換えを実行した場合は、他プロセッサが図6の書き換え途中状態にあるプログラムを実行してしまう可能性を排除できなかったが、本発明に示す方法による命令書き換え操作では、他のプロセッサが図6に示す書き換え途中の状態にあるプログラムを実行する可能性を排除できるので、他プロセッサのプログラム実行が異常な状態に陥る事態を完全に防止することができる。
【0050】
【発明の効果】
以上説明したように、本発明によれば、命令書き換えを行う際、他プロセッサが実行途中の命令を書き換えてしまうという事態を回避し、安全な命令書き換えを行えるマルチプロセッサシステムを提供することができる。
【図面の簡単な説明】
【図1】本発明実施形態のマルチプロセッサシステムの構成図。
【図2】idle処理部の動作を示すフローチャート。
【図3】停止処理部の動作を示すフローチャート。
【図4】命令書き換え手順を示すフローチャート。
【図5】命令書き換え処理部の動作を示すフローチャート。
【図6】命令の書き換えによる書き換え表の遷移を説明するための図。
【符号の説明】
1 主メモリ
2 プログラム記憶領域
3 データ記憶領域
4 停止指示用データ領域
5 停止状態用データ領域
6、10 停止指示監視手段
7 停止処理起動手段
8 idle処理部
9 停止状態通知手段
11 停止処理部
12 停止指示通知手段
13 停止状態監視手段
14 命令書き換え手段
15 命令書き換え処理部
16 書き換え表
17 命令キャッシュクリア手段
Claims (9)
- 複数のプロセッサと、この複数のプロセッサが共有する主メモリとを備え、
この主メモリには、プログラム記憶領域とデータ記憶領域とを備え、
前記複数のプロセッサは、これらの記憶領域を参照してプログラムを実行する手段を備え、
前記主メモリと前記複数のプロセッサの間には、各プロセッサ毎にそれぞれ命令キャッシュを備え、前記命令キャッシュの保持する命令に対して自プロセッサおよび他のプロセッサから前記主メモリに書き込みが行われた場合でもその内容が反映されないマルチプロセッサシステムにおいて、
一つのプロセッサが前記プログラムの実行停止を指示する情報を前記データ記憶領域中に設定された他の各プロセッサ停止指示用のデータ領域に書き込むことにより他のプロセッサに対して前記プログラムの実行停止を指示する手段と、
前記一つのプロセッサ以外の各プロセッサが、自プロセッサが処理すべきプロセスが存在しないときに自プロセッサの前記停止指示用のデータ領域を読み取り、読み取った値が前記プログラムの実行停止を指示する情報の場合には、前記プログラムの実行停止を指示したプロセッサに対して前記プログラムの実行を停止状態としたことを通知する手段と、
前記各プロセッサが、前記プログラムの実行停止指示が解除されるまで各プロセッサの前記停止指示用のデータ領域を監視する手段と、
前記各プロセッサが、前記プログラムの実行停止指示が解除されると、前記データ記憶領域中に設定された各プロセッサの停止状態用のデータ領域に自プロセッサが停止状態でないことを示す値を書き込むと共に、前記各プロセッサ毎に備えられた命令キャッシュの内容をクリアする手段と
を備えたことを特徴とするマルチプロセッサシステム。 - 前記一つのプロセッサは、前記主メモリ中の命令コードの書き換えを行うものであり、
当該書き換えに際して前記プログラムの実行停止を指示する手段により他プロセッサにプログラムの実行停止を指示する手段と、
前記通知する手段による他プロセッサからのプログラムの実行停止通知を受け取った後に前記主メモリ中の命令コードの書き換えを行う手段と
を備えた請求項1記載のマルチプロセッサシステム。 - 前記プログラムの実行停止を指示する手段により他のすべてのプロセッサに対してプログラムの実行停止を指示した前記一つのプロセッサは当該指示が不要になったときには当該指示を解除する指示を他のすべてのプロセッサに対して行うプログラムの実行停止解除指示手段を備え、
前記プログラムの実行停止指示を受けてプログラムの実行を停止していたプロセッサは、前記プログラムの実行停止解除指示手段によるプログラムの実行停止解除指示を受け取ると自己に関わる前記命令キャッシュの内容をクリアしてからプログラム実行を再開する手段を備えた
請求項1または2記載のマルチプロセッサシステム。 - 複数のプロセッサと、この複数のプロセッサが共有する主メモリとを備え、
この主メモリには、プログラム記憶領域とデータ記憶領域とを備え、
前記複数のプロセッサは、これらの記憶領域を参照してプログラムを実行する手段とを備え、
前記主メモリと前記複数のプロセッサの間には、各プロセッサ毎にそれぞれ命令キャッシュを備え、
前記命令キャッシュの保持する命令に対して自プロセッサおよび他のプロセッサから前記主メモリに書き込みが行われた場合でもその内容が反映されないマルチプロセッサシステムに適用される前記主メモリにおいて、
前記プログラム記憶領域には、
一つのプロセッサが前記プログラムの実行停止を指示する情報を前記データ記憶領域中に設定された他の各プロセッサ停止指示用のデータ領域に書き込むことにより他のプロセッサに対して前記プログラムの実行停止を指示するプログラムと、
前記一つのプロセッサ以外の各プロセッサが、自プロセッサが処理すべきプロセスが存在しないときに自プロセッサの前記停止指示用のデータ領域を読み取り、読み取った値が前記プログラムの実行停止を指示する情報の場合には、前記プログラムの実行停止を指示されたプロセッサが当該実行停止を指示したプロセッサに対して前記プログラムの実行を停止状態としたことを通知するプログラムと、
前記各プロセッサが、前記プログラムの実行停止指示が解除されるまで各プロセッサの前記停止指示用のデータ領域を監視するプログラムと、
前記各プロセッサが、前記プログラムの実行停止指示が解除されると、前記データ記憶領域中に設定された各プロセッサの停止状態用のデータ領域に自プロセッサが停止状態でないことを示す値を書き込むと共に、前記各プロセッサ毎に備えられた命令キャッシュの内容をクリアするプログラムと
が書き込まれたことを特徴とする主メモリ。 - 前記一つのプロセッサは、前記主メモリ中の命令コードの書き換えを行うものであり、
前記プログラム記憶領域には、
前記一つのプロセッサが当該書き換えに際して前記プログラムの実行停止を指示するプログラムにより他プロセッサにプログラムの実行停止を指示するプログラムと、
前記通知するプログラムによる他プロセッサからのプログラムの実行停止通知を受け取った後に前記主メモリ中の命令コードの書き換えを行うプログラムと
が書き込まれた請求項4記載の主メモリ。 - 前記プログラム記憶領域には、
前記プログラムの実行停止を指示するプログラムにより他プロセッサに対してプログラムの実行停止を指示した前記一つのプロセッサが当該指示が不要になったときには当該指示を解除する指示を他プロセッサに対して行うプログラムの実行停止解除指示プログラムと、
前記プログラムの実行停止指示を受けてプログラムの実行を停止していたプロセッサがプログラムの実行停止解除指示を受け取ると当該プロセッサに関わる前記命令キャッシュの内容をクリアしてからプログラム実行を再開するプログラムと
が書き込まれた請求項4記載の主メモリ。 - 複数のプロセッサと、
この複数のプロセッサが共有する主メモリと、
この主メモリに備えられたプログラム記憶領域とデータ記憶領域と、
前記主メモリと前記複数のプロセッサの間には、各プロセッサ毎にそれぞれ命令キャッシュと、を備え、
自プロセッサおよび他のプロセッサから前記主メモリに書き込みが行われた場合でも前記命令キャッシュの保持する命令に対してその内容が反映されないアーキテクチャを採用した情報処理装置を、
前記複数のプロセッサが、前記プログラム記憶領域と前記データ記憶領域を参照してプログラムを実行する手段と、
一つのプロセッサが前記プログラムの実行停止を指示する情報を前記データ記憶領域中に設定された他の各プロセッサ停止指示用のデータ領域に書き込むことにより他のプロセッサに対して前記プログラムの実行停止を指示する手段と、
前記一つのプロセッサ以外の各プロセッサが、自プロセッサが処理すべきプロセスが存在しないときに自プロセッサの前記停止指示用のデータ領域を読み取り、読み取った値が前記プログラムの実行停止を指示する情報の場合には、前記プログラムの実行停止を指示されたプロセッサが当該実行停止を指示したプロセッサに対して前記プログラムの実行を停止状態としたことを通知する手段と、
前記各プロセッサが、前記プログラムの実行停止指示が解除されるまで各プロセッサの前記停止指示用のデータ領域を監視する手段と、
前記各プロセッサが、前記プログラムの実行停止指示が解除されると、前記データ記憶領域中に設定された各プロセッサの停止状態用のデータ領域に自プロセッサが停止状態でないことを示す値を書き込むと共に、前記各プロセッサ毎に備えられた命令キャッシュの内容をクリアする手段、
として機能させるためのプログラム。 - 前記一つのプロセッサは、前記主メモリ中の命令コードの書き換えを行うものであり、
前記情報処理装置を、更に
前記一つのプロセッサが当該書き換えに際して前記プログラムの実行停止を指示する手段により他プロセッサに前記プログラムの実行停止が指示されると、前記通知する手段による他プロセッサからの前記プログラムの実行停止通知を受け取った後に前記主メモリ中の命令コードの書き換えを行う手段、
として機能させるための請求項7記載のプログラム。 - 前記情報処理装置を、更に
前記プログラムの実行停止を指示する手段により他プロセッサに対して前記プログラムの実行停止を指示した前記一つのプロセッサは当該指示が不要になったときには当該指示を解除する指示を他プロセッサに対して行うプログラムの実行停止解除指示手段と、
前記プログラムの実行停止指示を受けて前記プログラムの実行を停止していたプロセッサが前記プログラムの実行停止解除指示を受け取ると当該プロセッサに関わる前記命令キャッシュの内容をクリアしてから前記プログラムの実行を再開する手段、
として機能させるための請求項7記載のプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003140538A JP4457577B2 (ja) | 2003-05-19 | 2003-05-19 | マルチプロセッサシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003140538A JP4457577B2 (ja) | 2003-05-19 | 2003-05-19 | マルチプロセッサシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004342014A JP2004342014A (ja) | 2004-12-02 |
| JP4457577B2 true JP4457577B2 (ja) | 2010-04-28 |
Family
ID=33529242
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003140538A Expired - Fee Related JP4457577B2 (ja) | 2003-05-19 | 2003-05-19 | マルチプロセッサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4457577B2 (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5411530B2 (ja) * | 2009-03-04 | 2014-02-12 | キヤノン株式会社 | 並列処理プロセッサシステム |
| JP2011107799A (ja) * | 2009-11-13 | 2011-06-02 | Renesas Electronics Corp | 非対称型マルチプロセッサの割込み制御方法、非対称型マルチプロセッサ |
| JP6138482B2 (ja) * | 2012-12-25 | 2017-05-31 | Necエンジニアリング株式会社 | 組み込みシステム |
| US11436043B2 (en) * | 2019-11-13 | 2022-09-06 | International Business Machines Corporation | Operating system code patching during live migration |
| JP7633127B2 (ja) * | 2021-08-31 | 2025-02-19 | 株式会社オービック | Rpa管理装置、rpa管理方法、および、rpa管理プログラム |
-
2003
- 2003-05-19 JP JP2003140538A patent/JP4457577B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004342014A (ja) | 2004-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100267029B1 (ko) | 메모리갱신이력보존장치를구비한컴퓨터시스템 | |
| JP4315016B2 (ja) | コンピュータシステムの系切替方法 | |
| JP4486609B2 (ja) | ストレージ装置、ストレージ装置のストレージ制御ファームウェアの活性プログラム交換方法及びストレージ制御ファームウェアの活性プログラム交換のためのプログラム | |
| JP3481737B2 (ja) | ダンプ採取装置およびダンプ採取方法 | |
| CN111858077A (zh) | 一种存储系统中io请求日志的记录方法、装置及设备 | |
| JP4457577B2 (ja) | マルチプロセッサシステム | |
| US5121488A (en) | Sequence controller of an instruction processing unit for placing said unit in a ready, go, hold, or cancel state | |
| JP2010176201A (ja) | フラッシュメモリのデータ消失防止装置及びフラッシュメモリのデータ消失防止方法 | |
| JP4352224B2 (ja) | 二重化系におけるデータ救済方法およびシステム | |
| JP3550256B2 (ja) | 情報処理装置 | |
| JPH0962499A (ja) | プログラムファイル更新装置 | |
| JPS63305445A (ja) | 電源切断時のデ−タ書込み方式 | |
| JP3514173B2 (ja) | 制御装置 | |
| JP6907976B2 (ja) | コントローラ及びデータ保存方法 | |
| JP2002007172A (ja) | ストール監視装置及びストール監視方法並びにストール監視プログラムを記録した記録媒体 | |
| JPH10149317A (ja) | 情報処理装置 | |
| JP2713218B2 (ja) | チェックポイント/リスタート処理方式 | |
| JP2000347758A (ja) | 情報処理装置 | |
| JP6999584B2 (ja) | 監視制御システム、監視制御システムの運用方法及び制御システム | |
| JP5791524B2 (ja) | Os動作装置及びos動作プログラム | |
| JPH09330253A (ja) | メモリダンプ方法及びそれを適用したメモリダンプシステム | |
| JPH10116262A (ja) | 並列計算機、プロセッサ要素ネットワーク、および並列計算機用プログラムを記録した記録媒体 | |
| JP3464768B2 (ja) | ファイルロードを有するプロセッサ装置 | |
| JP4893650B2 (ja) | 情報処理装置、情報処理システム、制御方法及び制御プログラム | |
| JPH0395634A (ja) | 計算機システム再起動制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060414 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080214 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080312 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080826 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090622 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091019 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091110 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091225 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100119 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100201 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4457577 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140219 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |