JP3590282B2 - スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置 - Google Patents
スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置 Download PDFInfo
- Publication number
- JP3590282B2 JP3590282B2 JP37770398A JP37770398A JP3590282B2 JP 3590282 B2 JP3590282 B2 JP 3590282B2 JP 37770398 A JP37770398 A JP 37770398A JP 37770398 A JP37770398 A JP 37770398A JP 3590282 B2 JP3590282 B2 JP 3590282B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- stop point
- signal
- bits
- output
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
【発明の属する技術分野】
本発明はマイクロプロセッサーに関し、特にコンピュータプログラムの停止点インターラプト(breakpoint interrupt)を生成するための装置に関するものである。
【0002】
【従来技術】
コンピュータプログラムを開発する過程で、プログラムの性能を分析したりプログラム上のエラー(error)を除去するためにプログラムデバッギング(program debugging)の過程を経る。プログラムをデバッギングすることはプログラムを開発する過程中で重要な部分だと認識されているのに、このような過程はたびたびプログラムを作成する時間よりはるかにより多い時間を必要とする時がある。
【0003】
コンピュータプログラムをデバッギングするための一つの方法は観察したいイベントをあらかじめ設定しておき、プログラムを実行させていて設定したイベントが発生するようになればプログラム実行を中断させ、その時のプログラマービザブルレジスター(programmer visible register)値のようなものを分析することである。メモリにあるプログラムまたはデータを参照するために、使われるアドレスをあらかじめ設定しておき、プログラムを実行させている途中でこのようなアドレスが生成される場合をこのようなイベントの一例だといえる。
【0004】
コンピュータにより生成されたアドレスがあらかじめ設定されたアドレスと一致した時、停止点(breakpoint)が発生してコンピュータの実行が中断され、状況を分析することができる状態となる。
【0005】
このような停止点インターラプト(breakpoint interrupt)を生成するための方法が多様に提起されており、その中ひとつはプログラムを修正することである。すなわち、プログラムのあるアドレスにソフトウェア(software)インターラプト命令語(instruction)を取り入れることである。しかし、このような方法は具現が容易であるが、データを参照するアドレスに対しては停止点を設定出来ないという短所がある。
【0006】
停止点インターラプトを生成するためのもう一つの方法はコンピュータまたはマイクロプロセッサー(microprocessor)の外部に停止点インターラプトを発生させることができるハードウェア(hardware)を設置することである。このようなハードウェアはコンピュータから生成されたアドレスをあらかじめ設定されているアドレスと比較し、一致すればハードウェアインターラプト信号をコンピュータやマイクロプロセッサーに送って実行を中断させる。しかし、このような方法は費用が多くなって、印刷回路基板(PrintedCircuit board)の追加空間も必要になり、また高速のプロセッサーに対しては構成したハードウェアがプロセッサーの動作速度に合わせることができないので、実際に停止点インターラプトを発生すべき時点に発生させられず、後に停止点インターラプトを発生させるようになる場合が生じる。
【0007】
そして、プロセッサーが内部的にアドレス生成装置(address generation unit)をもっている場合には、プロセッサーの外で見ることができるアドレスがプログラムの論理アドレス(logical address)でなくメモリアクセスのための物理アドレス(physical address)になるのでこのような方法を使用して停止点インターラプトを生成出来なくなる。
【0008】
最近では停止点インターラプトを生成できる装置をプロセッサー内部に置き、このような装置は比較すべきアドレスをあらかじめ保存しておくことができる多数のアドレスレジスター、停止点インターラプトを発生させるための制御情報を保存している多数のレジスター及びあらかじめ設定されたアドレスとプロセッサーで生成されたアドレスを比較する比較器を含む。
【0009】
このような方法をRISC(Reduced Instruction Set Computer)プロセッサーに適用した場合には命令語とデータの長さが4バイト(32ビット)で常に一定の値を持つため比較すべき値が4の倍数になるので、比較器の具現があまり複雑ではないが、インテル(Intel)X86系列のようなCISC(Complex Instruction Set Computer)プロセッサーに適用した場合には命令語の長さまたはデータの長さが多様であるため、比較器を具現するために多くのハードウェア資源(hardware resource)が必要となる。
【0010】
ここで、停止点アドレスと停止点アドレスの範囲に制約条件(constraint)を与えれば多少比較器の設計が容易になるが、例えばインテルの386プロセッサーの場合は停止点アドレスの値を範囲が 1 である時はなんの値でも比較可能で、範囲が 2 である時は偶数アドレスだけ比較可能で、範囲が 4 である時は4の倍数アドレスだけ比較可能になるように制約条件を与えることによって比較器の設計を簡単にできる。しかし、インテルペンティアム(Pentium)と共にn−ウェイスーパースカラー(super scalar)方式で動作するプロセッサーでは1サイクルに多数のメモリ参照アドレスが生成されるために、それぞれの停止点アドレスレジスターはn個の読み出しポート(read port)がなければならず、またそれぞれの停止点アドレスレジスターごとに比較のためのn個の比較器が必要であるためハードウェア資源が非常に多く消費されるという問題点がある。
【0011】
次に、停止点アドレスと停止点アドレスの範囲に制約条件がない場合に対する従来の停止点インターラプト発生装置でのアドレスマッチ回路部が図1に図示されている。図1は従来の停止点インターラプト発生装置でのアドレスマッチ回路部を概念的に図示したブロック図である。
【0012】
まず停止点アドレスレジスターから停止点の開始アドレス(以下、Bstartという)を定め、第1加算器(100)を通じて停止点アドレスと範囲(以下、Rという)を加算した後停止点のストップアドレス(以下、Bstopという)を生成する。例えば、停止点アドレスレジスターの値が16進数のFFFで、Rが4バイト(byte)ならば、Bstartは16進数のFFFで、Bstopは16進数の1002となる。そして、アドレス生成ユニット(address generation unit)から生成されたアドレスのメモリ参照に対する開始アドレス(以下、Mstartという)を定め、第2加算器(120)を通じてメモリ参照アドレスとオペランド大きさ(以下、OSという)を加算した後メモリ参照に対するストップアドレス(以下、Mstopという)を生成する。例えば、アドレス生成ユニットから生成されたアドレスが1000で、OSが2バイトならば、Mstartは16進数の1000、Mstopは16進数の1001になる。
【0013】
次に、停止点インターラプトが発生するためにはBstart、Bstop、Mstart、そしてMstop間に下の条件1及び条件2が満足されなければならない。
【0014】
(条件1)
Bstart≦Mstop
(条件2)
Mstart≦Bstop
このために、Bstart、Bstop、Mstart、そしてMstopが上記条件1及び2を満足するかを第1比較器(140)と第2比較器(160)を通じて比較した後、各比較結果を論理積ゲート(180)を通じて論理積して最終マッチ信号を発生する。例えば、詳述した例の場合にBstartが16進数のFFFで、Bstopが16進数の1002、Mstartが16進数の1000、そしてMstopが16進数の1001であるから上の条件を満足して最終マッチ信号を発生する。
【0015】
上述した通り停止点アドレスと範囲間に制約が存在しない場合に対する停止点インターラプト発生装置における従来のアドレスマッチ回路は、停止点アドレスのマッチ可否を知っているために加算器、比較器及び論理ゲートなどのようなハードウェア資源がたくさん必要とするようになり、これによってマッチ信号発生に対する時間がクリティカル(critical)になる。
【0016】
【発明が解決しようとする課題】
本発明は上記のような問題点を解決するために案出されたもので、より少ないハードウェア資源を利用して面積を減らしたスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置を提供することを目的とする。
【0017】
本発明のもう一つの目的は具現が容易で要求されるチップ−面積が少ないスーパースカラーマイクロプロセッサーの停止点インターラプト発生に使うことができるアドレスマッチ回路を提供することである。
【0018】
【課題を解決するための手段】
上記目的を達成するため本発明によれば、スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置において、有限状態マシンで具現した多数のアドレス及びメモリアクセス時発生される多数の要請信号を入力して1サイクルに一つのアドレスを出力するアドレス制御手段と、上記停止点を生成したいアドレスを保存する停止点アドレス貯蔵手段と、上記停止点インターラプト発生のために必要な制御情報を保存する制御情報貯蔵手段と、上記停止点アドレス貯蔵手段からのアドレスから、上記アドレス制御手段から入力されるアドレスを減算した結果に基づいて、二つのアドレス値のマッチ可否を出力するアドレスマッチ手段と、上記アドレスマッチ手段からの情報、上記制御情報貯蔵手段からの情報、及びバスサイクル情報を入力して停止点が発生したかを毎サイクルごとにチェックして保存し上記アドレス制御手段からの終了信号に応答して最終停止点インターラプト信号を発生させるイネーブル手段とを含んでなるスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置が提供される。
【0019】
また本発明によれば、n−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路において、有限状態マシンで具現したn個のアドレスを並列で入力して毎サイクルごとにひとつずつ出力するアドレス制御手段であって、n個のアドレスが全て出力される時まで次のn個のアドレスが入力されることを停止するための停止信号を発生して、入力されたn個のアドレスが全て出力される完了信号を発生するアドレス制御手段と、停止点アドレスを保存している停止点アドレスメモリと、上記アドレス制御手段の出力から、上記停止点アドレスを減算した結果に基づいて、アドレスマッチ信号を出力するアドレスマッチ手段と、上記完了信号が発生された時に上記アドレスマッチ信号に基づいて停止点インターラプト信号を発生する論理手段とを含むn−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路が提供される。
【0020】
さらに、本発明では、上記停止点インターラプト発生回路はデバッギングモードの可否を示すモードレジスターをさらに含んで、上記アドレス制御手段は上記モードレジスターがデバッギングモードを示す場合にイネーブルされる。
【0021】
さらに、本発明によれば、スーパースカラーマイクロプロセッサーの停止点インターラプト発生回路から入力されるアドレスが停止点発生が要求される所定アドレス範囲に属しているかの可否を判断するアドレスマッチ回路において、上記停止点発生が要求されるアドレス範囲の開始アドレスの停止点アドレスを保存している停止点アドレスメモリと、上記アドレス範囲値を保存している範囲メモリと、実行されるオペランドの大きさ値を保存しているオペランド大きさメモリと、上記停止点アドレスで上記入力アドレスを減算して出力する減算器と、上記減算器の出力が、上記オペランド大きさの反転値より大きいかもしくは同じかを、上記アドレス範囲値より小さいかもしくは同じかを検出する検出手段とを含むスーパースカラーマイクロプロセッサーの停止点インターラプト発生のためのアドレスマッチ回路が提供される。
【0022】
さらに、本発明では、上記減算器の出力がMビットで、上記オペランド大きさ及び上記アドレス範囲が全部Lビットで表現される時、上記検出手段は、上記減算器の出力中で上位M−Lビットが全部 0 であるかを検出する第1検出器と、上記減算器の出力中で上位M−Lビットが全部 1 であるかを検出する第2検出器と、上記減算器の出力中で下位Lビットが上記アドレス範囲値より小さいかもしくは同じかを比較する第1比較器と、上記減算器の出力中で下位Lビットが上記オペランド大きさより大きいかもしくは同じかを比較する第2比較器と、上記第1及び第2検出器の出力及び上記第1及び第2比較器の出力に基づいてアドレスマッチ信号を出力する論理手段とを含む。
【0023】
以下、添付した図面を参照して本発明を詳細に説明する。
【0024】
一般に停止点を生成するために、停止点アドレスレジスターの値、範囲、現在アドレス生成ユニットで生成されたn個のアドレス及びオペランド大きさなどのあらゆる値を利用して1サイクルにおいてアドレスを比較するのに、本発明はデバッギング時プロセッサーの実行速度がクリティカル(critical)でないという点に着眼して、生成されたn個のアドレスを制御して1サイクルに1つずつのアドレスを与えることができるようにするハードウェアと読み出しポートが1個の停止点レジスター、及びそれぞれの停止点アドレスレジスターごとに1個の比較器を利用して停止点を生成する。
【0025】
図2は本発明の停止点インターラプト発生装置を図示したブロック図で、n個のアドレス及びメモリアクセス時発生されるn個の要請信号(Req1、Req2、…Reqn)を入力して1サイクルに一つのアドレスを送るアドレス制御ロジック(200)、停止点を生成したいアドレスを保存する停止点アドレスレジスター(210)、停止点インターラプト発生のために必要な制御情報を保存する制御レジスター(220)、停止点アドレスレジスターの値とアドレス制御ロジック(200)から入力されるアドレスを比較して二つのアドレス値のマッチ可否を出力するアドレスマッチ回路部(230)、アドレスマッチ回路部(230)から出力される情報と制御レジスター(220)の情報、及びバスサイクル情報を入力して停止点が発生したかを毎サイクルごとにチェックして保存しアドレス制御ロジック(200)から終了信号を入力受けた時最終停止点インターラプト信号を発生させるイネーブルロジック(240)で構成される。
【0026】
アドレス制御ロジック(200)は最大n個のアドレスを入力すればプロセッサーにストール(stall)信号を発生させ、各サイクルごとに1個のアドレスを選択する役割をし、有限状態マシン(Finite State Machine、以下FSMという)で具現される。
【0027】
制御レジスター(220)が保存する制御情報としては停止点インターラプト発生装置に対するイネーブル情報、各停止点アドレスレジスターに対するイネーブル情報、停止点のタイプ(すなわち、入力/出力参照、メモリプログラム参照、またはメモリデータ参照等)及び範囲などである。
【0028】
図3は本発明に係る上記図2の停止点インターラプト発生装置のアドレス制御ロジックに対する内部ブロック図で、セグメントユニット(segment unit:図示せず)から出力された要請信号(Req1、Req2、…Reqn)に応答してアドレス選択信号、ストール、終了信号を生成するFSM(300)及びアドレス選択信号に応答して一サイクルにn個のアドレス中のひとつを選択して出力するマルチプレクサ(310)で構成される。
【0029】
FSM(300)は一つの遊休ステート(idle state)とn個のステートで構成され、遊休ステートにある時、それぞれのアドレスに該当する要請信号を受けて要請されたアドレスに該当するステートに遷移し、各アドレス選択命令の選択信号を出力する。例えば、アドレス1、アドレス3、アドレス5に対する要請信号があったら(すなわち、Req1、Req3、Req5が入力されば)、はじめは遊休ステートから第1ステートに遷移し、この時ストール信号とマルチプレクサ(310)にアドレス1選択命令のアドレス選択信号が出力される。次のサイクルでアドレス3に対する要請信号(Req3)があるかを確認して第3ステートに遷移し、この時ストール信号とアドレス3に該当するアドレス選択信号を出力する。その後、サイクルでアドレス5に対する要請信号(Req5)があるかを確認して第5ステートに遷移し、この時ストール信号とアドレス5に該当するアドレス選択信号をマルチプレクサ(310)に出力し、これ以上の要請信号がないのでその次のサイクルで遊休ステートに遷移しながら終了信号をイネーブルロジック(240)に出力する。
【0030】
次に、停止点アドレスレジスターの値とアドレス制御ロジック(200)から入力されるアドレスを比較して二つのアドレス値のマッチ可否を出力する本発明のアドレスマッチ回路部(230)を下に詳細に説明する。この時、アドレスマッチ回路部(230)は停止点アドレスと範囲間に制約が存在しない場合に対応したものである。
【0031】
上述した条件1及び2は、Mstop及びBstopをMstart+(OS−1)及びBstart+(R−1)に各々代えれば次の条件3及び4に変換される。
【0032】
(条件3)
Bstart≦Mstart+(OS−1)
(条件4)
Mstart≦Bstart+(R−1)
上記条件3及び条件4を結合させば、次の条件5を得ることができる。
【0033】
まず、条件3を変形すると、
1−OS≦Mstart−Bstart
−OS<Mstart−Bstart
同様に、条件4を変形すると、
Mstart−Bstart≦R−1
Mstart−Bstart<R
したがって、条件5は、
(条件5)
−OS<Mstart−Bstart<R
上記式で、OSはオペランドの大きさで、Rは停止点アドレスの範囲である。
【0034】
一般に、32ビットプロセッサーでOSとRは各々1から4バイトまでの値であるので、2ビットで表現可能で、 00 が1バイト、 01 が2バイト、10 が3バイト、そして 11 が4バイトを各々示す。
【0035】
上記条件5で停止点が発生するためにはMstartがBstartより大きい場合はその差がRより小さくなければならず、MstartがBstartより小さな場合はその差がOSの負数値よりは大きくなければならない。この時OSとRが各々2ビットで表現されるので、停止点を発生するためにはMstart−Bstartが正数である場合にその差の上位ビットは全部 0 で、下位2ビットはRより小さいかもしくは同じでなければならないし、Mstart−Bstartが負数である場合にその差の上位ビットは全部 1 で、下位2ビットはOSの反転された値より大きいかもしくは同じでなければならない。
【0036】
図4は本発明に係る上記図2の停止点インターラプト発生装置のアドレスマッチ回路部に対する内部ブロック図である。
【0037】
図面のようにアドレスマッチ回路部(230)は停止点アドレスレジスター(210)からの停止点アドレスから、アドレス制御ロジック(200)からの選択されたアドレス(すなわち、従来技術で説明されたメモリ参照アドレス)を減算する減算器(400)、減算結果(Sub[32:0])が正数である場合下位2ビットを除外した残りビットが全部 0 であるかを検出する第1検出器(detector、410)、下位2ビットが範囲値(R)より小さいかもしくは同じかを比較する第1比較器(420)、減算結果(Sub[32:0])が負数である場合下位2ビットを除外した残りビットが全部 1 であるかを検出する第2検出器(430)、下位2ビットが反転されたOSより大きいかもしくは同じかを比較する第2比較器(440)、上記第1検出器(410)及び上記第1比較器(420)から出力される信号を論理積する第1論理積ゲート(450)、上記第2検出器(430)及び上記第2比較器(440)から出力される信号を論理積する第2論理積ゲート(460)及び上記第1及び第2論理積ゲート(450、460)から出力される信号を論理和して最終マッチ信号を生成する論理和ゲート(470)で構成される。
【0038】
アドレスマッチ過程は、まず減算器(400)を通じてMstartとBstartの差を求める。この時減算器(400)に入力される二つのアドレス値は全部非符号化値であるから、上位に 0 を1ビットずつ追加して使用する。減算結果は全部33ビットになって最上位ビットは減算結果が正数または負数であるかを示す。すなわち、正数の場合には最上位ビットが 0 となり、負数の場合には最上位ビットが 1 となる。したがって、減算結果信号の上位31ビットと下位2ビットを利用してアドレスマッチを実行する。具体的に、減算結果が正数である場合は上位31ビットが全部 0 であるかと下位2ビットがRより小さいかもしくは同じかをチェックし、結果が負数である場合は上位31ビットが全部 1 であるかと下位2ビットがOSの反転された値より大きいかをチェックする。
【0039】
以上で説明した本発明は、提示された実施例及び添附図面で限定されることがなく、本発明の技術思想を逸脱しない範囲内で本発明が属する技術分野の当業者により容易になされることができるいろいろ置換、変形及び変更も本発明の範囲に属するものである。
【0040】
【発明の効果】
上記のような本発明は、デバッギング時プロセッサーの実行速度がクリティカル(critical)でないという点に着眼して、1サイクルに生成されたn個のアドレスを制御して一つのアドレスを与えることができるようにするハードウェア、読み出しポートが1個の停止点レジスター、及びそれぞれの停止点アドレスレジスターごとに1個の比較器を利用して停止点を生成することによって、ハードウェア資源を減らし、それにともなう面積、電力消耗を減らすことができる効果がある。
【0041】
また、本発明は停止点アドレスと範囲間に制約が存在しない場合に対する停止点インターラプト発生装置におけるアドレスマッチ回路部を少ないハードウェア資源を利用し具現することによって面積減少及び電力減少の効果を得ることができる。
【図面の簡単な説明】
【図1】従来の停止点インターラプト発生装置でのアドレスマッチ回路部を概念的に図示したブロック図である。
【図2】本発明の停止点インターラプト発生装置を図示したブロック図である。
【図3】本発明に係る上記図2の停止点インターラプト発生装置のアドレス制御ロジックに対する内部ブロック図である。
【図4】本発明に係る上記図2の停止点インターラプト発生装置のアドレスマッチ回路部に対する内部ブロック図である。
【符号の説明】
200 アドレス制御ロジック
210 停止点アドレスレジスター
220 制御レジスター
230 アドレスマッチ回路部
240 イネーブルロジック
Claims (14)
- スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置において、
有限状態マシンで具現した多数のアドレス及びメモリアクセス時発生される多数の要請信号を入力して1サイクルに一つのアドレスを出力するアドレス制御手段と、
上記停止点を生成したいアドレスを保存する停止点アドレス貯蔵手段と、
上記停止点インターラプト発生のために必要な制御情報を保存する制御情報貯蔵手段と、
上記停止点アドレス貯蔵手段からのアドレスから、上記アドレス制御手段から入力されるアドレスを減算した結果に基づいて、二つのアドレス値のマッチ可否を出力するアドレスマッチ手段と、
上記アドレスマッチ手段からの情報、上記制御情報貯蔵手段からの情報、及びバスサイクル情報を入力して停止点が発生したかを毎サイクルごとにチェックして保存し上記アドレス制御手段からの終了信号に応答して最終停止点インターラプト信号を発生させるイネーブル手段と
を含んでなるスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。 - 上記アドレス制御手段は、
セグメントユニットから出力された上記要請信号に応答してアドレス選択信号、ストール信号及び上記終了信号を生成する有限状態マシンと、
上記アドレス選択信号に応答して1サイクルに上記多数のアドレス中のひとつを選択して出力する選択手段と
を含む請求項1記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。 - 上記有限状態マシンは、一つの遊休ステート及び多数のステートで構成され、上記遊休ステートで上記アドレスに該当する上記要請信号を入力して要請されたアドレスに該当する上記ステートに遷移した後上記アドレス選択命令の選択信号及び上記ストール信号を出力することを特徴とする請求項2記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
- 上記有限状態マシンは、上記ステートで上記要請信号がこれ以上ない場合次のサイクルで遊休ステートに遷移した後上記終了信号を上記イネーブル手段に出力することを特徴とする請求項3記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
- 上記制御情報貯蔵手段は、上記停止点インターラプト発生装置に対するイネーブル情報、上記停止点アドレス貯蔵手段に対するイネーブル情報、停止点のタイプ及び範囲に対する情報を保存する請求項1記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
- 上記アドレスマッチ手段は、停止点アドレスと範囲間に制約が存在しない場合に上記停止点アドレス貯蔵手段からの停止点アドレスから、上記アドレス制御手段からの選択されたアドレスを減算する減算手段と、
上記減算手段から出力される減算結果の下位2ビットを除外した残りビットが全部 0 であるかを検出する第1検出手段と、
上記下位2ビットが上記停止点アドレスの範囲より小さいかもしくは同じかを比較する第1比較手段と、
上記減算手段から出力される減算結果の下位2ビットを除外した残りビットが全部 1 であるかを検出する第2検出手段と、
上記下位2ビットが反転された上記アドレス制御手段からの選択されたアドレスのオペランド大きさより大きいかもしくは同じかを比較する第2比較手段と、
上記第1及び第2検出手段と上記第1及び第2比較手段から出力される比較結果を入力してアドレスマッチ信号を出力する論理手段と
を含んでなる請求項1記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。 - 上記論理手段は、上記第1検出手段及び上記第1比較手段から出力される信号を論理積する第1論理手段と、
上記第2検出手段及び上記第2比較手段から出力される信号を論理積する第2論理手段と、
上記第1及び第2論理手段から出力される信号を論理和して上記マッチ信号を生成する第3論理手段と
を含む請求項6記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。 - 上記停止点アドレス及び上記アドレス制御手段からの選択されたアドレスは各々32ビットの非符号化された値として最上位ビットに 0 を1ビットずつ各々追加して上記減算手段に入力されることを特徴とする請求項6記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
- 上記減算手段は、
33ビットの減算演算を実行することを特徴とする請求項8記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。 - 上記第1検出手段及び上記第2検出手段は、上記減算結果の上位31ビットに対して上記検出動作を各々実行することを特徴とする請求項9記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
- n−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路において、
有限状態マシンで具現したn個のアドレスを並列で入力して毎サイクルごとにひとつずつ出力するアドレス制御手段であって、n個のアドレスが全て出力される時まで次のn個のアドレスが入力されることを停止するための停止信号を発生して、入力されたn個のアドレスが全て出力される完了信号を発生するアドレス制御手段と、
停止点アドレスを保存している停止点アドレスメモリと、
上記アドレス制御手段の出力から、上記停止点アドレスを減算した結果に基づいて、アドレスマッチ信号を出力するアドレスマッチ手段と、
上記完了信号が発生された時に上記アドレスマッチ信号に基づいて停止点インターラプト信号を発生する論理手段と
を含むn−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路。 - デバッギングモードの可否を示すモードレジスターをさらに含んで、
上記アドレス制御手段は上記モードレジスターがデバッギングモードを示す場合にイネーブルされることを特徴とする請求項11記載のn−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路。 - スーパースカラーマイクロプロセッサーの停止点インターラプト発生回路から入力されるアドレスが停止点発生が要求される所定アドレス範囲に属しているかの可否を判断するアドレスマッチ回路において、
上記停止点発生が要求されるアドレス範囲の開始アドレスの停止点アドレスを保存している停止点アドレスメモリと、
上記アドレス範囲値を保存している範囲メモリと、
実行されるオペランドの大きさ値を保存しているオペランド大きさメモリと、
上記停止点アドレスから上記入力アドレスを減算して出力する減算器と、
上記減算器の出力が、上記オペランド大きさの反転値より大きいかもしくは同じかを、上記アドレス範囲値より小さいかもしくは同じかを検出する検出手段とを含むスーパースカラーマイクロプロセッサーの停止点インターラプト発生のためのアドレスマッチ回路。 - 上記減算器の出力がMビットで、上記オペランド大きさ及び上記アドレス範囲が全部Lビットで表現される時、
上記検出手段は、
上記減算器の出力中で上位M−Lビットが全部 0 であるかを検出する第1検出器と、
上記減算器の出力中で上位M−Lビットが全部 1 であるかを検出する第2検出器と、
上記減算器の出力中で下位Lビットが上記アドレス範囲値より小さいかもしくは同じかを比較する第1比較器と、
上記減算器の出力中で下位Lビットが上記オペランド大きさより大きいかもしくは同じかを比較する第2比較器と、
上記第1及び第2検出器の出力及び上記第1及び第2比較器の出力に基づいてアドレスマッチ信号を出力する論理手段と
を含む請求項13記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生のためのアドレスマッチ回路。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970077867A KR100257773B1 (ko) | 1997-12-30 | 1997-12-30 | 정지점 생성 장치에서의 주소 매치 회로 |
KR1019970077896A KR100257772B1 (ko) | 1997-12-30 | 1997-12-30 | 수퍼스칼라 마이크로프로세서의 정지점 생성 장치 |
KR1997-77867 | 1997-12-30 | ||
KR1997-77896 | 1997-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11316695A JPH11316695A (ja) | 1999-11-16 |
JP3590282B2 true JP3590282B2 (ja) | 2004-11-17 |
Family
ID=26633318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37770398A Expired - Fee Related JP3590282B2 (ja) | 1997-12-30 | 1998-12-29 | スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6477664B1 (ja) |
JP (1) | JP3590282B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3684831B2 (ja) * | 1998-03-31 | 2005-08-17 | セイコーエプソン株式会社 | マイクロコンピュータ、電子機器及びデバッグシステム |
JP2001051863A (ja) * | 1999-08-09 | 2001-02-23 | Fujitsu Ltd | マイクロプロセッサ |
US7334161B2 (en) * | 2004-04-30 | 2008-02-19 | Arm Limited | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus |
US20060179258A1 (en) * | 2005-02-09 | 2006-08-10 | International Business Machines Corporation | Method for detecting address match in a deeply pipelined processor design |
WO2007114953A2 (en) * | 2006-04-04 | 2007-10-11 | Insightful Corporation | Method and system for providing a visual debugger for an interpreted statistical language |
US8806447B2 (en) * | 2010-10-29 | 2014-08-12 | International Business Machines Corporation | Step-type operation processing during debugging by machine instruction stepping concurrent with setting breakpoints |
US9015676B2 (en) | 2010-10-29 | 2015-04-21 | International Business Machines Corporation | Varying removal of internal breakpoints during debugging of code |
US8843899B2 (en) | 2010-10-29 | 2014-09-23 | International Business Machines Corporation | Implementing a step-type operation during debugging of code using internal breakpoints |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5785145A (en) | 1980-11-18 | 1982-05-27 | Fujitsu Ltd | Address detection system |
JPS57155650A (en) | 1981-03-23 | 1982-09-25 | Hitachi Ltd | Detecting circuit of break point |
JPS6049339A (ja) * | 1983-08-30 | 1985-03-18 | Dainippon Screen Mfg Co Ltd | 複製画像の編集装置 |
JPS6295644A (ja) | 1985-10-22 | 1987-05-02 | Yokogawa Electric Corp | マイクロプロセッサ用プログラムデバッグ装置 |
US4860195A (en) * | 1986-01-24 | 1989-08-22 | Intel Corporation | Microprocessor breakpoint apparatus |
US5053944A (en) * | 1986-01-24 | 1991-10-01 | Intel Corporation | Microprocessor breakpoint apparatus |
US5165027A (en) * | 1986-01-24 | 1992-11-17 | Intel Corporation | Microprocessor breakpoint apparatus |
US5640542A (en) | 1993-10-29 | 1997-06-17 | Intel Corporation | On-chip in-circuit-emulator memory mapping and breakpoint register modules |
US5664159A (en) | 1994-03-08 | 1997-09-02 | Exponential Technology, Inc. | Method for emulating multiple debug breakpoints by page partitioning using a single breakpoint register |
US5530804A (en) | 1994-05-16 | 1996-06-25 | Motorola, Inc. | Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes |
US6052801A (en) * | 1995-05-10 | 2000-04-18 | Intel Corporation | Method and apparatus for providing breakpoints on a selectable address range |
US5717909A (en) | 1995-05-26 | 1998-02-10 | National Semiconductor Corporation | Code breakpoint decoder |
US5694589A (en) | 1995-06-13 | 1997-12-02 | Intel Corporation | Instruction breakpoint detection apparatus for use in an out-of-order microprocessor |
FR2764407B1 (fr) * | 1997-06-05 | 1999-07-30 | Alsthom Cge Alcatel | Dispositif de retouche de programme de commande dans un processeur |
-
1998
- 1998-12-29 JP JP37770398A patent/JP3590282B2/ja not_active Expired - Fee Related
- 1998-12-30 US US09/223,388 patent/US6477664B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11316695A (ja) | 1999-11-16 |
US6477664B1 (en) | 2002-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE36766E (en) | Microprocessor breakpoint apparatus | |
US4347565A (en) | Address control system for software simulation | |
US6408383B1 (en) | Array access boundary check by executing BNDCHK instruction with comparison specifiers | |
JP2651916B2 (ja) | インサーキット・エミュレータ | |
KR101793318B1 (ko) | 명령어 에뮬레이션 프로세서, 방법 및 시스템 | |
US5961633A (en) | Execution of data processing instructions | |
JPS6014341A (ja) | 基本命令セツト計算機システムにおけるトラツプ割込み方式 | |
US20070136565A1 (en) | Stack underflow debug with sticky base | |
US4860195A (en) | Microprocessor breakpoint apparatus | |
JPH08328848A (ja) | マイクロプロセッサ | |
US5249278A (en) | Microprocessor breakpoint apparatus | |
CN113228024A (zh) | 用于推测执行的安全预测器 | |
US20110179255A1 (en) | Data processing reset operations | |
JP4689087B2 (ja) | 情報処理装置及び省電力移行制御方法 | |
JP3590282B2 (ja) | スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置 | |
US20070226418A1 (en) | Processor and method for controlling processor | |
US5717909A (en) | Code breakpoint decoder | |
KR20170100448A (ko) | 데이터 스토리지 | |
US7774758B2 (en) | Systems and methods for secure debugging and profiling of a computer system | |
JPS62179033A (ja) | 集積回路マイクロプロセツサ | |
US5053944A (en) | Microprocessor breakpoint apparatus | |
JPH1049373A (ja) | パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置 | |
KR100257773B1 (ko) | 정지점 생성 장치에서의 주소 매치 회로 | |
US5829049A (en) | Simultaneous execution of two memory reference instructions with only one address calculation | |
US5717891A (en) | Digital signal processor with caching of instructions that produce a memory conflict |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040326 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040810 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040819 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 5 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 5 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 6 |
|
S633 | Written request for registration of reclamation of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313633 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110827 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110827 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110827 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120827 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |