JPH05143391A - 仮想記憶方式のコンピユータにおけるメモリトレース方法 - Google Patents

仮想記憶方式のコンピユータにおけるメモリトレース方法

Info

Publication number
JPH05143391A
JPH05143391A JP3305980A JP30598091A JPH05143391A JP H05143391 A JPH05143391 A JP H05143391A JP 3305980 A JP3305980 A JP 3305980A JP 30598091 A JP30598091 A JP 30598091A JP H05143391 A JPH05143391 A JP H05143391A
Authority
JP
Japan
Prior art keywords
address
memory
trace
conversion
virtual
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
Application number
JP3305980A
Other languages
English (en)
Inventor
Yoshiaki Kobayashi
良彰 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP3305980A priority Critical patent/JPH05143391A/ja
Publication of JPH05143391A publication Critical patent/JPH05143391A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】本発明は、複数のプログラムが同一のメモリア
ドレスを共有している場合に、各プログラムの実行動作
を中断することなく、共有メモリに対するアクセス情報
を自動的に抽出保持することを目的とする。 【構成】マルチプログラム19,20によりアクセス対
象となる記憶装置18に共有のページ21,22を有す
るもので、各プログラム命令に含まれる仮想アドレスを
記憶装置18の実アドレスに変換する変換規則と共にメ
モリトレースの有無を示すトレース指定ビット14をア
ドレス変換テーブル13に予め記録させ、アドレス変換
装置12における仮想アドレス変換処理の際に、その変
換規則に対応するトレース指定ビット14に“1”がセ
ットされていた場合には、割込み制御装置15によりト
レースルーチン16を起動させ、現プログラム命令の実
行と共にそのメモリアクセスのトレース処理が行なわれ
るようにする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、仮想記憶方式のコンピ
ュータにおけるメモリトレース方法に関する。
【0002】
【従来の技術】一般に、コンピュータにおいて動作異常
が発生した際に、その異常動作の原因を究明するには、
例えば動作異常発生時点までのプログラム実行状況を振
返って調査し、実際にどの時点で誤った処理が行なわれ
たかを確認することが考えられる。従来、コンピュータ
の動作中に、予めその動作経歴を保存しておく1手段と
して、メモリトレース機能が上げられる。
【0003】このメモリトレース機能では、コンピュー
タの処理プログラムが、どの時点で、どのメモリアドレ
スに対し、何をしたか等のメモリ操作情報が抽出保持さ
れるもので、仮想記憶方式のコンピュータにおけるメモ
リトレース手段としては、従来、例えば次の4つの手段
が考えられていた。
【0004】すなわち、まず第1に、プログラムの意味
を逐一解析することにより、その動作の全てをトレース
する方法、第2に、ソースプログラムから目的とするプ
ログラムを作成する仮定でコンパイラから得られる情報
に基づき、どの時点でどのアドレスにアクセスされたか
をトレースする方法、第3に、実行プログラムを所定の
長さで区切りながら、そのそれぞれのプログラム実行に
伴う特定アドレスにおけるメモリ情報の変化を監視して
トレースする方法、第4に、予めトレースしたい特定の
メモリアドレスをレジスタに保持させ、プログラム実行
時においてアクセスされるメモリアドレスが上記特定の
メモリアドレスと一致した場合に、そのアクセス情報を
トレースする方法が有る。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来のメモリトレース手段では、1つのプログラムが他の
プログラムから影響を受けない状態でアクセスされるメ
モリのトレースを行なう場合には有効であるが、複数の
プログラムがページまたはセグメントを共有してその各
々から読書きが行なわれる場合に、該複数のプログラム
を実行させながらその共有アドレスのみに対して自動的
にメモリトレースを行なうのは困難である。
【0006】本発明は、上記課題に鑑みなされたもの
で、複数のプログラムが同一のメモリアドレスを共有し
ている場合に、各プログラムの実行動作を中断すること
なく、共有メモリに対するアクセス情報を自動的に抽出
保持することが可能になる仮想記憶方式のコンピュータ
におけるメモリトレース方法を提供することを目的とす
る。
【0007】
【課題を解決するための手段】すなわち、本発明に係わ
る仮想記憶方式のコンピュータにおけるメモリトレース
方法は、複数プログラムのプログラム実行手段と、この
複数プログラムの実行に伴いアクセス対象となる共有メ
モリと、仮想アドレスを上記共有メモリの実アドレスに
変換するための変換規則が記録されると共に、各仮想ア
ドレスの変換規則に対応してメモリトレースの有無を示
すトレース指定ビットを予め設定したアドレス変換テー
ブルと、上記複数プログラムの実行命令に含まれる仮想
アドレスを上記アドレス変換テーブルに記録されるアド
レス変換規則に基づき実アドレスに変換すると共に、該
アドレス変換規則に対応するトレース指定ビットに基づ
きメモリトレースの有無を判断するアドレス変換手段
と、メモリアクセスの履歴情報を抽出保持するためのメ
モリトレース手段と、上記アドレス変換手段により得ら
れた実アドレスに対応してメモリトレース有りと判断さ
れた場合に、その実アドレスに対応する共有メモリに対
して上記メモリトレース手段を起動させるトレース割込
み制御手段とを備えてなるものである。
【0008】
【作用】つまり、各プログラム命令に含まれる仮想アド
レスを共有メモリの実アドレスに変換する変換規則と共
に、メモリトレースの有無を示すトレース指定ビットを
アドレス変換テーブルに予め記録させ、アドレス変換手
段における仮想アドレス変換処理の際に、その変換規則
に対応するトレース指定ビットに“トレース有り”の情
報が設定されていた場合には、割込み制御手段によりメ
モリトレース手段を起動させることで、現プログラム命
令の実行と共にそのメモリアクセスのトレース処理が行
なわれるようになる。
【0009】
【実施例】以下図面により本発明の一実施例について説
明する。
【0010】図1は仮想記憶方式のコンピュータにおけ
るメモリトレース方法を実施したコンピュータシステム
の構成を示すもので、このコンピュータシステムには、
演算準備装置11が備えられる。
【0011】この演算準備装置11は、マルチプログラ
ム19及び20からの命令を読込み解読すると共に、こ
の解読された命令に基づき、必要に応じて記憶装置18
からデータの読込みを行なうもので、この演算準備装置
11には、アドレス変換装置12、割込み制御装置1
5、演算装置17、記憶装置18が接続される。
【0012】アドレス変換装置12は、アドレス変換テ
ーブル13に予め記録された変換規則に基づき、プログ
ラム命令に含まれる仮想アドレスを実アドレスに変換す
るもので、この場合、アドレス変換テーブル13には、
各仮想アドレスの変換規則に対応してメモリトレース有
無の指定ビット14を備えさせ、変換実アドレスに対す
るメモリトレースの有無をアドレス変換装置12により
判断させる。ここで、アドレス変換テーブル13におけ
るトレース指定ビット14は、“1”でメモリトレース
有り、“0”でメモリトレース無しを示している。
【0013】割込み制御装置15は、上記アドレス変換
装置12により仮想アドレスのアドレス変換処理が行な
われた際に、その仮想アドレスの変換規則に対応して予
め記録されるトレース指定ビット14に基づき、変換実
アドレスに対するメモリトレース有りと判断されると、
割込み制御を開始するもので、この場合、トレース割込
みの原因となったプログラム命令の演算処理が終了した
時点で、そのプログラム19または20の識別子が演算
準備装置11に取込まれ、メモリトレースルーチン16
が実行される。
【0014】このメモリトレースルーチン16は、トレ
ース割込みの発生時間、メモリアクセスを行なったプロ
グラムの識別情報、アクセス対象とされる仮想及び実ア
ドレス、メモリアクセス発生時点でのプログラム実行ア
ドレス等の予め定められたトレース情報の抽出保持を図
るためのプログラムで、このメモリトレースルーチン1
6は、上記割込み制御装置15における割込み制御によ
り、演算準備装置11にて実行される。
【0015】ここで、記憶装置18におけるページ2
1,22は、上記マルチプログラム19及び20により
共有されるもので、例えば仮想アドレスaに対応する実
アドレスが記憶装置18におけるページ21の先頭アド
レス、仮想アドレスbに対応する実アドレスが記憶装置
18におけるページ22の先頭アドレスとすると、例え
ば仮想アドレス「a+off1」でページ21の先頭アドレ
ス+1が実アドレスとなり、仮想アドレス「b+off2」
でページ22の先頭アドレス+2が実アドレスとなる。
【0016】つまり、このように仮想アドレスを実アド
レスに変換すべく変換規則が、各仮想アドレスに対応さ
せてアドレス変換テーブル13に予め記録されるもの
で、メモリトレースを実施したい実アドレスに対応する
変換規則記録位置にのみ対応してトレース指定ビット1
4に“1”をセットしておくことにより、アドレス変換
処理と共にそのメモリアクセスに対するトレースの有無
が判断されるようになる。
【0017】この場合、例えば、記憶装置18における
特定ページ21に対する仮想アドレスaに対応する変換
規則をa′、また、特定ページ22に対する仮想アドレ
スbに対応する変換規則をb′とし、該変換規則b′に
対してトレース指定ビット“1”を設定する。
【0018】図2は上記コンピュータシステムにおける
アドレス変換処理に伴うメモリトレース処理を示すフロ
ーチャートであり、演算準備装置11によりマルチプロ
グラム19または20何れかの命令が読込まれると、そ
の読込み命令において記憶装置18とのアクセスが必要
であるか否かが判断される(ステップS1)。
【0019】このステップS1において「YES」、つ
まり、メモリアクセス命令有りと判断されると、その仮
想アドレスに基づく記憶装置18の実アドレスが、アド
レス変換装置12においてアドレス変換テーブル13を
用いて求められる(ステップS2)。
【0020】この際、アドレス変換装置12では、アド
レス変換テーブル13の利用変換規則に対応して予め記
録されているトレース指定ビット14を読込み、メモリ
トレース有りまたは無しを判断するもので、このトレー
ス指定ビット14に“1”がセットされいた場合には、
メモリトレース有りと判断され、割込み制御装置15に
対してトレース割込みの発生が通知される(ステップS
4)。この場合、上記ステップS3におけるメモリトレ
ース有無の判断には拘らず、演算装置17における演算
処理は継続して実行される(ステップS5)。
【0021】そして、上記ステップS4おいて、上記割
込み制御装置15にトレース割込みの発生が通知される
と、該割込み制御装置15により、演算準備装置11を
通して現実行プログラムのコンテキスト(処理情報)が
図示しないレジスタ等に保存されると共に、トレースル
ーチン16が起動されて所定のメモリトレース処理が実
行されるようになる(ステップS6,S7)。
【0022】すなわち、例えばプログラム19のアドレ
スiにおける命令「LD a+off1r1」(仮想アドレスa
+off1のレジスタr1への読込み命令)が演算準備装置1
1に読込まれると、仮想アドレス「a+off1」に対する
メモリアクセス有りと判断され、アドレス変換装置12
によりアドレス変換テーブル13の変換規則a′に基づ
く記憶装置18の実アドレス、この場合、ページ21の
先頭アドレス+1が求められる(ステップS1,S
2)。
【0023】ここで、上記アドレス変換テーブル13の
利用変換規則a′に対応するトレース指定ビット14が
“0”であること、つまり、上記アドレス変換装置12
にて得られた記憶装置18の実アドレスに対するメモリ
トレースの必要無しと判断されると、そのメモリトレー
ス処理は実行されず、上記演算準備装置11への読込み
命令「LD a+off1 r1」に基づくデータ読込み処理及
び演算処理がそのまま実行される(ステップS3→S
5)。
【0024】また、例えばプログラム19のアドレスj
における命令「LDb+off2 r2」(仮想アドレスb+of
f2のレジスタr2への読込み命令)が演算準備装置11に
読込まれると、仮想アドレス「b+off2」に対するメモ
リアクセス有りと判断され、アドレス変換装置12によ
りアドレス変換テーブル13の変換規則b′に基づく記
憶装置18の実アドレス、この場合、ページ22の先頭
アドレス+2が求められる(ステップS1,S2)。
【0025】ここで、上記アドレス変換テーブル13の
利用変換規則b′に対応するトレース指定ビット14が
“1”であること、つまり、上記アドレス変換装置12
にて得られた記憶装置18の実アドレスに対するメモリ
トレースの必要有りと判断されると、割込み制御装置1
5にトレース割込みの発生が通知され、上記プログラム
命令「LD b+off2 r2」に基づくデータ読込み処理及
び演算処理の後に、現実行プログラムのコンテキスト
(処理情報)が保存され、トレースルーチン16が起動
される(ステップS3〜S7)。
【0026】すると、上記トレース割込みの発生時間、
メモリアクセスを行なったプログラム19の識別情報、
アクセス対象アドレス「b+off2」、メモリアクセス発
生時点でのプログラム実行アドレスj等、メモリアクセ
スの履歴情報がトレース情報として抽出保持されるよう
になる。
【0027】一方、例えばプログラム20のアドレスk
における命令「LDb+off3 r1」(仮想アドレスb+of
f3のレジスタr1への読込み命令)が演算準備装置11に
読込まれると、仮想アドレス「b+off3」に対するメモ
リアクセス有りと判断され、アドレス変換装置12によ
りアドレス変換テーブル13の変換規則b′に基づく記
憶装置18の実アドレス、この場合、ページ22の先頭
アドレス+3が求められる(ステップS1,S2)。
【0028】ここで、上記アドレス変換テーブル13の
利用変換規則b′に対応するトレース指定ビット14が
“1”であること、つまり、上記アドレス変換装置12
にて得られた記憶装置18の実アドレスに対するメモリ
トレースの必要有りと判断されると、割込み制御装置1
5にトレース割込みの発生が通知され、上記プログラム
命令「LD b+off3 r1」に基づくデータ読込み処理及
び演算処理の後に、現実行プログラムのコンテキスト
(処理情報)が保存され、トレースルーチン16が起動
される(ステップS3〜S7)。
【0029】すると、上記トレース割込みの発生時間、
メモリアクセスを行なったプログラム20の識別情報、
アクセス対象アドレス「b+off3」、メモリアクセス発
生時点でのプログラム実行アドレスk等、メモリアクセ
スの履歴情報がトレース情報として抽出保持されるよう
になる。
【0030】また、例えばプログラム20のアドレスI
における命令「LDa+off4 r2」(仮想アドレスa+of
f4のレジスタr2への読込み命令)が演算準備装置11に
読込まれると、仮想アドレス「a+off4」に対するメモ
リアクセス有りと判断され、アドレス変換装置12によ
りアドレス変換テーブル13の変換規則a′に基づく記
憶装置18の実アドレス、この場合、ページ21の先頭
アドレス+4が求められる(ステップS1,S2)。
【0031】ここで、上記アドレス変換テーブル13の
利用変換規則a′に対応するトレース指定ビット14が
“0”であること、つまり、上記アドレス変換装置12
にて得られた記憶装置18の実アドレスに対するメモリ
トレースの必要無しと判断されると、そのメモリトレー
ス処理は実行されず、上記演算準備装置11への読込み
命令「LD a+off4 r2」に基づくデータ読込み処理及
び演算処理がそのまま実行される(ステップS3→S
5)。
【0032】したがって、上記構成のコンピュータシス
テムでは、マルチプログラム19,20によりアクセス
対象となる記憶装置18に共有のページ21,22を有
するもので、各プログラム命令に含まれる仮想アドレス
を記憶装置18の実アドレスに変換する変換規則と共に
メモリトレースの有無を示すトレース指定ビット14を
アドレス変換テーブル13に予め記録させ、アドレス変
換装置12における仮想アドレス変換処理の際に、その
変換規則に対応するトレース指定ビット14に“1”が
セットされていた場合には、割込み制御装置15により
トレースルーチン16を起動させ、現プログラム命令の
実行と共にそのメモリアクセスのトレース処理が行なわ
れるようにしたので、マルチプログラム19及び20が
共有する特定のページ22に対するメモリトレース処理
を、該マルチプログラム19,20を実行させながら、
自動的に行なうことができる。
【0033】
【発明の効果】以上のように本発明によれば、仮想記憶
方式のコンピュータにおいて、複数プログラムのプログ
ラム実行手段と、この複数プログラムの実行に伴いアク
セス対象となる共有メモリと、仮想アドレスを上記共有
メモリの実アドレスに変換するための変換規則が記録さ
れると共に、各仮想アドレスの変換規則に対応してメモ
リトレースの有無を示すトレース指定ビットを予め設定
したアドレス変換テーブルと、上記複数プログラムの実
行命令に含まれる仮想アドレスを上記アドレス変換テー
ブルに記録されるアドレス変換規則に基づき実アドレス
に変換すると共に、該アドレス変換規則に対応するトレ
ース指定ビットに基づきメモリトレースの有無を判断す
るアドレス変換手段と、メモリアクセスの履歴情報を抽
出保持するためのメモリトレース手段と、上記アドレス
変換手段により得られた実アドレスに対応してメモリト
レース有りと判断された場合に、その実アドレスに対応
する共有メモリに対して上記メモリトレース手段を起動
させるトレース割込み制御手段とを備えてなるので、複
数のプログラムが同一のメモリアドレスを共有している
場合に、各プログラムの実行動作を中断することなく、
共有メモリに対するアクセス情報を自動的に抽出保持す
ることが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例に係わる仮想記憶方式のコン
ピュータにおけるメモリトレース方法を実施したコンピ
ュータシステムの構成を示すブロック図。
【図2】上記コンピュータシステムにおけるアドレス変
換処理に伴うメモリトレース処理を示すフローチャー
ト。
【符号の説明】
11…演算準備装置、12…アドレス変換装置、13…
アドレス変換テーブル、14…トレース指定ビット、1
5…割込み制御装置、16…トレースルーチン、17…
演算装置、18…記憶装置、19,20…マルチプログ
ラム、21,22…共有ページメモリ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 仮想記憶方式のコンピュータにおいて、 複数プログラムのプログラム実行手段と、 この複数プログラムの実行に伴いアクセス対象となる共
    有メモリと、 仮想アドレスを上記共有メモリの実アドレスに変換する
    ための変換規則が記録されると共に、各仮想アドレスの
    変換規則に対応してメモリトレースの有無を示すトレー
    ス指定ビットを予め設定したアドレス変換テーブルと、 上記複数プログラムの実行命令に含まれる仮想アドレス
    を上記アドレス変換テーブルに記録されるアドレス変換
    規則に基づき実アドレスに変換すると共に、該アドレス
    変換規則に対応するトレース指定ビットに基づきメモリ
    トレースの有無を判断するアドレス変換手段と、 メモリアクセスの履歴情報を抽出保持するためのメモリ
    トレース手段と、 上記アドレス変換手段により得られた実アドレスに対応
    してメモリトレース有りと判断された場合に、その実ア
    ドレスに対応する共有メモリに対して上記メモリトレー
    ス手段を起動させるトレース割込み制御手段とを具備し
    たことを特徴とする仮想記憶方式のコンピュータにおけ
    るメモリトレース方法。
JP3305980A 1991-11-21 1991-11-21 仮想記憶方式のコンピユータにおけるメモリトレース方法 Pending JPH05143391A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3305980A JPH05143391A (ja) 1991-11-21 1991-11-21 仮想記憶方式のコンピユータにおけるメモリトレース方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3305980A JPH05143391A (ja) 1991-11-21 1991-11-21 仮想記憶方式のコンピユータにおけるメモリトレース方法

Publications (1)

Publication Number Publication Date
JPH05143391A true JPH05143391A (ja) 1993-06-11

Family

ID=17951622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3305980A Pending JPH05143391A (ja) 1991-11-21 1991-11-21 仮想記憶方式のコンピユータにおけるメモリトレース方法

Country Status (1)

Country Link
JP (1) JPH05143391A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173804A (ja) * 2011-02-17 2012-09-10 Mitsubishi Electric Corp 共有メモリデバッグ装置及びプログラム
US9448910B2 (en) 2013-03-29 2016-09-20 International Business Machines Corporation Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173804A (ja) * 2011-02-17 2012-09-10 Mitsubishi Electric Corp 共有メモリデバッグ装置及びプログラム
US9448910B2 (en) 2013-03-29 2016-09-20 International Business Machines Corporation Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine
US9632725B2 (en) 2013-03-29 2017-04-25 International Business Machines Corporation Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine

Similar Documents

Publication Publication Date Title
KR920004279B1 (ko) 포인터레지스터를 구비한 마이크로프로세서
JPS6055849B2 (ja) 命令制御方式
JPH05143391A (ja) 仮想記憶方式のコンピユータにおけるメモリトレース方法
JP3130798B2 (ja) バス転送装置
JP2978008B2 (ja) メモリ管理方式
JP2906382B2 (ja) プログラマブルコントローラにおけるユーザプログラムのトレース方式
JPS5894041A (ja) 高級言語のデバツク支援装置
JPS60105043A (ja) 情報処理方式
JPH02242445A (ja) 情報処理装置のデバッグ機構
JPH0795288B2 (ja) マイクロコンピュータ
JP2570407B2 (ja) プログラマブル・コントローラ
JPS6010337A (ja) マイクロ命令制御装置
JPS61221952A (ja) チヤネルプログラム処理方法
JPS6238746B2 (ja)
JPS5919287A (ja) メモリアクセス命令による入出力処理方式
JPS59165143A (ja) デ−タ処理装置
JPH024011B2 (ja)
JPH0113142B2 (ja)
JPH03168845A (ja) 命令実行制御方式
JPH04332003A (ja) プログラマブルコントローラ
JPS6350731B2 (ja)
JPH0581017A (ja) プログラム処理装置
JPS61221827A (ja) 情報処理装置
JPS6349942A (ja) 演算処理装置
JPH05314081A (ja) 二つのプロセッサを有する情報処理装置