(57)【特許請求の範囲】
【請求項１】
スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置において、
有限状態マシンで具現した多数のアドレス及びメモリアクセス時発生される多数の要請信号を入力して１サイクルに一つのアドレスを出力するアドレス制御手段と、
上記停止点を生成したいアドレスを保存する停止点アドレス貯蔵手段と、
上記停止点インターラプト発生のために必要な制御情報を保存する制御情報貯蔵手段と、
上記停止点アドレス貯蔵手段からのアドレスから、上記アドレス制御手段から入力されるアドレスを減算した結果に基づいて、二つのアドレス値のマッチ可否を出力するアドレスマッチ手段と、
上記アドレスマッチ手段からの情報、上記制御情報貯蔵手段からの情報、及びバスサイクル情報を入力して停止点が発生したかを毎サイクルごとにチェックして保存し上記アドレス制御手段からの終了信号に応答して最終停止点インターラプト信号を発生させるイネーブル手段と
を含んでなるスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項２】
上記アドレス制御手段は、
セグメントユニットから出力された上記要請信号に応答してアドレス選択信号、ストール信号及び上記終了信号を生成する有限状態マシンと、
上記アドレス選択信号に応答して１サイクルに上記多数のアドレス中のひとつを選択して出力する選択手段と
を含む請求項１記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項３】
上記有限状態マシンは、一つの遊休ステート及び多数のステートで構成され、上記遊休ステートで上記アドレスに該当する上記要請信号を入力して要請されたアドレスに該当する上記ステートに遷移した後上記アドレス選択命令の選択信号及び上記ストール信号を出力することを特徴とする請求項２記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項４】
上記有限状態マシンは、上記ステートで上記要請信号がこれ以上ない場合次のサイクルで遊休ステートに遷移した後上記終了信号を上記イネーブル手段に出力することを特徴とする請求項３記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項５】
上記制御情報貯蔵手段は、上記停止点インターラプト発生装置に対するイネーブル情報、上記停止点アドレス貯蔵手段に対するイネーブル情報、停止点のタイプ及び範囲に対する情報を保存する請求項１記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項６】
上記アドレスマッチ手段は、停止点アドレスと範囲間に制約が存在しない場合に上記停止点アドレス貯蔵手段からの停止点アドレスから、上記アドレス制御手段からの選択されたアドレスを減算する減算手段と、
上記減算手段から出力される減算結果の下位２ビットを除外した残りビットが全部    ０    であるかを検出する第１検出手段と、
上記下位２ビットが上記停止点アドレスの範囲より小さいかもしくは同じかを比較する第１比較手段と、
上記減算手段から出力される減算結果の下位２ビットを除外した残りビットが全部    １    であるかを検出する第２検出手段と、
上記下位２ビットが反転された上記アドレス制御手段からの選択されたアドレスのオペランド大きさより大きいかもしくは同じかを比較する第２比較手段と、
上記第１及び第２検出手段と上記第１及び第２比較手段から出力される比較結果を入力してアドレスマッチ信号を出力する論理手段と
を含んでなる請求項１記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項７】
上記論理手段は、上記第１検出手段及び上記第１比較手段から出力される信号を論理積する第１論理手段と、
上記第２検出手段及び上記第２比較手段から出力される信号を論理積する第２論理手段と、
上記第１及び第２論理手段から出力される信号を論理和して上記マッチ信号を生成する第３論理手段と
を含む請求項６記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項８】
上記停止点アドレス及び上記アドレス制御手段からの選択されたアドレスは各々３２ビットの非符号化された値として最上位ビットに    ０    を１ビットずつ各々追加して上記減算手段に入力されることを特徴とする請求項６記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項９】
上記減算手段は、
３３ビットの減算演算を実行することを特徴とする請求項８記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項１０】
上記第１検出手段及び上記第２検出手段は、上記減算結果の上位３１ビットに対して上記検出動作を各々実行することを特徴とする請求項９記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
【請求項１１】
ｎ−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路において、
有限状態マシンで具現したｎ個のアドレスを並列で入力して毎サイクルごとにひとつずつ出力するアドレス制御手段であって、ｎ個のアドレスが全て出力される時まで次のｎ個のアドレスが入力されることを停止するための停止信号を発生して、入力されたｎ個のアドレスが全て出力される完了信号を発生するアドレス制御手段と、
停止点アドレスを保存している停止点アドレスメモリと、
上記アドレス制御手段の出力から、上記停止点アドレスを減算した結果に基づいて、アドレスマッチ信号を出力するアドレスマッチ手段と、
上記完了信号が発生された時に上記アドレスマッチ信号に基づいて停止点インターラプト信号を発生する論理手段と
を含むｎ−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路。
【請求項１２】
デバッギングモードの可否を示すモードレジスターをさらに含んで、
上記アドレス制御手段は上記モードレジスターがデバッギングモードを示す場合にイネーブルされることを特徴とする請求項１１記載のｎ−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路。
【請求項１３】
スーパースカラーマイクロプロセッサーの停止点インターラプト発生回路から入力されるアドレスが停止点発生が要求される所定アドレス範囲に属しているかの可否を判断するアドレスマッチ回路において、
上記停止点発生が要求されるアドレス範囲の開始アドレスの停止点アドレスを保存している停止点アドレスメモリと、
上記アドレス範囲値を保存している範囲メモリと、
実行されるオペランドの大きさ値を保存しているオペランド大きさメモリと、
上記停止点アドレスから上記入力アドレスを減算して出力する減算器と、
上記減算器の出力が、上記オペランド大きさの反転値より大きいかもしくは同じかを、上記アドレス範囲値より小さいかもしくは同じかを検出する検出手段とを含むスーパースカラーマイクロプロセッサーの停止点インターラプト発生のためのアドレスマッチ回路。
【請求項１４】
上記減算器の出力がＭビットで、上記オペランド大きさ及び上記アドレス範囲が全部Ｌビットで表現される時、
上記検出手段は、
上記減算器の出力中で上位Ｍ−Ｌビットが全部    ０    であるかを検出する第１検出器と、
上記減算器の出力中で上位Ｍ−Ｌビットが全部    １    であるかを検出する第２検出器と、
上記減算器の出力中で下位Ｌビットが上記アドレス範囲値より小さいかもしくは同じかを比較する第１比較器と、
上記減算器の出力中で下位Ｌビットが上記オペランド大きさより大きいかもしくは同じかを比較する第２比較器と、
上記第１及び第２検出器の出力及び上記第１及び第２比較器の出力に基づいてアドレスマッチ信号を出力する論理手段と
を含む請求項１３記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生のためのアドレスマッチ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はマイクロプロセッサーに関し、特にコンピュータプログラムの停止点インターラプト（ｂｒｅａｋｐｏｉｎｔ    ｉｎｔｅｒｒｕｐｔ）を生成するための装置に関するものである。
【０００２】
【従来技術】
コンピュータプログラムを開発する過程で、プログラムの性能を分析したりプログラム上のエラー（ｅｒｒｏｒ）を除去するためにプログラムデバッギング（ｐｒｏｇｒａｍ    ｄｅｂｕｇｇｉｎｇ）の過程を経る。プログラムをデバッギングすることはプログラムを開発する過程中で重要な部分だと認識されているのに、このような過程はたびたびプログラムを作成する時間よりはるかにより多い時間を必要とする時がある。
【０００３】
コンピュータプログラムをデバッギングするための一つの方法は観察したいイベントをあらかじめ設定しておき、プログラムを実行させていて設定したイベントが発生するようになればプログラム実行を中断させ、その時のプログラマービザブルレジスター（ｐｒｏｇｒａｍｍｅｒ    ｖｉｓｉｂｌｅ    ｒｅｇｉｓｔｅｒ）値のようなものを分析することである。メモリにあるプログラムまたはデータを参照するために、使われるアドレスをあらかじめ設定しておき、プログラムを実行させている途中でこのようなアドレスが生成される場合をこのようなイベントの一例だといえる。
【０００４】
コンピュータにより生成されたアドレスがあらかじめ設定されたアドレスと一致した時、停止点（ｂｒｅａｋｐｏｉｎｔ）が発生してコンピュータの実行が中断され、状況を分析することができる状態となる。
【０００５】
このような停止点インターラプト（ｂｒｅａｋｐｏｉｎｔ    ｉｎｔｅｒｒｕｐｔ）を生成するための方法が多様に提起されており、その中ひとつはプログラムを修正することである。すなわち、プログラムのあるアドレスにソフトウェア（ｓｏｆｔｗａｒｅ）インターラプト命令語（ｉｎｓｔｒｕｃｔｉｏｎ）を取り入れることである。しかし、このような方法は具現が容易であるが、データを参照するアドレスに対しては停止点を設定出来ないという短所がある。
【０００６】
停止点インターラプトを生成するためのもう一つの方法はコンピュータまたはマイクロプロセッサー（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）の外部に停止点インターラプトを発生させることができるハードウェア（ｈａｒｄｗａｒｅ）を設置することである。このようなハードウェアはコンピュータから生成されたアドレスをあらかじめ設定されているアドレスと比較し、一致すればハードウェアインターラプト信号をコンピュータやマイクロプロセッサーに送って実行を中断させる。しかし、このような方法は費用が多くなって、印刷回路基板（ＰｒｉｎｔｅｄＣｉｒｃｕｉｔ    ｂｏａｒｄ）の追加空間も必要になり、また高速のプロセッサーに対しては構成したハードウェアがプロセッサーの動作速度に合わせることができないので、実際に停止点インターラプトを発生すべき時点に発生させられず、後に停止点インターラプトを発生させるようになる場合が生じる。
【０００７】
そして、プロセッサーが内部的にアドレス生成装置（ａｄｄｒｅｓｓ    ｇｅｎｅｒａｔｉｏｎ    ｕｎｉｔ）をもっている場合には、プロセッサーの外で見ることができるアドレスがプログラムの論理アドレス（ｌｏｇｉｃａｌ    ａｄｄｒｅｓｓ）でなくメモリアクセスのための物理アドレス（ｐｈｙｓｉｃａｌ    ａｄｄｒｅｓｓ）になるのでこのような方法を使用して停止点インターラプトを生成出来なくなる。
【０００８】
最近では停止点インターラプトを生成できる装置をプロセッサー内部に置き、このような装置は比較すべきアドレスをあらかじめ保存しておくことができる多数のアドレスレジスター、停止点インターラプトを発生させるための制御情報を保存している多数のレジスター及びあらかじめ設定されたアドレスとプロセッサーで生成されたアドレスを比較する比較器を含む。
【０００９】
このような方法をＲＩＳＣ（Ｒｅｄｕｃｅｄ    Ｉｎｓｔｒｕｃｔｉｏｎ    Ｓｅｔ    Ｃｏｍｐｕｔｅｒ）プロセッサーに適用した場合には命令語とデータの長さが４バイト（３２ビット）で常に一定の値を持つため比較すべき値が４の倍数になるので、比較器の具現があまり複雑ではないが、インテル（Ｉｎｔｅｌ）Ｘ８６系列のようなＣＩＳＣ（Ｃｏｍｐｌｅｘ    Ｉｎｓｔｒｕｃｔｉｏｎ    Ｓｅｔ    Ｃｏｍｐｕｔｅｒ）プロセッサーに適用した場合には命令語の長さまたはデータの長さが多様であるため、比較器を具現するために多くのハードウェア資源（ｈａｒｄｗａｒｅ    ｒｅｓｏｕｒｃｅ）が必要となる。
【００１０】
ここで、停止点アドレスと停止点アドレスの範囲に制約条件（ｃｏｎｓｔｒａｉｎｔ）を与えれば多少比較器の設計が容易になるが、例えばインテルの３８６プロセッサーの場合は停止点アドレスの値を範囲が    １    である時はなんの値でも比較可能で、範囲が    ２    である時は偶数アドレスだけ比較可能で、範囲が    ４    である時は４の倍数アドレスだけ比較可能になるように制約条件を与えることによって比較器の設計を簡単にできる。しかし、インテルペンティアム（Ｐｅｎｔｉｕｍ）と共にｎ−ウェイスーパースカラー（ｓｕｐｅｒ    ｓｃａｌａｒ）方式で動作するプロセッサーでは１サイクルに多数のメモリ参照アドレスが生成されるために、それぞれの停止点アドレスレジスターはｎ個の読み出しポート（ｒｅａｄ    ｐｏｒｔ）がなければならず、またそれぞれの停止点アドレスレジスターごとに比較のためのｎ個の比較器が必要であるためハードウェア資源が非常に多く消費されるという問題点がある。
【００１１】
次に、停止点アドレスと停止点アドレスの範囲に制約条件がない場合に対する従来の停止点インターラプト発生装置でのアドレスマッチ回路部が図１に図示されている。図１は従来の停止点インターラプト発生装置でのアドレスマッチ回路部を概念的に図示したブロック図である。
【００１２】
まず停止点アドレスレジスターから停止点の開始アドレス（以下、Ｂｓｔａｒｔという）を定め、第１加算器（１００）を通じて停止点アドレスと範囲（以下、Ｒという）を加算した後停止点のストップアドレス（以下、Ｂｓｔｏｐという）を生成する。例えば、停止点アドレスレジスターの値が１６進数のＦＦＦで、Ｒが４バイト（ｂｙｔｅ）ならば、Ｂｓｔａｒｔは１６進数のＦＦＦで、Ｂｓｔｏｐは１６進数の１００２となる。そして、アドレス生成ユニット（ａｄｄｒｅｓｓ    ｇｅｎｅｒａｔｉｏｎ    ｕｎｉｔ）から生成されたアドレスのメモリ参照に対する開始アドレス（以下、Ｍｓｔａｒｔという）を定め、第２加算器（１２０）を通じてメモリ参照アドレスとオペランド大きさ（以下、ＯＳという）を加算した後メモリ参照に対するストップアドレス（以下、Ｍｓｔｏｐという）を生成する。例えば、アドレス生成ユニットから生成されたアドレスが１０００で、ＯＳが２バイトならば、Ｍｓｔａｒｔは１６進数の１０００、Ｍｓｔｏｐは１６進数の１００１になる。
【００１３】
次に、停止点インターラプトが発生するためにはＢｓｔａｒｔ、Ｂｓｔｏｐ、Ｍｓｔａｒｔ、そしてＭｓｔｏｐ間に下の条件１及び条件２が満足されなければならない。
【００１４】
（条件１）
Ｂｓｔａｒｔ≦Ｍｓｔｏｐ
（条件２）
Ｍｓｔａｒｔ≦Ｂｓｔｏｐ
このために、Ｂｓｔａｒｔ、Ｂｓｔｏｐ、Ｍｓｔａｒｔ、そしてＭｓｔｏｐが上記条件１及び２を満足するかを第１比較器（１４０）と第２比較器（１６０）を通じて比較した後、各比較結果を論理積ゲート（１８０）を通じて論理積して最終マッチ信号を発生する。例えば、詳述した例の場合にＢｓｔａｒｔが１６進数のＦＦＦで、Ｂｓｔｏｐが１６進数の１００２、Ｍｓｔａｒｔが１６進数の１０００、そしてＭｓｔｏｐが１６進数の１００１であるから上の条件を満足して最終マッチ信号を発生する。
【００１５】
上述した通り停止点アドレスと範囲間に制約が存在しない場合に対する停止点インターラプト発生装置における従来のアドレスマッチ回路は、停止点アドレスのマッチ可否を知っているために加算器、比較器及び論理ゲートなどのようなハードウェア資源がたくさん必要とするようになり、これによってマッチ信号発生に対する時間がクリティカル（ｃｒｉｔｉｃａｌ）になる。
【００１６】
【発明が解決しようとする課題】
本発明は上記のような問題点を解決するために案出されたもので、より少ないハードウェア資源を利用して面積を減らしたスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置を提供することを目的とする。
【００１７】
本発明のもう一つの目的は具現が容易で要求されるチップ−面積が少ないスーパースカラーマイクロプロセッサーの停止点インターラプト発生に使うことができるアドレスマッチ回路を提供することである。
【００１８】
【課題を解決するための手段】
上記目的を達成するため本発明によれば、スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置において、有限状態マシンで具現した多数のアドレス及びメモリアクセス時発生される多数の要請信号を入力して１サイクルに一つのアドレスを出力するアドレス制御手段と、上記停止点を生成したいアドレスを保存する停止点アドレス貯蔵手段と、上記停止点インターラプト発生のために必要な制御情報を保存する制御情報貯蔵手段と、上記停止点アドレス貯蔵手段からのアドレスから、上記アドレス制御手段から入力されるアドレスを減算した結果に基づいて、二つのアドレス値のマッチ可否を出力するアドレスマッチ手段と、上記アドレスマッチ手段からの情報、上記制御情報貯蔵手段からの情報、及びバスサイクル情報を入力して停止点が発生したかを毎サイクルごとにチェックして保存し上記アドレス制御手段からの終了信号に応答して最終停止点インターラプト信号を発生させるイネーブル手段とを含んでなるスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置が提供される。
【００１９】
また本発明によれば、ｎ−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路において、有限状態マシンで具現したｎ個のアドレスを並列で入力して毎サイクルごとにひとつずつ出力するアドレス制御手段であって、ｎ個のアドレスが全て出力される時まで次のｎ個のアドレスが入力されることを停止するための停止信号を発生して、入力されたｎ個のアドレスが全て出力される完了信号を発生するアドレス制御手段と、停止点アドレスを保存している停止点アドレスメモリと、上記アドレス制御手段の出力から、上記停止点アドレスを減算した結果に基づいて、アドレスマッチ信号を出力するアドレスマッチ手段と、上記完了信号が発生された時に上記アドレスマッチ信号に基づいて停止点インターラプト信号を発生する論理手段とを含むｎ−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路が提供される。
【００２０】
さらに、本発明では、上記停止点インターラプト発生回路はデバッギングモードの可否を示すモードレジスターをさらに含んで、上記アドレス制御手段は上記モードレジスターがデバッギングモードを示す場合にイネーブルされる。
【００２１】
さらに、本発明によれば、スーパースカラーマイクロプロセッサーの停止点インターラプト発生回路から入力されるアドレスが停止点発生が要求される所定アドレス範囲に属しているかの可否を判断するアドレスマッチ回路において、上記停止点発生が要求されるアドレス範囲の開始アドレスの停止点アドレスを保存している停止点アドレスメモリと、上記アドレス範囲値を保存している範囲メモリと、実行されるオペランドの大きさ値を保存しているオペランド大きさメモリと、上記停止点アドレスで上記入力アドレスを減算して出力する減算器と、上記減算器の出力が、上記オペランド大きさの反転値より大きいかもしくは同じかを、上記アドレス範囲値より小さいかもしくは同じかを検出する検出手段とを含むスーパースカラーマイクロプロセッサーの停止点インターラプト発生のためのアドレスマッチ回路が提供される。
【００２２】
さらに、本発明では、上記減算器の出力がＭビットで、上記オペランド大きさ及び上記アドレス範囲が全部Ｌビットで表現される時、上記検出手段は、上記減算器の出力中で上位Ｍ−Ｌビットが全部    ０    であるかを検出する第１検出器と、上記減算器の出力中で上位Ｍ−Ｌビットが全部    １    であるかを検出する第２検出器と、上記減算器の出力中で下位Ｌビットが上記アドレス範囲値より小さいかもしくは同じかを比較する第１比較器と、上記減算器の出力中で下位Ｌビットが上記オペランド大きさより大きいかもしくは同じかを比較する第２比較器と、上記第１及び第２検出器の出力及び上記第１及び第２比較器の出力に基づいてアドレスマッチ信号を出力する論理手段とを含む。
【００２３】
以下、添付した図面を参照して本発明を詳細に説明する。
【００２４】
一般に停止点を生成するために、停止点アドレスレジスターの値、範囲、現在アドレス生成ユニットで生成されたｎ個のアドレス及びオペランド大きさなどのあらゆる値を利用して１サイクルにおいてアドレスを比較するのに、本発明はデバッギング時プロセッサーの実行速度がクリティカル（ｃｒｉｔｉｃａｌ）でないという点に着眼して、生成されたｎ個のアドレスを制御して１サイクルに１つずつのアドレスを与えることができるようにするハードウェアと読み出しポートが１個の停止点レジスター、及びそれぞれの停止点アドレスレジスターごとに１個の比較器を利用して停止点を生成する。
【００２５】
図２は本発明の停止点インターラプト発生装置を図示したブロック図で、ｎ個のアドレス及びメモリアクセス時発生されるｎ個の要請信号（Ｒｅｑ１、Ｒｅｑ２、…Ｒｅｑｎ）を入力して１サイクルに一つのアドレスを送るアドレス制御ロジック（２００）、停止点を生成したいアドレスを保存する停止点アドレスレジスター（２１０）、停止点インターラプト発生のために必要な制御情報を保存する制御レジスター（２２０）、停止点アドレスレジスターの値とアドレス制御ロジック（２００）から入力されるアドレスを比較して二つのアドレス値のマッチ可否を出力するアドレスマッチ回路部（２３０）、アドレスマッチ回路部（２３０）から出力される情報と制御レジスター（２２０）の情報、及びバスサイクル情報を入力して停止点が発生したかを毎サイクルごとにチェックして保存しアドレス制御ロジック（２００）から終了信号を入力受けた時最終停止点インターラプト信号を発生させるイネーブルロジック（２４０）で構成される。
【００２６】
アドレス制御ロジック（２００）は最大ｎ個のアドレスを入力すればプロセッサーにストール（ｓｔａｌｌ）信号を発生させ、各サイクルごとに１個のアドレスを選択する役割をし、有限状態マシン（Ｆｉｎｉｔｅ    Ｓｔａｔｅ    Ｍａｃｈｉｎｅ、以下ＦＳＭという）で具現される。
【００２７】
制御レジスター（２２０）が保存する制御情報としては停止点インターラプト発生装置に対するイネーブル情報、各停止点アドレスレジスターに対するイネーブル情報、停止点のタイプ（すなわち、入力／出力参照、メモリプログラム参照、またはメモリデータ参照等）及び範囲などである。
【００２８】
図３は本発明に係る上記図２の停止点インターラプト発生装置のアドレス制御ロジックに対する内部ブロック図で、セグメントユニット（ｓｅｇｍｅｎｔ    ｕｎｉｔ：図示せず）から出力された要請信号（Ｒｅｑ１、Ｒｅｑ２、…Ｒｅｑｎ）に応答してアドレス選択信号、ストール、終了信号を生成するＦＳＭ（３００）及びアドレス選択信号に応答して一サイクルにｎ個のアドレス中のひとつを選択して出力するマルチプレクサ（３１０）で構成される。
【００２９】
ＦＳＭ（３００）は一つの遊休ステート（ｉｄｌｅ    ｓｔａｔｅ）とｎ個のステートで構成され、遊休ステートにある時、それぞれのアドレスに該当する要請信号を受けて要請されたアドレスに該当するステートに遷移し、各アドレス選択命令の選択信号を出力する。例えば、アドレス１、アドレス３、アドレス５に対する要請信号があったら（すなわち、Ｒｅｑ１、Ｒｅｑ３、Ｒｅｑ５が入力されば）、はじめは遊休ステートから第１ステートに遷移し、この時ストール信号とマルチプレクサ（３１０）にアドレス１選択命令のアドレス選択信号が出力される。次のサイクルでアドレス３に対する要請信号（Ｒｅｑ３）があるかを確認して第３ステートに遷移し、この時ストール信号とアドレス３に該当するアドレス選択信号を出力する。その後、サイクルでアドレス５に対する要請信号（Ｒｅｑ５）があるかを確認して第５ステートに遷移し、この時ストール信号とアドレス５に該当するアドレス選択信号をマルチプレクサ（３１０）に出力し、これ以上の要請信号がないのでその次のサイクルで遊休ステートに遷移しながら終了信号をイネーブルロジック（２４０）に出力する。
【００３０】
次に、停止点アドレスレジスターの値とアドレス制御ロジック（２００）から入力されるアドレスを比較して二つのアドレス値のマッチ可否を出力する本発明のアドレスマッチ回路部（２３０）を下に詳細に説明する。この時、アドレスマッチ回路部（２３０）は停止点アドレスと範囲間に制約が存在しない場合に対応したものである。
【００３１】
上述した条件１及び２は、Ｍｓｔｏｐ及びＢｓｔｏｐをＭｓｔａｒｔ＋（ＯＳ−１）及びＢｓｔａｒｔ＋（Ｒ−１）に各々代えれば次の条件３及び４に変換される。
【００３２】
（条件３）
Ｂｓｔａｒｔ≦Ｍｓｔａｒｔ＋（ＯＳ−１）
（条件４）
Ｍｓｔａｒｔ≦Ｂｓｔａｒｔ＋（Ｒ−１）
上記条件３及び条件４を結合させば、次の条件５を得ることができる。
【００３３】
まず、条件３を変形すると、
１−ＯＳ≦Ｍｓｔａｒｔ−Ｂｓｔａｒｔ
−ＯＳ＜Ｍｓｔａｒｔ−Ｂｓｔａｒｔ
同様に、条件４を変形すると、
Ｍｓｔａｒｔ−Ｂｓｔａｒｔ≦Ｒ−１
Ｍｓｔａｒｔ−Ｂｓｔａｒｔ＜Ｒ
したがって、条件５は、
（条件５）
−ＯＳ＜Ｍｓｔａｒｔ−Ｂｓｔａｒｔ＜Ｒ
上記式で、ＯＳはオペランドの大きさで、Ｒは停止点アドレスの範囲である。
【００３４】
一般に、３２ビットプロセッサーでＯＳとＲは各々１から４バイトまでの値であるので、２ビットで表現可能で、    ００    が１バイト、    ０１    が２バイト、１０    が３バイト、そして    １１    が４バイトを各々示す。
【００３５】
上記条件５で停止点が発生するためにはＭｓｔａｒｔがＢｓｔａｒｔより大きい場合はその差がＲより小さくなければならず、ＭｓｔａｒｔがＢｓｔａｒｔより小さな場合はその差がＯＳの負数値よりは大きくなければならない。この時ＯＳとＲが各々２ビットで表現されるので、停止点を発生するためにはＭｓｔａｒｔ−Ｂｓｔａｒｔが正数である場合にその差の上位ビットは全部    ０    で、下位２ビットはＲより小さいかもしくは同じでなければならないし、Ｍｓｔａｒｔ−Ｂｓｔａｒｔが負数である場合にその差の上位ビットは全部    １    で、下位２ビットはＯＳの反転された値より大きいかもしくは同じでなければならない。
【００３６】
図４は本発明に係る上記図２の停止点インターラプト発生装置のアドレスマッチ回路部に対する内部ブロック図である。
【００３７】
図面のようにアドレスマッチ回路部（２３０）は停止点アドレスレジスター（２１０）からの停止点アドレスから、アドレス制御ロジック（２００）からの選択されたアドレス（すなわち、従来技術で説明されたメモリ参照アドレス）を減算する減算器（４００）、減算結果（Ｓｕｂ［３２：０］）が正数である場合下位２ビットを除外した残りビットが全部    ０    であるかを検出する第１検出器（ｄｅｔｅｃｔｏｒ、４１０）、下位２ビットが範囲値（Ｒ）より小さいかもしくは同じかを比較する第１比較器（４２０）、減算結果（Ｓｕｂ［３２：０］）が負数である場合下位２ビットを除外した残りビットが全部    １    であるかを検出する第２検出器（４３０）、下位２ビットが反転されたＯＳより大きいかもしくは同じかを比較する第２比較器（４４０）、上記第１検出器（４１０）及び上記第１比較器（４２０）から出力される信号を論理積する第１論理積ゲート（４５０）、上記第２検出器（４３０）及び上記第２比較器（４４０）から出力される信号を論理積する第２論理積ゲート（４６０）及び上記第１及び第２論理積ゲート（４５０、４６０）から出力される信号を論理和して最終マッチ信号を生成する論理和ゲート（４７０）で構成される。
【００３８】
アドレスマッチ過程は、まず減算器（４００）を通じてＭｓｔａｒｔとＢｓｔａｒｔの差を求める。この時減算器（４００）に入力される二つのアドレス値は全部非符号化値であるから、上位に    ０    を１ビットずつ追加して使用する。減算結果は全部３３ビットになって最上位ビットは減算結果が正数または負数であるかを示す。すなわち、正数の場合には最上位ビットが    ０    となり、負数の場合には最上位ビットが    １    となる。したがって、減算結果信号の上位３１ビットと下位２ビットを利用してアドレスマッチを実行する。具体的に、減算結果が正数である場合は上位３１ビットが全部    ０    であるかと下位２ビットがＲより小さいかもしくは同じかをチェックし、結果が負数である場合は上位３１ビットが全部    １    であるかと下位２ビットがＯＳの反転された値より大きいかをチェックする。
【００３９】
以上で説明した本発明は、提示された実施例及び添附図面で限定されることがなく、本発明の技術思想を逸脱しない範囲内で本発明が属する技術分野の当業者により容易になされることができるいろいろ置換、変形及び変更も本発明の範囲に属するものである。
【００４０】
【発明の効果】
上記のような本発明は、デバッギング時プロセッサーの実行速度がクリティカル（ｃｒｉｔｉｃａｌ）でないという点に着眼して、１サイクルに生成されたｎ個のアドレスを制御して一つのアドレスを与えることができるようにするハードウェア、読み出しポートが１個の停止点レジスター、及びそれぞれの停止点アドレスレジスターごとに１個の比較器を利用して停止点を生成することによって、ハードウェア資源を減らし、それにともなう面積、電力消耗を減らすことができる効果がある。
【００４１】
また、本発明は停止点アドレスと範囲間に制約が存在しない場合に対する停止点インターラプト発生装置におけるアドレスマッチ回路部を少ないハードウェア資源を利用し具現することによって面積減少及び電力減少の効果を得ることができる。
【図面の簡単な説明】
【図１】従来の停止点インターラプト発生装置でのアドレスマッチ回路部を概念的に図示したブロック図である。
【図２】本発明の停止点インターラプト発生装置を図示したブロック図である。
【図３】本発明に係る上記図２の停止点インターラプト発生装置のアドレス制御ロジックに対する内部ブロック図である。
【図４】本発明に係る上記図２の停止点インターラプト発生装置のアドレスマッチ回路部に対する内部ブロック図である。
【符号の説明】
２００  アドレス制御ロジック
２１０  停止点アドレスレジスター
２２０  制御レジスター
２３０  アドレスマッチ回路部
２４０  イネーブルロジック
【図１】
0003590282.tif 000002
【図２】
0003590282.tif 000003
【図３】
0003590282.tif 000004
【図４】
0003590282.tif 000005