JP2010521730A - インタフェース・プロセッサ - Google Patents
インタフェース・プロセッサ Download PDFInfo
- Publication number
- JP2010521730A JP2010521730A JP2009553206A JP2009553206A JP2010521730A JP 2010521730 A JP2010521730 A JP 2010521730A JP 2009553206 A JP2009553206 A JP 2009553206A JP 2009553206 A JP2009553206 A JP 2009553206A JP 2010521730 A JP2010521730 A JP 2010521730A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- port
- activity
- processor
- indication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000000694 effects Effects 0.000 claims abstract description 163
- 230000001419 dependent effect Effects 0.000 claims abstract description 13
- 239000013598 vector Substances 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 9
- 230000002093 peripheral effect Effects 0.000 claims description 8
- 230000000630 rising effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 17
- SVYBEBLNQGDRHF-UHFFFAOYSA-N 4-amino-N-(5-ethyl-1,3,4-thiadiazol-2-yl)benzenesulfonamide Chemical compound S1C(CC)=NN=C1NS(=O)(=O)C1=CC=C(N)C=C1 SVYBEBLNQGDRHF-UHFFFAOYSA-N 0.000 description 15
- 230000007704 transition Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 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/38—Concurrent instruction execution, e.g. pipeline, 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
Description
- 各スレッド向けの1セットのレジスタ、
- どのスレッドを実行するかを動的に選択するスレッド・スケジューラ、
- 入出力に用いられる1セットのポート(ポート22)。
- そのレジスタは実行することが可能になる前に初期化されている、
- それは、準備ができたポートまたは利用可能なデータが全く無いポートからの入力を試みた、
- それは、準備ができたポートまたはデータ用の余地が全く無いないポートに出力を試みた、
- それは、ポートが入力に対して準備ができた状態になる時に生成され得る1つ以上のイベントを待たせる命令を実行した。
- データがポートに入力された、
- ある特定データがポートに入力された、かつ/または、
- ポートは出力に使用可能になった。
-PCはプログラム・カウンタである
-SRはステータス・レジスタである
アクセス・レジスタ:
-GPはグローバル・プール・ポインタである
-DPはデータ・ポインタである
-SPはスタック・ポインタである
-LRはリンク・レジスタである
オペランド・レジスタ:OP1〜OP12
コントロール・レジスタは、スレッドのステータスについての情報と、スレッドの実行を制御する際に使用される情報を格納する。特に、スレッドがイベントまたは割り込みを受理する能力は、スレッド・ステータス・レジスタSRの中に保持された情報によって制御される。アクセス・レジスタは、プロシージャのローカル変数に用いられるスタック・ポインタと、プロシージャ間で共有されるデータに通常用いられるデータ・ポインタと、大きな定数やプロシージャ・エントリ・ポイントにアクセスするために用いられる定数プールポインタとを含む。オペランド・レジスタOP1〜OP12は、算術・論理演算を実行し、データ構造にアクセスし、サブルーチンを呼び出す命令によって用いられている。
OUTSHR port, s port <− s[bits 0 for width(port)]; output from
s ← s >> width(port) port and shift INSHR
port, s s ← s >> width(d ); shift and input port −> s[bits (bitsperword - width(d)) for width(d)] from port
ここで、" −> "は入力を表し、"<− "は出力を表す。
SETC port, mode port[ctrl] ← mode set port control
SETCモード設定の効果が以下に述べられる。各設定それぞれにおける第1のエントリはデフォルト・モードである。
モード 効果
OFF アクティブでないポート;ピン ハイインピーダンス
ON アクティブ
IN ポートは入力
OUT ポートは出力(しかし、入力は現時のピン値を返す)
EVENT ポートはイベントをおこす
INTERRUPT ポートは割り込みを立てる
DRIVE ピンは高くそして低く動かされる
PULLDOWN ピンがビット0をプルダウン、そうでなければハイインピーダンス
PULLUP ピンがビット1をプルアップ、そうでなければハイインピーダンス
UNCOND ポートは常にレディ;入力は直ちに完了
EQUAL ポートの値がそのDATA値と等しい場合、ポートはレディ
NE ポートの値がそのDATA値と異なる場合、ポートはレディ
TRANSITION ポートの値がそのDATA値に向けて変化する場合、ポートはレディ
GR ポートの値がそのDATA値より大きい場合、ポートはレディ
LS ポートの値がそのDATA値より小さい場合、ポートはレディ
DRIVE、PULLDOWN、PULLUPモードは、ポートの方向がOUTである場合のみ正当である。TRANSITION状態は1ビットのポートに対してのみ正当であり、また、GR、LS状態は、1ビット以上のポートに対してのみ正当である。
OUT d <− s
IN d −> s
チャネルが満杯でデータを取り込むことができない時に出力命令が実行される場合は、命令を実行したスレッドは中断される。チャネルにその命令がうまく完了するための十分な余裕がある時に、再開される。同様に、入力命令が実行され、そして十分なデータがアベイラブルである時は、その場合、スレッドは中断され、そして十分なデータがアベイラブルになった時に、再開される。そのチャネルは、もはや必要とされない時は、FREER CHAN命令を用いて解放できる。そうでない場合は、他のメッセージに用いられる。
TSE s SR ← SR ∨ s スレッド ステート イネーブル
TSD s SR ← SR ∧ ¬ s スレッド ステート ディスエーブル
これらのインストラクションのオペランドは次のもののうちの1つであるはずである:
EE イベントをイネーブルにするかディスエーブルにする
IE 割り込みをイネーブルにするかディスエーブルにする
イベントはそれらがセットアップされたのと同じ適用範囲において処理される。従って、イベントの上では、すべてのスレッドの状態はイネーブルであり、これによりスレッドがイベントに素早く対応できるようになっている。スレッドは、いくつかまたはすべてのイベント情報を不変のまま残しながら、イベントを生じさせたポートを用いて入出力オペレーションを実行できる。これは、スレッドがイベントの処理を完了し、直ちに他の同様のイベントを待つことを、可能にする。
SETV port, v port[vector] ← v セットイベントベクトル
SETD port, d port[data] ← d セットイベントデータ
SETC port, c port[ctrl] ← c セットイベントコントロール
EET port, b port[enable]← b; port[tid] ← thread
イベントイネーブルツルー
EEF port, b port[enable]←¬b; port[tid] ← thread
イベントイネーブルフォルス
EDU port port[enable]← false; port[ tid] ← thread
イベント・ディスエーブル
EEU port port[enable]← true; port[tid] ← thread
イベントイネーブル
スレッドは、1つ以上のリソース上のイベントをイネーブルにしておくことによって、少なくとも1つのイベントを待つためのWAITEU命令を用いることができる。これは、EE(イベントイネーブル)フラグのクリアによりイベントをディスエーブルにされた対応するイベント・ベクトルによって特定されるイベント・ハンドラーに、コントロールが転送されて、イベントが直ちに起きるという結果になってもよい。または、スレッドはイベントが起こるまで一時中断されてもよく、この場合、イベントが起こればEEフラグはクリアされ、そしてスレッドは実行を再開する。
WAITET b if b then SR[EE] ← true ツルーならイベント待ち
WAITEF b if ¬ b then SR[EE] ←true フォルスならイベント待ち
WAITEU SR[EE] ← true イベント待ち
CLRE SR[EE] ← false; 全イベント・ディスエーブル
for all port for thread
if port[tid] = thread then port[enable] ← false
コンディションが発生するまで、1つ以上のイベントを繰り返し待つ共通ケースを最適化するために、イベント待ち命令のコンディショナル形式が提供される。WAITET命令はそのコンディション・オペランドが真の場合のみ待ち、また、WAITEFは、そのコンディション・オペランドが偽の場合のみ待つ。
SAVEPC ← PC;
SAVESR ← SR;
SR[EE] ← false;
SR[IE] ← false;
PC ← r[vector]
ハンドラが完了した時、中断されたスレッドの実行はRFINT命令によって実行できる。
RFINT PC ← SAVEPC; 割込みから戻る
SR ← SAVESR
割り込みはスレッドを中断することがあり得るが、一方イベントを待って一時中断さることもある。
LDFI: レジスタに命令アドレスをロードする
LDI: レジスタに定数値をロードする
EQI: レジスタ値が定数と等しい場合、ブール(真理値)値を生成する
OR: 2つのレジスタ値の論理和を生成する
ADD: 2つのレジスタ値を加算する
ADDI: レジスタ値に定数を加算する
SHL: レジスタの内容を左へシフトする
BBF: ブール値がフォルスの場合、プログラム中の他のポイントに分岐する
OUT: データを出力する
次は、ピンから8ビットバイトを直列に入力するためのコード例を示している。第2のポートで外部クロックから受信された信号が、データが取り込まれるべきであることを示すために0から1に変化した時、データの各ビットはそれぞれ第1のポートから入力される。高水準の言語では、そのオペレーションは下記のようである:
PROC inbyte(clock, data)
VAR byte;
{FOR n = 0 FOR 8
WHEN clock ? TO 1 DO {data? bit; byte = (byte << 1) + b};
RETURN byte
}
このためのインストラクションレベルのプログラムを以下に示す。
SETC clock, TRANSITION
SETD clock, 1
LDI byte, 0
LDI count, 0
loop:
IN clock, c
IN data, bit
SHL byte, byte, data
ADD byte, byte, bit
ADDI count, count, 1
EQI go, count, 8
BBF go, Loop
2つ以上のそのようなコード・シーケンスを、それらの内のおのおのをそれ自身のスレッドに割り付けることにより、同時に実行することが可能であろう。
PROC nand(x, y, z) IS
WHILE TRUE
{WHEN x? TO notx DO {notx:= NOT notx; z! (notx OR noty)}
| WHEN y? TO noty DO {noty:= NOT noty; z! (notx OR noty)}
}
低レベルのコードでは、プロセスは、ベクトル「xv」と「yv」をそれぞれ備えた二つのポートxとyを初期化し、これらのポートがイベントを発生することを可能にする単一のスレッドを含む。その対応するインストラクションレベルのプログラムは以下のとおりである:
nand:
LDI notx, 1
LDI noty, 1
SETC x, TRANSITION
SETD x, notx
SETC y, TRANSITION
SETD y, noty
LDFI temp, xv
SETV temp, x
LDFI temp, yv
SETV temp, y
EEU x
EEU y
WAIT
xv:
EQI notx, notx, 0
SETD x, notx
OR temp, notx, noty
OUT z, temp
WAIT
yv:
EQI noty, noty, 0
SETD y, noty
OR temp, notx, noty
OUT z, temp
WAIT
オペレーションにおいては、x入力が変化するかまたはy入力が変化すとコントロールはxvかyvのいずれかに移る。いずれの場合においても、応答コードは5つの命令を実行し、次の入力の状態変化を待つ。入力変化から出力変化までの遅延は約10サイクル未満であってもよい。1GHzのプロセッサは100MHzのロジックをエミュレートすることができる。
PROC dtype(d, ck, q) IS
WHILE TRUE
{WHEN d? TO notd DO notd:= NOT notd
| WHEN ck? TO TRUE DO q! NOT notd
}
その対応するインストラクションレベルのプログラムは次のとおりである:
dtype:
IN d, temp
EQI temp, temp, 0
SETC d, TRANSITION
SETD d, temp
SETC ck TRANSITION
LDI temp, 1
SETD ck, temp
LDFI temp, dv
SETV d, temp
LDFI temp, ckv
SETV ck, ckv
EEU d
EEU ck
WAIT
dv:
IN d, temp
SETD d, temp
WAIT
ckv:
EQI temp, notd, 0
OUT q, temp
WAIT
オペレーションにおいては、d入力が変化するか、またはck入力が変化する。いずれの場合も、応答コードは3つの命令を実行し、次の入力状態変化を待つ。入力変化から出力変化までの遅延は約10サイクル未満であってもよい。また、1GHzのプロセッサは、100MHzのロジックをエミュレートすることができる。
PROC lookup(d, ck, q) IS
WHILE TRUE
{WHEN d? x: x!= lastx DO lastx:= x
| WHEN ck? TO TRUE DO q! lookup[lastx]
}
その対応するインストラクションレベルのプログラムは次のとおりである:
logic:
IN d, data
SETC d, NE
SETD d, data
SETC ck, TRANSITION
LDI temp, 1
SETD ck, temp
LDFI temp, dv
SETV d, temp
LDFI temp, ckv
SETV ck, temp
EEU d
EEU ck
WAIT
dv:
IN d, data
SETD d, data
WAIT
ckv:
LDW temp, lookup, data // replace this to change function
OUT temp, q
WAIT
オペレーションにおいては、d入力が変化するかまたはck入力が変化する。いずれの場合も、応答コードは3つの命令を実行し、次の入力状態変化を待つ。入力変化から出力変化までの遅延は約10サイクル未満であってもよい。
また、1GHzのプロセッサは、100MHzのロジックをエミュレートすることができる。
LDWSP スタック・ポインタを用いて、メモリから値をロードする
STWSP スタック・ポインタを用いて、メモリに値を格納する
LDWDP データ・ポインタを用いて、メモリから値をロードする
STWDP データ・ポインタを用いて、メモリに値を格納する
EXTSP 新規の値用のスペースを作るためにスタックを拡張するべく用いられる
LDAWSP スタックから値を捨てるために用いられる
この例は、1バイトのデータを一度に1ビットづつ入力する;イベントを用いる上述の例とは対照的に、これは割込みハンドラを用いている。高レベルのプログラムは次のとおりである:
PORT clock: INT, TRANSITION, 1;
VAR byte;
VAR count;
byte:= 0;
count:= 0;
ENABLE clock;
// program to be interrupted follows here
HANDLER inbyte()
{data? bit; byte := (byte << 1) + bit;
count:= count + 1;
IF count = 8 THEN DISABLE clock
}
ポートが割り込みを生成するべくイネーブルになっている場合、外部クロックがトランジションをロジック1にする毎に、割込みハンドラが開始される。ハンドラはデータ・ビットを取り込み、1バイトを構成する。そのバイトは、ビット入力のカウントと一緒にメモリのロケーションに格納され、データ・ポインタを介してアクセスされる。8ビットが入力された場合、そのハンドラは、そのバイトをプログラムが使用するためレディにしておいて、さらなる割り込みをディスエーブルにする。その対応するインストラクションレベルのプログラムは次のとおりである:
SETD clock, 1
SETC clock, TRANSITION
SETC clock, INT
LDI r0, 0
STWDP r0, byte
STWDP r0, n
EEU clock
… // program which will be interrupted
int: // interrupt handler
EXTSP 2
STWSP R0, 0
STWSP R1, 1
IN clock, r0
IN data, r0
LDWDP r1, byte
SHL byte, byte, 1
ADD byte, byte, r0
STWDP r1, byte
LDWDP r0, n
ADDI r0, r0, 1
STWDP r0, n
EQI r0, r0, 8
EEF clock, r0
LDWSP R1, 1
LDWSP R0, 0
LDAWSP 2
RFINT
上記の説明と例から、それぞれのポートにおけるアクティビティを対応するそれぞれのスレッドに関連付けること、及びそのアクティビティから発生するイベントに基づいたこれらのスレッドをスケジューリングすることが、外部刺激にすばやく対応できるプロセッサを、いかに好適に提供するかが分かる。
Claims (56)
- 第1のポートであって、該第1のポートで第1のアクティビティに依存する第1のインディケーションを発生させるよう動作可能な第1のポートと、
第2のポートであって、該第2のポートで第2のアクティビティに依存する第2のインディケーションを発生させるよう動作可能な第2のポートと、
マルチスレッドを実行するように構成された実行ユニットと、
前記インディケーションを受信するために接続され、前記インディケーションに基づいて、前記実行ユニットによる実行用のマルチプルスレッドをスケジューリングするように構成されるスレッド・スケジューラであって、前記スケジューリングは、それぞれのインディケーションの受信までスレッドの実行を一時中断することを含むスレッド・スケジューラとを含み、
前記第1のアクティビティと前記第2のアクティビティは、それぞれ対応するそれぞれのスレッドに関係付けられているプロセッサ。 - 前記スレッド・スケジューラは、前記第1のポートに関係付けられた識別子レジスタに、第1のアクティビティを待つ間一時中断された第1のスレッドに関係する第1のスレッド識別子を送信するように構成されている請求項1に記載のプロセッサ。
- 前記スレッド・スケジューラは、前記第2のポートに関係付けられた識別子レジスタに、第2のアクティビティを待つ間一時中断された第2のスレッドに関係する第2のスレッド識別子を送信するように構成されている請求項2に記載のプロセッサ。
- 一時中断スレッドのすべてのスレッド識別子がポートに送られてしまうと、実行ユニット、スレッド・スケジューラ、クロックの内の少なくとも1つの電源を切るよう適応している請求項1に記載のプロセッサ。
- それぞれのポートからスレッド識別子の少なくとも1つが返されると、実行ユニット、スレッド・スケジューラ、クロックの内の前記少なくとも1つの電源を入れるよう適応している請求項4に記載のプロセッサ。
- 前記第1のおよび第2のポートの少なくとも1つは、アクティビティ処理ロジックを含み、且つ状態を格納するための少なくとも1つのコンディション・レジスタに関係付けられており、該アクティビティ処理ロジックは、ポートにおけるアクティビティをモニターし、前記状態を満たす前記アクティビティに依存して前記インディケーションを発生させるように構成されている請求項1に記載のプロセッサ。
- 前記実行ユニットは、各コンディション・レジスタにそれぞれの状態を送るように構成されている請求項6に記載のプロセッサ。
- バスにより前記実行ユニットに接続されたプログラム・メモリをさらに含み、前記スレッド・スケジューラは、前記第1のおよび第2のポートのそれぞれから前記インディケーションを受信するために前記バスとは別の少なくとも1つの接続により接続されている請求項1に記載のプロセッサ。
- スレッド・スケジューラは前記第1のスレッドを一時中断すると、第1のポートに関係付けられたベクトル・レジスタに継続点ベクトルを送信するように構成され、また、継続点ベクトルは第1のアクティビティに依存して実行ユニットに返される請求項2に記載のプロセッサ。
- 前記第1のスレッドは、複数のポートからのアクティビティに関係付けられており、各ポートは、該アクティビティに依存してそれぞれのインディケーションを発生させるよう動作可能であり、前記実行ユニットは、複数の継続点ベクトルをそれぞれ前記複数のポートのうち対応する1つに送信するよう適応しており、それぞれの継続点ベクトルはそれぞれのアクティビティに依存して返され、前記スレッド・スケジューラは、第1のスレッドの実行を、それぞれのインディケーションの少なくとも1つを受信するまで、一時中断するよう適応している請求項9に記載のプロセッサ。
- ポートイベント有効フラグが第1のポートに関係付けられており、前記スレッド・スケジューラは、ポートイベント有効フラグを有効にすることにより前記第1のアクティビティが前記スケジューリングを始動させることができるようにし、ポートイベント有効フラグを無効にすることにより前記第1のアクティビティが前記スケジューリングを始動させることができないようにするよう適応している請求項10に記載のプロセッサ。
- スレッドイベント有効フラグが第1のスレッドに関係付けられており、前記スレッド・スケジューラは、スレッドイベント有効フラグを有効にすることにより第1のスレッドが、第1のアクティビティに依存してスケジュールされることができるようにし、スレッドイベント有効フラグを無効にすることにより第1のスレッドが、第1のアクティビティに依存してスケジュールされることができないようにするよう適応している請求項11に記載のプロセッサ。
- 前記ポートイベント有効フラグと前記スレッドイベント有効フラグの少なくとも1つは、第1のアクティビティの発生によって自動的に無効にされる請求項11に記載のプロセッサ。
- 前記スレッド・スケジューラは、ポートイベント有効フラグとスレッドイベント有効フラグの少なくとも1つが無効にされている時、ポートからの第3のアクティビティの第3のインディケーションを待つ間、第1のスレッドの実行を一時中断するよう適応している請求項11に記載のプロセッサ。
- 複数のポートイベント有効フラグのそれぞれは、第1のスレッドに関係付けられた複数のポートのそれぞれに関係付けられており、前記スレッド・スケジューラは、スレッドイベント有効フラグを有効にし、続けて、前記複数のポートイベント有効フラグを有効にするように構成されている請求項12またはその従属請求項に記載のプロセッサ。
- 複数セットのスレッド・レジスタをさらに含み、各セットは、前記マルチスレッドのそれぞれ1つに関係する情報を格納するように割り付けられている請求項1に記載のプロセッサ。
- 前記プロセッサはチップ上に実現され、前記第1と第2のポートの少なくとも1つは前記チップ上の他のプロセッサと通信するための内部ポートである請求項1に記載のプロセッサ。
- 前記プロセッサはチップ上に実現され、前記第1と第2のポートの少なくとも1つは前記チップの外のデバイスと通信するための外部ポートである請求項1に記載のプロセッサ。
- 少なくとも1つの外部ポートは、チップの物理的な境界におけるピンに発生する立ち上がり信号エッジまたは立ち下がり信号エッジを検出するためのピンポートである請求項18に記載のプロセッサ。
- 少なくとも1つの外部ポートは、ポートにおける1個以上のビットの瞬間の論理レベルを処理するためのデータポートである請求項18または19に記載のプロセッサ。
- 前記実行ユニットは、スレッドを一時中断しそして実行させるための専用の命令を認識し実行するよう適応している請求項1に記載のプロセッサ。
- 前記セットの少なくとも2つの間の少なくとも1つのチャネルをさらに含み、前記スレッド・スケジューラは、前記チャネル上に発生するアクティビティに基づいて、スレッドをスケジュールするよう適応している請求項16に記載のプロセッサ。
- 前記スレッド・スケジューラは、割り込みに基づいてスレッドをスケジュールするようさらに適応している請求項1に記載のプロセッサ。
- 割り込みに基づいてスケジュールされたスレッドが、第1のスレッドであり、該割り込みが一時中断中の第1のスレッド中断する請求項23に記載のプロセッサ。
- 前記スレッド・スケジューラは、関係付けられたアクティビティが、そのアクティビティに依存したスレッド内の命令の実行時または実行前に発生した場合、一時中断なしでそのスレッドをスケジュールするよう適応している請求項1に記載のプロセッサ。
- 第1のポートと第2のポートを有するプロセッサ内で実行のためマルチスレッドをスケジューリングする方法であって:
第1のポートにおける第1のアクティビティと第2のポートにおける第2のアクティビティに対応するそれぞれのスレッドを関連付けるステップと、
第1のアクティビティに依存して第1のポートの第1のインディケーションを発生させるステップと、
第2のアクティビティに依存して第2のポートの第2のインディケーションを発生させるステップと、
前記インディケーションに基づいてスレッドの実行をスケジューリングするステップであって、前記スケジューリングはそれぞれのインディケーションの受信までスレッドの実行を一時中断するステップと、
前記スケジューリングに依存してそれらを実行することによりスレッドを実行させるステップとを含む方法。 - 第1のアクティビティを待つ間一時中断されている第1のスレッドに関係する第1のスレッド識別子を、第1のポートに関係付けられた識別子レジスタに送信するステップをさらに含む請求項26に記載の方法。
- 第2のアクティビティを待つ間一時中断されている第2のスレッドに関係する第2のスレッド識別子を、第2のポートに関係付けられた識別子レジスタに送信するステップをさらに含む請求項27に記載の方法。
- 中断されたスレッドの全てのスレッド識別子がポートに送られてしまうと、前記スレッドを実行するのに使用される実行ユニット、前記スレッドをスケジュールするのに使用されるスレッド・スケジューラ、クロックのうちの少なくとも1つの電源を切るステップをさらに含む請求項28に記載の方法。
- それぞれのポートからスレッド識別子の少なくとも1つが返されると、実行ユニット、スレッド・スケジューラ、クロックの内の前記少なくとも1つの電源を入れるステップをさらに含む請求項29に記載の方法。
- 前記第1と第2のポートの少なくとも1つは、アクティビティ処理ロジックを含み、状態を格納するための少なくとも1つのコンディション・レジスタに関係付けられており、該方法は、アクティビティ処理ロジックを用いて、ポートにおけるアクティビティをモニターし、前記状態を満たす前記アクティビティに依存して前記インディケーションを発生させるステップをさらに含む、請求項26に記載の方法。
- 各コンディション・レジスタにそれぞれの状態を送るステップをさらに含む請求項31に記載の方法。
- 前記プロセッサが、バスによって実行ユニットに接続されたメモリを含み、該方法は、前記バスとは別の少なくとも1つの接続により、第1と第2のポートのそれぞれから前記インディケーションを送るステップをさらに含む請求項26に記載の方法。
- 前記第1のスレッドを一時中断すると、第1のポートに関係付けられたベクトル・レジスタに継続点ベクトルを送信するステップと、第1のアクティビティに依存して継続点ベクトルを返すステップとをさらに含む請求項26に記載の方法。
- 第1のスレッドを複数のポートからのアクティビティに関係付けるステップと、複数の継続点ベクトルをそれぞれ前記複数のポートのうち対応する1つに送信するステップとを含み、前記スケジューリングは第1のスレッドの実行を、継続点ベクトルの少なくとも1つが返されるまで、一時中断する請求項34に記載の方法。
- ポートイベント有効フラグを有効にすることにより、前記第1のアクティビティが前記スケジューリングを始動させることができ、ポートイベント有効フラグを無効にすることにより、前記第1のアクティビティが前記スケジュールを始動させられないようにするステップを含む請求項34に記載の方法。
- スレッドイベント有効フラグを有効にすることにより、第1のアクティビティに依存して、第1のスレッドをスケジュールすることができ、スレッドイベント有効フラグを無効にすることにより、第1のアクティビティに依存して、第1のスレッドをスケジュールすることができないようにするステップを含む請求項34に記載の方法。
- 第1のアクティビティの発生により、ポートイベント有効フラグとスレッドイベント有効フラグの少なくとも1つを自動的に無効にするステップを含む請求項36または37に記載の方法。
- ポートイベント有効フラグとスレッドイベント有効フラグの少なくとも1つを無効にした後、第1のスレッドの実行を再開し、続いて、ポートイベント有効フラグとスレッドイベント有効フラグの前記少なくとも1つが無効にされている時、ポートからの第3のアクティビティの第3のインディケーションを待つ間、第1のスレッドの実行を一時中断するステップと、
ポートイベント有効フラグとスレッドイベント有効フラグの前記少なくとも1つを再度有効にするステップと、
ポートイベント有効フラグとスレッドイベント有効フラグの前記少なくとも1つを再度有効にした後、第1のアクティビティの再発生を待つ間、スレッドの実行を一時中断するステップとをさらに含む請求項36に記載の方法。 - 複数のポートイベント有効フラグはそれぞれ、第1のスレッドに関係付けられた複数のポートのそれぞれと関係付けられ、該方法は、スレッド有効フラグを有効にし、続いて前記複数のポートイベント有効フラグを有効にするステップを含む請求項34に記載の方法。
- スレッド・レジスタのそれぞれのセットにおける前記スレッドのそれぞれを表す情報を格納するステップをさらに含む請求項26に記載の方法。
- 前記プロセッサはチップ上に実現され、また、前記第1と第2のポートの少なくとも1つは前記チップ上の他のプロセッサと通信するための内部ポートである請求項26に記載の方法。
- 前記プロセッサはチップ上に実現され、また、前記第1と第2のポートの少なくとも1つは前記チップの外のデバイスと通信するための外部ポートである請求項26に記載の方法。
- 少なくとも1つの外部ポートは、チップの物理的な境界のピンにおいて発生する立ち上がり信号エッジまたは立ち下がり信号エッジの検出のためのピンポートである請求項43に記載の方法。
- 少なくとも1つの外部ポートは、ポートにおける1ビット以上の瞬間の論理レベルを処理するためのデータポートである請求項43または44に記載の方法。
- スレッドを一時中断しそして実行させるための専用の命令を実行するステップをさらに含む請求項26に記載の方法。
- 前記プロセッサが、前記セットの少なくとも2つの間の少なくとも1つのチャネルをさらに含み、該方法は、前記チャネル上に発生するアクティビティに基づいてスレッドをスケジュールするステップを含む請求項41に記載の方法。
- 前記割り込みに基づいてスレッドをスケジュールするステップをさらに含む請求項26に記載の方法。
- 前記割り込みに基づいてスケジュールされたスレッドが第1のスレッドであり、その割り込みが、一時中断中の第1のスレッドを中断する請求項48に記載の方法。
- 関係付けられたアクティビティが、そのアクティビティに依存するスレッド内の命令の実行時または実行前に発生する場合、一時中断なくそのスレッドをスケジュールするステップをさらに含む請求項26に記載の方法。
- 第1のポートと第2のポートを有するプロセッサ内での実行のためマルチスレッドをスケジュールするためのスレッド・スケジューラにおいて、
スレッド・スケジューラは、第1のポートにおける第1のアクティビティに依存する該第1のポートが発生させた第1のインディケーションを受信するよう適応しており、
スレッド・スケジューラは、第2のポートにおける第2のアクティビティに依存する該第2のポートが発生させた第2のインディケーションを受信するよう適応しており、
スレッド・スケジューラは、前記インディケーションに基づいて、前記実行ユニットによる実行用マルチプルスレッドをスケジュールするよう適応しており、前記スケジューリングは、スレッドの実行をそれぞれのインディケーションの受信まで一時中断し、
前記第1のアクティビティと前記第2のアクティビティはそれぞれ対応するそれぞれのスレッドに関係付けられているスレッド・スケジューラ。 - マルチプルスレッドの実行のためのスケジューリングにおいて使用されるポートであって、ポートにおけるアクティビティに依存するインディケーションを発生させるように構成されたアクティビティ処理ロジックと、前記アクティビティに関係付けられたスレッドを識別する情報を格納するためのレジスタと、状態を格納するためのレジスタとを含み、前記アクティビティが前記状態を満たす時、アクティビティ処理ロジックはオンチップで第1のインディケーションを送信するよう適応している、ポート。
- モバイル・アプリケーション・プロセッサと、少なくとも1つの周辺装置と、該モバイル・アプリケーション・プロセッサと該周辺装置の間に接続されたインタフェース・プロセッサを有するモバイル端末であって、該インタフェース・プロセッサは、
第1のポートであって、該第1のポートにおける第1のアクティビティに依存する第1のインディケーションを発生させるよう動作可能な第1のポートと、
第2のポートであって、該第2のポートにおける第2のアクティビティに依存する第2のインディケーションを発生させるよう動作可能な第2のポートと、
マルチスレッドを実行するように構成された実行ユニットと、
前記インディケーションを受信するために接続され、前記インディケーションに基づいて、実行ユニットによる実行のため前記マルチスレッドをスケジュールするように構成されたスレッド・スケジューラであって、前記スケジューリングが、それぞれのレディ信号の受信まで、スレッドの実行を一時中断することを含むスレッド・スケジューラと、を含み、前記第1のアクティビティと前記第2のアクティビティはそれぞれ対応するそれぞれのスレッドに関係付けられているモバイル端末。 - 相互に接続されたプロセッサのアレイであって、前記プロセッサの少なくとも1つは、
第1のポートであって、該第1のポートにおける第1のアクティビティに依存する第1のインディケーションを発生させるよう動作可能な第1のポートと、
第2のポートであって、該第2のポートにおける第2のアクティビティに依存する第2のインディケーションを発生させるよう動作可能な第2のポートと、
マルチプルスレッドを実行するように構成された実行ユニットと、
前記インディケーションを受信するために接続され、前記インディケーションに基づいて、前記実行ユニットによる実行用マルチプルスレッドをスケジュールするように構成されたスレッド・スケジューラであって、前記スケジューリングはそれぞれのレディ信号の受信までスレッドの実行を一時中断することを含むスレッド・スケジューラと、
を含み、前記第1のアクティビティと前記第2のアクティビティはそれぞれ対応するそれぞれのスレッドに関係付けられ、
前記第1と第2のポートの少なくとも1つは、前記少なくとも1つのプロセッサを、アレイ内の他のプロセッサに接続するアレイ。 - 第1のポートにおける第1のアクティビティに依存する第1のインディケーションを発生させるための第1のポート手段と、
第2のポートにおける第2のアクティビティに依存する第2のインディケーションを発生させるための第2のポート手段と、
マルチスレッドを実行するための実行手段と、
前記インディケーションを受信し、前記インディケーションに基づいて、前記実行ユニットによる実行用マルチスレッドをスケジュールするよう構成されたスレッド・スケジュール手段であって、前記スケジューリングはそれぞれのインディケーションの受信までスレッドの実行を一時中断することを含むスレッド・スケジューリング手段と、
を含み、
前記第1のアクティビティと前記第2のアクティビティはそれぞれ対応するそれぞれのスレッドに関係付けられているプロセッサ。 - 第1のポートと第2のポートを有するプロセッサ内での実行のためマルチスレッドをスケジュールするスレッド・スケジューラであって、
第1のポートにおける第1のアクティビティに依存する第1のポートが発生させた第1のインディケーションを受信するための手段と、
第2のポートにおける第2のアクティビティに依存する第2のポートが発生させた第2のインディケーションを受信するための手段と、
前記インディケーションに基づいて、前記実行ユニットによる実行用マルチプルスレッドをスケジュールする手段であって、それぞれのインディケーションの受信までスレッドの実行を一時中断することを含む手段と、
を含み、
前記第1のアクティビティと前記第2のアクティビティはそれぞれ対応するそれぞれのスレッドに関係付けられているスレッド・スケジューラ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/717,622 | 2007-03-14 | ||
US11/717,622 US8219789B2 (en) | 2007-03-14 | 2007-03-14 | Interface processor |
PCT/GB2008/000870 WO2008110799A1 (en) | 2007-03-14 | 2008-03-13 | Interface processor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010521730A true JP2010521730A (ja) | 2010-06-24 |
JP2010521730A5 JP2010521730A5 (ja) | 2013-02-21 |
JP5271287B2 JP5271287B2 (ja) | 2013-08-21 |
Family
ID=39433789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009553206A Active JP5271287B2 (ja) | 2007-03-14 | 2008-03-13 | インタフェース・プロセッサ |
Country Status (6)
Country | Link |
---|---|
US (1) | US8219789B2 (ja) |
EP (1) | EP2137616B1 (ja) |
JP (1) | JP5271287B2 (ja) |
KR (1) | KR101501181B1 (ja) |
CN (1) | CN101681274B (ja) |
WO (1) | WO2008110799A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5173714B2 (ja) | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びその割り込み処理方法 |
US20110173420A1 (en) * | 2010-01-08 | 2011-07-14 | International Business Machines Corporation | Processor resume unit |
US8447960B2 (en) * | 2010-01-08 | 2013-05-21 | International Business Machines Corporation | Pausing and activating thread state upon pin assertion by external logic monitoring polling loop exit time condition |
JP2014211890A (ja) * | 2014-06-25 | 2014-11-13 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びその割り込み処理方法 |
CN110908491B (zh) * | 2018-08-28 | 2023-08-08 | 上海忆芯实业有限公司 | 功耗控制方法、控制部件及其电子系统 |
US11288072B2 (en) * | 2019-09-11 | 2022-03-29 | Ceremorphic, Inc. | Multi-threaded processor with thread granularity |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944816A (en) * | 1996-05-17 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor configured to execute multiple threads including interrupt service routines |
JP2002183073A (ja) * | 2000-12-18 | 2002-06-28 | Nec Kofu Ltd | バッファ制御装置、汎用ポート制御装置、入出力システム、情報処理装置 |
US20020161957A1 (en) * | 2001-02-09 | 2002-10-31 | Guillaume Comeau | Methods and systems for handling interrupts |
JP2003508954A (ja) * | 1999-08-27 | 2003-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク・スイッチ及びコンポーネント及び操作方法 |
JP2003167748A (ja) * | 2001-11-30 | 2003-06-13 | Fujitsu Ltd | マルチスレッド計算機 |
US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
US6976095B1 (en) * | 1999-12-30 | 2005-12-13 | Intel Corporation | Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch |
US6952824B1 (en) * | 1999-12-30 | 2005-10-04 | Intel Corporation | Multi-threaded sequenced receive for fast network port stream of packets |
US7480706B1 (en) * | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
US6799317B1 (en) * | 2000-06-27 | 2004-09-28 | International Business Machines Corporation | Interrupt mechanism for shared memory message passing |
WO2002059731A2 (en) * | 2000-11-17 | 2002-08-01 | Links Point, Inc. | Methods and systems for reducing power consumption in computer data communications |
US20030065741A1 (en) * | 2001-09-29 | 2003-04-03 | Hahn Vo | Concurrent bidirectional network communication utilizing send and receive threads |
KR100429543B1 (ko) * | 2002-05-25 | 2004-04-29 | 삼성전자주식회사 | 네트워크 프로세서에서 다양한 개수의 포트들을 처리하기위한 방법 |
JP2004220070A (ja) * | 2003-01-09 | 2004-08-05 | Japan Science & Technology Agency | コンテキスト切り替え方法及び装置、中央演算装置、コンテキスト切り替えプログラム及びそれを記憶したコンピュータ読み取り可能な記憶媒体 |
US7496915B2 (en) * | 2003-04-24 | 2009-02-24 | International Business Machines Corporation | Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes |
US7350060B2 (en) * | 2003-04-24 | 2008-03-25 | International Business Machines Corporation | Method and apparatus for sending thread-execution-state-sensitive supervisory commands to a simultaneous multi-threaded (SMT) processor |
US7424599B2 (en) * | 2003-08-28 | 2008-09-09 | Mips Technologies, Inc. | Apparatus, method, and instruction for software management of multiple computational contexts in a multithreaded microprocessor |
US7203100B2 (en) * | 2004-11-01 | 2007-04-10 | Sun Mircosystems, Inc. | Efficient implementation of a read scheme for multi-threaded register file |
US7149832B2 (en) * | 2004-11-10 | 2006-12-12 | Microsoft Corporation | System and method for interrupt handling |
US8745627B2 (en) * | 2005-06-27 | 2014-06-03 | Qualcomm Incorporated | System and method of controlling power in a multi-threaded processor |
US8074026B2 (en) * | 2006-05-10 | 2011-12-06 | Intel Corporation | Scatter-gather intelligent memory architecture for unstructured streaming data on multiprocessor systems |
-
2007
- 2007-03-14 US US11/717,622 patent/US8219789B2/en active Active
-
2008
- 2008-03-13 WO PCT/GB2008/000870 patent/WO2008110799A1/en active Application Filing
- 2008-03-13 EP EP08718712.6A patent/EP2137616B1/en active Active
- 2008-03-13 KR KR1020097021480A patent/KR101501181B1/ko active IP Right Grant
- 2008-03-13 CN CN200880015942.XA patent/CN101681274B/zh active Active
- 2008-03-13 JP JP2009553206A patent/JP5271287B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944816A (en) * | 1996-05-17 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor configured to execute multiple threads including interrupt service routines |
JP2003508954A (ja) * | 1999-08-27 | 2003-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク・スイッチ及びコンポーネント及び操作方法 |
US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
JP2002183073A (ja) * | 2000-12-18 | 2002-06-28 | Nec Kofu Ltd | バッファ制御装置、汎用ポート制御装置、入出力システム、情報処理装置 |
US20020161957A1 (en) * | 2001-02-09 | 2002-10-31 | Guillaume Comeau | Methods and systems for handling interrupts |
JP2003167748A (ja) * | 2001-11-30 | 2003-06-13 | Fujitsu Ltd | マルチスレッド計算機 |
Also Published As
Publication number | Publication date |
---|---|
KR20090122992A (ko) | 2009-12-01 |
US8219789B2 (en) | 2012-07-10 |
CN101681274A (zh) | 2010-03-24 |
US20080229311A1 (en) | 2008-09-18 |
JP5271287B2 (ja) | 2013-08-21 |
EP2137616A1 (en) | 2009-12-30 |
CN101681274B (zh) | 2014-12-17 |
KR101501181B1 (ko) | 2015-03-18 |
WO2008110799A1 (en) | 2008-09-18 |
EP2137616B1 (en) | 2013-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5382735B2 (ja) | プロセッサにおけるスレッドのスケジューリング | |
JP5222937B2 (ja) | 時限ポート | |
EP2137628B1 (en) | Clocked ports | |
JP5271287B2 (ja) | インタフェース・プロセッサ | |
EP2165253A1 (en) | Data transfer between thread register sets | |
JP2010521730A5 (ja) | ||
EP2165265B1 (en) | Processor communication tokens | |
EP2137618B1 (en) | Processor instruction set | |
EP2137617B1 (en) | Processor instruction set | |
WO2009007172A1 (en) | Token protocol | |
EP2137613B1 (en) | Processor register architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121227 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20121227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130325 |
|
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: 20130416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5271287 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
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 |
|
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 |