JPS6045455B2 - プログラム進行状態表示装置 - Google Patents

プログラム進行状態表示装置

Info

Publication number
JPS6045455B2
JPS6045455B2 JP52065692A JP6569277A JPS6045455B2 JP S6045455 B2 JPS6045455 B2 JP S6045455B2 JP 52065692 A JP52065692 A JP 52065692A JP 6569277 A JP6569277 A JP 6569277A JP S6045455 B2 JPS6045455 B2 JP S6045455B2
Authority
JP
Japan
Prior art keywords
program
contents
block
register
executed
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
Application number
JP52065692A
Other languages
English (en)
Other versions
JPS54840A (en
Inventor
秀夫 浅野
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
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP52065692A priority Critical patent/JPS6045455B2/ja
Publication of JPS54840A publication Critical patent/JPS54840A/ja
Publication of JPS6045455B2 publication Critical patent/JPS6045455B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 本発明は、プログラム制御の計算機がプログラムを実行
していく順序を二次元画面に表示するプログラム進行状
態表示装置に関する。
複数のプログラムを多重処理している計算機のプログ
ラムの処理状態の監視やプログラム・デバッグを行なつ
たりするには、その計算機のプログラム進行状態を知ら
なければならない。
従来プログラムの進行状況を表わすにはソフトウェア
による方法やハードウェアによる方法などがある。
ソフトウェアによる方法としてトレース機能をもつプロ
グラム(以下トレーサと略称する)が知られている。ト
レーサは計算機がトレーサの対象となるプログラムの命
令を実行していく たびに計算機の内部状態をラインリ
ンタやキャラクタディスプレイ装置に表示していく。あ
るいは分岐命令を実行するたびにその命令のメモリ格納
番地と分岐命令の種類をキャラクタディスプレイ装置に
順次表示していく。これらの方法では詳しい情報が得ら
れるのでエラー個所がおおよそ見当がついている時には
有効である。しカルながらエラー個所が分らない場合に
は、情報が膨大であるし、列記式の表現法であるため、
エラー個所を見付けるのは難カルい。またトレースの対
象となるプログラムの1命令実行するたびにトレーサの
命令を数多く実行するので、プログラムの処理速度が非
常に遅くなる。それに伴ない、プログラムが周辺装置と
データを授受するタイミングが実際の動作とは異なるの
で、そのプログラム実行時に生ずる計算機と周辺装置と
のタイミングエラーによる誤動作を発見することができ
ない。 ハードウェアによる方法として、計算機が実行
していく命令のメモリ格納番地を順次二次元画面Iこ表
示する方法や、画面の一方の軸の目盛をメモリ格納番地
の上位ビットの大きさに対応させ他方の軸の目盛を下位
ビットの大きさに対応させて、計算機が命令を実行して
いくに従い命令のメモリ格納番地に対応した画面の一点
をドット表示する門方法などがある。
これらの方法では、正常なプログラムの流れにおいては
実行するはずのない番地とその前後のプログラムの流れ
や、誤動作した前後のプログラムの流れは簡単に表示で
きる。誤動作の原因は往々にして誤動作よりはるか以前
に存在するので、この方法では原因となる所が表示され
ない場合が多い。又ループしている途中からのプログラ
ムの流れを知りたい場合、どの番地から表示するかを指
定するトリガの設定も難かしい。本発明の目的は、上記
のような問題点を解決するために、計算機が実行中のプ
ログラムを乱すことなく、かつ大記憶容量のメモリを必
要とせずにプログラムの進行状態を把握し易い表示方法
で二次元画面に表示する装置を提供することにある。以
下図面を参照して本発明を詳細に説明する。プログラム
の進行状態を知るには、計算機が命令を実行していく順
序(以下ステップ数と略す)と実行した命令のメモリ格
納番地が分かればよい。実際には、全ての命令を1つず
つ確めなくてもメモリに連絡して格納されている命令の
あつまり(以下ブロックと略す)にプログラムを分割し
て、それらのブロック内の命令が実行される順序をブロ
ック名の順序で表わすことによつてもプログラム進行状
態が分かる。このブロックとして分割する命令のあつま
りは、最小のものとして1命令であり、普通は小ループ
に対応し、長いものとしてはサブルーチン単位が考えら
れる。あるいは、プログラムを均等な長さに分割し各々
をブロックとする方法も考えられる。誤りの種類によつ
てプログラムの分割法は異なるので、どの命令からどの
命令までを1ブロックにするかの指定は、本装置の外部
から行なう。各ブロックが実行されていく順序を表わす
例を第1図に示す。
第1図では16ケのブロックが表示−されている。画面
の一方の軸方向にブロック別を表わし、他方の軸にはス
テップ数を対応させる。第1図ては1ブロック内の命令
を実行している間は、そのブロックに対応した縦軸方向
の位置とその時のステップ数に対応した横軸方向の位置
に、1つのブロック内の命令を続けて実行した回数に比
例した長さの横棒で表示する。次にステップ数が増加し
他のブロック内の命令を始めると、そのブロックに対応
した縦軸方向の位置とステップ数に対応した横軸方向の
位置に、実行した回数に比例した長さの横棒で表示する
。表示しているブロック以外の命令を実行した場合はそ
のステップ数に対応した場所は空白となる。このような
表示をするのに必要な情報として、計算機が実行した命
令が振り分けられているブロック名とそのブロックが続
けて何回実行されたのかを示すステップ数とがある。
第2図に記憶様式の一例を示す。このメモリは1ワード
が8ビットで構成されている。1つのブロックを続けて
実行したステップ数を表わすのに必要なビット数が増減
するので、1つのブロック名と実行したステップ数を表
わすのに必要な語数は不定である。
各ブロックの最後の語の先頭ビットは1で、その他の語
は先頭ビットが0である。各ブロックの先頭語にはブロ
ック名とそれに対応したステップ数の1部あるいは全部
が格納されている。従つて第2図の例では、ブロック名
が(4)100)2でありこのブロック内で続けて(B
lr・・・Blqblp・・・Blnbl′・・・Bl
lblO)2回のステップを実行した事を表わす。なお
ステップ数の上位ビットと下位ビットを逆転してある。
これは、なるべく短い語数で表現するための一方法であ
る。次に実行するブロック名は(1101)2であり要
したステップ数は(B2x・・・B2sb,・・・B2
qb2p・・・B2nb2′・・・B2lb2O)2回
である。なお数字の添字は何進数であるかを示している
。以上述べた様な方法により、膨大な情報を、少ない記
憶容量で記憶し、プログラム進行状態を簡単に把握でき
る様になる。第3図A,bは本発明の一実施例を示す図
である。
同図において±旦は問題となるプログラムを実行してい
るプログラム制御の計算機であり、2旦がプログラム状
態表示装置である。11はプログラム・カウンタであり
、計算機±■が実行している命令のメモリ格納番地を示
している。
制御線101はプログラム・カウンタへのアクセス信号
であり、このアクセス信号によつてプログラム・カウン
タの内容が更新されていく。制御線102は、計算機↓
■の内部状態をクリアするシステムクリア線である。制
御線101にアクセス信号が出るたびに、カウンタ50
の内容は+1加算器51によつて1を加える。このカウ
ンタ50の内容は信号線501を通してデータ処理部4
0に入る。レジスタ30は制御線101のアクセス信号
に同期してプログラムカウンタの内容を取り込みADR
Sとしてデータ処理部40に出力する。コンクールパネ
ル60では、各ブロックが計算機10の主メモリの何番
地から何番地迄に対応しているのかを外部から指定して
その内容をデータ処理部40へ出力する。90はメモリ
であり、アドレスレジスタ80はメモリ90の番地を指
す。
41,42,61,92はレジスタである。
レジスタ42は1つ前のステップで実行した命令のブロ
ック名が格納されている。43,81は+1加算器であ
り、93は−1減算器である。
91はデータを定まつた記憶様式に変換するためのデー
タ変換部である。
データ処理部40は、ADRSがどのブロックに対応し
ているかを調べる。
1ステップ前とブロック名が同じならば、+1加算器4
3によつてレジスタ41の内容に1を加え、異なつてい
るならば、ブロック名とレジスタ41の内容をデータ変
換部91に供給し第2図の様な記憶様式に変換し、アド
レスレジスタ80が指定する番地のメモリ90に変換デ
ータを書き込む。
同時に、レジスタ41の内容をクリアする。次に取込部
の動作を説明する。
コンクールパネル60からレジスタ61に、16ケのブ
ロックか計算機±■の主メモリのどの番地からどの番地
までに対応しているかを指定する。計算機1Uがプログ
ラムを実行する前にシステムクリア信号102を出力し
カウンタ50の内容やレジスタ41,61の内容、メモ
リ90の内容などをクリアする。計算機±立が現在実行
中の命令の主メモリ内格納番地を表わすプログラム・カ
ウンタ11の内容は制御線101に同期して変化してい
く。上述のように制御線101にアクセス信号が出力さ
れると、カウンタ50の内容に1を加えると共にレジス
タ30にプログラム・カウンタ11の内容を取り込む。
データ処理部40ではレジスタ61とレジスタ30の内
容とを比較して、現在実行中の命令がどのブロックに属
しているかを調べ、レジスタ42に一時記憶している1
ステップ前のブロック名と比較する。等しければレジス
タ41の内容に1を加える。異なつていれば、レジスタ
41の内容とブロック名を91のデータ変換部へ出力し
た後、レジスタ41の内容をクリアし、レジスタ42に
新しいブロック名を格納する。例えば第3ブロックの命
令を1回実行し、次に第0ブロックの命令を24回実行
すると托進数で 0301という信号を線401に
出力する。
データ変換部91ではデータ処理部40から送られて
きたステップ数の上位ビットと下位ビットこ をなら
びかえてブロック名に続ける。
このデータを先頭ビットから順に7ビットずつ区切る。
最後にはんぱなビットがあれば後3にOを加えて7ビッ
トとする。最後のワードには先頭ビットとして1を置き
、その他のワードには0を置く。このよ うにして第2
図の様な記憶様式に変換されたデータは先頭ワードから
順にメモリ90へ出力する。アドレスレジスタ80に1
を加え、レジスタ92から1を引く。レジスタ92の内
容が0になると出力を停止する。 第5図にブロック名
が(3)16″ステップ数が(19D)16回の場合の
データ変換例を示す。
同図からも明らかな様に、最後の語の内容がすべてOな
らばその語はなくす。その1つ前の語の内容もすべて0
ならばその語もなくす。以下同様にする。従つて状態を
表わすワード数は不定である。 メモリ90では、デー
タ変換部91から送られてきたデータを、アドレス・レ
ジスタ80で指定する番地に格納する。 再び第3図A
,bにおいてコンソール60は、表示を開始するステッ
プ数(以一μSTEPと略す)と横軸方向のきざみ幅(
以下Wと略す)をデータ処理部25とローカルメモリ3
5に出力する。
データ処理部25は、メモリ90の内容を逆変換し、S
TEP.5Wから横軸方向の位置を計算しプロノック名
と共にローカルメモリ35に出力する。ローカルメモリ
35は現在表示中の画面の内容をデジタル量で記憶して
いる。画面の文字表示などの不変部分は固定記憶し、ブ
ロックの番地範囲、STEP.Wの値などはコンソール
60から書き込5み、グラフ表示する内容はデータ処理
部25から与えられる。DA変換回路45では、ローカ
ルメモリ35の内容を表示するためのアナログ信号(画
面の縦軸方向のバイアス電圧y1横軸方向のバイアス電
圧0x)を出力する。信号線453はZ信号であり、ド
ットの輝度変調信号である。二次元画面55では信号線
X,y,zに対応した位置に輝点表示し、文字あるいは
グラフを表示する。 レジスタ26はメモリ90のアド
レスレジスタである。
レジスタ28はメモリ90からデータ処理部25に読み
出されたステップ数の合計が一時記憶されている。レジ
スタ28は、アドレスレジスタ26の内容0の時クリア
される。次に第1図の表示画面を例にして本実施例の動
作の説明をする。
システムクリア信号102が出力されると、すべてのレ
ジスタ類をクリアする。コンソールパネル60で各ブロ
ックの番地範囲とSTE,PlWの値などを指定すると
それらの値がデータ処理部25とローカルメモリ35に
出力される。ローカルメモリ35ではブロック名とその
番地範囲、STEPとWの値などをあらかじめ定められ
た番地に記憶する。データ処理部25は、メモリ90か
ら順に1ワードずつ取り出す。1ワードの先頭ビットが
0ならば続けてアドレスレジスタ26の内容に1を加え
て次のワードを読み出す。
以下同様にして、1ワードの先頭ビットが2になるまで
読み出す。第5図に示す様に、これら一群のワードから
前述した変換の逆変換を行ない、ブロック名とステップ
数を読み出す。
読み出したステップ数をレジスタ28の内容に加えて合
計ステップ数とする。データ処理部25はSTEPとw
から表示するステップ数の始めと終りの値を計算して、
レジスタ28の内容がこの範囲り入ると、表示する横棒
の長さと位置に対応した信号をローカルメモリ35に出
力し記憶させる。DA変換回路45は、ローカルメモリ
35の内容をアナログ信号に変換してバイアス電圧X,
yと輝度変調信号zとして出力する。
二次画面55ではDA変換回路45から送られてくるX
,y,z信号に対応して文字あるいは横棒を表示する。
第1図の例では横軸方向のきざみ幅wを10に指定した
ので1目盛中に複数のブロックを表示することがある。
以上述べたように本発明によれば、プログラムの進行
状態をブロック化して二次元画面に表示することによつ
て、プログラムの大きな流れが瞬時に判読できる様にな
つた。
従つて従来のプログラム・デバッグ法では見付けにくか
つた、正常な流れを1部分だけ乱す様な誤りや、非常に
長いステップあるいは膨大なループを実行中に生ずる誤
りの発見が簡単になる。また複数のプログラムを多フ重
処理している計算機のモニタとしても役立つ。 本発明
は上記実施例に限定されるものではない。 上記実施例
では圧縮した記憶様式を用いたけれども、高速の大容量
記憶装置が使えるならば、各・ステップ毎にメモリ格納
番地を記憶したりプログラムが開始してから現在実行中
の命令までのステップ数の合計も同時に記憶してもよい
表示法も横表示に限らず、命令を実行していく各ブロ
ックの順序のみが重要であるならば、第6図に示す様な
点表示などが考えられる。
【図面の簡単な説明】
第1図は本発明装置による表示の一例を示す図、第2
図は本発明の装置で用いられる記憶様式の一例を示す図
、第3図A,bは本発明の一実施例を示す図、第4図及
び第5図は本発明装置のデータ変換の一例を示す図、第
6図は本発明装置による表示の他の例を示す図である。

Claims (1)

    【特許請求の範囲】
  1. 1 プログラム制御方式の計算機のプログラム・カウン
    タの内容を取り込む手段と、前記プログラム・カウンタ
    の内容が変化した回数を計数する手段と、この手段によ
    つて得られた計数値及び前記取り込まれたプログラム・
    カウンタの内容を複数のブロックに区分した後予め定め
    られた記憶様式へ変換して記憶する手段と、この記憶手
    段の内容を表示する二次元画面を有する表示装置と、前
    記記憶手段の内容をその一方の軸には前記プログラム・
    カウンタの内容を前記ブロック毎に分類し、他方の軸に
    はプログラム進行を表示させる手段とを備えたことを特
    徴とするプログラム進行状態表示装置。
JP52065692A 1977-06-06 1977-06-06 プログラム進行状態表示装置 Expired JPS6045455B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52065692A JPS6045455B2 (ja) 1977-06-06 1977-06-06 プログラム進行状態表示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52065692A JPS6045455B2 (ja) 1977-06-06 1977-06-06 プログラム進行状態表示装置

Publications (2)

Publication Number Publication Date
JPS54840A JPS54840A (en) 1979-01-06
JPS6045455B2 true JPS6045455B2 (ja) 1985-10-09

Family

ID=13294312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52065692A Expired JPS6045455B2 (ja) 1977-06-06 1977-06-06 プログラム進行状態表示装置

Country Status (1)

Country Link
JP (1) JPS6045455B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59148962A (ja) * 1983-02-14 1984-08-25 Hitachi Denshi Ltd メモリデ−タモニタ装置
JPS62217333A (ja) * 1986-03-19 1987-09-24 Hitachi Ltd プログラム実行トレ−ス方法

Also Published As

Publication number Publication date
JPS54840A (en) 1979-01-06

Similar Documents

Publication Publication Date Title
JPH0756892A (ja) マスク付きベクトル演算器を持つ計算機
US6279104B1 (en) Debugging system for parallel processed program and debugging method thereof
JPS6045455B2 (ja) プログラム進行状態表示装置
JPH0581087A (ja) プロセサのモニタ方式
JP2557366B2 (ja) 入出力手順変換装置
JP2845519B2 (ja) データパスシミュレーション装置
JPH05312837A (ja) 波形表示方法及びその装置
Gray A computer simulator for use in an introductory course on computer systems and assembly language programming
JPS61193190A (ja) 表示制御装置
JP2509981B2 (ja) 仮想記憶制御装置
JP2605609B2 (ja) ドット表示処理装置
JP2829051B2 (ja) 文字表示方式
JPS6355646A (ja) シンボリツクデバツガ制御方式
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置
JP2007328775A (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
Shepherd et al. Microcoded multiprogramming display control unit
JPS60260988A (ja) グラフイツク表示装置
JPH07282093A (ja) 論理シミュレーション支援システム
JPH1027113A (ja) ファームウェア開発支援方法および装置
JPS63147224A (ja) 画面表示形式のテスト方式
JPH0311396A (ja) 文字表示システム
JPS626339A (ja) テストパタ−ン発生装置
Matta A Zenith Z-100 Emulator
JPH01304492A (ja) 領域塗りつぶし発生回路
JPS60132249A (ja) デ−タ処理装置