JP4883824B2 - デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 - Google Patents
デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 Download PDFInfo
- Publication number
- JP4883824B2 JP4883824B2 JP31026898A JP31026898A JP4883824B2 JP 4883824 B2 JP4883824 B2 JP 4883824B2 JP 31026898 A JP31026898 A JP 31026898A JP 31026898 A JP31026898 A JP 31026898A JP 4883824 B2 JP4883824 B2 JP 4883824B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- interrupt
- data processor
- instructions
- predetermined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 24
- 238000000034 method Methods 0.000 title claims description 16
- 230000001934 delay Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 20
- 239000004020 conductor Substances 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、データ・プロセッサに関し、更に特定すれば、データ・プロセッサにおける後続の命令処理の影響(affecting)に関するものである。
【0002】
【従来の技術】
リアル・タイム制御システムにおけるデータ・プロセッサの使用が増加しつつあるため、効率的なシステム資源の使用を確保するために、新たな技法が必要とされている。例えば、多くのマルチタスキング・システムでは、メモリ記憶装置,プリンタ,またはディスプレイ画面へのポートのような、同じシステム資源のいくつかを共有しようとするタスクが数個ある。このようなマルチタスキング・システムにおいて、共有システム資源を可能な限り最も効率的に使用することは非常に重要である。例えば、多数のタスクがある資源を共有している場合、どのタスクが現在その資源を使用しており、当該タスクが実行している機能を妨害してはならないか否かについて指示する方法がなければならない。多くのマルチタスキング・システムでは、この機能のためにセマファ(semaphore)が用いられている。
【0003】
セマファとは、システム資源の現ステータスを反映する、一種のフラグまたはステータス・インディケータである。通常、セマファ内のステータス情報は、システム資源が現在使用されているか否かについての指示を与える。マルチタスキング・システムの中には、セマファが、どのタスクが資源を使用しているのかについての情報、および恐らく当該資源上で実行されている機能の種類についての情報をも含む場合がある。
【0004】
例えば、メモリ内の特定の位置を、共有変数Xに対するセマファの位置として指定することができる。いずれのタスクも、共有変数Xを使用したい場合、当該タスクは、このメモリ内の特定位置を読み取ることによって、この共有変数Xに対するセマファを読み取らなければならない。変数Xのセマファは、変数Xが特定のタスクによる排他的アクセスのために現在予約されているか否かというような、変数Xのステータスについての状態を含む。変数Xが現在予約されておりビジーであることを変数Xのセマファが示す場合、新たなタスクは待機しなければならない。新たなタスクは、変数Xのセマファにポールし続け、変数Xのセマファを周期的に読み取ることによって、変数Xが未だ使用されている最中か、または使用可能になったかについて調べる。
【0005】
一旦、変数Xはもはや予約されておらず、したがって使用可能であることを変数Xのセマファが示したなら、待機中のタスクは変数Xのセマファに書き込みを行い、そのステータスをビジーまたは使用不可に変更する。こうして、待機中のタスクはそれ自体の使用のために、変数X資源を効果的にロックする。変数Xが使用されていることを変数Xのセマファが示す間、他のタスクは変数Xを使用することができない。一旦待機中のタスクが変数Xの使用を終了したなら、変数Xのセマファ位置に新しい値を書き込み、変数Xのセマファを変更し、変数Xが再び使用可能であることを示す。
【0006】
【発明が解決しようとする課題】
セマファを用いて共有システム資源を割り当てるシステムには、重大な問題が発生する。この問題は、1つ以上のタスクが共有資源のセマファにポールし、当該資源が既に使用可能になっているか否か調べる場合に起こる。例えば、タスク#1およびタスク#2双方が変数Xのセマファをポールしていると仮定する。タスク#1は、変数Xのセマファが変更され変数Xが使用可能であることが示された後に、最初に変数Xのセマファを読み取る。次に、タスク#2が変数Xのセマファを読み取り、これも変数Xが使用可能であることを知る。タスク#1もタスク#2も、他のタスクが変数Xの使用に競合していることを知らない。
【0007】
タスク#1が割り込みを受信した場合、タスク#1はソフトウエア割り込みルーチンを実行し、その後に中断したところから再開しなければならない。一方、タスク#2は変数Xのセマファにある値を書き込み、変数Xは現在ビジーであることを示す。次に、タスク#2は変数Xを使用し始める。タスク#1はその割り込みルーチンを終了し、そのソフトウエア・プログラムを中断したところから再開する。タスク#1は、変数Xが使用可能であることがわかったのでソフトウエア・プログラムを中断した。したがって、タスク#1は変数Xのセマファにある値を書き込み、変数Xが現在ビジーであることを示し、変数Xを使用し始めようとする。しかし、変数Xは既にタスク#2によって使用されている。こうして、衝突が発生する結果となる。その結果、変数Xは転化(corrupt)する虞れがあり、タスクは誤った値を変数Xから受信する可能性がある。したがって、多数のタスクが効果的かつ効率的に共通資源を共有することを可能にする手法が必要とされている。
【0008】
【発明の実施の形態】
図1は、データ・プロセッサ10を示す。一実施例では、データ・プロセッサ10は、中央演算装置(CPU)12,メモリ14,バス・インターフェース・モジュール16,およびその他のモジュール18を含み、これらは全てバス20を通じて互いに双方向的に結合されている。バス・インターフェース・モジュール16は、外部バス26を通じてデータ・プロセッサ10外部に結合することも可能である。他のモジュール18は、オプションとして、1つ以上の集積回路端子28を介して、データ・プロセッサ10外部に結合される。また、メモリ14は、オプションとして、1つ以上の集積回路端子24を介して、データ・プロセッサ10外部に結合される。中央演算装置12は、オプションとして、1つ以上の集積回路端子22を介して、データ・プロセッサ10外部に結合される。
【0009】
更に図1を参照する。本発明の代替実施例では、データ・プロセッサ10として、いずれの形式の構造でも使用可能である。加えて、データ・プロセッサ10は、多種多様な機能を実行可能である。例えば、データ・プロセッサ10は、RISC(Reduced Instruction Set Computer)アーキテクチャを用いても良いし、Harvardアーキテクチャを用いても良いし、ベクトル・プロセッサであっても良いし、SIMD(Single Instruction Multiple Data)プロセッサであっても良いし、浮動小数点算術演算を実行したり、ディジタル信号処理計算を実行するもの等でもよい。
【0010】
図2は、図1のCPU12の一部を示す。一実施例では、CPU12は、命令パイプ回路30,命令デコード回路32,レジスタ34,算術演算論理ユニット(ALU)40,およびCPU制御回路42を含む。CPU制御回路42は、制御/ステータス信号58を通じて、命令パイプ30,命令デコード32,レジスタ34,およびALU40に双方向的に結合され、制御情報を与え、ステータス情報を受信する。命令パイプ30は、バス20を通じて命令を受信する。命令パイプ30は、実行すべき1つ以上の命令を格納することができる。命令パイプ30は、導体54を通じて、命令デコード回路32に命令を供給する。命令デコード回路32は、命令パイプ30から受信した命令をデコードし、導体56を通じてその出力をCPU制御回路42に供給する。CPU制御回路42は、例外制御回路44,割り込み制御回路46,およびカウンタ/タイマ回路48を含む。
【0011】
本発明の一実施例では、割り込み制御回路46は、カウンタ/タイマ回路48に双方向的に結合されている。CPU制御回路42は、割り込み信号50を通じて、バス20から1つ以上の割り込み要求信号を受信する。他のモジュール18(図1を参照)または外部バス26に結合されている回路(図示せず)は、割り込み信号50を通じてCPU制御回路42が受信する1つ以上の割り込み要求のソースとなり得る。CPU制御回路42は、割り込み信号50を通じて、1つ以上の割り込み承認およびその他の割り込み関連信号をバス20に供給することができる。CPU制御回路42は、オプションとして、例外信号52を通じて、1つ以上の例外発生信号を受信する場合がある。本発明の実施例の中には、CPU制御回路42が、1つ以上の例外承認またはその他の例外ステータス信号をバス20に供給する場合もある。
【0012】
更に図2を参照すると、本発明の一実施例では、例外制御回路44が例外信号52に結合され、割り込み制御回路46が割り込み信号50に結合されている。例外制御回路44および割り込み制御回路46は双方とも、導体56および制御/ステータス信号58に結合されている。割り込み制御回路46は、オプションとして、オーバーライド回路(override circuit)47を含むことができる。本発明の代替実施例では、オーバーライド回路47は、CPU制御回路42内のいずれかの場所に配置することも可能である。CPU制御回路42は、オプションとして、集積回路端子22を介して、データ・プロセッサ10外部に結合される場合もある。レジスタ34は、バス20に双方向的に結合され、データ値の受信および供給を行う。レジスタ34はレジスタ36を含む。レジスタ36は条件ビット38を含む。レジスタ34は導体60および導体62を通じてALU40に結合され、値を供給する。ALU40の出力は、導体64を通じてレジスタ34に結合され、ALU40からの出力値を供給する。
【0013】
図3は、図2のCPU12が実行可能な割り込み認識遅延命令の一実施例を示す。
【0014】
図4は、図3の割り込み認識遅延命令を用いて検査およびセット機能を実行する際に使用可能な一連の命令の一実施例を示す。
【0015】
図5は、図3の割り込み認識遅延命令を用いてメモリ・オペランド交換機能を実行する際に使用可能な一連の命令の一実施例を示す。
【0016】
図6は、図3の割り込み認識遅延命令を用いてメモリ型カウンタ増分機能(memory-based counter function)を実行する際に使用可能な一連の命令の一実施例を示す。
好適実施例の動作
次に、好適実施例の動作について説明する。一実施例では、本発明は、所定の時間期間または所定の命令数の間のいずれかの、制御された区間にわたって割り込みの認識を遅延させることにより、変更処理を定義する専用命令を用いずに、リード/モディファイ/ライトの命令シーケンスを実行可能とする効率的な方法および装置を提供する。
【0017】
尚、「バス」という用語は、データ,アドレス,制御,またはステータスのような1つ以上の様々な種類の情報を転送するために使用可能な複数の信号または導体に言及する際に用いる。また、「アサート」および「ニゲート」という用語は、信号,ステータス・ビット,または同様の機構をその論理的真状態から論理的偽状態にすることをそれぞれ言及する際に用いる。論理真状態が論理レベル1である場合、論理偽状態は論理レベル0となる。更に、論理真状態が論理レベル0である場合、論理偽状態は論理レベル1となる。
【0018】
図3を参照する。本発明の一実施例では、図1および図2に示したデータ・プロセッサ10のような、ロード/格納アーキテクチャを用いるプロセッサにおいて、割り込み認識遅延命令(例えば、IDLY4)を用いて、所定数の命令の間割り込み認識を遅延させることができる。
【0019】
本発明の一実施例では、割り込み認識を遅延させる間に続いて実行される命令の所定数は、固定値(例えば、4命令)とすることができる。本発明の代替実施例では、この所定数の命令を、いずれの正の整数に固定することも可能である。図3に示す本発明の一実施例は、割り込み認識遅延命令(IDLY4)の実行後直ちに実行される4つの命令の間、割り込みの認識を遅延させる。このように、割り込み認識遅延命令を実行し、次いで続く4つの命令の間割り込みを認識せず、IDLY4命令に続く5番目の命令の実行開始と共に、割り込み認識を開始する。
【0020】
尚、本発明の実施例によっては、所定数の後続命令の一部として、例外処理の一部として実行される命令をカウントする場合があり、一方本発明の他の実施例では、所定数の後続命令の一部として、例外処理の一部として実行される命令をカウントしない場合もあることを注記しておく。
【0021】
本発明の第1実施例では、割り込み認識遅延命令を実行した後、所定数の命令の実行の間、割り込み認識を禁止または遅延させる。割り込み実行を禁止または遅延する間の所定数の命令は、様々な方法で規定することができる。例えば、割り込み認識遅延命令自体が、割り込みの認識を遅延させる間の命令数を定義するフィールドを含むことができる(例えば、図3におけるオプションの指定フィールド70を参照)。代替実施例では、ユーザによるプログラムが可能な制御レジスタ(例えば、図2におけるレジスタ34の1つ)が、割り込みの認識を遅延させる間の所定数の命令を決定する値を含むことも可能である。本発明の代替実施例では、いずれの形式の方法を用いて所定数の命令を選択することも可能であり、例えば、集積回路の端子を介してまたはマスク・プログラム可能な記憶デバイスによって所定数の命令を与えることが可能である。
【0022】
本発明の一実施例では、割り込み認識遅延命令が所定数の後続の命令を実行する間割り込みの認識を遅延させる場合、図2に示した回路が、以下のように機能する。割り込み認識遅延命令は、バス20から命令パイプ30を介して受信される。次に、命令パイプ30は、適正な時点においてこの命令を命令デコード回路32に供給する。次に、命令デコード回路32は、割り込み認識遅延命令のための適切なデコード信号を、導体56を通じてCPU制御回路42に供給する。すると、CPU制御回路42は、割り込み制御回路46を用いて、割り込み信号50を通じて受信した割り込み要求の認識を遅延させる。CPU制御回路42は、所定数の命令の間、割り込み要求の認識を遅延させる。CPU制御回路42は、カウンタ/タイマ48,ならびに命令パイプ30および命令デコード回路32から信号58を通じて受信した情報を用いて、割り込み認識遅延命令の実行の直後からいくつの命令が実行されたのかについて判定を行うことができる。
【0023】
本発明の実施例では、特にパイプライン・プロセッサ・アーキテクチャを用いた実施例では、CPU制御回路42は、後続の命令の内、実行を完了したもののみをカウントする場合もあり、あるいは、各命令のフェッチ,デコード,実行サイクルの間に所定の段階に到達した、あらゆる後続の命令をカウントする場合もある。
【0024】
所定数の後続の命令の間割り込みの認識を遅延させる代わりに、本発明の代替実施例では、割り込み認識を遅延させる所定時間期間を定義することも可能である。これらの代替実施例では、カウンタまたはタイマ(例えば、図2におけるカウンタ/タイマ48)を用いて所定数のクロック・サイクルをカウントしたり、割り込みの認識を遅延させる間の所定のナノ秒数をカウントすることが可能である。
【0025】
本発明の一実施例では、割り込み認識遅延命令が、所定数の後続クロック・サイクルの実行の間または所定のナノ秒の間割り込みの認識を遅延させる場合、図2に示すCPU制御回路42は、カウンタ/タイマ48を用いて、所定数の命令の実行ではなく、ナノ秒またはクロック・サイクルをカウントする。この場合も、命令自体(例えば、図3におけるオプションの指定フィールド70),レジスタ値またはその他のプログラム可能な方法のような、ユーザ・プログラム可能な機構を用いて、所定のナノ秒数または所定数のクロック・サイクルをカウンタ/タイマ48に供給し、割り込み認識遅延命令の実行に続いて、割り込みを認識しない間の区間長を決定することができる。
【0026】
本発明の一実施例では、CPU制御回路42は、割り込み認識遅延命令の実行を完了した後に、割り込み非認識区間のカウントを開始する。しかしながら、本発明の代替実施例では、CPU制御回路42は、割り込み認識遅延命令のデコードを開始した後のいずれの時点においても、割り込み非認識区間のカウントを開始することが可能である。
【0027】
本発明の実施例には、割り込み認識遅延命令に続く命令はいずれの種類でも可能な場合がある。しかしながら、状況によっては、除算命令のように多数のサイクルを必要とする命令を、割り込み認識遅延命令に続く命令シーケンスに置くと、過度に時間期間が長い割り込みレイテンシが発生する可能性がある。この問題に対処するために、本発明の実施例には、割り込み認識遅延命令の直後に続く命令の種類を限定する場合もある。例えば、図3を参照すると、割り込み認識遅延命令の直後に続く4つの命令を、単一サイクルの算術演算または論理命令,分岐命令,およびロードまたは格納命令に限定する場合がある。割り込み認識を遅延させる間命令を制限する目的は、割り込みレイテンシの最大時間期間を短縮することである。本発明の代替実施例では、割り込み認識を遅延させる間の命令の種類を制限してもしなくてもよく、したがって、割り込み認識遅延命令に続く可能性がある命令の種類を限定してもしなくてもよい。割り込み認識遅延命令に続く可能性がある命令の特定集合は、プロセッサ10毎に異なり、実施例によっては、ユーザ・プログラム可能とすることも可能である。
【0028】
本発明の代替実施例では、異なる方法で例外処理による影響を受ける場合がある。図3に示す本発明の実施例では、割り込みが認識されていない区間においても、例外を検出し通知する。しかしながら、本発明の代替実施例では、割り込み認識を遅延させる区間に発生する例外を検出するが、処理しない場合もある。更に別の代替実施例では、割り込みを認識しない区間では、例外を検出すらせず、したがってそれらの処理も行わない。加えて、本発明の代替実施例では、異なる形式の例外を別々に処理する場合もある。例えば、図3に示す割り込み認識遅延命令(IDLY4)は、割り込みを認識していない区間では、非トレース(non-trace)および非ブレークポイント(non-breakpoint)例外の発生によって条件ビット38(図2参照)をクリアすることを許すが、トレースおよびブレークポイント例外は、条件ビット38に影響を与えない。
【0029】
本発明の実施例には、割り込み認識遅延命令の実行に続く割り込み非認識区間に、割り込みを再度許可する機構を用いることが可能な場合もある。例えば、当該区間では、所定の時間期間にわたって特定のレベルの割り込みが保留になっており、したがって割り込み非認識区間が終了する前にこれを認識する必要があることを、カウンタ/タイマ48を用いて検出することができる。このように、本発明の実施例によっては、実行が未だ割り込み非認識区間(即ち、所定数の命令,クロック・サイクル,またはナノ秒によって規定される)内に留まっている間でさえも、オーバーライド回路47を用いて割り込みを再度許可することも可能である。割り込み認識が再び許可された場合、現命令を途中で中断することができ、あるいは割り込みが再び認識される前に、実行を継続し完了することも可能である。
【0030】
本発明の実施例によっては、全ての割り込みの認識を遅延させることも可能であるが、一方本発明の代替実施例では、所定の割り込みレベル未満の割り込みの認識のみを遅延させることも可能である。所定の割り込みレベルは、いずれの方法で指定してもよい。例えば、所定の割り込みレベルは、割り込み認識遅延命令フォーマット自体の一部として指定してもよく、ユーザ・プログラム可能なレジスタ内にある値を格納することによって指定してもよく、集積回路端子を介してある値を与えることによって指定してもよく、更に、マスク・プログラム可能な記憶回路にある値を格納することによって指定してもよい。
【0031】
代替実施例では、本発明は、第1命令に、後続の命令がステータス・フラグに影響を与える態様を変化させることを許可する。本発明の一実施例では、図3に示す割り込み認識遅延命令(IDLY4)の実行は、1つ以上の後続の命令が図2における条件ビット38に影響を与える態様を変化させることができる。例えば、図4ないし図6を参照すると、本発明の一実施例では、IDLY4命令は条件ビット38をアサートする。次に、後続の4つの命令のいずれかの間に例外が発生した場合、この例外が発生したときに実行していた命令は、条件ビット38をニゲートする。このように、通常では条件ビット38を決してクリア即ちニゲートしないように定義されている命令(例えばロード命令)であっても、ここでは、IDLY4命令の後に続く4つの命令の1つがロード命令である場合に、例外がロード命令の実行中に発生したなら、条件コード・ビット38をクリアすることが可能になる。このように、IDLY4命令は、後続の命令(例えば、ロード命令)が条件ビット38に影響を及ぼす態様を変化させることができる。このように条件ビット38を用いる目的の1つは、後続の4つの命令が分割不可能に実行されたのではなく、例外処理が共有資源に影響を与え得ることを示すためである。
【0032】
尚、図4ないし図6に示す一連の命令は全て、IDLY4命令後の4つの非例外処理命令の間に例外が受信され処理されたか否かについて判定を行うための、条件ビット38のチェックを含む(即ち、状態コード・ビット38がゼロに等しい場合、SEQUENCE#FAILEDに分岐する)ことを注記しておく。IDLY4命令の後に例外が受信され処理された場合、「BF」命令が、SEQUENCE#FAILEDと呼ばれる命令のサブルーチンに分岐し、これを用いて、IDLY4命令後の4つの命令が分割不可能に実行されなかったこと、および例外処理がセマファのような共有資源に影響を与えた可能性があることを示す。
【0033】
図4は、図3に示した割り込み認識遅延命令(IDLY4)を用い検査およびセット機能を実行する一連の命令を示す。図4に示す検査およびセット機能は、メモリ・オペランドを検査し、このメモリ・オペランドの現在値が全て1であるか否かについて判定を行い、メモリ・オペランドの値を全て1に変化させる(即ち、メモリ・オペランドの全てのビットがセットされている)。このように、図4に示す一連の命令を用いて、メモリ内に格納されているセマファ値に対して、検査およびセット機能を実行することができる。また、検査およびセット機能が分割不可能に実行されたので、検査処理とセット処理との間で図4に示したソフトウエア・ルーチンに異なるタスクが割り込んだことによるセマファの転化が発生していないことを、割り込み認識遅延命令(IDLY4)を用いて保証することも可能である。 尚、図4に示した命令シーケンスは、実際には、検査処理を実行する前にセット処理を実行することを注記しておく。これが可能なのは、別のタスクが割り込みを許可される前に、セット処理および検査処理双方が完了することをIDLY4命令を用いて保証することができ、更に、この場合セマファの値は、2通り即ち全て1または全て0の可能性しかないからである。したがって、セマファの初期値が全て1であった場合、セマファをセットするステップがセマファの値を変化させることはない。尚、検査およびセット機能を実行する代替命令シーケンスには、代わりに、セット処理の前に検査処理を実行する場合もあることを注記しておく。
【0034】
図5は、図3に示した割り込み認識遅延命令(IDLY4)を用いて「メモリ・オペランドとレジスタ・オペランドと交換する」機能を実行する、一連の命令を示す。図5に示す「メモリ・オペランドとレジスタ・オペランドと交換する」機能は、実際には、"EXCHANGE#VALUE"と呼ばれる値を、メモリ内のその初期位置からレジスタR1に移動させ、次いでセマファ値の位置に移動させる。セマファ値の位置は、"SEMAPHORE"と呼ばれるポインタによって示されることを注記しておく。セマファ値は、メモリ内のその初期位置からレジスタR3に移動される。図5に示す特定の命令シーケンスでは、最後の「OR」命令は、IDLY4命令の後の一連の4つの命令を完了する以外有用な処理は行わず、こうして割り込み認識の遅延を終了させる。したがって、最後の「OR」命令は、無処理(NOP)命令と同じ効果を有し、異なる命令と置き換えてもよい。
【0035】
図6は、図3に示した割り込み認識遅延命令(IDLY4)を用いて「メモリ型カウンタ増分」機能を実行する一連の命令を示す。図6に示す「メモリ型カウンタ増分」機能は、実際には、セマファ値をメモリ内のその初期位置からレジスタR3に移動させ、次いで1加算することによってセマファ値を増分する。尚、セマファ値の位置は、"SEMAPHORE"と呼ばれるポインタによって示されることを注記しておく。増分したセマファ値は、次に、レジスタR3からメモリ内のその初期位置に再び移動される。
【0036】
以上、特定実施例を参照しながら本発明を図示しかつ説明したが、当業者には更なる変更や改良も想起されよう。したがって、本発明は例示した特定形態に限定される訳ではなく、本発明の精神および範囲から逸脱しない全ての変更は、特許請求の範囲に含まれることは理解されよう。
【図面の簡単な説明】
【図1】本発明の一実施例によるデータ・プロセッサ10を示すブロック図。
【図2】本発明の一実施例による、図1の中央演算装置(CPU)12の一部を示すブロック図。
【図3】本発明の一実施例による遅延割り込み認識命令の一実施例を示す表。
【図4】本発明の一実施例による検査およびセット機能を実行する、一連の命令の一実施例を示す表。
【図5】本発明の一実施例によるメモリ・オペランド交換機能を実行する、一連の命令の一実施例を示す表。
【図6】本発明の一実施例によるメモリ型カウンタ増分機能を実行する、一連の命令の一実施例を示す表。
【符号の説明】
10 データ・プロセッサ
12 中央演算装置(CPU)
14 メモリ
16 バス・インターフェース・モジュール
18 その他のモジュール
20 バス
22,24,28 集積回路端子
26 外部バス
30 命令パイプ回路
32 命令デコード回路
34,36 レジスタ
38 条件ビット
40 算術演算論理ユニット(ALU)
42 CPU制御回路
44 例外制御回路
46 割り込み制御回路
47 オーバーライド回路
48 カウンタ/タイマ回路
50 割り込み信号
52 例外信号
54,56,60,62,64 導体
58 制御/ステータス信号
70 指定フィールド
R1,R3 レジスタ
Claims (5)
- データ・プロセッサにおいて後続の命令処理に影響を及ぼす方法であって:
所定の命令を受信する段階;
前記所定の命令をデコードする段階;
前記デコードに応答して、前記所定の命令のデコードに続く所定数の命令の間、または前記所定の命令のデコードに続く所定の時間区間のいずれか1方にわたり、前記データ・プロセッサが遭遇する割り込みの、前記データ・プロセッサの処理を遅延させる段階;および
前記割り込みの処理を実行する前に、前記後続の命令処理に影響を及ぼすように前記所定の命令を実行する段階であって、前記後続の命令の種類は、前記後続の命令の実行時間に基づいて予め限定される、前記所定の命令を実行する段階;
を備えることを特徴とする方法。 - 割り込みの処理を遅延させる前記段階は:
カウンタをタイマとして用い、前記所定の命令のデコードに続く前記所定の時間区間を判定する段階を更に含むことを特徴とする請求項1記載の方法。 - 割り込みの前記データ・プロセッサによる実行を遅延させる前記段階は、割り込みのみに応答して、処理を遅延させる段階を更に含むことを特徴とする請求項1記載の方法。
- データ・プロセッサであって:
所定の命令集合を実行する命令実行回路であって、該所定の命令集合が、少なくとも1つの命令を含み、前記命令実行回路によって実行された場合、前記少なくとも1つの命令の実行に続く所定数の命令の間、前記データ・プロセッサの処理に関連する割り込みの認識を、前記データ・プロセッサに遅延させ、後続の命令処理に影響を及ぼす、命令実行回路;
を備え、前記後続の命令の種類は、前記後続の命令処理の実行時間に基づいて予め限定されることを特徴とするデータ・プロセッサ。 - 前記データ・プロセッサが割り込みの認識を遅延させる前記所定数の命令は、前記データ・プロセッサのユーザによって、ユーザ・プログラム可能であることを特徴とする請求項4記載のデータ・プロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US963321 | 1997-11-03 | ||
US08/963,321 US6000029A (en) | 1997-11-03 | 1997-11-03 | Method and apparatus for affecting subsequent instruction processing in a data processor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009035190A Division JP4750865B2 (ja) | 1997-11-03 | 2009-02-18 | デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11219302A JPH11219302A (ja) | 1999-08-10 |
JP4883824B2 true JP4883824B2 (ja) | 2012-02-22 |
Family
ID=25507071
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31026898A Expired - Fee Related JP4883824B2 (ja) | 1997-11-03 | 1998-10-30 | デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 |
JP2009035190A Expired - Fee Related JP4750865B2 (ja) | 1997-11-03 | 2009-02-18 | デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009035190A Expired - Fee Related JP4750865B2 (ja) | 1997-11-03 | 2009-02-18 | デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 |
Country Status (9)
Country | Link |
---|---|
US (2) | US6000029A (ja) |
EP (1) | EP0913767B1 (ja) |
JP (2) | JP4883824B2 (ja) |
KR (1) | KR100588790B1 (ja) |
CN (1) | CN1098487C (ja) |
DE (1) | DE69810064T2 (ja) |
HK (1) | HK1020218A1 (ja) |
SG (2) | SG71861A1 (ja) |
TW (1) | TW494363B (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805724B1 (en) * | 1998-05-27 | 2010-09-28 | Arc International I.P., Inc. | Apparatus, method and computer program for dynamic slip control in real-time scheduling |
JP2000330785A (ja) * | 1999-05-18 | 2000-11-30 | Sharp Corp | 実時間プロセッサおよび命令実行方法 |
US6618800B1 (en) * | 2000-01-18 | 2003-09-09 | Systemonic Ag | Procedure and processor arrangement for parallel data processing |
GB2369464B (en) | 2000-11-27 | 2005-01-05 | Advanced Risc Mach Ltd | A data processing apparatus and method for saving return state |
US6857036B2 (en) * | 2001-07-17 | 2005-02-15 | Hewlett Packard Development Company, L.P. | Hardware method for implementing atomic semaphore operations using code macros |
US20030154347A1 (en) * | 2002-02-12 | 2003-08-14 | Wei Ma | Methods and apparatus for reducing processor power consumption |
US7539876B2 (en) | 2003-04-18 | 2009-05-26 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor |
US7532722B2 (en) | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
US7844053B2 (en) | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7529367B2 (en) | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions |
US7502943B2 (en) | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
US7925891B2 (en) | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7542566B2 (en) | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
US7529368B2 (en) | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent output feedback mode cryptographic functions |
US7321910B2 (en) | 2003-04-18 | 2008-01-22 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7519833B2 (en) | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US7392400B2 (en) | 2003-04-18 | 2008-06-24 | Via Technologies, Inc. | Microprocessor apparatus and method for optimizing block cipher cryptographic functions |
US7900055B2 (en) | 2003-04-18 | 2011-03-01 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7536560B2 (en) | 2003-04-18 | 2009-05-19 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size |
CN100495324C (zh) * | 2006-07-27 | 2009-06-03 | 中国科学院计算技术研究所 | 复杂指令集体系结构中的深度优先异常处理方法 |
US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
CN110535790B (zh) * | 2019-08-23 | 2022-03-18 | 天津芯海创科技有限公司 | 基于semaphore的交换芯片异常报文处理方法 |
US12039363B2 (en) * | 2022-06-29 | 2024-07-16 | Red Hat, Inc. | Synchronizing concurrent tasks using interrupt deferral instructions |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5440049A (en) * | 1977-09-06 | 1979-03-28 | Toshiba Corp | Information process system |
US4236204A (en) | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4435766A (en) * | 1981-06-16 | 1984-03-06 | International Business Machines Corporation | Nested resource control using locking and unlocking routines with use counter for plural processes |
CN1004234B (zh) * | 1985-04-01 | 1989-05-17 | 坦德姆计算机有限公司 | 增强的中央处理器(cpu)微转移结构 |
US4764893A (en) * | 1985-04-26 | 1988-08-16 | International Business Machines Corporation | Noise-immune interrupt level sharing |
CN1009399B (zh) * | 1987-06-02 | 1990-08-29 | 德国Itt工业股份公司 | 中央处理器 |
US5499356A (en) * | 1989-12-29 | 1996-03-12 | Cray Research, Inc. | Method and apparatus for a multiprocessor resource lockout instruction |
JPH03210649A (ja) * | 1990-01-12 | 1991-09-13 | Fujitsu Ltd | マイクロコンピュータおよびそのバスサイクル制御方法 |
JP2665813B2 (ja) * | 1990-02-23 | 1997-10-22 | 三菱電機株式会社 | 記憶制御装置 |
JPH05508496A (ja) * | 1990-06-11 | 1993-11-25 | クレイ、リサーチ、インコーポレーテッド | 命令をロードおよびフラグする方法および装置 |
JPH0467229A (ja) * | 1990-07-06 | 1992-03-03 | Hitachi Ltd | マイクロプロセッサおよびメモリシステム |
JPH0474229A (ja) * | 1990-07-17 | 1992-03-09 | Toshiba Corp | 情報処理装置 |
JPH04306735A (ja) * | 1991-04-04 | 1992-10-29 | Toshiba Corp | 非同期割込み禁止機構 |
US5301312A (en) * | 1991-08-21 | 1994-04-05 | International Business Machines Corporation | Method and system for utilizing benign fault occurrence to measure interrupt-blocking times |
US5283870A (en) * | 1991-10-04 | 1994-02-01 | Bull Hn Information Systems Inc. | Method and apparatus for avoiding processor deadly embrace in a multiprocessor system |
JPH05143322A (ja) * | 1991-11-15 | 1993-06-11 | Sanyo Electric Co Ltd | マイクロコンピユータ |
DE69326705T2 (de) * | 1992-02-14 | 2000-04-27 | Motorola, Inc. | Verfahren und Anordnung zur Feststellung der Befehlsablauffolge in einem Datenverarbeitungssystem |
US5590380A (en) * | 1992-04-22 | 1996-12-31 | Kabushiki Kaisha Toshiba | Multiprocessor system with processor arbitration and priority level setting by the selected processor |
JPH06110846A (ja) * | 1992-09-25 | 1994-04-22 | Fujitsu Ltd | 排他制御方式 |
US5768619A (en) * | 1996-02-16 | 1998-06-16 | Advanced Micro Devices, Inc. | Method and system for enabling and disabling functions in a peripheral device for a processor system |
-
1997
- 1997-11-03 US US08/963,321 patent/US6000029A/en not_active Expired - Lifetime
-
1998
- 1998-10-14 TW TW087117065A patent/TW494363B/zh not_active IP Right Cessation
- 1998-10-26 EP EP98120220A patent/EP0913767B1/en not_active Expired - Lifetime
- 1998-10-26 DE DE69810064T patent/DE69810064T2/de not_active Expired - Fee Related
- 1998-10-30 SG SG1998004357A patent/SG71861A1/en unknown
- 1998-10-30 JP JP31026898A patent/JP4883824B2/ja not_active Expired - Fee Related
- 1998-10-30 SG SG200106112A patent/SG101487A1/en unknown
- 1998-11-02 CN CN98121455A patent/CN1098487C/zh not_active Expired - Lifetime
- 1998-11-03 KR KR1019980046900A patent/KR100588790B1/ko not_active IP Right Cessation
-
1999
- 1999-10-22 US US09/425,469 patent/US6237089B1/en not_active Expired - Lifetime
- 1999-11-12 HK HK99105223A patent/HK1020218A1/xx not_active IP Right Cessation
-
2009
- 2009-02-18 JP JP2009035190A patent/JP4750865B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR100588790B1 (ko) | 2006-10-04 |
JP4750865B2 (ja) | 2011-08-17 |
DE69810064T2 (de) | 2003-04-17 |
EP0913767B1 (en) | 2002-12-11 |
SG71861A1 (en) | 2000-04-18 |
JP2009104675A (ja) | 2009-05-14 |
TW494363B (en) | 2002-07-11 |
US6237089B1 (en) | 2001-05-22 |
SG101487A1 (en) | 2004-01-30 |
KR19990044957A (ko) | 1999-06-25 |
EP0913767A3 (en) | 2000-01-26 |
US6000029A (en) | 1999-12-07 |
DE69810064D1 (de) | 2003-01-23 |
CN1098487C (zh) | 2003-01-08 |
EP0913767A2 (en) | 1999-05-06 |
JPH11219302A (ja) | 1999-08-10 |
CN1216375A (zh) | 1999-05-12 |
HK1020218A1 (en) | 2000-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4883824B2 (ja) | デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 | |
US7020871B2 (en) | Breakpoint method for parallel hardware threads in multithreaded processor | |
US5053949A (en) | No-chip debug peripheral which uses externally provided instructions to control a core processing unit | |
US6671827B2 (en) | Journaling for parallel hardware threads in multithreaded processor | |
US4879646A (en) | Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging | |
US5349667A (en) | Interrupt control system for microprocessor for handling a plurality of maskable interrupt requests | |
US5440747A (en) | Data processor with control logic for storing operation mode status and associated method | |
US6401197B1 (en) | Microprocessor and multiprocessor system | |
KR970003321B1 (ko) | 코프로세서 지정 시스템 | |
JPH05204709A (ja) | プロセッサ | |
KR900004291B1 (ko) | 데이터 프로세서 | |
US6842812B1 (en) | Event handling | |
JPS62115542A (ja) | 情報処理装置 | |
EP0385136B1 (en) | Microprocessor cooperating with a coprocessor | |
EP0720087A1 (en) | Apparatus and method for a memory extension stack in a data processing system | |
US5208915A (en) | Apparatus for the microprogram control of information transfer and a method for operating the same | |
EP0806723A2 (en) | Method and apparatus for handling multiple precise events in a pipelined digital processor | |
EP0573071A2 (en) | A microprocessor | |
JPH07219766A (ja) | 演算処理装置 | |
JP3493768B2 (ja) | データ処理装置 | |
JP2002278753A (ja) | データ処理システム | |
JPH04308930A (ja) | 電子計算機 | |
JPS6149695B2 (ja) | ||
JP2003029966A (ja) | データ処理装置 | |
JP2001084143A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050927 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050927 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080428 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080502 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080725 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080801 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081021 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090218 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090224 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090403 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110726 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110801 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110826 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110901 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110926 |
|
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: 20111206 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141216 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141216 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |