JPH0619740A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0619740A
JPH0619740A JP4192838A JP19283892A JPH0619740A JP H0619740 A JPH0619740 A JP H0619740A JP 4192838 A JP4192838 A JP 4192838A JP 19283892 A JP19283892 A JP 19283892A JP H0619740 A JPH0619740 A JP H0619740A
Authority
JP
Japan
Prior art keywords
program
instruction
queue
registered
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.)
Granted
Application number
JP4192838A
Other languages
English (en)
Other versions
JP2922723B2 (ja
Inventor
Hitoshi Watanabe
等 渡邊
Taku Nakamura
卓 中村
Satoshi Asada
聡 浅田
Tsuneaki Kadosawa
常明 角沢
Eiji Koga
英治 古賀
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP4192838A priority Critical patent/JP2922723B2/ja
Priority to US08/082,858 priority patent/US5481705A/en
Priority to EP93305080A priority patent/EP0577393B1/en
Priority to DE69327551T priority patent/DE69327551T2/de
Publication of JPH0619740A publication Critical patent/JPH0619740A/ja
Application granted granted Critical
Publication of JP2922723B2 publication Critical patent/JP2922723B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F11/362Software debugging

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)

Abstract

(57)【要約】 【目的】 プログラムの分岐先を任意の方向へ誤りなく
自動変更できる。 【構成】 登録手段23aによりステップ番号登録部1
0の実行待ちキューに実行すべき複数のステップの番号
が登録された状態で、デバッグプログラムに基づく分岐
先変更指示がなされたら、抹消手段23bがキューに登
録されていた実行されないステップの番号を抹消し、登
録手段23aが変更後のステップを抹消されたステップ
が登録された位置と同一位置に再登録する構成を特徴と
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリ内に記憶された
命令を順次読み出して実行する情報処理装置に関するも
のである。
【0002】
【従来の技術】従来、この種の装置において、分岐点を
有するプログラムのデバッグ中に、プログラムの流れを
通常の方向とは別の方向に分岐させる場合、従来の方法
では分岐点の手前でプログラムの実行を一時中断し、分
岐点で変数の値を変更する等の方法で分岐の方向を決定
する分岐条件を本来のものと変えることによって間接的
に分岐の方向を変更している。
【0003】
【発明が解決しようとする課題】この種のプログラム分
岐処理を実行する場合、すなわちプログラムの分岐方向
を変更する際、オペレ−タがプログラムの分岐条件を吟
味し、分岐したい方向に正しく分岐させるために変数の
内容等を手作業によって変更しなくてはならない。この
方法ではプログラムの分岐条件が複雑になると分岐条件
を吟味するのが大変になるだけでなく、分岐したい方向
へ分岐するためにどの変数をどのように変更すればよい
かを決定し、実際に変数の内容を変更するまで(変更す
る変数の数は1つとは限らない)全て手作業で行わなく
てはならないためオペレ−タの負担が増大し、オペレー
トミスの発生率が高くなる。また、変数の内容を変更し
たためにプログラムが別の部分で予期しない動作する可
能性も発生し、別のバグを誘発したり、機器制御プログ
ラムではシステム全体に重大な損害を与える等の問題点
があった。
【0004】本発明は、上記の問題点を解決するために
なされたもので、プログラムのデバッグ中に、分岐先変
更が指示された場合に、キューに登録されたステップの
番号を抹消し、抹消されたステップ番号とは異なるステ
ップ番号を同一位置に再登録することにより、プログラ
ムの分岐先を任意の方向へ誤りなく変更できる情報処理
装置を得ることを目的とする。
【0005】
【課題を解決するための手段】本発明に係る情報処理装
置は、デバッグプログラムに基づく分岐先変更指示状態
に応じてキューに登録されたステップの番号を抹消する
抹消手段を設け、登録手段が抹消手段により抹消された
ステップ番号とは異なるステップ番号を同一位置に再登
録するように構成したものである。
【0006】
【作用】本発明においては、登録手段によりキューに実
行すべき複数のステップの番号が登録された状態で、デ
バッグプログラムに基づく分岐先変更指示がなされた
ら、抹消手段がキューに登録されていた実行されないス
テップの番号を抹消し、登録手段が変更後のステップを
抹消されたステップが登録された位置と同一位置に再登
録することにより、プログラムの分岐先を任意の方向へ
誤りなく変更することを可能とする。
【0007】
【実施例】図1は本発明の一実施例を示す情報処理装置
の構成を説明するブロック図であり、20はデータまた
は演算の結果を一時的に記憶するレジスタ、21はプロ
グラムまたはデータを記憶するメモリであり、プログラ
ムとしてユーザプログラムおよびモニタプログラムが記
憶される。メモリ21に記憶されたプログラムはバス2
4を通じて命令デコーダ22に送出されて解釈され、そ
の解釈結果が命令実行部23に送られて実行される。な
お、本実施例におけるステップとは、プログラムの処理
の最小分割単位を示し、ステップの集合によりプログラ
ムが構成される。
【0008】このように構成された情報処理装置におい
て、登録手段23aによりキュー(ステップ番号登録部
10の実行待ちキュー)に実行すべき複数のステップの
番号が登録された状態で、デバッグプログラムに基づく
分岐先変更指示がなされたら、抹消手段23bがキュー
に登録されていた実行されないステップの番号を抹消す
ることにより、登録手段23aが変更後のステップを抹
消されたステップが登録された位置と同一位置に再登録
し、プログラムの分岐先を任意の方向へ誤りなく変更す
る。
【0009】図2は、図1に示した情報処理装置で処理
されるステップの形式を説明する模式図である。
【0010】図において、30はオペコード部で、実行
すべき命令の種類が規定される。31はオペランド部
で、実行すべき命令の詳細が規定される。32は終了部
で、次に実行すべきステップの番号が規定される。
【0011】本実施例の情報処理装置では図2に示す形
式によりステップが規定されているので、モニタはオペ
コード部30を参照して実行すべき命令の種類を識別す
る。次に、モニタプログラムは、オペランド部31を参
照して実行すべき命令の詳細を知り、実行すべき命令の
種類と合せてCPUに何をさせるかを決定し、CPUに
対して該当する命令群を与える。終了部32にはそのス
テップの次に実行すべきステップの番号が記されてお
り、モニタプログラムは終了部32を参照することによ
り、次に実行すべきステップを知ることができる。
【0012】図3は、図1に示した命令実行部23にお
ける命令実行待ちキューの構成を説明する模式図であ
る。
【0013】図において、10はその時点で実行待ちの
状態にあるステップ番号が登録されるステップ番号登録
部である。11はその時点で実行中のステップを示すリ
ードキューポインタである。12は次に登録されるステ
ップのステップ番号が登録される場所を示すライトキュ
ーポインタである。13はプログラムの分岐先を変更す
る際に、変更に伴い実行が取り消されるステップのステ
ップ番号を実行待ちキューより探し出し、代わりにステ
ップ番号が登録されるまで、実行待ちキューのその位置
を保持しておくためのサーチキューポインタ、14はサ
ーチキューポインタホームポジションである。
【0014】以下、図4に示すフローチャートを参照し
ながら本発明に係る情報処理装置における命令実行処理
動作について説明する。
【0015】図4は本発明に係る情報処理装置における
プログラム実行管理処理の一例を示すフローチャートで
ある。なお、(1) 〜(7) は処理ステップ(上述したステ
ップとは異なる概念を表わす)を示す。また、実行待ち
キューにはあるステップが既に登録されている(図3に
示したリードキューポインタ11とライトキューポイン
タ12が一致していない状態)ものとする。
【0016】先ず、モニタプログラムは実行待ちステッ
プがあるかどうかをチェックし(1)、実行待ちステップ
がある場合、モニタプログラムはリードキューポインタ
11とサーチキューポインタ13が一致しているかどう
かを調べ(2) 、一致していたら一致しなくなるまで待機
し、次いで、モニタプログラムはリードキューポインタ
11の示す位置よりステップ番号を読み出す(3) 。次い
で、モニタプログラムは読み出したステップ番号に相当
するステップを図示しないCPUに実行させる(4) 。次
いで、当該ステップの実行が終了したら、モニタプログ
ラムは図2に示した終了部32を参照してそのプログラ
ムにおいてそのステップの次に実行すべきステップ番号
を知り、ライトキューポインタ12の示す位置に書き込
む(5) 。
【0017】次いで、ライトキューポインタ12を1つ
インクリメントする(6) 。この時、ライトキューポイン
タ12が実行待ちキューの最終段を越える時には、実行
待ちキューの先頭に戻るようにライトキューポインタ1
2に実行待ちキューの先頭アドレスを代入する。次い
で、リードキューポインタ11を1つインクリメントす
る(7) 。この時、リードキューポインタ11が実行待ち
キューの最終段を越える時には、実行待ちキューの先頭
に戻るようにリードキューポインタ11に実行待ちキュ
ーの先頭アドレスを代入する。次いで、処理ステップ
(1) に戻り、戻り実行待ちステップがあるかどうかをチ
ェックし、実行待ちステップがあれば上記処理ステップ
を繰り返し、処理ステップ(1) において、実行待ちステ
ップがなければ処理を終了する。
【0018】図5は本発明に係る情報処理装置における
分岐先変更処理の一例を示すフローチャートである。な
お、(1) 〜(5) は処理ステップ(上述したステップとは
異なる概念を表わす)を示す。また、このプロセスは図
4に示したプログラム実行管理のプロセスとは全く別の
プロセスで、両者は並列に実行される。デバッガより分
岐先の変更が指示されるとモニタプログラムは分岐先変
更のプロセスを起動する。
【0019】先ず、モニタプログラムは分岐先変更が指
示されているかどうかを判定し(1)、YESならばサー
チキューポインタ13をサーチキューポインタホームポ
ジション14から実行待ちキューの先頭に移し、サーチ
キューポインタ13をインクリメントしながら変更前の
ステップを実行待ちキューより探す(2) 。そして、変更
前のステップを見付けたらサーチキューポインタ13を
その位置に留め、変更前のステップを実行待ちキューよ
り抹消する(3) 。次いで、変更後のステップをサーチキ
ューポインタ13の示す位置に登録し(4) 、ステップ
(1) に戻る。次いで、別の分岐先変更指示があるかどう
かをチェックし(1) 、あれば上記処理ステップを繰り返
し、なければサーチキューポインタ13をサーチキュー
ポインタホームポジション14に戻し(5) 、処理を終了
する。
【0020】図6は本発明に係る情報処理装置における
プログラムの分岐先変更推移を説明する模式図である。
図において、60〜68は処理順位を示す。
【0021】処理順位60から処理が開始されると、本
来ならば処理順位61〜65という順序、すなわち矢印
Aに沿った処理が行われるとする。この時、処理順位6
1に示すステップ1が実行された後、処理順位62に示
す分岐ノードが実行され、分岐条件を判定し、実行待ち
キューに処理順位63に示すステップ2が登録される。
通常ならば、この後処理順位63に示すステップ2が実
行される前に分岐先の変更が指示され、処理順位63の
ステップ2の代わりに処理順位66に示すステップ3を
実行するように指定されると、図5に示した流れのよう
な分岐先変更プロセスが起動される。分岐先変更プロセ
スは図6の例では実行待ちキューのなかから処理順位6
3に示すステップ2をサーチキューポインタ13をイン
クリメントしながらキューの内容を1つずつ読み出すこ
とによってサーチする。実行待ちキューのなかにステッ
プ2を発見したらサーチキューポインタ13を実行待ち
キューのその位置に留保し、実行待ちキューからステッ
プ2を抹消する。次に、処理順位66に示すステップ3
を実行待ちキューのサーチキューポインタ13の示す位
置に登録し、サーチキューポインタ13をサーチキュー
ポインタホームポジション14に戻し、分岐先変更プロ
セスは処理を終了する。このあとは、通常通り、プログ
ラム実行管理プロセスがリードキューポインタ11の示
すステップ番号を実行待ちキューより読み出して実行し
て行く。処理順位66のステップ3が実行されるとステ
ップ3の終了部より、処理順位67のステップ5が実行
待ちキューに登録されて実行される。以上の処理によっ
て、図6においてプログラムの流れが矢印Aから矢印B
に変更される。 〔他の実施例〕上記実施例においては、次に実行すべき
ステップを登録する場所とキューの形態で複数用意して
いるが、これは1つのCPUで擬似並列処理を実現する
ためにとられた手段であって、本発明においては本質的
ではない。キューの形式をとらず、次実行ステップ登録
部という形で1つのステップしか登録できないシステム
においても本発明は有効である。
【0022】また、上記実施例においては、プログラム
は処理の最小単位であるステップからなるとしている
が、これも本発明にとって本質的でなくステップの集合
をサブプログラムとし、サブプログラムの集合をプログ
ラムとするような階層構造を持ったプログラムに対して
も容易に適用できる。
【0023】さらに、上記実施例においては、ステップ
が図2に示した構成をとり、モニタプログラムがその内
容を解釈してCPUに対して該当する命令群を与える、
いわゆるインタプリタ形式を採用しているが、これも本
発明において本質的でなく、いわゆるコンパイラ形式で
も各ステップの一部に次に実行すべきステップの情報を
埋め込むことによって、各ステップを実行した後、次に
実行するステップを実行待ちキューに登録することが容
易にできるので、本発明を適用することは容易である。
【0024】
【発明の効果】以上説明したように、本発明は登録手段
によりキューに実行すべき複数のステップの番号が登録
された状態で、デバッグプログラムに基づく分岐先変更
指示がなされたら、抹消手段がキューに登録されていた
実行されないステップの番号を抹消し、登録手段が変更
後のステップを抹消されたステップが登録された位置と
同一位置に再登録する構成としたので、プログラムの分
岐先を任意の方向へ誤りなく変更することができる。
【0025】従って、従来のようにプログラムの分岐条
件他変数の内容を手作業で変更するといった煩雑な操作
が不要となり、オペレ−タの負担が大幅に軽減される。
また、変数の内容を変更する必要がないので、変数の内
容の変更に伴う、新たなバグを誘発するといった事態も
確実に回避でき、分岐点を持つプログラムを効率よくデ
バックすることができる等の効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例を示す情報処理装置の構成を
説明するブロック図である。
【図2】図1に示した情報処理装置で処理されるステッ
プの形式を説明する模式図である。
【図3】図1に示した命令実行部における命令実行待ち
キューの構成を説明する模式図である。
【図4】本発明に係る情報処理装置におけるプログラム
実行管理処理の一例を示すフローチャートである。
【図5】本発明に係る情報処理装置における分岐先変更
処理の一例を示すフローチャートである。
【図6】本発明に係る情報処理装置におけるプログラム
の分岐先変更推移を説明する模式図である。
【符号の説明】
20 レジスタ 21 メモリ 22 命令デコーダ 23 命令実行部 24 バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 角沢 常明 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 古賀 英治 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプログラムとデータを保持するメ
    モリと、前記プログラム中の命令を解釈する命令解釈部
    と、この命令解釈部により解釈された命令を実行する命
    令実行部と、実行すべき複数のステップの番号を記憶す
    るためのキューと、このキューに実行すべき複数のステ
    ップの番号を登録する登録手段と、この登録手段により
    登録されたステップの番号を読み出す読出し手段と、こ
    の読出し手段により読み出されたステップ番号から該当
    するステップのなすべき処理を解釈する解釈手段と、こ
    の解釈手段によって解釈された内容に従って前記命令解
    釈部に命令を実行させる命令実行手段とを有する情報処
    理装置において、デバッグプログラムに基づく分岐先変
    更指示状態に応じて前記キューに登録されたステップの
    番号を抹消する抹消手段を設け、前記登録手段が前記抹
    消手段により抹消されたステップ番号とは異なるステッ
    プ番号を同一位置に再登録するように構成したことを特
    徴とする情報処理装置。
JP4192838A 1992-06-29 1992-06-29 情報処理装置 Expired - Fee Related JP2922723B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4192838A JP2922723B2 (ja) 1992-06-29 1992-06-29 情報処理装置
US08/082,858 US5481705A (en) 1992-06-29 1993-06-28 Method for executing a program with branch-to modifying instructions
EP93305080A EP0577393B1 (en) 1992-06-29 1993-06-29 Method for executing a program
DE69327551T DE69327551T2 (de) 1992-06-29 1993-06-29 Verfahren zur Programmausführung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4192838A JP2922723B2 (ja) 1992-06-29 1992-06-29 情報処理装置

Publications (2)

Publication Number Publication Date
JPH0619740A true JPH0619740A (ja) 1994-01-28
JP2922723B2 JP2922723B2 (ja) 1999-07-26

Family

ID=16297823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4192838A Expired - Fee Related JP2922723B2 (ja) 1992-06-29 1992-06-29 情報処理装置

Country Status (4)

Country Link
US (1) US5481705A (ja)
EP (1) EP0577393B1 (ja)
JP (1) JP2922723B2 (ja)
DE (1) DE69327551T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4058997A (en) * 1996-08-07 1998-02-25 Intrinsa Corporation Simulated program execution error detection method and apparatus
US5790778A (en) * 1996-08-07 1998-08-04 Intrinsa Corporation Simulated program execution error detection method and apparatus
JPH10214203A (ja) * 1997-01-29 1998-08-11 Nec Corp 情報処理装置
US7731904B2 (en) * 2000-09-19 2010-06-08 Canon Kabushiki Kaisha Method for making probe support and apparatus used for the method
KR100450419B1 (ko) * 2002-02-18 2004-09-30 한국전자통신연구원 데이터베이스 시스템에서 다중 쓰레드로 동작하는클라이언트 라이브러리 동작방법
DE10352172A1 (de) * 2003-11-05 2005-06-09 Robert Bosch Gmbh Verfahren und Vorrichtung zur Anpassung von Funktionen zur Steuerung von Betriebsabläufen
KR100986848B1 (ko) * 2006-11-29 2010-10-08 캐논 가부시끼가이샤 화상 형성 장치, 통신 장치, 및 카트리지
JP5473643B2 (ja) * 2010-02-04 2014-04-16 キヤノン株式会社 電源装置及びそれを使用する画像形成装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439828A (en) * 1981-07-27 1984-03-27 International Business Machines Corp. Instruction substitution mechanism in an instruction handling unit of a data processing system
JPH0789319B2 (ja) * 1985-04-22 1995-09-27 株式会社日立製作所 デ−タ処理装置における先行制御装置
JPH0752390B2 (ja) * 1985-05-07 1995-06-05 株式会社日立製作所 命令処理装置
US5263153A (en) * 1987-01-22 1993-11-16 National Semiconductor Corporation Monitoring control flow in a microprocessor
JPH081602B2 (ja) * 1988-02-23 1996-01-10 三菱電機株式会社 データ処理装置
EP0402524B1 (en) * 1988-11-25 1996-10-02 Nec Corporation Microcomputer capable of quickly processing a branch instruction code
US5034880A (en) * 1988-12-22 1991-07-23 Wang Laboratories, Inc. Apparatus and method for executing a conditional branch instruction
US5072364A (en) * 1989-05-24 1991-12-10 Tandem Computers Incorporated Method and apparatus for recovering from an incorrect branch prediction in a processor that executes a family of instructions in parallel

Also Published As

Publication number Publication date
EP0577393A1 (en) 1994-01-05
EP0577393B1 (en) 2000-01-12
JP2922723B2 (ja) 1999-07-26
DE69327551D1 (de) 2000-02-17
DE69327551T2 (de) 2000-05-25
US5481705A (en) 1996-01-02

Similar Documents

Publication Publication Date Title
US6052774A (en) Apparatus and method for identifying exception routines indicated by instruction address issued with an instruction fetch command
KR20020022068A (ko) 향상된 마이크로프로세서에서의 스케줄링을 향상시키는방법 및 장치
JP2922723B2 (ja) 情報処理装置
JP7079241B2 (ja) 処理回路による命令実行を示すトレースストリームを生成し処理するための装置および方法
JPH10214203A (ja) 情報処理装置
JP2001306334A (ja) エミュレーション装置
JP2671160B2 (ja) 例外処理方式
JP7474779B2 (ja) 命令順序付け
JPH06149569A (ja) レジスタ番号変更装置
JP3012618B1 (ja) 被検査プログラムのデバグ方法とそのデバグ方式
JP3110391B2 (ja) プログラム再実行方法
JPH08320813A (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
JP3428253B2 (ja) シーケンサ
JPH0561717A (ja) プログラムデバツグ装置
JPH05324393A (ja) デバッグ方式
JP2002073347A (ja) 例外処理方法及びコンパイラ
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JP3079238B2 (ja) デバッグ装置
JP2504570B2 (ja) 記憶領域の書き込み検査処理方法
JPH07210420A (ja) スレッド環境におけるデバッグ方法
JPH11110253A (ja) プログラムデバッグ装置およびデバッグ方法
JPH07281924A (ja) トレース装置及びこれを備えたエミュレータ
JPH0287237A (ja) Execute命令制御方式
JPH11288371A (ja) インサーキットエミュレータ
JPH01140239A (ja) 命令実行アドレス保存処理方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120430

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees