JP2003256237A - 割り込み発生装置、割り込み発生方法および割り込み発生プログラム - Google Patents

割り込み発生装置、割り込み発生方法および割り込み発生プログラム

Info

Publication number
JP2003256237A
JP2003256237A JP2002051818A JP2002051818A JP2003256237A JP 2003256237 A JP2003256237 A JP 2003256237A JP 2002051818 A JP2002051818 A JP 2002051818A JP 2002051818 A JP2002051818 A JP 2002051818A JP 2003256237 A JP2003256237 A JP 2003256237A
Authority
JP
Japan
Prior art keywords
interrupt
address
interrupt generation
value
generation
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
JP2002051818A
Other languages
English (en)
Inventor
Atsushi Ueno
篤 上野
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
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002051818A priority Critical patent/JP2003256237A/ja
Publication of JP2003256237A publication Critical patent/JP2003256237A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 さまざまなアドレスに、さまざまなタイミン
グで割り込みを発生させることを可能にする。 【解決手段】 (a)割り込みを発生させる割り込み発
生アドレスを記憶する割り込み発生アドレス記憶手段
と、(b)割り込み発生装置の外部に設けられた外部ア
ドレス記憶手段のアドレスと割り込み発生アドレスとを
比較し、これら2つのアドレスが一致したらアドレス一
致信号を出力する比較手段と、(c)発生させる割り込
みの種類を示す割り込み信号を記憶する割り込み信号記
憶手段と、(d)アドレス一致信号を受け取った場合に
割り込み信号を出力する割り込み信号出力手段と、を具
備する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、中央処理装置(C
PU)、マイクロ・プロセッシング・ユニット(MP
U)などに対する割り込み発生装置、割り込み発生方法
および割り込み発生プログラムに関する。
【0002】
【従来の技術】プロセッサの内部または外部で発生する
事象に対する即応性を必要とされる組み込み機器におい
ては、ある処理を行うソフトウェアが実行されていると
きに、所定の事象が起きたら、割り込み信号を発生させ
て、実行中のソフトウェアを中断し、割り込み処理を行
うソフトウェアが実行されることがある。所定の事象に
は、入出力処理の終了、タイマーの時間切れ、ハードウ
ェアの障害、0による割り算やオーバーフローなどが含
まれる。
【0003】
【発明が解決しようとする課題】しかしながら、割り込
み処理を行うソフトウェアについてバグの有無などを検
査する場合、割り込みを任意の時点で発生させることは
難しく、割り込みの発生もまばらである。このため、検
査の質を向上するためには、割り込み処理ソフトウェア
を呼び出すソフトウェアを長時間実行させなければなら
ない。また、長時間実行させても、偏り無く割り込みを
発生させることが難しいため、検査の質を充分に向上さ
せることができるとは限らない。
【0004】
【課題を解決するための手段】本発明は、上記課題を解
決するためになされたものであり、その第1の特徴は
(a)割り込みを発生させる割り込み発生アドレスを記
憶する割り込み発生アドレス記憶手段と、(b)割り込
み発生装置の外部に設けられた外部アドレス記憶手段の
アドレスと前記割り込み発生アドレスとを比較し、これ
ら2つのアドレスが一致したらアドレス一致信号を出力
する比較手段と、(c)発生させる割り込みの種類を示
す割り込み信号を記憶する割り込み信号記憶手段と、
(d)前記アドレス一致信号を受け取った場合に前記割
り込み信号を出力する割り込み信号出力手段と、を具備
することにある。
【0005】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態を説明する。なお、既に説明した構成要素
と同一の構成要素には同一の番号を付して説明を省略す
ることによって、説明が重複することを避ける。
【0006】(第1の実施の形態)図1は、本発明の第
1の実施の形態にかかる割り込み発生装置の全体構成を
示す機能ブロック図であり、図2は、第1の実施の形態
における処理の流れを示すフローチャートである。
【0007】図1に示すように、第1の実施の形態にか
かる割り込み発生装置100は、(a)割り込みを発生
させる割り込み発生アドレスを記憶するIPCレジスタ
104と、(b)IPCレジスタ104が記憶するアド
レスと、割り込み発生装置100の外部に設けられたプ
ログラムカウンタ112が記憶するアドレスとを比較
し、これら2つのアドレスが一致する場合にアドレス一
致信号を出力するコンパレータ102と、(c)発生さ
せる割り込みの種類を示す割り込み信号を記憶するIN
Tレジスタ106と、(d)コンパレータ102からア
ドレス一致信号を受け取ったら、割り込み信号を出力す
る割り込み信号送出部108と、を具備する。
【0008】IPCレジスタ104およびINTレジス
タ106の値は、レジスタ設定装置120によって設定
される。
【0009】プログラムカウンタ112は、割り込み発
生装置100内ではなくプロセッサコア110内に設け
られる。プログラムカウンタ112は、制御レジスタの
一つで、プログラムの実行順序を制御するためのもので
あり、次にフェッチされ、デコードされ、実行される命
令が記憶されているアドレスを記憶する。
【0010】レジスタ設定装置120は、IPCレジス
タ104にアドレスを、またINTレジスタ106に割
り込み信号の種類を示す番号を書き込む装置であり、い
わゆるデバッグモニタに相当する。
【0011】以下、プロセッサコア110が10000
番地の命令を実行した場合に、5番の割り込みを発生さ
せる場合を例として、第1の実施の形態を具体的に説明
する。
【0012】まず、レジスタ設定装置120を用いて、
IPCレジスタ104の値を「10000」、INTレ
ジスタ106の値を「5」と設定する(ステップS20
1)。
【0013】コンパレータ102は、プログラムカウン
タ112の値とIPCレジスタ104の値とを比較する
(ステップS203)。2つの値が一致しない場合は、
特に何もしない、つまりプロセッサコア110の処理が
継続実行される(ステップS205)。
【0014】2つの値が一致する場合、コンパレータ1
02は、割り込み信号送出部108に「真」の信号を出
力する(ステップS207)。
【0015】コンパレータ102から「真」の信号を受
け取った割り込み信号送出部108は、INTレジスタ
106に記憶されている値「5」を、割り込みコントロ
ーラ109に送る(ステップS209)。
【0016】割り込みコントローラ109が、割り込み
信号送出部108から受け取った割り込み信号を、通常
の割り込み信号と同様に扱うようにしておくことによっ
て、任意のアドレス実行時に、任意の割り込みを発生さ
せることが可能になる。
【0017】つまり、仮に割り込み信号「5」が、キー
ボードのキーが押されたという事象に対応する割り込み
信号であるとすると、割り込み信号送出部108は、キ
ーボードコントローラ(図示せず)が発生する割り込み
信号と同一の割り込み信号を、キーボードコントローラ
に代わって、割り込みコントローラ109中の所定のア
ドレス」にセットする。ここで「割り込みコントローラ
109中の所定のアドレス」とは、「本来なら、キーボ
ードコントローラが割り込み信号をセットするアドレ
ス」という意味である。
【0018】上記の如く、第1の実施の形態において
は、任意のアドレス実行時に、任意の割り込みを発生さ
せることが可能になる。
【0019】(第2の実施の形態)図3は、第2の実施
の形態にかかる割り込み発生装置の全体構成を示す機能
ブロック図であり、図4は、第2の実施の形態における
処理の流れを示すフローチャートである。
【0020】第2の実施の形態においては、図16に例
示したプログラムがプログラム作成者の意図したように
動作するかどうかを、プログラムを実際に実行させるこ
とによって確認する。
【0021】第2の実施の形態にかかる割り込み発生装
置は、第1の実施の形態にかかる割り込み発生装置にさ
らに (a)割り込み発生の対象とする関数名、発生させる割
り込みの種類を示す割り込み信号およびブレークポイン
トのアドレスを入力する入力手段306と、(b)デバ
ッグ情報を読み取り、関数名が示す関数の開始アドレス
と終了アドレスを抽出するデバッグ情報読み取り手段3
08と、(c)ブレイクポイントに到達した場合に関数
の終了アドレスとIPC104が記憶しているアドレス
とを比較し、これら2つのアドレスが一致するかを判定
する終了判定手段310と、(d)終了判定手段310
が、IPC104が記憶している割り込み発生アドレス
と関数の終了アドレスとが一致しないと判断した場合
に、IPC104に書き込まれる割り込み発生アドレス
の値を1ずつ増加させるIPCインクリメント手段30
4と、(e−1)入力手段306から受け取った割り込
み信号をINTレジスタ106に書き込み、(e−2)
デバッグ情報読み取り手段308から受け取った関数の
開始アドレスをIPCレジスタ104に書き込み、(e
−3)IPCインクリメント手段304から増加済みア
ドレスを受け取った場合に、この増加済みアドレスを新
たな割り込み発生アドレスとしてIPCレジスタ104
に書き込み、かつプログラムカウンタ112の値を初期
値に戻すレジスタ読み書き手段302と、を具備する。
【0022】デバッグ情報312には、プログラムに含
まれる関数名と、その開始アドレスと終了アドレスが含
まれる。以下に、デバッグ情報の一例を示す。
【0023】 関数名 開始アドレス 終了アドレス output 0x10000 0x1ffff line 0x20000 0x2ffff main 0x30000 0x3ffff int5 0x40000 0x4ffff int6 0x50000 0x5ffff 図16に示したプログラムは、関数mainから実行が開始
される。また、割り込み信号5番の割り込みが発生した
場合は、関数int5から実行が開始されるように設定さ
れているものとする。関数int5が実行され、関数int5
の処理が終了すると、割り込みが発生した時点の状態に
戻り、割り込まれた処理が再開される。
【0024】図3および図4に基づいて、第2の実施の
形態を説明する。まず、ステップS401では、入力装
置306に割り込み発生対象となる関数名(例えば、"o
utput")およびINTレジスタ106の値(例えば、"
5")が入力され、レジスタ読み書き手段302はこれ
ら関数名および値を取得する。
【0025】ステップS403では、デバッグ情報読み
取り装置308は、入力装置306に入力された関数の
開始アドレスと終了アドレスを、デバッグ情報312か
ら読み取る。
【0026】ステップS405では、レジスタ読み書き
手段302は、デバッグ情報312から受け取った関数
の開始アドレス(例えば、"10000番地")をIPCレジ
スタ104に設定し、また入力装置306に入力された
INTの値(例えば、"5")をINTレジスタ106に
設定する。つまり、IPCレジスタ104の設定値が1
0000、INTレジスタ106の設定値が5となる。
【0027】ステップS407では、デバッグ対象プロ
グラムを先頭アドレスから実行させる。具体的には、プ
ログラムカウンタ112にデバッグ対象プログラムの先
頭アドレスが設定される。
【0028】ステップS409では、図2に示した第1
の実施の形態にかかるフローチャートのステップS20
3,205,207および209からなる第1の割り込
み発生処理を実行する。つまり、デバッグ対象プログラ
ムの処理が進み、コンパレータ102がプログラムカウ
ンタ112の値とIPCレジスタ104の値とを比較す
る(ステップS203)。この時IPCレジスタ104
にはステップS403で取得された関数の開始アドレス
("10000番地")が設定されている。
【0029】プログラムカウンタ112の値とIPCレ
ジスタ104の値とが一致しない場合は、割り込みは発
生せず、デバッグ対象プログラムの実行が継続される
(ステップS205)。デバッグ対象プログラムの実行
が継続されている間、プログラムカウンタ112の値は
順次増加する。
【0030】プログラムカウンタ112の値とIPCレ
ジスタ104の値とが一致した場合は、コンパレータ1
02は割り込み信号送出部108に「真」の信号を出力
する(ステップS207)。割り込み信号送出部108
は、INTレジスタ106の値を割り込みコントローラ
109に送る(ステップS209)。
【0031】ステップS411では、プログラムが予め
設定されているブレークポイントに到達したかを判断す
る。ブレークポイントに到達していなければNOに分岐
して、ブレークポイントに到達したならばYESに分岐
する。
【0032】本実施の形態においては、ブレイクポイン
トは、メモリ上の所定のアドレスにブレーク発生命令
(デバッグ例外を発生させる命令)を書き込むことによ
り実現するものとする。ただし、デバッグ例外を発生さ
せるアドレスを記憶するブレークポイント・レジスタ
と、このブレークポイント・レジスタの値とプログラム
カウンタの値とを比較するコンパレータとを具備するこ
とにより、所定のアドレスにデバッグ例外を発生させる
としても良い。
【0033】ステップS413では、IPCレジスタ1
04の値を1増加させる。つまり、IPCレジスタ10
4の値は、「10000+1」となる。
【0034】ステップS415では、終了判定手段31
0は、IPCレジスタの設定値が、ステップS403で
取得した割り込み発生対象関数の終了アドレスを超えて
いないかを判断する。終了アドレスを超えていなかった
らYESに分岐し、終了アドレスを超えていたらNOに
分岐する。
【0035】IPCレジスタの値が「0x10001」
のときは、関数の終了アドレス「0x1ffff」を超
えていないと判断され、ステップS407に戻り、図1
6に示したプログラムが再度先頭アドレスから実行され
る。
【0036】ステップS413では、IPCレジスタ1
04の設定値が順次インクリメントされる。
【0037】ステップS415では、IPCレジスタ1
04の設定値が、割り込み発生の対象となる関数の終了
アドレスを超えるまで、上記処理が繰り返される。この
ようにして、割り込み発生の対象となる関数の開始アド
レスから終了アドレスまでの全てのアドレスについて、
順々に割り込みを発生させることが可能となる。
【0038】そして、図16に示すように、関数mai
nの出力は「1,AAAAAAAAAA」、関数int
5の出力は「2,BBBBBBBBBB」となるように
プログラミングされている。よって、関数main実行
中に5番の割り込みが発生したら、 1,AAAAAAAAAA 2,BBBBBBBBBB または 2,BBBBBBBBBB 1,AAAAAAAAAA という出力が得られると期待される。
【0039】しかるに、第2の実施の形態によって、関
数内に順次割り込みを発生させたときに、 2,BBBBBBBBBB 1,BBBBBBBBBB という出力がなされた場合、プログラムの不具合が存在
することを発見することができる。
【0040】つまり、第2の実施の形態によれば、指定
した関数の開始アドレスから終了アドレスまでの全ての
アドレスに漏れなく、割り込みを発生させることが可能
となり、プログラムの不具合を漏れなく発見することが
容易にできる。
【0041】なお、第2の実施の形態では、所定の関数
の開始アドレスから終了アドレスへ向かってアドレスの
値を1ずつ増加させることによって、漏れなく割り込み
を発生させている。しかし、所定の関数の終了アドレス
から開始アドレスへ向かってアドレスの値を1ずつ減少
させることによって、漏れなく割り込みを発生させると
しても良い。また、所定の関数の開始アドレスから終了
アドレスまでの間の全てのアドレスに割り込みを発生さ
せる必要がない場合は、アドレスの値を2またはそれ以
上の値ずつ増加または減少させるとしても良い。
【0042】(第3の実施の形態)図7は、第3の実施
の形態にかかる割り込み発生装置の全体構成を示す機能
ブロック図であり、図8は、第3の実施の形態における
処理の流れを示すフローチャートである。図5または図
6は、第3の実施の形態の変形例にかかる割り込み発生
装置の全体構成を示す機能ブロック図である。
【0043】第3の実施の形態は、複数の割り込みレベ
ルと複数の割り込み要因を有する割り込み発生装置50
0に関する。
【0044】図7に示すように、割り込み発生装置50
0においては、(a)IPCレジスタ502は、少なく
とも第1および第2の割り込み発生アドレス記憶要素I
PC(0)、(1)を備え、(b)INTレジスタ51
0は、少なくとも第1および第2の割り込み信号記憶要
素INT(0)、(1)を備え、さらに、割り込み発生
装置500は、(c)複数のIPC(0)〜(n)のい
ずれか1つ、および複数のINT(0)〜(n)のいず
れか1つを指し示す指示値を記憶するインデックスレジ
スタ504と、(d)複数のIPC(0)〜(n)の中
から、指示値に対応する記憶要素を1つ選択し、選択さ
れた記憶要素に記憶されている割り込み発生アドレスを
コンパレータ102へ出力する第1のセレクタ506
と、(e)複数のINT(0)〜(n)の中から、指示
値に対応する記憶要素を1つ選択し、選択された記憶要
素に記憶されている割り込み信号を割り込み信号送出部
108へ出力する第2のセレクタ512と、(f)コン
パレータ102から出力されたアドレス一致信号を受け
取った場合にインデックスレジスタ504の指示値を変
更するインデックスバッファ508と、を具備する。
【0045】INTレジスタ510が記憶可能な割り込
み信号の数は、IPCレジスタ502が記憶可能な割り
込みアドレスの数と同数であることが好ましい。例え
ば、IPCレジスタ502が(n+1)個の値を記憶す
ることができる場合は、INTレジスタ510も(n+
1)個の値を記憶することが好ましい。このようにする
ことによって、各割り込みアドレスに応じて、異なる割
り込み信号を発生させることが可能になる。ここで、n
は任意の自然数を表す。
【0046】なお、図5に示すように、割り込み発生ア
ドレス記憶要素IPC(x)のみを複数とし、割り込み
信号記憶要素INT(x)は単数としても良い。この場
合は、割り込みが発生するアドレスにかかわらず、発生
する割り込みの種類は同じである。
【0047】また、図6に示すように、割り込み発生ア
ドレス記憶要素IPC(x)は単数とし、割り込み信号
記憶要素INT(x)のみを複数としても良い。この場
合は、割り込みが発生するアドレスは固定されている
が、発生する割り込みの種類はインデックスレジスタ5
04に記憶されている指示値に応じて変化する。
【0048】図7に示すように、第1のセレクタ506
と第2のセレクタ512とは、インデックスレジスタ5
04に接続され、インデックスレジスタ504から指示
値を受け取る。第1のセレクタ506と第2のセレクタ
512とが、同一の指示値を受け取る場合、第1のセレ
クタ506からIPC(m)に記憶されている値が出力
されるとき、第2のセレクタ512からINT(m)に
記憶されている値が送出される。ここで、mは1以上n
以下の自然数を表す。
【0049】図7および図8に基づいて、第3の実施の
形態を説明する。まず、ステップS601では、レジス
タ設定装置520が、IPCレジスタ(0)〜(n)、
INTレジスタ(0)〜(n)およびインデックスバッ
ファ508のそれぞれに値を設定する。
【0050】ステップS603では、インデックスバッ
ファ508の値をインデックスレジスタ504にコピー
する。インデックスレジスタ504は、インデックスバ
ッファ508から受け取った値を第1のセレクタ506
および第2のセレクタ512に出力する。第1のセレク
タ506は、IPCレジスタ502が記憶しているアド
レスの中から、インデックス504が出力する指示値に
対応するアドレスを、コンパレータ102へ出力する。
【0051】同様に、第2のセレクタ512は、INT
レジスタ510が記憶している割り込み信号の中から、
インデックス504が出力する指示値に対応する割り込
み信号を、割り込み信号送出部108へ出力する。つま
り、インデックスレジスタ504が「m」という指示値
を出力する場合は、IPCレジスタ502中のIPC
(m)が記憶するアドレスがコンパレータ102へ送出
され、同様にINTレジスタ510中のINTレジスタ
(m)が記憶する割り込み信号が割り込み信号送出部1
08へ送出される。
【0052】ステップS605では、コンパレータ10
2は、第1のセレクタ506から受け取ったアドレス
と、プログラムカウンタ112から受け取ったアドレス
とを比較する。
【0053】プログラムカウンタ112の値とIPC
(m)の値とが一致しない場合は、ステップS607へ
進む。プログラムカウンタ112の値とIPC(m)の
値とが一致する場合は、ステップS609へ進む。
【0054】ステップS607では、新たな処理は何も
されない、つまりプロセッサコア110は処理を継続す
る。
【0055】ステップS609では、コンパレータ10
2は、割り込み信号送出部108にアドレスが一致した
ことを示す「真」の信号を出力する。
【0056】ステップS611では、割り込み信号送出
部108は、INT(m)の内容を、割り込みコントロ
ーラ109へ出力する。つまり、プログラムカウンタ1
12が示すアドレスとIPC(m)が示すアドレスとが
一致したら、INT(m)が示す割り込み信号が割り込
みコントローラ109へ出力される。
【0057】ステップS613では、インデックスバッ
ファ508に「インデックス+1」の値が格納される。
コンパレータ102がアドレス一致信号をインデックス
バッファ508に出力すると、インデックスバッファ5
08は、その時にインデックスバッファ508自身が記
憶している値に「1」を加算した値を、インデックス5
04へ出力する。
【0058】上記第3の実施の形態における処理の流れ
をより具体的に説明する。ここで、IPCレジスタ50
2等の設定値、インデックスレジスタ504等の初期値
は以下のとおりとする。
【0059】IPC(0)=10000 INT(0)=5 IPC(1)=10030 INT(1)=6 index=0(インデックスレジスタ504の初期
値) index_buffer=0(インデックスバッファ
508の初期値) 割り込み発生の対象となっているプログラムの実行が進
み、プログラムカウンタの値が「10000」になった
とする。この時、IPC(0)の値とプログラムカウン
タの値とが一致するので、コンパレータ102の信号は
アドレスが一致したことを示す「真」となる。割り込み
信号送出部108は、コンパレータ102からの信号が
「真」になったので、INT(0)の値、つまり「5」
を割り込みコントローラ109に出力する。このように
して、割り込みコントローラ109は「プログラムカウ
ンタ112の値=10000」の時点で、5番の割り込
みを発生させることができる。
【0060】また、コンパレータ102から出力される
信号が「真」になった時点で、インデックスバッファ5
08の値は1となる。
【0061】次にコンパレータ102がプログラムカウ
ンタ112の値とIPCレジスタ502の値とを比較す
る時には、新たなインデックスバッファの値、即ち
「1」がインデックス504に取り込まれる。よって、
コンパレータ102はIPC(1)の値「10030」
とプログラムカウンタ112の値とを比較する。そし
て、プログラムカウンタ112の値が「10030」と
なった時点で、INT(1)に対応する割り込み信号
「6」の割り込みが発生する。
【0062】このようにすることで、(イ)関数mai
nによって関数outputが呼び出されて実行され、
(ロ)アドレス10000に来ると、関数mainによ
って呼び出された関数outputが中断されて、IN
T(0)に対応する5番の割り込み処理が開始され、
(ハ)5番の割り込み処理によって関数outputが
再び呼び出されて実行され、(ニ)アドレス10030
に来ると、5番の割り込み処理によって呼び出された関
数outputが中断されて、INT(1)に対応する
6番の割り込みが開始され、(ホ)6番の割り込み処理
終了後、5番の割り込み処理が再開され、(ヘ)5番の
割り込み処理終了後、関数mainが再開されるという
ことが可能になる。
【0063】また、IPCレジスタ502等の設定値を IPC(0)=10000 INT(0)=5 IPC(1)=10000 INT(1)=6 とすれば、(イ)関数mainによって関数outpu
tが呼び出されて実行され、(ロ)アドレス10000
に来ると、関数mainによって呼び出された関数ou
tputが中断されて、INT(0)に対応する5番の
割り込み処理が開始され、(ハ)5番の割り込み処理に
よって関数outputが再び呼び出されて実行され、
(ニ)アドレス10000に来ると、5番の割り込み処
理によって呼び出された関数outputが中断され
て、INT(1)に対応する6番の割り込みが開始さ
れ、(ホ)6番の割り込み処理終了後、5番の割り込み
処理が再開され、(ヘ)5番の割り込み処理終了後、関
数mainが再開されるということが可能になる。つま
り、同一アドレスにおいて異なる割り込みを発生させる
こともできる。
【0064】さらに、IPCレジスタ502等の設定値
を IPC(0)=10000 INT(0)=5 IPC(1)=10030 INT(1)=5 とすれば、(イ)関数mainによって関数outpu
tが呼び出されて実行され、(ロ)アドレス10000
に来ると、関数mainによって呼び出された関数ou
tputが中断されて、INT(0)に対応する5番の
割り込み処理が開始され、(ハ)5番の割り込み処理に
よって関数outputが再び呼び出されて実行され、
(ニ)アドレス10030に来ると、5番の割り込み処
理によって呼び出された関数outputが中断され
て、INT(1)に対応する5番の割り込みが開始さ
れ、つまり5番の割り込み処理が2重に呼び出され、
(ホ)後から呼び出された5番の割り込み処理終了後、
先に呼び出された5番の割り込み処理が再開され、
(ヘ)先に呼び出された5番の割り込み処理終了後、関
数mainが再開されるということが可能になる。つま
り、異なるアドレスにおいて同一の割り込みを発生させ
ることもできる。
【0065】上記の如く、第3の実施の形態によれば、
任意のアドレス実行時に任意の割り込みを多重に発生さ
せることができる。
【0066】(第4の実施の形態)図9は、第4の実施
の形態にかかる割り込み発生装置の全体構成を示す機能
ブロック図であり、図10は、第4の実施の形態におけ
る処理の流れを示すフローチャートである。
【0067】第4の実施の形態は、図16に示したプロ
グラムを実行させた場合に、第3の実施の形態にかかる
割り込み発生装置を用いて、関数mainから関数ou
tputを呼び出し、関数mainが呼び出した関数o
utput実行中に割り込み5番を発生させ、割り込み
5番が呼び出した関数output実行中に割り込み信
号6番を発生させ、さらに割り込み信号6番に関数li
neを呼び出させる。
【0068】図9および図10に基づいて、第4の実施
の形態を説明する。
【0069】図9に示すように、第4の実施の形態に係
る割り込み発生装置は、第3の実施の形態に係る割り込
み発生装置500に、さらに、(a)割り込み発生の対
象とする関数、割り込み信号、およびブレークポイント
のアドレスを入力する入力手段306と、(b)デバッ
グ情報を読み取り、入力手段306を用いて入力した関
数名が示す関数の開始アドレスと終了アドレスとを抽出
するデバッグ情報読み取り手段308と、(c)第1の
割り込み発生アドレス記憶要素IPC(0)または第2
の割り込み発生アドレス記憶要素IPC(1)に記憶さ
れている割り込み発生アドレスが、デバッグ情報読み取
り手段308によって抽出された開始アドレスと終了ア
ドレスとの間のアドレスかを判定する終了判定手段31
0と、(d−1)終了判定手段310が、第1の割り込
み発生アドレス記憶要素IPC(0)に記憶されている
割り込み発生アドレスは、デバッグ情報読み取り手段3
08によって抽出された開始アドレスと終了アドレスと
の間のアドレスで「ある」と判断した場合に、第1の割
り込み発生アドレス記憶要素IPC(0)に書き込まれ
る割り込み発生アドレスの値を1だけ増加させ、(d−
2)終了判定手段310が、第1の割り込み発生アドレ
ス記憶要素IPC(0)に記憶されている割り込み発生
アドレスは、デバッグ情報読み取り手段308によって
抽出された開始アドレスと終了アドレスとの間のアドレ
スでは「ない」と判断した場合に、第1の割り込み発生
アドレス記憶要素IPC(0)に書き込まれる割り込み
発生アドレスの値を初期値、つまりデバッグ情報読み取
り手段308によって抽出された開始アドレス、に戻
し、かつ第2の割り込み発生アドレス記憶要素IPC
(1)に書き込まれる割り込み発生アドレスの値を1だ
け増加させる、IPCインクリメント手段304と、
(e−1)IPCインクリメント手段304から、第1
の割り込み発生アドレス記憶要素IPC(0)に記憶さ
れるべき増加済み割り込み発生アドレスを受け取った
ら、IPC(0)に増加済み割り込み発生アドレスを書
き込み、かつプログラムカウンタ112の値を初期値に
戻し、(e−2)IPCインクリメント手段304か
ら、第2の割り込み発生アドレス記憶要素IPC(1)
に記憶されるべき増加済み割り込み発生アドレスを受け
取ったら、第1の割り込み発生アドレス記憶要素IPC
(0)の値とプログラムカウンタ112の値を初期値に
戻し、さらに第2の割り込み発生アドレス記憶要素IP
C(1)に増加済み割り込み発生アドレスを書き込む、
レジスタ読み書き手段702と、を具備する。
【0070】図10に示すように、第4の実施の形態で
は、まずステップS801で、入力手段306を用い
て、 割り込み発生対象となる関数名=output IPC(0)=10000 INT(0)=5 IPC(1)=10000 INT(1)=6 のそれぞれを入力する。
【0071】ステップS803では、デバッグ情報読み
取り装置308が、デバッグ情報312から、入力装置
306に入力された関数(output)の開始アドレ
スと終了アドレスを取得する。
【0072】ステップS805では、任意の二つの関数
の先頭アドレスで、IPC(0)とIPC(1)の値を
初期化する。ここで、任意の二つの関数とは、割り込み
を満遍なく発生させたい二つの関数のことであり、第4
の実施の形態においては、関数mainが呼び出した関
数outputと、割り込み番号5番が呼び出した関数
outputのことである。
【0073】ステップS807では、デバッグ対象プロ
グラムを先頭アドレスから実行させる。
【0074】ステップS809では、図8に示した第3
の実施の形態にかかるフローチャートのステップS60
3,605,607,609,611および613から
なる第2の割り込み発生処理を実行する。つまり、イン
デックスバッファ508の値をインデックスレジスタ5
04にコピーする(ステップS603)。コンパレータ
102はプログラムカウンタ112の値とIPC(0)
の値とを比較する(ステップS605)。この時IPC
(0)にはステップS803で取得された関数の開始ア
ドレス("10000番地")が設定されている。
【0075】プログラムカウンタ112の値とIPC
(0)の値とが一致しない場合は、割り込みは発生せ
ず、デバッグ対象プログラムの実行が継続される(ステ
ップS607)。
【0076】プログラムカウンタ112の値とIPC
(0)の値とが一致した場合は、コンパレータ102は
割り込み信号送出部108にアドレス一致信号を出力す
る(ステップS609)。割り込み信号送出部108
は、INT(0)の値を割り込みコントローラ109に
送る(ステップS611)。そして、インデックスバッ
ファ508の値を1だけインクリメントする(ステップ
S613)。
【0077】ステップS811では、プログラムが予め
設定されているブレークポイントに到達したかを判断す
る。ブレークポイントに到達していなければNOに分岐
して、ブレークポイントに到達したならばYESに分岐
する。
【0078】ブレイクポイントは、メモリ上の所定のア
ドレスにブレーク発生命令(デバッグ例外を発生させる
命令)を書き込むことにより実現しても良い。また、デ
バッグ例外を発生させるアドレスを記憶するブレークポ
イント・レジスタと、このブレークポイント・レジスタ
の値とプログラムカウンタの値とを比較するコンパレー
タとを具備することにより、所定のアドレスにデバッグ
例外を発生させるとしても良い。
【0079】ステップS813では、IPCインクリメ
ント装置304が、IPC(0)の値を1増加させる。
つまり、IPC(0)の値は、「10000+1」とな
る。
【0080】ステップS815では、終了判定手段31
0は、IPCレジスタの設定値が、ステップS803で
取得した割り込み発生対象関数の終了アドレスを超えて
いないかを判断する。終了アドレスを超えていなかった
らYESに分岐し、終了アドレスを超えていたらNOに
分岐する。
【0081】IPCレジスタの値が「0x10001」
のときは、関数の終了アドレス「0x1ffff」を超
えていないと判断され、ステップS807に戻り、図1
6に示したプログラムが再度先頭アドレスから実行され
る。ステップS813で順次インクリメントされてIP
Cレジスタの値が関数の終了アドレスを超えるまで、上
記処理が繰り返される。そしてかかる繰り返しの間に割
り込み発生対象関数の全アドレスについて、順々に割り
込みを発生させることが可能となる。
【0082】つまり、関数main実行中に、アドレス
10000でINT(0)に対応する5番の割り込みが
発生し、5番の割り込み発生中に、アドレス10000
でINT(1)に対応する6番の割り込みが発生し、6
番の割り込み終了後、5番の割り込みに処理が戻り、5
番の割り込み終了後、関数mainに処理が戻る。
【0083】そして、関数main実行中に、アドレス
10001で5番の割り込みが発生し、5番の割り込み
発生中に、アドレス10000で6番の割り込みが発生
し、6番の割り込み終了後、5番の割り込みに処理が戻
り、5番の割り込み終了後、関数mainに処理が戻
る。
【0084】さらに、関数main実行中に、アドレス
10002で5番の割り込みが発生し、5番の割り込み
発生中に、アドレス10000で6番の割り込みが発生
し、6番の割り込み終了後、5番の割り込みに処理が戻
り、5番の割り込み終了後、関数mainに処理が戻
る。
【0085】かかる処理を繰り返すと、やがて、関数m
ain実行中に、アドレス1ffffで5番の割り込み
が発生し、5番の割り込み発生中に、アドレス1000
0で6番の割り込みが発生し、6番の割り込み終了後、
5番の割り込みに処理が戻り、5番の割り込み終了後、
関数mainに処理が戻る。
【0086】ここまでの処理によって、10000番地
から1ffff番地の全てにINT(0)に対応する5
番の割り込みを発生させ、かつ5番の割り込み処理中に
さらに10000番地にINT(1)に対応する6番の
割り込みを発生させることができる。
【0087】この後のステップS815では、IPC
(0)の設定値は、対象関数の終了アドレスを超えるた
め、NOへ分岐する。
【0088】ステップS817では、IPC(0)の設
定値を初期値に戻し、IPC(1)の設定値を1増加さ
せる。
【0089】ステップS819では、終了判定手段31
0は、IPC(1)の設定値が、ステップS803で取
得した割り込み発生対象関数の終了アドレスを超えてい
ないかを判断する。終了アドレスを超えていなかったら
YESに分岐し、終了アドレスを超えていたらNOに分
岐する。
【0090】ステップS807へ戻ると、再び割り込み
発生対象プログラムの先頭から処理を実行する。そし
て、関数main実行中に、アドレス10000でIN
T(0)に対応する5番の割り込みが発生し、5番の割
り込み発生中に、アドレス10001でINT(1)に
対応する6番の割り込みが発生し、6番の割り込み終了
後、5番の割り込みに処理が戻り、5番の割り込み終了
後、関数mainに処理が戻る。
【0091】次に、関数main実行中に、アドレス1
0001で5番の割り込みが発生し、5番の割り込み発
生中に、アドレス10001で6番の割り込みが発生
し、6番の割り込み終了後、5番の割り込みに処理が戻
り、5番の割り込み終了後、関数mainに処理が戻
る。
【0092】さらに、関数main実行中に、アドレス
10002で5番の割り込みが発生し、5番の割り込み
発生中に、アドレス10001で6番の割り込みが発生
し、6番の割り込み終了後、5番の割り込みに処理が戻
り、5番の割り込み終了後、関数mainに処理が戻
る、という処理が繰り返され、やがて、関数main実
行中に、アドレス1ffffで5番の割り込みが発生
し、5番の割り込み発生中に、アドレス10001で6
番の割り込みが発生し、6番の割り込み終了後、5番の
割り込みに処理が戻り、5番の割り込み終了後、関数m
ainに処理が戻る。
【0093】ここまでの処理によって、10000番地
から1ffff番地の全てにINT(0)に対応する5
番の割り込みを発生させ、かつ5番の割り込み処理中に
さらに10001番地にINT(1)に対応する6番の
割り込みを発生させることができる。
【0094】ステップS817では、IPC(0)の設
定値を初期値に戻し、IPC(1)の設定値を1増加さ
せる。
【0095】ステップS819では、終了判定手段31
0は、IPC(1)の設定値が、ステップS803で取
得した割り込み発生対象関数の終了アドレスを超えてい
ないかを判断する。終了アドレスを超えていなかったら
YESに分岐し、終了アドレスを超えていたらNOに分
岐する。
【0096】ステップS807へ戻ると、再び割り込み
発生対象プログラムの先頭から処理を実行する。
【0097】このような処理を繰り返すことにより、や
がてIPC(1)の初期値が、ステップS803で取得
した対象関数の終了アドレス(1ffff)に到達す
る。そして、ステップS807へ戻り、再び割り込み発
生対象プログラムの先頭から処理を実行する。すると、
関数main実行中に、アドレス10000でINT
(0)に対応する5番の割り込みが発生し、5番の割り
込み発生中に、アドレス1ffffでINT(1)に対
応する6番の割り込みが発生し、6番の割り込み終了
後、5番の割り込みに処理が戻り、5番の割り込み終了
後、関数mainに処理が戻り、次に、関数main実
行中に、アドレス10001で5番の割り込みが発生
し、5番の割り込み発生中に、アドレス1ffffで6
番の割り込みが発生し、6番の割り込み終了後、5番の
割り込みに処理が戻り、5番の割り込み終了後、関数m
ainに処理が戻り、さらに、関数main実行中に、
アドレス10002で5番の割り込みが発生し、5番の
割り込み発生中に、アドレス1ffffで6番の割り込
みが発生し、6番の割り込み終了後、5番の割り込みに
処理が戻り、5番の割り込み終了後、関数mainに処
理が戻り、という処理が繰り返される。
【0098】そして、関数main実行中に、アドレス
1ffffで5番の割り込みが発生し、5番の割り込み
発生中に、アドレス1ffffで6番の割り込みが発生
し、6番の割り込み終了後、5番の割り込みに処理が戻
り、5番の割り込み終了後、関数mainに処理が戻
る。
【0099】ここまでの処理によって、10000番地
から1ffff番地の全てにINT(0)に対応する5
番の割り込みを発生させ、かつ5番の割り込み処理中に
さらに1ffff番地にINT(1)に対応する6番の
割り込みを発生させることができる。
【0100】ステップS817では、IPC(0)の設
定値を初期値に戻し、IPC(1)の設定値を1増加さ
せる。
【0101】ステップS819では、終了判定手段31
0は、IPC(1)の設定値が、ステップS803で取
得した割り込み発生対象関数の終了アドレスを超えてい
ると判断してNOに分岐し、一連の処理を終了する。
【0102】上記、第4の実施の形態によれば、関数o
utput中の全てのアドレスにおいて、もれなく多重
に割り込みを発生させることができる。
【0103】例えば、図16に示した関数lineの出
力は、 0,−−−−−−− のようになっており、ユーザは以下のような出力を望ん
でいる。
【0104】1,AAAAAAAAAA 0,−−−−−−− 2,BBBBBBBBBB しかるに、以下のような出力が得られる場合がある。
【0105】0,−−−−−−− 1,−−−−−−− 2,BBBBBBBBBB このとき「1,−−−−−−−」は誤った出力であり、
かかる出力が得られた場合、ユーザはプログラムの不具
合を発見することが可能になる。
【0106】つまり、第4の実施の形態によれば、指定
した関数の開始アドレスから終了アドレスまでの全アド
レスに対して漏れなく多重に割り込みを発生させること
が可能となり、プログラムの不具合の発見がさらに容易
になる。
【0107】(第5の実施の形態)図11は、第5の実
施の形態にかかる割り込み発生装置の全体構成を示す機
能ブロック図である。
【0108】第5の実施の形態は、プログラムの任意の
アドレスが任意の回数だけ実行されたときに、任意の割
り込みを発生させうる割り込み発生装置900aに関す
る。
【0109】図11に示すように、割り込み発生装置9
00aは、図1に示した割り込み発生装置100にさら
に、(a)割り込み発生を遅らせる回数を示す割り込み
発生遅延数を記憶するカウントレジスタ922aと、
(b)カウントレジスタ922aに記憶されている割り
込み発生遅延数を1ずつ減少させるカウント操作部92
0aと、(c−1)カウントレジスタ922aに記憶さ
れている割り込み発生遅延数が0であるかを判断し、
(c−2)割り込み発生遅延数が0で「ない」場合は、
カウント操作部920aにカウントレジスタ922aが
記憶する割り込み発生遅延数を1だけ減少させ、(c−
3)割り込み発生遅延数が0で「ある」場合は、割り込
み信号送出部108に割り込み信号を出力させる、割り
込み発生タイミング制御手段と、具備する。
【0110】このような割り込み発生装置900aを用
いることにより、プログラムカウンタ112の値が、カ
ウントレジスタ922aの初期値と同じ回数だけ、IP
Cレジスタ104に記憶されている割り込み発生アドレ
スとなった場合に、INTレジスタ106に記憶されて
いる割り込み信号に対応する割り込みを発生させること
が可能になる。
【0111】例えば、IPCレジスタ104に記憶され
ている割り込み発生アドレスが0x10030であり、
カウントレジスタ922aの初期値が「3」である場
合、プログラムカウンタ112の値が「0x1003
0」となる毎に、カウントレジスタ922aの値は「3
→2→1→0」と変化する。そして、カウントレジスタ
922aの値が「0」となると、INTレジスタ106
に記憶されている割り込み信号に対応する割り込みを発
生させることができる。
【0112】(第6の実施の形態)図12は、第6の実
施の形態にかかる割り込み発生装置の全体構成を示す機
能ブロック図であり、図13は、第6の実施の形態にお
ける処理の流れを示すフローチャートである。
【0113】第6の実施の形態は、プログラムの任意の
アドレスが任意の回数だけ実行されたときに、任意の割
り込みを発生させうる割り込み発生装置900bに関す
る。
【0114】図12に示す割り込み発生装置900b
と、図11に示した割り込み発生装置900aとの相違
は、以下のとおりである。
【0115】(a)IPCレジスタ104は、少なくと
も第1の割り込み発生アドレス記憶要素IPC(0)と
第2の割り込み発生アドレス記憶要素IPC(1)とを
備え、(b)INTレジスタ106は、少なくとも第1
の割り込み信号記憶要素INT(0)と第2の割り込み
信号記憶要素INT(1)とを備え、(c)カウントレ
ジスタ922bは、少なくとも第1の割り込み発生遅延
数記憶要素COUNT(0)と第2の割り込み発生遅延
数記憶要素COUNT(1)とを備え、さらに(d)複
数の割り込み発生アドレス記憶要素のいずれか1つ、複
数の割り込み信号記憶要素のいずれか1つ、および複数
の割り込み発生遅延数記憶要素のいずれか1つを指し示
す指示値を記憶するインデックスレジスタ904と、
(e)インデックスレジスタ904に記憶されている指
示値を変更するインデックスバッファ908と、(f)
複数の割り込み発生アドレス記憶要素IPC(0)〜
(n)の中から、指示値に対応する記憶要素IPC
(m)を1つ選択し、選択された記憶要素に記憶されて
いる割り込み発生アドレスをコンパレータ902へ出力
する第1のセレクタ506と、(g)複数の割り込み信
号記憶要素INT(0)〜(n)の中から、指示値に対
応する記憶要素INT(m)を1つ選択し、選択された
記憶要素に記憶されている割り込み信号を割り込み信号
送出部108へ出力する第2のセレクタ512と、
(h)複数の割り込み発生遅延数記憶要素COUNT
(0)〜(n)の中から、指示値に対応する記憶要素C
OUNT(m)を1つ選択し、選択された記憶要素に記
憶されている割り込み発生遅延数をAND回路910へ
出力する第3のセレクタ924と、を具備し、(i)A
ND回路910は、第1の割り込み発生アドレス記憶要
素IPC(0)に記憶されている割り込み発生アドレス
と、プログラムカウンタ112の値とが一致した場合で
あって、(i−1)第1の割り込み発生遅延数記憶要素
COUNT(0)に記憶されている割り込み発生遅延数
が0で「ない」場合は、カウント操作部920bにCO
UNT(0)に記憶されている割り込み発生遅延数を1
だけ減少させ、(i−2)第1の割り込み発生遅延数記
憶要素COUNT(0)に記憶されている割り込み発生
遅延数が0で「ある」場合は、(i−2−1)割り込み
信号送出部108に、第1の割り込み信号記憶要素IN
T(0)に記憶されている割り込み信号を出力させ、か
つインデックスバッファ908に、インデックスレジス
タ904に記憶されている指示値を変更させ、インデッ
クスレジスタ904に記憶されている指示値が変更され
たことによって、(i−2−2)第1のセレクタ506
は、第2の割り込み発生アドレス記憶要素IPC(1)
に記憶されている割り込み発生アドレスを選択し、(i
−2−3)第2のセレクタ512は、第2の割り込み信
号記憶要素INT(1)に記憶されている割り込み信号
を選択し、(i−2−4)第3のセレクタ924は、第
2の割り込み発生遅延数記憶要素COUNT(1)に記
憶されている割り込み発生遅延数を選択する。
【0116】IPCレジスタ502が記憶可能な割り込
みアドレスの数と、INTレジスタ510が記憶可能な
割り込み信号の数と、カウントレジスタ922が記憶可
能な割り込み遅延数の数とは、同一であることが好まし
い。例えば、IPCレジスタ502が記憶可能な割り込
みアドレスの数が(n+1)個であるなら、INTレジ
スタ510が記憶可能な割り込み信号の数も、カウント
レジスタ922が記憶可能な割り込み遅延数の数も、共
に(n+1)個であることが好ましい。このようにする
ことによって、各割り込みアドレスに応じて、異なる割
り込み発生遅延数、異なる割り込み信号を設定すること
が可能になる。例えば、IPC(0)に記憶されている
アドレスとプログラムカウンタ112の値が2回、一致
した場合に、「4」番の割り込み信号を発生させ、また
IPC(1)に記憶されているアドレスとプログラムカ
ウンタ112の値が3回、一致した場合に、「5」番の
割り込み信号を発生させる。ここで、nは任意の自然数
を表す。
【0117】第1のセレクタ506と、第2のセレクタ
512と、第3のセレクタ924とが、インデックスレ
ジスタ904から同一の指示値mを受け取るとき、第1
のセレクタ506からIPC(m)に記憶されている割
り込みアドレスが出力され、第2のセレクタ512から
INT(m)に記憶されている割り込み信号が出力さ
れ、第3のセレクタ924からCOUNT(m)に記憶
されている割り込み遅延数が出力される。
【0118】例えば、インデックスレジスタ904の指
示値がmであり、COUNT(m)割り込み発生遅延数
の初期値が2である場合、IPCレジスタ(m)の割り
込み発生アドレスとプログラムカウンタ112のアドレ
スとが一致すると、コンパレータ902がアドレス一致
信号を出力し、カウント操作部920がCOUNT
(m)の割り込み発生遅延数を1に変化させる。
【0119】もう一度、IPCレジスタ(m)の割込み
発生アドレスとプログラムカウンタ112のアドレスと
が一致し、コンパレータ902がアドレス一致信号を出
力するとCOUNT(m)の割り込み発生遅延数が0に
なる。このとき、割込み信号送出部108からINT
(m)に記憶されている割込み信号が出力される。
【0120】そして、割り込み信号送出部108からI
NT(m)の割り込み信号が出力されると、インデック
スレジスタ904の指示値は1だけ増加してm+1とな
る。以下同様に、IPCレジスタ(m+1)の割り込み
アドレスとプログラムカウンタ112のアドレスとが一
致した場合に、COUNT(m+1)≠0なら、割り込
み信号は出力されず、COUNT(m+1)の値が減算
される。そして、かかる減算が繰り返され、やがてCO
UNT(m+1)=0となったら、COUNT(m+
1)の割り込み信号が出力されるという処理が行われ
る。
【0121】図13に基づいて、第5の実施の形態にお
ける処理の流れを説明する。ステップS1001では、
レジスタ設定装置930がIPCレジスタ502、IN
Tレジスタ510およびカウントレジスタ922の各記
憶要素に値を設定する。例えば、以下のように設定す
る。
【0122】IPC(0)=0x10030 COUNT(0)=7 INT(0)=5 ステップS1003では、インデックスバッファ908
の値をインデックスレジスタ904にコピーする。例え
ば、インデックスバッファ908の指示値「0」がイン
デックスレジスタ904にコピーされる。
【0123】ステップS1005では、コンパレータ9
02は、プログラムカウンタ112の値とインデックス
レジスタ904が示すIPCレジスタ502の値とを比
較する。例えば、インデックスレジスタ904の値が
「0」のときは、IPCレジスタ(0)の値とプログラ
ムカウンタ112の値とを比較する。
【0124】プログラムカウンタ112の値とIPCレ
ジスタ502の値とが一致しない場合は、ステップS1
007へ進み、プロセッサコア110の処理は継続実行
される。
【0125】プログラムカウンタ112の値とIPCレ
ジスタ502の値とが一致する場合は、ステップS10
09へ進む。ステップS1009では、カウント操作部
920は、インデックスバッファ904の値に対応する
カウントレジスタ922の値を1だけ減算し、減算後の
値をカウントバッファ926へコピーする。つまり、イ
ンデックスレジスタ904に記憶されている値が「0」
であるなら、COUNT(0)に記憶されている値
「7」が1だけ減算され、減算後の値「6」がカウント
バッファ926へコピーされる。
【0126】ステップS1011では、AND回路91
0は、インデックスレジスタ904に記憶されている指
示値によって示されるカウントレジスタ922の割り込
み発生遅延数の値をチェックする。インデックスレジス
タ904の指示値が「0」であるなら、COUNT
(0)に記憶されている数値がAND回路910に入力
される。
【0127】COUNT(index)から出力されA
ND回路910に入力される数値が「0」でないなら、
ステップS1007へ進み、(A1)AND回路910
から「1」が出力され、(A2)インデックスレジスタ
904に記憶されている数値は変更されず、(A3)割
り込み信号送出部108は割り込み信号を出力せず、
(A4)プロセッサコア110は実行中の処理を継続す
る。
【0128】COUNT(index)から出力されA
ND回路910に入力される数値が「0」であるなら、
ステップS1013へ進み、(B1)AND回路910
から「0」が出力され、(B2)インデックスバッファ
908に記憶されている数値に「1」が加算される。そ
して、さらにステップS1015へ進み、(B3)割り
込み信号送出部108は、インデックスレジスタ904
に記憶されている指示値が指し示すINTレジスタ51
0に記憶されている割り込み信号を出力する。その結
果、(B4)プロセッサコア110は割り込み処理を開
始する。
【0129】つまり、IPC(0)=0x10030で
あるなら、プログラムカウンタ112の値が「0x10
030」となる毎に、COUNT(0)の値が7→6→
5→4→3→2→1→0と変化する。COUNT(0)
=0となるとINT(0)=5であるから、5番の割り
込み処理が開始される。そして、IPC(1)に記憶さ
れている割り込みアドレスがコンパレータ902による
比較の対象となる。その後、IPC(1)の割り込みア
ドレス=プログラムカウンタの値となる毎にCOUNT
(1)の値が減算され、COUNT(1)=0となると
INT(1)の割り込み処理が開始される。
【0130】このような割り込み発生装置900を用い
ることにより、プログラムカウンタ112の値が所定回
数だけ所定値となった場合に、所定の割り込みを発生さ
せることが可能になる。
【0131】例えば、図16に示したプログラムの場合
は、関数mainから関数outputを呼び出し、関
数output実行中にプログラムカウンタ112の値
が「0x10030」になるときがあるとする。インデ
ックスレジスタ904の値が「0」、プログラムカウン
タ112の値が「0x10030」となったときに、C
OUNT(0)の値が「7」から「1」減算されて
「6」になる。関数output内のループ処理が継続
して実行され、プログラムカウンタ112の値が再び
「0x10030」となったときに、COUNT(0)
の値が「6」から「1」減算されて「5」になる。かか
るループ処理が繰り返されて、やがてCOUNT(0)
の値が「0」となったときに、第2のセレクタ512は
INT(0)に格納されている割り込み信号「5」を割
り込みコントローラ109へ出力する。その結果、プロ
セッサコア110内において割り込み信号「5」に対応
する割り込み処理が実行される。
【0132】上記の如く、第6の実施の形態によれば、
プログラムカウンタの値が所定回数だけ所定値となった
場合に、所定の割り込みを発生させることが可能にな
る。つまり、プログラムカウンタの値が割り込み発生ア
ドレスと等しくなっても直ちに割り込み発生させずに、
プログラムカウンタの値と割り込み発生アドレスとの一
致が所定回数繰り返されるまで、割り込み発生を遅らせ
ることが可能になる。
【0133】(第7の実施の形態)図14は、第7の実
施の形態にかかる割り込み発生装置の全体構成を示す機
能ブロック図であり、図15は、第7の実施の形態にお
ける処理の流れを示すフローチャートである。
【0134】第7の実施の形態は、第6の実施の形態の
割り込み発生装置を用いて、所定の関数の開始アドレス
から終了アドレスまでの各アドレスが、所定回数繰り返
し実行されたときに、所定の割り込み信号を発生させる
ことができる。例えば、(1)0x10030番地が所
定回数繰り返し実行されたら、所定の割り込み信号を発
生させ、(2)0x10031番地が所定回数繰り返し
実行されたら、所定の割り込み信号を発生させ、(3)
0x10032番地が所定回数繰り返し実行されたら、
所定の割り込み信号を発生させる、ことができる。
【0135】図14に示すように、第7の実施の形態に
かかる割り込み発生装置は、第6の実施の形態にかかる
割り込み発生装置900bに、さらに、(a)割り込み
発生の対象とする関数の名前、割り込み信号、ブレーク
ポイントのアドレス、および割り込み発生遅延数の上限
値を入力する入力手段306と、(b)デバッグ情報を
読み取り、前記関数名が示す関数の開始アドレスと終了
アドレスとを抽出するデバッグ情報読み取り手段308
と、(c)ブレイクポイントに到達した場合に、IPC
レジスタ502に記憶されている割り込み発生アドレス
が、デバッグ情報読み取り手段308が抽出した終了ア
ドレスを超えていないかを判定する終了判定手段310
と、(d−1)デバッグ情報読み取り手段308から受
け取った割り込み発生アドレスの初期値をIPC
(0)、IPC(1)に書き込み、(d−2)入力手段
306から受け取った割り込み発生遅延数の第1の上限
値および第2の上限値を設定し、(d−3)入力手段3
06から受け取った割り込み信号を示す値をINT
(0)、INT(1)に書き込む、レジスタ読み書き手
段1102と、(e−1)ブレークポイントに到達した
後にCOUNT(0)に書き込まれるべき値を1だけイ
ンクリメントし、(e−2)インクリメントによってC
OUNT(0)の値が第1の所定値を超えた場合に、C
OUNT(1)に書き込まれる値を1だけインクリメン
トし、(e−3)インクリメントによってCOUNT
(1)の値が第2の所定値を超えた場合に、IPC
(0)に書き込まれる値を1だけインクリメントし、
(e−4)インクリメントによってIPC(0)の割り
込み発生アドレスが第1の終了アドレスを超えた場合
に、IPC(1)に書き込まれる値を1だけインクリメ
ントするCOUNT・IPCインクリメント手段304
と、を具備する。
【0136】図15に示すように、第7の実施の形態で
は、まずステップS1201で、入力手段306を用い
て、割り込み発生の対象となる関数名を入力する。ここ
では、割り込み発生対象となる第1の関数名をfunc
Aとし、第2の関数名をfuncBとする。
【0137】ステップS1203では、デバッグ情報よ
り割り込み発生対象関数の開始アドレスと終了アドレス
を取得する。ここでは、funcAの開始アドレスを0
とし、終了アドレスを99とする。また、funcBの
開始アドレスを100とし、終了アドレスを199とす
る。
【0138】ステップS1205では、レジスタ読み書
き手段1102が、IPC(1)に初期値を設定する。
ここでは、IPC(1)の初期値はfuncBの開始ア
ドレス100とする。
【0139】ステップS1207では、レジスタ読み書
き手段1102が、IPC(0)に初期値を設定する。
ここでは、IPC(0)の初期値はfuncAの開始ア
ドレス0とする。
【0140】ステップS1209では、レジスタ読み書
き手段1102が、COUNT(1)に初期値を設定す
る。ここでは、COUNT(1)の初期値は、0とす
る。
【0141】ステップS1211では、レジスタ読み書
き手段1102が、COUNT(0)に初期値を設定す
る。ここでは、COUNT(0)の初期値は、0とす
る。
【0142】ステップS1213では、デバッグ対象プ
ログラムを先頭から実行させ、終了するまで待つ。
【0143】ステップS1215では、COUNT
(0)を1だけインクリメントする。
【0144】ステップS1217では、COUNT
(0)の値が50以下かを調べ、50以下であるならス
テップS1213へ戻り、50以下でないならステップ
S1219へ進む。ここで、50はCOUNT(0)の
上限値として設定した値である。かかる上限値をいくら
に設定するかは任意である。
【0145】ステップS1219では、COUNT
(1)を1だけインクリメントする。
【0146】ステップS1221では、COUNT
(1)の値が50以下かを調べ、50以下であるならス
テップS1211へ戻り、50以下でないならステップ
S1219へ進む。ここで、50はCOUNT(1)の
上限値として設定した値である。かかる上限値をいくら
に設定するかは任意である。
【0147】ステップS1223では、IPC(0)を
1だけインクリメントする。
【0148】ステップS1225では、IPC(0)の
値が99以下かを調べ、99以下であるならステップS
1209へ戻り、99以下でないならステップS122
7へ進む。ここで、99はfuncAの終了アドレスで
ある。
【0149】ステップS1227では、IPC(1)を
1だけインクリメントする。
【0150】ステップS1229では、IPC(1)の
値が199以下かを調べ、199以下であるならステッ
プS1207へ戻り、199以下でないなら処理を終了
する。ここで、199はfuncbの終了アドレスであ
る。以下に割り込み処理の内容を説明する。
【0151】プログラムが終了する毎に、読み書き手段
1102によって、COUNT(0)は1ずつインクリ
メントされ、COUNT(0)が50を超える毎に、読
み書き手段1102によって、COUNT(1)は1ず
つインクリメントされ、COUNT(1)が50を超え
る毎に、読み書き手段1102によって、IPC(0)
は1ずつインクリメントされ、IPC(0)が99を超
える毎に、読み書き手段1102によって、IPC
(1)は1ずつインクリメントされ、IPC(1)が1
99を超えると、処理が終了する。
【0152】プログラムが終了する毎になされるCOU
NT(0)のインクリメント、COUNT(0)が50
を超える毎になされるCOUNT(1)のインクリメン
ト、COUNT(1)が50を超える毎になされるIP
C(0)のインクリメント、IPC(0)が99を超え
る毎になされるIPC(1)のインクリメントは、いず
れも読み書き手段1102によって行われる。
【0153】一方、割り込み発生アドレスとプログラム
カウンタとが一致する毎に行われるCOUNT(0)ま
たは(1)のデクリメントは、いずれもカウント操作部
920によって行われる。
【0154】読み書き手段1102が、COUNT
(0)を0→1すると、カウント操作部920が、CO
UNT(0)を1→0とし、読み書き手段1102が、
COUNT(0)を0→2すると、カウント操作部92
0が、COUNT(0)を2→1→0とし、読み書き手
段1102が、COUNT(0)を0→3すると、カウ
ント操作部920が、COUNT(0)を3→2→1→
0とし、同様にして、読み書き手段1102が、COU
NT(0)を0→50すると、カウント操作部920
が、COUNT(0)を50→49→48→・・・3→
2→1→0とする。
【0155】上記、第7の実施の形態によれば、所定の
開始アドレスから終了アドレスまでの全てのアドレスに
おいて、漏れなく多重に割り込みを発生させることが可
能であり、しかもプログラムカウンタの値と割り込み発
生アドレスとが2回一致するまで、3回一致するまで、
4回一致するまで、・・・50回一致するまでのよう
に、割り込み発生を遅らせる回数も満遍なく変化させる
ことが可能となる。
【0156】
【発明の効果】本発明によれば、プログラムカウンタが
所定のアドレスとなったときに、または所定回数・所定
のアドレスとなったときに、割り込みを発生させること
が可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかる割り込み発
生装置の全体構成を示す機能ブロック図の一例である。
【図2】本発明の第1の実施の形態における処理の流れ
を示すフローチャートの一例である。
【図3】本発明の第2の実施の形態にかかる割り込み発
生装置の全体構成を示す機能ブロック図の一例である。
【図4】本発明の第2の実施の形態における処理の流れ
を示すフローチャートの一例である。
【図5】本発明の第3の実施の形態の第1の変形例にか
かる割り込み発生装置の全体構成を示す機能ブロック図
の一例である。
【図6】本発明の第3の実施の形態の第2の変形例にか
かる割り込み発生装置の全体構成を示す機能ブロック図
の一例である。
【図7】本発明の第3の実施の形態にかかる割り込み発
生装置の全体構成を示す機能ブロック図の一例である。
【図8】本発明の第3の実施の形態における処理の流れ
を示すフローチャートの一例である。
【図9】本発明の第4の実施の形態にかかる割り込み発
生装置の全体構成を示す機能ブロック図の一例である。
【図10】本発明の第4の実施の形態における処理の流
れを示すフローチャートの一例である。
【図11】本発明の第5の実施の形態にかかる割り込み
発生装置の全体構成を示す機能ブロック図の一例であ
る。
【図12】本発明の第6の実施の形態にかかる割り込み
発生装置の全体構成を示す機能ブロック図の一例であ
る。
【図13】本発明の第6の実施の形態における処理の流
れを示すフローチャートの一例である。
【図14】本発明の第7の実施の形態にかかる割り込み
発生装置の全体構成を示す機能ブロック図の一例であ
る。
【図15】本発明の第7の実施の形態における処理の流
れを示すフローチャートの一例である。
【図16】本発明の各実施の形態の動作を説明するため
のプログラムの一例である。
【符号の説明】
100 割り込み発生装置 102 コンパレータ(比較手段) 104 IPCレジスタ(割り込み発生アドレス記憶手
段) 106 INTレジスタ(割り込み信号記憶手段) 108 割り込み信号送出部(割り込み信号出力手段) 110 プロセッサコア 112 プログラムカウンタ(外部アドレス記憶手段) 120 レジスタ設定装置

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 割り込みを発生させる割り込み発生アド
    レスを記憶する割り込み発生アドレス記憶手段と、 割り込み発生装置の外部に設けられた外部アドレス記憶
    手段のアドレスと前記割り込み発生アドレスとを比較
    し、これら2つのアドレスが一致したらアドレス一致信
    号を出力する比較手段と、 発生させる割り込みの種類を示す割り込み信号を記憶す
    る割り込み信号記憶手段と、 前記アドレス一致信号を受け取った場合に前記割り込み
    信号を出力する割り込み信号出力手段と、を具備するこ
    とを特徴とする割り込み発生装置。
  2. 【請求項2】 さらに、 割り込み発生の対象とする関数名、前記割り込み信号お
    よびブレークポイントのアドレスを入力する入力手段
    と、 デバッグ情報を読み取り、前記関数名が示す関数の開始
    アドレスと終了アドレスとを抽出するデバッグ情報読み
    取り手段と、 ブレイクポイントに到達した場合に、前記割り込み発生
    アドレス記憶手段に記憶されている割り込み発生アドレ
    スが、前記開始アドレスと前記終了アドレスとの間のア
    ドレスかを判定する終了判定手段と、 前記終了判定手段が、前記割り込み発生アドレス記憶手
    段に記憶されている割り込み発生アドレスは前記開始ア
    ドレスと前記終了アドレスとの間のアドレスであると判
    断した場合に、前記割り込み発生アドレス記憶手段に書
    き込まれる割り込み発生アドレスを所定値だけ増加また
    は減少させるインクリメント/デクリメント手段と、 前記入力手段から受け取った前記割り込み信号を前記割
    り込み信号記憶手段に書き込み、前記デバッグ情報読み
    取り手段から受け取った前記開始アドレスまたは前記終
    了アドレスを割り込み発生アドレスの初期値として前記
    割り込み発生アドレス記憶手段に書き込み、前記インク
    リメント/デクリメント手段から増加または減少済みア
    ドレスを受け取った場合に、前記増加または減少済みア
    ドレスを新たな割り込み発生アドレスとして前記割り込
    み発生アドレス記憶手段に書き込み、かつ前記外部アド
    レス記憶手段の値を初期値に戻すレジスタ読み書き手段
    と、を具備する請求項1記載の割り込み発生装置。
  3. 【請求項3】 前記割り込み発生アドレス記憶手段は、
    少なくとも第1および第2の割り込み発生アドレス記憶
    要素を備え、さらに、 複数の前記割り込み発生アドレス記憶要素のいずれか1
    つを指し示す指示値を記憶するインデックスレジスタ
    と、 前記複数の割り込み発生アドレス記憶要素の中から、前
    記指示値に対応する記憶要素を1つ選択し、選択された
    記憶要素に記憶されている割り込み発生アドレスを前記
    比較手段へ出力する第1の選択手段と、 前記比較手段から出力された前記アドレス一致信号を受
    け取った場合に前記インデックスレジスタの前記指示値
    を変更する指示値変更手段と、を具備する請求項1記載
    の割り込み発生装置。
  4. 【請求項4】 前記割り込み信号記憶手段は、少なくと
    も第1および第2の割り込み信号記憶要素を備え、さら
    に、 複数の前記割り込み信号記憶要素のいずれか1つを指し
    示す指示値を記憶するインデックスレジスタと、 前記複数の割り込み信号記憶要素の中から、前記指示値
    に対応する割り込み信号記憶要素を1つ選択し、選択さ
    れた記憶要素に記憶されている割り込み信号を前記割り
    込み信号出力手段へ出力する第2の選択手段と、 前記比較手段から出力された前記アドレス一致信号を受
    け取った場合に前記インデックスレジスタの前記指示値
    を変更する指示値変更手段と、を具備する請求項1記載
    の割り込み発生装置。
  5. 【請求項5】 前記割り込み発生アドレス記憶手段は、
    少なくとも第1および第2の割り込み発生アドレス記憶
    要素を備え、 前記割り込み信号記憶手段は、少なくとも第1および第
    2の割り込み信号記憶要素を備え、さらに複数の前記割
    り込み発生アドレス記憶要素のいずれか1つ、および複
    数の前記割り込み信号記憶要素のいずれか1つを指し示
    す指示値を記憶するインデックスレジスタと、 前記複数の割り込み発生アドレス記憶要素の中から、前
    記指示値に対応する記憶要素を1つ選択し、選択された
    記憶要素に記憶されている割り込み発生アドレスを前記
    比較手段へ出力する第1の選択手段と、 前記複数の割り込み信号記憶要素の中から、前記指示値
    に対応する割り込み信号記憶要素を1つ選択し、選択さ
    れた記憶要素に記憶されている割り込み信号を前記割り
    込み信号出力手段へ出力する第2の選択手段と、 前記比較手段から出力された前記アドレス一致信号を受
    け取った場合に前記インデックスレジスタの前記指示値
    を変更する指示値変更手段と、を具備する請求項1記載
    の割り込み発生装置。
  6. 【請求項6】 さらに、 割り込み発生を遅らせる回数を示す割り込み発生遅延数
    を記憶するカウントレジスタと、 前記カウントレジスタに記憶されている割り込み発生遅
    延数を1ずつ減少させる割り込み発生遅延数減少手段
    と、 前記割り込み発生遅延数が0であるかを判断し、前記割
    り込み発生遅延数が0でない場合は、前記割り込み発生
    遅延数減少手段に前記カウントレジスタが記憶する割り
    込み発生遅延数を1だけ減少させ、前記割り込み発生遅
    延数が0である場合は、前記割り込み信号出力手段に前
    記割り込み信号を出力させる、割り込み発生タイミング
    制御手段と、を具備することを特徴とする請求項1記載
    の割り込み発生装置。
  7. 【請求項7】 割り込みを発生させる割り込み発生アド
    レスを記憶し、 発生させる割り込みの種類を示す割り込み信号を記憶
    し、 前記割り込み発生アドレスと、割り込みを発生させる対
    象である割り込み発生対象プログラムの実行中アドレス
    とを比較し、 前記割り込み発生アドレスと、前記実行中アドレスとが
    一致したら、前記割り込み信号を出力する、ことを特徴
    とする割り込み発生方法。
  8. 【請求項8】さらに、 前記割り込み信号を出力した後、前記割り込み発生アド
    レスを所定値だけ増加または減少し、 増加または減少後の新たな割り込み発生アドレスよりも
    前のアドレスから、前記割り込み発生対象プログラムを
    再度実行する、請求項7記載の割り込み発生方法。
  9. 【請求項9】コンピュータを、割り込みを発生させる割
    り込み発生アドレスを記憶する割り込み発生アドレス記
    憶手段、 割り込み発生装置の外部に設けられた外部アドレス記憶
    手段のアドレスと前記割り込み発生アドレスとを比較
    し、これら2つのアドレスが一致したらアドレス一致信
    号を出力する比較手段、 発生させる割り込みの種類を示す割り込み信号を記憶す
    る割り込み信号記憶手段、 前記アドレス一致信号を受け取った場合に前記割り込み
    信号を出力する割り込み信号出力手段、として機能させ
    るための割り込み発生プログラム。
  10. 【請求項10】 さらに、コンピュータを、 割り込み発生の対象とする関数名、前記割り込み信号お
    よびブレークポイントのアドレスを入力する入力手段、 デバッグ情報を読み取り、前記関数名が示す関数の開始
    アドレスと終了アドレスとを抽出するデバッグ情報読み
    取り手段、 ブレイクポイントに到達した場合に、前記割り込み発生
    アドレス記憶手段に記憶されている割り込み発生アドレ
    スが、前記開始アドレスと前記終了アドレスとの間のア
    ドレスかを判定する終了判定手段、 前記終了判定手段が、前記割り込み発生アドレス記憶手
    段に記憶されている割り込み発生アドレスは前記開始ア
    ドレスと前記終了アドレスとの間のアドレスであると判
    断した場合に、前記割り込み発生アドレス記憶手段に書
    き込まれる割り込み発生アドレスを所定値だけ増加また
    は減少させるインクリメント/デクリメント手段、 前記入力手段から受け取った前記割り込み信号を前記割
    り込み信号記憶手段に書き込み、前記デバッグ情報読み
    取り手段から受け取った前記開始アドレスまたは前記終
    了アドレスを割り込み発生アドレスの初期値として前記
    割り込み発生アドレス記憶手段に書き込み、前記インク
    リメント/デクリメント手段から増加または減少済みア
    ドレスを受け取った場合に、前記増加または減少済みア
    ドレスを新たな割り込み発生アドレスとして前記割り込
    み発生アドレス記憶手段に書き込み、かつ前記外部アド
    レス記憶手段の値を初期値に戻すレジスタ読み書き手
    段、として機能させる請求項9記載の割り込み発生プロ
    グラム。
JP2002051818A 2002-02-27 2002-02-27 割り込み発生装置、割り込み発生方法および割り込み発生プログラム Pending JP2003256237A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002051818A JP2003256237A (ja) 2002-02-27 2002-02-27 割り込み発生装置、割り込み発生方法および割り込み発生プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002051818A JP2003256237A (ja) 2002-02-27 2002-02-27 割り込み発生装置、割り込み発生方法および割り込み発生プログラム

Publications (1)

Publication Number Publication Date
JP2003256237A true JP2003256237A (ja) 2003-09-10

Family

ID=28663699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002051818A Pending JP2003256237A (ja) 2002-02-27 2002-02-27 割り込み発生装置、割り込み発生方法および割り込み発生プログラム

Country Status (1)

Country Link
JP (1) JP2003256237A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140122A (ja) * 2007-12-05 2009-06-25 Yokogawa Electric Corp シーケンス制御回路
JP2010500661A (ja) * 2006-08-09 2010-01-07 クゥアルコム・インコーポレイテッド プロセッサ命令セット動作モードを比較するデバッグ回路
WO2010032330A1 (ja) * 2008-09-22 2010-03-25 富士通株式会社 情報処理装置及びそのメモリ保護方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010500661A (ja) * 2006-08-09 2010-01-07 クゥアルコム・インコーポレイテッド プロセッサ命令セット動作モードを比較するデバッグ回路
US8352713B2 (en) 2006-08-09 2013-01-08 Qualcomm Incorporated Debug circuit comparing processor instruction set operating mode
JP2009140122A (ja) * 2007-12-05 2009-06-25 Yokogawa Electric Corp シーケンス制御回路
WO2010032330A1 (ja) * 2008-09-22 2010-03-25 富士通株式会社 情報処理装置及びそのメモリ保護方法
JP5392263B2 (ja) * 2008-09-22 2014-01-22 富士通株式会社 情報処理装置及びそのメモリ保護方法

Similar Documents

Publication Publication Date Title
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
JP2746549B2 (ja) コンピュータシステム及びその動作方法
JP3984786B2 (ja) 異なる待ち時間を伴う命令のスケジューリング
AU613217B2 (en) Data processing apparatus
US7058945B2 (en) Information processing method and recording medium therefor capable of enhancing the executing speed of a parallel processing computing device
US4402081A (en) Semiconductor memory test pattern generating apparatus
US4887267A (en) Logic integrated circuit capable of simplifying a test
US5040107A (en) Pipelined processor with look-ahead mode of operation
JPH05274259A (ja) シリアル入力インタフェース回路
JP2006018413A (ja) プロセッサおよびパイプライン再構成制御方法
US5673425A (en) System for automatic generating instruction string to verify pipeline operations of a processor by inputting specification information having time for the processor to access hardware resources
US5619734A (en) Programmable controller and method of operation thereof
JP2003256237A (ja) 割り込み発生装置、割り込み発生方法および割り込み発生プログラム
JPH0658630B2 (ja) データ処理装置
JP2003345406A (ja) 制御装置
JPH1011315A (ja) インサーキットエミュレータ装置およびインサーキットエミュレーション方法
JP2552738B2 (ja) データ処理装置
JP7343197B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2758624B2 (ja) マイクロプログラムの調速方式
KR100284287B1 (ko) 가변 리셋 어드레스를 가지는 마이크로프로세서
JP2792351B2 (ja) プログラム開発支援装置
US7404130B2 (en) Method for optimizing a pattern generation program, a program, and a signal generator
JPH08129487A (ja) プログラムシーケンス制御回路
JP3488815B2 (ja) アドレス記憶回路
JP2770420B2 (ja) マイクロプログラム制御方式