JP4101659B2 - 入力/出力能力を有するマルチスレッド内蔵プロセッサ - Google Patents
入力/出力能力を有するマルチスレッド内蔵プロセッサ Download PDFInfo
- Publication number
- JP4101659B2 JP4101659B2 JP2002586172A JP2002586172A JP4101659B2 JP 4101659 B2 JP4101659 B2 JP 4101659B2 JP 2002586172 A JP2002586172 A JP 2002586172A JP 2002586172 A JP2002586172 A JP 2002586172A JP 4101659 B2 JP4101659 B2 JP 4101659B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- threads
- thread
- instruction
- bit
- 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 - Lifetime
Links
- 230000015654 memory Effects 0.000 claims abstract description 50
- 230000002093 peripheral effect Effects 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 26
- 239000013598 vector Substances 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 abstract description 2
- 230000009977 dual effect Effects 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 17
- 238000006073 displacement reaction Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 241000238876 Acari Species 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 101150035983 str1 gene Proteins 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 240000008042 Zea mays Species 0.000 description 1
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 description 1
- 235000002017 Zea mays subsp mays Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 235000005822 corn Nutrition 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005057 refrigeration Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2214—Multicontrollers, multimicrocomputers, multiprocessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Control By Computers (AREA)
- Peptides Or Proteins (AREA)
Description
コーンに付与された米国特許第5,276,847号(1994年)によるメモリアドレス、及び、ミヤモト他に付与された米国特許第6,101,569号(2000年)に示されているより一般的なシステムリソースについては、種々のハードウエアセマフォーが検討されている。
本システムは、プロセッサコア内部のメモリ及び外部メモリの両方をサポートすることが好ましい。外部メモリは、周辺アダプタを通じてアクセスされる。従って、メモリは、プロセッサコアコードを記憶及び実行するための内部メモリ及び周辺アダプタに係合した外部メモリで構成することができる。
更に、プロセッサパイプラインは、インストラクション取出し論理段階、インストラクション復号化論理段階、マルチポートレジスタ読取り段階、アドレスモード論理段階、算術計算及びアドレス計算段階のための算術計算論理ユニット、マルチポートメモリ段階、分岐/待機論理段階、及びマルチポートレジスタ書込み段階のうちの少なくとも1つで構成されることが好ましい。
更に、監視制御ユニットは、好ましくは、入力/出力インストラクションを使用することによりプロセッサコアスレッドの各々によってアクセス及び制御することができる。制御用プロセッサコアスレッドは、好ましくは、プログラム可能であり、プロセッサコアスレッドのいずれかを含む。
ここで、本発明の実施形態を添付図面を参照しながら説明する。
従来技術による内蔵プロセッサシステムとは対照的に、本発明は、単一プロセッサ/機能的制御ユニットを伴うパイプラインアーキテクチャを使用し、インストラクションは、それを実行するのに複数のプロセッササイクルを必要とし、個々のストリームからの1つのインストラクションは、一般的に各プロセッササイクルで実行される。従来技術によるシステムと異なり、本発明は、特化されたハードウエア及びメモリレジスタを通じてではなく、パイプラインプロセッサスレッドのいずれかを通じて行われるパイプラインプロセッサ内の複数のスレッドの実行をサンプリング、監視、及び制御するための単純なプラットフォームを提供する。また、この監視制御機能は、メモリ、レジスタ、及び周辺装置を含む一組のプログラム定義リソースへのアクセスを制御するためのハードウエアセマフォー機構を組み込むことができる。
段階0:インストラクション取出し
段階1:インストラクション復号化
段階2:レジスタ読取り
段階3:アドレスモード
段階4:「ALU」オペレーション
段階5:メモリ又はI/Oサイクル
段階6:分岐/待機
段階7:レジスタ書込み
「c」条件コードは、「0」から「255」の値を有するワードを効率的に検出する。この機能の1つの用途は、文字などの1バイトのデータ形式の検出である。このような検出は、値の検査のための追加マシンサイクルを費やすことなく行うことができる。
R1...R3は、レジスタr0からr7のいずれかを表す。小文字表現は、実際のマシンインストラクションに使用される。
インストラクション:「add」−2の補数加算
フォーマット1−レジスタ:R1=R2+R3
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
R3:ソースレジスタ用3ビット指定子
K3:署名付き8ビット又は16ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:オーバーフローが発生した場合に設定
c:キャリーが発生した場合に設定
説明:
ソースオペランドを加算して結果を目的地レジスタR1に書き込む。
例示的インストラクション:
add r1、r2、r3(フォーマット1)
add r1、r2、9(フォーマット2及び3)
フォーマット1−レジスタ:R1=R2&R3
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
R3:ソースレジスタ用3ビット指定子
K3:16ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:(R2|R3)! =R3、又は、代替的に(R2|R3)! =K3の場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
ソースオペランドをビット単位アンドして、結果を目的地レジスタR1に書き込む。
例示的インストラクション:
and r1、r2、r3(フォーマット1)
and r1、r2、0x0F(フォーマット2)
フォーマット1−PC相対K2=[−128:127]:if(条件(C1))PC=PC+K2
C1:分岐条件用4ビット指定子
K2:署名付き8ビット又は16ビットリテラルソース
条件コード(CC)レジスタのn、z、v、及びcビットを使用して、指定された分岐条件(C1)を評価する(値については条件コード表を参照)。指定された分岐条件を満足した場合、ソースオペランドをプログラムカウンタ(PC)レジスタに追加する。そうでない場合は、プログラムカウンタは影響を受けない。
例示的インストラクション:
bc 0x2、loopback(フォーマット1及び2)
フォーマット1−即時K3=[0:15]:R1=R2&〜(1<<K3)
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
K3:4ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:選択されたビットがその試験時に1であった場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
即時オペランドK3を使用してソースオペランドR2の単一ビットを選択し、選択されたビットを試験し、選択されたビットをクリアし、その結果を目的地レジスタR1に書き込む。R2のビットは15:0と付番され、ビット0は最下位ビットである。
例示的インストラクション:
bic r1、r2、3(フォーマット1)
フォーマット1−即時K3=[0:15]:R1=R2|(1<<K3)
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
K3:4ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:選択されたビットがその試験時に1であった場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
即時オペランドK3を使用してソースオペランドR2の単一ビットを選択し、選択ビットを試験し、選択ビットを設定し、その結果を目的地レジスタR1に書き込む。R2のビットは15:0と付番され、ビット0は最下位ビットである。
例示的インストラクション:
bis r1、r2、3(フォーマット1)
フォーマット1−即時K3=[0:15]:R1=R2^(1<<K3)
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
K3:4ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:選択されたビットがその試験時に1であった場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
即時オペランドK3を使用してソースオペランドR2の単一ビットを選択し、選択ビットを試験し、選択ビットを変更し、その結果を目的地レジスタR1に書き込む。R2のビットは15:0と付番され、ビット0は最下位ビットである。
例示的インストラクション:
bix r1、r2、3(フォーマット1)
フォーマット1−PC相対K1=[−128:127]:PC=PC+K1
K1:署名付き8ビット又は16ビットリテラルソース
条件コード:
悪影響を受けない。
説明:
ソースオペランドをプログラムカウンタ(PC)レジスタに追加する。「X」は、「don’t care」である。
例示的インストラクション:
bra branchstart1(フォーマット1及び2)
フォーマット1−即時K2=[0:127]:PC=PC+K1
R1:目的地レジスタ用3ビット指定子
K2:署名なし7ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:結果が奇数、即ち、「lsb」が1の場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
I/OアドレスK2で入力ポートを読み取り、その結果を目的地レジスタR1に書き込む。
例示的インストラクション:
inp rl、0x00(フォーマット1)
フォーマット1−レジスタ:R1=R2|R3
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
R3:ソースレジスタ用3ビット指定子
K3:16ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:(R2及びR3)==R3、又は、代替的に(R2及びK3)==K3の場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
ソースオペランドをビット単位包含ORし、その結果を目的地レジスタR1に書き込む。
例示的インストラクション:
ior r1、r2、r3(フォーマット1)
ior r1、r2、0x1F(フォーマット2)
フォーマット1−一時Tを有するレジスタ・インダイレクト:T=R2;R1=PC;PC=T
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
K2:16ビットリテラルソース
条件コード:
影響を受けない。
説明:
ソースオペランドを一時Tに保存し、プログラムカウンタ(PC)を目的地レジスタR1に書き込み、一時Tをプログラムカウンタ(PC)レジスタに書き込む。「X」は、「don’t care」である。
例示的インストラクション:
jsr r1、r2(フォーマット1)
jsr r1、go_ahead(フォーマット2)
フォーマット1−絶対インデックス付きベース変位、K3=[−128:127]:R1=*(R2+K3)
R1:目的地レジスタ用3ビット指定子
R2:ベースレジスタ用3ビット指定子
K3:署名付き8ビット又は16ビット変位
K2:16ビット絶対アドレス
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:結果が奇数、即ち、「lsb」が1の場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
フォーマット1及び2については、RAMソースのアドレスを形成するためにベースレジスタR2及び変位K3を追加する。フォーマット3については、K2は、RAMソースのアドレスである。RAMソースを読み取り、その結果を目的地レジスタR1に書き込む。尚、絶対インデックス付きは、ベース変位と同意語である。
例示的インストラクション:
ld r1、r2、0x1F(フォーマット1及び2)
ld r1、0x2F(フォーマット3)
フォーマット1−即時、K2=[−32:31]:R1=K2
R1:目的地レジスタ用3ビット指定子
K2:署名付き6ビット又は16ビットリテラルソース
条件コード:
影響を受けない。
説明:
ソース値K2を目的地レジスタR1に書き込む。
例示的インストラクション:
mov r1、1(フォーマット1及び2)
フォーマット1−即時、K2=[0:127]:outp(R1、K2)
R1:ソースレジスタ用3ビット指定子
K2:署名なし7ビットリテラルソース
条件コード:
影響を受けない。
説明:
ソースオペランドR1を読み取み、結果をI/OアドレスK2で出力ポートに書き込む。
例示的インストラクション:
outp r1、SCUpc(フォーマット1)
フォーマット1−レジスタ:R1=R2<<R3
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
R3:ソースレジスタ用3ビット指定子
K3:4ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:結果が奇数、即ち、「lsb」が1の場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
ソースオペランドR2を左にn位置だけビット単位回転させ、結果を目的地レジスタR1に書き込む。回転量nは、16を法としてR3又はK3のいずれかにより与えられる。
例示的インストラクション:
rol r1、r2、r3(フォーマット1)
rol r1、r2、5(フォーマット2)
フォーマット1−絶対インデックス付きベース変位、K3=[−128:127]:*(R2+K3)=R1
R1:ソースレジスタ用3ビット指定子
R2:ベースレジスタ用3ビット指定子
K3:署名付き8ビット又は16ビット変位
K2:16ビット絶対アドレス
条件コード:
影響を受けない。
説明:
フォーマット1及び2については、RAM目的地のアドレスを形成するためにベースレジスタR2及び変位K3を追加する。フォーマット3については、K2はRAM目的地のアドレスである。ソースレジスタR1を読み取り、結果をRAM目的地に書き込む。
例示的インストラクション:
st r1、r2、0x11(フォーマット1及び2)
st r1、0x1FFF(フォーマット3)
フォーマット1−レジスタ:R1=R2−R3
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
R3:ソースレジスタ用3ビット指定子
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:オーバーフローが発生した場合に設定
c:キャリーが発生した場合に設定
説明:
ソースオペランドを引算し、R2−R3、結果を目的地レジスタR1に書き込む。
例示的インストラクション:
sub r1、r2、r3(フォーマット1)
フォーマット1−レジスタ:R1=thrd()
R1:目的地レジスタ用3ビット指定子
条件コード:
影響を受けない。
説明:
スレッド番号を目的地レジスタR1に書き込む。
例示的インストラクション:
thrd r1
フォーマット1−レジスタ:R1=R2^R3
R1:目的地レジスタ用3ビット指定子
R2:ソースレジスタ用3ビット指定子
R3:ソースレジスタ用3ビット指定子
K3:16ビットリテラルソース
条件コード:
n:結果が負、即ち、「msb」が1の場合に設定
z:結果がゼロの場合に設定
v:(R2及びR3)==R3、又は、代替的に(R2及びK3)==K3の場合に設定
c:結果が区間[1:255]にある場合に設定
説明:
ソースオペランドをビット単位排他ORし、結果を目的地レジスタR1に書き込む。
例示的インストラクション:
xor r1、r2、r3(フォーマット1)
xor r1、r2、0x100F(フォーマット2)
本発明のハードウエアセマフォーは、複数スレッドを停止、再初期化、及び再開始する能力と組み合わせて使用される。この組合せにより、より一般的なシステムリソースに対して競合する複数の同時スレッドのオペレーションを指示及び制限する極めて強力な機構が得られる。
本発明は、単一のパイプライン化プロセッサコアによって実行された時の単一又は複数スレッドの制御下で、複数データストリーム上の複数インストラクションストリーム、又は、様々な組合せのデータストリーム上の単一インストラクションストリームを実行することができる。
12 中央8スレッドプロセッサコア
14 クロック入力装置
16 バッファ付き出力装置
18 主RAM
20 監視制御ユニット
22 周辺アダプタ
24 周辺インタフェース装置
26 外部メモリインタフェース
28 試験ポート
Claims (18)
- プログラム可能シングルチップ内蔵プロセッサであって、
(a)1つ以上の独立したプロセッサスレッドによって共有されるk個のパイプライン段階を有し、前記k個が少なくとも4つに等しく、前記k個に等しいかまたはそれより少ないn個の前記プロセッサスレッドを有する、単一のプロセッサパイプラインを備えたモジュール式マルチビットマルチスレッドプロセッサコアと、
(b)内蔵インストラクションセットからのインストラクションを実行する前記プロセッサコアと係合したインストラクション実行論理機構と、
(c)前記プロセッサスレッドから選択された1つ以上の制御スレッドによって制御され、該プロセッサコアの状態を検査し、該プロセッサコアの作動を制御するための、監視制御ユニットであって、前記1つ以上の制御スレッドが1つ以上の他のスレッドの初期状態を設定し、かつその動作を開始ないし停止するのを許容するようになっている監視制御ユニットと、
(d)前記インストラクションセットからのインストラクションを含むデータを記憶することができるメモリであって、前記内蔵プロセッサに内部的に集積され、かつ主RAMとブートROMとを含むメモリと、
(e)前記内蔵プロセッサに内部的に集積され、かつ前記プロセッサコアに出入りする入力/出力信号を伝送するための、該プロセッサコアと係合した周辺アダプタと、を含む内蔵プロセッサであって、
(f)それぞれの前記n個のプログラムスレッドが任意の所定時刻において独自のパイプライン段階を所有しており、
(g)それぞれのプログラムスレッドがすべてのクロックサイクルにおいてつぎのパイプライン段階に進むようになっており、
(h)所定のプログラムスレッドに対して、前記パイプラインが全てk個のクロックサイクルで1ワードインストラクションを完了し、
(i)第1の選択されたプログラムスレッドが指定された周辺デバイスからの応答に対して特定の数のクロックサイクルを待つようになっており、
(j)前記指定された周辺デバイスが前記特定の数のクロックサイクルの間に応答しなかった場合には、第2の選択されたプログラムスレッドが前記第1の選択されたプログラムスレッドを再初期化するようになっている
ことを特徴とする内蔵プロセッサ。 - 前記プロセッサパイプラインは、インストラクション取出し論理段階、インストラクション復号化論理段階、マルチポートレジスタ読取り段階、アドレスモード論理段階、算術計算及びアドレス計算段階のための演算論理ユニット、マルチポートメモリ段階、分岐/待機論理段階、及びマルチポートレジスタ書込み段階のうちの少なくとも1つから構成されることを特徴とする請求項1に記載の内蔵プロセッサ。
- 前記プロセッサコアは、1つ以上の付加的な独立グループの少なくとも2つのプロセッサスレッドをサポートしており、各グループのプロセッサスレッドはインストラクション実行論理機構とメモリと協働するようになっていることを特徴とする請求項1に記載の内蔵プロセッサ。
- 特定のワードデータ形式を検出するための、前記インストラクションセットに実装された条件コード機構を更に含むことを特徴とする請求項1に記載の内蔵プロセッサ。
- ワードの最下位バイトの値は、それが特定範囲内にあることが条件コードによって検出されることを特徴とする請求項4に記載の内蔵プロセッサ。
- 前記インストラクションセットは、各プログラムスレッドが、それらが実行されている特定のプロセッサスレッドを識別することを可能にするためのプロセッサインストラクションを含むことを特徴とする請求項1に記載の内蔵プロセッサ。
- 前記監視制御ユニットは、個々のプロセッサスレッドを開始し及び停止し、個々のプロセッサスレッドの状態変更する目的のために前記プロセッサコアの状態を検 査し、解釈し調整することができるようになっていることを特徴とする請求項1に記載の内蔵プロセッサ。
- 前記周辺アダプタ及びシステムメモリへのマルチスレッドアクセスを制御するための、前記監視制御ユニットと係合したハードウエアセマフォーベクトルを更に含むことを特徴とする請求項7に記載の内蔵プロセッサ。
- 前記監視制御ユニットは、入力/出力インストラクションを使用して、1つ以上のプロセッサスレッドを制御することにより、前記プロセッサコアのプロセッサスレッドから選択された1つ以上の制御用スレッドにより、アクセス及び制御することができるようになっていることを特徴とする請求項1に記載の内蔵プロセッサ。
- 前記1つ以上の制御用プロセッサスレッドは、プログラム可能であることを特徴とする請求項9に記載の内蔵プロセッサ。
- 前記1つ以上の制御用プロセッサスレッドは、2つ以上のプロセッサスレッドがMIMD動作をサポートできるように、全体的なスレッド処理作動方法を再構成することができるようになっていることを特徴とする請求項9に記載の内蔵プロセッサ。
- 前記1つ以上の制御用プロセッサスレッドは、2つ以上のプロセッサスレッドがSIMD動作をサポートできるように、全体的なスレッド処理作動方法を再構成することができることを特徴とする請求項9に記載の内蔵プロセッサ。
- 前記1つ以上の制御用プロセッサスレッドは、2つ以上のプロセッサスレッドがMIMD動作をサポートでき、かつ、2つ以上のプロセッサスレッドがSIMD動作をサポートできるように、全体的なスレッド処理作動方法を再構成することができることを特徴とする請求項9に記載の内蔵プロセッサ。
- 前記監視制御ユニットは、他のプロセッサスレッドの動作を開始して停止し、単一ステップ及び複数ステップ制御オペレーションモードでプロセッサコア状態情報を検査して変更するように、第1のプロセッサスレッドによって、作動可能であることを特徴とする請求項1に記載の内蔵プロセッサ。
- 前記インストラクションセットに埋め込まれたビットパターンを識別すること含むことを特徴とする請求項1に記載の内蔵プロセッサ。
- 前記メモリは、周辺アダプタを介してシステムによってアクセス可能な外部メモリによって拡張可能であることを特徴とする請求項1に記載の内蔵プロセッサ。
- 前記監視制御ユニットは、前記プロセッサコアの周辺装置として構成されることを特徴とする請求項1に記載の内蔵プロセッサ。
- 前記周辺アダプタは、アナログ及びデジタル処理機能を制御することができることを特徴とする請求項1に記載の内蔵プロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/843,178 US7320065B2 (en) | 2001-04-26 | 2001-04-26 | Multithread embedded processor with input/output capability |
PCT/CA2002/000488 WO2002088940A1 (en) | 2001-04-26 | 2002-04-10 | Multithread embedded processor with input/output capability |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004525468A JP2004525468A (ja) | 2004-08-19 |
JP4101659B2 true JP4101659B2 (ja) | 2008-06-18 |
Family
ID=25289259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002586172A Expired - Lifetime JP4101659B2 (ja) | 2001-04-26 | 2002-04-10 | 入力/出力能力を有するマルチスレッド内蔵プロセッサ |
Country Status (6)
Country | Link |
---|---|
US (1) | US7320065B2 (ja) |
EP (1) | EP1386227B1 (ja) |
JP (1) | JP4101659B2 (ja) |
AT (1) | ATE484793T1 (ja) |
DE (1) | DE60237970D1 (ja) |
WO (1) | WO2002088940A1 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976239B1 (en) * | 2001-06-12 | 2005-12-13 | Altera Corporation | Methods and apparatus for implementing parameterizable processors and peripherals |
US7251814B2 (en) * | 2001-08-24 | 2007-07-31 | International Business Machines Corporation | Yield on multithreaded processors |
US7398374B2 (en) * | 2002-02-27 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Multi-cluster processor for processing instructions of one or more instruction threads |
US7334086B2 (en) * | 2002-10-08 | 2008-02-19 | Rmi Corporation | Advanced processor with system on a chip interconnect technology |
US9088474B2 (en) * | 2002-10-08 | 2015-07-21 | Broadcom Corporation | Advanced processor with interfacing messaging network to a CPU |
US7281075B2 (en) * | 2003-04-24 | 2007-10-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
US7065635B1 (en) * | 2003-12-17 | 2006-06-20 | Sun Microsystems, Inc. | Method for handling condition code modifiers in an out-of-order multi-issue multi-stranded processor |
US7802255B2 (en) * | 2003-12-19 | 2010-09-21 | Stmicroelectronics, Inc. | Thread execution scheduler for multi-processing system and method |
US8566828B2 (en) * | 2003-12-19 | 2013-10-22 | Stmicroelectronics, Inc. | Accelerator for multi-processing system and method |
US7165229B1 (en) * | 2004-05-24 | 2007-01-16 | Altera Corporation | Generating optimized and secure IP cores |
US7711955B1 (en) | 2004-09-13 | 2010-05-04 | Oracle America, Inc. | Apparatus and method for cryptographic key expansion |
US7827555B2 (en) * | 2004-09-13 | 2010-11-02 | Integrated Device Technology, Inc. | Scheduler for a multiprocessing computing system |
US7634774B2 (en) * | 2004-09-13 | 2009-12-15 | Integrated Device Technology, Inc. | System and method of scheduling computing threads |
US7620821B1 (en) * | 2004-09-13 | 2009-11-17 | Sun Microsystems, Inc. | Processor including general-purpose and cryptographic functionality in which cryptographic operations are visible to user-specified software |
US7426648B2 (en) * | 2004-09-30 | 2008-09-16 | Intel Corporation | Global and pseudo power state management for multiple processing elements |
US7373447B2 (en) * | 2004-11-09 | 2008-05-13 | Toshiba America Electronic Components, Inc. | Multi-port processor architecture with bidirectional interfaces between busses |
JP3866749B2 (ja) * | 2005-03-07 | 2007-01-10 | 富士通株式会社 | マイクロプロセッサ |
US7882505B2 (en) * | 2005-03-25 | 2011-02-01 | Oracle America, Inc. | Method and apparatus for switching between per-thread and per-processor resource pools in multi-threaded programs |
GB0509738D0 (en) | 2005-05-12 | 2005-06-22 | Cambridge Consultants | Processor and interface |
CN100349121C (zh) * | 2005-07-08 | 2007-11-14 | 北京中星微电子有限公司 | 嵌入式并行计算系统以及嵌入式并行计算方法 |
JP5096923B2 (ja) * | 2005-11-25 | 2012-12-12 | パナソニック株式会社 | 動的再構成論理回路を有するマルチスレッドプロセッサ |
US7730280B2 (en) | 2006-06-15 | 2010-06-01 | Vicore Technologies, Inc. | Methods and apparatus for independent processor node operations in a SIMD array processor |
DE102006040416A1 (de) * | 2006-08-29 | 2008-03-20 | Siemens Ag | Einrichtung zur Steuerung und/oder Regelung einer Maschine |
CN101170416B (zh) * | 2006-10-26 | 2012-01-04 | 阿里巴巴集团控股有限公司 | 网络数据存储系统及其数据访问方法 |
US7574679B1 (en) | 2006-11-16 | 2009-08-11 | Altera Corporation | Generating cores using secure scripts |
US7627706B2 (en) * | 2007-09-06 | 2009-12-01 | Intel Corporation | Creation of logical APIC ID with cluster ID and intra-cluster ID |
US7779233B2 (en) * | 2007-10-23 | 2010-08-17 | International Business Machines Corporation | System and method for implementing a software-supported thread assist mechanism for a microprocessor |
US20100049956A1 (en) * | 2008-08-20 | 2010-02-25 | Moyer William C | Debug instruction for use in a multi-threaded data processing system |
US9395983B2 (en) * | 2008-08-20 | 2016-07-19 | Freescale Semiconductor, Inc. | Debug instruction for execution by a first thread to generate a debug event in a second thread to cause a halting operation |
KR101014028B1 (ko) * | 2008-11-26 | 2011-02-14 | 한양대학교 산학협력단 | 고속 블록 입출력을 위한 적응성 문맥전환 방법 및 장치 |
US8812796B2 (en) | 2009-06-26 | 2014-08-19 | Microsoft Corporation | Private memory regions and coherence optimizations |
US8370577B2 (en) | 2009-06-26 | 2013-02-05 | Microsoft Corporation | Metaphysically addressed cache metadata |
US8489864B2 (en) * | 2009-06-26 | 2013-07-16 | Microsoft Corporation | Performing escape actions in transactions |
US8356166B2 (en) * | 2009-06-26 | 2013-01-15 | Microsoft Corporation | Minimizing code duplication in an unbounded transactional memory system by using mode agnostic transactional read and write barriers |
US20100332768A1 (en) * | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Flexible read- and write-monitored and buffered memory blocks |
US8250331B2 (en) * | 2009-06-26 | 2012-08-21 | Microsoft Corporation | Operating system virtual memory management for hardware transactional memory |
US8229907B2 (en) * | 2009-06-30 | 2012-07-24 | Microsoft Corporation | Hardware accelerated transactional memory system with open nested transactions |
US8832663B2 (en) | 2009-11-23 | 2014-09-09 | International Business Machines Corporation | Thread serialization and disablement tool |
US8549523B2 (en) | 2009-11-23 | 2013-10-01 | International Business Machines Corporation | Performing runtime analysis and control of folding identified threads by assuming context of another thread and executing in lieu of another thread folding tool |
US8539465B2 (en) * | 2009-12-15 | 2013-09-17 | Microsoft Corporation | Accelerating unbounded memory transactions using nested cache resident transactions |
US8402218B2 (en) * | 2009-12-15 | 2013-03-19 | Microsoft Corporation | Efficient garbage collection and exception handling in a hardware accelerated transactional memory system |
US9092253B2 (en) * | 2009-12-15 | 2015-07-28 | Microsoft Technology Licensing, Llc | Instrumentation of hardware assisted transactional memory system |
US8533440B2 (en) | 2009-12-15 | 2013-09-10 | Microsoft Corporation | Accelerating parallel transactions using cache resident transactions |
US9367462B2 (en) * | 2009-12-29 | 2016-06-14 | Empire Technology Development Llc | Shared memories for energy efficient multi-core processors |
IL225988A (en) * | 2013-04-28 | 2017-12-31 | Technion Res & Development Found Ltd | Multi-process based management from Meristor |
EP3082619B1 (en) | 2013-12-20 | 2024-04-10 | Terumo Corporation | Vascular occlusion |
US10680957B2 (en) * | 2014-05-28 | 2020-06-09 | Cavium International | Method and apparatus for analytics in a network switch |
JP6960479B2 (ja) * | 2017-03-14 | 2021-11-05 | アズールエンジン テクノロジーズ ヂュハイ インク.Azurengine Technologies Zhuhai Inc. | 再構成可能並列処理 |
WO2018218210A1 (en) | 2017-05-25 | 2018-11-29 | Microvention, Inc. | Adhesive occlusion systems |
JP6911544B2 (ja) * | 2017-06-02 | 2021-07-28 | 富士通株式会社 | プログラム、情報処理装置及び情報処理方法 |
CN108958896A (zh) * | 2018-06-16 | 2018-12-07 | 温州职业技术学院 | 多线程并发处理系统及方法 |
WO2020093012A1 (en) | 2018-11-01 | 2020-05-07 | Terumo Corporation | Occlusion systems |
GB2596872B (en) * | 2020-07-10 | 2022-12-14 | Graphcore Ltd | Handling injected instructions in a processor |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4155115A (en) * | 1977-12-30 | 1979-05-15 | Honeywell Inc. | Process control system with analog output control circuit |
US4646236A (en) | 1981-04-17 | 1987-02-24 | International Business Machines Corp. | Pipelined control apparatus with multi-process address storage |
US4556951A (en) * | 1982-06-06 | 1985-12-03 | Digital Equipment Corporation | Central processor with instructions for processing sequences of characters |
US4594655A (en) | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
US4636942A (en) | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
US4901230A (en) | 1983-04-25 | 1990-02-13 | Cray Research, Inc. | Computer vector multiprocessing control with multiple access memory and priority conflict resolution method |
JPS6370343A (ja) | 1986-09-11 | 1988-03-30 | Mitsubishi Electric Corp | マイクロコンピユ−タ |
JPS63100539A (ja) | 1986-10-16 | 1988-05-02 | Nippon Telegr & Teleph Corp <Ntt> | パイプライン処理方式 |
JPS6432379A (en) | 1987-07-29 | 1989-02-02 | Hitachi Ltd | Computer |
US5353418A (en) | 1989-05-26 | 1994-10-04 | Massachusetts Institute Of Technology | System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread |
WO1990014629A2 (en) | 1989-05-26 | 1990-11-29 | Massachusetts Institute Of Technology | Parallel multithreaded data processing system |
JP2967999B2 (ja) | 1989-07-06 | 1999-10-25 | 富士通株式会社 | プロセスの実行多重度制御処理装置 |
US5471593A (en) | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
US5276847A (en) | 1990-02-14 | 1994-01-04 | Intel Corporation | Method for locking and unlocking a computer address |
US5828894A (en) | 1990-11-13 | 1998-10-27 | International Business Machines Corporation | Array processor having grouping of SIMD pickets |
US5752067A (en) | 1990-11-13 | 1998-05-12 | International Business Machines Corporation | Fully scalable parallel processing system having asynchronous SIMD processing |
US5966528A (en) | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
US5765011A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5734921A (en) | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5404553A (en) | 1991-01-09 | 1995-04-04 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor and data flow microprocessor having vector operation function |
US5430850A (en) | 1991-07-22 | 1995-07-04 | Massachusetts Institute Of Technology | Data processing system with synchronization coprocessor for multiple threads |
US5357617A (en) | 1991-11-22 | 1994-10-18 | International Business Machines Corporation | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor |
US5404469A (en) | 1992-02-25 | 1995-04-04 | Industrial Technology Research Institute | Multi-threaded microprocessor architecture utilizing static interleaving |
US5546593A (en) | 1992-05-18 | 1996-08-13 | Matsushita Electric Industrial Co., Ltd. | Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream |
US5784552A (en) * | 1993-07-28 | 1998-07-21 | Digital Equipment Corporation | Debugging a computer program by simulating execution forwards and backwards in a main history log and alternative history logs |
US5632032A (en) | 1994-02-07 | 1997-05-20 | International Business Machines Corporation | Cross address space thread control in a multithreaded environment |
US5721920A (en) | 1994-08-05 | 1998-02-24 | Telefonaktiebolaget Lm Ericsson | Method and system for providing a state oriented and event driven environment |
JP2684993B2 (ja) | 1994-08-10 | 1997-12-03 | 日本電気株式会社 | プロセッサシステムとその制御方法 |
US5845331A (en) | 1994-09-28 | 1998-12-01 | Massachusetts Institute Of Technology | Memory system including guarded pointers |
JP3169779B2 (ja) | 1994-12-19 | 2001-05-28 | 日本電気株式会社 | マルチスレッドプロセッサ |
US6138140A (en) | 1995-07-14 | 2000-10-24 | Sony Corporation | Data processing method and device |
US5867725A (en) | 1996-03-21 | 1999-02-02 | International Business Machines Corporation | Concurrent multitasking in a uniprocessor |
GB2311882B (en) | 1996-04-04 | 2000-08-09 | Videologic Ltd | A data processing management system |
US5944816A (en) | 1996-05-17 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor configured to execute multiple threads including interrupt service routines |
US5933627A (en) * | 1996-07-01 | 1999-08-03 | Sun Microsystems | Thread switch on blocked load or store using instruction thread field |
EP1291765B1 (en) | 1996-08-27 | 2009-12-30 | Panasonic Corporation | Multithreaded processor for processing multiple instruction streams independently of each other by flexibly controlling throughput in each instruction stream |
US6088788A (en) | 1996-12-27 | 2000-07-11 | International Business Machines Corporation | Background completion of instruction and associated fetch request in a multithread processor |
US6073159A (en) | 1996-12-31 | 2000-06-06 | Compaq Computer Corporation | Thread properties attribute vector based thread selection in multithreading processor |
US5872963A (en) | 1997-02-18 | 1999-02-16 | Silicon Graphics, Inc. | Resumption of preempted non-privileged threads with no kernel intervention |
US5835705A (en) | 1997-03-11 | 1998-11-10 | International Business Machines Corporation | Method and system for performance per-thread monitoring in a multithreaded processor |
US5907702A (en) | 1997-03-28 | 1999-05-25 | International Business Machines Corporation | Method and apparatus for decreasing thread switch latency in a multithread processor |
US5903899A (en) | 1997-04-23 | 1999-05-11 | Sun Microsystems, Inc. | System and method for assisting exact Garbage collection by segregating the contents of a stack into sub stacks |
JPH1139209A (ja) | 1997-07-07 | 1999-02-12 | Internatl Business Mach Corp <Ibm> | コンピュータ資源アクセス制御装置およびその方法 |
US6076157A (en) | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6105051A (en) | 1997-10-23 | 2000-08-15 | International Business Machines Corporation | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor |
US6000044A (en) | 1997-11-26 | 1999-12-07 | Digital Equipment Corporation | Apparatus for randomly sampling instructions in a processor pipeline |
US6163840A (en) | 1997-11-26 | 2000-12-19 | Compaq Computer Corporation | Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline |
US6195748B1 (en) | 1997-11-26 | 2001-02-27 | Compaq Computer Corporation | Apparatus for sampling instruction execution information in a processor pipeline |
US6092180A (en) | 1997-11-26 | 2000-07-18 | Digital Equipment Corporation | Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed |
US5923872A (en) | 1997-11-26 | 1999-07-13 | Digital Equipment Corporation | Apparatus for sampling instruction operand or result values in a processor pipeline |
US6148396A (en) | 1997-11-26 | 2000-11-14 | Compaq Computer Corporation | Apparatus for sampling path history in a processor pipeline |
US6182210B1 (en) | 1997-12-16 | 2001-01-30 | Intel Corporation | Processor having multiple program counters and trace buffers outside an execution pipeline |
US6018759A (en) | 1997-12-22 | 2000-01-25 | International Business Machines Corporation | Thread switch tuning tool for optimal performance in a computer processor |
US6298431B1 (en) * | 1997-12-31 | 2001-10-02 | Intel Corporation | Banked shadowed register file |
US6134653A (en) | 1998-04-22 | 2000-10-17 | Transwitch Corp. | RISC processor architecture with high performance context switching in which one context can be loaded by a co-processor while another context is being accessed by an arithmetic logic unit |
US6272616B1 (en) * | 1998-06-17 | 2001-08-07 | Agere Systems Guardian Corp. | Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths |
US6154832A (en) | 1998-12-04 | 2000-11-28 | Advanced Micro Devices, Inc. | Processor employing multiple register sets to eliminate interrupts |
US6341347B1 (en) | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
US6507862B1 (en) | 1999-05-11 | 2003-01-14 | Sun Microsystems, Inc. | Switching method in a multi-threaded processor |
US6438671B1 (en) * | 1999-07-01 | 2002-08-20 | International Business Machines Corporation | Generating partition corresponding real address in partitioned mode supporting system |
GB2355085A (en) * | 1999-10-05 | 2001-04-11 | Sharp Kk | Translating a source operation to a target operation |
US6357016B1 (en) * | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
-
2001
- 2001-04-26 US US09/843,178 patent/US7320065B2/en not_active Expired - Lifetime
-
2002
- 2002-04-10 AT AT02717906T patent/ATE484793T1/de not_active IP Right Cessation
- 2002-04-10 DE DE60237970T patent/DE60237970D1/de not_active Expired - Lifetime
- 2002-04-10 EP EP02717906A patent/EP1386227B1/en not_active Expired - Lifetime
- 2002-04-10 WO PCT/CA2002/000488 patent/WO2002088940A1/en active Application Filing
- 2002-04-10 JP JP2002586172A patent/JP4101659B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7320065B2 (en) | 2008-01-15 |
EP1386227A1 (en) | 2004-02-04 |
ATE484793T1 (de) | 2010-10-15 |
WO2002088940A1 (en) | 2002-11-07 |
JP2004525468A (ja) | 2004-08-19 |
EP1386227B1 (en) | 2010-10-13 |
US20030093655A1 (en) | 2003-05-15 |
DE60237970D1 (de) | 2010-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4101659B2 (ja) | 入力/出力能力を有するマルチスレッド内蔵プロセッサ | |
US5530804A (en) | Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes | |
EP1137984B1 (en) | A multiple-thread processor for threaded software applications | |
TWI659356B (zh) | 用以提供向量水平式多數決投票功能之指令與邏輯(二) | |
US6671796B1 (en) | Converting an arbitrary fixed point value to a floating point value | |
US7028170B2 (en) | Processing architecture having a compare capability | |
CN104335183B (zh) | 用于测试事务性执行状态的方法、装置和系统 | |
US5574942A (en) | Hybrid execution unit for complex microprocessor | |
US6757820B2 (en) | Decompression bit processing with a general purpose alignment tool | |
JPH0926878A (ja) | データ処理装置 | |
WO2003003237A2 (en) | System on chip architecture | |
JPH1049370A (ja) | 遅延命令を有するマイクロプロセッサ | |
US7073048B2 (en) | Cascaded microcomputer array and method | |
US6341348B1 (en) | Software branch prediction filtering for a microprocessor | |
EP1986093A1 (en) | Comunicating data | |
CN114253607A (zh) | 用于由集群化解码流水线对共享微代码定序器的乱序访问的方法、系统和装置 | |
EP1986094A1 (en) | System and method for processing data in a series of computers | |
US6988121B1 (en) | Efficient implementation of multiprecision arithmetic | |
US20040093484A1 (en) | Methods and apparatus for establishing port priority functions in a VLIW processor | |
US5737561A (en) | Method and apparatus for executing an instruction with multiple brancing options in one cycle | |
WO2002015000A2 (en) | General purpose processor with graphics/media support | |
JP2636821B2 (ja) | 並列処理装置 | |
JP2785820B2 (ja) | 並列処理装置 | |
JP2000056972A (ja) | Vliwプロセッサ及びその処理方法 | |
JPH041821A (ja) | パイプライン型マイクロ命令制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060213 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060515 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071030 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071212 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080121 |
|
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: 20080218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080319 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 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: 20110328 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120328 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 6 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |