JPH04165532A - プログラムシーケンス制御方法及び装置 - Google Patents

プログラムシーケンス制御方法及び装置

Info

Publication number
JPH04165532A
JPH04165532A JP2293413A JP29341390A JPH04165532A JP H04165532 A JPH04165532 A JP H04165532A JP 2293413 A JP2293413 A JP 2293413A JP 29341390 A JP29341390 A JP 29341390A JP H04165532 A JPH04165532 A JP H04165532A
Authority
JP
Japan
Prior art keywords
point
bug
cpu
program
hook number
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
JP2293413A
Other languages
English (en)
Inventor
Yasuhiro Kawakami
康弘 川上
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 Home Electronics Ltd
NEC Corp
Original Assignee
NEC Home Electronics Ltd
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 NEC Home Electronics Ltd, Nippon Electric Co Ltd filed Critical NEC Home Electronics Ltd
Priority to JP2293413A priority Critical patent/JPH04165532A/ja
Publication of JPH04165532A publication Critical patent/JPH04165532A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、マスクROM等に格納されたプログラムのバ
グを回避するためのプログラムンーケンス制御方法およ
び装置に関する。
[従来の技術] プログラムを焼き付けたマスクROMをコンピュータ機
器に組込んで出荷した後、使用段階でそのプログラムに
予期しなかった欠陥(バグ)か見つかることかある。こ
のようなバグか見つかる度にマスクROMを改版するの
もコストかかかることから、第4図に示すように、マス
クROMに書き込むプログラムに予め複数のポイ:/ト
HO,H1、・・・・を所定の間隔をおいて設定し、使
用段階で検出されたバグb go、b g3.・・・・
に対しては、その手前のポイントHO,H3,・・・・
でRAMに格納しである差替用の部分プログラムPO“
、P3′にジャンプさせて、それらバグb g(1,b
 g3.・・・・の実行を回避するようにしている。
これらの部分プログラムPO’、  P3’は、各々の
バグb go、b g3.・・・・か発見される度毎に
それをデバグして部分的に再作成したプログラムで、/
ステムの起動時にフロッピディスク等の記憶媒体よりR
AMにロードされる。
このヨウにマスクROMのプログラムを実行している途
中でそのバグ部分をRAMのデハグした部分プログラム
に差し替えるため、従来は、次のような処理を行ってい
た。すなわち、使用段階でバグが見つかる度に、それを
デバグした部分プログラムを作成し、第5図に示すよう
なテーブルにそのバグの手前のポイントを識別するデー
タ(フックナンバ)hlとそのハゲに対応する部分プロ
グラムPi゛の(RAM上の)アドレスm1を逐次リス
トしておく。そして、第6図に示すように、CPUは当
該ROMプログラムに予め設定されている各ポイントH
+(例えば命令C)に達すると、そこでコール命令を実
行してバグ−チエツク会すブルーチンにジャンプし、そ
こで当該ポイントH1のフックナンバhlがバグ番テー
ブル(第5図)にリストされているとうかを調へる。こ
の検査のため、ポイントHiの直前の命令BでCPUレ
ノスタにポイントHiのフックナンバhiを8き込んで
おく。この検査の結果、フックナンバh1がバグやテー
ブルにリストされているときは、RAMの対応する差替
用の部分プログラムPi“にジャンプしてその部分プロ
グラムPi゛を実行した後i: ROM フログラムの
被差替部分P1の次のアドレス(命令K)に戻る。その
フックナンバh1かバグ・テーブルにリストされていな
いときは、差替用の部分プログラムにジャンプすること
なく、バグ・チエツク・サブルーチンの終了後にポイン
トH1の次のROMアドレス(命令D)にリター7する
[発明か解決しようとする課題] 上記のように、従来のプログラム・/−ケノス制御方式
では、ROMプログラム内に予め設定した全てのポイン
)HO,Hl、・・・で常にバグ・チエ。
り・サブルーチンにジャンプし、そこで当該ポイントの
フックナンバh1をバグ・テーブル(第5図)にリスト
されているフックナンバhO,h3.■の1つ1つと逐
次比較し、一致するものがあるがとうか調べ、その検査
結果にしたがって条件的にRAMの部分プログラムに差
し替えていた。
しかしながら、バグの発生していないポイントH1,H
2,・・・・でもそのようなバグ・チエ、り働サブルー
チンを実行するのでは、cPUが付随的な処理(本来の
処理以外の処理)に多くの時間を費やす結果となり、処
理速度ないしスループットの低下を招いていた。特に、
ループ処理を多数回繰り返す場合においてそのループの
中にポイントが入っていると、ループが回る度にバグ−
チエ、り−サブルーチンを実行するため、処理速度か著
しく低下した。
本発明は、かかる問題点に鑑みてなされたもので、RO
Mプログラムに予め設定した各ポイントでのバグ・チエ
ツクに要する時間を最小限にしてCPUの処理速度を向
上するようにしたプログラムシーケンス制御方法及び装
置を提供することを目的とする。
[課題を解決するための手段] 上記の目的を達成するため、本発明のプログラムシーケ
ンス制御方法は、各バグの手前に位置するポイントを識
別するデータを保持するレジスタ手段と、各ポイントで
CPUの発生するそのポイントを識別するデータとレジ
スタ手段に保持されているポイント識別データとを照合
する手段と、この照合手段の照合結果にしたかって選択
的にCPUに対して差替用の部分プログラムを実行させ
るための割込信号を発生する手段とを具備する構成とし
た。
また、本発明のプログラムシーケンス制御方法は、バグ
の手前に位置するポイントを識別するデータを予め第1
のレジスタ手段に保持しておき、各ポイントにてそのポ
イントを識別するデータをCPUに書込サイクルで発生
させて第2のレジスタ手段に書き込み、この第2のレジ
スタ手段に書き込まれたポイント識別データと第1のレ
ジスタ手段に保持されているポイント識別データとを照
合し、書込サイクルの直後に続出サイクルで照合の結果
をCPUに読み込ませ、照合一致の結果か得られたとき
はCPUに割込処理として差替用の部分プログラムを実
行させることとした。
[作用] 使用段階でバグが発見されたなら、そのバグの手前のポ
イントの識別データ(フックナンバ)かレジスタ手段に
書き込まれ保持される。また、このポイント識別データ
は、従来通り、バグ・テーブルにリストされる。
CPUは、ンステムプログラム(ROMプログラム)の
実行において、各ポイントに達すると、そのポイントの
識別データを出力する。照合手段は、このCPUからの
ポイント識別データをし7スタ手段に保持されているポ
イント識別データと照合する。当該ポイントがバグ・テ
ーブルにリストされているものならば、すなわち当該ポ
イントと次のポイントとの間にバグがあるならば、その
ポイント識別データはレジスタ手段に登録(保持)され
ているはすであるから、照合手段より照合一致の照合結
果か得られ、この場合はバグ・テーブルにしたかって差
替用の部分プログラムか実行される。また、当該ポイン
トがバグ・テーブルにリストされていなければ、すなわ
ち当該ポイントと次のポイントとの間にバグがないなら
ば、そのポイント識別データはレジスタ手段に登録(保
持)されてはいないので、閑合不一致の照合結果か得ら
れ、この場合は本プログラム内で次の命令に入る。
本発明による照合は、当該ポイント識別データと各登録
ポイント識別データとの比較を並列的・同時的に行うこ
とによって、瞬時に実行される。
従来のようなバグ・チエツク・サブルーチンをソフトウ
ェア的に実行するのと比べて、格段に短い時間で済む。
したがって、本発明によれば、バグのないポイントでは
実質的に寄り道せずに本プログラムの実行を進めること
ができ、バグのあるポイントでは必要最小限の時間でR
AMの部分プログラムに差し替えることかできる。
また、CPUの動作として、各ポイントにおけるポイン
ト識別データの出力を書込サイクルで第1のレジスタ手
段に古き込んで、照合手段に上記のような照合を行わせ
、次に読出サイクルを実行し、そのサイクル゛で照合手
段の照合結果を割込の形で読み取るようにすると、命令
キューのあるCPUでも条件的な割込処理に切り替わる
ことができる。
[実施例] 以下、第1図ないし第3図を参照して本発明の一実施例
を説明する。
先ず、第2図に示すように、この実施例によるプログラ
ム・シーケンス制御装置18は、データ・バス12.読
出e書込制御線141割迷信号線16を介してシステム
のCPU (中央処理装置)10に接続される。
第1図は制御装置10の内部構成を示す。CPU18(
図示せず)からのデータ・バス12は、レジスタ20の
入力端子に接続されるとともに、N個のフックナンバ畳
レジスタRG1.・・・・、RGNの入力端子に接続さ
れる。そして、レジスタ20の出力端子は比較回路CP
I、・・・・、CPNの一方の入力端子に接続され、フ
ックナンバ・レジスタRGl、・・・・、RGNの出力
端子は比較回路cpt、・・・・。
CPNの他方の入力端子にそれぞれ接続され、比較器c
pt、・・・・、CPNの出力端子は割込要求出力回路
22の入力端子に接続される。
制御線に関して、CPU18からの書込制御線L4bは
レジスタ20の書込制御端子WRに接続され、続出制御
線14aは割込要求出力回路22の出力制御端子σ1−
に接続される。また、フックナンバ・レジスタRGL・
・・・、RGNの書込側@端子WRにはアドレス0デコ
ーダからの書込制御線AL+、・・・・、ALnか接続
される。
本システムのROM (図示せず)に格納されているプ
ログラムには、従来と同様に、予め複数のポイントか所
定の間隔をおいて設定される。そして、使用段階でバグ
が見つかる度に、それをデバグした部分プログラムを作
成し、第5図に示すようなバグ・テーブルにそのバグの
手前のポイントを識別するデータ(フックナンバ)hI
とそのバグに対応する部分プログラムPi゛の(RAM
上の)アドレスmiを逐次リストしてお(。たたし、従
来と異なり、バグ・チエツク・サブルーチンを備えない
。代わりに、バグの手前のポイントのフックナンバhi
をバグの発見された順序で逐次フックナンバ・レジスタ
RGI、・・・・RGNに書き込んでおく。この書き込
みにおいて、CPU18は、アドレス・デコーダおよび
制御線ALiを介して目的のフックナンバ・レジスタR
Gjを選択的に書込可能とし、データ・バス12を介し
て該レジスタRGjにフックナンバhjをロードする。
こうして、バグ・テーブル(第5図)にリストされてい
るフックナンバと同しポイント識別データかフックナン
バ・レジスタRGI、・・・・RGNに保持される。
しかして、第3図に示すように、ROMプログラムの実
行において、CPU18は、各ポイント(命令C)に達
したところで、そのフックナンバhiをデータ・バス1
2上に出力すると同時に書込制御信号WRをアクティブ
状態にすることにより、そのフックナンバh[をレジス
タ2oに書き込む。そうすると、その)、クナンバhi
はレジスタ20より比較器CPI、・・・・CPNに与
えられ、各比較器CPjにおいて、そのフックナンバh
1がフックナンバ・レジスタRGjに保持されているフ
ックナンバhj と比較される。しかして、当該ポイン
トのフックナンバh1がバグ・テーブルにリストされて
いるものならば、(すなわち、該ポイントの後にバグb
gがあるならば)、いずれかの比較器で比較−散(hi
=hj)が得られ)その比較器より“H”レベルの比較
一致信号か出力され、この信号は割込要求出力回路22
に入力される。しかし、このフックナンバhjかバグ・
テーブルにリストされていなければ、(すなわち、該ポ
イントの後にバグbgがないならば)、いずれの比較器
でも比較一致は得られず、したがって割込要求出力回路
22に“H”レベルの信号は入力されない。
一方、CPU18は、命令Cの次の命令c’でリード信
号RDをアクティブ(“L″)とし、これにより割込要
求出力回路22を出方可能状態とする。上記のようにい
ずれかの比較器より“H”レベルの比較一致仁号か出力
されていれば、割込要求出力回路22よりH”レベルの
信号が割込信号INT(またはNMI)か出力される。
CPU18は、この割込信号INT(NMI)を受は取
ったときは、RAMに格納されている差替用の部分プロ
グラムPl゛のアドレスmlにジャンプしその部分プロ
グラムP1゛を実行する。その結果、バグbglの実行
が回避される。このようなバグbgiが存在しないとき
は、割込要求出力回路22が割込信号INT(NMI)
を出力することはないので、CPU18の割込処理(差
替部分プログラムPiの実行処理)もなく、命令C“に
続けて次のROMアドレスの命令りの実行に移る。
このように、本実施例では、ROMプログラムの各ポイ
ントH1におけるバグ・チエツクは、その時CPU18
より発生されるフックナンバを、バグ−テーブルにリス
トされレジスタに保持されているフックナンバの全てと
ハードウェア的に同時に比較することによって瞬時に行
う。これにより、バグのないポイントでは順駄な時間を
費やすことかなく、バグのあるポイントでは必要最小限
の時間でRAMの部分プログラムに差し替えることがで
きる。
なお、本実施例において、CPU18は、ポイントHi
の命令(C)でフックナンバhiを出力した後、次の命
令C”でリードサイクルを実行することにより、制御回
路より割込信号を選択的に受ける。このように、リード
サイクルを挿入したのはCPUに命令キューがある場合
を考慮したためである。すなわち、命令キューのあるC
PUでは、命令Cのライト・サイクル中に割込を待つこ
となく次の命令をフェッチするので、それから割込が入
ってもCPUは割込処理に入れないという不具合が生ず
る。しかし、リードサイクルを挿入すると、このサイク
ル内でデータ取込みのための間があるので、割込が入っ
ても、これに応答することができる。
また、フックナンバ・レジスタRGの個数は任意に選ぶ
ことができる。動作モード(文字入力。
印字等)毎にフックナンバの入れ替えを行うことで、少
ない個数でも対応することが可能である。
[発明の効果] 本発明は、上述したような構成またはステップを何する
ことにより、次のような効果を奏する。
請求項1のプログラムシーケンス制tII装置によれば
、バグの手前に位置するポイントを識別するデータをレ
ジスタ手段に保持しておき、各ポイントでCPUより発
生させるポイント識別データと該レジスタ手段に保持し
ているポイント識別データとを照合し、その照合結果に
したがって選択的にCPUに対する割込信号を発生する
ことによりハードウェア的に瞬時にバグ−チエツクを行
うようにしたので、バグのないポイントでは無駄な時間
を費やすことなく本プログラムの実行を進めることがで
き、バグのあるポイントでは必要最小限の時間でRAM
の部分プログラムに差し替えることができる。したがっ
て、CPtJの処理速度が向上し、特にループ処理にポ
イントかある場合において大きな効果か得られる。
請求項2のプログラムシーケンス制御方法によれば、書
込サイクルでCPUにポイント識別データを発生させ、
次に読出サイクルでCPUに上記照合の結果を読み込ま
せるようにしたので、その照合結果次第で割込かかかっ
ても、CPtJはこれに応動して差替用の部分プログラ
ムに切り替わることができ、これにより、命令キューの
あるCPUでも上記のような本発明の効果が得られる。
【図面の簡単な説明】
第1図は、本発明の一実施例によるプログラムシーケン
ス制御装置の構成例を示すブロック図、第2図は、実施
例の制御装置とCPUとの接続構成を示すブロック図、 第3図は、実施例の作用を説明するためのプログラム図
、 第4図は、ROMプログラムのバグを回避するための通
常の方法を示すプログラム図、第5図は、RAMの部分
プログラムに差し替えるためのバグ・テーブルを示す図
、および第6図は、従来方式の作用を説明するためのプ
ログラム図である。 図面において、 10・・・・CPU。 18・・・・プログラムシーケンス制御装置、20・・
・・レジスタ、 RGI、〜RGn・・・・フックナンバ・レジスタ、C
Pl、〜CPn・・・・比較器、 22・・・・割込要求出力回路。 第2図 第3図 ROMブDグラム 第4図

Claims (2)

    【特許請求の範囲】
  1. (1)記憶装置に格納したプログラム内に予め複数のポ
    イントを所定の間隔をおいて設定し、CPUの実行が各
    ポイントに達した時にそのポイントと次のポイントとの
    間にバグが存在しているかどうか検査し、そのようなバ
    グが存在しているときは一時的に別の記憶装置に格納し
    た差替用の部分プログラムを実行して前記バグの実行を
    回避するようにしたコンピュータシステムにおいて、各
    バグの手前に位置するポイントを識別するデータを保持
    するレジスタ手段と、 各ポイントでCPUの発生するそのポイントを識別する
    データと前記レジスタ手段に保持されているポイント識
    別データとを照合する手段と、前記照合手段の照合結果
    にしたがって選択的にCPUに対して前記差替用の部分
    プログラムを実行させるための割込信号を発生する手段
    と、を具備したことを特徴とするプログラムシーケンス
    制御装置。
  2. (2)記憶装置に格納したプログラム内に予め複数のポ
    イントを所定の間隔をおいて設定し、CPUの実行が各
    ポイントに達した時にそのポイントと次のポイントとの
    間にバグが存在しているかどうか検査し、そのようなバ
    グが存在しているときは一時的に別の記憶装置に格納し
    た差替用の部分プログラムを実行して前記バグの実行を
    回避するようにしたコンピュータシステムにおいて、バ
    グの手前に位置するポイントを識別するデータを予め第
    1のレジスタ手段に保持しておき、各ポイントにてその
    ポイントを識別するデータをCPUに書込サイクルで発
    生させて第2のレジスタ手段に書き込み、 前記第2のレジスタ手段に書き込まれたポイント識別デ
    ータと前記第1のレジスタ手段に保持されているポイン
    ト識別データとを照合し、 前記書込サイクルの直後に読出サイクルで前記照合の結
    果をCPUに読み込ませ、照合一致の結果が得られたと
    きCPUに割込処理として前記差替用の部分プログラム
    を実行させる、 ようにしたことを特徴とするプログラムシーケンス制御
    方法。
JP2293413A 1990-10-30 1990-10-30 プログラムシーケンス制御方法及び装置 Pending JPH04165532A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2293413A JPH04165532A (ja) 1990-10-30 1990-10-30 プログラムシーケンス制御方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2293413A JPH04165532A (ja) 1990-10-30 1990-10-30 プログラムシーケンス制御方法及び装置

Publications (1)

Publication Number Publication Date
JPH04165532A true JPH04165532A (ja) 1992-06-11

Family

ID=17794452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2293413A Pending JPH04165532A (ja) 1990-10-30 1990-10-30 プログラムシーケンス制御方法及び装置

Country Status (1)

Country Link
JP (1) JPH04165532A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007159A (ja) * 2000-06-26 2002-01-11 Matsushita Electric Ind Co Ltd 半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007159A (ja) * 2000-06-26 2002-01-11 Matsushita Electric Ind Co Ltd 半導体装置

Similar Documents

Publication Publication Date Title
GB2329049A (en) A debugger interface unit for identifying selected exceptions
US7761744B2 (en) Debugging method
US20050229163A1 (en) Thread-scoped breakpoints
JPH04165532A (ja) プログラムシーケンス制御方法及び装置
JP2922723B2 (ja) 情報処理装置
US8108840B2 (en) Method for enhancing debugger performance of hardware assisted breakpoints
JP2944321B2 (ja) 論理評価システム
JP3356007B2 (ja) グラフィックスlsi
JP2738360B2 (ja) マルチタスクプログラムのデバッグ方法およびデバッグシステム
JP2616542B2 (ja) 疑似障害発生システム
JPS59183443A (ja) デバツグ装置
JP2001147830A (ja) リアルタイムosの状態変更方法
CN120386709A (zh) 一种数据代码调试方法及终端
JP2967741B2 (ja) Cpu互換性テスト装置
JP2570119B2 (ja) ソフトウェアシミュレータ
JP2002251296A (ja) デバッグ方式
JPH08241225A (ja) 評価装置
JPS6059446A (ja) プロセッサ試験方法
JPH05250207A (ja) デバッグ保守システム
JPS6167146A (ja) 擬似障害発生方式
JPH04287231A (ja) マイクロプロセッサ
JPH0784826A (ja) マイクロプロセッサ
JPH0272438A (ja) デバッグ方式
JPH04123235A (ja) マイクロプログラムのデバッグ方式及び方法
JPH0340143A (ja) パイプライン方式計算機におけるデバッグ方式