JPH0293741A - マイクロプログラム制御装置 - Google Patents

マイクロプログラム制御装置

Info

Publication number
JPH0293741A
JPH0293741A JP63244209A JP24420988A JPH0293741A JP H0293741 A JPH0293741 A JP H0293741A JP 63244209 A JP63244209 A JP 63244209A JP 24420988 A JP24420988 A JP 24420988A JP H0293741 A JPH0293741 A JP H0293741A
Authority
JP
Japan
Prior art keywords
software
instruction
program
register
software instruction
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
JP63244209A
Other languages
English (en)
Inventor
Shinji Oga
大賀 伸二
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63244209A priority Critical patent/JPH0293741A/ja
Publication of JPH0293741A publication Critical patent/JPH0293741A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、マイクロプログラム制(8B置に関し、特に
、走行中のソフトウェアプログラムについてソフトウェ
ア命令ごとの出現回数を測定するソフトウェア命令出現
回数測定機能を備えたマイクロプログラム制御装置に関
する。
[従来の技術] ソフトウェアプログラムにおける実行速度の高速化を図
るとき、プログラム中のソフトウェア命令ごとの出現頻
度を知ることは重要である。これは、出現頻度の高いソ
フトウェア命令の実行時間を短縮するか、または、実行
時間の長いソフトウェア命令の出現頻度を低くすること
により、プログラムの実行時間を短縮することができる
からである。
しかし、従来のマイクロプログラム制御装置でソフトウ
ェア命令ごとの出現頻度、すなわち、ソフトウェア命令
ごとの出現回数と全ソフトウェア命令の出現回数を測定
するには、被測定ソフトウェアプログラムを実行するマ
イクロプログラム制御装置から測定に必要な情報を出力
し、その出力を)リリ定専用の外部装置に接続して行な
っていた。
[解決すべき課題] 上述した従来のマイクロプログラム制御装置では、以下
のような課題があった。
■被測定ソフトウェアプログラムを実行するマイクロプ
ログラム制御装置から測定用の情報を出力していたため
、マイクロプログラム制御装置を変更しなければならな
い。
■測定専用の外部装置を接続する必要があったため、測
定に莫大な費用がかかる。
■測定専用の外部装置の処理速度に比へ、被測定ソフト
ウェアプログラムを実行するマイクロプログラム制1a
ll装置の処理速度が速い場合、測定ができなくなるか
、lリリ定結果が不正確になる。
■特定プログラムのソフトウェア命令出現回数が測定で
きない。
本発明は、上記課題にかんがみてなされたもので、簡易
にプログラム中におけるソフトウェア命令ごとの出現頻
度を知ることが可能なマイクロプログラム制1311装
置の提供を目的とする。
[課題の解決手段] 上記目的を達成するため、本発明のマイクロプログラム
制御装置は、計数開始と終了を指示する計数指示手段と
、各ソフトウェア命令について終了を検知するソフトウ
ェア命令終了検知手段と、対象ソフトウェアプログラム
であるか否かを検知するソフトウェアプログラム識別手
段と、各ソフトウェア命令の出現回数を計数する計数プ
ログラム手段と、上記計数指示手段とソフトウェア命令
終了検知手段とソフトウェアプログラム識別手段の出力
結果にもとづき、計数指示が行なわれているときに対象
ソフトウェアプログラム中でソフトウェア命令が終了し
たと検知された場合、上記計数プログラム手段を起動さ
せる計数プログラムトラップ手段と、この計数プログラ
ムトラップ手段によって計数された出現回数を各ソフト
ウェア命令ごとに記憶する記憶手段とを備えた構成とし
である。
[実施例] 以下、図面にもとづいて本発明の詳細な説明する。
第1図は、本発明の一実施例に係るマイクロプログラム
制御装置のブロック図である。
同図において、lは主記憶、2は主記憶lに接続される
主記憶データレジスタ、3は同じく主記憶アドレスレジ
スタ、4は実行中のソフトウェア命令を格納する命令語
レジスタ、5はマイクロ命令の指定によって命令語レジ
スタ4の一部の出力から主記憶アドレスを指定するか、
または主記憶データレジスタの内容に1を加算する演算
器、6は特定のソフトウェア命令によってセットまたは
リセットされるフリップフロップ、7はソフトウェア命
令の実行終了を検出する検出回路、8は特定のソフトウ
ェア命令によって設定可能な第1識別名レジスタ、9は
実行中のソフトウェアプログラム識別名を格納する第2
識別名レジスタ、1゜は第1識別名レジスタ8の内容と
第2識別名レジスタ9の内容を比較する比較回路、11
はフリップフロップ6と検出回路7と比較回路lOの出
力の値からトラップアドレスとトラップ指示を発生する
トラ・ンブアドレス発生回路、12は次に実行すべきマ
イクロ命令のアドレスを発生するマイクロ命令アドレス
発生回路、13は現在実行中のマイクロ命令アドレスを
格納するマイクロ命令アドレスレジスタ、14はマイク
ロ命令群、すなわち、マイクロプログラムを格納する制
御記憶、15は現在実行中のマイクロ命令を格納するマ
イクロ命令レジスタである。
なお、本実施例では、ソフトウェア命令の動作コードは
8ビツトであり、256種類のソフトウェア命令が存在
するものとする。また、主記憶1内に設定され、計数結
果が格納される第1領域51は一語が4バイトであり、
従って1024バイトの大きさを持つものとする。さら
に、被測定プログラムの最初のソフトウェア命令には測
定開始命令が、また、最後のソフトウェア命令には測定
終了命令が記憶されているものとする。
上記構成において、システム立ち上げ時は、ソフトウェ
ア命令が実行される前に第1領域51を全て零にクリア
し、フリップフロップ6はゝ°0゛′にリセットされて
いる。また、第1識別名レジスタ8には、被測定ソフト
ウェアプログラムの識別名がモニタプログラム内のソフ
トウェア命令(プログラム式別名設定命令)などによっ
てあらかじめ設定されている。さらに、ソフトウェアプ
ログラムの実行が開始されるごとにソフトウェアプログ
ラムに固有な識別名が第2識別名レジスタ9に格納され
、実行中のソフトウェアプログラムが中断または終了さ
れるまで保持される。
さて、被測定プログラムが実行されると、最初に測定開
始命令が出現し、この命令指示によってフリップフロッ
プ6が”1”にセットされる。そして、ソフトウェア命
令の実行が開始されるたびにソフトウェア命令の命令語
が命令語レジスタ4に格納され、ソフトウェア命令の実
行が終了するたびに検出回路7の出カフ01が1サイク
ル間”l”となる。
一方、比較回路10は、第1識別名レジスタ8と第2識
別名レジスタ9におけるソフトウェアプログラムの識別
名を比較する。そして、一致した場合は比較回路10の
出力1001が”l”となり、不一致の場合は比較回路
10の出力1001がn O++となる。
ところで、フリップフロップ6の出力601と比較回路
10の出力1001と検出回路7の出カフ01が全て°
゛l”の場合、トラップアドレス発生回路11の一方の
出力であるトラップ指示線1101が111”となり、
他方の出力であるトラップアドレス線1102が有効と
なる。また、フリップフロップ6の出力601と比較回
路10の出力1001、および検出回路7の出カフ01
のうち、いずれかが゛0パの場合には、トラップ指示線
1101は°°O″となり、トラップアドレス線110
2は無効となる。
さて、トラップ指示線1101が”O”の場合、マイク
ロ命令アドレス発生回路12は、マイクロ命令レジスタ
15の一方の出力1502と、マイクロ命令アドレスレ
ジスタ13の出力1301と、マイクロプログラム制御
装置の状態表示線群1200の値によって、次に実行す
べきマイクロ命令のアドレスを発生し、その出力120
1はマイクロ命令アドレスレジスタ13と制御記憶14
に供給される。また、トラップ指示線1101が111
”となると、マイクロ命令アドレス発生回路12の出力
1201はトラップアドレス線1102の内容となり、
マイクロ命令アドレスレジスタ13と制御記憶14に供
給される。そして、第2領域52内に格納されているソ
フトウェア命令の出現回数を測定するための測定用マイ
クロプログラムにおける第1ステツプのマイクロ命令を
さす。なお、トラップ指示線1101が0”の場合には
、第2領域52の外のマイクロ命令が指示される。
引き続いて、制御記憶14内の出力1201で指示され
たマイクロ命令がマイクロ命令レジスタ15に読み出さ
れ、その出力1501.1502がマイクロプログラム
制御装置内の各ブロックに供給される。そして、マイク
ロプログラム制御装置はマイクロ命令に従った動作を行
なう。
次に、検出回路7の出カフ01はソフトウェア命令実行
終了時の1サイクルだけ111+1となり、比較回路1
0の出力1001は指定プログラム実行中には”l”と
なるので、マイクロ命令アドレス発生回路12の出力1
201がトラップアドレス線1102の内容と一致する
のは、第1識別名レジスタ8内の識別名で指定されたプ
ログラム内のソフトウェア命令実行終了時のlサイクル
だけとなる。従って、実行中はソフトウェア命令と次に
実行すべきソフトウェア命令の間でトラップが発生し、
一つのソフトウェア命令を実行するたびに測定用マイク
ロプログラムが実行されることになる。
さて、次にこの測定用マイクロプログラムの動作を説明
する。
まず、命令語レジスタ4の出力401であるソフトウェ
ア命令の動作コードを演算器5を使用して4倍し、主記
憶アドレスレジスタ3に格納する。
次に、主記憶アドレスレジスタ3の出力1301がさす
第1領域51内の4バイトを主記憶データレジスタ2に
読み出し、演算器5を使用して主記憶データレジスタ2
の内容に1を加算した後、加算結果を再び主記憶データ
レジスタ2に格納する。
ざらに、主記憶アドレスレジスタ3の出力301がさす
第1領域51内の4バイトに主記憶データレジスタ2の
内容を書き込む。
従って、第1識別名レジスタ8内の識別名によって指定
されたソフトウェアプログラム内の一ソフトウェア命令
を実行するたびに測定用マイクロプログラムが実行され
、ソフトウェア命令の動作ごとに出現回数が計数されて
動作コードごとに主記憶lの第1領域内に格納される。
一方、被測定ソフトウェアプログラムの最終のソフトウ
ェア命令、すなわち、測定終了命令が実行されると、フ
リップフロップ6が1+ 0 IIにリセットされて出
力601は”0”になり、トラップ指示線1101は検
出回路7の出カフ01と比較回路lOの出力1001の
値に関係なく、常に”0゛となる。従って、制御記憶1
1の第2領域52内にある測定用マイクロプログラムは
起動されず、ソフトウェア命令の出現回数は計数されな
くなる。
このようにすることにより、割り込みなどによる被測定
ソフトウェアプログラムの中断があっても、被測定ソフ
トウェアプログラム中に出現するソフトウェア命令が動
作コードごとに計数される。
そして、動作コードごとに計数された値を合計すれば、
被測定ソフトウェアプログラム中に出現するソフトウェ
ア命令数となり、各ソフトウェア命令の出現頻度が計算
できる。
このように本実施例は、特定のソフトウェア命令によっ
てセットおよびリセット可能なフリップフロップと、ソ
フトウェア命令の実行終了を検出する検出回路と、特定
のソフトウェア命令によって設定可能なソフトウェアプ
ログラムの識別名を格納する第1識別名レジスタと、実
行中ソフトウェアプログラムの識別名を格納する第2識
別名レジスタと、上記第1識別名レジスタと第2識別名
レジスタとを比較する比較回路と、ソフトウェア命令の
実行開始時にソフトウェア命令の命令語を格納する命令
語レジスタと、マイクロプログラム制1aII装置内で
処理されるソフトウェア命令の動作コートの数の語を持
つ記憶手段と、上記命令語レジスタ内の動作コードから
所定のアドレスを発生し、さらに上記記憶手段によって
この所定アドレスがさす語の内容を読み出してlを加算
した後、この加算結果を上記記憶手段内の所定アドレス
に格納するマイクロプログラムと、上記フリップフロッ
プが所定の値で、かつ、上記比較回路の出力が所定の値
で、かつ、上記検出回路の出力がソフトウエア命令の実
行終了を示すときに、上記マイクロプログラムの実行開
始マイクロ命令のアドレスを発生するマイクロ命令アド
レス発生回路とを有している。
なお、本発明は上記実施例に限定されるものでなく、要
旨の範囲内における種々変形η11を含むものである。
例えば、上述の実施例では、第1識別名レジスタ8と第
2識別名レジスタ9の内容が一致したときに、比較回路
】0の出力1001が111JTになるとしたが、ざら
に、第1識別名レジスタ8の内容が特定の値(例えば、
II OIIや”1”)の場合に比較回路】0の出力1
001が”1”になるようにすれば、全てのソフトウェ
アプログラムのソフトウェア命令の出現数が計数できる
[発明の効果] 以上説明したように本発明は、測定専用の外部装置を接
続するために装置本体を変更する必要がなく、また、高
価な測定専用の外部装置を接続する必要もなく、さらに
、ソフトウェア命令の出現回数の測定、すなわち、計数
を正確に行なうことが可能で、かつ、特定プログラムの
ソフトウェア命令の出現回数を計数することが可能なマ
イクロプログラム制御装置を提供できるという効果があ
る。
【図面の簡単な説明】
第1図は本発明の一実施例に係るマイクロプログラム制
御装置のブロック図である。 主記憶 主記憶データレジスタ 主記憶アドレスレジスタ 命令語レジスタ 演算器 フリップフロップ 検出回路 8:第1識別名レジスタ 9:第2識別名レジスタ 10:比較回路 11:)ラップアドレス発生回路 12:マイクロ命令アドレス発生回路 13:マイクロ命令アドレスレジスタ 14二制御記憶 15:マイクロ命令lノジスタ

Claims (1)

    【特許請求の範囲】
  1. 計数開始と終了を指示する計数指示手段と、各ソフトウ
    ェア命令について終了を検知するソフトウェア命令終了
    検知手段と、対象ソフトウェアプログラムであるか否か
    を検知するソフトウェアプログラム識別手段と、各ソフ
    トウェア命令の出現回数を計数する計数プログラム手段
    と、上記計数指示手段とソフトウェア命令終了検知手段
    とソフトウェアプログラム識別手段の出力結果にもとづ
    き、計数指示が行なわれているときに対象ソフトウェア
    プログラム中でソフトウェア命令が終了したと検知され
    た場合、上記計数プログラム手段を起動させる計数プロ
    グラムトラップ手段と、この計数プログラムトラップ手
    段によつて計数された出現回数を各ソフトウェア命令ご
    とに記憶する記憶手段とを具備することを特徴とするマ
    イクロプログラム制御装置。
JP63244209A 1988-09-30 1988-09-30 マイクロプログラム制御装置 Pending JPH0293741A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63244209A JPH0293741A (ja) 1988-09-30 1988-09-30 マイクロプログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63244209A JPH0293741A (ja) 1988-09-30 1988-09-30 マイクロプログラム制御装置

Publications (1)

Publication Number Publication Date
JPH0293741A true JPH0293741A (ja) 1990-04-04

Family

ID=17115385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63244209A Pending JPH0293741A (ja) 1988-09-30 1988-09-30 マイクロプログラム制御装置

Country Status (1)

Country Link
JP (1) JPH0293741A (ja)

Similar Documents

Publication Publication Date Title
US4710866A (en) Method and apparatus for validating prefetched instruction
JPH0293741A (ja) マイクロプログラム制御装置
JPH02202646A (ja) マイクロプログラム制御装置
JPH0354645A (ja) プログラム実行時間測定装置
KR100297224B1 (ko) Prom이구비된마이크로컴퓨터및그것의데이타판독검사방법
JP2624798B2 (ja) 処理装置のデバッグ機構
JPS595932B2 (ja) デ−タ処理方式
KR100705847B1 (ko) 데이터 프로세서 및 데이터 처리 방법
JPS6211745B2 (ja)
JPH06202907A (ja) デバッグ支援装置
JPH0229457Y2 (ja)
JPH05333956A (ja) タイマ回路
JPH0619752A (ja) マイクロコンピュータ
JPS59183443A (ja) デバツグ装置
JPH0231247A (ja) データ処理装置
JPS6118045A (ja) プログラムの暴走検出方式
JP3590289B2 (ja) イベント検出回路
JPH02230436A (ja) プログラム実行時間計測方法とその装置
JPH04178840A (ja) 性能測定方式
JPH05210534A (ja) 命令フェッチ・トリガ回路
JPH0231420B2 (ja)
JPH01243140A (ja) コントローラ
JPS6284348A (ja) マイクロコンピユ−タ
JPH0398132A (ja) デバグ方式
JPH05224985A (ja) マイクロプログラム制御装置