JPS603764A - プログラムの実行状態トレ−ス方式 - Google Patents
プログラムの実行状態トレ−ス方式Info
- Publication number
- JPS603764A JPS603764A JP58111413A JP11141383A JPS603764A JP S603764 A JPS603764 A JP S603764A JP 58111413 A JP58111413 A JP 58111413A JP 11141383 A JP11141383 A JP 11141383A JP S603764 A JPS603764 A JP S603764A
- Authority
- JP
- Japan
- Prior art keywords
- program
- address
- overlay
- memory address
- trace
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はプログラム内ノ戚製品におけるプログラムの実
行状態を6己録(トレース)する方式に関し、竹にプロ
グラム実行メモリ内の伐[のオーバレイ・エリアに対し
て時疋多故のプログラム・モジュールが任意にオーバレ
イさ才しる1方、j11動的オーバンイ構遺をイI′1
′−るプログラムを内蔵する製品に最適)よプログラム
火打状11歴トレース方式に閏する。
行状態を6己録(トレース)する方式に関し、竹にプロ
グラム実行メモリ内の伐[のオーバレイ・エリアに対し
て時疋多故のプログラム・モジュールが任意にオーバレ
イさ才しる1方、j11動的オーバンイ構遺をイI′1
′−るプログラムを内蔵する製品に最適)よプログラム
火打状11歴トレース方式に閏する。
匠米、プログラム内11i 製品において、プログラム
の実行済みとなった部分を足置的に把握する技術は、以
下に示す方式に限定されていた。
の実行済みとなった部分を足置的に把握する技術は、以
下に示す方式に限定されていた。
(1) オーバレイ機能を持たない回定プログラムのト
レースを行う方式 (2) オーバレイをイするプログラムについては、各
オーバレイ・エリアの上限、下限′γアドレスよびファ
イル・メモリの上限、下′限アドレスをプログラムのオ
ーバレイ・エリアでの実行として認識するためのテーブ
ルとして登録しておき、Mt−テアドレスをこのテーブ
ルの登録アドレスと比す・父ずろことにより、オーバレ
イ・エリアでのプログラム構造行を認識してトレースす
る方式しかし、これらの方式の場合、前者はオーバレイ
を有ずろプログラムについてのトレースが不可能であり
、I& 乙についてはオーバレイされるエリアの数およ
びプログシム・モジュール数が多くなイ)と蜂録が吠ビ
[に)Lす、また動的オーバレイ檜遺に対l、て効魁を
持た7Iかった。さらに、オーバレイ・エリア内の一部
をオーバラップして使用するようなイN遺を有するグロ
グラドについて全(対処することかできなかった。
レースを行う方式 (2) オーバレイをイするプログラムについては、各
オーバレイ・エリアの上限、下限′γアドレスよびファ
イル・メモリの上限、下′限アドレスをプログラムのオ
ーバレイ・エリアでの実行として認識するためのテーブ
ルとして登録しておき、Mt−テアドレスをこのテーブ
ルの登録アドレスと比す・父ずろことにより、オーバレ
イ・エリアでのプログラム構造行を認識してトレースす
る方式しかし、これらの方式の場合、前者はオーバレイ
を有ずろプログラムについてのトレースが不可能であり
、I& 乙についてはオーバレイされるエリアの数およ
びプログシム・モジュール数が多くなイ)と蜂録が吠ビ
[に)Lす、また動的オーバレイ檜遺に対l、て効魁を
持た7Iかった。さらに、オーバレイ・エリア内の一部
をオーバラップして使用するようなイN遺を有するグロ
グラドについて全(対処することかできなかった。
本発明0■的″′・7°°グ″′”内M−映品0) 7
’ O! %ラム実行状態トレース方式において、動的
なプログラム・オーバレイの発生に対してオーバレイさ
れるエリアの1jiG 遺sオーツ(レイ財産グログシ
ム・モジュールの数に1Lfllポリ乞父けることなり
、クロクラムの夫1−f結果をトレースJ−るための方
式?提供−J−ることにある。
’ O! %ラム実行状態トレース方式において、動的
なプログラム・オーバレイの発生に対してオーバレイさ
れるエリアの1jiG 遺sオーツ(レイ財産グログシ
ム・モジュールの数に1Lfllポリ乞父けることなり
、クロクラムの夫1−f結果をトレースJ−るための方
式?提供−J−ることにある。
本発明の狩偵は、プログラム実行メモリのオーバレイ・
エリアにロードざ才したフ゛ログラム(オーバレイxL
衆プログシム・モジュール)の咳フ゛ロクラム夾ftメ
そり・アドレスと該プログラムに割付けられたトレース
用メモリ・アドレスとの対応を1 不T変侠バッファを用息し、10グラムの命令実何アド
レス’t tJ、に侠バッフ゛アで対応するトレース用
メモリ・アドレスに裳換することにより、オーバレイさ
れるエリアの侮這、オーツくレイズ・」家モジュールの
A文に市1j)勺を父けΦとと7.仁く、%Jll的オ
ーツゝレイ傳造を有するプログラムの夷1丁状態のトレ
ースを01餌にするものである。
エリアにロードざ才したフ゛ログラム(オーバレイxL
衆プログシム・モジュール)の咳フ゛ロクラム夾ftメ
そり・アドレスと該プログラムに割付けられたトレース
用メモリ・アドレスとの対応を1 不T変侠バッファを用息し、10グラムの命令実何アド
レス’t tJ、に侠バッフ゛アで対応するトレース用
メモリ・アドレスに裳換することにより、オーバレイさ
れるエリアの侮這、オーツくレイズ・」家モジュールの
A文に市1j)勺を父けΦとと7.仁く、%Jll的オ
ーツゝレイ傳造を有するプログラムの夷1丁状態のトレ
ースを01餌にするものである。
第1図11尤本発明の一実施例のブロック図である。
第1図に8いて、ブロック100はプログラム内蔵製品
であり、フッ′イル・メモリ1とプログラム実行メモリ
2とプロセッサ(例えばマ′イク口プロセッサ7.cど
)3で梼成されている。ファイル°メモリ1には盾駐プ
ログラムと多数のオーバレイ・プログラム・モジュール
かあす、′吊“寄主プログ7ムはプログラム夫f−jメ
モリ2の帛、佳エリアに酵旺されるが、オーバレイ・プ
ログラム・モノニールはプログラム実′r丁メモリ2の
オーバレイ・エリアに必をに応じてロードされて用いら
れる。このオーバレイ・プログラム・モジュールは、1
モ意の時刻においてグログラム実子jメモリz内の任意
のオーバレイ・エリアで任意のオーバレイ・モジュール
が太行きれるプログラム構造を有してJ6す、これな動
的オーバレイ構造と称している。
であり、フッ′イル・メモリ1とプログラム実行メモリ
2とプロセッサ(例えばマ′イク口プロセッサ7.cど
)3で梼成されている。ファイル°メモリ1には盾駐プ
ログラムと多数のオーバレイ・プログラム・モジュール
かあす、′吊“寄主プログ7ムはプログラム夫f−jメ
モリ2の帛、佳エリアに酵旺されるが、オーバレイ・プ
ログラム・モノニールはプログラム実′r丁メモリ2の
オーバレイ・エリアに必をに応じてロードされて用いら
れる。このオーバレイ・プログラム・モジュールは、1
モ意の時刻においてグログラム実子jメモリz内の任意
のオーバレイ・エリアで任意のオーバレイ・モジュール
が太行きれるプログラム構造を有してJ6す、これな動
的オーバレイ構造と称している。
プログラム・オーバレイ動作の発生時、オーバレイを認
識するための茄箭(以下、(J[JT節加令弥す)が実
行される。このOU T(I’6 宙は、マイクロプロ
セッサに候続されている入出力kmに出力動作を行う場
合に発行するのが一般的な使われ方である。、、IN
2図はOUT命令のフォーマット例で、胡令コード、P
OIL T 浩号、データ部により結成さ才しる。こ
れのP ORT ar号の何屋の値をオーツ(レイ動作
の実何を示す値として割当て、データ部でオーバレイス
金プログラム・モジュールの識別香g(ID#)を指足
する。
識するための茄箭(以下、(J[JT節加令弥す)が実
行される。このOU T(I’6 宙は、マイクロプロ
セッサに候続されている入出力kmに出力動作を行う場
合に発行するのが一般的な使われ方である。、、IN
2図はOUT命令のフォーマット例で、胡令コード、P
OIL T 浩号、データ部により結成さ才しる。こ
れのP ORT ar号の何屋の値をオーツ(レイ動作
の実何を示す値として割当て、データ部でオーバレイス
金プログラム・モジュールの識別香g(ID#)を指足
する。
第1図の芙施例では、上記プログラム・オーツ(レイ動
作の56生時に火付されるOUT命令な・炭山して、そ
の加令でボさオするオーツくレイ・プログラム・モノニ
ール鎮別番号から変俣アープルを索引することにより、
オーバレイの先生により鋭化するプログラム]1.¥遺
に対処Jるためのグログラノλ実行メモリ・アドレスと
トレース用メモリ・アドレスを関連づける変換バッファ
を作Xし、こオしによりオーバレイ・プログラムの天性
を着々のモジュールの災イ了アドレスとして正円ににト
レースすることを1−オニ能にしている。以下、第1図
に8リ−るプログラム内蔵製品100以外の6ブロツク
につ(・て説明する。
作の56生時に火付されるOUT命令な・炭山して、そ
の加令でボさオするオーツくレイ・プログラム・モノニ
ール鎮別番号から変俣アープルを索引することにより、
オーバレイの先生により鋭化するプログラム]1.¥遺
に対処Jるためのグログラノλ実行メモリ・アドレスと
トレース用メモリ・アドレスを関連づける変換バッファ
を作Xし、こオしによりオーバレイ・プログラムの天性
を着々のモジュールの災イ了アドレスとして正円ににト
レースすることを1−オニ能にしている。以下、第1図
に8リ−るプログラム内蔵製品100以外の6ブロツク
につ(・て説明する。
第1図のブロック4はプロセッサ8で実行された命令が
OU T命令か否か判別する66令デコ一ド回路であり
、5はOU T 命令が判別された時、オーバレイ・プ
ログラム・モジュール識別査号(IOt# )を・演出
する■D:IE恢出回路、6は0IJT命令以外の命令
の場合、その節ンδアドレス(プログシム実行メモリ・
アドレス)をセットする醋乍アドレス・レジスタである
。7はプログラム内mN品100のグ【コグラムがオー
バレイ構、+=を持つか占n・を化ホスる1iilJ
++・1jレジスタであり、1メオーバンイ4v’t
遁0)汀〕、哄を示ずデータはバス113を遇して外部
から設定するものとする。
OU T命令か否か判別する66令デコ一ド回路であり
、5はOU T 命令が判別された時、オーバレイ・プ
ログラム・モジュール識別査号(IOt# )を・演出
する■D:IE恢出回路、6は0IJT命令以外の命令
の場合、その節ンδアドレス(プログシム実行メモリ・
アドレス)をセットする醋乍アドレス・レジスタである
。7はプログラム内mN品100のグ【コグラムがオー
バレイ構、+=を持つか占n・を化ホスる1iilJ
++・1jレジスタであり、1メオーバンイ4v’t
遁0)汀〕、哄を示ずデータはバス113を遇して外部
から設定するものとする。
ブロック8はオーバレイさオしるプログラム・モジュー
ルに対応したエントリ数グ持つ変換テーブルであり、6
エントリは当該プログラム・モジュールの大きさ、プロ
グラム−Afjメモリ・アドレス、トレース用メモリ・
アドレスがりll汚成さlし。。ここでは、該テーブル
8の内容はバス116を通じて外部記憶数置あるいは手
操作によりトレース実施前に予め登録しておくものとす
る。第8図は変換 1テーブル8の詳細を示したもので
、■か当該エントリのオーバレイ・プログラム・モジュ
ールの大きさ、■が該オーバレイ・プログラムの実行メ
モリ・アドレス、■が該オーバレイ・プログラムに1刑
当てら下したトレース用メモリ・アドレスである。
ルに対応したエントリ数グ持つ変換テーブルであり、6
エントリは当該プログラム・モジュールの大きさ、プロ
グラム−Afjメモリ・アドレス、トレース用メモリ・
アドレスがりll汚成さlし。。ここでは、該テーブル
8の内容はバス116を通じて外部記憶数置あるいは手
操作によりトレース実施前に予め登録しておくものとす
る。第8図は変換 1テーブル8の詳細を示したもので
、■か当該エントリのオーバレイ・プログラム・モジュ
ールの大きさ、■が該オーバレイ・プログラムの実行メ
モリ・アドレス、■が該オーバレイ・プログラムに1刑
当てら下したトレース用メモリ・アドレスである。
オーバレイ・プログラム・モジュールの火δさψは、オ
ーバレイJ−るプログラム・モジュールの大きさをモジ
ュールの分゛、’jlJ 限界値1モジユラスn”で・
、1つた;1区とし、n1tjはフ゛ログラムの4’+
# 逍により任、啄に設定可能とする。ここで、ゾログ
ラト・:モジュール分割限界11θはオーバレイされる
プログラム・モジュールの主としてロープ・1ング・ア
ドレスかり、そのモジュールτ分割するためのは太11
はで、例えばモジュールが250バイト晩界にロードさ
れる場合は、最大値256と7.C;Ql 0オーツく
レイ・プログラム大モジュール矢「fメモリ・7′ドレ
ス(2)は、オーバレイ・−モジュールかプログラムl
;’i 蔵gR品円のプログラム実に−Iメモリ2 ”
r:尖IT ’i’:れる(プログラム実行メモリ2の
オーツ< l/イ・エリアにロードさ?’シる)先頭ア
ドレスを示し、このアドレスにより鏝述する変換バッフ
ァ10のエントリをポイントずろ。トレース用メモリ・
アドレス■は、オーバレイ・プログラム・モジュールに
対応したトレース用メモリ・アドレスの先頭を示し1、
このアドレス・データを■のオーバレイ・モジュールの
大きさでボす値だVす笈侠バッファ10に4・6納J−
る。
ーバレイJ−るプログラム・モジュールの大きさをモジ
ュールの分゛、’jlJ 限界値1モジユラスn”で・
、1つた;1区とし、n1tjはフ゛ログラムの4’+
# 逍により任、啄に設定可能とする。ここで、ゾログ
ラト・:モジュール分割限界11θはオーバレイされる
プログラム・モジュールの主としてロープ・1ング・ア
ドレスかり、そのモジュールτ分割するためのは太11
はで、例えばモジュールが250バイト晩界にロードさ
れる場合は、最大値256と7.C;Ql 0オーツく
レイ・プログラム大モジュール矢「fメモリ・7′ドレ
ス(2)は、オーバレイ・−モジュールかプログラムl
;’i 蔵gR品円のプログラム実に−Iメモリ2 ”
r:尖IT ’i’:れる(プログラム実行メモリ2の
オーツ< l/イ・エリアにロードさ?’シる)先頭ア
ドレスを示し、このアドレスにより鏝述する変換バッフ
ァ10のエントリをポイントずろ。トレース用メモリ・
アドレス■は、オーバレイ・プログラム・モジュールに
対応したトレース用メモリ・アドレスの先頭を示し1、
このアドレス・データを■のオーバレイ・モジュールの
大きさでボす値だVす笈侠バッファ10に4・6納J−
る。
ただし、fIKバッファ10の裡欽エントリに格納する
場合は、トレース用メモリ・アドレスなモジュラスnづ
つ加力、シながら格納1−る。
場合は、トレース用メモリ・アドレスなモジュラスnづ
つ加力、シながら格納1−る。
第1図に戻り、ブロック9は変戻テーブル/変1良バッ
ファtlilJ X1回路であり、プログラノ、・モジ
ュールがオーバレイされた場合、オーバL/イ・モジュ
ール識別査号(I D#) 1j・ら変嗅チーグル8の
該当エントリをポイントし、このエントリ内のオーバレ
イ・モジュール爽rjメモリ・アト【/ス■から変換バ
ッファlOのエントリをポイントし1、トレース用メモ
リ・アドレス■の内容を震洟バッファlOに格納する。
ファtlilJ X1回路であり、プログラノ、・モジ
ュールがオーバレイされた場合、オーバL/イ・モジュ
ール識別査号(I D#) 1j・ら変嗅チーグル8の
該当エントリをポイントし、このエントリ内のオーバレ
イ・モジュール爽rjメモリ・アト【/ス■から変換バ
ッファlOのエントリをポイントし1、トレース用メモ
リ・アドレス■の内容を震洟バッファlOに格納する。
この時、笈侠バッファ10の幾つのエントリに浴納する
かはオーバレイ・モジュールの犬ぎさ■で示した値によ
り決ボする。一方、プログラムがオーバレイ構造を持た
ない場合は、バス102を通し゛〔送られてきたID#
は無効とし、変換テーブル8の径照、震侠バッファ10
への登録は行わない。
かはオーバレイ・モジュールの犬ぎさ■で示した値によ
り決ボする。一方、プログラムがオーバレイ構造を持た
ない場合は、バス102を通し゛〔送られてきたID#
は無効とし、変換テーブル8の径照、震侠バッファ10
への登録は行わない。
ブロックIOは変換バッファで、第4図はその詳細を示
したものである。没侠バッファ10はプログラム実行メ
モリ谷型のすべてをカバーするだけのエントリを・げし
、6々のエントリはプログラム来行メモリ2とフログラ
ム・モジュール分割+m IL 値単位(例えば2.5
6ドツト)で対1.i;、 L−Cいる。第4図に示す
ように、変戻バッファ10の谷エントリにはトレース用
メモリ・アドレスがlfr n:I’Jされる。ただし
、このアドレスはオーバレイ・プログラム・モアニール
の分割限界値”モジュラスn ”で割った11ILとす
る。この変換バッファlOのずぺてのエントリは、プロ
グラム実行メモリ・アドレスと同一のトレース用メモリ
・アドレスで初期設定され、動的オーバレイ発生時、制
御回1169により該当エントリの内容が変換テーブル
8のトレース用メモリ・アドレス■の内容で、オーバレ
イ・モジュールの大きさだけ書替えられることになる。
したものである。没侠バッファ10はプログラム実行メ
モリ谷型のすべてをカバーするだけのエントリを・げし
、6々のエントリはプログラム来行メモリ2とフログラ
ム・モジュール分割+m IL 値単位(例えば2.5
6ドツト)で対1.i;、 L−Cいる。第4図に示す
ように、変戻バッファ10の谷エントリにはトレース用
メモリ・アドレスがlfr n:I’Jされる。ただし
、このアドレスはオーバレイ・プログラム・モアニール
の分割限界値”モジュラスn ”で割った11ILとす
る。この変換バッファlOのずぺてのエントリは、プロ
グラム実行メモリ・アドレスと同一のトレース用メモリ
・アドレスで初期設定され、動的オーバレイ発生時、制
御回1169により該当エントリの内容が変換テーブル
8のトレース用メモリ・アドレス■の内容で、オーバレ
イ・モジュールの大きさだけ書替えられることになる。
ブロック1工はアドレス変換回路を示す。このアドレス
変j笑回路11では、命令アドレスをインテックス部と
変位部に分け、プログラムかオーバレイ構造を付つ嚇什
、命令アドレスのインテックス部で変」央バッフ′rJ
GO)該当エントリをポイントし、そのエントリのデー
タをトレース用メモリ・アドレス・レジスタ12の上位
にセットし、プログラムがオーバレイIi’ff mを
待たない場合は、命令アドレスのインテックス部をその
ままトレース用メモリ・アドレス・レジスタ12の上位
にセット1−る。トレース用メモリ・アドレス・レジス
タ12の下位には、命令アドレスの変位部をそのままセ
ット−3−る。命令アドレスのインテックス部と変位部
の境界は裳侠バッファ10のエントリと四浬かあり、こ
の境界の値1モジュラスn”は元のフログラム・モジュ
ールの分割限界値とし、変戻バッファJOのエントリ佐
又および鰺二41Qテーフ゛ル8のデータとしてボされ
るプログラム・モジュールの大きさくりとは仄の関係と
なる。 λ 変換バッファのエントリ数−変換テーブルのエントリで
示−4−プログラム・モジュールの大きさ=プログラム
実行エリアの容量 トレース用メモリである。トレース用メモリ14は、フ
ァイル・メモリ1にあるずべてのプログラム・モジュー
ルのノミ行状態をそ2t 5れトレース1′るだけの容
−・7遣があり、ファイル・メモリ1のαプログラム・
モジュールと該トレース用メモリ14内のトレース・エ
リアとの対応は笈侠テーブル8で下され、該当プログラ
ム・モジュールの6暗合(砧慴アドレス)トドレース・
エリアの谷’4J也との刈応は変換バッファ10で)f
zされる。トレース月」メモリ14の6査」也は1ビツ
トからなり、トレース月」メモリ:1IIJ御回路13
の制何1により、命令の夾イ〕に対してトレース用メモ
リ14の該当上地に′1′°か↑;tき込まれるとする
。
変j笑回路11では、命令アドレスをインテックス部と
変位部に分け、プログラムかオーバレイ構造を付つ嚇什
、命令アドレスのインテックス部で変」央バッフ′rJ
GO)該当エントリをポイントし、そのエントリのデー
タをトレース用メモリ・アドレス・レジスタ12の上位
にセットし、プログラムがオーバレイIi’ff mを
待たない場合は、命令アドレスのインテックス部をその
ままトレース用メモリ・アドレス・レジスタ12の上位
にセット1−る。トレース用メモリ・アドレス・レジス
タ12の下位には、命令アドレスの変位部をそのままセ
ット−3−る。命令アドレスのインテックス部と変位部
の境界は裳侠バッファ10のエントリと四浬かあり、こ
の境界の値1モジュラスn”は元のフログラム・モジュ
ールの分割限界値とし、変戻バッファJOのエントリ佐
又および鰺二41Qテーフ゛ル8のデータとしてボされ
るプログラム・モジュールの大きさくりとは仄の関係と
なる。 λ 変換バッファのエントリ数−変換テーブルのエントリで
示−4−プログラム・モジュールの大きさ=プログラム
実行エリアの容量 トレース用メモリである。トレース用メモリ14は、フ
ァイル・メモリ1にあるずべてのプログラム・モジュー
ルのノミ行状態をそ2t 5れトレース1′るだけの容
−・7遣があり、ファイル・メモリ1のαプログラム・
モジュールと該トレース用メモリ14内のトレース・エ
リアとの対応は笈侠テーブル8で下され、該当プログラ
ム・モジュールの6暗合(砧慴アドレス)トドレース・
エリアの谷’4J也との刈応は変換バッファ10で)f
zされる。トレース月」メモリ14の6査」也は1ビツ
トからなり、トレース月」メモリ:1IIJ御回路13
の制何1により、命令の夾イ〕に対してトレース用メモ
リ14の該当上地に′1′°か↑;tき込まれるとする
。
仄に第1図の全体の動作な訳ゆ]する。プロセッサ8で
実行された命令はパス101を辿って命令デコード回路
4に入る。命令デコード回路4では、該命令がOUT命
令か否かチェックし、OUT命令の場合は、そのデータ
部で7ドすオーバレイ・プログラム・モジ↓−ルGik
別着号(I D#)かI D?出回路5で検出される。
実行された命令はパス101を辿って命令デコード回路
4に入る。命令デコード回路4では、該命令がOUT命
令か否かチェックし、OUT命令の場合は、そのデータ
部で7ドすオーバレイ・プログラム・モジ↓−ルGik
別着号(I D#)かI D?出回路5で検出される。
HD#f莢出回゛11も5で慣用されたr Dltiま
パス102を通って裳挨テーブル/変恨バッファ制御仲
回路υに入る。震侠テーブル/変侠バッファ11flJ
1il1回Il后9は、パス114乞ス川して化11
11レジスタ7の内容をmみ、該当11111ルジスタ
7にプログラムがオーバレイ構造を持た7、Cいという
データが設定されている場合は、パス102を辿して送
られてきた11)I+−は無効とし、変侠テーブル80
診照、袈侠バッファlO7\の登録は行わない。つまり
、0LIT砧令はプロセッサにづddされている人出力
鉄fRに出力製作を何54合に元1工するのρ・−収約
であり、 :1ill師レジスタ7の内容をチェックす
ることで、OUT防令が発イテされた場合、それがメー
バレイ動作をノJ(すOU T +6令〃・6か判別す
るのである。
パス102を通って裳挨テーブル/変恨バッファ制御仲
回路υに入る。震侠テーブル/変侠バッファ11flJ
1il1回Il后9は、パス114乞ス川して化11
11レジスタ7の内容をmみ、該当11111ルジスタ
7にプログラムがオーバレイ構造を持た7、Cいという
データが設定されている場合は、パス102を辿して送
られてきた11)I+−は無効とし、変侠テーブル80
診照、袈侠バッファlO7\の登録は行わない。つまり
、0LIT砧令はプロセッサにづddされている人出力
鉄fRに出力製作を何54合に元1工するのρ・−収約
であり、 :1ill師レジスタ7の内容をチェックす
ることで、OUT防令が発イテされた場合、それがメー
バレイ動作をノJ(すOU T +6令〃・6か判別す
るのである。
1lflJ−レジスタ7にオーバレイ構造を持つという
データが設定されている場合、変換テーブル/変炭バツ
ンV +1ilJ御回16& 9は、人力したI J)
# >もとにパス104を)QI して変換デープル8
の該当工/トリをポイントし、そのエントリに格納され
ているオーバレイ・プログラム・モジュールの大きさ■
、オーバレイ・プログラム・モジュール笑何メモリ・ア
ドレス■、トレース用メモリ・アドレス■乞ハス105
を辿して入力する。そして、nl、 R侠テーブル/変
撲バッファ制御回路9では、変換テーブル8から入力し
たエントリのオーバレイ・プログラム・モジュール実行
メモリ・アドレス■から変換バッファlOの該当エント
リをポイントし、該エントリから始まるMim (M=
1 、 2・・・m)のエントリにパス106を通し
て、オーバレイされたプログラム・モジュールの大きさ
分(■)だけトレース用メモリ・アドレス01(■)、
0□(■十七ジュラスn)、・・・On(■+モジュラ
スnX (m −1)を格納1−る。
データが設定されている場合、変換テーブル/変炭バツ
ンV +1ilJ御回16& 9は、人力したI J)
# >もとにパス104を)QI して変換デープル8
の該当工/トリをポイントし、そのエントリに格納され
ているオーバレイ・プログラム・モジュールの大きさ■
、オーバレイ・プログラム・モジュール笑何メモリ・ア
ドレス■、トレース用メモリ・アドレス■乞ハス105
を辿して入力する。そして、nl、 R侠テーブル/変
撲バッファ制御回路9では、変換テーブル8から入力し
たエントリのオーバレイ・プログラム・モジュール実行
メモリ・アドレス■から変換バッファlOの該当エント
リをポイントし、該エントリから始まるMim (M=
1 、 2・・・m)のエントリにパス106を通し
て、オーバレイされたプログラム・モジュールの大きさ
分(■)だけトレース用メモリ・アドレス01(■)、
0□(■十七ジュラスn)、・・・On(■+モジュラ
スnX (m −1)を格納1−る。
これで、プログラム実行メモリ2の成るオーバレイ:エ
リアに〃「シ<オーバレイされたフログラム・モジュー
ルに対し、そのプログラム実イ了メモリ・アドレスとト
レース用メモリ・アドレスの対応の変換バッファ10へ
の登録が終r−!る。なお、濱駐プログラムに対するプ
ログラム実行メモリ・アドレスとトレース用メモリ・ノ
′ドレスとの対応は、変洟バッファlOのすべてのエン
トリにプログラム実行メモリ・アドレスと同一のトレー
ス用メモリ・アドレスケ籾期股足)^ことでとられで1
dす、以殻、それが<5:+74 fることはない。
リアに〃「シ<オーバレイされたフログラム・モジュー
ルに対し、そのプログラム実イ了メモリ・アドレスとト
レース用メモリ・アドレスの対応の変換バッファ10へ
の登録が終r−!る。なお、濱駐プログラムに対するプ
ログラム実行メモリ・アドレスとトレース用メモリ・ノ
′ドレスとの対応は、変洟バッファlOのすべてのエン
トリにプログラム実行メモリ・アドレスと同一のトレー
ス用メモリ・アドレスケ籾期股足)^ことでとられで1
dす、以殻、それが<5:+74 fることはない。
プロセラv8で命令が実行され、6r+全テコード1j
JJ 蹟4でオーバレイ動作を示ずOU T f=6
竹でないことを検出すると、その都度、該当66令の実
行メモリ・アドレス(照合アドレス) jJ’&fi令
アドレス・レジスタ6に設定さ2する。これは、例えは
即今デコード回路・私がプロセッサ8からパス110を
剋して加令に先立ってそのフェッチ・アドレスを人力し
ておf! 、 OU T to令で1よいことを検出し
た時、人力しておいた命令フェッチ・アドレスを命令ア
ドレス・レジスタ6に転送することで実現する。
JJ 蹟4でオーバレイ動作を示ずOU T f=6
竹でないことを検出すると、その都度、該当66令の実
行メモリ・アドレス(照合アドレス) jJ’&fi令
アドレス・レジスタ6に設定さ2する。これは、例えは
即今デコード回路・私がプロセッサ8からパス110を
剋して加令に先立ってそのフェッチ・アドレスを人力し
ておf! 、 OU T to令で1よいことを検出し
た時、人力しておいた命令フェッチ・アドレスを命令ア
ドレス・レジスタ6に転送することで実現する。
アドレス変換回路11は、消令アドレス・レジスタ6に
設定された6δ令アドレスをパス108を通し又人力し
、プログラム・モジュール分割限昇値(モ 1ジユラス
nL&ポイントに当該節令アドレスなインデックス部と
変位部に分ける。モジュラスnによるインデックス部と
変位部の分割は変換パックァ10のエレメント数を決定
するものであり、装置内におけるn値の設定は任意であ
る。
設定された6δ令アドレスをパス108を通し又人力し
、プログラム・モジュール分割限昇値(モ 1ジユラス
nL&ポイントに当該節令アドレスなインデックス部と
変位部に分ける。モジュラスnによるインデックス部と
変位部の分割は変換パックァ10のエレメント数を決定
するものであり、装置内におけるn値の設定は任意であ
る。
制御レジスタ7の内容はパス115を通してアドレス変
換回路11にも与えられている。アドレス変換回路11
では、制御レジスタ7にプログラムがオーバレイ構造を
持たないというデータが設定されている場合は、部会ア
ドレスのインデックス部をパス108を通してトレース
用メモリ・アドレス・レジスタ12の上位にそのま〜セ
ットする。又、制御レジスタ7にオーバレイ構造を持つ
というデータが設定されている場合は、命令アドレスの
インデックス部をパス10を通して変換バッファ1.0
に入力し、該インデックス部で変換バッファ10の該当
エントリをポイントし、該エントリの内容をパス109
を通してトレース用メモリ・アドレス・レジスタJ2の
上位にセットする。トレース用メモリ・アドレス・レジ
スタ]2の下位には命令アドレスの変位部をパス110
を通してセットする。トレース用メモリ・アドレス・レ
ジスタJ2の内容はパス111によってトレース用メモ
リ制御回路13に入力される。トレース用メモリ制御回
路13では、トレース用メモリ・アドレス・レジスタJ
2で示されるトレース用メモリ14の該当番地に、パス
112を通して論理゛1”を書き込む。トレース用メモ
リ14はファイル・メモリlにあるすべてのプログラム
・モジュールをカバーするだゆの容量かあり、該ファイ
ル・メモリlにある常駐プログラムあるいはオーバレイ
・グログラム・モジュールの任意命令がプロセッサ3で
実行される毎に、トレース用メモリ14の該当番地に1
”が書き込まれていく。したがって、トレース用メモリ
14の内容を読み出すことにより、ファイル・メモリ1
のプログラム・七シュ〜ルが動的にオーバレイされる場
合でも、谷プログラム・モジュール対応に実行/未実行
部分を定員的に把握することができる。
換回路11にも与えられている。アドレス変換回路11
では、制御レジスタ7にプログラムがオーバレイ構造を
持たないというデータが設定されている場合は、部会ア
ドレスのインデックス部をパス108を通してトレース
用メモリ・アドレス・レジスタ12の上位にそのま〜セ
ットする。又、制御レジスタ7にオーバレイ構造を持つ
というデータが設定されている場合は、命令アドレスの
インデックス部をパス10を通して変換バッファ1.0
に入力し、該インデックス部で変換バッファ10の該当
エントリをポイントし、該エントリの内容をパス109
を通してトレース用メモリ・アドレス・レジスタJ2の
上位にセットする。トレース用メモリ・アドレス・レジ
スタ]2の下位には命令アドレスの変位部をパス110
を通してセットする。トレース用メモリ・アドレス・レ
ジスタJ2の内容はパス111によってトレース用メモ
リ制御回路13に入力される。トレース用メモリ制御回
路13では、トレース用メモリ・アドレス・レジスタJ
2で示されるトレース用メモリ14の該当番地に、パス
112を通して論理゛1”を書き込む。トレース用メモ
リ14はファイル・メモリlにあるすべてのプログラム
・モジュールをカバーするだゆの容量かあり、該ファイ
ル・メモリlにある常駐プログラムあるいはオーバレイ
・グログラム・モジュールの任意命令がプロセッサ3で
実行される毎に、トレース用メモリ14の該当番地に1
”が書き込まれていく。したがって、トレース用メモリ
14の内容を読み出すことにより、ファイル・メモリ1
のプログラム・七シュ〜ルが動的にオーバレイされる場
合でも、谷プログラム・モジュール対応に実行/未実行
部分を定員的に把握することができる。
本実施例においては、動的オーバレイの実行を特定のp
o tt ’r番号を持つUU’l’命令により認識
する方式としたが、命令デコード回路4で動的オーバレ
イの実行な開講できるのであれば、他の命令コードを用
いる方式であってもよい。また、本実施例においては、
動的オーバレイ4I?I造を有するプログラムの場合は
、プログラム実行メモリ・アドレスとトレース用メモリ
・アドレスは、非オーバレイ・エリア(常駐エリア)を
含めすべてアドレス変換する方式としたが、オーバレイ
・エリアと非オーバレイ・エリアを認識し、非オーバレ
イ・エリアについては非アドレス変換によりトレース用
メモリ・アドレスをめる方式であってもよい。
o tt ’r番号を持つUU’l’命令により認識
する方式としたが、命令デコード回路4で動的オーバレ
イの実行な開講できるのであれば、他の命令コードを用
いる方式であってもよい。また、本実施例においては、
動的オーバレイ4I?I造を有するプログラムの場合は
、プログラム実行メモリ・アドレスとトレース用メモリ
・アドレスは、非オーバレイ・エリア(常駐エリア)を
含めすべてアドレス変換する方式としたが、オーバレイ
・エリアと非オーバレイ・エリアを認識し、非オーバレ
イ・エリアについては非アドレス変換によりトレース用
メモリ・アドレスをめる方式であってもよい。
更に本実施例においては、プログラム・オーバレイ動作
の発生時に実行さnるU C1i”命令のI D#で変
換テーブル8をポイントして、オーバレイされたプログ
ラム・モジュールの大きさ、オーバレイ・プログラム実
行メモリ・アドレス、トレース用メモリ・アドレスを入
手するとしたが、これらのデータはオーバレイ動作時、
プロセッサ3から入手するようにしてもよく、その場合
には変換テーブル8は不用である。
の発生時に実行さnるU C1i”命令のI D#で変
換テーブル8をポイントして、オーバレイされたプログ
ラム・モジュールの大きさ、オーバレイ・プログラム実
行メモリ・アドレス、トレース用メモリ・アドレスを入
手するとしたが、これらのデータはオーバレイ動作時、
プロセッサ3から入手するようにしてもよく、その場合
には変換テーブル8は不用である。
以上の説明から明らかな如く、本発明によれば、次のよ
うな効果が得られる。
うな効果が得られる。
(1)動的オーバレイを有するプログラムに対処するこ
とが可能である。またオーバレイの発生にのトレースを
被トレース製品内蔵プログラムの実動作時間で採取する
ことが可能である。
とが可能である。またオーバレイの発生にのトレースを
被トレース製品内蔵プログラムの実動作時間で採取する
ことが可能である。
(2)従来、対応が困難とされていた、多才−バレイ面
数、多才−バレイ・プログラム・モジュールあるいはオ
ーバレイ・エリアがオーバラッグしているfI写造等を
有する被雑なプログラムに関しても対応可能である。
数、多才−バレイ・プログラム・モジュールあるいはオ
ーバレイ・エリアがオーバラッグしているfI写造等を
有する被雑なプログラムに関しても対応可能である。
第1図は本発明の一実施例を示すブロック図、第2図は
オーバレイの発生時に実イIされるυLl 1’命令の
フォーマツトリ′すを示す図、第3図は変換テーブルの
詳細を示す図、第4図は変換バッファの \詳細を示す
図である。 l・・・ファイル・メモリ、2・・・プログラム実行メ
モリ、3・・・プロセッサ、4・・・命令デコード回路
、5・・・I IJ#検出回路、6・・・砧令アドレス
°レジスタ、7・・・制御レジスタ、8・・・変換テー
ブル、9・・・変換テーブル/変換ノ(ツ7アf++l
J御回路、10・・・変換バッファ、11・・・アドレ
ス変換回路、J2・・・トレース用メモリ・アドレス・
レジスタ、13・・・トレース用メモリ制御回路、14
・・・トレース用メモリ。 代理人弁理士 鈴 木 誠 −371− ′#−,,c1本t+4 ・電く\覧り・−ら(
オーバレイの発生時に実イIされるυLl 1’命令の
フォーマツトリ′すを示す図、第3図は変換テーブルの
詳細を示す図、第4図は変換バッファの \詳細を示す
図である。 l・・・ファイル・メモリ、2・・・プログラム実行メ
モリ、3・・・プロセッサ、4・・・命令デコード回路
、5・・・I IJ#検出回路、6・・・砧令アドレス
°レジスタ、7・・・制御レジスタ、8・・・変換テー
ブル、9・・・変換テーブル/変換ノ(ツ7アf++l
J御回路、10・・・変換バッファ、11・・・アドレ
ス変換回路、J2・・・トレース用メモリ・アドレス・
レジスタ、13・・・トレース用メモリ制御回路、14
・・・トレース用メモリ。 代理人弁理士 鈴 木 誠 −371− ′#−,,c1本t+4 ・電く\覧り・−ら(
Claims (1)
- 【特許請求の範囲】 111プログラム゛実行メモリにオーバレイ・エリアを
有し、前記オーバレイ・エリアに対してa数のプログラ
ム・モジュールから任意のプログラム・モジュールをオ
ーバレイして実行するプログラム内戚製品におけるプロ
グラムの実行状態をトレースづ−る方式であって、内、
峨されている複数のプログラム・モジュールヱ体ヲマツ
ピングする構成のトレース用メモリと、i4iJm己プ
ログラム実行メモリのオーバレイ・エリアにオーバレイ
されたプログラム・モジュールのプログラム実行メモリ
・アドレスとトレース用メモリ・アドレスとの対応を示
す変換バッファとを設け、実何された命令のプログラム
笑イIメモリ・アドレスを前記変換バッファで対応する
トレース用メモリ・アドレスに変換し、該トレース用メ
モリ・アドレスで指示されるトレース用メモリ内の該当
番、L1i!K giJ記鮪令の実行を示すデータを記
録することを特徴とするプログラムの実行状態トレース
方式。 (2) 前り己変俣バッファの内容は、プログラム・オ
ーバレイ動作の発生時、当該プログラム・モジュールの
大きさ、オーバレイされたグログラム実行メモリ・アド
レス及び該プログラム・モジュールに割付けられたトレ
ース用メモリ・アドレスを入手して作成することを特徴
とする特許請求の範囲第1項記載のプログラムの実行状
態トレース方式。 (31f)プログラム・モジュール対応K ′r−ント
リを有し、+にエントリに6亥当プログラム・モジュー
ルの大きさ、プログラム実行メモリ・アドレス及びトレ
ース用メモリ・アドレスを41りした変換バッファを設
け、プログラム・オ・−バレイ動作の発生時に実行され
る特定命令で示されるプログラム・モジュール識別情報
により前記変換バッファの該当エントリをボイ/トシて
、オーバレイされたプログラム・モジュールの大きさ、
プログラム実行メモリ・アドレス及びトレース用メモリ
・アドレスを入手することを特徴とする特許請求の範囲
第2項記載のプログジムの実行状態トレース方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58111413A JPS603764A (ja) | 1983-06-21 | 1983-06-21 | プログラムの実行状態トレ−ス方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58111413A JPS603764A (ja) | 1983-06-21 | 1983-06-21 | プログラムの実行状態トレ−ス方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS603764A true JPS603764A (ja) | 1985-01-10 |
| JPH0318214B2 JPH0318214B2 (ja) | 1991-03-12 |
Family
ID=14560531
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58111413A Granted JPS603764A (ja) | 1983-06-21 | 1983-06-21 | プログラムの実行状態トレ−ス方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS603764A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002193564A (ja) * | 2000-12-28 | 2002-07-10 | Toshiba It & Control Systems Corp | エレベータ運転制御装置 |
| JP2005324890A (ja) * | 2004-05-12 | 2005-11-24 | Toshiba Elevator Co Ltd | エレベータの運転制御装置 |
| JP2008285335A (ja) * | 2008-09-03 | 2008-11-27 | Mitsubishi Electric Corp | エレベータの制御装置及び制御方法 |
-
1983
- 1983-06-21 JP JP58111413A patent/JPS603764A/ja active Granted
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002193564A (ja) * | 2000-12-28 | 2002-07-10 | Toshiba It & Control Systems Corp | エレベータ運転制御装置 |
| JP2005324890A (ja) * | 2004-05-12 | 2005-11-24 | Toshiba Elevator Co Ltd | エレベータの運転制御装置 |
| JP2008285335A (ja) * | 2008-09-03 | 2008-11-27 | Mitsubishi Electric Corp | エレベータの制御装置及び制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0318214B2 (ja) | 1991-03-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4426682A (en) | Fast cache flush mechanism | |
| DE112019002389T5 (de) | Architektur zur dynamischen umwandlung einer speicherkonfiguration | |
| DE102015222096B4 (de) | Speicher-Patch-Schaltung und System | |
| JPS5821308B2 (ja) | ルツクアヘツド・コントロ−ル装置 | |
| WO1987006369A1 (fr) | Procede d'affectation d'un numero de fentes de plaques | |
| JPS603764A (ja) | プログラムの実行状態トレ−ス方式 | |
| CN106909320A (zh) | 一种多维数据扩充传输的方法、装置以及系统 | |
| JP2578182B2 (ja) | デ−タ処理装置及びデ−タ処理システム | |
| JPS59743A (ja) | Ecc回路診断方式 | |
| JPS59104800A (ja) | 画像メモリのパリテイ・チエツク方式 | |
| JPS6349809B2 (ja) | ||
| JPS59123913A (ja) | Dmaアクセス方式 | |
| JPS61214040A (ja) | メモリのパリテイ回路 | |
| JPS58137066A (ja) | 計算機システムのメモリアクセス制御方法 | |
| JP2509981B2 (ja) | 仮想記憶制御装置 | |
| JPS58211251A (ja) | 記憶装置のアドレツシング方法 | |
| SU809206A1 (ru) | Устройство дл поиска информацииВ пАМ Ти | |
| JPS58166464A (ja) | Zapデ−タ修正制御方式 | |
| JPS6019811B2 (ja) | アドレス変換装置 | |
| JPS6010359B2 (ja) | バッフア・メモリ制御方式 | |
| JPS6321276B2 (ja) | ||
| JPH03257643A (ja) | 情報処理装置 | |
| JPH01282667A (ja) | メモリ・アドレス指定システム | |
| JPS5936398A (ja) | 記憶装置 | |
| JPH01303531A (ja) | 複数ユニット・スキャン制御方式 |