JPH0412855B2 - - Google Patents

Info

Publication number
JPH0412855B2
JPH0412855B2 JP60290854A JP29085485A JPH0412855B2 JP H0412855 B2 JPH0412855 B2 JP H0412855B2 JP 60290854 A JP60290854 A JP 60290854A JP 29085485 A JP29085485 A JP 29085485A JP H0412855 B2 JPH0412855 B2 JP H0412855B2
Authority
JP
Japan
Prior art keywords
address
instruction
memory
operand
stack
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 - Lifetime
Application number
JP60290854A
Other languages
English (en)
Other versions
JPS62151947A (ja
Inventor
Satoshi Osada
Atsushi Fujihira
Takaharu Kosuge
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60290854A priority Critical patent/JPS62151947A/ja
Publication of JPS62151947A publication Critical patent/JPS62151947A/ja
Publication of JPH0412855B2 publication Critical patent/JPH0412855B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔概要〕 指定された範囲の命令フエツチアドレスをトレ
ースすると共に、その命令フエツチアドレスによ
る命令内にオペランドアドレスがある場合に、そ
のオペランドアドレスを含めてトレースし、且つ
フラグビツトによりオペランドアドレスの有無を
表示し、ソフトウエアデバツグを容易にするもの
である。
〔産業上の利用分野〕
本発明は、メインメモリへのアクセスアドレス
をトレースするメモリアドレストレース方式に関
するものである。
トレース機能を用いてメモリアドレスの所定範
囲をトレースし、ストツプした時点で、その時の
メモリアドレスから過去に遡つて各命令の履歴を
調べることにより、デバツグを容易にするメモリ
アドレストレース方式が知られている。
〔従来の技術〕
トレース機能は、デバツグの為に有効な機能で
あり、例えば、命令実行毎に、命令フエツチアド
レス、命令コード、レジスタ類の内容、メモリの
内容等を、スタツクメモリに書込み、プログラム
がストツプした時点で、その時のアクセスアドレ
スの命令の実行から過去に遡り、スタツクメモリ
の内容を読出してCRT(陰極線管)表示装置に表
示するか、プリンタにより印字出力し、各命令の
実行による履歴を追跡するものである。このよう
なトレース機能を用いたメモリアドレストレース
方式は、指定した範囲内の命令フエツチアドレス
をスタツクメモリに格納してトレースするもので
あり、その命令フエツチアドレスと共にオペラン
ドアドレスをトレースする為に、命令内でオペラ
ンドアドレスが無い場合に、一定のビツトパター
ンを書込むことが採用されている。
〔発明が解決しようとする問題点〕
前述の従来例に於いては、命令内でオペランド
アドレスが無い場合に、一定のビツトパターンを
書込むものであるが、どのようなパターンを採用
しても、オペランドアドレスの有無を確実に判断
することは困難であるから、デバツグ時に、命令
の種類を調べなければならないことになり、デバ
ツグに要する時間が長くなる欠点があつた。
本発明は、オペランドアドレスの有無の識別を
容易にし、それによつてデバツグが容易となるよ
うにすることを目的とするものである。
〔問題点を解決するための手段〕
本発明のメモリアドレストレース方式は、オペ
ランドアドレスの有無をフラグビツトで表示する
ものであり、第1図を参照して説明する。
メインメモリ1のメモリアドレスバスにスタツ
クメモリが接続され、スタツクメモリは、命令フ
エツチアドレス用スタツクメモリ2とオペランド
アドレス用スタツクメモリ3とから構成され、オ
ペランドアドレス用スタツクメモリ3にフラグビ
ツト3aを設け、命令フエツチアドレスによる命
令内にオペランドアドレスがある場合は、フラグ
ビツト3aをセツトして、その命令フエツチアド
レスを命令フエツチアドレス用スタツクメモリ2
に格納すると共に、その命令フエツチアドレスを
格納したスタツクメモリアドレスに対応したオペ
ランドアドレス用スタツクメモリ3のアドレスに
オペランドアドレスを格納するものである。
〔作用〕
オペランドアドレスの有無をフラグビツト3a
により表示することができるから、命令内でオペ
ランドアドレスがあつたか否かを確実に且つ容易
に識別することが可能となり、デバツグが容易と
なる。
〔実施例〕
以下図面を参照して本発明の実施例について詳
細に説明する。
第2図は本発明の実施例の概略ブロツク図であ
り、11,12は中央処理装置(CC0、CC1)、1
3,14はメインメモリ(MM0、MM1)、15,
16はスタツクメモリ、17〜20はメモリアド
レスバス、21,22はメモリアドレスレジスタ
(MAR)、23,25は命令フエツチアドレス用
スタツクメモリ(STKA)、24,26はオペラ
ンドアドレス用スタツクメモリ(STKB)であ
る。このオペランドアドレス用スタツクメモリ2
4,26に図示を省略したフラグビツトが設けら
れている。
中央処理装置11,12とメインメモリ13,
14とにより二重化構造とした場合を示し、現用
系を中央処理装置11とメインメモリ13との0
係で構成した場合、メモリアドレスレジスタ21
にセツトされたメモリアドレスによりメインメモ
リ13,14のアクセスが行われ、データ書込み
の場合は、同一アドレスに同一のデータが書込ま
れ、又データ読出しの場合は、現用系のメインメ
モリ13から読出される。そして、現用、予備の
構成に拘わらず、0係のメインメモリ13が0係
の中央処理装置11からアクセスされた時に、ス
タツクメモリ15によりトレースされ、1係のメ
インメモリ14が1系の中央処理装置12からア
クセスされた時に、スタツクメモリ16によりト
レースされる。
そして、命令フエツチアドレスが指定された範
囲内のアドレスであると、命令フエツチアドレス
用スタツクメモリ23,25に書込まれ、その命
令フエツチアドレスによる命令内にオペランドア
ドレスがあると、オペランドアドレス用スタツク
メモリ24,26のフラグビツトをセツトし、オ
ペランドアドレスを書込むものである。
第3図は本発明の実施例のスタツクメモリのブ
ロツク図であり、31は命令フエツチアドレス用
スタツクメモリ(STKA)、32はオペランドア
ドレス用スタツクメモリ(STKB)、33はスタ
ツクポインタ(SPNT)、34は制御部、35〜
43はアンド回路、44〜48は信号保持用のフ
リツプフロツプ、49,50は第1のクロツク信
号(図示せず)で動作するDフリツプフロツプ
()、51〜53は第1のクロツク信号と位相の
異なる第2のクロツク信号(図示せず)で動作す
るDフリツプフロツプ()である。
又D00〜D23はデータバスのデータ、PRQはオ
ペランド要求信号、IRQは命令フエツチ要求信
号、A00〜A23はアドレスバスのアドレス信号、
ADMTはトラツプ指示信号、IRSSは命令終了指
示信号、IRSは次命令開始指示信号、R/Wはリ
ード・ライト信号、FFGSはフリツプフロツプグ
ループの指定信号、WEはライトイネーブル信
号、RDSGはリードデータセレクトゲート信号、
WDSGはライトデータセレクトゲート信号、
SPNTGはスタツクポインタゲート信号、
SPNTIはスタツクポインタのインクリメント信
号である。
制御部34は、Dフリツプフロツプ52を介し
たアドレス信号A00と、前述の各信号ADMT、
IRSS、IRS、R/W、FFGS等が加えられ、各部
に加える前述の各信号WE、RDSG、WDSG、
SPNTG、SPNTIを出力するものである。
スタツクメモリ31,32はフリツプフロツプ
グループ(FFG)として使用することができる
ものであり、指定信号FFGSによりスタツクメモ
リ31,32として使用するか、通常のフリツプ
フロツプグループとして使用するかの指定が行わ
れる。スタツクメモリ31,32として使用する
場合は、スタツクポインタ33からのアドレス信
号がアドレス端子A0-12にそれぞれ加えられ、デ
ータ端子I/O0-23に加えられたデータが、ライ
トネーブル信号WEによつて書込まれ、或いはデ
ータ端子I/O0-23から読出される。
このスタツクポインタ33は、第2のクロツク
信号(図示せず)により動作するDフリツプフロ
ツプ53の出力信号に従つてデータバスを介して
加えられた初期設定データを設定し、制御部34
からのインクリメント信号SPNTIによつて順次
歩進され、スタツクメモリ31,32のアドレス
端子A0-12にそれぞれアドレス信号を加えるもの
である。
又アンド回路35〜37等によりリードデータ
セレクトゲートが構成され、制御部34からのリ
ードデータセレクトゲート信号RDSGにより制御
され、スタツクメモリ31,32から読出された
データがデータバスに送出される。又アンド回路
38,39,40,41等によりライトデータセ
レクトゲートが構成され、制御部34からのライ
トデータセレクトゲート信号WDSGにより制御
され、スタツクメモリ31,32にライトデータ
が加えられる。
アドレスバスのアドレス信号A00〜A23が命令
フエツチアドレス信号で、命令フエツチ要求信号
IRQがDフリツプフロツプ49にセツトされる
と、アンド回路43を介してその命令フエツチア
ドレス信号が出力され、フリツプフロツプ46〜
48、ライトデータセレクトゲートを構成するア
ンド回路41等を介してスタツクメモリ31のデ
ータ端子I/O0-23に加えられ、スタツクポイン
タ33からアドレス端子A0-12に加えられるアド
レス信号に従つて、スタツクメモリ31に命令フ
エツチアドレス信号が書込まれる。
この命令フエツチアドレスによる命令にオペラ
ンドメモリアクセスを含まない場合は、オペラン
ド要求信号PRQは“0”となるから、アンド回
路42は閉じられたままとなり、ライトデータセ
レクトゲートを構成するアンド回路39、オア回
路を介して出力されるオール“0”の信号は、オ
ール“1”の信号となつて、スタツクメモリ32
のデータ端子I/O0-23に加えられる。その時に
スタツクメモリ32のアドレス端子A0-12に加え
られるアドレス信号は、スタツクメモリ31のア
ドレス端子A0-12に加えられるアドレス信号と同
一であるから、命令フエツチアドレス信号が書込
まれたスタツクメモリ31と同一のスタツクメモ
リ32のアドレスにオール“1”が書込まれる。
即ち、フラグビツトを含めてオール“1”が書込
まれることになる。
又オペランドメモリアクセスを含む場合は、オ
ペランド要求信号PRQが“1”となり、Dフリ
ツプフツプ51の出力によつてアンド回路42に
開かれるから、アドレスバスを介したオペランド
アドレス信号がアンド回路42から出力され、フ
リツプフロツプ45,アンド回路39等を介して
スタツクメモリ32に加えられる。この時オペラ
ンド要求信号PRQがDフリツプフロツプ50、
フリツプフロツプ44を介してフラグビツトとな
り、インバータにより反転されることにより、ス
タツクメモリ32には、“0”のフラグビツトと
して書込まれる。
第4図はアドレス収集の説明図であり、スタツ
クメモリSTKAにはアドレスバツフアI−BFを
介して命令フエツチアドレス信号がライトデータ
として加えられ、スタツクメモリSTKBにはア
ドレスバツフアP−BFを介してオペランドアド
レス信号がライトデータとして加えられる。例え
ば、EX命令はオペランドアドレスが発生しない
ので、そのEX命令アドレスがスタツクメモリ
STKAに書込まれるが、スタツクメモリSTKB
にはフラグビツトを含めてオール“1”が書込ま
れる。
又EXN命令のアドレスではオペランドアドレ
スが発生しないが、そのEXN命令先の命令アド
レス及びオペランドアドレスについては、スタツ
クメモリSTKAにEXN命令アドレスが書込まれ
ると共に、スタツクメモリSTKBにフラグビツ
トを含めてオール“1”が書込まれ、EXN命令
先命令アドレスがスタツクメモリのSTKAに書
込まれると共にEXN命令先命令のオペランドア
ドレスがスタツクメモリSTKBに書込まれ、フ
ラグビツトは“0”となる。又EXNK命令につ
いては、EXNK命令アドレスがスタツクメモリ
STKAに書込まれ、又オペランドアドレスa2
スタツクメモリSTKBに書込まれる。その
EXNK命令先命令アドレス及びEXNK命令先命
令のオペランドアドレスはそれぞれスタツクメモ
リSTKA、STKBに書込まれる。
このようなスタツクメモリSTKA、STKBの
アドレスが、それぞれ0000〜1FFFの場合、フリ
ツプフロツプグループFFGとして使用する場合
は、第5図に示すように、連続したアドレスが割
りつけられ、0000〜3FFFのアドレスにより内部
データの書込みが行われることになる。
第6図はサンプルコントロールレジスタ
(SCR)の説明図であり、IFは命令フエツチ、PF
はオペランドフエツチ、PSはオペランドストア
を示す。このレジスタによつて動作の開始や停止
が指示され、アドレス範囲の開始アドレスは、サ
ンプルマツチスタートアドレスレジスタ
(SMSR)によつて指定され、又アドレス範囲の
終了アドレスは、サンプルマツチエンドアドレス
レジスタ(SMER)によつて指定される。
第7A図及び第7B図は動作フローチヤートを
示し、命令の先取り制御の場合についてのもので
ある。メモリアドレストレースのスタートで、先
ずFFG初期設定を行う。即ち、フリツプフロ
ツプグループFFGをスタツクメモリSTKA、
STKB構成となるように初期設定し、サンプル
マツチスタートアドレスレジスタSMSRによりア
ドレス範囲の開始アドレスを指定し、サンプルマ
ツチエンドアドレスレジスタSMERによりアド
レス範囲の終了アドレスを指定し、且つスタツク
ポインタSPNTによりスタツクメモリSTKA、
STKBの先頭アドレスを指定する。
次にSCR設定を行う。即ち、サンプルコン
トロールレジスタSCR(第6図参照)の内容の設
定を行う。このレジスタSCRの231,229,224ビツ
トが“1”、“0”、“1”か否かを判別する。即
ち、トラツプ開始(“1”)、トラツプ選択(“0”)
且つ命令フエツチトラツプ指示(“1”)(第6図
参照)であるか否かを判別する。この条件でない
場合は、メモリアドレストレース動作の停止であ
るから、終了となる。
又この条件の場合は、MMアクセス、即ち、メ
モリアクセスであるか否か、メモリアクセスが命
令フエツチIFであるか、或いはオペランドフエ
ツチPF又はオペランドストアPSであるかを判別
する。メモリアクセスでなければステツプに
移行する。又オペランドフエツチPF又はオペラ
ンドストアPSの場合は、メモリアドレスバツフ
アMABの内容をオペランドアドレスバツフアP
−BFにセツトし〔(MAB)→P−BF〕、そのオ
ペランドアドレスバツフアP−BFの223ビツトを
“0”とし、MMアクセスの識別ステツプに
移行する。即ち、フラグビツトを“0”として、
オペランドアドレスがあることを表示する。
又命令フエツチIFの場合は、命令フエツチ要
求IRQがジヤンプ命令フエツチJIFであるか通常
の命令フエツチIFであるか判別する。通常の
命令フエツチIFの場合は次のステツプに移行
し、ジヤンプ命令フエツチJIFの場合は、次命令
トラツプ指示フラグADMTF1を“0”とし、
次のステツプに移行する。即ち、次命令トラツ
プ指示フラグADMTF1が“1”でトラツプ指
示を示していても、ジヤンプ命令によつて他の命
令に移行することになるから、“0”としてトラ
ツプ指示を解除するものである。このステツプ
では、メモリアドレスバツフアMABの内容を
次々命令アドレスバツフアI−BF1にセツトす
る〔(MAB)→I−BF1〕。
次にトラツプ指示信号ADMTがトラツプ範囲
内であるか否かを判別し、トラツプ指示でなけ
ればステツプに移行し、トラツプ指示であれば
次々命令アドレスバツフアI−BF1の内容を次
命令アドレスバツフアI−BF2にセツトし〔(I
−BF1)→I−BF2〕、次命令トラツプ指示フ
ラグADMTF1を“1”とする。
そして、命令終了指示信号IRSSであるか否か
判別し、命令終了指示でない場合は、ステツプ
に移行し、命令終了指示であれば、第7B図の
ステツプに移行する。このステツプは、現命
令トラツプ指示フラグADMTF2が“1”であ
るか“0”であるかを判別するもので、“0”で
あればステツプに移行し、“1”であれば、現
命令アドレスバツフアI−BF3の内容をスタツ
クメモリSTKAに、又オペランドアドレスバツ
フアP−BFの内容をスタツクメモリSTKBにそ
れぞれ書込む〔(I−BF3)→STKA、(P−
BE)→STKB〕。即ち、スタツクポインタ
SPNTによつて書込アドレスが指示されて、命令
フエツチアドレス信号がスタツクメモリSTKA
に書込まれ、オペランドアドレスがスタツクメモ
リSTKBに書込まれる。その時、オペランドア
ドレス有りを示す“0”のフラグビツトも書込ま
れることになる。
スタツクメモリSTKA、STKBへの書込み終
了によりスタツクポインタSPNTの内容を+1す
る〔(SPNT)+1→SPNT〕。次に次命令トラ
ツプ指示フラグADMTF1が“1”か“0”か
を判別し、“1”であれば次命令開始指示信号
IRSか否かの判別のステツプに移行し、“0”
であれば現命令トラツプ指示フラグADMTF2
を“0”とし、ステツプに移行する。
ステツプに於いて次命令開始指示信号IRSを
識別した時は、次命令アドレスバツフアI−BF
2の内容を現命令アドレスバツフアI−BF3に
セツトし、オール“1”をオペランドアドレスバ
ツフアP−BFにセツトする〔(I−BF2)→I
−BF3、all“1”→P−BF〕。又次命令開始
指示信号でない場合は、現命令トラツプ指示フラ
グADMTF2を“0”とし、ステツプに移
行する。
次に、次命令トラツプ指示フラグADMTF1
が“1”であるか“0”であるかを判別する。
“0”であれば、第7A図に於けるステツプに
移行する。又“1”であれば、現命令トラツプ指
示フラグADMTF2を“1”とする。そして、
トラツプ指示信号ADMTであるか否か判別し、
トラツプ指示でない場合は、次命令トラツプ指示
フラグADMTF1を“0”とし〓〓、ステツプ
に移行する。又トラツプ指示の場合は、ステツプ
に移行する。
オペランドアドレス用スタツクメモリSTKB
のフラグビツトは、“0”をオペランドアドレス
有りとした場合を示しているが、“1”とするこ
とも勿論可能である。又前述の実施例にのみ限定
されるものではなく、種々付加変更することがで
きるものである。
〔発明の効果〕
以上説明したように、本発明は、命令フエツチ
アドレスによる命令内にオペランドアドレスがあ
る場合に、フラグビツト3aをセツトして、その
命令フエツチアドレスをスタツクメモリ
(STKA)2に格納し、オペランドアドレスをス
タツクメモリ(STKB)3に格納するものであ
り、オペランドアドレスの有無を容易に識別する
ことができるから、デバツグ時に命令の種別を調
べる必要がなくなる。従つて、ソフトウエアデバ
ツグが容易となる利点がある。
【図面の簡単な説明】
第1図は本発明の原理ブロツク図、第2図は本
発明の実施例の概略ブロツク図、第3図は本発明
の実施例のスタツクメモリのブロツク図、第4図
はアドレス収集の説明図、第5図はフリツプフロ
ツプグループの説明図、第6図はサンプルコント
ロールレジスタの説明図、第7A図及び第7B図
は動作フローチヤートである。 1はメインメモリ、2は命令フエツチアドレス
用スタツクメモリ、3はオペランドアドレス用ス
タツクメモリ、3aはフラグビツト、11,12
は中央処理装置(CC0、CC1)、13,14はメイ
ンメモリ(MM0、MM1)、23,25,31は
命令フエツチアドレス用スタツクメモリ
(STKA)、24,26,32はオペランドアド
レス用スタツクメモリ(STKB)、33はスタツ
クポインタ(SPNT)、34は制御部である。

Claims (1)

  1. 【特許請求の範囲】 1 メインメモリ1へのアクセスアドレスをトレ
    ースする方式に於いて、 命令フエツチアドレス用スタツクメモリ2と、
    オペランドアドレス用スタツクメモリ3とを備
    え、該オペランドアドレス用スタツクメモリ3に
    オペランドアドレスの有無を示すフラグビツト3
    aを設け、 前記命令フエツチアドレスによる命令内にオペ
    ランドアドレスがある場合に、前記フラグビツト
    3をセツトして、該命令フエツチアドレスを前記
    命令フエツチアドレス用スタツクメモリ2に格納
    すると共に、前記オペランドアドレスを前記オペ
    ランドアドレス用スタツクメモリ3に格納するこ
    とを特徴とするメモリアドレストレース方式。
JP60290854A 1985-12-25 1985-12-25 メモリアドレストレ−ス方式 Granted JPS62151947A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60290854A JPS62151947A (ja) 1985-12-25 1985-12-25 メモリアドレストレ−ス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60290854A JPS62151947A (ja) 1985-12-25 1985-12-25 メモリアドレストレ−ス方式

Publications (2)

Publication Number Publication Date
JPS62151947A JPS62151947A (ja) 1987-07-06
JPH0412855B2 true JPH0412855B2 (ja) 1992-03-05

Family

ID=17761348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60290854A Granted JPS62151947A (ja) 1985-12-25 1985-12-25 メモリアドレストレ−ス方式

Country Status (1)

Country Link
JP (1) JPS62151947A (ja)

Also Published As

Publication number Publication date
JPS62151947A (ja) 1987-07-06

Similar Documents

Publication Publication Date Title
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
EP0213843A2 (en) Digital processor control
JPH0412855B2 (ja)
KR100223096B1 (ko) 내부 메모리 맵 레지스터를 관측하는 방법 및 장치
US6219757B1 (en) Cache flush operation for a stack-based microprocessor
JPH04171542A (ja) デバッグ機能内蔵マイクロプロセッサ
JPH0581087A (ja) プロセサのモニタ方式
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPH03141444A (ja) データ処理装置
EP0229253A2 (en) Data processor with virtual memory management
JP3428253B2 (ja) シーケンサ
SU1425687A1 (ru) Устройство дл отладки программ
JPH11305811A (ja) コントローラ,分散処理システム及び監視方法
JP2509981B2 (ja) 仮想記憶制御装置
JPS63237143A (ja) プログラマブルコントロ−ラ
JPH0154729B2 (ja)
JPS60193046A (ja) 命令例外検出方式
JPS6248859B2 (ja)
JPH0736736A (ja) マイクロプロセッサ
JPS60225941A (ja) マイクロプログラム制御装置
JPS63155347A (ja) メモリ診断補助回路
JPH0512071A (ja) トレース回路
JPS62130436A (ja) トレ−ス制御装置
JPS6029785A (ja) メモリ−装置
JPH0342757A (ja) パラレルインターフェース回路