JP4965638B2 - タスクの切り換えを制御するシステムおよび方法 - Google Patents
タスクの切り換えを制御するシステムおよび方法 Download PDFInfo
- Publication number
- JP4965638B2 JP4965638B2 JP2009293912A JP2009293912A JP4965638B2 JP 4965638 B2 JP4965638 B2 JP 4965638B2 JP 2009293912 A JP2009293912 A JP 2009293912A JP 2009293912 A JP2009293912 A JP 2009293912A JP 4965638 B2 JP4965638 B2 JP 4965638B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- task
- cpu
- executed
- processing
- 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
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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- 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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Description
ここで、より詳細には、判断手段は、実行中のタスクに割り当てられた処理時間に対する残り時間と予め設定された閾値とを比較し、残り時間が閾値よりも短い場合に、実行手段に特定の命令を実行せずにタスク切り替え処理を行わせるように判断する。
さらに好ましくは、識別手段による命令の識別および判断手段による命令を実行するか否かの判断は、各命令に対する命令パイプラインの工程において行われる
また、本発明のシステムを、汎用CPUと、特定の命令を実行するための専用プロセッサとを別個に備えて構成し、識別手段、判断手段および実行手段の機能を専用プロセッサにより実現しても良い。
または、本発明のシステムにおいて、識別手段は、実行手段の機能を実現するプロセッサによるメモリからの命令の読み込みをバス・モニタ回路にて監視し、この命令の内容、またはプロセッサがアクセスしたメモリアドレス、もしくはその両方に基づき、この命令が特定の命令か否かを識別する構成としても良い。
<基本構成>
図1は、本実施形態の基本構成を示す図である。
図1に示すように、本実施形態のタスク切り替えシステムは、CPUが実行する命令が予め定められた特定の命令か否かを識別するための識別手段10と、識別手段10により識別された特定の命令について、即時実行するか、保留するかを判断する判断手段20とを備える。また、本実施形態のシステムは、判断手段20の判断結果にしたがって、マルチタスク制御により命令を実行する実行手段30を備える。
第1の実施例によるシステムでは、コンピュータのCPU自体の機能として識別手段10および判断手段20を実現する。そして、識別手段10の実現方法として、CPUにより実行される命令群に特定の命令を導入する。導入される特定の命令は、判断手段20の判断結果に応じて実行が保留される場合がある命令であり、遅延実行可能命令(postponable instruction:以下、P命令と記す)と呼ぶ。第1の実施例において、CPUは、命令を実行する際に、実行しようとする命令がP命令か否かを識別する。
図2は、第1の実施例によるタスク切り替えシステムが適用されるコンピュータのハードウェア構成例を示す図である。
図2に示すコンピュータ100は、演算手段であるCPU(Central Processing Unit)100aと、主記憶手段であるメモリ100cを備える。また、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)100g、ネットワーク・インタフェース・カード100f、ビデオ・カード100dおよび表示装置100j、音声機構100h、キーボードやマウス等の入力デバイス100i等を備える。
DECレジスタ101aは、タスク切り替え時に、OSによりそのタスクの最長処理時間に相当する値(タイムアウト値)がセットされ、CPUクロックごとに1ずつカウントダウンされる。したがって、DECレジスタ101aの値によりタスクの残り時間が示される。
図3は、第1の実施例によるタスク制御の方法を示すフローチャートである。
図3を参照すると、CPU100aは、実行しようとするCPU命令に着目すると(ステップ301)、まず識別手段10としての機能により、そのCPU命令がP命令か否かを判断する(ステップ302)。P命令でなければ、CPU100aは、実行手段30としての機能により、直ちにそのCPU命令を実行する(ステップ305)。そして、ステップ301に戻り、次の実行対象のCPU命令に着目する。
図4において、1行目の時間軸はOSによる処理が行われる時間を示し、2行目から4行目の時間軸は、3つのタスク(タスクA〜C)の処理が順番に行われる様子を示す。
P命令の導入方法には、いくつかの方法が考えられる。ここでは、I/O命令をP命令に設定する場合を例として、CPUが扱うアドレス空間がI/O空間とメモリ空間とで区別されない場合と、区別される場合について、導入方法の一例を説明する。
図5に示す例では、読み込み(load)命令として、通常の読み込み命令(lwz)と、P命令として通常の命令とは別に設定された読み込み命令(lwzd)の2種類が存在する。また、図5に示す命令シーケンスにおいて、1行目および2行目は、DDRメモリアドレス「0x00000100」をレジスタr3にセットすることを指示する。3行目は、レジスタr3の値+オフセット0のデータを読み込んでレジスタr4にセットすることを指示する。4行目および5行目は、I/Oデバイスのアドレス「0xF0000400」をレジスタr3にセットすることを指示する。6行目は、レジスタr3の値+オフセット0のデータを読み込んでレジスタr5にセットすることを指示する。
この場合、例えば読み込み(load)命令では、アクセス先のアドレス空間が異なるので、識別手段10としてのCPU100aは、実行対象の命令がI/O命令か否かを命令自体によって判断することができる。したがって、例えばI/O命令を一括してP命令に設定することが可能である。CPU100aは、識別手段10の機能により実行対象のCPU命令がI/O命令か否かを判断し、I/O命令であればすなわちP命令であるので、判断手段20の機能によりDEC値とTH値の比較を行う。なお、この例においては、I/O命令のようにP命令に設定された命令は全てP命令として固定的に扱われるので、図5を参照して説明した場合のように、ある処理を行うためにP命令を用いるか否かを、プログラムごとに個別的に決定することはできない。
第1の実施例において、P命令の識別およびP命令を即時実行するか否かの判断は、CPU命令の実行(例えばload命令の実行そのもの)に先立って行われるのであって、CPU命令の実行そのものには影響を与えない。また、P命令を実行するためには、CPUが実行可能な命令セットにP命令が含まれており、かつCPUがP命令を実行する際に識別手段10および判断手段20として動作すれば良い。したがって、第1の実施例の実装方法は、システムの仕様等に応じて適宜定め得る。以下に、実装例の一つとして、命令パイプラインを用いた実装について説明する。
図6(a)に示す命令パイプラインは、「命令フェッチ」、「デコード」、「実行」、「ライトバック」の4段階の工程で構成されている。これに対し、第1の実施例を実装する図6(b)に示す命令パイプラインは、「命令フェッチ」、「デコード」、「遅延判定」、「実行」、「ライトバック」の5段階の工程で構成されている。
第2の実施例によるシステムでは、CPUとは別に設けられる専用プロセッサのハードウェア制御により、識別手段10および判断手段20の機能と、実行手段30におけるタスク切り替え処理を行う機能とを実現する。識別手段10の実現方法としては、第1の実施例と同様に、P命令を導入する。
図7は、第2の実施例によるタスク切り替えシステムの構成例を示す図である。
図7に示すシステムは、汎用CPUであるCPU100aと、本実施形態を実現するための専用プロセッサである割り込み用プロセッサ110とを備える。CPU命令は、その種類に応じてCPU100aまたは割り込み用プロセッサ110に読み込まれ、実行される。また、割り込み用プロセッサ110に読み込まれたCPU命令がP命令である場合は、即時実行するか否かの判断が行われる。図7に示すように、CPU100aおよび割り込み用プロセッサ110は、ローカルバス102を介してメモリ100c、I/Oデバイス103と接続されている。なお、このシステムは、例えば図2に示したコンピュータ100に、割り込み用プロセッサ110を追加することにより実現される。
図8において、各I/Oデバイス103からの割り込み要求のうち、最大n個(nは自然数)の割り込み要求が割り込み処理実行ユニット110cへ通知される。ここでnは固定値であり、割り込み処理実行ユニット110cをSoC(System on Chip)に組み込む時点でハードウェア的に決定される。内部メモリ110dにはn個の割り込み処理ルーチンがCPU100aからローカルバス102を介して事前にダウンロードされている。また、図8において、制御レジスタ110fは、割り込み処理ルーチンPiの数に対応し、例えば32ビットレジスタとして構成されている。
図9は、第2の実施例によるタスク制御の方法を示すフローチャートである。
図9を参照すると、識別部111は、実行しようとするCPU命令に着目すると(ステップ901)、まず識別手段10としての機能により、そのCPU命令がP命令か否かを判断する(ステップ902)。P命令でなければ、タスク切り替え処理部113はタスク切り替え処理を行わず、実行手段30であるCPU100aは、直ちにそのCPU命令を実行する(ステップ905)。そして、ステップ901に戻り、次の実行対象のCPU命令に着目する。
第2の実施例では、上記のように割り込み用プロセッサ110のタスク切り替え処理部113が強制的にタスク切り替え処理を行う。したがって、図10において、OSによる処理が行われる時間を示す時間軸は記載されていない。1行目から3行目の時間軸は、3つのタスク(タスクA〜C)の処理が順番に行われる様子を示す。
第3の実施例によるシステムでは、CPUとは別に設けられる専用プロセッサのハードウェア制御により、識別手段10および判断手段20の機能を実現する。識別手段10は、上記第1、第2の実施例とは異なり、通常のCPU命令と異なるP命令を導入するのではなく、CPUがメモリから読み込むCPU命令を専用プロセッサが解析することにより実現される。
図11は、第3の実施例によるタスク切り替えシステムの構成例を示す図である。
図11に示すシステムは、CPU100aと、本実施形態によるタスク制御のための割り込みを行う割り込み装置120とを備える。図11に示すように、CPU100aおよび割り込み装置120は、ローカルバス102を介してメモリ100cと接続されている。また、割り込み装置120は、他のI/Oデバイス103からの割り込み要求を制御する割り込みコントローラ104と共に、論理和回路を介してCPU100aに接続されている。なお、このシステムは、例えば図2に示したコンピュータ100に、割り込み装置120を追加することにより実現される。
CPU100aは、この割り込み要求を受けて、OSが提供する割り込みハンドラを実行する。この際、割り込み要求生成部123のステータスレジスタ123aを読むことにより、割り込みコントローラ104による割り込みではなく、割り込み装置120による割り込みであることがわかる。
次に、本実施形態のクリティカル・セクションへの応用について説明する。
CPUがプログラムのクリティカル・セクションを実行する場合、排他制御等によりその領域の不可分性を確保する必要がある。そのため、マルチタスク制御において、あるタスクのクリティカル・セクションの実行中には割り込みを発生させることができず、タスク切り替え処理を行うことができない。したがって、リアルタイム処理を要するマルチタスク制御では、クリティカル・セクションの存在によってリアルタイム性が損なわれる可能性があった。
Claims (7)
- プロセッサが複数のタスクを切り替えながら処理を実行するシステムにおいて、
タスクを切り替えながら各タスクにおける命令を実行する実行手段と、
実行対象の命令が予め定められた特定の命令か否かを識別する識別手段と、
実行対象の命令が前記特定の命令である場合に、実行中のタスクに割り当てられた処理時間に対する残り時間と予め設定された閾値とを比較し、当該残り時間が当該閾値よりも長いときに前記実行手段に当該特定の命令を実行させ、当該残り時間が当該閾値よりも短いときに前記実行手段に当該特定の命令を実行せずにタスク切り替え処理を行わせることを判断する判断手段と、を備える、システム。 - 前記実行手段は、前記判断手段の判断に基づくタスク切り替え処理を行うための割り込みハンドラを備え、
前記判断手段は、前記割り込みハンドラを呼び出して、前記実行手段にタスク切り替え処理を行わせる、請求項1に記載のシステム。 - 汎用CPUと、前記特定の命令を実行するための専用プロセッサとを別個に備え、
前記専用プロセッサは、前記識別手段及び前記判断手段の機能を実現するとともに、前記実行手段が行う機能のうち、タスクを切り替える機能と前記実行対象の命令が前記特定の命令である場合に、前記残り時間が前記閾値よりも長いときに当該特定の命令を実行する機能を実現し、
前記汎用CPUは、前記実行手段が行う機能のうち、前記実行対象の命令が前記特定の命令ではない場合に、前記実行対象の命令を実行する機能を実現する、請求項1に記載のシステム。 - 前記識別手段による命令の識別および前記判断手段による命令を実行するか否かの判断は、各命令に対する命令パイプラインの工程において行われる、請求項1乃至請求項3のいずれかに記載のシステム。
- 前記識別手段は、
前記実行手段の機能を実現するプロセッサによるメモリからの命令の読み込みをバス・モニタ回路にて監視し、
当該命令の内容、または当該プロセッサがアクセスしたメモリアドレス、もしくはその両方に基づき、当該命令が前記特定の命令か否かを識別する、請求項1に記載のシステム。 - プロセッサが複数のタスクを切り替えながら処理を実行するシステムにおいて、
汎用CPUと、
予め定められた特定の命令を実行するための専用プロセッサとを備え、
前記専用プロセッサは、
実行対象の命令が予め定められた特定の命令か否かを識別する識別部と、
実行対象の命令が前記特定の命令である場合に、実行中のタスクに割り当てられた処理時間に対する残り時間と予め設定された閾値とを比較し、当該残り時間が当該閾値よりも短い場合に、当該特定の命令を実行するか、または、当該特定の命令を実行せずにタスク切り替え処理を行うかを判断する判断部と、
前記判断部によりタスク切り替え処理を行うと判断された場合に、割り込みを発生させてタスク切り替え処理を行うタスク切り替え処理部と、
前記判断部が前記特定の命令を実行すると判断したときに、前記特定の命令を実行する実行手段と、を備え、
前記汎用CPUは、前記識別部が実行対象の命令が前記特定の命令ではないと識別した場合に、前記実行対象の命令を実行する機能を実現する、システム。 - プロセッサが複数のタスクを切り替えながら処理を実行する方法において、
実行対象の命令が予め定められた特定の命令か否かを識別するステップと、
実行対象の命令が前記特定の命令である場合に、実行中のタスクに割り当てられた処理時間に対する残り時間と予め設定された閾値とを比較し、当該残り時間が当該閾値よりも長いときに当該特定の命令を実行し、当該残り時間が当該閾値よりも短いときに当該特定の命令を実行せずにタスク切り替え処理を行うことを判断するステップと、
タイマー割り込みによりタスク切り替え処理を行いながら各タスクにおける命令を実行し、前記判断するステップでタスク切り替えを行うと判断した場合は、当該判断に基づく割り込みによりタスク切り替え処理を行うステップと、を含む、方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009293912A JP4965638B2 (ja) | 2009-12-25 | 2009-12-25 | タスクの切り換えを制御するシステムおよび方法 |
US12/954,949 US8601488B2 (en) | 2009-12-25 | 2010-11-29 | Controlling the task switch timing of a multitask system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009293912A JP4965638B2 (ja) | 2009-12-25 | 2009-12-25 | タスクの切り換えを制御するシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011134162A JP2011134162A (ja) | 2011-07-07 |
JP4965638B2 true JP4965638B2 (ja) | 2012-07-04 |
Family
ID=44189105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009293912A Expired - Fee Related JP4965638B2 (ja) | 2009-12-25 | 2009-12-25 | タスクの切り換えを制御するシステムおよび方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8601488B2 (ja) |
JP (1) | JP4965638B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013095337A1 (en) * | 2011-12-19 | 2013-06-27 | Intel Corporation | A system and deterministic method for servicing msi interrupts using direct cache access |
GB2517494B (en) * | 2013-08-23 | 2021-02-24 | Advanced Risc Mach Ltd | Handling time intensive instructions |
JP6129702B2 (ja) * | 2013-09-24 | 2017-05-17 | 株式会社東芝 | 情報処理装置、情報処理システム、プログラム |
JP2016091076A (ja) * | 2014-10-30 | 2016-05-23 | 日本電気株式会社 | 情報処理装置 |
JP6445876B2 (ja) * | 2015-01-26 | 2018-12-26 | 日本電信電話株式会社 | リソース割当装置、リソース割当システム、および、リソース割当方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04137046A (ja) * | 1990-09-28 | 1992-05-12 | Toshiba Corp | 電子計算機のオペレーティングシステム |
JPH0588918A (ja) * | 1991-04-30 | 1993-04-09 | Internatl Business Mach Corp <Ibm> | マシン・サイクルの浪費を回避する方法 |
CN1113289C (zh) * | 1997-03-04 | 2003-07-02 | 松下电器产业株式会社 | 能执行多异步运行任务中的异步事件任务的处理器 |
US6157989A (en) * | 1998-06-03 | 2000-12-05 | Motorola, Inc. | Dynamic bus arbitration priority and task switching based on shared memory fullness in a multi-processor system |
JP3981238B2 (ja) * | 1999-12-27 | 2007-09-26 | 富士通株式会社 | 情報処理装置 |
US20010034751A1 (en) * | 2000-04-21 | 2001-10-25 | Shinichiro Eto | Real-time OS simulator |
JP3610930B2 (ja) * | 2001-07-12 | 2005-01-19 | 株式会社デンソー | オペレーティングシステム、プログラム、車両用電子制御装置 |
JP2003131892A (ja) * | 2001-10-25 | 2003-05-09 | Matsushita Electric Ind Co Ltd | タスク実行制御装置及びタスク実行制御方法 |
JP2004157636A (ja) * | 2002-11-05 | 2004-06-03 | Renesas Technology Corp | データ処理装置 |
JP3862715B2 (ja) * | 2004-06-01 | 2006-12-27 | 株式会社ソニー・コンピュータエンタテインメント | タスク管理方法、タスク管理装置、半導体集積回路、電子装置、およびタスク管理システム |
JP2007026095A (ja) * | 2005-07-15 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 並列演算装置 |
JP2007095040A (ja) * | 2005-08-31 | 2007-04-12 | Matsushita Electric Ind Co Ltd | データ処理装置、プログラム、記録媒体、コンテンツ再生装置 |
JP2007219937A (ja) * | 2006-02-17 | 2007-08-30 | Toyota Infotechnology Center Co Ltd | タスク管理システム、タスク管理方法およびタスク管理プログラム |
JP4127848B2 (ja) * | 2006-08-24 | 2008-07-30 | ネットクリアスシステムズ株式会社 | タスク処理装置 |
US7698541B1 (en) * | 2006-10-31 | 2010-04-13 | Netapp, Inc. | System and method for isochronous task switching via hardware scheduling |
US8341641B2 (en) * | 2007-08-16 | 2012-12-25 | Kernelon Silicon Inc. | Task processor |
JP4591580B2 (ja) * | 2008-02-07 | 2010-12-01 | 株式会社デンソー | 周期信号処理装置 |
JP5119994B2 (ja) * | 2008-03-14 | 2013-01-16 | 富士通株式会社 | 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置 |
-
2009
- 2009-12-25 JP JP2009293912A patent/JP4965638B2/ja not_active Expired - Fee Related
-
2010
- 2010-11-29 US US12/954,949 patent/US8601488B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011134162A (ja) | 2011-07-07 |
US20110161982A1 (en) | 2011-06-30 |
US8601488B2 (en) | 2013-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6903187B2 (ja) | タイミングを中断させるモードにおけるソフトウェアの後方互換性テスト | |
EP1421490B1 (en) | Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss | |
JP4837305B2 (ja) | マイクロプロセッサ及びマイクロプロセッサの制御方法 | |
US7774585B2 (en) | Interrupt and trap handling in an embedded multi-thread processor to avoid priority inversion and maintain real-time operation | |
EP2315113A1 (en) | Multi-threaded processors and multi-processor systems comprising shared resources | |
US20140129784A1 (en) | Methods and systems for polling memory outside a processor thread | |
JP4965638B2 (ja) | タスクの切り換えを制御するシステムおよび方法 | |
JP2005518606A (ja) | メモリアクセスを制御する方法及び装置 | |
JP2020507848A (ja) | メモリシステムへの加速されたアクセスを提供するための方法及び機器 | |
US20090007124A1 (en) | Method and mechanism for memory access synchronization | |
US8117425B2 (en) | Multithread processor and method of synchronization operations among threads to be used in same | |
WO2009098737A1 (ja) | 外部デバイスアクセス装置、その制御方法及びシステムlsi | |
US7870311B2 (en) | Preemptive packet flow controller | |
US7831979B2 (en) | Processor with instruction-based interrupt handling | |
JPWO2003040948A1 (ja) | コンピュータ及び制御方法 | |
EP0952527B1 (en) | Interrupt processing | |
US6775740B1 (en) | Processor having a selector circuit for selecting an output signal from a hit/miss judgement circuit and data from a register file | |
JPH1049373A (ja) | パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置 | |
US7877533B2 (en) | Bus system, bus slave and bus control method | |
JP2011070290A (ja) | データプロセッサ | |
JP4878050B2 (ja) | コンピュータ及び制御方法 | |
US11216277B2 (en) | Apparatus and method of capturing a register state | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
US20050268074A1 (en) | Method and apparatus for determining the criticality of a micro-operation | |
JPH0683621A (ja) | フェッチ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120224 |
|
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: 20120313 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20120313 |
|
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: 20120329 |
|
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: 20150406 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |