JP3590282B2 - スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置 - Google Patents

スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置 Download PDF

Info

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
Application number
JP37770398A
Other languages
English (en)
Other versions
JPH11316695A (ja
Inventor
セ キョン ホン
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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor 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
Priority claimed from KR1019970077867A external-priority patent/KR100257773B1/ko
Priority claimed from KR1019970077896A external-priority patent/KR100257772B1/ko
Application filed by Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of JPH11316695A publication Critical patent/JPH11316695A/ja
Application granted granted Critical
Publication of JP3590282B2 publication Critical patent/JP3590282B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • G06F11/3648Software 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

【0001】
【発明の属する技術分野】
本発明はマイクロプロセッサーに関し、特にコンピュータプログラムの停止点インターラプト(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サイクルに一つのアドレスを出力するアドレス制御手段と、
    上記停止点を生成したいアドレスを保存する停止点アドレス貯蔵手段と、
    上記停止点インターラプト発生のために必要な制御情報を保存する制御情報貯蔵手段と、
    上記停止点アドレス貯蔵手段からのアドレスから、上記アドレス制御手段から入力されるアドレスを減算した結果に基づいて、二つのアドレス値のマッチ可否を出力するアドレスマッチ手段と、
    上記アドレスマッチ手段からの情報、上記制御情報貯蔵手段からの情報、及びバスサイクル情報を入力して停止点が発生したかを毎サイクルごとにチェックして保存し上記アドレス制御手段からの終了信号に応答して最終停止点インターラプト信号を発生させるイネーブル手段と
    を含んでなるスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  2. 上記アドレス制御手段は、
    セグメントユニットから出力された上記要請信号に応答してアドレス選択信号、ストール信号及び上記終了信号を生成する有限状態マシンと、
    上記アドレス選択信号に応答して1サイクルに上記多数のアドレス中のひとつを選択して出力する選択手段と
    を含む請求項1記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  3. 上記有限状態マシンは、一つの遊休ステート及び多数のステートで構成され、上記遊休ステートで上記アドレスに該当する上記要請信号を入力して要請されたアドレスに該当する上記ステートに遷移した後上記アドレス選択命令の選択信号及び上記ストール信号を出力することを特徴とする請求項2記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  4. 上記有限状態マシンは、上記ステートで上記要請信号がこれ以上ない場合次のサイクルで遊休ステートに遷移した後上記終了信号を上記イネーブル手段に出力することを特徴とする請求項3記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  5. 上記制御情報貯蔵手段は、上記停止点インターラプト発生装置に対するイネーブル情報、上記停止点アドレス貯蔵手段に対するイネーブル情報、停止点のタイプ及び範囲に対する情報を保存する請求項1記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  6. 上記アドレスマッチ手段は、停止点アドレスと範囲間に制約が存在しない場合に上記停止点アドレス貯蔵手段からの停止点アドレスから、上記アドレス制御手段からの選択されたアドレスを減算する減算手段と、
    上記減算手段から出力される減算結果の下位2ビットを除外した残りビットが全部 0 であるかを検出する第1検出手段と、
    上記下位2ビットが上記停止点アドレスの範囲より小さいかもしくは同じかを比較する第1比較手段と、
    上記減算手段から出力される減算結果の下位2ビットを除外した残りビットが全部 1 であるかを検出する第2検出手段と、
    上記下位2ビットが反転された上記アドレス制御手段からの選択されたアドレスのオペランド大きさより大きいかもしくは同じかを比較する第2比較手段と、
    上記第1及び第2検出手段と上記第1及び第2比較手段から出力される比較結果を入力してアドレスマッチ信号を出力する論理手段と
    を含んでなる請求項1記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  7. 上記論理手段は、上記第1検出手段及び上記第1比較手段から出力される信号を論理積する第1論理手段と、
    上記第2検出手段及び上記第2比較手段から出力される信号を論理積する第2論理手段と、
    上記第1及び第2論理手段から出力される信号を論理和して上記マッチ信号を生成する第3論理手段と
    を含む請求項6記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  8. 上記停止点アドレス及び上記アドレス制御手段からの選択されたアドレスは各々32ビットの非符号化された値として最上位ビットに 0 を1ビットずつ各々追加して上記減算手段に入力されることを特徴とする請求項6記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  9. 上記減算手段は、
    33ビットの減算演算を実行することを特徴とする請求項8記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  10. 上記第1検出手段及び上記第2検出手段は、上記減算結果の上位31ビットに対して上記検出動作を各々実行することを特徴とする請求項9記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生装置。
  11. n−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路において、
    有限状態マシンで具現したn個のアドレスを並列で入力して毎サイクルごとにひとつずつ出力するアドレス制御手段であって、n個のアドレスが全て出力される時まで次のn個のアドレスが入力されることを停止するための停止信号を発生して、入力されたn個のアドレスが全て出力される完了信号を発生するアドレス制御手段と、
    停止点アドレスを保存している停止点アドレスメモリと、
    上記アドレス制御手段の出力から、上記停止点アドレスを減算した結果に基づいて、アドレスマッチ信号を出力するアドレスマッチ手段と、
    上記完了信号が発生された時に上記アドレスマッチ信号に基づいて停止点インターラプト信号を発生する論理手段と
    を含むn−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路。
  12. デバッギングモードの可否を示すモードレジスターをさらに含んで、
    上記アドレス制御手段は上記モードレジスターがデバッギングモードを示す場合にイネーブルされることを特徴とする請求項11記載のn−ウェイスーパースカラーマイクロプロセッサーの停止点インターラプト発生回路。
  13. スーパースカラーマイクロプロセッサーの停止点インターラプト発生回路から入力されるアドレスが停止点発生が要求される所定アドレス範囲に属しているかの可否を判断するアドレスマッチ回路において、
    上記停止点発生が要求されるアドレス範囲の開始アドレスの停止点アドレスを保存している停止点アドレスメモリと、
    上記アドレス範囲値を保存している範囲メモリと、
    実行されるオペランドの大きさ値を保存しているオペランド大きさメモリと、
    上記停止点アドレスから上記入力アドレスを減算して出力する減算器と、
    上記減算器の出力が、上記オペランド大きさの反転値より大きいかもしくは同じかを、上記アドレス範囲値より小さいかもしくは同じかを検出する検出手段とを含むスーパースカラーマイクロプロセッサーの停止点インターラプト発生のためのアドレスマッチ回路。
  14. 上記減算器の出力がMビットで、上記オペランド大きさ及び上記アドレス範囲が全部Lビットで表現される時、
    上記検出手段は、
    上記減算器の出力中で上位M−Lビットが全部 0 であるかを検出する第1検出器と、
    上記減算器の出力中で上位M−Lビットが全部 1 であるかを検出する第2検出器と、
    上記減算器の出力中で下位Lビットが上記アドレス範囲値より小さいかもしくは同じかを比較する第1比較器と、
    上記減算器の出力中で下位Lビットが上記オペランド大きさより大きいかもしくは同じかを比較する第2比較器と、
    上記第1及び第2検出器の出力及び上記第1及び第2比較器の出力に基づいてアドレスマッチ信号を出力する論理手段と
    を含む請求項13記載のスーパースカラーマイクロプロセッサーの停止点インターラプト発生のためのアドレスマッチ回路。
JP37770398A 1997-12-30 1998-12-29 スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置 Expired - Fee Related JP3590282B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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