JP2003323315A - データ処理装置、プロセッサユニットおよびデバッグユニット - Google Patents

データ処理装置、プロセッサユニットおよびデバッグユニット

Info

Publication number
JP2003323315A
JP2003323315A JP2003048738A JP2003048738A JP2003323315A JP 2003323315 A JP2003323315 A JP 2003323315A JP 2003048738 A JP2003048738 A JP 2003048738A JP 2003048738 A JP2003048738 A JP 2003048738A JP 2003323315 A JP2003323315 A JP 2003323315A
Authority
JP
Japan
Prior art keywords
unit
data
instruction code
code data
next instruction
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.)
Granted
Application number
JP2003048738A
Other languages
English (en)
Other versions
JP4641708B2 (ja
Inventor
Mitsumasa Yoshimura
光正 吉村
Takeshi Sato
武 佐藤
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.)
Pacific Design Inc
Original Assignee
Pacific Design 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
Application filed by Pacific Design Inc filed Critical Pacific Design Inc
Priority to JP2003048738A priority Critical patent/JP4641708B2/ja
Publication of JP2003323315A publication Critical patent/JP2003323315A/ja
Application granted granted Critical
Publication of JP4641708B2 publication Critical patent/JP4641708B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 デバッグユニットをオプションとして搭載す
るのに適した組み込み型プロセッサを提供する。 【解決手段】 システムLSIであるVUPU2を構成
するPU5に、次期命令ポインタデータφaを出力する
接続ポイント31と、次期命令コードデータφcを出力
する接続ポイント32と、次命令実行開始のタイミング
信号φtを出力する接続ポイント33を予め設け、オプ
ションユニットとして提供されるデバックユニット7が
それらの信号φa、φcおよびφtを利用可能にする。
これにより、デバッグユニット7のハードウェア負担を
減らし、低コストでオプションユニットを装着可能な埋
め込み型プロセッサを提供できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、LSIなどのデー
タ処理装置およびそれに組み込まれるプロセッサに関す
るものである。
【0002】
【従来の技術】大規模なシステムLSIが可能となり、
システム全体を単一の半導体チップ上に構築することが
可能となりつつある。これに伴って、システムを構成す
るのに必要不可欠であるプロセッサ(プロセッサユニッ
ト)と、目的に応じた性能を最大限に引き出すために専
用LSIとして開発されてきた機能とを単一の半導体チ
ップ上に組み込んで1つにしたシステムLSIの開発が
行われれている。この大規模システムLSI向けに開発
されているプロセッサは、組み込み用途プロセッサ(エ
ンベッデド・プロセッサ)と称されている。
【0003】
【発明が解決しようとする課題】組み込み用途のプロセ
ッサは、従来の単一チップでCPUを構成するのとは主
旨が根本的に異なるものであるが、現状で提供されてい
る組み込み用途のプロセッサは単一チップのCPU用の
プロセッサに対して明確に組み込み用途であることが認
識されているとは云い難い。
【0004】エンベッデド・プロセッサの大きな相違点
は、オプション機能が豊富である必要があることであ
る。すなわち、従来の単一チップで構成したCPU(ま
たは出来上がり品CPU)の場合は、広範囲のユーザの
ニーズに対応するために、必要とされるであろう機能を
予めフル実装させている。これに対し、システムLSI
に組み込まれるエンベッデド・プロセッサでは、その都
度必要とされる機能のみが要求される。したがって、従
来、1つのプロセッサとして提供されていた機能も、オ
プションモジュール化され、プロセッサユニットと、モ
ジュール化された機能とが1つのシステムLSIに搭載
されて所望の機能を備えたプロセッサがシステムLSI
の内部に構築されることになる。
【0005】このような背景にあっては、従来のCPU
の場合には内蔵されるのが一般的であったデバッグモジ
ュール(デバッグ機能)も、組み込み用途のプロセッサ
ユニットではオプションとしてシステムLSIに組み込
み可能な別ユニットとして提供されることが望ましい。
デバッグユニットとは、パーソナルコンピュータなどか
らプロセッサをブレーク(一時停止)させるためのター
ゲットとなる命令ポインタデータあるいは命令コードデ
ータを設定し、プロセッサがプログラムを実行中にブレ
ーク条件である命令ポインタデータあるいは命令コード
データを発見した場合にプロセッサユニットの処理を一
旦停止させるハードウェアである。そして、プロセッサ
の内部レジスタの内容を観測したり、内部レジスタに特
定の値を注入したりして、デバッグを行なう。
【0006】デバッグユニットをオプションモジュール
として提供するとなると、デバッグユニットの制御も組
み込み型プロセッサとは別に行われることが望ましい。
これによってデバッグの信頼性も向上する。たとえば、
デバッグユニットを操作するデバッガーソフトをパーソ
ナルコンピュータ上で走行させることができる。従来の
出来上がり品CPUであれば、デバッガがあることが前
提でソフトウェアが作成されるのに対し、組み込み型プ
ロセッサでは、デバッガを設けるか否かはユーザの仕様
となり、デバッガがあることを前提としたソフトウェア
の開発は無駄で冗長なものになる可能性があるからであ
る。また、デバッガがないシステムでデバッガがあるこ
とを前提としたソフトウェアを稼動させることは、シス
テムエラーの要因ともなりかねず、信頼性が低下する可
能性もある。
【0007】一方、デバッガユニットをプロセッサユニ
ットと独立して稼動させようとすると、ブレーク条件で
ある命令バス(命令ポインタおよび命令コード)の内容
に応じてプロセッサユニットをブレークさせるために
は、命令ポインタおよび命令コードを生成するフェッチ
およびデコード機能をプロセッサユニットと同様にデバ
ッガユニットにも設けておく必要がある。このため、シ
ステムLSIにデバッグ機能を持たせようとすると、複
雑な構成で、回路規模も比較的大きなデバッグユニット
を搭載する必要がある。そして、システムLSI全体と
してみると、フェッチおよびデコードするためのハード
ウェアが二重に保有されたかたちになってしまう。特
に、命令長が1語ないし2語といった不定長(または可
変長)の命令セットに対応するプロセッサユニットを搭
載している場合は、フェッチおよびデコードするために
以下の機能が要求されるので、二重に保有されるハード
ウェア規模も大きくなる。
【0008】すなわち、命令コードが出力されるデータ
バスのバス幅が命令長と一致していない場合は、次期命
令コードデータがデータ中のどこにいるかが判明せず、
また、フェッチしたデータに跨って次期命令コードデー
タが存在する可能性がある。したがって、ブレークさせ
る命令ポインタデータと、命令コードを含むデータのフ
ェッチに使用した命令ポインタとが一致するか否かを判
断するためには、個々の命令長を監視して次期命令ポイ
ンタの位置を決定する機能が必要になる。また、データ
バス幅が命令長と一致していないと、分岐が発生したと
きに、分岐先のアドレスがフェッチアドレスと常に一致
するとは限らないので、それを調整して次期命令ポイン
タの位置を決定する機能が必要になる。さらに、データ
バス幅が命令長と一致していないと、上述したように、
フェッチされたデータの中から、次期命令コードデータ
を選択して整列させたり、前後のデータに跨ぐ次期命令
コードデータをアライメントする機能が必要になる。
【0009】このような機能にかぎらず、次にプロセッ
サの実行ユニットで実行される次期命令コードを適切に
デバッグユニットで判断するには、以下のような機能も
必要になる。命令コードの中に、実行に複数の実行サイ
クルが費やされるマルチサイクル型の命令コードが含ま
れていると、実行ユニットで次期命令コードが実行され
るタイミングが不明となる。このため、命令フェッチか
ら、その命令が実行されるまでのタイミング検出を行な
うための機能が必要になる。このマルチサイクル命令処
理に対応できるようにするとハードウェアが非常に大規
模になる。
【0010】さらに、分岐が発生すると、それ以前にフ
ェッチされた命令コードであっても実行ユニットが実行
していない命令コードは実際には実行されない命令コー
ドであり次期命令コードとはならない。実行されない命
令コードに対してデバッグ用のブレーク信号を出力する
ことは無意味なので、分岐が発生するか否かを判別する
機能も必要になる。
【0011】これらの機能をカバーするハードウェアは
大規模になるので、システムLSIの小型化および低価
格化を考慮すると省きたいハードウェアである。しか
も、これらの機能は基本的にプロセッサユニットのフェ
ッチ機能としてプロセッサユニットのハードウェアによ
りサポートされている機能であり、ハードウェアが重複
していることになる。
【0012】その一方で、デバッグ機能を備えた埋め込
み用途のプロセッサと、デバッグ機能を備えていない埋
め込み用途のプロセッサの両方を開発することは、さら
に重複する部分の大きな投資となる。また、プロセッサ
の機能を変更したり、向上するときに、デバッグ機能の
あるものと、デバッグ機能のないものの両方を同時にバ
ージョンアップすることは大きな負荷であり、大きな重
複投資となる。また、デバッグ機能付きのプロセッサ用
のソフトウェアと、デバッグ機能なしのプロセッサ用の
ソフトウェアを2重に開発およびメンテナンスするため
の投資も必要になる。したがって、これらのディメリッ
トと比較し、デバッグユニットとプロセッサユニットと
が多少重複するハードウェアを備えている程度の重複す
るハードウェアは容認すべきことであると判断すること
も可能である。
【0013】しかしながら、本発明においては、デバッ
グユニットをオプションとして搭載することが可能なシ
ステムLSIにおいて、プロセッサユニットと重複する
ようなハードウェアをデバッグユニットから省くことが
できるシステムを提供することを目的としている。それ
により、ハードウェアおよびソフトウェアの設計・開発
あるいはメンテナンスにおける二重投資を防止すると共
に、コンパクトで低コストなシステムLSIを提供可能
とすることを本発明の目的としている。
【0014】
【課題を解決するための手段】本発明においては、組み
込み型のプロセッサユニットとして、次期命令ポインタ
データと、次期命令コードデータとをプロセッサユニッ
トの外部に出力するインターフェイスを備えたプロセッ
サユニットを提供する。このプロセッサユニットであれ
ば、システムLSIにデバッグユニットと共に組み込ん
だときに、デバッグユニットは、ブレーク条件をプロセ
ッサユニットから提供される次期命令ポインタデータお
よび/または次期命令コードデータにより判断すること
が可能となり、重複するハードウェアを省くことができ
る。その一方で、プロセッサユニット側は、デバッグユ
ニットの有無に関わらず、次期命令ポインタデータと次
期命令コードデータを出力するだけなので、ハードウェ
アおよびソフトウェアともデバッグユニットの有無に左
右されずに開発・設計およびメンテナンスを行うことが
できる。
【0015】すなわち、本発明においては、命令ポイン
タデータに基づきフェッチアドレスを出力し、得られた
データから命令コードデータを生成可能なフェッチユニ
ットと、命令コードデータに基づく処理を実行可能な実
行ユニットとを有するプロセッサユニットであって、次
に実行ユニットで実行される次期命令コードデータの次
期命令ポインタデータを当該プロセッサユニットから外
部に出力する第1の出力手段と、次期命令コードデータ
を当該プロセッサユニットから外部に出力する第2の出
力手段とを有するプロセッサユニットを提供する。この
プロセッサユニットであれば、ブレーク条件が成立する
とプロセッサユニットに対して一時停止を要求するブレ
ーク信号を供給するブレーク信号出力手段を有するデバ
ッグユニットであって、ブレーク条件として設定されて
いるターゲットの命令ポインタデータと比較する次期命
令ポインタデータを当該デバッグユニットの外部から受
け入れる第1の入力手段と、ブレーク条件として設定さ
れているターゲットの命令コードデータと比較する次期
命令コードデータを当該デバッグユニットの外部から受
け入れる第2の入力手段とを有するデバッグユニットと
組み合わせて、デバッグユニットを動作させることがで
きる。
【0016】本発明においては、デバッグユニットの制
御方法も提供される。この制御方法は、ブレーク条件が
成立するとプロセッサユニットに対して一時停止を要求
するブレーク信号を供給するブレーク要求工程を有して
おり、さらに、ブレーク条件として設定されているター
ゲットの命令ポインタデータと比較する次期命令ポイン
タデータと、ブレーク条件として設定されているターゲ
ットの命令コードデータと比較する次期命令コードデー
タとの少なくともいずれかを当該デバッグユニットの外
部から受け入れる工程を有する。したがって、デバッグ
ユニットには、プロセッサユニットのフェッチユニット
に相当するようなハードウェアは不要となる。
【0017】このため、本発明のプロセッサユニットと
デバッグユニットとを有するデータ処理装置では、フェ
ッチユニットに相当するハードウェアを重複させずにデ
バッグ機能を搭載できる。また、デバッグユニットはオ
プションユニットなので、このデバッグユニットを搭載
しなくても、本発明のプロセッサユニットを埋め込みプ
ロセッサとしてデータ処理装置、すなわちシステムLS
Iを形成することができる。
【0018】プログラムにマルチサイクル型の命令コー
ドが含まれている場合は、次期命令コードデータの実行
時期を判断する必要がある。また、分岐の発生に伴う無
駄なブレーク信号の発信を防止するためには次期命令コ
ードデータの実行直前でブレーク信号の要否を判断する
ことが望ましい。したがって、次期命令コードデータに
基づく処理を開始するタイミングを当該プロセッサユニ
ットから外部に出力する第3の出力手段を有するプロセ
ッサユニットを提供することがさらに好ましい。この次
期命令コードデータに基づく処理を開始するタイミング
は、実行ユニットにおける現在の命令コードデータに基
づく処理を完了したタイミングであり、このタイミング
を当該プロセッサユニットから外部に出力しても良い。
これに対応して、デバッグユニットにおいても、次期命
令コードデータが実行開始されるタイミングを当該デバ
ッグユニットの外部から受け入れる第3の入力手段を設
け、ブレーク信号出力手段では、少なくともターゲット
の命令ポインタデータおよびターゲットの命令コードデ
ータのいずれかと、次期命令ポインタデータおよび次期
命令コードデータのいずれかが一致し、次期命令コード
データが実行開始されるときにブレーク信号を出力すれ
ばよい。デバッグユニットの制御方法においては、次期
命令コードデータが実行開始されるタイミングを当該デ
バッグユニットの外部から受け入れる工程を設け、ブレ
ーク要求工程では、少なくともターゲットの命令ポイン
タデータおよびターゲットの命令コードデータのいずれ
かと、次期命令ポインタデータおよび次期命令コードデ
ータのいずれかが一致し、次期命令コードデータが実行
開始されるときにブレーク信号を出力する。
【0019】本願の出願人は、専用処理に適した専用回
路を備えた専用処理ユニットを有し、プロセッサユニッ
トのフェッチユニットは、命令コードデータとしてプロ
セッサユニットにおける処理を規定する汎用命令コード
データを実行ユニットに供給し、専用処理ユニットにお
ける処理を規定する専用命令コードデータを専用処理ユ
ニットに供給するデータ処理装置、すなわちシステムL
SIを提案しているが、本発明のプロセッサユニット
を、このシステムLSIの埋め込みプロセッサとして用
いることにより、低コストでデバッグユニットを追加す
ることが可能となる。
【0020】
【発明の実施の形態】以下に図面を参照して本発明をさ
らに詳しく説明する。図1に本発明に係るプロセッサユ
ニットを有するデータ処理装置、すなわちシステムLS
I2が搭載されたシステムボード1の概略を示してあ
る。システムボード1に搭載されたシステムLSI2
は、VUPUと称される本願の出願人が提案しているア
ーキテクチャによるLSI(以降ではVUPU)であ
り、プロセッサユニットあるいは汎用データ処理ユニッ
ト(以降ではPU)5と、特定の処理に特化した専用デ
ータ処理ユニット(以降ではVU)6とを搭載してい
る。さらに、本例のVUPU2は、PU5のデバッグを
行なうデバッグユニット(以降ではDU)7と、DU7
に対して信号を入出力するためのユーザインターフェイ
ス9を備えている。ユーザインターフェイス9として
は、JTAGバウンダリースキャンテストインターフェ
イスなどが採用でき、システムボード1に設けられたデ
バッグインターフェイス3を介してパーソナルコンピュ
ータ4で稼動するデバッガソフトウェア10によりDU
7を制御することができる。
【0021】図2に、VUPU2の概略をブロック図に
より示してある。VUPU2は、PU5を組み込み型プ
ロセッサとして、PU5を介してVU6をプログラムに
より制御するLSIである。PU5は、汎用的な構成の
プロセッサユニットであり、実行形式のプログラムコー
ド(マイクロプログラムコード)11aを内蔵したコー
ドRAM11と、このコードRAM11から命令をフェ
ッチし、PU5の実行ユニット(EU)13とVU6と
にデコードされた制御信号を提供するフェッチユニット
(FU)12を備えている。さらに、PU5は、汎用レ
ジスタ、フラグレジスタおよび演算ユニット(ALU)
などから構成される汎用性の高い実行ユニット13を備
えており、データRAM14を一時的な記録領域として
データを入出力しながら汎用処理を実行する。
【0022】フェッチユニット12は、前の命令あるい
はステートレジスタ15の状態、割込み信号などによっ
て決まる命令ポインタからフェッチアドレスを算出して
出力し、コードRAM11の所定のアドレスから命令コ
ードを含むデータをフェッチする。さらに、フェッチさ
れたデータをデコードして、コードRAM11から得ら
れたデータから専用命令(VU命令)あるいは汎用命令
(一般命令、PU命令)を生成し、専用命令を制御信号
(デコーデド・コントロールシグナル:Decoded Contro
l Signal)φvとしてVU6に供給し、デコードした汎
用命令を制御信号(デコーデド・コントロール・シグナ
ル:Decoded Control Signal)φpとして実行ユニット
13に供給する。実行ユニット13からは実行状態を示
すステータス信号(Exec unit Status Signal)φsが
返され、実行ユニット13およびVU6の実行結果がス
テートレジスタ(状態レジスタ)15に反映される。た
とえば、実行ユニット13で分岐条件が満足されると、
フェッチユニット12ではそれにしたがって分岐先の命
令コードをフェッチする。
【0023】このVUPU2においては、フェッチユニ
ット12に対して、PU2の実行ユニット13とVU6
とが同じ階層の処理ユニットである。したがって、フェ
ッチユニット12を実行ユニット13とVU6に共通し
た命令発行ユニットとし、実行ユニット13をVU6に
対比されるPUとしたアーキテクチャであると捉えるこ
とも可能である。
【0024】VU命令φvを実行するVU6は、自己の
ユニット宛てのVU命令φvを選択してデコードするユ
ニット21と、予め特定のデータ処理を行なうように制
御信号をハードウェア的に出力するシーケンサ(FSM
(Finite State Machine)、ファイナイトステートマシ
ン)22と、このシーケンサ22からの制御信号に従っ
て特定のデータ処理を行なうようにデザインされたデー
タパス部23を備えている。また、VU6は、PU5か
らアクセス可能なレジスタ24を備えており、データパ
ス部23の処理に必要なデータをインターフェイスレジ
スタ24を介してPU5で制御したり、VU6の内部状
態をレジスタ24を介してPU5で参照できるようにな
っている。さらに、データパス部23で処理された結果
はPU5に供給され、PU5ではその結果を利用した処
理が行なわれる。
【0025】コードRAM11には、汎用命令(PU命
令)および専用命令(VU命令)を含んだプログラム1
1aが記憶されており、フェッチユニット12により、
VU6には、自己を起動するVU命令を含む制御信号φ
vが供給され、VU命令デコーダ21がそれを選択して
動作する。一方、実行ユニット13には、PU命令がデ
コードされた制御信号φpだけが供給される。VU命令
をデコードした制御信号φvは実行ユニット13には発
行されず、その代わりに、実行を伴わないnop命令を
示す制御信号が発行され、実行ユニット13ではその処
理をスキップする。したがって、実行ユニット13では
解釈できないVU命令は実行ユニット13には提供され
ず、PU5の構成は変えることなく、新たな、あるいは
様々なVU命令を含んだプログラム11aをVUPU2
で実行することができる。なお、本明細書の幾つかの記
載においては、PU命令とそれをデコードした制御信号
φpとが同じ意味で用いられ、VU命令とそれをデコー
ドした制御信号φvとが同じ意味で用いられている。
【0026】したがって、VUPU2においては、VU
6がアプリケーションなどによって変更されるものであ
り、VU6に指示を出す専用命令(VU命令)もアプリ
ケーションによって変わることが多い。一方、PU5
は、nop命令が出力されることにより、VU用に特化
した命令に対処する必要がなく、基本命令あるいは汎用
命令であるPU命令を解釈して実行できる機能があれば
よい。したがって、PU5は、汎用型の埋め込みプロセ
ッサであると共に、VU6が稼動する汎用性のあるプラ
ットフォームとしての機能を提供する。そして、汎用性
のあるPU5と、専用回路を備えたVU6とを組み合わ
せることにより、PU5を介してプログラムによりVU
6も合わせて制御することができる。このため、VUP
Uアーキテクチャにより、リアルタイム応答性を犠牲に
することなく、設計および開発期間を短縮でき、さら
に、その後の変更や修正にも柔軟に対処できるシステム
LSIを提供できる。
【0027】したがって、PU5の汎用性を維持しなが
ら、多くのオプショナルな機能を搭載できることがVU
PU2として重要であり、本例のVUPU2では、オプ
ショナルなユニットとしてデバッグユニット(DU)7
が搭載されている。図3にPU5とDU7との間で交換
される信号を示してある。本例のPU5は、フェッチユ
ニット12でフェッチおよびデコードされて次に実行ユ
ニット13に供給される次期命令コードデータφcを外
部出力する配線あるいは接続点(第2の出力手段)32
と、その次期命令コードデータφcを示す次期命令ポイ
ンタデータφaを外部出力する配線あるいは接続点(第
1の出力手段)31を備えている。また、PU5は、次
期命令コードデータφcに基づく処理を実行ユニット1
3で実行開始するタイミングを示す信号φtを外部出力
する配線あるいは接続点(第3の出力手段)33を備え
ている。この次命令の実行を開始するタイミングを示す
信号φtは、実行ユニット13において命令完了により
次の命令をラッチするタイミングを示す信号である。
【0028】さらに、PU5は、DU7からブレーク信
号φbを受信する配線あるいは接続点34を備えてお
り、DU7からブレーク信号φbを受信すると実行ユニ
ット13における命令コードデータに基づく処理を停止
する。
【0029】接続点31、32、33および34を備え
たデバッグ用のインターフェイス8に対応し、DU7に
は、次期命令ポイントデータφaを受信する接続点(第
1の入力手段)61と、次期命令コードデータφcを受
信する接続点(第2の入力手段)62と、実行開始のタ
イミング信号φtを受信する接続点(第3の入力手段)
63と、ブレーク信号φbを出力する接続点64とを備
えたインターフェイス60が設けられている。DU7の
ブレーク条件一致検出機能50は、ユーザインターフェ
イス9を介して設定されたターゲットの命令ポインタデ
ータφtaが受信した次期命令ポイントデータφaと一
致し、設定されたターゲットの命令コードデータφtc
が受信した次期命令コードデータφcと一致し、さら
に、タイミング信号φtから、その次期命令コードデー
タφcが実行開始される状態になるとブレーク信号φb
を出力する。
【0030】図4に、これらの信号に関するPU5およ
びDU7のさらに詳しい構成を示してある。PU5のフ
ェッチユニット12は、フェッチおよびデコードされた
命令と、実行ユニット13からのステータス信号φsに
基づき、次の命令コードを得るためのフェッチアドレス
を生成する次命令ポインタ発生部35を備えている。こ
の次命令ポインタ発生部35は、命令ポインタデータを
更新して、それからフェッチアドレスを計算する機能に
加え、フェッチおよびデコードされた命令が分岐命令の
ときは、実行ユニット13の結果から分岐条件が成立す
れば命令ポインタデータを分岐先のポインタに移行する
機能を備えている。この発生部35で生成されたフェッ
チアドレスはレジスタ36に格納されて、アドレスバス
71を介してコードRAM11に供給される。そのフェ
ッチアドレスに対応したデータがデータバス72を介し
てフェッチデータφdとして得られる。データバス72
は、2語長のバス幅を備えているので、得られるデータ
は常に2語長である。したがって、命令コードが2語長
のみではなく、1語長あるいは3語長などの不定長また
は可変長であると、フェッチデータφdから適切な位置
にある命令コードデータφcを切り出したり、複数のフ
ェッチデータφdに跨った命令コードデータφcを生成
する必要がある。したがって、データアライメント部3
7は、フェッチデータφdをデコードして命令コードデ
ータφcを生成する作業を行う。そして、命令コードデ
ータφcが生成されるタイミングになるとリードタイミ
ング信号φrが出力されて、次に実行ユニット13に供
給される次期命令コードデータがレジスタ39にラッチ
される。同時に、その次期命令コードデータφcをフェ
ッチするために発生部35から出力されている次期命令
ポインタデータφaがレジスタ38にラッチされる。
【0031】これらの次期命令ポインタデータφaおよ
び次期命令コードデータφcは、実行ユニット13に供
給される。実行ユニット13では、内部で実行中の現命
令に伴う処理が終了して次命令実行開始タイミング信号
φtが出力されると、次期命令ポインタデータφaが現
命令ポインタのレジスタ41にラッチされ、次期命令コ
ードデータφcが現命令コードのレジスタ42にラッチ
される。これにより、次期命令コードφcに基づく処理
が実行ユニット13で開始される。実行ユニット13
は、デバッグ機能としてブレーク信号φbを解釈する機
能44を備えており、ブレーク信号φbを受信するとデ
バッグ用のタイミング信号φdtを出力する。セレクタ
43は、通常のタイミング信号φtと、デバッグ用のタ
イミング信号φdtとを選択し、デバッグが開始される
とデバッグ用のタイミング信号φdtで次期命令ポイン
タφaおよび次期命令コードφcをラッチし、デバッグ
のタイミングで実行ユニット13を制御可能とする。
【0032】本例のPU5は、これらのレジスタ38お
よび39にラッチされた次期命令ポインタデータφaお
よび次期命令コードデータφcとを外部出力する接続ポ
イント31および32が予め設けられている。また、通
常の次命令実行タイミング信号φtを外部出力する接続
ポイント33が予め設けられている。これらの外部出力
31、32および33には、単にデータφa、φcおよ
びφtが出力されているだけであり、これらのデータが
外部で利用されてもされなくても、そのこと自体ではP
U5の制御に影響を及ぼさない構成となっている。ただ
し、図4に示したVUPU2では、これらのデータφ
a、φcおよびφtに基づいてDU7からブレーク信号
φbがフィードバックされるので、デバッグモードに移
行することができる。すなわち、本例では、PU5とD
U7とが機能を協調することにより、フェッチおよびデ
コードするハードウェアを重複させたり、タイミングを
監視する手間やハードウェアを省いてデバッグを行うこ
とができる構成となっている。
【0033】DU7は、ユーザインターフェイス9を介
してパーソナルコンピュータ4からブレーク条件を設定
可能な条件設定部51と、その条件とPU5から得られ
たデータを比較してブレーク信号φbを出力するブレー
ク検出部55とを備えている。条件設定部51は、ブレ
ークのターゲットとなるブレークアドレス条件φtaが
セットされるレジスタ52と、ブレークデータ条件φt
cがセットされるレジスタ53とを備えている。ブレー
ク検出部55は、ブレークアドレス条件φtaと、接続
ポイント61を介して得られたPU5の次期命令ポイン
タデータφaとを比較するコンパレータ56と、ブレー
クデータ条件φtcと、接続ポイント62を介して得ら
れたPU5の次期命令コードデータφcとを比較するコ
ンパレータ57と、これらの出力結果と接続ポイント6
3を介して得られたタイミングデータφtとの論理和を
演算してブレーク信号φbを出力するアンドゲート58
とを備えている。ブレーク信号φbはレジスタ59を経
由してPU5に供給される。
【0034】このように、本例のDU7は、ブレーク条
件となるデータを保存するレジスタ群51と、それらの
データとプロセッサ側から得られたデータとを比較して
ブレーク信号φbを出力する検出部55とを備えた極め
て簡易な構成でPU5に対して所望のタイミングでブレ
ーク信号φbを供給することができる。一方、PU5で
も、特にDU7を意識した制御を行う必要はなく、所望
のブレーク条件が整うとDU7からブレーク信号φbが
供給されてデバッグモードに移行する。
【0035】図5にデバッグに関するPU側の処理とD
U側の処理をフローチャートを用いて示してある。ま
ず、PU5では、ステップ81において、フェッチユニ
ット12で実行されるフェッチステージにて、次の命令
コード(次期命令コードデータ)を取得するためにデー
タをフェッチするためのフェッチアドレスを算出し、コ
ードRAM11に対してそのデータの読出をかける。こ
のとき、1語または2語長の可変長命令では、2語長幅
のデータバスに対応する2語長幅のデータの先頭アドレ
スで読出をかける。これにより、ステップ82におい
て、コードRAM11から所望の次期命令コードデータ
を含んだデータが読み出される。さらに、ステップ83
において、フェッチユニット12で実行されるデコード
ステージにて、フェッチされたデータφdから所望の次
期命令コードデータφcをデコードし、その次期命令コ
ードデータφcおよび次期命令ポインタデータφaをレ
ジスタ39および38に格納する。本例のPU5では、
このステップ83で、生成された次期命令コードデータ
φcおよび次期命令ポインタデータφaが自動的にDU
7に供給される。
【0036】次に、実行ユニット13の実行ステージ
で、現命令に基づく処理が完了するステップ84になる
と、フェッチユニット12で用意された次期命令コード
データφcと次期命令ポインタデータφaが実行ユニッ
ト13に取り込まれる。このとき、本例のPU5では自
動的にこれらのデータφaおよびφcを取り込む信号で
あるタイミング信号φtがDU7に供給される。そし
て、ステップ85で次期命令コードデータφcに基づく
処理を実行する際に、ブレーク信号φbがDU7から供
給されると一時的に処理を中断してデバッグモードに入
る。したがって、このPU5は、ブレーク信号φbが供
給されないかぎり、DU7の有無にかかわらず通常通
り、順番に次期命令コードデータφcを取得し、それに
よる処理を行う。
【0037】DU7では、ステップ91で、事前に外部
ホスト4からブレーク条件であるブレークアドレスφt
aおよびブレークデータφtcを外部指定条件として読
み込む。PU5でデバッグ対象のプログラムが実行され
て、次期命令ポインタデータφaおよび次期命令コード
データφcが供給されると、ステップ92において、次
期命令ポインタデータφaおよび次期命令コードデータ
φcを取得し、それらとブレークアドレスφtaおよび
ブレークデータφtcとをそれぞれ比較する。ステップ
93において、それらが一致すると、ステップ94にお
いて、タイミング信号φtが供給されたときにブレーク
要求信号φbをPU5に出力する。これにより、PU5
では、ステップ85においてブレーク要求信号φbを受
けて一時停止する。
【0038】図6に示したタイミングチャートでは、ブ
レークデータφtaとしてアドレスA3がセットされ、
ブレークデータφtcとして命令C3がセットされてい
るときに、時刻t1に次期命令ポインタデータφaがア
ドレスA3となり、次期命令コードデータφcがコード
C3になるとDU7で一致状態となる。そして、時刻t
2に次命令の実行タイミング信号φtが入力されるとブ
レーク信号φbが生成され、次期命令コードデータφc
が実行ユニット13で実行される次のクロックのタイミ
ングである時刻t3にブレーク信号φbがPU5に供給
される。その結果、PU5は命令C3を実行する段階で
一時停止する。
【0039】このように、本例のPU5では、次期命令
ポインタデータφaの出力端31、次期命令コードデー
タφcの出力端32および次命令実行開始タイミング信
号φtの出力端33を有するインターフェイス8が用意
されているので、DU7はPU5から供給されるこれら
の信号φa、φcおよびφtを利用してブレーク信号φ
bを生成しPU5に供給することができる。このため、
DU7には、次期命令ポインタデータφa、次期命令コ
ードデータφcおよび次命令実行開始タイミング信号φ
tを生成するハードウェアは必要なく、1つのLSI2
の内部に重複したハードウェアが搭載されるのを防止す
ることができる。
【0040】次期命令ポインタデータφaおよび次期命
令コードデータφcを出力するハードウェアは、上述し
たように、命令コードが可変長であったり、命令コード
長がデータバス幅と一致しない場合は大きなものにな
る。しかしながら、本例のPU5およびDU7を組み合
わせたLSI2では、プロセッサ5の側でデコードされ
た命令コードデータをDU7が利用できるので、命令コ
ードが可変長であろうとなかろうと、同一構成のDU7
を利用してデバッグ機能を付加できる。すなわち、PU
5にデータφa、φcおよびφtを出力する機能を付加
することにより、DU7では、次期命令ポインタデータ
φaに対してアドレス一致検出を行うことで、命令長の
監視は不要となり、次期命令コードデータφcに対して
コード一致検出を行うことでバスのデータをアドレスに
合わせて整列するようなデコード処理も不要となる。さ
らに、分岐制御もPU5の側で行われた結果の命令コー
ドが得られるので、その制御も不要となる。そして、実
行ステージの命令完了タイミングは実行ユニット13か
らのタイミング信号φtで分かるので、命令コードがマ
ルチサイクルであるか否かなどの解析も不要となる。
【0041】さらに、DU7では、分岐条件が成立した
りして、読み捨てられる命令コードを意識するハードウ
ェアも必要ない。PU5では、実行されない命令は実行
ステージに渡されることがないので、次期命令コードデ
ータφcと、それを実行ステージでラッチするための次
命令実行開始タイミング信号φtとを組み合わせること
により、DU7で実行ステージに渡される命令コードデ
ータを確実にモニタリングできるからである。
【0042】一方、PU5においては、単に、これらの
データφa、φcおよびφtを出力するポイント31〜
33を予め設けてあるだけなので、デバッグ機能の有無
を問題にせずにソフトウェアおよびハードウェアを設
計、開発およびメンテナンスすることができる。これら
の接続ポイント31〜33のハードウェア構成は上記に
限定されることはなく、LSI2のPU5のバウンダリ
において、デバッグユニットなどのオプションユニット
に対して信号あるいはデータを伝達できるようになって
いれば良い。また、上記の例のデバッグユニットにおい
ては、次期命令ポインタデータφaと、次期命令コード
データφcの両方を受け取り、それぞれのデータφaお
よびφcをブレークアドレスφtaおよびブレークデー
タφcと比較しているが、次期命令ポインタデータφa
あるいは次期命令コードデータφcの少なくともいずれ
か一方をターゲットとなる値と比較してブレーク信号を
出力するようにしても良い。
【0043】さらに、オプションユニットはデバッグユ
ニットに限定されるものではないが、これらの信号をも
っとも有効に活用できるユーザユニットはデバッグユニ
ットである。このようなプロセッサであれば、システム
LSIの埋め込み用途のプロセッサ用として、拡張性は
あるが単一仕様のプロセッサを設計、開発およびメンテ
ナンスするだけでよく、余分な投資を省くことができ
る。このため、本発明により、エンベッデド・プロセッ
サに適したオプション機能の豊富なプロセッサを提供す
ることが可能となり、VUPUアーキテクチャにさらに
適したPU5を提供することができる。また、VUPU
アーキテクチャに限らず、他のタイプのエンベッデド・
プロセッサにも本発明を提供することにより、オプショ
ン機能がさらに豊富なプロセッサを提供することができ
る。
【0044】
【発明の効果】以上に説明したように、本発明において
は、プロセッサユニットに次期命令ポインタデータおよ
び次期命令コードデータを外部に出力するインターフェ
イスを設けることにより、組み込み型プロセッサとオプ
ション化されたデバッグユニットとの間に有効な状態伝
達信号線を設置することが可能となる。したがって、プ
ロセッサ本体とデバッグユニットとの機能を協調させる
ことができ、デバッガのハードウェア負担を削減するこ
とができる。また、システムLSIを構築したときにハ
ードウェアの重複を防止し、デバッグ機能などのオプシ
ョン機能を容易に搭載することができる。このため、コ
ンパクトで低コストな多機能型のシステムLSIを提供
することができる。
【図面の簡単な説明】
【図1】本発明に係るデータ処理装置を搭載したLSI
搭載システムボードの概略を示す図である。
【図2】本発明に係るデータ処理装置の概略を示すブロ
ック図である。
【図3】本例のPUとDUとの間で交換される信号を説
明するための図である。
【図4】本例のPUとDUの詳細を示す図である。
【図5】本例のPUとDUとの間で行なわれるデバッグ
処理を示すフローチャートである。
【図6】DUでブレーク条件が成立したときにPUの実
行ユニットにおける処理が停止される処理を説明するた
めのタイミングチャートである。
【符号の説明】
1 LSI搭載システムボード 2 データ処理装置(システムLSI) 5 プロセッサユニット(PU) 6 専用データ処理ユニット(VU) 7 デバッグユニット(DU) 8、10 インターフェイス 11 コードRAM 12 フェッチユニット(FU) 13 実行ユニット 31、32、33、34 接続点 55 ブレーク検出部 61、62、62、64 接続点
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B013 EE07 5B042 GA13 GC02 HH01 HH25 LA10 LA11 LA21 LA22 5B048 AA12 EE06 5B062 CC01 JJ08

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 命令ポインタデータに基づきフェッチア
    ドレスを出力し、得られたデータから命令コードデータ
    を生成可能なフェッチユニットと、前記命令コードデー
    タに基づく処理を実行可能な実行ユニットとを備えたプ
    ロセッサユニットを有するデータ処理装置であって、 前記プロセッサユニットは、さらに、次に前記実行ユニ
    ットで実行される次期命令コードデータの次期命令ポイ
    ンタデータを当該プロセッサユニットから外部に出力す
    る第1の出力手段と、 前記次期命令コードデータを当該プロセッサユニットか
    ら外部に出力する第2の出力手段とを備えている、デー
    タ処理装置。
  2. 【請求項2】 請求項1において、さらに、ブレーク条
    件が成立するとプロセッサユニットに対して一時停止を
    要求するブレーク信号を供給するブレーク信号出力手段
    を有するデバッグユニットを有し、 このデバッグユニットは、さらに、前記ブレーク条件と
    して設定されているターゲットの命令ポインタデータと
    比較する前記次期命令ポインタデータを受け入れる第1
    の入力手段と、 前記ブレーク条件として設定されているターゲットの命
    令コードデータと比較する前記次期命令コードデータを
    受け入れる第2の入力手段とを備えているデータ処理装
    置。
  3. 【請求項3】 請求項2において、前記プロセッサユニ
    ットは、さらに、前記次期命令コードデータに基づく処
    理を開始する開始タイミングを当該プロセッサユニット
    から外部に出力する第3の出力手段を備えており、 前記デバッグユニットは、さらに、前記開始タイミング
    を受け入れる第3の入力手段を備えており、さらに、前
    記ブレーク信号出力手段は、少なくとも前記ターゲット
    の命令ポインタデータおよび前記ターゲットの命令コー
    ドデータのいずれかと、前記次期命令ポインタデータお
    よび前記次期命令コードデータのいずれかが一致し、前
    記次期命令コードデータが実行開始されるときに前記ブ
    レーク信号を出力するデータ処理装置。
  4. 【請求項4】 請求項2において、前記プロセッサユニ
    ットは、さらに、前記実行ユニットにおける現在の命令
    コードデータに基づく処理を完了した完了タイミングを
    当該プロセッサユニットから外部に出力する第3の出力
    手段を備えており、 前記デバッグユニットは、さらに、前記完了タイミング
    を受け入れる第3の入力手段を備えており、さらに、前
    記ブレーク信号出力手段は、少なくとも前記ターゲット
    の命令ポインタデータおよび前記ターゲットの命令コー
    ドデータのいずれかと、前記次期命令ポインタデータお
    よび前記次期命令コードデータのいずれかが一致し、前
    記次期命令コードデータが実行開始されるときに前記ブ
    レーク信号を出力するデータ処理装置。
  5. 【請求項5】 請求項1において、さらに、専用処理に
    適した専用回路を備えた専用処理ユニットを有し、 前記プロセッサユニットのフェッチユニットは、前記命
    令コードデータとして前記プロセッサユニットにおける
    処理を規定する汎用命令コードデータを前記実行ユニッ
    トに供給し、前記専用処理ユニットにおける処理を規定
    する専用命令コードデータを前記専用処理ユニットに供
    給するデータ処理装置。
  6. 【請求項6】 命令ポインタデータに基づきフェッチア
    ドレスを出力し、得られたデータから命令コードデータ
    を生成可能なフェッチユニットと、 前記命令コードデータに基づく処理を実行可能な実行ユ
    ニットとを有するプロセッサユニットであって、 次に前記実行ユニットで実行される次期命令コードデー
    タの次期命令ポインタデータを当該プロセッサユニット
    から外部に出力する第1の出力手段と、 前記次期命令コードデータを当該プロセッサユニットか
    ら外部に出力する第2の出力手段とを有するプロセッサ
    ユニット。
  7. 【請求項7】 請求項6において、さらに、前記次期命
    令コードデータに基づく処理を開始するタイミングを当
    該プロセッサユニットから外部に出力する第3の出力手
    段を有するプロセッサユニット。
  8. 【請求項8】 請求項6において、さらに、前記実行ユ
    ニットにおける現在の命令コードデータに基づく処理を
    完了したタイミングを当該プロセッサユニットから外部
    に出力する第3の出力手段を有するプロセッサユニッ
    ト。
  9. 【請求項9】 ブレーク条件が成立するとプロセッサユ
    ニットに対して一時停止を要求するブレーク信号を供給
    するブレーク信号出力手段を有するデバッグユニットで
    あって、 前記ブレーク条件として設定されているターゲットの命
    令ポインタデータと比較する次期命令ポインタデータを
    当該デバッグユニットの外部から受け入れる第1の入力
    手段と、 前記ブレーク条件として設定されているターゲットの命
    令コードデータと比較する次期命令コードデータを当該
    デバッグユニットの外部から受け入れる第2の入力手段
    とを有するデバッグユニット。
  10. 【請求項10】 請求項9において、前記次期命令コー
    ドデータが実行開始されるタイミングを当該デバッグユ
    ニットの外部から受け入れる第3の入力手段を有し、 前記ブレーク信号出力手段は、少なくとも前記ターゲッ
    トの命令ポインタデータおよび前記ターゲットの命令コ
    ードデータのいずれかと、前記次期命令ポインタデータ
    および前記次期命令コードデータのいずれかが一致し、
    前記次期命令コードデータが実行開始されるときに前記
    ブレーク信号を出力するデバッグユニット。
  11. 【請求項11】 ブレーク条件として設定されているタ
    ーゲットの命令ポインタデータと比較する次期命令ポイ
    ンタデータと、前記ブレーク条件として設定されている
    ターゲットの命令コードデータと比較する次期命令コー
    ドデータとの少なくともいずれかを当該デバッグユニッ
    トの外部から受け入れる工程と、 前記ブレーク条件が成立するとプロセッサユニットに対
    して一時停止を要求するブレーク信号を供給するブレー
    ク要求工程とを有するデバッグユニットの制御方法。
  12. 【請求項12】 請求項11において、前記次期命令コ
    ードデータが実行開始されるタイミングを当該デバッグ
    ユニットの外部から受け入れる工程を有し、 前記ブレーク要求工程では、少なくとも前記ターゲット
    の命令ポインタデータおよび前記ターゲットの命令コー
    ドデータのいずれかと、前記次期命令ポインタデータお
    よび前記次期命令コードデータのいずれかが一致し、前
    記次期命令コードデータが実行開始されるときに前記ブ
    レーク信号を出力するデバッグユニットの制御方法。
JP2003048738A 2002-02-26 2003-02-26 データ処理装置およびプロセッサユニット Expired - Fee Related JP4641708B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003048738A JP4641708B2 (ja) 2002-02-26 2003-02-26 データ処理装置およびプロセッサユニット

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002049981 2002-02-26
JP2002-49981 2002-02-26
JP2003048738A JP4641708B2 (ja) 2002-02-26 2003-02-26 データ処理装置およびプロセッサユニット

Publications (2)

Publication Number Publication Date
JP2003323315A true JP2003323315A (ja) 2003-11-14
JP4641708B2 JP4641708B2 (ja) 2011-03-02

Family

ID=29551987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003048738A Expired - Fee Related JP4641708B2 (ja) 2002-02-26 2003-02-26 データ処理装置およびプロセッサユニット

Country Status (1)

Country Link
JP (1) JP4641708B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071227A (ja) * 2006-09-15 2008-03-27 Nec Electronics Corp 半導体集積回路
JP2011222985A (ja) * 2010-03-25 2011-11-04 Semiconductor Energy Lab Co Ltd 半導体装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071227A (ja) * 2006-09-15 2008-03-27 Nec Electronics Corp 半導体集積回路
JP2011222985A (ja) * 2010-03-25 2011-11-04 Semiconductor Energy Lab Co Ltd 半導体装置
US8472235B2 (en) 2010-03-25 2013-06-25 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device

Also Published As

Publication number Publication date
JP4641708B2 (ja) 2011-03-02

Similar Documents

Publication Publication Date Title
US6055649A (en) Processor test port with scan chains and data streaming
US6385742B1 (en) Microprocessor debugging mechanism employing scan interface
US6065106A (en) Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing
US5970241A (en) Maintaining synchronism between a processor pipeline and subsystem pipelines during debugging of a data processing system
US6016555A (en) Non-intrusive software breakpoints in a processor instruction execution pipeline
US6112298A (en) Method for managing an instruction execution pipeline during debugging of a data processing system
US6081885A (en) Method and apparatus for halting a processor and providing state visibility on a pipeline phase basis
US6591378B1 (en) Debug controller in a data processor and method therefor
US20060117224A1 (en) Trace and debug method and system for a processor
US5488728A (en) Microprocessor having a run/stop pin for accessing an idle mode
JP2001525568A (ja) 命令デコーダ
US20100153786A1 (en) Processor, multiprocessor, and debugging method
JP4641708B2 (ja) データ処理装置およびプロセッサユニット
JPH11203146A (ja) マイクロコンピュータ
US20030163674A1 (en) Data processing apparatus, processor unit and debugging unit
JP2001092661A (ja) データ処理装置
EP0849672B1 (en) Non-intrusive software breakpoints in a processor instructions execution pipeline
JP2002535749A (ja) 複数の命令ソースからの命令を実行するプロセッサおよび方法
EP0854422B1 (en) A processor test port with scan chains and data streaming
JP2536726B2 (ja) マイクロプロセッサ
JP2646957B2 (ja) キャッシュ内蔵マイクロプロセッサ及びそのトレースシステム
JP3719241B2 (ja) 演算装置
JP2004199630A (ja) データ処理装置
JP3716635B2 (ja) 情報処理装置、及びその割込み制御方法
JP2734382B2 (ja) インサーキットエミュレータおよびそのデバッグ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071217

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080520

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081027

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081030

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090403

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101130

R150 Certificate of patent or registration of utility model

Ref document number: 4641708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees