专利摘要:
プロセッサ(12)実現が、アドレス可能メモリ内の各アドレスに基づきデバッグ命令インスタンスの実行モードの選択をサポートする。命令の幾つかのインスタンスはデバッグセマンティクスで実行することで、他のインスタンスはノーオペレーション(NOP)セマンティクスで実行することで抑圧するように、デバッグ命令を実行するための魅力的な機構を提供する。動作実行セマンティクスは、特定デバッグ命令インスタンスが駐在するメモリページ(458、459)の属性(411)に基づく。アドレス空間の部分(561、562)は区切られてよく(例えば境界レジスタに格納された値を使用)、特定デバッグ命令インスタンスのアドレスを、区切られた部分と比較することで、好適な実行セマンティクスを選択できる。特定デバッグ命令インスタンスに対する好適な実行セマンティクスの選択に、両タイプの評価が使用できる。
公开号:JP2011514606A
申请号:JP2011500821
申请日:2009-02-02
公开日:2011-05-06
发明作者:エル. ウィセンハント、ゲイリー;ディー. スナイダー、マイケル;シー. モイヤー、ウィリアム
申请人:フリースケール セミコンダクター インコーポレイテッド;
IPC主号:G06F11-28
专利说明:

[0001] 本発明は、一般的にはデータ処理システム、さらに具体的には、データ処理システムにおけるデバッグ命令の使用に関する。]
背景技術

[0002] デバッグ命令は通常、ソフトウェア開発段階でデバッグ動作が行われるようにするために使用される。いったんソフトウェアが開発されてデバッグ命令でチェックされたら、これらのデバッグ命令を取り除いてソフトウェアアプリケーション中に望ましくない例外を引き起こさないようにする。しかしながらこれらのデバッグ命令を取り除くと、システムの実行特性が変化し、特にリアルタイムアプリケーションで問題を生じることがある。]
[0003] [選好実施形態の概要]
デバッグ命令は、デバッグ停止モードへの条件付きエントリを容易にし、またはソフトウェアデバッグ例外(例えばデバッグ割込)の生成を容易にするために、種々のプロセッサの実行においてサポートされる。いずれの場合も、そのようなデバッグ命令を、動作が評価、試験またはデバッグされているコードに入れることによって、開発者は、ソフトウェア制御のもとで現在の実行環境の状態に基づきデバッグ動作を開始できる。]
先行技術

[0004] 米国特許出願第11/871847号明細書]
発明が解決しようとする課題

[0005] いったんソフトウェア開発とソフトウェア検査のうちの少なくとも1個が完了すると、生成コード中に残っているこれらのデバッグ命令は、除去または抑圧(suppress)されないと望ましくない例外や望ましくないデバッグ挙動を引き起こすことがある。残念ながら、デバッグ命令を除去するとシステムの実行特性が変化する傾向がある。すなわち、デバッグ命令が除去されると、分岐ターゲットと、ページ境界と、その他の命令関係とが変化することがあるので、コードイメージそのものが変化する。これらの変化はリアルタイムコードにおいて特に問題となり得る。]
[0006] その結果として、少なくとも選択されたデバッグ命令の動作が抑圧されている間、製造コードイメージが実質的に変化しないようにする技術が望まれる。あるソフトウェアシステムの連続的な生成と、更に新しく開発されるシステムと、既存のシステムの新しい展開(deployment)とは、このようなデバッグ命令が残っているコードを再利用することがあるので、デバッグ命令が特定のデバッグ命令インスタンス(例えば安定コード中に駐在するもの)に影響し、それ以外には影響しないことが望ましい。]
課題を解決するための手段

[0007] デバッグ命令インスタンスに対する実行モードの選択をアドレス可能なメモリ内のそれぞれのアドレスに基づきサポートするプロセッサの実現は、命令のあるインスタンスはデバッグセマンティクスで動作することによって、他のインスタンスはノーオペレーション(NOP)セマンティクスで実行することによって抑圧するように、デバッグ命令を実行するための魅力的な機構を提供できることが発見された。或る実施形態では、動作する実行セマンティクス(semantics)の選択は、特定のデバッグ命令インスタンスが駐在するメモリページの属性に基づいてよい。或る実施形態では、アドレス空間の部分が区切られ(例えば境界レジスタに格納された値を使用)、特定のデバッグ命令インスタンスのアドレスを区切られた部分と比較することによって好適な実行セマンティクスを選択できる。或る実施形態では、特定のデバッグ命令インスタンスに対する好適な実行セマンティクスを選択するために両タイプの評価を使用できる。]
[0008] 具体的に説明するために、特定のプロセッサ設計と、メモリ組織と、デバッグ型命令と、デバッグ環境とに焦点を当てる。例えば、或る実施形態においてデバッグ通知停止(DNH)命令を実現するプロセッサは、インスタンスが駐在するメモリアドレスまたは領域に基づき、デバッグ通知停止命令のインスタンスに対して選択的な実行セマンティクスを提供するように適合される。或る実施形態では、メモリ管理ユニットがメモリページに従って命令インスタンスに注釈を付け(例えばメモリからフェッチされるとき)、これらの注釈に基づきセグメント一致または領域一致(または不一致)基準と、実行セマンティクスとは、選択される。或る実施形態では、ノーオペレーションセマンティクスが選択されないデバッグ命令の実行のために通常供給される信号または命令コードの代わりに、復号論理を使用することによってプロセッサによって実現されるノーオペレーション型命令に対して信号または命令コードを供給する。もちろん、ここに記載する技術は、他のデバッグ命令と他のプロセッサ設計でも広く応用できるが、例示した文脈に基づき当業者によって理解されるであろう。]
[0009] 従って、前述のことを考慮し、かつ、本発明の実施形態に使用されてよいデバッグ型命令と、基本的なプロセッサまたはシステムアーキテクチャと、アドレス一致基準と、好適な実行セマンティクスとを選択するメカニズムの範囲を制限することなく、以下に特定の実施形態について説明する。]
[0010] 添付の図面を参照することによって、本発明をより良く理解し、その多数の目的と、特徴と、長所とを当業者に明らかにすることができる。
類似または同一の部材には、異なる図面で等しい参照符号を使用する。]
図面の簡単な説明

[0011] 本発明の1以上の実施形態に従うデータ処理システムのブロック図。
本発明の1以上の実施形態に従うプロセッサのブロック図。
本発明の1以上の実施形態のアドレス認証された条件付きデバッグ動作を説明するフローチャート。
アドレスに基づく条件付きデバッグ動作を容易にするためにメモリページングシステム属性を用いる本発明の1以上の実施形態の動作説明。
アドレスに基づく条件付きデバッグ動作を容易にするためにセグメントまたは領域マーキング技術を用いる本発明の1以上の実施形態の動作説明。
アドレスに基づく条件付きデバッグ動作を容易にするために、メモリページングシステムとセグメントまたは領域マーキング技術の結合が用いられる本発明の1以上の実施形態の動作説明。]
実施例

[0012] [プロセッサと条件付きデバッグ一般]
図1は、本発明の或る実施形態と一致するデータ処理システム10(デバッグ装置)を示す。一般に、データ処理システム10は単一の集積回路または複数の集積回路上で実現されてよい。ある場合には、データ処理システム10はシステム・オン・チップとして実現されてよい。例示された構成では、データ処理システム10は、プロセッサ12と、外部デバッグ回路14と、I/Oモジュール16と、メモリ18とを含む。データ処理システム10の構成要素は相互に接続され、何らかの適切な技術を用いて相互に動作する。単純化するために、バス20を介する主要な機能ブロックの相互接続を例示するが、当業者は、多様な相互接続技術とトポロジのうちのいずれも本発明から逸脱することなく使用できることを、認識するであろう。] 図1
[0013] 典型的には、プロセッサ12の実現は、フェッチバッファまたはその他のプロセッサによって実行される命令を格納する手段と、デコーダおよびシーケンシング論理と、1個以上の実行ユニットと、好適なデータと、命令と制御パスを格納したレジスタ記憶装置とを有する。いつでも、プロセッサ12によって行われる計算結果に一致することによって、プログラムコード(例えば命令)とデータのユニットは、メモリ18と、1層以上のキャッシュと、プロセッサ記憶域(例えばフェッチバッファ、レジスタ等)とのうちの少なくとも1つに駐在する。一般に、メモリまたはキャッシュ内で命令とデータを分けたり、混ぜたりする設計を有する、多様なメモリ階層のいずれも使用できる。メモリ18(またはその部分)は、プロセッサと同じ集積回路内に位置してよく、プロセッサ12とは異なる集積回路に位置してよく、または複数の集積回路にまたがってもよい。さらにメモリ18は、任意の好適なタイプの記憶装置、例えば読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、非揮発性メモリ(例えばフラッシュ)等を有しうる。外部デバッグ回路14は、プロセッサ12と同じ集積回路に含まれてよく、またはプロセッサ12を有するいかなる集積回路やシステム・オン・チップからも独立した別個のシステムとして実現されてよい。]
[0014] 図2は、データ処理システム10のプロセッサ12(図1参照)に対応するプロセッサ例、すなわちプロセッサ12のブロック図である。プロセッサ12は、命令デコーダ22と、実行ユニット24と、命令フェッチユニット26と、制御回路28と、汎用レジスタ30と、ロード/格納ユニット32と、バスインターフェースユニット(BIU)34と、内部デバッグ回路40とを有する。プロセッサ12は、バスインターフェースユニット34に接続されたバス20を介してデータ処理システムの他の構成要素に通信する。典型的には他の構成要素は、既に図1に関連して説明したようにメモリ(キャッシュを含むことができる)とI/O構成要素を含む。] 図1 図2
[0015] ここで留意すべきは、図示された実施形態において、メモリ管理ユニット(MMU)36はアドレス変換を(例えば実現されたセグメンテーションまたはページングされたメモリモデルに従って)調整することによって、ここで述べる条件付きデバッグ制御の幾つかを実現するために好都合な場所を提供することである。従って、以下の記述においてメモリ管理ユニット手段を含む幾つかの設計を例示する。それにも関わらず当業者はこの記述に基づき、メモリから実行ユニット24までの命令パス上にある他の構成要素(例えば命令フェッチユニット26と命令デコーダ22)が、類似した条件付きデバッグ制御または上述した制御の特定部分を、特にメモリ管理ユニットを省いた実施形態において実現できることを認識するであろう。図2も、或る実施形態でプロセッサ12と一緒に提供されうる任意選択キャッシュ37(例えばオンチップ)を示している。任意選択キャッシュ37は統合されたデータ/命令キャッシュとして示されているが、当業者は、望むならば別個のデータと命令部分も提供されてよく、或る実施形態はデータ部分のみまたは命令部分のみプロセッサ12と一緒に配置してよいことを認識するであろう。] 図2
[0016] 内部デバッグ回路40は、プロセッサ12内の活動を監視し、デバッグレジスタ42またはプロセッサ12内の他の場所に格納されたデバッグ構成情報に基づき検出された1以上の所定の条件に応答することによって、1個以上のデータブレークポイントイベント、命令ブレークポイントイベント、命令実行イベント、例えば分岐またはトラップイベント、命令完了イベント、その他を生成できる。内部デバッグ回路40は、外部デバッグユニット、例えばIEEE ISTO−5001コンプライアント・ネクサスデバッグユニットと図2に示されたデバッグポートに接続されてよい。外部デバッグユニットは、図1に示された外部デバッグ回路14の全部または一部を含んでよい。ネクサスは、フリースケール・セミコンダクター株式会社、オースチン、テキサスの商標である。デバッグポートは、シリアルインターフェース、例えばJTAGであってよく、またはパラレルポート、シリアルポートとパラレルポートの組合せ、またはイーサネット(登録商標)ポートとして実現されてよい。或る実施形態ではプロセッサ12は、好適な相互接続または信号機構を用いて内部デバッグ回路を他のデバッグ回路オンチップにインターフェース接続させることができる。] 図1 図2
[0017] 図示されているように、内部デバッグ回路40はデバッグレジスタ42とデバッグ制御回路44を含んでいる。デバッグレジスタ42は、典型的には種々のデバッグ関連イベント、例えば命令ブレークポイント、データブレークポイント、ウォッチポイント、およびその他のデバッギング関連メッセージングを制御するために、フィールドにグループ分けしたビットを含んでいる。一般的には、これらのデバッギングリソースは、プロセッサ12と外部デバッグ回路14との間で共有されてよく、いかなる場合もアドレスに基づきここで述べる条件付きデバッグ制御を選択的に有効にする(または無効にする)述語(predicate)状態(例えばメモリページ属性と、マークされたセグメントまたは領域と、アドレス識別子とのうち少なくとも1個の組合せ)を規定するために使用できる。]
[0018] 一般に、デバッグレジスタ42は、1個以上のアドレス比較値、アドレス範囲、データ一致値のための記憶装置を提供する。記憶装置は、命令および/またはデータアクセスブレークポイント、ウォッチポイントイベント、およびその他のデバッグ制御基準の実現に有益である。これらのアドレスおよびデータ値は、種々の制御基準とともに、いつプロセッサ12がブレークポイントまたはウォッチポイントイベントを生成する目的で1個以上の所定の命令アドレスまたはデータアドレスにアクセスするか決定するのに用いられる。これによってプロセッサ12は、内部デバッグモードがアクティブであるときデバッグ例外のための例外処理を開始でき、またはプロセッサ12はデバッグ停止モードに入り、外部デバッグモードがアクティブであるとき内部デバッグユニット40のデバッグポートを通して外部デバッグ回路14によって供給される命令に応答できる。]
[0019] 例として、これに限るものではないが、デバッグレジスタ42は、デバッグ構成情報の記憶に適したデバッグ制御レジスタ、命令アドレス比較レジスタとデータアドレス比較レジスタ、ならびにデバッグ状態レジスタ、デバッグカウンタおよびデータ値比較レジスタを有しうる。一般に、デバッグレジスタ42は、ユーザのソフトウェアプログラミングモデルの可視部分であってよい。デバッグカウンタは、1個以上の計数可能なイベントが発生したらカウントダウンするように構成できる。計数値がゼロに達したら、デバッグ計数イベントが伝えられて、有効であるならばデバッグ割込が生成されてよい。データ値比較レジスタは、データ比較目的、例えば条件付きブレークポイントを実現するためにデータ値を格納できる。]
[0020] 内部デバッグモードでは、レジスタリソースはソフトウェアによって管理され、外部デバッグ回路の使用は必要とされない。ソフトウェアは、専用レジスタ命令との間でデータが行き来することを通してレジスタを構成できる。専用レジスタ命令は、ソフトウェアに基づくデバッギング活動を実行するために個々のデバッグレジスタを初期化するソフトウェア命令である。有効にされたデバッグイベントは、ソフトウェアデバッグ割込をトリガする。このときソフトウェア割込ハンドラは、データ処理システム10のソフトウェアプログラマによって決定される種々の望ましい活動を実行できる。]
[0021] 外部デバッグモードでは、外部デバッグ回路14は、デバッグレジスタ42の共有デバッグレジスタの所有を割当てられ、構成されたデバッグイベントが生じたら、プロセッサ12は停止状態に入ることができ、外部デバッグ回路14によって提供される命令を待つ。外部デバッグモードが有効にされているとき、ソフトウェアは、もはや共有されたデバッグリソースを制御できない。或る実施形態では、デバッグレジスタ42は、デバッグレジスタ42内またはプロセッサ12内の他の場所に配置された外部デバッグ制御レジスタを有する。外部デバッグ制御レジスタは、ユーザのソフトウェアプログラミングモデルの一部でなくてもよい。すなわち、プロセッサ12上で実行されるソフトウェアは、外部デバッグ制御レジスタの可視性を持たなくてよい。外部デバッグ回路14は、共有デバッグリソースと、任意の専用外部デバッグリソースとに、直接デバッグポート(図2に示す)を介してアクセスできる。これは例えば、JTAG TAPポートとして実現される。或る実施形態では、デバッグレジスタ42と外部デバッグ制御レジスタは、種々のJTAG命令の1個以上のフィールド内に含まれたレジスタ選択符号化を有するJTAGデータレジスタとしてマッピングされてよく、これはJTAG IR動作とJTAG DR動作とを通してデバッガによるレジスタの読取りと書込みアクセスを提供する。] 図2
[0022] 例として、ただしこれに限るものではなく、与えられた命令のインスタンスの生成が、インスタンスがプロセッサによってアドレス可能なメモリ内に現れるアドレスに基づき(ここで述べる技術を用いて)認証される、条件付きデバッグ型命令の2つの例を要約する。これらの例は、デバッグ通知停止(DNH)命令とブレークポイント命令コーディングであり、プロセッサコア、例えばフリースケール・セミコンダクターが費用を重視した内蔵リアルタイムアプリケーション、例えば自動車マイクロコントローラ(MCU)のMPC5000ファミリ用に供給するコアのe700/e500とe200コアファミリによって実現される。]
[0023] デバッグ通知停止命令は、非停止モードにおけるコアでの命令の実行と、外部デバッグ手段の後続の動作とを橋渡しする。具体的には、デバッグ通知停止命令によってソフトウェアは、コアを実行状態から停止状態に移行させることができ(外部デバッガによって有効にされている場合)、外部デバッガに命令自体に含まれているメッセージとコード化されたビットコードを通知できる。典型的に実現されると、デバッグ通知停止命令は、条件付きデバッグ命令であり、そのランタイム効果はデバッグ制御レジスタにおいて設定される特定の指示の状態によって決定される(例えば図2のデバッグレジスタ42参照)。例えば1つの実現において、DNH_NOP指示は、外部デバッグ手段またはソフトウェアによって設定され、DNH_EN指示は、消去され、デバッグ通知停止命令インスタンスは、ノーオペレーションとして実行される。DNH_WPT指示が設定されると、ウォッチポイントは、外部のCPUに伝えられる。] 図2
[0024] 粗粒度制御機構(例えば好適なDNH_NOPとDNH_EN指示の使用)によってデバッグ通知停止命令は、プロセッサをデバッグ状態に保持したり、不正な命令例外を行ったりする代りに、所望されるならノーオペレーションとして扱われることができる。この制御によってデバッグ通知停止命令は、コード開発後のアプリケーションのコードイメージ中に内蔵され続けるが、単純にノーオペレーションとして働くことによって無害に留まる。このようにして、コードイメージ自体が変化する必要がなく、分岐ターゲットと、ページ境界と、他の命令関係とが変化しないままなので、予測可能に実行される。しかしながら、デバッグ通知停止タイプ命令のすべての(さらにはグループ全体の)インスタンスの粗粒度制御は、安定コード中に含まれたデバッグ通知停止命令インスタンスがノーオペレーションとして扱われるために十分な粒度を提供しないかも知れないが、同時に他のデバッグ通知停止命令インスタンスが停止またはウォッチポイントとして動作することを可能にする。]
[0025] ここで留意すべきは、特許文献1が上述したデバッグ通知停止命令の変形であるDNH2を開示していることである。そこにおいてDNH2命令フォーマットは、個々のDNH2命令インスタンスが有限数の制御グループの1つに関連付けられるようすることによって、グループ特有の制御機構(例えばグループ特有のGROUPx.DNH_NOPとGROUPx.DNH_EN指示)は、各々のグループについて好適な実行セマンティクスを決定するために使用されうる。ここでは例としてデバッグ通知停止命令に焦点を当てたが、上述した内容に基づき、当業者は、ここで述べるアドレス認証されたデバッグ制御がDNH2命令のような変形命令を実現する設計に適用できることを理解するであろう。]
[0026] 同様に本発明の或る実施形態において、ブレークポイント(bkpt)命令は、アドレス認証が提供されるデバッグ命令として使用され得る。ある命令セットの実現において、ブレークポイント命令は、命令セットアーキテクチャ(ISA)によって明確に定義されないが、不正命令コードとして実現されることがある。不正命令コードは、実行後に例外または誤りを生成し、これらはデバッグ手段によって処理するために送られうる。幾つかの命令セットアーキテクチャと実現において、bkpt命令コード(または類似の命令コーディング)は、定義され且つ提供されてよい。明確にするために、しかも一般性を制限または喪失することなく、ここではブレークポイント命令を定義された命令セットコーディング(例えばbkpt命令)であるかのように参照する。]
[0027] 上述のように、所望されるならプロセッサをデバッグ状態に保持する代わりに、粗粒度制御機構によってbkpt命令は、ノーオペレーションとして扱われてよい。この制御によってbkpt命令は、コード開発後にアプリケーションのコードイメージ内に内蔵されたままであるが、単純にノーオペレーション動作として作用することによって無害に留まる。上記のように、分岐ターゲットと、ページ境界と、他の命令関係とが変化しないため、予測可能に実行される。しかしながら、上述したように、bkpt命令のすべての(またはグループの)インスタンスの粗粒度制御は、安定コード内のbkpt命令インスタンスがノーオペレーションとして扱われるようにするために十分な粒度を提供しないが、同時に他のbkpt命令インスタンスがブレークポイントとして動作できるようにする。]
[0028] 従って、ここではアドレスによるデバッグ命令インスタンスの認証を用いて、デバッグ通知停止と、bkptと、他のデバッグ型命令とのうちの少なくとも1個の具体的なインスタンスの挙動を特定する技術について述べる。以下の記述に基づき、当業者は、類似または同様のデバッグ命令を実現するプロセッサとシステムへの非常に多様な応用を理解するであろう。]
[0029] 図3は、本発明の1以上の実施形態に従いアドレス認証された条件付きデバッグ技術のセットアップと動作を例示するフローチャートである。図面の左側には、アドレス認証された条件付きデバッグのためのセットアップ301のシーケンスが示されている。例えば或る実施形態では、デバッグ型命令インスタンス、例えばここに登場するデバッグ通知停止、DNH2、bkpt等を無効化(または有効化)するために個々のコードブロックが考慮される(311)。一般的な提案として、コードブロックは任意の好適な粒度であることができ、命令の機能、手順、モジュール、サブシーケンス等に対応してよい。どのようなものであれ粒度を使用することは、アドレス認証子の記憶域310、セットアップシーケンス301記憶域に対応するページフレーム識別子、セグメント識別子、領域識別子(例えばベースアドレス/アドレスマスクペア)および/または個々のデバッグ命令インスタンスの動作または挙動を変化させるためのアドレスに基づく他の何らかの認証子によって提供される。] 図3
[0030] プロセッサ、例えばプロセッサ12(図2参照)でコードを実行している間(フロー302)、プログラムシーケンシングに従う命令(または複数の命令)の復号に備えて、且つ結果として起こるプログラムシーケンシングに従う命令(または複数の命令)の実行に備えて、各々の命令(または命令グループ)が典型的にはメモリまたはキャッシュからフェッチされる(ステップS321)。デバッグ命令インスタンスに対しては、メモリ内で特定のインスタンスが見いだされる具体的なメモリアドレスは、記憶域310内のアドレスに基づく認証子に対してチェックされる(ステップS322)。記憶域310に示されたページ、セグメントまたはメモリアドレスの範囲が、デバッグ型命令インスタンスの具体的なメモリアドレスと一致したら(ステップS323)、この命令インスタンスのデバッグ実行セマンティクスは、抑圧される(ステップS324)。典型的には、一致した命令インスタンスに対しては命令フェッチまたは復号ユニット(例えば図2の命令フェッチユニット26、命令デコーダ22参照)によって、ノーオペレーション命令コードは置換される。しかし望むならば他の抑圧機構が使用されてもよい。最後に、(デバッグ実行セマンティクスは抑圧されて)対応する命令が実行される(ステップS325)。] 図2
[0031] 図4は、特定のデバッグ命令インスタンスのメモリアドレスに基づく条件付きデバッグ動作を容易にするためにメモリページングシステム属性が使用される本発明の1個以上の実施形態の動作を示している。既に説明したようにアドレスに基づく認証子は、デバッグハードウェアとソフトウェアのうちの少なくとも1つから供給される指示に基づき記憶域に示される。より具体的には図4の例で、デバッグ関連ページフレーム属性が供給されて(405)、集合的にページ変換410として示された1個以上のページメモリ管理記憶域(例えばページテーブル、トランスレーション・ルックアサイド・バッファ(TLB)エントリ等)で符号化される。当業者は、メモリ管理ユニット450の実現、より一般的にはページングされたメモリ管理システムの多様な好適な実現を理解するであろう。明確にするために、しかも一般性を制限または喪失することなく、ここでは単純化されたページングシステムについて技術の例示に必要な側面のみ示す。] 図4
[0032] 慣用的に、メモリ管理ユニット450は、仮想アドレス(例えば命令フェッチアドレス427)をアドレス可能記憶装置内の物理アドレス(例えばメモリおよび/またはキャッシュ420内の位置471に対応する物理アドレス499)に変換する。メモリページングシステムの例示と一致することによって、アドレス可能記憶装置は、ページフレームレベルの粒度で表示される。すなわち、仮想アドレス498に対応するページフレームは、ページ変換410を用いて、物理アドレス空間内の対応するページ(例えば物理ページ458)にマッピングされる。やはり慣用的に、ページ属性411は、マッピング412に関連して符号化される。例えば、あるメモリページングシステム実現において、ライトスルー(W)と、キャッシュ抑圧(I)と、メモリ一貫性要求(M)と、保護(G)と、エンディアン(E)との属性は、ページ属性411内の個々の変換に関連する構成指示として特定されうる。我々のアドレス認証条件付きデバッグ技術をサポートするために、ページ属性411に追加的なデバッグ無効化(D)属性を加える。追加的なデバッグ無効化(D)属性は、(ある実現においては)ページングシステム実現で具体的に定義された属性を用いて、または(他の実現においては)さもなければ割当てられていないユーザ定義可能ページ属性を用いて提供される。具体的なコーディングが何であれ、アドレス指定された位置471に格納された特定のデバッグ型命令インスタンスのフェッチとの関連で、ページ変換410から読出される特定のデバッグ無効化(D)指示413は、フェッチされた命令インスタンスに対する実行セマンティクスを決定するために使用される。]
[0033] 図4の例において、仮想ページから物理ページへの変換418と419は、物理アドレス空間内のそれぞれの物理ページ458と459に対応する。従ってページ458と459内で物理アドレスからフェッチされるデバッグ型命令インスタンスは、ページ変換410における対応するデバッグ無効化(D)指示セット(405)に基づきノーオペレーションセマンティクスによって実行される。説明の目的のために、例示された実施形態においてデバッグ無効化(D)指示413は、対応するデバッグ型命令がノーオペレーションセマンティクスによって実行されることを示すものと想定する。もちろん他のコーディング推定(coding sense)が使用されてもよい。] 図4
[0034] 一般に、ノーオペレーションセマンティクスは、多様な何らかの方法で提供されることができる。例えばメモリ管理ユニット450は、フェッチされたデバッグ型命令インスタンス(またはキャッシュラインもしくはデバッグ型命令インスタンスが登場する他のフェッチユニット)に注釈を付けて(452)、命令パスにおける好都合なポイントで後から置換し(またはオーバーロード)を行うようにマークしてよい。特に、このように注釈を付けたデバッグ型命令インスタンスの命令コードは、フェッチユニット426(例えば453において)または命令デコーダ422(例えば454において)のノーオペレーション命令コードで置換(オーバーロード)が行われてよい。代替として、メモリ管理ユニット450は、それ自体でノーオペレーション命令コードを置換またはオーバーロードすることもできようが、これはあるレベルの命令セットの知識が一般的にメモリ管理ユニットで提供されないことを前提とする。]
[0035] 図5は、セグメントまたは領域マーキング技術が特定のデバッグ命令インスタンスのメモリアドレスに基づく条件付きデバッグ動作を容易にするために用いられる本発明の1個以上の実施形態の動作を例示する。上記のように、アドレスに基づく認証子は、デバッグハードウェアとソフトウェアのうちの少なくとも一方から供給される指示(505)に基づき記憶装置内で示される。より具体的には、図5の例においてアドレスベース/アドレスマスクペア(511...512)は、メモリおよび/またはキャッシュ518に示されたアドレス可能記憶装置の対応するセグメントまたは領域(561、562)をマークするために用いられる。命令フェッチアドレス527は、コンパレータ(516...517)の集合を用いてアドレスベース/アドレスマスクペアと比較され、一致すれば(命令パスにおける好都合なポイントで)対応するデバッグ型命令インスタンスの注釈(552)および/または置換/オーバーロードを行うという指示513が供給される。] 図5
[0036] 図5の例では、アドレス可能なメモリの位置571から引き出された命令インスタンスのデバッグ型実行セマンティクスは、命令フェッチアドレス527が1個以上のアドレスベース/アドレスマスクペア(511...512)と一致することに基づき抑圧される。上述した内容に従い、アドレスベース/アドレスマスクペアは、対応するデバッグ型命令がノーオペレーションセマンティクスによって実行されるべきであることを指示するが、他のコーディング推定が用いられてもよい。上述のように、命令パスにおける好都合なポイントは、フェッチユニットまたは命令デコーダを含む。] 図5
[0037] 先行の例に基づき図6は、アドレスに基づく条件付きデバッグ動作を容易にするためにメモリページングシステムとマーキング技術の結合が用いられる、本発明の1個以上の実施形態の動作を示している。上述のように、アドレスに基づく認証子は、デバッグハードウェアとソフトウェアのうちの少なくとも一方から供給される指示(605)に基づき記憶装置に示される。しかしながら、図6の例ではページフレーム属性とアドレスベース/アドレスマスクペアの両方が供給される。上述のように、ページフレーム属性は1個以上のページングされたメモリ管理記憶域(例えばページテーブル、トランスレーション・ルックアサイド・バッファ(TLB)エントリ等)で符号化され、ページ変換610として集合的に示される。具体的には、エントリ618(命令フェッチアドレス627に対応)は変換を提供することによってページ658を位置671(とフェッチされるデバッグ命令)が駐在するアドレス可能メモリ内のページとして識別する。] 図6
[0038] 図6の例では、アドレスベース/アドレスマスクペア(例えばアドレスベース/アドレスマスクペア611)は、ページ658内の対応する領域661をマークするために、さらにデバッグ型実行セマンティクスが抑圧されるべきアドレス可能記憶装置の部分を区切るために用いられる。具体的には図6は、(i)命令フェッチアドレス627とアドレスベース/アドレスマスクペア611の内容の比較(616)の結果と、(ii)アドレス指定された位置671に格納されている特定のデバッグ命令の対応するフェッチとの関連でページ変換610から引き出されたデバッグ無効化(D)指示613とのAND結合(論理699参照)を示している。従って、例示された構成は、デバッグ実行セマンティクスが抑圧されるべきメモリ位置のセットを、デバッグ無効化(D)指示を有するページ内に現れるメモリ位置のサブセットに狭める機構を提供する。] 図6
[0039] もちろん、ページ指示と領域指示の他の構成も可能であり想定されている。例えばある変化例において、アドレスベース/アドレスマスクペア611と一致するアドレス可能位置を、さもなければデバッグ無効化(D)指示が符号化されたページの範囲内に入るアドレス可能位置から排除するために、NOT−AND構成が使用されうる。同様に、他の変化例ではアドレスベース/アドレスマスクペア611と一致するアドレス可能位置か、またはデバッグ無効化(D)指示が符号化されたページの範囲内に入るアドレス可能位置を含めるためにOR構成が使用されうる。さらに、ここでは2つの入力の単純な1段階結合が例示されているが、望むならばより多くの数の入力と、より複雑な結合図式とが使用されてよい。それぞれのケースにおいて、(命令パスにおける好都合なポイントでの)注釈(例えば652)および/または置換/オーバーロードが対応するデバッグ型命令インスタンスに対して行われる。]
[0040] 図6の具体例を参照して、アドレス可能メモリ内の位置671からフェッチされる命令インスタンスのデバッグ型実行セマンティクスは、命令フェッチアドレス627が(i)1組のデバッグ無効化(D)指示613が現れる変換610のエントリ(618)と、(ii)アドレスベース/アドレスマスクペア(611)の内容と一致することに基づき抑圧される。上述したことに従い、ここではデバッグ無効化(D)指示とアドレスベース/アドレスマスクペアは、ノーオペレーションセマンティクスによって実行されるべきデバッグ型命令インスタンスをカバーするものと想定するが、他のコーディング推定も使用できる。また上述のように、ノーオペレーション命令コードによる置換/オーバーロードに対する命令パスにおける好都合なポイントは、フェッチユニットまたは命令デコーダを含む。] 図6
[0041] [その他の実施形態]
プロセス識別子(PID)またはアドレス空間識別子(ASID)は、プロセッサ実現においてしばしば用いられ、それ自身のユニークな仮想アドレス空間による各々の実行プロセスを提供するために使用できる。従って、本発明の或る実施形態では、そのようなプロセス識別子またはアドレス空間識別子フィールド値の全部または一部が、デバッグ型実行セマンティクスまたはノーオペレーション実行セマンティクスが望まれる1組のアドレスを規定する比較において使用されてよい。例えば、そのようなプロセス識別子またはアドレス空間識別子フィールド値の使用は、特定の実行セマンティクスが指定されているセットにおける(からの)具体的なプロセスまたはスレッドに関連した仮想アドレス空間に入るアドレスを有する(または排除する)ことができる。]
[0042] 本発明の或る実施形態において、仮想化技術が使用されてよい。仮想化はしばしば明確に区別されるアドレス空間において互いに独立に動作する論理的パーティションを規定する。例えば、あるマルチスレッドのプロセッサ実現において各々の仮想プロセッサは1つの論理的パーティションに割り当てられてよい。同様にマルチプロセッサシステムにおいて、各々の物理プロセッサは1つの論理的パーティションに割り当てられてよい。一般に、論理的パーティションの割当ては、パーティションID(LPID)値を割り当てることによって行うことができる。パーティションID値は仮想アドレスの拡張を形成し、アドレス変換中に各々のTLBエントリに対する論理的パーティション値と一致させるために使用できる。従って、本発明の或る実施形態において、LPIDフィールド値の全部または一部は範囲比較論理に対する入力として含まれて、さらに1個以上の仮想アドレス空間またはパーティションを指定することが可能となる。]
[0043] 一般に、アドレス空間比較(プロセス識別子、アドレス空間識別子またはLPIDフィールド値または何らかの仮想化手段)は、別個に用いられるか、または図3〜図6を参照して例示または説明された検索もしくは比較と組合せて用いられる。アドレス空間に対応するページ上の好適なページ属性をマークすることによって類似の機能が提供され得るのはほぼ間違いないが、ページのマーキング/アンマーキングは時間がかかるか不都合である。それゆえ或る実施形態ではで上記の代替例が魅力的であり得る。] 図3 図4 図5 図6
[0044] ここでは特定の実施形態を参照して本発明を説明したが、以下の特許請求の範囲に明記された本発明の範囲を逸脱することなく、様々な変容と変更を行うことができる。例えば特定のデバッグ命令とメモリアーキテクチャの例で技術を説明したが、我々の技術は必ずしもこれに制限されるものではない。従って或る実施形態では、或るクラスのデバッグ命令によってデバッグ命令を独立のグループに分別することが可能であり、各々のグループは実行によってなされるアクション(複数のアクションを含む)を独立に制御し、それによってデバッグの追加的なフレキシビリティが提供される。これらのグループは独立に制御されて、結果として生じるアクションはハードウェアまたはソフトウェアデバッガによって動的に変容され得る。本発明の技術はグループで区切られたデバッグ命令に対するアドレス認証を提供するために用いられてよい。]
[0045] 本発明の実施形態は、種々の情報処理システムを用いて実現されうる。従って図1と、図2と、これらに伴う説明とは例示されたデータ処理システムとプロセッサアーキテクチャに関するものであるが、これらのアーキテクチャ例は単に例示的なものにすぎない。もちろん、ここではアーキテクチャに関する記述は説明の目的のために単純化されており、当業者はここに示された論理ブロックまたは構成要素の境界が単に例示的なものであり、代替実施形態は論理ブロックまたは回路要素を結合し、および/または種々の論理ブロックまたは回路要素の機能を別様に分解しうる。] 図1 図2
[0046] 本発明を実現する要素、システムと装置は、大部分はここで機能的に記載された当業者に知られている電子構成要素と、回路と、コード(例えばソフトウェア、ファームウェアおよび/またはマイクロコード)とのうちの少なくとも1個からなる。従って構成要素と、回路と、コードとに関する詳細は、明確性と具体的のために必要な限りで説明し、本発明の基本コンセプトの理解と認識を容易にした。ある場合には、本発明の教示が不明確になることを、またはそれから注意がそれることを避けるために、公知の技術の特徴、構造、構成要素または実現技術に関する説明は、一般化した。]
[0047] 一般に、ここで用いられている用語「プログラム」と「プログラムコード」との少なくとも一方は、コンピュータシステム上で実行するために設計されたシーケンスまたは1組の命令を表す。そのようなものとしてこれらの用語はサブルーチン、機能、手順、目的方法、ソフトウェア方法の実現、インターフェースまたは目的、実行可能なアプリケーション、アプレット、サーブレット、ソース、目的コードまたは中間コード、共有されたおよび/または動的にロード/リンクされたライブラリおよび/または他のシーケンスまたはコンピュータシステム上で実行するために設計された命令グループを含んでよい。]
[0048] ここで述べるプログラムコードの全部または一部、ならびにここで述べる情報処理システムのソフトウェアによって実現された機能は、情報処理システムの要素によって、例えばコンピュータ可読媒体によって、または他のシステムを介してアクセスされ、もしくは受け取られてよい。一般にコンピュータ可読媒体は情報処理システムに恒久的に、取外し可能に、または間接的に連結されてよい。コンピュータ可読媒体は、例えば制限なく次のものを任意の数含むことができる。ディスク式とテープ式記憶媒体を含む磁気記憶媒体、光学記憶媒体、例えばコンパクトディスク媒体(例えばCD−ROM、CD−R等)およびデジタルビデオディスク記憶媒体、半導体ベースメモリユニットを含む非揮発性記憶媒体、例えばフラッシュメモリ、EEPROM、EPROM、ROM、強磁性デジタルメモリ、MRAM、揮発性記憶媒体、例えばレジスタ、バッファまたはキャッシュ、メインメモリ、RAM等、およびデータ伝送に伴う媒体、例えばコンピュータネットワーク、2点間遠隔通信装置、搬送波または信号を介する伝送があるが、これらはごく一例にすぎない。]
[0049] 最後に、仕様と図は制限的なものではなく、例示的なものと見なされるべきであり、上記の内容に従って広範な変化例と、変容と、拡張とが想定されている。特定の実施形態に関してここで述べた利益、利点、問題の解決は何らかのまたはすべての請求項の決定的な、必要な、または本質的な特徴もしくは要素と解釈されることを意図していない。]
权利要求:

請求項1
同一のデバッグ命令のデバッグ命令インスタンスである少なくとも第1インスタンスと第2インスタンスを有するコードをプロセッサ上で実行する実行ステップと;前記プロセッサによってアドレス可能なメモリ内の前記デバッグ命令インスタンスのそれぞれのアドレスに基づき、個々の前記デバッグ命令インスタンスのための実行モードを選択する選択ステップとを有するデバッグ方法、それぞれの前記アドレスに基づき、前記第1インスタンスがノーオペレーションセマンティクスで実行し、前記第2インスタンスがデバッグ関連セマンティクスで実行することを特徴とする、デバッグ方法。
請求項2
前記選択ステップは更に、前記デバッグ命令の特定のインスタンスが駐在するメモリページのデバッグ属性をチェックするステップと;少なくとも一部は前記デバッグ属性に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスのうちのいずれか一方を選択するステップとを有する、請求項1記載のデバッグ方法。
請求項3
前記デバッグ方法は更に、前記デバッグ属性を、仮想ページから物理ページへのマッピング情報に関連して維持するステップを有する、請求項2記載のデバッグ方法。
請求項4
前記選択ステップは更に、前記デバッグ命令の特定のインスタンスのためのメモリアドレスを、前記メモリの1個以上の各部分を区切る1個以上の記憶域の内容と比較するステップと;前記メモリアドレスと区切られた部分とうちの少なくとも一部の一致に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスのうちのいずれか一方を選択するステップとを有する、請求項1記載のデバッグ方法。
請求項5
前記選択ステップは更に、ページ属性チェックと、前記メモリの区切られた部分に対する比較との両方を行うステップと;前記ページ属性チェックと前記比較の構成に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスのうちのいずれか一方を選択するステップとを有する、請求項1記載のデバッグ方法。
請求項6
前記選択ステップは、さもなければ前記デバッグ関連セマンティクスを無効にする、請求項1記載のデバッグ方法。
請求項7
前記選択ステップは、さもなければ潜在している前記デバッグ関連セマンティクスを有効にする、請求項1記載のデバッグ方法。
請求項8
前記デバッグ方法は更に、前記アドレスに基づく前記ノーオペレーションセマンティクスの選択に従って前記第1インスタンスを復号することによって、ノーオペレーション命令を生成するステップと;前記ノーオペレーション命令を実行するステップとを有する、請求項1記載のデバッグ方法。
請求項9
前記デバッグ命令は、デバッグ通知停止命令、ブレークポイントまたはウォッチポイント命令、デバッグ例外のうち1個以上の機能を有するか、または実現する1組の命令から選択される、請求項1記載のデバッグ方法。
請求項10
プロセッサのデバッグ挙動を制御する制御方法であって、駐在しているデバッグ型命令のインスタンスが前記プロセッサによって異なるセマンティクスで実行される、メモリの第1アドレスと第2アドレスで区切られた部分を特定するステップと;前記部分と一致する機械可読の符号化を、前記プロセッサにアクセス可能な記憶装置に伝送するステップとを有し、前記プロセッサの論理は、伝送された前記部分と前記デバッグ型命令の実行されたインスタンスのメモリ内のそれぞれのアドレスとの比較に基づき、セマンティクスの実行に対して選択的であることを特徴とする制御方法。
請求項11
前記伝送は、外部デバッグインターフェース経由か、またはプロセッサ上で実行可能なソフトウェアに基づく、請求項10記載の制御方法。
請求項12
前記制御方法は更に、プロセッサ上でコードを実行するステップを有し、前記コードは、前記デバッグ型命令の少なくとも第1インスタンスと第2インスタンスを有し、前記部分と、前記第1インスタンスのアドレスと、前記第2インスタンスのアドレスとに基づき、前記第1インスタンスは、ノーオペレーションセマンティクスで実行し、前記第2インスタンスは、デバッグ関連セマンティクスで実行する、請求項10記載の制御方法。
請求項13
前記論理は、1組のメモリページ関連デバッグ属性と、前記プロセッサの1個以上のアドレス区切りデバッグレジスタとのうちの少なくとも1個に応答する、請求項10記載の制御方法。
請求項14
デバッグ型命令を有する命令セットを実現するプロセッサと;前記プロセッサによってアドレス可能なメモリ内のインスタンスのそれぞれのアドレスに基づき前記デバッグ型命令のそれぞれのインスタンスに対する実行モードをそれぞれ選択するプロセッサの論理とを備える、デバッグ装置。
請求項15
前記デバッグ装置は更に、ページマッピング情報に従ってメモリページに対するデバッグ属性を維持するメモリ管理ユニットを備え、実行モードに対して選択的な前記論理は、前記デバッグ型命令の特定のインスタンスに関して、特定の前記インスタンスが駐在する前記メモリページに対するデバッグ属性に応答する、請求項14記載のデバッグ装置。
請求項16
前記デバッグ装置は更に、プロセッサの1個以上の機械可読の記憶域を備え、前記記憶域は、書き込み可能であり、前記メモリの1個以上のアドレスで区切られた部分をそれぞれ特定し、実行モードに対して選択的な前記論理は、デバッグ型命令の特定のインスタンスに関して、前記記憶域の内容と、特定の前記インスタンスが駐在しているメモリアドレスとの比較に応答する、請求項14記載のデバッグ装置。
請求項17
それぞれのアドレスに基づき、前記デバッグ型命令の第1インスタンスは、ノーオペレーションセマンティクスで実行し、それぞれのアドレスに基づき、前記デバッグ型命令の第2インスタンスは、デバッグ関連セマンティクスで実行する、請求項14記載のデバッグ装置。
請求項18
前記デバッグ装置は更に、ページマッピング情報に関連して、メモリページに対するデバッグ属性を維持するメモリ管理ユニットと;書込み可能で前記メモリの1個以上のアドレスで区切られた部分を特定するプロセッサの1個以上の機械可読の記憶域とを備え、実行モードに対して選択的な前記論理は、前記デバッグ型命令の特定のインスタンスと前記メモリ内のアドレスとに関して、関連する前記デバッグ属性と前記部分との両方の構成に応答する、請求項14記載のデバッグ装置。
請求項19
前記構成は、ページ関連の前記デバッグ属性と、前記部分のうちの1個とのいずれもデバッグ関連セマンティクスに対して選択的であることを特徴とする、請求項18記載のデバッグ装置。
請求項20
前記構成は、ページ関連の前記デバッグ属性と、前記部分のうちの1個とのいずれか一方がデバッグ関連セマンティクスに対して選択的であることを特徴とする、請求項18記載のデバッグ装置。
类似技术:
公开号 | 公开日 | 专利标题
US10262162B2|2019-04-16|Control transfer termination instructions of an instruction set architecture |
JP6342970B2|2018-06-13|トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性
JP5539432B2|2014-07-02|ベクトルマスク設定技術
JP5944417B2|2016-07-05|トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録
US9524163B2|2016-12-20|Computer processor employing hardware-based pointer processing
TWI494770B|2015-08-01|用以於交易執行期間有效率地處理多個虛擬位址映射的方法、裝置及系統
US8812792B2|2014-08-19|Technique for using memory attributes
US8930657B2|2015-01-06|Method and apparatus for realtime detection of heap memory corruption by buffer overruns
JP3105223B2|2000-10-30|マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
US7149862B2|2006-12-12|Access control in a data processing apparatus
US9465753B2|2016-10-11|Memory management unit that applies rules based on privilege identifier
US10360039B2|2019-07-23|Predicted instruction execution in parallel processors with reduced per-thread state information including choosing a minimum or maximum of two operands based on a predicate value
KR100578437B1|2006-05-11|다수의 스레드의 병행 실행을 지원하는 컴퓨터 시스템에서의 인터럽트 처리 메커니즘
JP6284130B2|2018-02-28|ローカル・クリア制御
US20170212825A1|2017-07-27|Hardware profiling mechanism to enable page level automatic binary translation
DE102006015106B4|2011-04-07|Bereitstellen eines erweiterten Speicherschutzes
US6055649A|2000-04-25|Processor test port with scan chains and data streaming
US5970241A|1999-10-19|Maintaining synchronism between a processor pipeline and subsystem pipelines during debugging of a data processing system
JP4423206B2|2010-03-03|安全モードと非安全モードとを切り換えるプロセッサ
KR101461378B1|2014-11-20|동기화 simd 벡터
US8386754B2|2013-02-26|Renaming wide register source operand with plural short register source operands for select instructions to detect dependency fast with existing mechanism
US8539485B2|2013-09-17|Polling using reservation mechanism
US6408383B1|2002-06-18|Array access boundary check by executing BNDCHK instruction with comparison specifiers
JP4302492B2|2009-07-29|メモリへのアクセスを管理するための装置および方法
JP4098241B2|2008-06-11|プロセッサをコプロセッサに接続する方法及び装置
同族专利:
公开号 | 公开日
US8261047B2|2012-09-04|
JP5335887B2|2013-11-06|
TWI464576B|2014-12-11|
WO2009117178A1|2009-09-24|
US20090235059A1|2009-09-17|
CN101946232A|2011-01-12|
TW200945022A|2009-11-01|
CN101946232B|2014-11-26|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-02-02| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120201 |
2012-02-02| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120201 |
2012-02-28| RD04| Notification of resignation of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120227 |
2013-03-15| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130315 |
2013-03-27| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130326 |
2013-06-11| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130610 |
2013-06-27| TRDD| Decision of grant or rejection written|
2013-07-03| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130702 |
2013-08-08| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130731 |
2013-08-09| R150| Certificate of patent or registration of utility model|Ref document number: 5335887 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2016-08-09| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-08-08| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-11-01| S533| Written request for registration of change of name|Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
2017-11-10| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 |
2018-08-07| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-08-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-08-09| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]