JPH012147A - プログラムトレ−サ - Google Patents

プログラムトレ−サ

Info

Publication number
JPH012147A
JPH012147A JP62-156562A JP15656287A JPH012147A JP H012147 A JPH012147 A JP H012147A JP 15656287 A JP15656287 A JP 15656287A JP H012147 A JPH012147 A JP H012147A
Authority
JP
Japan
Prior art keywords
address
program
overlay
data
section
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
JP62-156562A
Other languages
English (en)
Other versions
JPS642147A (en
Inventor
小崎 憲一
小野 久明
Original Assignee
日立電子エンジニアリング株式会社
Filing date
Publication date
Application filed by 日立電子エンジニアリング株式会社 filed Critical 日立電子エンジニアリング株式会社
Priority to JP62-156562A priority Critical patent/JPH012147A/ja
Publication of JPS642147A publication Critical patent/JPS642147A/ja
Publication of JPH012147A publication Critical patent/JPH012147A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] この発明はオーバーレイ方式のコンピュータプログラム
のためのプログラムトレーサに関し、特にオーバーレイ
部に現在収納されているプログラムに応じてトレースす
るアドレス情報を変更するようにしたプログラムトレー
サに関する。
[従来の技術] 先ず、オーバーレイ方式のコンピュータプログラムにつ
き説明する。これは所定のメモリ領域に。
複数のプログラムの中から任意のプログラムを選択して
収納可能な方式である。任意のプログラムを収納可能な
所定の前記メモリ領域を、オーバーレイ部という。なお
、該オーバーレイ部に収納可能な前記プログラムを便宜
上オーバーレイプログラムと呼ぶことにする。
次に第4図に示すメモリマツプを参照しながら、オーバ
ーレイ方式のコンピュータプログラムの一例につき説明
する。所定のアドレス領域10o。
104が常駐部、所定のアドレス領域103,106が
オーバーレイ部A、Bとなっている。オーバーレイ部A
には、プログラムAOからプログラムA225までの2
56プログラムの中から任意のプログラムを選択的に収
納することが可能になっている。
オーバーレイ部Aに先行する所定のアドレス領域はボー
ト部101及びIPL (イニシャル・プログラム・ロ
ーダ)102となっている。ボート部101には対応す
るオーバーレイ部Aに収納すべきオーバーレイプログラ
ムの番号(AO〜A255のいずれか1つ)が登録され
る。このボート部によって指定されたプログラム番号に
対応するオーバーレイプログラムをIPL102の起動
によって1例えば外部記憶装置であるフロッピーディス
ク等から読み込んで、オーバーレイ部Aに収納する。す
なわち、プログラムAO−A255のうち任意のプログ
ラム番号をボート部101に予め登録しておくことによ
って、AO〜A255の256プログラムの中から選択
して任意のプログラムをオーバーレイ部Aに書き込みあ
るいは書き換えることができるのである。なお、オーバ
ーレイ部は1個に限らず2以上あってもよい。別のオー
バーレイ部Bに関しても前述と同様に、オーバーレイプ
ログラムBO−8255のうち所望の1つを対応するボ
ート部105の指示に従って選択的に収納するようにな
っている。
ところで、従来から知られているコンピュータプログラ
ムのトレーサは、実行中のプログラムの通過アドレス情
報を実アドレスでそのまま記憶する方式であった。
[発明が解決しようとする問題点] 従来のプログラムのトレーサを前述したオーバーレイ方
式のプログラムのトレースに適用した場合、オーバーレ
イ部における実アドレスがそのまま実アドレスで記憶さ
れてしまうために、オーバーレイ部に現在収納されてい
るプログラムを区別したトレースを行うことができなか
った0例えば、オーバーレイ部AにプログラムAOもし
くはA30を収納しても、プログラムAOとA30との
実アドレスデータは同じであるために区別が容易でなか
ったのである。
この発明は上述の点に鑑みてなされたもので。
オーバーレイ部に現在収納されているプログラムに応じ
て、トレースする実行アドレスデータの値を変更するこ
とにより該オーバーレイ部に現在収納されているプログ
ラムを識別したトレースを実現するようにしたプログラ
ム1−レーザを提供しようとするものである。
[問題点を解決するための手段] この発明に係るプログラムトレーサは、オーバーレイ部
に選択的に収納可能な複数のプログラムの夫々に対して
異なるアドレスオフセットデータを割り当て、該オーバ
ーレイ部に現在収納されているプログラムに対応するア
ドレスオフセットデータを発生するオフセットデータ発
生手段と、現在実行中のアドレスがオーバーレイ部のア
ドレス領域に属するか否かを判定する判定手段と、この
判定手段の判定に基づきオーバーレイ部のアドレス領域
に属する実行アドレスデータに対して前記オフセットデ
ータ発生手段で発生したアドレスオフセットデータを演
算し、これによりオーバーレイ部における実行アドレス
データを該オーバーレイ部に現在収納されているプログ
ラムに固有のアドレスデータに変更する演算手段とを具
えたことを特徴とするものである。
[作用] 現在実行中のプログラムのアドレスデータは、前記オー
バーレイ部のアドレス領域に属するか否か前記判定手段
によって判定される。前記アドレスデータが前記オーバ
ーレイ部のアドレス領域に属する場合、現在オーバーレ
イ部に収納されているプログラムに応じたアドレスオフ
セットデータが前記オフセットデータ発生手段によって
発生せしめられ前記演算手段の一方の入力によって与え
られる。該演算手段の他方の入力には現在実行中のプロ
グラムの実アドレスデータが与えられており、ここで前
記判定手段の判定に基づき前記オフセットデータ発生手
段で発生せしめた前記アドレスオフセットデータとを演
算し、これによりオーバーレイ部における実行アドレス
データを該オーバーレイ部に現在収納されているプログ
ラム固有のアドレスデータに変更する。こうして、トレ
ースする実行アドレスデータがオーバーレイ部に現在収
納されているプログラムに応じて変更され、該オーバー
レイ部に収納されているプログラムを識別した1−レー
スを実行することができる。
[実施例コ 以下、添付図面を参照して、この発明の実施例を詳細に
説明する。
第1図において、この発明に係るプログラムトレーサは
、ターゲットマシン(図示せず)からの被1−レース情
報をライン27を介して入力し、1−レースした結果を
ライン28を介してトレーサの他の部分(図示せず)に
出力する。ライン27の被トレース情報は、実行アドレ
スデータとアドレス以外のデータとを含んでおり、実行
アドレスデータはライン24を介して比較器21.22
の入力Zに夫々加えられると共に、デコーダ11及び加
算器19に入力される。アドレス以外のデータは、ライ
ン23を介してポートレジスタ12,13に入力される
デコーダ11は、各オーバーレイ部A、Bに対応するポ
ート部101,105のアドレスをデコードするもので
あり、現在の実行アドレスがポート部101のアドレス
のときイネーブル(M 号W Eaとして1”を出力し
、ポート部105のアドレスのときイネーブル信号WE
bとして11111を出力する。イネーブル信号WEa
はポートレジスタ12のラッチ端子に加えられ、イネー
ブル信号WEbはポートレジスタ13のラッチ端子に与
えられる。なお、この実施例においては、第3図のプロ
グラムに示すように、第4図と同様に、オーバーレイ部
がA、Bの2個所にあるものとし、夫々のオーバーレイ
部に選択的に収納可能なプログラムはAO〜A255及
びBO〜B255であるとする。
ポートレジスタ12.13は、対応するイネーブル信号
WEa、WEbが”1”のとき、ライン23に与えられ
たデータを取り込む。実行アドレスがポート部101の
アドレスのとき、ライン23には該ポート部101から
読み出したオーバーレイ部Aに収納されているプログラ
ムの番号を示すデータが与えられる。実行アドレスがポ
ート部105のアドレスの場合、ライン23には該ポー
ト部105から読み出したオーバーレイ部Bに収納され
ているプログラムの番号を示すデータが与えられる。こ
うして、各ポートレジスタ12,13にはオーバーレイ
部A、Bに現在収納されているプログラム番号を示すデ
ータが夫々取り込まれている。
比較器21は、オーバーレイ部Aのアドレス領域を判定
するためのものであり、比較器22はオーバーレイ部B
のアドレス領域を判定するものである。比較器21のX
入力にはオーバーレイ部Aのアドレス領域103の先頭
アドレスを示すスタートアドレスS A aのデータが
与えられ、Y入力には該アドレス領域103の終了アド
レスを示すエンドアドレスEAaのデータが与えられて
いる。
また、比較器22のX入力にはオーバーレイ部Bのアド
レス領域106の先頭アドレスを示すスタ−ドアドレス
SAbのデータが与えられ、Y入力には該アドレス領域
106の終了アドレスを示すエンドアドレスEAbのデ
ータが与えられている。
比較器21.22は、入力Zに与えられたアドレスデー
タと入力X、Yに与えられた基準データとを比較し、X
≦Z≦Yが成立するとき信号″1′′を出力する。すな
わち、現在実行中のアドレスデータが、一方のオーバー
レイ部Aのアドレス領域に属しているとき比較器21が
信号1jl11を出力し、他方のオーバーレイ部Bのア
ドレス領域に属しているとき比較器22が信号u1uを
出力する。
RAM17はオーバーレイ部Aに選択的に収納可能なす
べてのプログラムAO〜A255に対応するアドレスオ
フセットデータを夫々記憶するものである。RAM18
はオーバーレイ部Bに関する同様のアドレスオフセット
データを記憶するものである。ここで、アドレスオフセ
ットデータとは、各プログラムAO〜A255毎に見か
け上あたかも別々のアドレス領域に収納されているかの
ようにオーバーレイ部Aのアドレスをオフセットするデ
ータであり、オフセットしたアドレスが各プログラムA
○〜A255間で重複しないように、オーバーレイ部へ
のメモリサイズを考慮して各オフセットデータを決定す
る。オーバーレイ部Bについても同様である。
RAM17の出力イネーブル入力Eには、比較器21の
出力信号○Eaが与えられ、データ人力りには制御部2
0の出力が与えられており、アドレス人力Aにはセレク
タ15の出力が加えられている。RAM18の出力イネ
ーブル人力Eには、比較器22の出力信号○Ebが与え
られ、データ人力りには制御部20の出力が与えられて
おり、アドレス入力Aにはセレクタ16の出力が加えら
れている。読み出しモード時は、セレクタ15゜16は
常時ボートレジスタ12,13の出力を選択してRAM
17.18のアドレス入力Aに加えるようになっている
。RAM17.18は、イネーブル人力Eに与えられた
信号OEa、OEbが”1”のとき読み出し可能状態と
なり、アドレス人力Aに与えられたプログラム番号に対
応するアドレスから該プログラム番号に応じたオフセッ
トデータを読み出す。読み出されたオフセットデータは
、加算器19の一方の入力に与えられ、ライン24を介
して他方の入力に与えられている現在実行中の実アドレ
スと加算されるのである。
制御部20は、マイクロプロセッサを含む制御回路であ
り、所望のオフセットデータをRAMl7.18に書き
込む機能等を果たすものである。
RAM17.18に対するオフセットデータ書き込み時
は、セレクタ15.16に制御信号を送出して制御部2
0から発生したアドレスデータを該セレクタ15又は1
6で選択せしめ、RAM17又は18のアドレス入力A
に加え、同時に書き込むべきオフセットデータをRAM
17又は18のデータ入力りに与える。所望のオフセッ
トデータが図示しない設定手段で任意に設定できるもの
とする。
第1図の作用について説明すると、トレースすべき実行
アドレスがオーバーレイ部Aに対応するボート部101
のアドレスのとき、ライン23には該ボート部101か
ら読み出されたプログラム番号データが与えられている
。このときデコーダ11の出力信号WEaは++111
となり、ボートレジスタ12のラッチ端子に加えられる
。従ってポートレジスタには、ライン23に与えられて
いる前記プログラム番号データすなわちオーバーレイ部
Aに収納しているプログラム番号を示すデータが取り込
まれる。やがて実行アドレス領域103の先頭アドレス
まで歩進すると、比較器21のZ入力に与えられている
実行アドレスデータとX及びY入力に与えられている該
オーバーレイ部Aの先頭アドレスを示すスタートアドレ
スSAa及び終了アドレスを示すエンドアドレスE A
 aデータとはSAa≦Z≦EAaの式が成り立つ関係
になるので、比較器21からRAM17に対して信号O
Eaとして′1”を出力する。RAM17は、イネーブ
ル人力Eに信号○Eaの11111が与えられると、ア
ドレス入力Aに与えられたプログラム番号に対応するア
ドレスから該プログラム番号に応じたオフセットデータ
を読み出し、加算器19の一方の人力に加える。加算器
19では、一方の入力に与えられたオフセットデータを
ライン24を介して他方の人力に加えられている実際の
アドレスデータに加算する。
このように、オーバーレイ部Aのアドレス領域を1〜レ
ースする場合は、オーバーレイ部Aに収納されているプ
ログラムに応じたオフセットデータを実際のアドレスデ
ータに加算して、実アドレスとffi複しない仮想のア
ドレスデータをトレース情報として出力する。たとえば
、プログラムAOに対応するオフセットデータをMとす
ると、オーバーレイ部AにプログラムAOが収納されて
いる場合は、被トレースプログラムの実行アドレスがS
A a = E A aの領域に属するとき、その実行
アドレスデータにオフセットデータMが加算される。
従ってプログラムAOのアドレスデータのトレース値は
、 S A a +M”E A a +Mの仮想アドレ
ス範囲に対応するものとなる(第3図参照)、また、プ
ログラムA1に対応するオフセットデータをNとすると
、オーバーレイ部AにプログラムA1が収納されている
場合は、被トレースプログラムの実行アドレスがS A
 a −E A aの領域に属するとき、その実行アド
レスデータにオフセットデータが加算される。従ってプ
ログラムA1のアドレスデータのトレース値は、S A
 a + N ” E A a + Nの仮想アドレス
範囲に対応するものとなる(第3図参照)。ここで前述
のように、各プログラムのオフセットしたアドレスが各
プログラム間で重複しないように設定されているので、
MとNの差はオーバーレイ部Aのメモリサイズと同じが
それよりも大きいものであり、従って、オフセットした
プログラムAOとA1のアドレスデータS A a +
M −E A a + MとS A a + N −E
 A a + Nは第3図に示すように異なるアドレス
領域に夫々対応するものとなる。こうして、オーバーレ
イ部に収納したプログラムを区別したトレースが可能と
なる。
勿論オーバーレイ部に他のプログラムが収納された場合
も同様にこれを区別したトレースを行うことができる。
なお、比較器21,22のX、Y入力のスタートアドレ
スSAa、SAb及びエンドアドレスEAa、EAbの
各データは、スイッチ等により手動設定するようになっ
ていてもよい。また、それに限らず、プログラムの内容
に応じて自動設定するようにしてもよい。その場合は、
コンピュータプログラムに内蔵されているTCB (タ
スクコントロールブロック)の記憶内容を利用し、がっ
、第2図に示すような回路を付加すればよい。
第3図はTCB (タスクコントロールブロック)を有
する被トレースプログラムの一例を示しており、常駐部
101,104とオーバーレイ部103.106とポー
ト部101,105とは、第4図に示したものと同様の
ものである。各オーバーレイ部に先行する所定のアドレ
ス領域には、TCB(タスクコントロールブロック)が
設けられている。TCB201は、オーバーレイ部Aに
選択的に収納可能な全てのプログラムAO〜A255の
各先頭アドレス及びサイズ等のデータを記憶しているも
のである。TCB202は、オーバーレイ部Bに選択的
に収納可能な全てのプログラムB0−8255の各先頭
アドレス及びサイズ等を記憶しているものである。
第2図において、TCBメモリ55,56は、被トレー
スプログラムのタスクコントロールブロック201,2
02に記憶している各オーバーレイプログラムの先頭ア
ドレス及びサイズのデータを予めコピーして記憶してお
くためのメモリである。TCBメモリ55,56は、加
算器53.54の出力から与えられるプログラム番号デ
ータに対応して、夫々に対応するプログラムの先頭アド
レス及びサイズデータを出力する。RAM51゜52は
、各オーバーレイプログラムの先頭アドレス及びサイズ
データを記憶しているTCBメモリ55.56における
各オーバーレイプログラム毎のアドレス領域のスタート
アドレスデータを記憶するものである。RAM51.5
2のアドレス入力に夫々ポートレジスタ12.13の出
力が与えられており、出力は加算器55.56の入力に
夫々接続されている。加算器53.54は、RAM51
.52から夫々与えられるスタートアドレスを起点に、
ステップカウンタ5oからのアドレス歩通用ステップ信
号に同期してアドレスデータを1づつ増加する。加算器
53.54は、ステップカウンタ信号の供給を受け、出
力は夫々TCBメモリ55,56のアドレス入力に与え
る。ラッチ57および59は、TcBメモリ55.56
がら夫々出力される該プログラムのスタートアドレスS
Aa、SAbを保持するためのものである。これらラン
チ57.59の出力は、夫々比較器21゜22のX入力
と加算器71.72の一方の入力に接続されている。サ
イズラッチ58.60は、TCBメモリ55,56から
出力される夫々のプログラムサイズデータを保持するた
めのものであり、出力は加算器71,72の他方の入力
に与えられている。加算器71.72は、一方の入力に
与えられるプログラムのスタートアドレスデータSAa
、SAbと他方の入力に与えられるプログラムサイズと
から夫々のエンドアドレスEAa、EAbを求め、比較
器21.22のY人カに夫々出方する。
変更例の作用につき、以下に説明する。ポートレジスタ
12が出力するプログラム番号データに応じて、RAM
51に記憶されている該プログラムの1’ CBメモリ
55におけるスタートアドレスデータが読み出され、加
算器53の入力に与えられる。加算器53では、与えら
れたスタートアドレスデータからアドレス歩進を実行し
、そのデータをTCBメモリ55の入力に与える。TC
Bメモリ55では、加算器53の出力アドレスデータに
従って該プログラムの先頭アドレスデータとサイズデー
タを順次読み出す。読み出されたスター1−アドレスデ
ータS A aは、ラッチ57にラッチされて比較器2
1のX入力と加算器71に与えられる。読み出されたプ
ログラムサイズデータは、ラッチ58にラッチされ加算
器71に出力される。
加算器71は、あたえられたプログラムのスタートアド
レスSAaとサイズデータとを加算しエンドアドレスE
 A aを求めて比較器21のY入力に加えるのである
なお、オーバーレイ部に収納されるプログラムは1つに
限らず、多重化されたオーバーレイプログラムであって
もよい。例えば第3図において、オーバーレイ部Aに収
納するプログラムA1における所定のアドレス領域が第
2のオーバーレイ部を有していてもよく、この第2のオ
ーバーレイ部にプログラムA255のようにサイズの小
さい第2のオーバーレイプログラムを選択的に収納する
ようにしてもよい。その場合も、第2のオーバーレイプ
ログラムに対応するオフセットデータにより実行アドレ
スデータを変更するようにする。
また、比較器21,22のX、Y入力に夫々加えるスタ
ートアドレスとエンドアドレスとは、各オーバーレイ部
のアドレス領域全体の先頭アドレスと終了アドレスであ
ってもよいし、各オーバーレイ部に収納されているプロ
グラムそれ自体のスタートアドレスとエンドアドレスで
あってもよい。
また、RAM17.18に対するオフセットデータの登
録は、CRTターミナルのキーボード等から入力しても
よいし、予めフロッピーディスク等に記憶させたものを
読み込んでもよく、他の方法でもよい。または、オフセ
ットデータをROM化してもよい。
また、オーバーレイ部に選択的に収納可能なオーバーレ
イプログラムの数やサイズ等は、実施例に示されたもの
に限定されない。
また、被1−レースプログラムの実行アドレスと該オー
バーレイ部に収納したプログラムに対応するオフセット
データとの演算は、本実施例のように加算に限らず減算
その他の演算であってもよい。
[発明の効果] 以上の通り、この発明によれば、オーバーレイ部におけ
る実行アドレスデータに該オーバーレイ部に収納したプ
ログラムに対応する所定のオフセットデータを演算する
ことによって該プログラムに固有のアドレスデータに変
更するようにしたので、オーバーレイ部に収納したプロ
グラムを区別したトレースが可能となる。その結果、ト
レースの作業の効率を高めると共に信頼性の向上も期待
できる等の種々の効果を奏する。
【図面の簡単な説明】
第1図は本発明に係るプログラムトレーサの実施例を示
すブロック図、第2図は同実施例におけるオーバーレイ
部のプログラムのアドレス範囲を自動設定する”A置の
ブロック図、第3図はオーバーレイ部を有する被トレー
スコンピュータプログラムの一例のメモリマツプを示す
図、第4図はオーバーレイ部を有する被トレースコンピ
ュータプログラムの別の例のメモリマツプを示す図であ
る。

Claims (2)

    【特許請求の範囲】
  1. (1)所定のアドレス領域にオーバーレイ部を有するコ
    ンピュータプログラムのためのプログラムトレーサであ
    って、 前記オーバーレイ部に選択的に収納可能な複数のプログ
    ラムの各々に対して異なるアドレスオフセットデータを
    割り当て、該オーバーレイ部に現在収納されているプロ
    グラムに対応する前記アドレスオフセットデータを発生
    するオフセットデータ発生手段と、 現在実行中のアドレスがオーバーレイ部のアドレス領域
    に属するかを判定する判定手段と、この判定手段の判定
    に基づき、オーバーレイ部のアドレス領域に属する実行
    アドレスデータに対して前記オフセットデータ発生手段
    で発生したアドレスオフセットデータを演算し、これに
    よりオーバーレイ部における実行アドレスデータを該オ
    ーバーレイ部に現在収納されているプログラムに固有の
    アドレスデータに変更する演算手段とを具えたプログラ
    ムトレーサ。
  2. (2)前記オフセットデータ発生手段は、記憶手段と、
    前記コンピュータプログラムの所定のアドレスにおいて
    オーバーレイ部に収納すべきプログラムの識別番号を記
    憶しているポート部から該識別番号を取り込み、取り込
    んだ識別番号に応じて前記記憶手段から前記オフセット
    データを選択的に読み出す手段とを含むものである特許
    請求の範囲第1項記載のプログラムトレーサ。
JP62-156562A 1987-06-25 プログラムトレ−サ Pending JPH012147A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62-156562A JPH012147A (ja) 1987-06-25 プログラムトレ−サ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62-156562A JPH012147A (ja) 1987-06-25 プログラムトレ−サ

Publications (2)

Publication Number Publication Date
JPS642147A JPS642147A (en) 1989-01-06
JPH012147A true JPH012147A (ja) 1989-01-06

Family

ID=

Similar Documents

Publication Publication Date Title
JP2825550B2 (ja) 多重仮想空間アドレス制御方法および計算機システム
JPH04184534A (ja) プロセッサ
JPS6326898B2 (ja)
CA1182579A (en) Bus sourcing and shifter control of a central processing unit
KR101311311B1 (ko) 프로그래밍 가능한 데이터 처리 회로
JPH012147A (ja) プログラムトレ−サ
JP3683598B2 (ja) データ駆動型情報処理装置
JPS6058487B2 (ja) デ−タ処理装置
JP4896839B2 (ja) マイクロプロセッサおよびデータ処理方法
JP3132566B2 (ja) 命令先行制御装置
JP2793357B2 (ja) 並列演算装置
JPS5894038A (ja) 電子計算機
JPH0341867B2 (ja)
JPS6152748A (ja) マイクロコンピユ−タ開発装置のトレ−ス選択方式
JPH03141444A (ja) データ処理装置
JP3392413B2 (ja) 2レベルマイクロ制御方式及び方法
JPS603656B2 (ja) 計算機のメモリ拡張方式
JP2618387B2 (ja) 情報処理装置の試験方法
Poppendieck et al. Special Feature: Memory Extension Techniques for Minicomputers
JPS5818750A (ja) 操作パネル付デ−タ処理装置
JPH09106346A (ja) 並列計算機
JPS6030977B2 (ja) パタ−ン発生装置
JPS6158042A (ja) マイクロプログラム制御方式
JPH04280331A (ja) 読み出し専用リストアクセス方式
JPH024930B2 (ja)