JPS5914773B2 - ブランチパス通過回数計算装置 - Google Patents

ブランチパス通過回数計算装置

Info

Publication number
JPS5914773B2
JPS5914773B2 JP51130888A JP13088876A JPS5914773B2 JP S5914773 B2 JPS5914773 B2 JP S5914773B2 JP 51130888 A JP51130888 A JP 51130888A JP 13088876 A JP13088876 A JP 13088876A JP S5914773 B2 JPS5914773 B2 JP S5914773B2
Authority
JP
Japan
Prior art keywords
address
branch
signal
instruction
register
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
JP51130888A
Other languages
English (en)
Other versions
JPS5355930A (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.)
NEC Corp
Original Assignee
Nippon 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP51130888A priority Critical patent/JPS5914773B2/ja
Publication of JPS5355930A publication Critical patent/JPS5355930A/ja
Publication of JPS5914773B2 publication Critical patent/JPS5914773B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 本発明はプログラムおよびプログラム用テストプログラ
ムを評価する装置に関する。
特に本発明では、ブランチバス通過回数を計算すること
を対象とした装置である。
なお、本明細書で言及する、ブランチバス通過回数とは
、プログラムのFROM−TOの通過回数のことで、よ
り具体的に述べると、あるプログラムステップAは実行
後プログラムステップB、CD、Eの4通りにブランチ
する可能性がある場合、プログラムステップAからBに
ブランチされた回数、プログラムステップAからCにブ
ランチされた回数、プログラムステップAからDにブラ
ンチされた回数、プログラムステップAからEにブラン
チされた回数の各々の回数をいう。
電子計算機等の情報処理装置に用いられるプログラムの
デバッグ手段としては、一般にソフトウェアで検出でき
る機能をテストする機能試験プログラムが用いられる。
従つてプログラムの品質は、機能試験プログラムのテス
ト性能に大きく左右される。しかし、実際には、全ての
機能(プログラム側から見れば全ての可能なプログラム
のバス)についてテストすることは、莫大なテストデー
タとプログラム量を必要とするので不可能である。
従つて、テストプログラムのテスト性能を評価し、不十
分ならば効率的にテスト性能を向上させることが重量で
ある。しかし、従来これらのテスト性能を効率的に評価
するツールはなかつた。本発明の目的は、プログラムの
ブランチバス通過回数を効率的に計算できるようにした
装置を提供することにある。
本発明は、被測定装置から現在実行された命令アドレス
情報に対応した一群の計数値のなかで、前記命令アドレ
ス情報を、次のアドレス情報を含めた命令飛び先指定情
報で特定することにより指定できる複数の記憶位置に計
数値を記憶する記憶部と、前記被測定装置から現在実行
された命令アドレス情報と前記命令飛び先指定情報とを
入力し、前記命令アドレス情報の少なくとも一部を第1
アドレス部とし、前記命令アドレス情報を前記マイクロ
命令飛び先指定情報で指定された特定のビツトパターン
に変換した第2のアドレス部として前記記憶部のアドレ
ス情報とするアドレス発生部と、このアドレス発生部か
ら得られた情報により指定された前記記憶位置から読み
出された計数値を更新する演算部(後述の実施例では加
算部)とを含み、1ステツプを実行する毎に前記指定さ
れた計数値を更新することを特徴とする飛び先回数計算
装置により構成される。
本装置はステツプ信号で被測定装置のプログラムを1ス
テツプずつ動作させながら被測定装置からのプログラム
・アドレス情報とプログラム情報、及びステツプ信号に
よる1ステツプ実行後のプログラム・アドレス情報(ブ
ランチ先アドレス)を元にアドレス変換回路と加算回路
を使用することによりプログラムのブランチパス通過回
数の計算を行なおうとするものである。
次に本発明の一実施例について図面を参照して説明する
第1図及び第2図は本実施例を示したプロツク図で、各
種の信号を発生させる為の信号発生部とブランチパス通
過回数を記憶する為の記憶部と記憶回路内のカウンタの
アドレスに変換する為のアドレス変換部と、カウンタの
値を+1する為の+1加算部と、ブランチパス通過回数
計算結果を出力する為の出力部に分けられる。
信号発生部は各種の信号を発生する信号発生回路8と計
算の開始・終了を指示するスタートボタン18とストツ
プボタン19及びそれを押すことにより発生するスター
ト信号32とストツプ信号33と、被測定装置のマイク
ロプログラムとマイクロプログラムアドレスの読み出し
を被測定装置に指示するマイクロプログラム読出信号3
とマイクロプログラムアドレス読出信号2と、マイクロ
プログラムの一ステツプ毎の動作を制御するステツプ信
号4と1マイクロプログラム実行後フリーズ(クロツク
が停止している状態。
以下フリーズと称す)したことを知らせるフリーズ信号
5とゲート回路20〜27を開ける為のゲート信号45
〜52とを含む。(ゲート信号45はブランチレジスタ
16をりセツトするりセツト信号34をゲート信号49
は記憶回路9にカウンタの読み出しを指示するリード信
号39を、ゲート信号50は+1加算回路10に加算を
指示する加算指令信号54を、ゲート信号51は加算後
のカウンタの書き込みを指示するライト信号40を、ゲ
ート信号52は計算結果の出力を出力回路11に指示す
る出力指令信号42を兼ねる。)次に記憶部はブランチ
パス通過回数を記憶回路9と、アドレス変換部によつて
得られたアドレス情報38と、書き込みの終了を知らせ
る書込終了信号41とを含む。
第3にアドレス変換部は第2図に示すようにマイクロプ
ログラムのアドレス情報であるマイクロプログラムアド
レス情報6と、それを格納する為の第1のアドレスレジ
スタ13と第2のアドレスレジスタ14と、そのゲート
回路20,21と、マイクロプログラムのコード情報で
あるマイクロプログラム情報7と、それを格納する為の
インストラクシヨンレジスタ15と、ブランチの解析を
行なうブランチデコーダ12と、そのゲート回路22と
、BRM(マルチブランチ)回路28とBSG(2方向
ブランチ)ゲート回路29とBCD(2方向ブランチ)
一致回路30とオア回路31と、ブランチデータを格納
するブランチレジスタ16と、第1のアドレスレジスタ
13とブランチレジスタ16とのゲート回路23とを含
む。
第4に+1加算部は加算を行なう+1加算回路10と、
カウンタのデータを入れるカウンタバツフア17とゲー
ト回路24,25,26とを含む。第5の出力部は計算
結果を出力する出力回路11と、ゲート回路27とを含
む。次に本装置の動作を具体的に説明する。被測定装置
CPUlは初期設定が終了し、性能評価又はテースト品
質評価に使用するソフトウエアはラン状態被測定装置C
PUlはフリーズ状態であり、又記憶回路9内のカウン
タは全てOにクリアされていることが本装置の条件であ
る。まず本装置のスタートボタン18が押されるとスタ
ート信号32が発生し、信号発生回路8はこれを受け取
ると被測定装置CPUlへマイクロプログラム読出信号
3とマイクロプログラムアドレス読出信号2とを送り、
ゲート信号45によりゲート回路20を開けてマイクロ
プログラムのアドレスをアドレスレジスタ113に、マ
イクロプログラムをインストラクシヨンレジスタ15に
格納する。
又、りセツト信号34によりブランチレジスタ16をり
セツトする。次に信号発生回路8は被測定装置CPUl
にステツプ信号を送り、被測定装置CPUlはこれを受
け取るとマイクロプログラムの1ステツプ実行後再びフ
リーズし、フリーズ信号を本装置に送つてくる。
信号発生回路8はフリーズ信号5を受け取るとマイクロ
プログラムアドレス読出信号2を被測定装置CPUlに
送り、ゲート信号46によりゲート回路21を開けてブ
ランチした所のマイクロプログラムアドレスをアドレス
レジスタ214に格納する。/つまりアドレスレジスタ
113には″FROM8が、アドレスレジスタ214に
は″TO″のアドレスが格納されたことになる。続いて
ゲート信号47によりゲート回路22を開けてインスト
ラクシヨンレジスタ15のブランチ指定部をブランチデ
コーダ12に通してブランチの種類を解析する。なお、
ブランチの種類としては、本実施例では以下例示する各
種の命令を想定している。
マイクロプログラムのアドレスデータ部と指定されたレ
ジスタの値とをマスク情報によりマスクしたアドレスに
ブランチする命+(以下マルチブランチBRMと称す)
、指定された制御信号をテストし、その結果によりマイ
クロプログラムのアドレスデータ部のある1ビツトを1
又は0にしたアドレスにブランチする命+(以下制御信
号による2方向ブランチBSGと称す)、指定されたイ
ンデイケータをテストし、1であればマイクロプログラ
ムのアドレスデータ部のアドレスにブランチし、0であ
れば自分のアドレスに+1したアドレスに進む命令(以
下インデイケータによる2方向でラッチBCDと称す。
)、マイクロプログラムのアドレスデータ部のアドレス
に無条件にブランチする命令(以下無条件ブランチBU
Nと称す。)、自分のアドレスに+1したアドレスに進
む命令(以下1NCと称す)等である。インストラクシ
ヨンレジスタ15には、32ビツトのマイクロプログラ
ム情報が格納されている。
このうち20ビ゛ントから24ビ゛ント目の5ビ゛ント
がブランチ指定コードとなる。このブランチ指定コード
において、マルチブランチBRMは″1××XX8で表
わされ、そのうち1××××1はマスク情報である。
次に゛く方向ブランチBSGは″01111″、2方向
ヲランチBCDは6′011108、無条件ブランチB
UNは″00001′″INCは″00000″で各々
表わされる。その他の命令ぱ“01101〜00010
′″で表わされるが本実施例では、発明の本質と関係な
いため省略する。
第3図のブランチデコーダ12は、ブランチの種類によ
りマルチブランチBRM信号35、制御信号による2方
向ブランBSG信号36、インデイケータによる2方向
ブランチBCD信号37を発生する。
ここで、このブランチ指定コードの態様により次の処理
をするために飛ぶ飛び先番地に関し、第1表と第2図の
構成とを用いて説明する。
マルチブランチBRMであればBRM信号35によりB
RMゲート28を開けてマスクビツトパターンをブラン
チレジスタ16に格納する。
本実施例ではビツトパターン“10111が0100′
″である。したがつてブランチレジスタ16のビツト数
は、マスク情報のビツト数と同数でなければならない。
.例えばマスク情報のビツト数がムビツトとすればブラ
ンチレジスタ16も4ビツトレジスタとなり最多マルチ
ブランチ数は16となる。第1表の(1)BRM命令で
は各々8ビツトパターンに展開され、マルチブランチ数
が8の場合を例示する。この例示から理解されるように
NEXTアドレスデータ(インストラクシヨンレジスタ
25ビツト目〜31ビツト目に格納される内容)の下位
3ビツトは変化せず、上位4ビツトが変化してアドレス
が決定される。
4この表かられかる
ように、マルチブランチの飛び先は、8番地ずつの間隔
を置いて飛ぶことになる。制御信号による2方向ブラン
チBSGであれば第3図で示すBSG信号によりBSG
ゲート回路29を開け、0R回路31を通つてブランチ
レジスタの最下位ビツトを変更する。
本例では、ブランチレジスタが4ビツトであるため1×
××1″又は1×××0”のどちらか一方となる。第1
表の(2)BSG命令では、後述する本実施例において
NEXTアドレスデータを10番地とする。
この命令は、3ビツト目を″O”又は“1”に変更して
飛び先番地を決定する。この結果、NEXTアドレスデ
ータで指定された番地より4番地大きい番地か、小さい
番地に飛び先可能番地の一方が決定され、他方の番地は
NEXTアドレスデータで指定された番地となる。イン
デイケータによる2方向ブランチBCDであれば第3図
に示すBCD信号37とBCD一致回路30により第2
のアドレスレジスタ14とインストラクシヨンレジスタ
15のアドレスデータ部とを比較し一致したならば0R
回路31を通つてブランチレジスタ16を1××X1″
に不一致ならば1×××0“にセツトする。
このBCD命令において、飛び先可能番地は、NEXT
アドレスデータで示された番地か、自分の番地すなわち
、今、実行しているBCD命令を格納した番地に+1し
た番地のどちらかになる。
その他BUN命令、INC命令等ではブランチレジスタ
16は″0000′″のままにして置く。また飛び先番
地としては、BUN命令であればNEXTアドレスデー
タで示された番地が、又INC命令であれば、実行され
ているINC命令の格納された番地に+1した番地がそ
れぞれ該当する。このように対応するカウンタのアドレ
スに変換後、信号発生回路8はゲート信号48によりゲ
ート回路23を開けてアドレス情報38を記憶回路9に
送る。このアドレス情報38とはブランチレジスタ16
の内容を下位とし、第1のアドレスレジスタ13の内容
を上位としたアドレスのことである。
続いてゲート信号49によりゲート回路24を開いてリ
ード信号39により記憶回路9内の対応するカウンタの
内容をカウンタバツフア17に読み出す。次にゲート信
号50によりゲート回路25が開かれ加算指令信号54
により+1されてカウンタバツフア17に格納される。
次にゲート信号51によりゲート回路26が開かれカウ
ンタバツフア17の内容をライト信号40によつて記憶
回路9の元の場所に書き込む。記憶回路9は書き込み後
、書込終了信号41を信号発生回路8に送る。これで1
ステツプの処理が終了する。信号発生回路8はそれを受
け取るとマイクロプログラム読出信号3、マイクロプロ
グラムアドレス読出信号2、ゲート信号45の上述した
状態にもどり、再びこの状態からつぎのマイクロプログ
ラムステツプの処理を行う。この繰り返しにより、ステ
ツプ信号4を被測定装置CPUlへ送る毎に被測定装置
CPUlでマイクロプログラム1ステツプを実行し、そ
の後被測定装置CPUl内のクロツクを停止させ、凍結
状態を示すフリーズ信号5を被測定装置CPUlから受
け取り、本装置が上述の処理をした後、ステツプ信号4
を送るまで被測定装置CPUlは凍結状態を維持する。
言い換れば被測定装置が稼動している時本装置は稼動せ
ず、被測定装置が1マイクロプログラム実行後、凍結状
態において本装・置は稼動することとなる。処理終了後
又は処理中にストツプボタン19を押せばストツプ信号
33が発生し信号発生回路8はこれを受け取るともし処
理中であれば処理を中止し、ゲート信号52によりゲー
ト回路27を開けて出力指令信号42により出力回路1
1は記憶回路9に出力コントロール情報43を送つて出
力制御しながら出力端子53を通して出力情報44を出
力用装置に送る。
出力用装置にラインプリンタを使用すればその場でマイ
クロプログラムのブランチパス通過回数結果を印字する
ことができる。なお、記憶回路は本実施例では装置内に
回路を設けたが、CPUの主記憶装置の空エリアを利用
してもよい。第3図は各種制御信号とゲート信号との関
係を示すタイムチヤートである。
第4図は、記憶回路9内のメモリマツプで、カウンタの
マトリツクスとなつている。
縦軸は第1のアドレスレジスタ13の内容を2×(×=
ブランチレジスタ16のビツト数)倍した値となる。つ
まり×−4とすれば、第1のアドレスレジスタ13の内
容は、0000である。横軸はブランチレジスタ16の
内容でマイクロプログラムのブランチFROMを示して
いる。この数はマイクロプログラムの最多マルチブラン
チ数と同数である(2×個となる;×=ブランチレジス
タ16のビツト数)。(したがつて(第1のアドレスレ
ジスタ13X2×)+(ブランチレジスタ16)=アド
レス情報38の値により記憶回路9内の対応するカウン
タをアクセスする。第5図では縦軸と横軸の交差点が対
応するカウ 1ンタである。
次にブランチバス通過回数の計算過程を表にして表わす
まず、第2表には、一連のマイクロプログラムの一例の
うち本実施例に関連する部分が表わされ 1ている。
第3表は、この命令群が実行される順序で順に上から下
へ第1のアドレスレジスタ13と第2のアドレスレジス
タ14との関係を示している。
この表から第1のアドレスレジスタ13の内容と第2の
アドレスレジスタ14の内容とがFROM−TOの関係
になつていることが理解される。第4表は、第2図で示
されたアドレス変換部内の主要信号を示した表である。
この表は、第2のアドレスレジスタの内容とインストラ
クシヨンレジスタの20−24bit目の内容とを組み
合わせることにより、アドレス情報のπ位ビツト群であ
るブランチレジスタの内容を作成する表である。第5表
は、この第1のアドレスレジスタ13とブランチレジス
タ14との各々の内容が記憶回路9のアドレス情報とな
ることを示した表である。この第5表の状態を、第4図
に示したメモリマツプに通用した図が第5A,B,C図
である。この図に示されたブランチパス通過回数はマイ
クロプログラムの性能評価/性能改善のデータとなる。
又マイクロプログラム用テストプログラムの品質改善等
のデータにも成り得る。具体的に述べればユーザプログ
ラムを流してブランチパス通過回数を計算すればその結
果よりマイクロプログラムのブランチパスの通過頻度が
評価でき、使用頻度の高いルーチンのマイクロプログラ
ムのステツプ数を減す等により性能改善に役立てること
ができる。更にマイクロプログラム用テストプログラム
を使用すればブランチパス通過回数のバランスによりテ
ストプログラムのテスト品質が評価でき、又ブランチパ
ス通過回数のバランス改善等によりテスト品質の改善に
も役立たせることができる。なお、本実施例では、マイ
クロプログラムを例示して説明したが、プログラムであ
ればよくマイクロプログラムには限定されない。
本装置の特徴であるステツプ信号により被測定装置のマ
イクロプログラムを1ステツプ毎に動作させながら計算
することにより、連想記憶や高速カウンタを必要とせず
普通の回路で構成されたアドレス変換回路と記憶回路と
を使用してダイナミツクにマイクロプログラムのブラン
チパス通過回数を容易な操作で、時間的にも効率的に計
算できる。
【図面の簡単な説明】
第1図は、本発明の一実施例の概要を示したプロツク図
、第2図は、第1図のアドレス変換部を示したプロツク
図、第3図は、第1図の信号発生回路から発生される信
号の時間的関係を示したタイムチヤート。 第4図は第1図の記憶回路の内部を示したメモリーマツ
プ。第5A,B,C図は、本実施例で実施されたマイク
ロプログラムの一例に従つてカウンタ更新される状態を
示した図である。以下図面に用いられた符号について説
明する。 1は被測定装置CPUl2はマイクロプログラムアドレ
ス読出信号、3はマイクロプログラム読出信号、4はス
テツプ信号、5はフリーズ信号、6はマイクロプログラ
ムアドレス情報、7はマイクロプログラム情報、8は信
号発生回路、9は記憶回路、10は+1加算回路、11
は出力回路、12はブランチデコーダ、13は第1のア
ドレスレジスタ、14は第2のアドレスレジスタ、15
!はインストラクシヨンレジスタ、16はブランチレジ
スタ、17はカウンタバツフア、18はスタートボタン
、19はストツプボタン、20,21,22,23,2
4,25,26,27はゲート回路、28はBRMゲー
ト回路、29はBSGゲート回路、30はBCD一致回
路、31はオア回路、32はスタート信号、33はスト
ツプ信号、34はりセツト信号、35はBRM信号、3
6はBSG信号、37はBCD信号、38はアドレス情
報信号、39はリード信号、40はライト信号、41は
書込終了信号、42は出力指令信号、43は出力コント
ロール情報、44は出力情報、45,46,47,48
,49,50,51,52はゲート回路、53は出力端
子、54は加算指令信号である。

Claims (1)

    【特許請求の範囲】
  1. 1 被測定装置からの現在実行された命令アドレス情報
    に対応した一群の計数値を記憶する記憶位置のなかで、
    前記命令アドレス情報を次のアドレス情報を含めた命令
    飛び先指定情報で特定することにより指定できる複数の
    記憶位置に計数値を記憶する記憶部と、前記被測定装置
    から現在実行された命令アドレス情報と前記命令飛び先
    指定情報とを入力し、前記命令アドレス情報の少なくと
    も一部を第1アドレス部とし、前記命令アドレス情報を
    前記命令飛び先指定情報で指示された特定のピットパタ
    ーンに変換した第2のアドレス部として前記記憶部のア
    ドレス情報とするアドレス発生部と、このアドレス発生
    部から得られたアドレス情報により指定された前記記憶
    位置から読み出された計数値を更新する演算部とを含み
    、1ステップを実行する毎に前記指定された計数値を更
    新することを特徴とする飛び先回数計算装置。
JP51130888A 1976-10-29 1976-10-29 ブランチパス通過回数計算装置 Expired JPS5914773B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP51130888A JPS5914773B2 (ja) 1976-10-29 1976-10-29 ブランチパス通過回数計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP51130888A JPS5914773B2 (ja) 1976-10-29 1976-10-29 ブランチパス通過回数計算装置

Publications (2)

Publication Number Publication Date
JPS5355930A JPS5355930A (en) 1978-05-20
JPS5914773B2 true JPS5914773B2 (ja) 1984-04-06

Family

ID=15045037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51130888A Expired JPS5914773B2 (ja) 1976-10-29 1976-10-29 ブランチパス通過回数計算装置

Country Status (1)

Country Link
JP (1) JPS5914773B2 (ja)

Also Published As

Publication number Publication date
JPS5355930A (en) 1978-05-20

Similar Documents

Publication Publication Date Title
US5038348A (en) Apparatus for debugging a data flow program
US6096089A (en) Power simulation system, power simulation method and computer-readable recording medium for recording power simulation program
JPS5886648A (ja) トレ−ス装置
WO2002048887A2 (en) Single-step processing
US3700873A (en) Structured computer notation and system architecture utilizing same
EP0062658A4 (en) STACK STORAGE FOR A DATA PROCESSING SYSTEM.
US6516410B1 (en) Method and apparatus for manipulation of MMX registers for use during computer boot-up procedures
US4028670A (en) Fetch instruction for operand address calculation
JPS5914773B2 (ja) ブランチパス通過回数計算装置
JP2793357B2 (ja) 並列演算装置
JPS6042968B2 (ja) 情報処理装置
JP3270337B2 (ja) プログラム制御プロセッサおよびマシン語プログラム出力方法
JPS6319040A (ja) 情報処理装置
JPS5995646A (ja) 演算制御装置
JP2629359B2 (ja) 論理シミュレータ
JPS58146945A (ja) プログラム分岐制御装置
JPS63282843A (ja) Cpuエミュレ−ション装置
JP3523407B2 (ja) 情報処理装置
JPS6015969B2 (ja) マイクロ命令アドレス生成方式
JPH1139159A (ja) 計算機システム
JPS6198451A (ja) 試験装置
JPH10320376A (ja) デジタル信号処理開発システム
JPS63257039A (ja) アドレストレ−ス装置
JPS61153737A (ja) デ−タ処理装置
JPS61246841A (ja) 情報処理装置