JPH05189276A - 排他制御履歴取得方式 - Google Patents
排他制御履歴取得方式Info
- Publication number
- JPH05189276A JPH05189276A JP4004776A JP477692A JPH05189276A JP H05189276 A JPH05189276 A JP H05189276A JP 4004776 A JP4004776 A JP 4004776A JP 477692 A JP477692 A JP 477692A JP H05189276 A JPH05189276 A JP H05189276A
- Authority
- JP
- Japan
- Prior art keywords
- register
- history
- execution
- bus
- memory
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 密結合型並列処理システムにおけるバスロッ
ク命令の実行履歴を、正確にかつ、並列プログラムの実
行状態に与える影響を最小限に取得する。 【構成】 CPUにバスロック命令実行履歴取得の有無
を示すレジスタを設け、該レジスタがONであったなら
ば、バスロック命令実行時に、バスロック状態のまま、
必要な履歴情報を取得し、共有メモリに格納する。
ク命令の実行履歴を、正確にかつ、並列プログラムの実
行状態に与える影響を最小限に取得する。 【構成】 CPUにバスロック命令実行履歴取得の有無
を示すレジスタを設け、該レジスタがONであったなら
ば、バスロック命令実行時に、バスロック状態のまま、
必要な履歴情報を取得し、共有メモリに格納する。
Description
【0001】
【産業上の利用分野】この発明は、密結合型並列処理計
算機システムにおける、排他制御実行履歴取得方法に関
する。
算機システムにおける、排他制御実行履歴取得方法に関
する。
【0002】
【従来の技術】従来、バスロックを伴うメモリ書き換え
命令を使用し、構成された、密結合型並列処理システム
において、該メモリ書き換え命令を用いて実現された排
他処理制御実行履歴を取得したいときはソフトウェアに
より行っていたが、該命令発生時にアトミックに情報取
得ができないため、履歴情報が不正となる、また、履歴
取得命令実行のためプログラムの実行状況が変化してし
まう等の問題があった。
命令を使用し、構成された、密結合型並列処理システム
において、該メモリ書き換え命令を用いて実現された排
他処理制御実行履歴を取得したいときはソフトウェアに
より行っていたが、該命令発生時にアトミックに情報取
得ができないため、履歴情報が不正となる、また、履歴
取得命令実行のためプログラムの実行状況が変化してし
まう等の問題があった。
【0003】
【発明が解決しようとする課題】従来の技術で説明した
ように、従来のソフトウェアによるバスロックを伴う特
殊命令の実行履歴取得方式では、密結合型の並列処理シ
ステムにおいては正確に履歴を取得できない。なぜなら
ば、該命令の直後に実行履歴の書き出しを行おうとして
も書き出し命令よりも先に、該手順を実行中のCPU以
外のCPUが共有バスを確保してしまう可能性があるか
らである。ソフトウェアによる履歴取得は正確な実行履
歴を取得できないばかりでなく、冗長な実行履歴取得命
令が挿入されることによってお互いに同期をとり合っ
て、複数CPU上で実行されている並列プログラムの実
行状況を変化させてしまう。
ように、従来のソフトウェアによるバスロックを伴う特
殊命令の実行履歴取得方式では、密結合型の並列処理シ
ステムにおいては正確に履歴を取得できない。なぜなら
ば、該命令の直後に実行履歴の書き出しを行おうとして
も書き出し命令よりも先に、該手順を実行中のCPU以
外のCPUが共有バスを確保してしまう可能性があるか
らである。ソフトウェアによる履歴取得は正確な実行履
歴を取得できないばかりでなく、冗長な実行履歴取得命
令が挿入されることによってお互いに同期をとり合っ
て、複数CPU上で実行されている並列プログラムの実
行状況を変化させてしまう。
【0004】この発明は、上記のような課題を解決する
ためになされたもので、密結合型並列処理システムにお
けるデバッグ作業の効率向上や、性能チューンのための
履歴情報の取得を目的としている。
ためになされたもので、密結合型並列処理システムにお
けるデバッグ作業の効率向上や、性能チューンのための
履歴情報の取得を目的としている。
【0005】
【課題を解決するための手段】この発明は、密結合型の
並列処理システムにおいて排他制御を行うために、他C
PUのバスアクセスを禁止する、バスロックを伴うメモ
リ書き換え命令において、CPU内にバスロックを伴う
該命令の実行履歴取得を行うか否かを示すレジスタを設
け、該レジスタがONであれば、マイクロプログラムさ
れた該命令はバスロック状態にした上、メモリ内容の書
き換え等の本来の作業に加え、例えば、汎用レジスタに
ある、プログラムカウンタ等の情報や、グローバルタイ
マによるタイムスタンプ等の情報を該レジスタにソフト
ウェアにより予め格納された、メモリ上の格納先アドレ
スに格納する。逆に、該レジスタがOFFであれば、バ
スロック状態にした上、本来の作業のみを実行し、共有
バスを解放する。
並列処理システムにおいて排他制御を行うために、他C
PUのバスアクセスを禁止する、バスロックを伴うメモ
リ書き換え命令において、CPU内にバスロックを伴う
該命令の実行履歴取得を行うか否かを示すレジスタを設
け、該レジスタがONであれば、マイクロプログラムさ
れた該命令はバスロック状態にした上、メモリ内容の書
き換え等の本来の作業に加え、例えば、汎用レジスタに
ある、プログラムカウンタ等の情報や、グローバルタイ
マによるタイムスタンプ等の情報を該レジスタにソフト
ウェアにより予め格納された、メモリ上の格納先アドレ
スに格納する。逆に、該レジスタがOFFであれば、バ
スロック状態にした上、本来の作業のみを実行し、共有
バスを解放する。
【0006】このように取得されたバスロックを伴う命
令の実行履歴を、すべてのCPUについて取りだし、こ
れをタイムスタンプにより時系列上に整理するなどし
て、実行状態を解析する。
令の実行履歴を、すべてのCPUについて取りだし、こ
れをタイムスタンプにより時系列上に整理するなどし
て、実行状態を解析する。
【0007】
【作用】この発明によれば、密結合型の並列処理システ
ムにおける、共有バスロックを伴う排他制御命令の実行
履歴を、正確に、また、並列処理プログラムの実行に与
える影響を最小限に取得することが可能となる。
ムにおける、共有バスロックを伴う排他制御命令の実行
履歴を、正確に、また、並列処理プログラムの実行に与
える影響を最小限に取得することが可能となる。
【0008】
【実施例】本発明による実施例を図を用い説明する。図
1は本発明が適用される密結合型の並列処理システムの
システム構成図で、共有バス102に、共有メモリ10
1、番号103、104、および105で示すn個のC
PU、グローバルタイマ、そして、I/O装置107が
接続されている。共有バスに接続された全てのCPU2
00は、図2に示す構成になっており、201はメモリ
バス、202は処理ユニット、203はバスロック命令
の実行履歴取得の有無を示すレジスタである。
1は本発明が適用される密結合型の並列処理システムの
システム構成図で、共有バス102に、共有メモリ10
1、番号103、104、および105で示すn個のC
PU、グローバルタイマ、そして、I/O装置107が
接続されている。共有バスに接続された全てのCPU2
00は、図2に示す構成になっており、201はメモリ
バス、202は処理ユニット、203はバスロック命令
の実行履歴取得の有無を示すレジスタである。
【0009】本発明によるCPUでは、バスロック命令
は、図3に示す手順で行われる。ただし、301にある
履歴フラグは203のレジスタを示し、該レジスタは履
歴情報格納先のメモリ上のアドレスを格納している。該
レジスタはソフトウェアによって設定され、値が0であ
れば、実行履歴取得フラグとしてOFFであることを示
す。
は、図3に示す手順で行われる。ただし、301にある
履歴フラグは203のレジスタを示し、該レジスタは履
歴情報格納先のメモリ上のアドレスを格納している。該
レジスタはソフトウェアによって設定され、値が0であ
れば、実行履歴取得フラグとしてOFFであることを示
す。
【0010】バスロック命令が発せられたならば、共有
バスを300でロックする、レジスタ203を参照し、
301で履歴フラグとして0であったなら、つまり、履
歴取得を行わない時は、305の本来の命令実行、例え
ば、指定アドレスのメモリ内容の書き換えを行い、30
6で共有バスを解放し、終了する。301で203が0
以外の値のメモリアドレス値であったなら、つまり、履
歴取得を行う時は、302でグローバルタイマの読み出
しを行い、303で汎用レジスタから、必要な情報を読
み出し、それぞれ、レジスタ203の示す履歴情報格納
先に格納し、305で本来の命令実行を行い、306で
共有バスを解放し終了する。
バスを300でロックする、レジスタ203を参照し、
301で履歴フラグとして0であったなら、つまり、履
歴取得を行わない時は、305の本来の命令実行、例え
ば、指定アドレスのメモリ内容の書き換えを行い、30
6で共有バスを解放し、終了する。301で203が0
以外の値のメモリアドレス値であったなら、つまり、履
歴取得を行う時は、302でグローバルタイマの読み出
しを行い、303で汎用レジスタから、必要な情報を読
み出し、それぞれ、レジスタ203の示す履歴情報格納
先に格納し、305で本来の命令実行を行い、306で
共有バスを解放し終了する。
【0011】
【発明の効果】以上のように、本発明によれば、密結合
型の並列処理システムにおいて、CPU間の排他制御の
ために発行する、バスロック命令の実行履歴とき、ソフ
トウェアによる方法に比較し、正確に、しかも、並列処
理プログラムの実行状態への影響を最小限に抑えること
ができる。
型の並列処理システムにおいて、CPU間の排他制御の
ために発行する、バスロック命令の実行履歴とき、ソフ
トウェアによる方法に比較し、正確に、しかも、並列処
理プログラムの実行状態への影響を最小限に抑えること
ができる。
【図1】この発明の一実施例に係わる密結合型並列処理
システムの構成を示すブロック図である。
システムの構成を示すブロック図である。
【図2】図1中のCPUの構成を示す構成図である。
【図3】実施例の動作の説明をするフローチャートであ
る。
る。
101 共有メモリ 102 共有バス 103〜105 CPU 106 グローバルタイマ 107 I/O装置 200 CPU 201 メモリバス 202 処理ユニット 203 履歴取得フラグレジスタ
Claims (1)
- 【請求項1】 各CPU内に履歴取得の有無を示すレジ
スタを設けることにより、バスロック命令発生時に、該
レジスタがONならば、バスロック状態のまま実行履歴
を書き出すことを特徴とする排他制御履歴取得方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4004776A JPH05189276A (ja) | 1992-01-14 | 1992-01-14 | 排他制御履歴取得方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4004776A JPH05189276A (ja) | 1992-01-14 | 1992-01-14 | 排他制御履歴取得方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05189276A true JPH05189276A (ja) | 1993-07-30 |
Family
ID=11593238
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4004776A Pending JPH05189276A (ja) | 1992-01-14 | 1992-01-14 | 排他制御履歴取得方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05189276A (ja) |
-
1992
- 1992-01-14 JP JP4004776A patent/JPH05189276A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6799236B1 (en) | Methods and apparatus for executing code while avoiding interference | |
| US7131115B2 (en) | Unwinding instrumented program code | |
| US6886081B2 (en) | Method and tool for determining ownership of a multiple owner lock in multithreading environments | |
| US8028132B2 (en) | Collision handling apparatus and method | |
| IL100991A (en) | Method for translating a first program code to a second program code | |
| EP1125199B1 (en) | Method of debugging a program thread | |
| JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
| JPH10214203A (ja) | 情報処理装置 | |
| JP2671160B2 (ja) | 例外処理方式 | |
| JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
| JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
| JPS61141047A (ja) | 障害情報の退避方式 | |
| JPH0283749A (ja) | マイクロプロセッサの内部割込み制御方式 | |
| JP3130798B2 (ja) | バス転送装置 | |
| JPH08286950A (ja) | 情報処理装置及びトレース情報格納方法 | |
| JPH08320813A (ja) | プログラムシミュレータ装置及びプログラムデバッグ方法 | |
| JPS5834856B2 (ja) | キオクセイギヨソウチ | |
| JPH04365133A (ja) | プレロード命令実行装置及びプログラム修正装置 | |
| JPH03225533A (ja) | コピーオンライト逆実行チェックポイント方式 | |
| JPS60214046A (ja) | 異常終了処理制御方式 | |
| JPS6231434A (ja) | 命令アドレス制御方式 | |
| JPH04134535A (ja) | マルチタスクプログラムの例外情報採取機構 | |
| JPS62204338A (ja) | Lisp言語処理システム | |
| JPS59167760A (ja) | 情報処理装置 | |
| JPS613251A (ja) | 処理装置のプログラムデバツグ機構 |