JP4564011B2 - 情報処理装置、例外制御回路 - Google Patents

情報処理装置、例外制御回路 Download PDF

Info

Publication number
JP4564011B2
JP4564011B2 JP2006531874A JP2006531874A JP4564011B2 JP 4564011 B2 JP4564011 B2 JP 4564011B2 JP 2006531874 A JP2006531874 A JP 2006531874A JP 2006531874 A JP2006531874 A JP 2006531874A JP 4564011 B2 JP4564011 B2 JP 4564011B2
Authority
JP
Japan
Prior art keywords
information
processor
information processing
state
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.)
Active
Application number
JP2006531874A
Other languages
English (en)
Other versions
JPWO2006022202A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2006022202A1 publication Critical patent/JPWO2006022202A1/ja
Application granted granted Critical
Publication of JP4564011B2 publication Critical patent/JP4564011B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling

Description

本発明は、プロセッサから処理依頼を受けて特定の処理を実行する情報処理回路を備えた情報処理装置に関し、特に情報処理回路で発生した例外に対する制御に関する。
一般的に、パソコンやモバイル機器等の情報処理装置には、搭載されているプロセッサの負荷を軽減し処理性能を向上させるために、プロセッサから依頼された特定の処理を実行する情報処理回路(例えば、グラフィックアクセラレータ、コプロセッサ等)が備わっている。
そして、情報処理回路が実行する処理において、例外が発生することがある。
例外とは、情報処理装置の通常動作の流れに反する特殊な状況のことをいう。例えば、プログラムのスケジュール上、処理可能とされるタイミングにおいてプロセッサが処理依頼をしても、情報処理回路が処理することができない状況や、情報処理回路が処理した結果の読み出しが可能とされるタイミングにおいて、プロセッサが処理結果の読み出しを行おうとしても、未だ情報処理回路において処理結果が出ていない状況、或いは情報処理回路においてエラーが発生している状況等である。
このような例外発生に対して情報処理装置は、プロセッサに割り込みを発生させ、通常の処理シーケンスを変更して、予め定められた例外ハンドラの開始アドレスに制御を移し、その例外に対処するようにしている。
しかし、情報処理回路において例外が発生して、プロセッサが例外ハンドラを実行している間、通常の処理シーケンスは止まることになるので、プロセッサの処理性能の向上の観点から、情報処理回路において発生した例外及びその例外からの回復をプロセッサ側で早期に検出して、例外ハンドラと通常処理の切り替えを速やかに行う技術が求められている。
そこで、本発明は、従来よりも速やかに例外ハンドラと通常処理の切り替えを行うことができる情報処理装置、例外制御回路及び例外制御方法を提供を目的とする。
上記目的を達成するために、本発明に係る情報処理装置は、プロセッサと、当該プロセッサから処理依頼を受けて特定の処理を実行する情報処理回路と、当該プロセッサに対して割り込み要求を通知する割り込みコントローラと、例外制御部とを備える情報処理装置であって、前記情報処理回路と前記例外制御部は、専用線で接続されており、前記情報処理回路は、前記専用線を介して、自回路の現在の状態を示す状態情報を前記例外制御部に通知する通知部を有し、前記例外制御部は、前記プロセッサからの指示により設定される設定情報と、通知された状態情報とに基づいて、プロセッサの実行対象を対応する例外ハンドラに移行させる割り込み要求を前記割り込みコントローラに通知させるか否かの判定を行うことを特徴とすることを特徴とする。
また、本発明に係る例外制御回路は、プロセッサと、当該プロセッサから処理依頼を受けて特定の処理を実行する情報処理回路と、当該プロセッサに対して割り込み要求を通知する割り込みコントローラとを備えた情報処理装置に組み込まれる例外制御回路であって、自回路と前記情報処理回路とが専用線で接続され、前記情報処理回路から、専用線を介して当該情報処理回路の現在の状態を示す状態情報を受け付けて記憶する第1レジスタと、前記プロセッサからの指示により設定される設定情報を記憶する第2レジスタと、前記第1レジスタに記憶されている状態情報と、前記第2レジスタに記憶されている設定情報とに基づいて、プロセッサの実行対象を対応する例外ハンドラに移行させる割り込み要求を前記割り込みコントローラに通知させるか否かの判定を行う手段とを備えることを特徴とする。
また、本発明に係る例外制御方法は、プロセッサと、当該プロセッサから処理依頼を受けて特定の処理を実行する情報処理回路と、当該プロセッサに対して割り込み要求を通知する割り込みコントローラとを備える情報処理装置に用いられる例外制御方法であって、前記プロセッサからの指示により設定される設定情報と前記情報処理回路から通知される当該情報処理回路の現在の状態を示す状態情報とに基づいて、プロセッサの実行対象を対応する例外ハンドラに移行させる割り込み要求を前記割り込みコントローラに通知させるか否かの判定を行うことを特徴とする。
上記構成の情報処理装置では、情報処理回路の現在の状態を示す状態情報が専用線を介して例外制御部に通知され、例外制御部が、通知された状態情報と設定情報とに基づいて割り込みコントローラに割り込みを発生させるか否かの判定を行うので、従来よりも速やかに例外ハンドラと通常処理の切り替えを行うができ、通常処理の停滞を低減することができる。
また、一般的に情報処理回路の動作周波数の方がプロセッサの動作周波数より遅いので、上記構成の情報処理装置を用いれば、情報処理回路の例外発生によるプロセッサの通常処理の停滞低減効果が大きい。
上記構成の例外制御回路が組み込まれた情報処理装置及び上記例外制御方法についても同様の効果が得られる。
ここで、前記例外制御部は、前記情報処理回路に処理依頼するための命令及び当該処理の結果を読み出すための命令のいずれかを前記プロセッサが実行する際に、その命令を実行すべきサイクル内において前記判定を行うとしてもよい。
この構成により、前記情報処理回路に関する命令の実行と共に、その実行サイクル内において、所定の例外ハンドラに移行する割り込みを発生させるかどうかの判定を行うので、従来よりも速やかに例外ハンドラと通常処理の切り替えを行うができ、通常処理の停滞を低減することができる。
また、前記状態情報は、前記情報処理回路が処理を実行しているビジー状態及び処理を実行していないアイドル状態のいずれかの状態を示し、前記設定情報は、プロセッサの実行対象を第1例外ハンドラに移行させる第1種割り込み要求を前記割り込みコントローラに通知させるか否かの判定を行う設定を示す第1情報及びプロセッサの実行対象を第2例外ハンドラに移行させる第2種割り込み要求を前記割り込みコントローラに通知させるか否かの判定を行う設定を示す第2情報のいずれかであり、前記第2例外ハンドラは、前記プロセッサが実行する通常の処理シーケンスに復帰するための処理であり、前記例外制御部は、前記設定情報が第1情報であり、且つ前記状態情報がビジー状態を示す情報である場合、前記割り込みコントローラに第1種割り込み要求を通知させる判定を行い、前記設定情報が第1情報であり、且つ前記状態情報がアイドル状態を示す情報である場合、前記割り込みコントローラに第1種割り込み要求を通知させない判定を行い、前記設定情報が第2情報であり、且つ前記状態情報がビジー状態を示す情報からアイドル状態を示す情報に変化した場合、前記割り込みコントローラに、第2種割り込み要求を通知させる判定を行うとしてもよいし、前記状態情報は、前記情報処理回路が処理を実行しているビジー状態及び処理を実行していないアイドル状態、エラーが発生しているエラー状態のいずれかの状態を示す情報であり、前記設定情報は、プロセッサの実行対象を第1例外ハンドラに移行させる第1種割り込み要求を前記割り込みコントローラに通知させるか否かの判定を行う設定を示す第1情報及びプロセッサの実行対象を第2例外ハンドラに移行させる第2種割り込み要求を前記割り込みコントローラに通知させるか否かの判定を行う設定を示す第2情報のいずれかであり、前記第2例外ハンドラは、前記プロセッサが実行する通常の処理シーケンスに復帰するための処理であり、前記例外制御部は、前記設定情報が第1情報であり、且つ前記状態情報がビジー状態又はエラー状態を示す情報である場合、前記割り込みコントローラに第1種割り込み要求を通知させる判定を行い、前記設定情報が第1情報であり、且つ前記状態情報がアイドル状態を示す情報である場合、前記割り込みコントローラに第1種割り込み要求を通知させない判定を行い、前記設定情報が第2情報であり、且つ前記状態情報がビジー状態又はエラー状態を示す情報からアイドル状態を示す情報に変化した場合、前記割り込みコントローラに、第2種割り込み要求を通知させる判定を行うとしてもよい。
この構成により前記プロセッサから設定された設定情報によって、プロセッサが移行する例外ハンドラが決まり、情報処理回路から通知される状態情報(ビジー状態、エラー状態、アイドル状態等)に応じて、速やかに例外ハンドラと通常処理の切り替えを行うができ、通常処理の停滞を低減することができる。
また、前記プロセッサと前記例外制御部は、同じチップ上に形成されており、前記情報処理回路は他のチップ上に形成されているとしてもよい。
前記プロセッサ及び前記例外制御部は、同一のチップ上に形成されていることが望ましいが、一方、前記情報処理回路は、前記プロセッサ及び前記例外制御部が形成されているチップから分離独立したチップに形成されていても、情報処理装置は従来より速やかに例外ハンドラと通常処理の切り替えを行うができ、通常処理の停滞を低減することができる。
また、前記情報処理装置は、前記情報処理回路を複数備え、前記複数の情報処理回路は前記例外制御部とそれぞれ専用線で接続されており、前記例外制御部は、前記プロセッサからの指示により個々に設定される各情報処理回路用の設定情報と、各情報処理回路から通知された状態情報とに基づいて、前記判定を行うとしてもよい。
情報処理装置は複数の情報処理回路を備えることが可能であり、複数ある場合においても、各情報処理回路と例外制御部とを接続するそれぞれの専用線を介して通知された状態情報と設定情報とに基づいて、割り込みコントローラに割り込みを発生させるか否かの判定を行うので、従来より速やかに例外ハンドラと通常処理の切り替えを行うができ、通常処理の停滞を低減することができる。
また、前記情報処理回路は、定型処理を実行するアクセラレータであるとしてもよい。
情報処理回路において発生する例外が限定されるため、用意しなければならない例外ハンドラの記述を簡略化することができ、実装し易いという効果がある。
以下、本発明の一実施形態について、図面を用いて説明する。
<構成>
図1は、情報処理装置1の構成を示す図である。
情報処理装置1は、命令メモリ2、プロセッサ3、例外制御部4、割り込みコントローラ5、アクセラレータ6を備える。
情報処理装置1では、命令メモリ2に記憶されているプログラムをプロセッサ3が実行することにより、プロセッサ3がアクセラレータ6に対して処理の依頼を行う。
プロセッサ3とアクセラレータ6は、アドレスバス20、データバス21、リクエストバス22を介して接続されており、リクエストバス22は、例外制御部4を経由している。
例外制御部4とアクセラレータ6は、状態情報を伝送する専用線であるbusy/idle信号線23とerror信号線24を介して接続されている。
プロセッサ3と例外制御部4は、同じチップ上に形成されており、アクセラレータ6は、別のチップ上に形成されている。また、プロセッサ3及び例外制御部4は、同じクロックサイクルで動作している。
プロセッサ3は、その内部に汎用レジスタであるreg0、reg1、reg2、reg3と、プログラムカウンタ(program counter、以下、「pc」と言う。)と、例外プログラムカウンタ(exception program counter、以下、「epc」と言う。)とを有する。
pcは、現在実行されている命令が格納されている番地を記憶しているレジスタであり、epcは、例外ハンドラに移行する直前に実行された命令が格納されている番地を記憶しているレジスタである。
例外制御部4は、その内部にレジスタであるreg、intregとを有する。
アクセラレータ6は、その内部にレジスタであるextregと、アクセラレータ6の現在の状態を示す状態情報を例外制御部4に通知する状態通知部7とを有する。
命令メモリは、複数の命令から成るプログラムを記憶している、一般的なメモリである。
プロセッサ3は、命令メモリから命令を読み出して(フェッチして)、解読(デコード)し、実行する一般的なプロセッサである。
プロセッサ3が解読した命令が、アクセラレータ6のextregに処理の依頼を示す命令を書き込むwrite命令、又はextregに書き込まれるアクセラレータ6の処理結果を読み出すread命令(以下、アクセラレータ6に関する命令を、単に「アクセラレータ命令」という。)であれば、アクセラレータ6に対して、アドレスバス20を介して書き込み先又は読み出し先のアドレスを送り、データバス21を介してオペランド等のデータを送り、リクエストバス22を介してコマンドを送る。
なお、プロセッサ3が実行するプログラムには、予め同一のアクセラレータ命令が連続して発行されないように記述されており、また、例外ベクタアドレスを設定するように記述されている。
例外ベクタアドレスとは、例外ハンドラの開始アドレスのことである。
プロセッサ3は、割り込みコントローラ5から所定の例外ベクタアドレスを指定する割り込み要求を受けると、通常の処理シーケンスから分岐して、指定された例外ベクタアドレスが示す番地の命令を読み出して、解読し実行する。
アクセラレータ6は、MPEG(Motion Picture Expert Group)の画像符号化アクセラレータであり、プロセッサ3から処理の依頼を示す命令が、extregに書き込まれることで画像符号化処理を実行する機能を有する。
アクセラレータ6は、ビットストリームのオーバーフロー又は固有のエラー等の例外を発生することが想定されるが、係る例外が発生しない限り、依頼された処理をプロセッサ3及び例外制御部4のクロックサイクルの1サイクル分の期間で実行し、実行した結果をextregに書き込む。
状態通知部7は、busy/idle信号線23とerror信号線24を介して、例外制御部4に状態情報を通知する機能を有する。
具体的には、アクセラレータ7が処理の実行中である場合、busy/idle信号線23でbusy信号を送り、処理を行っていない場合は、busy/idle信号線23でidle信号を送り、エラーが発生した場合は、error信号線24でerror信号を送る。
なお、エラーが発生した場合、busy信号及びidle信号は送信しない。
状態通知部7から通知された状態情報は、例外制御部4のregに書き込まれ、上書き更新される。
具体的には、busy信号が通知されれば、“busy”を示す値がregに書き込まれ、idle信号が通知されれば、“idle”を示す値がregに書き込まれ、error信号が通知されれば、“error”を示す値がregに書き込まれる。
例外制御部4は、intregに書き込まれる設定情報とregに書き込まれる状態情報とに基づいて、“BUSY”割り込み要求、又は “READY”割り込み要求のいずれかを割り込みコントローラ5に通知させるか否かの判定を行う機能を有する。
“BUSY”割り込みは、アクセラレータ6において発生した例外が回復するまでの間、プロセッサ3に通常の処理シーケンスから分岐して例外ハンドラを起動する割り込みであり、“READY”割り込みは、プロセッサ3が通常の処理シーケンスに戻るための処理を行う例外ハンドラ(以下、区別するために「復帰用例外ハンドラ」と言う。)を起動する割り込みである。
例外制御部4のintregは、プロセッサ3が命令メモリから読み出して実行した命令により“BUSY”又は“READY”のいずれかを示す設定情報が書き込まれる。
“BUSY”は、“BUSY”割り込み要求を割り込みコントローラ5に通知させるか否かの判定を行う設定を示し、“READY”は、“READY” 割り込み要求を割り込みコントローラ5に通知させるか否かの判定を行う設定を示す。
プロセッサ3がアクセラレータ命令を実行すると、当該命令は、リクエストバス22を介して例外制御部4に伝達され、intregに書き込まれている設定情報が“BUSY”で、regに書き込まれている状態情報が“busy”又は“error”である場合、例外制御部4は、“BUSY”割り込みを発生させる指示を割り込みコントローラ5に通知する判定を行う。
反対に、intregに書き込まれている設定情報が“BUSY”で、regに書き込まれている状態情報が“idle”の場合、前記指示を割り込みコントローラ5に通知しない判定を行う。
また、例外制御部4は、intregに書き込まれている設定情報が“READY”で、regに書き込まれている状態情報が“busy”又は“error”から“idle”に変化した場合、“READY”割り込みを発生させる指示を割り込みコントローラ5に通知する判定を行う。
割り込みコントローラ5は、例外制御部4から通知された割り込み発生指示に基づいて、“BUSY”割り込み要求又は“READY”割り込み要求のいずれかをプロセッサ3に発生させる機能を有する。
<動作>
続いて、情報処理装置1の動作について説明する。
図2は、情報処理装置1の割り込み制御を説明するために用いるフローチャート図である。
まず、プロセッサ3の動作から説明する。
プロセッサ3は、命令メモリ2から命令を読み出して解読し(ステップS1)、その解読された命令を実行する(ステップS2)。
プロセッサ3は、割り込みコントローラ5から“BUSY”割り込み要求を受けると(ステップS3:YES)、指定された例外ベクタアドレスに基づいて例外ハンドラを起動する(ステップS4)。“BUSY”割り込み要求を受けなければ(ステップS3:NO)、通常処理の命令の読み出し及び解読を行う。
プロセッサ3は、例外ハンドラの実行中に“READY”割り込み要求を受けると(ステップS5:YES)、指定された例外ベクタアドレスに基づいて復帰用例外ハンドラを起動する(ステップS6)。“READY”割り込み要求を受けなければ(ステップS5:NO)、例外ハンドラの実行を継続する。
次に、例外制御部4及び割り込みコントローラ5の動作について説明する。
プロセッサ3が解読した命令がアクセラレータ命令であれば(ステップS11:YES)、リクエストバス22を介して例外制御部4に伝達され、例外制御部4は、intregの設定情報とregの状態情報を確認する。
その結果、設定情報が“BUSY”で、状態情報が“busy”又は“error”であれば(ステップS12:YES)、例外制御部4は、アクセラレータ命令をアクセラレータ6に伝達せず、“BUSY”割り込み要求を割り込みコントローラ5に通知させる判定を行う。
割り込みコントローラ5は、前記判定によりプロセッサ3に対して“BUSY”割り込み要求を通知する(ステップS13)。
その後、状態通知部7の通知によりregの状態情報が“busy”から“idle”に書き換えられて変化したことを例外制御部4が検知すると(ステップS14:YES)、例外制御部4は、“READY”割り込み要求を割り込みコントローラ5に通知させる判定を行う。
割り込みコントローラ5は、前記判定によりプロセッサ3に対して“READY”割り込み要求を通知する(ステップS15)。
最後にアクセラレータ6の動作について説明する。
アクセラレータ6は、自身の現在の状態をbusy/idle信号線23及びerror信号線24を介して例外制御部4に常に通知する(ステップS21)。
ここで、情報処理装置1の具体的な動作を説明する。
図3は、情報処理装置1が実行するプログラムの一例であり、図4は、図3に示すプログラムの具体的な流れの一例を示す図である。
図4に示すサイクル1において、プロセッサ3が、図3に示すプログラム行番号1のwrite BUSY,intreg;を解読すると、プロセッサ3は、intregに“BUSY”を書き込む。
サイクル2においてプロセッサ3が、プログラム行番号2のwrite CMD0,extreg;を解読すると、当該命令がアクセラレータ命令であるため、リクエストバス22を介して例外制御部4に伝達され、例外制御部4は、intregに書き込まれている設定情報及びregに書き込まれている状態情報を確認する。この時、設定情報は“BUSY”であり状態情報は“idle”であるため、そのまま実行させる。
状態情報は、状態通知部7からの通知により1つ前のサイクルにおけるアクセラレータ6の状態が書き込まれている。
サイクル3においてプロセッサ3が解読した命令は、nop(no operation)すなわち、なにもしないことを示す命令であるため、プロセッサ3はなにもしない。
一方、サイクル3においてアクセラレータ6は、extregに書き込まれたCMD0を実行しているため、“busy”状態である。
サイクル4においてプロセッサ3が解読した命令は、nopであるため、プロセッサ3はなにもしない。
一方、サイクル4において、アクセラレータ6は、ビットストリームのオーバーフローが生じているため、“busy”状態である。
上述したように、アクセラレータ6は、基本的には1サイクルで処理を実行して、結果をextregに書き込み、直ちに“idle”状態に戻るが、ビットストリームのオーバーフローが生じれば、“busy”状態が数サイクルに亘って続く。
サイクル5においてプロセッサ3が、プログラム行番号5のread extreg,reg0;を解読すると、当該命令がアクセラレータ命令であるため、リクエストバス22を介して例外制御部4に伝達され、例外制御部4は、intregに書き込まれている設定情報及びregに書き込まれている状態情報を確認する。
この時、設定情報は“BUSY”であり、状態情報は“busy”であるため、例外制御部4は、アクセラレータ命令をアクセラレータ6に伝達せずに、“BUSY”割り込み要求を割り込みコントローラ5に通知させる判定を行う。
前記判定により割り込みコントローラ5は、プロセッサ3に対してプログラム行番号11の命令格納アドレスを示す例外ベクタアドレスを指定する“BUSY”割り込み要求を通知する。
プロセッサ3は、その要求を受けて、サイクル6において、プログラム行番号11のread epc,reg2;を解読し実行する。すなわち、プロセッサ3は、epcの値(プログラム行番号5の命令格納番地)をreg2に読み出す。
続いてプロセッサ3は、サイクル7において、プログラム行番号12のstore reg2,mem;を解読し実行する。すなわち、プロセッサ3は、reg2の値をmem(命令メモリ2を示す)に格納する。
続いてプロセッサ3は、サイクル8において、プログラム行番号13のwrite READY,intreg;を解読し実行する。すなわち、プロセッサ3は、intregに“READY”を書き込む。
続いてプロセッサ3は、サイクル9〜11において、プログラム行番号14のgoto Loop;を繰り返し実行する。
サイクル11において、例外制御部4は、状態情報通知部7からの通知によって、regの状態情報が“busy”から“idle”に書き換えられて変化したことを検知し、“READY”割り込み要求を割り込みコントローラ5に通知させる。
例外制御部4からの指示により割り込みコントローラ5は、プロセッサ3に対してプログラム行番号15の命令格納アドレスを示す例外ベクタアドレスを指定する“READY”割り込み要求を通知する。
プロセッサ3は、その要求を受けて、サイクル12においてプログラム行番号15のwrite BUSY,intreg;を解読し実行する。すなわち、プロセッサ3は、intregに“BUSY”を書き込む。
続いてプロセッサ3は、サイクル13において、プログラム行番号16のload mem,reg3;を解読し実行する。すなわち、プロセッサ3は、memに格納されたepcの値(プログラム行番号5の命令格納番地)をreg3にロードする。
続いてプロセッサ3は、サイクル14において、プログラム行番号17のreturn reg3;を解読し実行する。すなわち、プロセッサ3は、reg3にロードされた値が示す命令格納番地にpcを戻す。
サイクル15において、プロセッサ3は、プログラム行番号5のread extreg,reg0;を解読する。当該命令がアクセラレータ命令であるため、リクエストバス22を介して例外制御部4に伝達される。例外制御部4は、intregに書き込まれている設定情報及びregに書き込まれている状態情報を確認する。
この時、設定情報は“BUSY”、状態情報は“idle”であるため、そのまま実行させる。
サイクル16においてプロセッサ3が、プログラム行番号6のwrite CMD1,extreg;を解読すると、当該命令がアクセラレータ命令であるため、リクエストバス22を介して例外制御部4に伝達される。例外制御部4は、intregに書き込まれている設定情報及びregに書き込まれている状態情報を確認する。
この時、設定情報は“BUSY”、状態情報は“idle”であるため、そのまま実行させる。
サイクル17、18においてプロセッサ3が解読した命令は、nopであるため、プロセッサ3はなにもしない。
一方、サイクル19においてアクセラレータ6は、extregに書き込まれたCMD0を実行しているため、“busy”状態である。そして、サイクル18においてアクセラレータ6は、固有のエラーを発生し、“error”状態である。
サイクル19においてプロセッサ3が、プログラム行番号9のread extreg,reg1;を解読すると、当該命令がアクセラレータ命令であるため、リクエストバス22を介して例外制御部4に伝達される。そして、例外制御部4は、inntregに書き込まれている設定情報及びregに書き込まれている状態情報を確認する。
この時、状態情報は“error”であり、設定情報は“BUSY”であるため、例外制御部4は、アクセラレータ6にアクセラレータ命令を伝達せず、“BUSY”割り込み要求を割り込みコントローラ5に通知させる。
例外制御部4からの指示により割り込みコントローラ5は、プロセッサ3に対してプログラム行番号11の命令格納アドレスを示す例外ベクタアドレスを指定する“BUSY”割り込み要求を通知する。
プロセッサ3は、その要求を受けて、サイクル6において、プログラム行番号11のread epc,reg2;を解読し実行する。
以上、情報処理装置1の具体的な動作について説明したが、上記構成の情報処理装置1では、専用線を介して、アクセラレータ6の状態が例外制御部4に常に通知され、例外制御部4が、通知された状態情報と設定情報とに基づいて割り込みコントローラに割り込みを発生させるか否かの判定を行うので、従来よりも速やかに例外ハンドラと通常処理の切り替えを行うができ、通常処理の停滞を低減することができる。
<変形例>
上述の情報処理装置1は、アクセラレータが1つだけであったが、複数備わっていてもよい。
図5は、n個(n>2)のアクセラレータを備えた情報処理装置1Aの構成を示す図である。
情報処理装置1と異なる点は、備わっているアクセラレータが複数である点と、これらに対応する状態情報及び設定情報を記憶するレジスタを複数、例外制御部4Aが備える点である。
第1アクセラレータ6と第nアクセラレータ8は、それぞれ実行する処理が異なり、発生し得る例外も異なる。
第1アクセラレータ6は、MPEGの画像符号化アクセラレータであり、プロセッサ3から処理の依頼を示す命令が、extregに書き込まれることで画像符号化処理を実行する機能を有し、ビットストリームのオーバーフロー又は固有のエラー等の例外を発生することが想定される。
第nアクセラレータ8は、MPEGの画像復号化アクセラレータであり、プロセッサ3から処理の依頼を示す命令が、extregに書き込まれることで画像復号化処理を実行する機能を有し、ビットストリームのアンダーフロー又は固有のエラー等の例外を発生することが想定される。
また、図示していないが、第n−1アクセラレータは、固有の例外を発生せず、アドレス未実装例外のみを発生する。
例外制御部4Aは、上述の複数のアクセラレータにそれぞれに対応して、aintregnに書き込まれる設定情報とaregnに書き込まれる状態情報とに基づいて、“BUSY”割り込み要求、又は“READY”割り込み要求のいずれかを割り込みコントローラ5に通知させるか否かの判定を行う。
<補足>
なお、本発明は上述の実施の形態に限定されるものでないことは、勿論である。以下に示す内容も本発明に含まれる。
(1)上述の実施の形態では、プロセッサとアクセラレータは同じクロックサイクルで動作しているとして説明したが、動作周波数は同じでなくてもよい。一般的に、アクセラレータの動作周波数の方がプロセッサより遅い。
(2)上述の実施の形態では、プロセッサ3と例外制御部4は、同じチップ上に形成されており、アクセラレータ6は、別のチップ上に形成されているとしたが、プロセッサ3と例外制御部4とアクセラレータ6を1つのLSI(Large Scale Integration)チップに形成していてもよく、また、半導体技術の進歩により、又は派生する別技術により、現在の半導体技術に置き換わる集積回路化の技術が登場すれば、その技術を用いて集積化を行ったチップに形成していてもよい。
(3)上述の実施の形態では、例外制御部4は、プロセッサ3と別の回路として説明したが、プロセッサ3に含まれる一機能部であってもよい。
(4)アクセラレータ6は、実行すべき定型処理をプログラムすることが可能な論理素子で実現されていてもよい。
本発明は、ハードウェアアクセラレータ等、プロセッサから処理依頼を受けて特定の処理を行う情報処理回路を備える情報処理装置、例えば、携帯電話機、デジタルテレビ、レコーダ、パソコン等に有用である。
情報処理装置1の構成を示す図である。 情報処理装置1の割り込み制御を説明するために用いるフローチャート図である。 情報処理装置1が実行するプログラムの一例である。 図3に示すプログラムの具体的な流れの一例を示す図である。 変形例である情報処理装置1Aの構成を示す図である。
符号の説明
1A 情報処理装置
2 命令メモリ
3 プロセッサ
4 例外制御部
5 割り込みコントローラ
6 (第1)アクセラレータ
7、9 状態通知部
8 第nアクセラレータ
20 アドレスバス
21 データバス
22 リクエストバス
23 busy/idle信号線
24 error信号線

Claims (11)

  1. プロセッサと、
    前記プロセッサから処理依頼命令を受けて特定の処理を実行する情報処理手段と、
    前記プロセッサによって前記処理依頼命令の結果を読み出す命令発行された時に、前記プロセッサからの指示により設定される設定情報と、前記処理依頼命令に応じて変化し、前記情報処理手段から通知される前記情報処理手段の現在の状態を示す状態情報とに基づいて、前記プロセッサに対して割り込み要求を通知するか否かを判定し、通知すると判定した場合には前記プロセッサに対して割り込み要求を通知する制御手段と、
    を備えた情報処理装置。
  2. 前記情報処理手段と前記制御手段とは、前記状態情報を通知するための専用線で接続されている
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記状態情報は、前記情報処理手段が処理を実行しているビジー状態及び処理を実行していないアイドル状態のいずれかの状態を示し、
    前記設定情報は、第1情報、及び第2情報のいずれかであり、
    前記制御手段は、
    前記設定情報が第1情報であり、且つ前記状態情報がビジー状態を示す情報である場合、前記プロセッサの実行対象を第1例外ハンドラに移行させる第1種割り込み要求を通知し、前記設定情報が第1情報であり、且つ前記状態情報がアイドル状態を示す情報である場合、前記第1種割り込み要求を通知せず、
    前記設定情報が第2情報であり、且つ前記状態情報がビジー状態を示す情報からアイドル状態を示す情報に変化した場合、前記プロセッサの実行対象を、通常の処理シーケンスに復帰するための処理である、第2例外ハンドラに移行させる第2種割り込み要求を通知する
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記状態情報は、前記情報処理手段が処理を実行しているビジー状態及び処理を実行していないアイドル状態、エラーが発生しているエラー状態のいずれかの状態を示す情報であり、
    前記設定情報は、第1情報、及び第2情報のいずれかであり、
    前記制御手段は、
    前記設定情報が第1情報であり、且つ前記状態情報がビジー状態又はエラー状態を示す情報である場合、前記プロセッサの実行対象を第1例外ハンドラに移行させる第1種割り込み要求を通知し、
    前記設定情報が第1情報であり、且つ前記状態情報がアイドル状態を示す情報である場合、前記第1種割り込み要求を通知せず、
    前記設定情報が第2情報であり、且つ前記状態情報がビジー状態又はエラー状態を示す情報からアイドル状態を示す情報に変化した場合、前記プロセッサの実行対象を、通常の処理シーケンスに復帰するための処理である、第2例外ハンドラに移行させる第2種割り込み要求を通知する
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記プロセッサと前記制御手段とは、同じチップ上に形成されており、前記情報処理手段は他のチップ上に形成されていることを特徴とする請求項1に記載の情報処理装置。
  6. 前記情報処理装置は、前記情報処理手段を複数備え、
    前記制御手段は、前記プロセッサからの指示により個々に設定される各情報処理手段用の設定情報と、各情報処理手段から通知される前記複数の情報処理手段の現在の状態を示す状態情報とに基づいて、前記プロセッサに対して割り込み要求を通知する
    ことを特徴とする請求項1に記載の情報処理装置。
  7. 前記複数の情報処理手段と前記制御手段とは、それぞれ前記状態情報を通知するための専用線で接続されている
    ことを特徴とする請求項6記載の情報処理装置。
  8. 前記情報処理手段は、定型処理を実行するアクセラレータであることを特徴とする請求項1に記載の情報処理装置。
  9. 情報処理装置に用いられる例外制御回路であって、
    前記情報処理装置は、
    プロセッサと、
    前記プロセッサから処理依頼命令を受けて特定の処理を実行する情報処理手段と、
    を備え、
    前記例外制御回路は、
    前記プロセッサによって前記処理依頼命令の結果を読み出す命令発行された時に、前記プロセッサからの指示により設定される設定情報と、前記処理依頼命令に応じて変化し、前記情報処理手段から通知される前記情報処理手段の現在の状態を示す状態情報とに基づいて、前記プロセッサに対して割り込み要求を通知するか否かを判定し、通知すると判定した場合には前記プロセッサに対して割り込み要求を通知する手段を備える
    例外制御回路。
  10. プロセッサと、当該プロセッサから処理依頼命令を受けて特定の処理を実行する情報処理回路と、当該プロセッサに対して割り込み要求を通知する割り込みコントローラと、例外制御回路とを備える情報処理装置に用いられる例外制御方法であって、
    前記例外制御回路は、前記プロセッサによって前記処理依頼命令の結果を読み出す命令発行された時に、前記プロセッサからの指示により設定される設定情報と、前記処理依頼命令に応じて変化し、前記情報処理回路から通知される当該情報処理回路の現在の状態を示す状態情報とに基づいて、プロセッサの実行対象を対応する例外ハンドラに移行させる割り込み要求を前記割り込みコントローラに通知させるか否かの判定を行い、通知させると判定した場合には前記割り込みコントローラに前記プロセッサに対して割り込み要求を通知させる
    ことを特徴とする例外制御方法。
  11. プロセッサと、前記プロセッサから処理依頼命令を受けて特定の処理を実行する情報処理手段と、例外制御手段とを備える情報処理装置に用いられる例外制御方法であって、
    前記プロセッサによって前記処理依頼命令の結果を読み出す命令発行された時に、前記プロセッサからの指示により設定される設定情報と、前記処理依頼命令に応じて変化し、前記情報処理手段から通知される前記情報処理手段の現在の状態を示す状態情報とに基づいて、前記例外制御手段が、前記プロセッサに対して割り込み要求を通知するか否かを判定し、通知すると判定した場合には前記プロセッサに対して割り込み要求を通知する
    ことを特徴とする例外制御方法。
JP2006531874A 2004-08-27 2005-08-19 情報処理装置、例外制御回路 Active JP4564011B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004248040 2004-08-27
JP2004248040 2004-08-27
PCT/JP2005/015139 WO2006022202A1 (ja) 2004-08-27 2005-08-19 情報処理装置、例外制御回路

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010001363A Division JP4569934B2 (ja) 2004-08-27 2010-01-06 情報処理装置、例外制御回路及び例外制御方法

Publications (2)

Publication Number Publication Date
JPWO2006022202A1 JPWO2006022202A1 (ja) 2008-05-08
JP4564011B2 true JP4564011B2 (ja) 2010-10-20

Family

ID=35967414

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006531874A Active JP4564011B2 (ja) 2004-08-27 2005-08-19 情報処理装置、例外制御回路
JP2010001363A Active JP4569934B2 (ja) 2004-08-27 2010-01-06 情報処理装置、例外制御回路及び例外制御方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010001363A Active JP4569934B2 (ja) 2004-08-27 2010-01-06 情報処理装置、例外制御回路及び例外制御方法

Country Status (4)

Country Link
US (2) US7934082B2 (ja)
JP (2) JP4564011B2 (ja)
CN (1) CN100451950C (ja)
WO (1) WO2006022202A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934082B2 (en) * 2004-08-27 2011-04-26 Panasonic Corporation Information processing apparatus and exception control circuit
JP2008130056A (ja) * 2006-11-27 2008-06-05 Renesas Technology Corp 半導体回路
US7865675B2 (en) * 2007-12-06 2011-01-04 Arm Limited Controlling cleaning of data values within a hardware accelerator
GB2471138B (en) * 2009-06-19 2014-08-13 Advanced Risc Mach Ltd Handling integer and floating point registers during a context switch
US8972642B2 (en) * 2011-10-04 2015-03-03 Qualcomm Incorporated Low latency two-level interrupt controller interface to multi-threaded processor
US11204766B2 (en) * 2019-08-30 2021-12-21 Intel Corporation Proactive Di/Dt voltage droop mitigation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129414A (ja) * 1993-11-08 1995-05-19 Fujitsu Ltd データ処理装置
JPH07219774A (ja) * 1994-02-07 1995-08-18 Fujitsu Ltd データ処理装置および例外処理方法
JPH07262023A (ja) * 1994-03-23 1995-10-13 Fujitsu Ltd 割込制御方式
JPH10143481A (ja) * 1996-08-19 1998-05-29 Samsung Electron Co Ltd マルチタスキング処理システム環境における効率的な文脈セーブ及び復旧装置及び方法
JPH10340128A (ja) * 1997-06-10 1998-12-22 Hitachi Ltd データ処理装置及び移動体通信端末装置
JP2001142701A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd プロセッサにおけるパイプライン制御用メカニズムおよび方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632037A (en) * 1992-03-27 1997-05-20 Cyrix Corporation Microprocessor having power management circuitry with coprocessor support
US5784291A (en) * 1994-12-22 1998-07-21 Texas Instruments, Incorporated CPU, memory controller, bus bridge integrated circuits, layout structures, system and methods
US5799179A (en) * 1995-01-24 1998-08-25 International Business Machines Corporation Handling of exceptions in speculative instructions
US6373493B1 (en) * 1995-05-01 2002-04-16 Apple Computer, Inc. Hardware graphics accelerator having access to multiple types of memory including cached memory
US7016998B2 (en) * 2000-11-27 2006-03-21 Silicon Graphics, Inc. System and method for generating sequences and global interrupts in a cluster of nodes
US6907521B2 (en) * 2001-09-28 2005-06-14 Intel Corporation Enabling video BIOS and display drivers to leverage system BIOS platform abstract
US7673304B2 (en) * 2003-02-18 2010-03-02 Microsoft Corporation Multithreaded kernel for graphics processing unit
US7934082B2 (en) * 2004-08-27 2011-04-26 Panasonic Corporation Information processing apparatus and exception control circuit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129414A (ja) * 1993-11-08 1995-05-19 Fujitsu Ltd データ処理装置
JPH07219774A (ja) * 1994-02-07 1995-08-18 Fujitsu Ltd データ処理装置および例外処理方法
JPH07262023A (ja) * 1994-03-23 1995-10-13 Fujitsu Ltd 割込制御方式
JPH10143481A (ja) * 1996-08-19 1998-05-29 Samsung Electron Co Ltd マルチタスキング処理システム環境における効率的な文脈セーブ及び復旧装置及び方法
JPH10340128A (ja) * 1997-06-10 1998-12-22 Hitachi Ltd データ処理装置及び移動体通信端末装置
JP2001142701A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd プロセッサにおけるパイプライン制御用メカニズムおよび方法

Also Published As

Publication number Publication date
CN100451950C (zh) 2009-01-14
JPWO2006022202A1 (ja) 2008-05-08
WO2006022202A1 (ja) 2006-03-02
CN101023410A (zh) 2007-08-22
US20090049219A1 (en) 2009-02-19
JP2010102732A (ja) 2010-05-06
US7934082B2 (en) 2011-04-26
US8082429B2 (en) 2011-12-20
JP4569934B2 (ja) 2010-10-27
US20110173361A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
US7958333B2 (en) Processor with memory access stage adapted to fetch an instruction of a thread when no memory access operation is detected
US5909565A (en) Microprocessor system which efficiently shares register data between a main processor and a coprocessor
JP3781419B2 (ja) パイプライン方式のプロセッサにおける例外処理
JP4569934B2 (ja) 情報処理装置、例外制御回路及び例外制御方法
US4562538A (en) Microprocessor having decision pointer to process restore position
JP2007528549A (ja) 電子回路
WO2006059444A1 (ja) マルチプロセッサシステムとそのシステムにおけるプログラム実行方法
US5499348A (en) Digital processor capable of concurrently executing external memory access and internal instructions
WO1986004700A1 (en) Microprogrammable devices using transparent latch
EP1039376B1 (en) Sub-instruction emulation in a VLIW processor
US7191313B2 (en) Microprocessor
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
JPH03271829A (ja) 情報処理装置
JP4631442B2 (ja) プロセッサ
JP2007200106A (ja) データ処理装置、制御方法、及びプログラム
JPH0588884A (ja) 状態モード設定方式
JP3933679B2 (ja) 命令処理装置
JP3197045B2 (ja) 拡張中央演算処理装置
JP2002073351A (ja) データ処理ユニット、データ処理装置および制御方法
JP2002278753A (ja) データ処理システム
JP2636074B2 (ja) マイクロプロセッサ
JP2002312335A (ja) 非対称型マルチプロセッサ
JP2003029966A (ja) データ処理装置
JPH04188324A (ja) 情報処理システム
JP2001084143A (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100106

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100106

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100614

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: 20100706

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: 20100729

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4564011

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250