JP5990466B2 - ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 - Google Patents
ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 Download PDFInfo
- Publication number
- JP5990466B2 JP5990466B2 JP2012550178A JP2012550178A JP5990466B2 JP 5990466 B2 JP5990466 B2 JP 5990466B2 JP 2012550178 A JP2012550178 A JP 2012550178A JP 2012550178 A JP2012550178 A JP 2012550178A JP 5990466 B2 JP5990466 B2 JP 5990466B2
- Authority
- JP
- Japan
- Prior art keywords
- stream
- module
- task
- output
- input
- 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
- 238000000034 method Methods 0.000 title claims description 12
- 230000006870 function Effects 0.000 claims description 123
- 230000014509 gene expression Effects 0.000 claims description 122
- 238000012545 processing Methods 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 35
- 239000000872 buffer Substances 0.000 description 19
- 238000003860 storage Methods 0.000 description 19
- 238000011156 evaluation Methods 0.000 description 18
- 238000006467 substitution reaction Methods 0.000 description 18
- 238000003491 array Methods 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000003068 static effect Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 101100096995 Caenorhabditis elegans strm-1 gene Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012144 step-by-step procedure Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 101150026173 ARG2 gene Proteins 0.000 description 1
- 101100005166 Hypocrea virens cpa1 gene Proteins 0.000 description 1
- 101100379633 Xenopus laevis arg2-a gene Proteins 0.000 description 1
- 101100379634 Xenopus laevis arg2-b gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 101150088826 arg1 gene Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 231100000957 no side effect Toxicity 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 235000015277 pork Nutrition 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17362—Indirect interconnection networks hierarchical topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
Description
本願は、2010年1月21に出願された米国仮特許出願整理番号第61/297,139号の優先権を主張するものである。本願は、現在は米国特許第6,836,839号となった2001年3月22日に出願された「ADAPTIVE INTEGRATED CIRCUITRY WITH HETEROGENEOUS AND RECONFIGURABLE MATRICES OF DIVERSE AND ADAPTIVE COMPUTATIONAL UNITS HAVING FIXED, APPLICATION SPECIFIC COMPUTATIONAL ELEMENTS」を発明の名称とする米国特許出願整理番号第09/815,122号、現在は米国特許第7,325,123号となった「HIERARCHICAL INTERCONNECT FOR CONFIGURING SEPARATE INTERCONNECTS FOR EACH GROUP OF FIXED AND DIVERSE COMPUTATIONAL ELEMENTS」を発明の名称とする米国特許出願整理番号台10/384,486号、および現在は米国特許第7,609,297号となった「HARDWARE TASK MANAGER」を発明の名称とする米国特許出願整理番号第10/443,501号に関する。これらの特許出願の全部は参照することにより本明細書に援用される。
ノードラッパー
ハードウェアタスクマネージャ
I個の消費側カウントうちの−ICInitiail個が有効状態にあり、
O個の作成側カウントうち(O−OCInitial)個が有効状態にある場合、始動する。
例えば、I=4に対して、
ICInitial=−1であるならば、4個の消費側カウントのうち1個が有効化されなければならない。
ICInitial=−2であるならば、4個の消費側カウントのうち2個が有効化されなければならない。
ICInitial=−3であるならば、4個の消費側カウントのうち3個が有効化されなければならない。
ICInitial=−4であるならば、4個の消費側カウントのうち4個が有効化されなければならない。
O=4に対して、
OCInitial=3であるならば、4個の作成側カウントのうち1個が有効化されなければならない。
OCInitial=2であるならば、4個の作成側カウントのうち2個が有効化されなければならない。
OCInitial=1であるならば、4個の作成側カウントのうち3個が有効化されなければならない。
OCInitial=0であるならば、4個の作成側カウントのうち4個が有効化されなければならない。
ストリームCモジュール
stream int moduleA (int, int);
stream (int, int) moduleB (int, int);
は、モジュール宣言の2つの例である。パラメータ名はここでは省略される。なぜなら、パラメータ名はモジュール宣言においては不要である(モジュール定義またはモジュールインスタンス化とは対比的に)ためである。しかしパラメータ名はプログラマの自由裁量により通常は記憶の一助として、入力に対して、および複数の出力が存在する場合には、出力に対しても、含まれ得る。例えば、2つの宣言は、次のように表現され得る。
stream int moduleA (int a, int b);
stream (int x, int y) moduleB (int a, int b);
stream int moduleA (int a, int, b)
{
//モジュール本体
}
stream (int x, int y) moduleB (int a, int b)
{
//モジュール本体
}
int x, y;
int F (int, int);
.
.
.
int z = F(4, x+5*y);
stream int x, y;
stream int F(int, int);
.
.
.
stream int z = F(4,x+5*y);
(<識別子リスト>) <モジュール識別子> (<式リスト>)
入力引数が式であるのに対し、出力引数は識別子である。これらの識別子は、名称がない出力ストリームに名称を与えるよう機能する。上記のストリーム代入文は、名称zをF(4,x+5*y)の名称がない出力ストリームに割り当てることにより、同じ役割を果たす。例えば、
stream int w, x, y, z;
stream (int, int) F(int, int);
.
.
.
(w, z) = F(4,x+5*y);
stream int moduleA (int a, int b)
{
.
.
.
out = a+b;
.
.
.
ストリーム
stream int F(int, int);
stream (int zStrm) M(int xStrm, int yStrm)
{
・
・
・
zStrm = xStrm*yStrm+F(xStrm, yStrm);
・
・
・
}
xStrm*yStrm + F(xStrm, yStrm)
の出力ストリームは、ストリーム代入
zStrm=xStrm*yStrm + F(xStrm, yStrm)
により、名称zStrmが割り当てられる。これら2つの式のうちのいずれかが、zStrmのソースであるとみなされ得る。zStrmのデスティネーションは、モジュールMの出力パラメータzStrmにより示されるモジュールMの出力ストリームである。
stream (int zStrm) M(int xStrm, int yStrm)
したがって、xStrmは単一のソースおよび単一のデスティネーションを有する。
int F(int);
stream int M(int xStrm, int xStrm)
{
・
・
・
out = xStrm*xStrm + F(xStrm);
・
・
・
}
out = xStrm*xStrm + F(xStrm)
のxStrmの3つのデスティネーションのそれぞれに到着する順序は、
ssStrm (i)
はssStrmのすべてのデスティネーションに現れる第i番目の値を示す。慣例的に、ssStrm(0)はすべてのデスティネーションに現れる第1の値を示す。
stream int module1 (int);
stream int module2 (int xStrm)
{
・
・
・
out = modulel1 (xStrm);
・
・
・
}
この部分的コードは、2つのモジュール、すなわちmodule1およびmodule2を含み、これら2つのモジュールのそれぞれは、単一の入力ストリームおよび単一の出力ストリームと、2つの名称を有するストリームxStrmおよびyStrm(両方がmodule2の定義(本体)内に存在する)とを有する。xStrmの唯一のデスティネーションすなわちmodule1(xStrm)は、module1のインスタンス化の入力引数である。このデスティネーションに到達する値は、module1の境界を単に通過し、module1の内部ストリームに達する。この状況は、yStrmの唯一のデスティネーション
stream (int yStrm) module2 (int xStrm)
に到達する値に対しても同じである。なぜなら、このデスティネーションはmodule2の出力パラメータであるため、到達する値はmodule2の境界を単に通過して、module2の外部にあるストリームに達する。
stream int F (int, int);
stream int M(int xStrm, int yStrm)
{
・
・
・
out = xStrm*yStrm + F(xStrm, yStrm);
・
・
・
}
ストリーム式
xStrm*yStrm + F(xStrm, yStrm)
は、モジュールMの本体内にあり、このストリーム式は、xStrmの2つのデスティネーションと、yStrmの2つのデスティネーションとを含む。このストリーム式は2つの演算子*および+と、関数Fとを含み、これらは普通のC構文である。このことは、この式を評価するためには、2つの演算子および関数Fが個々の値を供給されるべきであることを意味する。
xStrm = xStrm+yStrm
と等価である
xStrm += yStrm
におけるように、ストリーム代入の両辺にストリームが現れるときに生じる。
aStrm+bStrm
等の同一のモジュールまたはストリーム式に対する入力であり、そのモジュールまたは式が、これらのストリームから、対の形で、すなわちaStrmから1つの値およびbStrmから1つの値を消費する場合。aStrm(n)(すなわち、aStrm上に第n番目に到達する値)が、bStrm(n+2)(すなわち、bStrm上に第n+2番目に到達する値)と対になることが望まれる場合。したがって、aStrm(0)はbStrm(2)と、aStrm(1)はbStrm(3)と(以下同様)対となる。
<ストリーム識別子>.initialize(<値リスト>);
の形を取る、ストリーム初期化文により提供される。
xStrm.initialize(0);
により挿入される。この文により、2つのFIFOキューが、xStrmの各デスティネーションに対して、作成される(フィードバック経路のデスティネーションにおけるキューは、前のセクションで説明したように、すでに挿入されている)。xStrmがint型であると仮定すると、各ストリームのサイズは少なくとも2×sizeof(int)であり、システム初期化時においてint値0が各キューの先頭に位置する。このことは、図9Aにおけるフローチャート402において図示される。このようにxStrmが初期化され、代入xStrm += yStrmの出力は、
aStrm.initialize(1, 2);
を用いることにより達成される。この初期化の結果は図9Bにおける表現412に図示される。このようにxStrmが初期化され、代入xStrm += yStrmの出力に現れる値は、
stream <記憶クラス識別子>省略可能<型><識別子リスト>;
記憶クラス識別子を有さないストリーム宣言の例を下にいくつか挙げる。
stream int xStrm, yStrm;
stream char cStrm;
stream double dStrm;
5つのCにおける記憶クラス識別子、すなわち、auto、register、static、extern、およびtypedefのうち、ストリーム宣言においては、
stream static int xStrm, yStrm;
のように、staticのみが許可される。
xStrm*yStrm + 5*zStrm
において示され得る。これら3つのストリームに到達する値は、次のように始まる。
<ストリーム識別子>=<ストリーム式>
の形を有する。
int F(int, int);
int G(int);
stream int M(int xStrm, int yStrm)
{
.
.
.
out = F(xStrm, G(yStrm));
.
.
.
}
式F(xStrm, G(yStrm))および部分式G(yStrm)は、それぞれ、ストリーム文をストリーム式として有する。G(yStrm)の場合、出力ストリームは名称を有さない。なぜなら、ストリームのデスティネーションは、式の文脈から明らかであるためである。すなわち、デスティネーションはsuper式F(xStrm, G(yStrm))における関数Fの第2の入力引数である。しかし、F(xStrm, G(yStrm))の出力ストリームの場合は名称が必要となる。なぜなら、デスティネーションが式の外部にあるためである。その名称は、代入式
out = F(xStrm, G(yStrm))
において割り当てられる。この代入により、F(xStrm, G(yStrm))の出力はzStrmのソースとなり、zStrmは単一のデスティネーション、モジュールMの出力パラメータを有する。
(<コンマで分割されたストリーム識別子のリスト>)=<モジュールインスタンス化>
の形を取る。この型は、複数出力モジュールの出力を複数の名称を有するストリームのソースにすることが望まれるときに生じる。例示すると、tapの第1の出力がintストリームxのソースであり、tapの第2の出力がintストリームyのソースである場合における、以下の複数出力モジュール
stream (int, int) tap(int, int, int);
である。これは、ストリーム代入
(int x, int y) = tap(arg1, arg2, arg3);
を用いて達成される。この代入により、モジュールのi番目の出力はi番目のストリームのソースとなり、モジュールの出力ストリームが名称を有さない場合には、その出力ストリームに名称が与えられる。
<ストリーム式>;
stream <ストリーム式>;
のうちの1つを有する。一方、ストリーム代入文は、次の2つの形
<ストリーム識別子>=<ストリーム式>;
stream<ストリーム識別子>=<ストリーム式>;
(<コンマで分割されたストリーム識別子のリスト>)=<モジュールインスタンス化>
のうちの1つを有する。
stream int UnitDelay(int X)
{
out = X;
out.initialize (0);
}
UnitDelayの本体において、ストリーム代入文
out = X;
により、UnitDelayの入力ストリームであるXは、UnitDelayのデフォルト出力ストリームであるoutのソースとなる。一方、ストリーム初期化文
out.initialize(0);
は、システム初期化時に、値0をoutに挿入する。outにおけるこの初期値は、outにおける後続のすべての値を1つの値分だけオフセット(遅延)させる効果を有する。
stream int UnitDelay (int X)
{
out = X;
out.initialize(0);
}
stream (int xOut, int yOut) tap (int xIn, int yIn, int h)
{
xOut = UnitDelay(xIn);
yOut = yIn + h*xOut;
}
stream int FIR5(int X)
{
(int x2, int y2) = tap (X, 10*X, 20);
(int x3, int y3) = tap (x2, y2, 30);
(int x4, int y4) = tap (x3, y3, 40);
(int , out) = tap(x4, y4, 50);
}
yIn + h*xOut
の、それ自身の複写を、3つの他のtapのインスタンス化と並列的に演算する。このことは、ストリーム式の便宜主義的な性質により、および新しい入力値がtapのインスタンス化のそれぞれへと継続的に到着することにより、可能となる。これらの新しい値は、FIR5の5つの内部ストリームにより供給される。
Xは、FIR5の入力から第1のtapの入力へと値を伝える。
x2およびy2は、第1のtapの出力から第2のtapの入力へと値を伝える。
x3およびy3は、第2のtapの出力から第3のtapの入力へと値を伝える。
x4およびy4は、第3のtapの出力から第4のtapの入力へと値を伝える。
tapの各インスタンス化の入力hは、定数により置き換えられる。このことにより、ストリームCコンパイラはtapインスタンス化内のhのすべてのインスタンスを定数で置き換える。tapのインスタンス化により実行されるすべての演算により、FIR5入力値はFIR5出力値へと変換される。
これらの最後の出力値が、FIR5のデフォルト出力ストリームにより供給される。
outは、第4のtapの出力からFIR5の出力へと値を伝える。
この実装は、多数のデジタル信号処理関数がどのようにストリームCにおいて取り扱われるかの1つの例である。
const<ストリーム型><ストリーム識別子>=<初期値>
を用いて宣言される。通常は変数のみに対して適用される既存のCキーワードconstは、宣言されるストリームが擬似的定数ストリームであることを示す(constの使用は、新規キーワードの導入の手間を省く)。
stream int FIR5 (int X, const int h0 = 10,
const int h1 = 20,
const int h2 = 30,
const int h3 = 40,
const int h4 = 50,
{
(int x2, int y2) = tap(X, h0*X, h1);
(int x3, int y3) = tap(x2, y2, h2);
(int x4, int y4) = tap (x3, y3, h3);
(int, out) = tap(x4, y4, h4);
}
a.次の場合、モジュールを実行するようスケジュールする{
入力ストリーム(単数または複数)の入力FIFOにデータが存在する
且つ
現在のモジュールの出力ストリームに接続されたモジュールの入力ストリームFIFOに利用可能スペースが存在する
}
b.次の場合、モジュールを実行するようスケジュールする{
現在のモジュールの入力ストリーム(単数または複数)に接続されたモジュールの出力ストリームFIFOにデータが存在する
且つ
出力ストリーム(単数または複数)のFIFOに利用可能スペースが存在する
}
c.次の場合、モジュールを実行するようスケジュールする{
入力ストリーム(単数または複数)の入力FIFOにデータが存在する
且つ
(現在のモジュールの出力ストリームに接続されたモジュールの入力ストリームFIFOに利用可能スペースが存在する
または
出力ストリーム(単数または複数)のFIFOに利用可能スペースが存在する)
}
スレッド
int GCD (int a, int b) //再帰関数
{
if ((a>=b) && (a%b)==0) //スレッドの開始
{
return (b);
}
if (a<b)
{
return GCD(b,a); //関数コール
}
return GCD(b, (a%b)); //関数コール
}
stream int GCD4(int w, int x, int y, int z) //モジュール
{
out=GCD(GCD(w,x), GCD(y,z)); //3つの関数コールを有するストリーム式
}
out = GCD(GCD(w, x), GCD(y, z));
が、GCD4の本体内に存在し、ストリーム式
GCD(GCD(w, x), GCD(y, z ))
がこの文の中に存在する。
<ストリーム識別子> >> <変数識別子>;
の形の文において用いられる。この文により、単一の値が左側のストリームからポップされ、右側の変数に代入される。しかし、ストリームに対するFIFOキューが、ストリームの消費側カウントの符号ビットにより示されるように空き状態である場合、文はブロック(ストール)され、キューが、ストリームの消費側カウントの符号ビットにより示されるように再び非空き状態となるまで、ブロック状態に保持される。
<ストリーム識別子> << <変数識別子>;
の形の文において用いられる。この文により、右側の変数の値は左側のストリームに代入される。しかし、1つまたは複数の下流側キューが、ストリームソースにおける作成側カウントの符号ビットにより示されるように、係るデータを受け取るスペースを有さない場合、文は、ブロック(ストール)され、すべての下流側キューが、ストリームの作成側カウントの符号ビットにより示されるように再び値を受け取るスペースを有するようになるまで、ブロック状態に保持される。
<ストリーム識別子>.peek()
の形の式において用いられる。この式は、<ストリーム識別子>のFIFOキューの先頭における現在の値を返すが、キューから値をポップ(消費)しない。しかし、ストリームに対するFIFOキューが、ストリームの消費側カウントの符号ビットにより示されるように空き状態である場合、文は、ブロック(ストール)され、キューが、ストリームの消費側カウントの符号ビットにより示されるように再び非空き状態となるまで、ブロック状態に保持される。
の形の式は<ストリーム識別子>の消費側カウントを返す。なお、<ストリーム識別子>は、>>演算またはpeek演算を介して、スレッドにより読み込まれるストリームである。この式は、<ストリーム識別子>のFIFOキューが空き状態である場合に>>演算またはpeek演算を回避するために、<ストリーム識別子>の消費側カウント符号ビットをテストするために、主に用いられる。
の形の式は、<ストリーム識別子>の作成側カウントを返す。なお、<ストリーム識別子>は<<演算を介して、スレッドにより書き込まれたストリームである。この式は、1つまたは複数の下流側キューが係る新しい値を受け取るスペースを有さない場合に、<<演算を回避するために、<ストリーム識別子>の作成側カウント符号ビットをテストするために、主に用いられる。
stream int moduleA (int strm1, ..., int strmN)
{
int var1, ..., varN, result; //変数を宣言
while true //永遠にループする
{
strm1 >> var1;
・ //入力ストリームから値を読み込む
・
・
strmN >> varN;
・ //resultを算出する
・
・
out << result; //resultを出力ストリームに代入する
}
}
ここでmoduleAは、1つまたは複数の入力ストリームと、単一の出力ストリームとを有するモジュールである。入力ストリームおよび出力ストリームのデータ型は、整数型へと任意選択される。moduleAの本体内のスレッドが最初に実行することは、各入力ストリームに対する値と、単一の出力ストリームに対する値とを宣言することである。次いでスレッドは、各反復が(a)各入力ストリームから値を読み込む(消費する)こと、(b)結果を算出すること、および(c)結果を出力ストリームに代入すること、を含む無限ループに入る。
配列
stream int GCD4(int w, int x, int y, int z) //4つの整数引数を有する
{ //モジュール
out = GCD(GCD(w, x), GCD(y, z));
}
GCD4に4つの別個の整数ストリーム引数を供給する代わりに、各値が4つの整数の配列である単一のストリーム引数が供給される。GCD4は、以下のように変形されるであろう。
stream int GCD4 (int* wxyz) //1つの配列引数を有するモジュール
{
out = GCD(GCD(wxyz[0], wxyz[1]), GCD(wxyz[2], wxyz[3]));
}
stream int array1D[4];
stream int array2D[4][16];
stream int array3D[4][16][9];
第1の宣言は、array1Dが4つの整数ストリームの1次元配列であることを宣言する。同様に、array2Dが64個の整数ストリームの2次元配列であること、およびarray3Dが576個の整数ストリームの3次元配列であることが宣言される。ストリーム配列の個々のストリームは、データ配列の個々の要素と同じ方法でアクセスされる。例えば、
array3D[3][15][7]
は、array3Dの576個のストリームのうちの1つを示す。
stream int moduleA(int); //モジュール宣言
stream int moduleB(int[4]);//モジュール宣言
stream int moduleC(int[3][4]);//モジュール宣言
stream int moduleD(int W[3][4])//モジュール定義
{
・
・
・
stream int X = moduleA(W[2][0]); //ストリーム式
stream int Y = moduleB(W[2][0]); //ストリーム式
stream int Z = moduleC(W); //ストリーム式
・
・
・
}
ここでは、moduleA、moduleB、およびmoduleCに対する宣言と、moduleDの部分的な定義が示される。これら4つのモジュールの入力型を以下に示す。
stream int[2] complexMult (int X[2], int Y[2])
{
out[0] = X[0]*Y[0] − X[1]*Y[1];
out[1] = X[0]*Y[1] + X[1]*Y[0];
}
ストリーム式内の演算子が並列的にアクティブであるため、ストリーム式X[0]*Y[0]−X[1]*Y[1]およびX[0]*Y[1]+X[1]*Y[0]における4つの乗算、1つの加算、および1つの減算は、並列的に評価される。
stream int moduleA[3][4](int, int);
stream(int, int)modu1eB[3][4](int, int);
両方の場合において、配列次元は3×4である。
stream int moduleA[3][4](int a, int b)
{
//モジュール本体
}
stream(int x, int y) moduleB[3][4](int a, int b)
{
//モジュール本体
}
int index(int i)
で演算子を使用する。なお、式中、iはコンパイル時に定数へと評価される整数式である。コンパイル時に、index(i)はインスタンス化の第1番目のインデックスと置き換えられる。iが配列境界外である場合、コンパイル時エラーまたはランタイムエラーが生じる。
stream int moduleA[3][2](); //第1の結合されたモジュール
stream void moduleB[3][2](int); //第2の結合されたモジュール
stream void parentModule()
{
stream int cStrm[3][2]; //結合されたストリーム
cStrm[][] = moduleA[][](); //cStrmに結合されたmoduleAの出力
moduleB[][](cStrm[][]); //moduleBの入力に結合されたcStrm
}
ここで、moduleA[3][2]の出力ストリームはcStrm[3][2]に結合され、cStrm[3][2]はmoduleB[3][2]の入力ストリームに結合される。これらは正規の結合である。なぜなら、
・cStrm[3][2]、moduleA[3][2]、およびmoduleB[3][2]が、すべて同一の次元を有し、
・cStrm[3][2]が、moduleA[3][2]の出力およびmoduleB[3][2]の入力に接続され、
・cStrm[3][2]の型、moduleA[3][2]の出力型、およびmoduleB[3][2]の入力型がすべてintである、
ためである。
stream ping pStrm0, pStrm1, pStrm2;
は、pStrm0、pStrm1、およびpStrm2がping型のストリームであることを宣言する。pingキーワードは、
stream ping moduleName(int, ping);
のように、モジュール入力または出力がping型であることを宣言するモジュールプロトタイプ/定義にも用いられる。
<pingストリーム配列>.join()
<pingストリーム>.join(<ストリーム式>)
のうちの1つを取る。すべてのストリーム式と同様に、これらの形のうちの1つにおける式の各評価は、各入力ストリームから単一の値/pingを消費し、式の(名称を有さない)出力ストリーム上に単一の値/pingを作る。入力ストリームが空き状態(値が存在しない)である場合、すべての入力ストリームが少なくとも1つの値/pingを有するまで、評価はストール(ブロック)される。非ping式に対しては明示的なjoin演算は必要ない。なぜなら、join演算の効果はすでに式評価のセマンティクスにより包含されるためである。
stream ping moduleA(ping pStrm)
{
while(true)
{
pStrm >> ping;
//データ構造X上で演算Aを実行する
out << ping;
}
}
stream ping moduleB(ping pStrm)
{
while(true)
{
pStrm >> ping;
//データ構造Xに関して演算Bを実行する
out << ping;
}
}
stream ping moduleC(ping goStrm)
{
stream ping startStrm=goStrm.join(doneStrm);
stream ping StrmA=moduleA(startStrm);
stream ping StrmB=moduleB(startStrm);
stream ping doneStrm=StrmA.join(StrmB);
doneStrm.initialize(ping);
out=doneStrm;
}
moduleAおよびmoduleBは、それぞれ演算Aおよび演算Bをカプセル化する。それぞれは、ping毎に1つの演算を開始する入力pingストリームと、ping毎に1つの演算の完了を確認する出力pingストリームとを有する。moduleCはmoduleAおよびmoduleBの両方の1つのインスタンスを含み、goStrm入力pingストリームを介してgo信号を受け取る。
stream ping startStrm=goStrm.join(doneStrm);
は、goStrmとdoneStrmとを繋いで、startStrmを作る。このように、goStrm(すなわちgo信号)上にpingが存在し、doneStrm上にpingが存在する(これは、直前のgo信号に応答した演算Aおよび演算Bが完了したことを示す)場合に、pingがstartStrmに代入される。
stream ping StrmA=moduleA(startStrm);
は、startStrmをmoduleAの入力pingストリームに接続し、moduleAの出力pingストリームをStrmAに接続する。このことは、演算Aは、直前のgo信号に関連付けられた両方の演算が完了した後にのみ、go信号に応答して行われることを意味する。
stream ping StrmB=moduleB(startStrm);
は直前の文と同様であり、この文は、直前のgo信号に関連付けられた両方の演算が完了した後にのみ、演算Bがgo信号に応答して行われることが確実になされるようにする。しかし、演算Aおよび演算Bが行われる順序に制限はない。換言すれば、演算Aおよび演算Bは並列的に行われる。
stream ping doneStrm=StrmA.join (StrmB);
はmoduleAの出力pingストリームであるStrmAと、moduleBの出力pingストリームであるStrmBとを繋ぐ。このように、直前のgo信号に応答して行われた両方の演算が完了したならば、pingがdoneStrmに代入される。
doneStrm.initialize(ping);
は、システム初期化時に単一のpingをdoneStrmに代入する。このことは、すべての以前の演算が、まったく存在せず、完了したことを示す。この文がなければ、moduleCはデッドロックし、演算はまったく行われないであろう。
out = doneStrm;
は、doneStrmをmoduleCのデフォルト出力ストリームであるoutに接続する。このストリーム上の各pingは、go信号に応答して行われた演算Aおよび演算Bが完了したことを確認する。moduleCの挙動は、moduleCの入力ポート上でgo信号(ping)として総括され、その結果、以前の演算が完了した後にのみ、演算Aおよび演算Bはデータ構造Xに関して並列的に行われ得る。演算Aおよび演算Bの両方が完了すると、モジュールCはその出力ポート上で確認としてpingを送信する。
(式中、pingStrmはping型のストリームである)の形の文は、スレッドの実行をpingStrm内のpingと同期する機能を有する。この文がスレッドにおいて遭遇されると、単一のpingがpingStrmから読み出される(消費される)。pingStrmが空き状態(すなわち、pingStrmにpingが存在しない)である場合、この文は、pingが利用可能となるまで、ブロック(ストール)される。したがって、この文は、pingがpingStrmに存在するときにのみスレッドの進行を許可する守衛として機能する。この演算では変数は関与せず、>>通常は変数の存在が期待される演算子の右側には、キーワードpingのみが存在する。
(式中、pingStrmはping型のストリームである)の形の文は、スレッドが、特定の演算(単数または複数)が完了したことを関係者に知らせることを可能にする。この文がスレッドにおいて遭遇されると、単一のpingがpingStrmに書き込まれる(代入される)。上述の第1の文とは異なり、この文は決してブロックされない。
stream ping moduleA(ping pStrm)
{
//ループに入る前に初期化を行う
while(true)
{
pStrm >> ping;
//副作用を有する演算を行う
out << ping;
}
}
moduleAは、単一の入力ポートおよび単一の出力ポートを有し、その両方がping型である。moduleA内には無限ループを含むスレッドが存在する。なお、この無限ループの各反復は、以下の文
pStrm >> ping;
により開始される。この文は、ループの反復を、モジュール入力ストリームpStrmにおけるpingと同期させる機能を有する。pStrmが空き状態であるとき、この文はブロックされ、pStrmが非空き状態であるとき、この文はpStrmから単一のpingを消費する。その文に続いて、必ず副作用を伴う活動に関連する文がある。副作用がないなら、modleAは操作不能と等価となるであろう。各反復の末尾には、次の文
out << ping;
が存在する。なお、この文は、moduleAの標準出力ポートを通して、他のループ反復が完了したことを知らせる。
stream ping pingStrm[32];
内で、個別ストリームを結合することを考えてみる。それは、スレッド内でforループを埋め込むことにより達成され得る。
for (int i = 0; i < 32; ++i)
{
pingStrm [i] >> ping;
}
このループは、1つのpingがpingStrm内の32個のストリームのそれぞれから消費されるまで、ブロックされる。pingStrm[].join()の出力ストリームに対応する出力ストリームは、文
joinStrm << ping;
を有するforループに従うことにより、作られる。
stream ping joinArray(ping pingStrm[32])
{
while(true)
{
for (int i = 0; i < 32; ++i)
{
pingStrm [i] >> ping;
}
out << ping;
}
}
に代入される。
stream ping joinExpr(ping pingStrm, int X, int Y, int Z)
{
while(true)
{
pingStrm >> ping;
out << X*Y+Z;
}
}
のようになるであろう。
extern int xScaleFactor, yScaleFactor;
stream ping doPixel[64][256] (int* baStrm) //本体は
{ //スレッドドメインにある
const int x = xScaleFactor*index(0);
const int y = yScaleFactor*index(1);
int* baseAddress;
while true
{
baStrm >> baseAddress;
・ //演算をbaStrm[x][y]および
. //その近傍に関して行う
・
out << ping;
}
}
stream void parentModule(int* baStrm) //本体は
{ //ストリームドメイン内にある
stream ping xStrm[64][256];
stream ping jStrm;
jStrm.initialize(ping);
xStrm[][] = doPixel[][](jStrm.join(baStrm));
jStrm = xStrm[][].join();
}
xStrm[][]=doPixel[][](jStrm.join(baStrm));
によりなされる。ここで、doPixelの入力引数リスト内の式jStrm.join(baStrm)は、jStrmにpingが存在する場合にのみbaStrm内の値が通過することを許可する守衛として機能する。以下の文
jStrm.initialize(ping);
によりjStrmに挿入される初期pingは、まさに第1のベースアドレスが妨げられずに通過することを許可する。その後、pingは、以下の文
jStrm = xStrm[][].join();
(ここで、xStrm[64][256]は、doPixel[64][256]内の個々のモジュールにより作られたpingストリームの配列である)により、jStrmに挿入される。したがって、新しいpingは、doPixel[64][256]内のすべのモジュールが、pingを発行することにより、以前の演算の完了を知らせる場合にのみ、jStrmに挿入される。これにより、画素配列に関するすべての演算は、次の配列に関する演算が開始される前に、確実に完了することとなる。
#pragma BwrdsAckValue(m, s, n)
の直後に続かなければならない。pragmaコマンドは、モジュール定義の直後に続かなければならない。
Claims (19)
- 相互に接続された複数のプロセシングコアと、
ストリームドメインコードを記憶するメモリであって、当該ストリームドメインコードが、ストリーム、当該ストリームに対するデータの型、当該ストリームに対するストリームソースモジュール、及び、ストリームデスティネーションモジュールを定義する、メモリと、
前記メモリから前記ストリームドメインコードを受け取り、前記ストリームドメインコードで定義された前記ストリームに対するデータ構造を生成し、当該データ構造が、前記ストリームに対するデータの型、前記ストリームソースモジュール、及び、前記ストリームデスティネーションモジュールを示すものであり、前記ストリームソースモジュールがデータ値を前記ストリームに代入するときに、当該代入があったことを検出し、前記データ構造を更新することによって、当該データ値を、前記ストリームデスティネーションモジュールに対して利用可能にし、前記複数のプロセシングコアのうちの1つ上で実行されるよう前記ストリームデスティネーションモジュールをスケジュールする、
ランタイムシステムと、
を備える、コアベースのプログラム可能な演算デバイス。 - 前記ストリームドメインコードは、入力ストリームおよび出力ストリームを含むストリーム式を含み、前記ストリーム式により、データ値が前記入力ストリームから消費され、データ値が前記ストリーム式の前記出力ストリームにおいて作られる、請求項1に記載の装置。
- 前記ストリーム式は、関数に対応する関数コールを含み、前記ストリーム式により、前記入力ストリームから取得された前記データ値を用いて関数がコールされ、前記関数コールにより返される結果は、前記関数コールと関連付けられた前記出力ストリームに代入される、請求項2に記載の装置。
- ソースモジュールのストリームの前記出力ストリームで生成されたデータ値が、前記ストリームデスティネーションモジュールに伝えられ、当該伝えられたデータ値が、第2の、以前に定義されたストリームである、
請求項2に記載の装置。 - 前記ストリーム式は複数のストリーム式のうちの1つであり、前記複数のストリーム式のそれぞれは、対応する別個のプロセシングコア上で実行される、請求項2に記載の装置。
- 前記ストリームドメインコードは、入力ストリームおよび出力ストリームを有するモジュールを含み、前記モジュールは前記入力ストリームからデータ値を消費し、前記出力ストリームにおいてデータ値を作る、請求項1に記載の装置。
- 前記モジュールは複数のモジュールのうちの1つであり、各モジュールは、前記複数のプロセシングコアのうちの別個の1つ上で実行される、請求項6に記載の装置。
- 前記モジュールはその本体内に第2のモジュールを含む、請求項6に記載の装置。
- 前記モジュールは逐次的に実行されるスレッドドメインコードを含む、請求項6に記載の装置。
- 前記出力ストリームは、前記モジュールに含まれる複数の出力ストリームのうちの1つである、請求項6に記載の装置。
- 前記モジュールは、前記ストリームドメインコードに含まれるモジュール配列に編成された複数のモジュールのうちの1つのモジュールであり、前記モジュール配列は各モジュールへのアクセスを可能にする複数のインデックスを有する、請求項6に記載の装置。
- 前記ストリームドメインコードは、複数の配列インデックスと関連付けられたストリームの配列を含み、前記ストリームの配列内の各ストリームは、ストリームソースの配列からストリームデスティネーションの配列へとデータ値を伝え、各ストリームは配列インデックスを介してアクセス可能である、請求項11に記載の装置。
- 前記ストリーム配列内の前記ストリームのそれぞれは、前記モジュール配列の前記入力ストリームまたは前記モジュール配列の前記出力ストリームに結合された、請求項12に記載の装置。
- 前記ランタイムシステムは、プロセシングコア、ハードウェア、または再設定可能なハードウェアにより実行され得る、非一時的媒体上に記憶された1つの命令で実装される、請求項1に記載の装置。
- 前記ランタイムシステムは、利用可能なデータ値に対しての先入れ先出しキューを前記ストリームデスティネーションモジュールにおいて有する、請求項1に記載の装置。
- 前記ランタイムシステムが、各プロセシングコアに、実行されるべきゼロ個かまたはそれ以上のタスクを割り当て、各タスクは、ストリーム式または前記ストリームドメインコードに現れるスレッドドメインコードのインスタンスを実装するものであり、
前記装置が更に、前記プロセシングコアに割り当てられた前記タスクの実行を管理するタスクマネージャを備える、
請求項15に記載の装置。 - 前記タスクマネージャは、各タスクの各入力ストリームに対する消費側カウントと、各タスクの各出力ストリームに対する作成側カウントと、実行される準備が整ったタスクの実行準備完了タスクキューと、タスクが実行可能となるために有効化されることが要求されるタスク入力ストリームの個数を判定する各タスクに対するタスク入力カウントと、タスクが実行可能となるために有効化されることが要求されるタスク出力ストリームの個数を判定する各タスクに対するタスク出力カウントとを保持し、
前記タスクマネージャは、
ストリームソースにおける前記タスクから送信されたフォワードアクノレッジメントに応答して、入力ストリームの前記消費側カウントをインクリメントし、前記フォワードアクノレッジメントは、追加的なデータ値が、前記入力ストリームに関連付けられた前記先入れ先出しキューにすでに格納されていることを示すことと、
ストリームデスティネーションにおける前記タスクから送信されたバックワードアクノレッジメントに応答して出力ストリームの前記作成側カウントをデクリメントし、前記バックワードアクノレッジメントは、データ値が、前記ストリームデスティネーションモジュールにおける前記入力ストリームに関連付けられた前記先入れ先出しキューからすでに除去されていることを示すことと、
作成側カウントおよび消費側カウントの有効化を監視することと、
有効化された消費側カウントの個数が前記タスク入力カウントに到達し、且つ有効化された作成側カウントの個数が前記タスク出力カウントに到達したとき、タスクを前記実行準備完了タスクキューに置くことと、
タスクが前記実行準備完了タスクキューの先頭にあり、且つ前記プロセシングコアが利用可能であるとき、前記タスクを実行することと、
ストリームアクセス命令によりブロックされたかまたはタイムアウトした前記タスクが実行を完了した場合に前記タスクの実行を停止することと、
をさらに実行する、請求項16に記載の装置。 - 前記タスクマネージャは、プロセシングコア、ハードウェア、または再設定可能なハードウェアにより実行され得る、非一時的媒体上に記憶された1つの命令で実装される、請求項16に記載の装置。
- コンピュータシステムを動作させるための方法であって、当該コンピュータシステムが、互いに結合された複数のプロセシングコアを含むものであり、当該方法が、
ストリーム、当該ストリームに対するデータの型、当該ストリームに対するストリームソースモジュール、及び、メモリ内のストリームに対するストリームデスティネーションモジュールを定義するストリームドメインコードを記憶し、
前記メモリから前記ストリームドメインコードを取得し、
ランタイムシステムを介して、前記ストリームドメインコードで定義された前記ストリームに対するデータ構造を生成し、当該データ構造が、前記ストリームに対するデータの型、前記ストリームソースモジュール、及び、前記ストリームデスティネーションモジュールを示すものであり、
前記ストリームソースモジュールがデータ値を前記ストリームに代入するときに、当該代入があったことを検出し
前記データ構造を更新することによって、当該データ値を、前記ストリームデスティネーションモジュールに対して利用可能にし、
前記複数のプロセシングコアのうちの1つ上で実行されるよう前記ストリームデスティネーションモジュールをスケジュールすること、
を含む方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29713910P | 2010-01-21 | 2010-01-21 | |
US61/297,139 | 2010-01-21 | ||
PCT/US2011/022152 WO2011091323A1 (en) | 2010-01-21 | 2011-01-21 | A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016159234A Division JP6495208B2 (ja) | 2010-01-21 | 2016-08-15 | ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013518327A JP2013518327A (ja) | 2013-05-20 |
JP2013518327A5 JP2013518327A5 (ja) | 2014-03-06 |
JP5990466B2 true JP5990466B2 (ja) | 2016-09-14 |
Family
ID=44278406
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012550178A Expired - Fee Related JP5990466B2 (ja) | 2010-01-21 | 2011-01-21 | ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 |
JP2016159234A Active JP6495208B2 (ja) | 2010-01-21 | 2016-08-15 | ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016159234A Active JP6495208B2 (ja) | 2010-01-21 | 2016-08-15 | ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US8843928B2 (ja) |
EP (1) | EP2526494B1 (ja) |
JP (2) | JP5990466B2 (ja) |
KR (1) | KR101814221B1 (ja) |
WO (1) | WO2011091323A1 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274921B2 (en) * | 2006-12-27 | 2016-03-01 | International Business Machines Corporation | System and method for managing code displacement |
EP3525087A1 (en) | 2010-08-06 | 2019-08-14 | Frederick Furtek | A method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system |
US20140325183A1 (en) * | 2011-11-28 | 2014-10-30 | Freescale Semiconductor, Inc. | Integrated circuit device, asymmetric multi-core processing module, electronic device and method of managing execution of computer program code therefor |
JP5842206B2 (ja) | 2012-01-27 | 2016-01-13 | 株式会社トプスシステムズ | プロセッサ・コア、およびマルチコア・プロセッサ・システム |
JP5867120B2 (ja) * | 2012-02-01 | 2016-02-24 | 日本電気株式会社 | 情報処理装置、情報処理方法、及びプログラム |
CN103092807B (zh) * | 2012-12-24 | 2015-09-09 | 杭州华为数字技术有限公司 | 节点控制器、并行计算服务器系统以及路由方法 |
US20140281375A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Run-time instrumentation handling in a superscalar processor |
GB2519080B (en) * | 2013-10-08 | 2021-04-14 | Arm Ip Ltd | Scheduling function calls |
US10241838B2 (en) * | 2013-12-09 | 2019-03-26 | International Business Machines Corporation | Domain based resource isolation in multi-core systems |
US10437694B2 (en) * | 2014-02-21 | 2019-10-08 | Rolf Segger | Real time terminal for debugging embedded computing systems |
GB2524063B (en) | 2014-03-13 | 2020-07-01 | Advanced Risc Mach Ltd | Data processing apparatus for executing an access instruction for N threads |
US9529980B2 (en) | 2014-06-28 | 2016-12-27 | Vmware, Inc. | Deduplication of end user license agreements |
US9389847B2 (en) | 2014-06-28 | 2016-07-12 | Vmware, Inc. | Selection of relevant software bundles |
US9389848B2 (en) * | 2014-06-28 | 2016-07-12 | Vmware, Inc. | Scheduling a plan of operations in a datacenter |
US9442714B2 (en) | 2014-06-28 | 2016-09-13 | Vmware, Inc. | Unified visualization of a plan of operations in a datacenter |
US9223767B1 (en) | 2014-06-28 | 2015-12-29 | Vmware, Inc. | Unified graphical user interface for displaying a plan of operations in a datacenter |
CN105656973B (zh) * | 2014-11-25 | 2018-11-13 | 中国科学院声学研究所 | 一种分布式节点组内任务调度方法及系统 |
US9846574B2 (en) * | 2014-12-19 | 2017-12-19 | Signalfx, Inc. | Representing result data streams based on execution of data stream language programs |
US11449452B2 (en) | 2015-05-21 | 2022-09-20 | Goldman Sachs & Co. LLC | General-purpose parallel computing architecture |
ES2929626T3 (es) * | 2015-05-21 | 2022-11-30 | Goldman Sachs & Co Llc | Arquitectura de computación paralela de propósito general |
CN107561950B (zh) * | 2016-06-30 | 2020-11-27 | 西门子瑞士有限公司 | 楼宇中控制器的编程方法及提供控制器编程工具的服务器 |
US10459509B2 (en) * | 2017-04-10 | 2019-10-29 | Intel Corporation | Dual path sequential element to reduce toggles in data path |
JP2019164713A (ja) | 2018-03-20 | 2019-09-26 | 東芝メモリ株式会社 | ストレージシステム及びデータ転送方法 |
JP7035751B2 (ja) * | 2018-04-12 | 2022-03-15 | 富士通株式会社 | コード変換装置、コード変換方法、及びコード変換プログラム |
US11693662B2 (en) * | 2018-05-04 | 2023-07-04 | Cornami Inc. | Method and apparatus for configuring a reduced instruction set computer processor architecture to execute a fully homomorphic encryption algorithm |
WO2021026196A1 (en) * | 2019-08-07 | 2021-02-11 | Cornami Inc. | Configuring a reduced instruction set computer processor architecture to execute a fully homomorphic encryption algorithm |
AU2020342665A1 (en) * | 2019-09-06 | 2022-03-24 | Hexacore, Inc. | Systems, apparatus, and methods of conveyor belt processing |
US11494331B2 (en) * | 2019-09-10 | 2022-11-08 | Cornami, Inc. | Reconfigurable processor circuit architecture |
Family Cites Families (510)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3409175A (en) | 1966-11-10 | 1968-11-05 | Thomas M. Byrne | Liquid dispensing device |
US3666143A (en) | 1970-06-22 | 1972-05-30 | Murray Weston | Automatic fluid dispensing apparatus with manual override |
USRE30301E (en) | 1972-03-10 | 1980-06-10 | The Cornelius Company | Beverage mixing and dispensing apparatus |
US3960298A (en) | 1972-10-25 | 1976-06-01 | The Cornelius Company | Container assembly for use with a separator dispenser |
US6556044B2 (en) | 2001-09-18 | 2003-04-29 | Altera Corporation | Programmable logic device including multipliers and configurations thereof to reduce resource utilization |
US3995441A (en) | 1973-08-20 | 1976-12-07 | The Cornelius Company | Beverage dispensing system |
US3991911A (en) | 1973-09-07 | 1976-11-16 | American Beverage Control | Automatic drink dispensing apparatus having programming means |
US3949903A (en) | 1973-11-07 | 1976-04-13 | General Motors Corporation | Water and beverage concentrate dispenser |
US3938639A (en) | 1973-11-28 | 1976-02-17 | The Cornelius Company | Portable dispenser for mixed beverages |
US3967062A (en) | 1975-03-05 | 1976-06-29 | Ncr Corporation | Method and apparatus for encoding data and clock information in a self-clocking data stream |
US4076145A (en) | 1976-08-09 | 1978-02-28 | The Cornelius Company | Method and apparatus for dispensing a beverage |
US4377246A (en) | 1977-06-13 | 1983-03-22 | The Cornelius Company | Apparatus for dispensing a carbonated beverage |
US4143793A (en) | 1977-06-13 | 1979-03-13 | The Cornelius Company | Apparatus and method for dispensing a carbonated beverage |
US4252253A (en) | 1978-02-21 | 1981-02-24 | Mcneil Corporation | Drink dispenser having central control of plural dispensing stations |
US4174872A (en) | 1978-04-10 | 1979-11-20 | The Cornelius Company | Beverage dispensing machine and cabinet therefor |
US4181242A (en) | 1978-05-30 | 1980-01-01 | The Cornelius Company | Method and apparatus for dispensing a beverage |
US4172669A (en) | 1978-07-27 | 1979-10-30 | The Cornelius Company | Mixing and dispensing machine |
US4237536A (en) | 1978-10-12 | 1980-12-02 | M.R.E. Enterprises, Inc. | System for indicating and controlling dispensing of beverages |
US4302775A (en) | 1978-12-15 | 1981-11-24 | Compression Labs, Inc. | Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback |
US4413752A (en) | 1979-01-04 | 1983-11-08 | The Cornelius Company | Apparatus for dispensing a carbonated beverage |
US4222972A (en) | 1979-01-29 | 1980-09-16 | Caldwell Michael C | Method and means for carbonating liquids in situ |
US4218014A (en) | 1979-02-21 | 1980-08-19 | The Cornelius Company | Multiple flavor post-mix beverage dispensing head |
US4523697A (en) | 1979-07-11 | 1985-06-18 | Cadbury Schweppes Limited | Liquid dispensing package |
USRE32179E (en) | 1979-10-12 | 1986-06-10 | The Coca-Cola Company | Post-mix beverage dispensing system syrup package, valving system, and carbonator therefor |
US4333587A (en) | 1980-01-31 | 1982-06-08 | The Coca-Cola Company | Beverage dispenser |
US4354613A (en) | 1980-05-15 | 1982-10-19 | Trafalgar Industries, Inc. | Microprocessor based vending apparatus |
US4393468A (en) | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Bit slice microprogrammable processor for signal processing applications |
US4560089A (en) | 1981-05-11 | 1985-12-24 | The Cornelius Company | Apparatus for dispensing a carbonated beverage |
JPS5916053A (ja) | 1982-07-16 | 1984-01-27 | Nec Corp | パイプライン演算装置 |
US5129549A (en) | 1982-09-07 | 1992-07-14 | Imi Cornelius Inc. | Beverage dispensing valve |
US4936488A (en) | 1982-09-07 | 1990-06-26 | The Cornelius Company | Beverage dispensing valve |
US4549675A (en) | 1982-09-07 | 1985-10-29 | The Cornelius Co. | Beverage dispensing valve |
US4509690A (en) | 1982-12-06 | 1985-04-09 | The Cornelius Company | Carbonated beverage mixing nozzle for a dispenser |
US4466342A (en) | 1983-02-22 | 1984-08-21 | General Foods Corporation | Carbonation chamber with sparger for beverage carbonation |
US4475448A (en) | 1983-02-22 | 1984-10-09 | General Foods Corporation | Reactant/gas separation means for beverage carbonation device |
US4458584A (en) | 1983-02-22 | 1984-07-10 | General Foods Corporation | Beverage carbonation device |
GB2137839B (en) | 1983-04-09 | 1986-06-04 | Schlumberger Measurement | Digital signal processors |
US4577782A (en) | 1983-05-02 | 1986-03-25 | The Cornelius Company | Beverage dispensing station |
US4578799A (en) | 1983-10-05 | 1986-03-25 | Codenoll Technology Corporation | Method and apparatus for recovering data and clock information from a self-clocking data stream |
US4553573A (en) | 1983-10-20 | 1985-11-19 | Pepsico Inc. | Bulk syrup delivery system |
US4824075A (en) | 1984-02-14 | 1989-04-25 | Walter Holzboog | Tilt action dispensing valve assembly |
US4658988A (en) | 1984-04-02 | 1987-04-21 | The Cornelius Company | Multiple flavor post-mix beverage dispensing apparatus |
DK279985A (da) | 1984-06-25 | 1985-12-26 | Isoworth Ltd | Fremgangsmaade og apparat til carbonisering |
US4694416A (en) | 1985-02-25 | 1987-09-15 | General Electric Company | VLSI programmable digital signal processor |
US4967340A (en) | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
US4713755A (en) | 1985-06-28 | 1987-12-15 | Hewlett-Packard Company | Cache memory consistency control with explicit software instructions |
US4765513A (en) | 1985-08-26 | 1988-08-23 | The Cornelius Company | Post-mix beverage dispenser with nozzle |
US4993604A (en) | 1985-09-13 | 1991-02-19 | The Coca-Cola Company | Low-cost post-mix beverage dispenser and syrup supply system therefor |
US4711374A (en) | 1985-09-13 | 1987-12-08 | The Coca-Cola Company | Low-cost post-mix beverage dispenser and syrup supply system therefor |
US4747516A (en) | 1985-12-23 | 1988-05-31 | Liquid Motion Industries, Co. | Soft drink maker |
US4748585A (en) | 1985-12-26 | 1988-05-31 | Chiarulli Donald M | Processor utilizing reconfigurable process segments to accomodate data word length |
US4974643A (en) | 1986-01-31 | 1990-12-04 | The Cornelius Company | Method of and apparatus for dispensing beverage into a tilted receptacle with automatic level responsive shut off |
US4982876A (en) | 1986-02-10 | 1991-01-08 | Isoworth Limited | Carbonation apparatus |
GB2186265B (en) | 1986-02-10 | 1989-11-01 | Isoworth Ltd | Beverage dispensing apparatus |
US4960261A (en) | 1986-03-17 | 1990-10-02 | Isoworth Limited | Gas cylinder connector |
US5021947A (en) | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
US4760525A (en) | 1986-06-10 | 1988-07-26 | The United States Of America As Represented By The Secretary Of The Air Force | Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction |
US4760544A (en) | 1986-06-20 | 1988-07-26 | Plessey Overseas Limited | Arithmetic logic and shift device |
US4811214A (en) | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US4766548A (en) | 1987-01-02 | 1988-08-23 | Pepsico Inc. | Telelink monitoring and reporting system |
US4781309A (en) | 1987-02-19 | 1988-11-01 | The Cornelius Company | Dispenser with improved carbonated water manifold |
US4856684A (en) | 1987-04-06 | 1989-08-15 | William Gerstung | Valve for a pressurized dispensing can containing flowable materials |
US5381546A (en) | 1987-04-13 | 1995-01-10 | Gte Laboratories Incorporated | Control process for allocating services in communications systems |
US5818603A (en) | 1996-03-29 | 1998-10-06 | Ricoh Company, Ltd. | Method and system for controlling and communicating with machines using multiple communication formats |
US4800492A (en) | 1987-05-13 | 1989-01-24 | The Coca-Cola Company | Data logger for a post-mix beverage dispensing system |
US4827426A (en) | 1987-05-18 | 1989-05-02 | The Coca-Cola Company | Data acquisition and processing system for post-mix beverage dispensers |
US4850269A (en) | 1987-06-26 | 1989-07-25 | Aquatec, Inc. | Low pressure, high efficiency carbonator and method |
GB2210441B (en) | 1987-10-01 | 1992-03-04 | Isoworth Ltd | Pressure vessel |
US4921315A (en) | 1987-12-21 | 1990-05-01 | Whirlpool Corporation | Refrigerator door structure |
US5428754A (en) | 1988-03-23 | 1995-06-27 | 3Dlabs Ltd | Computer system with clock shared between processors executing separate instruction streams |
US5572572A (en) | 1988-05-05 | 1996-11-05 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly interface and enhanced integrity features |
US4932564A (en) | 1988-05-20 | 1990-06-12 | The Cornelius Company | Multiple flavor post-mix beverage dispensing head |
JPH03500461A (ja) | 1988-07-22 | 1991-01-31 | アメリカ合衆国 | データ駆動式計算用のデータ流れ装置 |
US4901887A (en) | 1988-08-08 | 1990-02-20 | Burton John W | Beverage dispensing system |
DE3829831A1 (de) | 1988-09-02 | 1990-03-15 | Hansa Metallwerke Ag | Einrichtung zum zapfen einer vorwaehlbaren fluessigkeitsmenge, insbesondere wassermenge |
US4930666A (en) | 1988-10-28 | 1990-06-05 | The Coca-Cola Company | Juice dispensing system for a refrigerator door |
US5240144A (en) | 1989-01-06 | 1993-08-31 | Joseph Feldman | Beverage dispensing apparatus |
US5090015A (en) | 1989-02-06 | 1992-02-18 | Motorola, Inc. | Programmable array logic self-checking system |
DE69031233T2 (de) | 1989-02-24 | 1997-12-04 | At & T Corp | Adaptive Arbeitsfolgeplanung für Mehrfachverarbeitungssysteme |
US5007560A (en) | 1989-03-01 | 1991-04-16 | Sassak John J | Beer dispensing and monitoring method and apparatus |
US5261099A (en) | 1989-08-24 | 1993-11-09 | International Business Machines Corp. | Synchronous communications scheduler allowing transient computing overloads using a request buffer |
US5193151A (en) | 1989-08-30 | 1993-03-09 | Digital Equipment Corporation | Delay-based congestion avoidance in computer networks |
US5163131A (en) | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
JPH03102431A (ja) * | 1989-09-16 | 1991-04-26 | Fujitsu Ltd | プロセス実行方式 |
GB2236736A (en) | 1989-09-27 | 1991-04-17 | Isoworth Ltd | Carbonation apparatus for dispensing drinks, with plural carbonation chambers |
US4961533A (en) | 1989-09-27 | 1990-10-09 | Viac Inc. | Inventory control system |
US5044171A (en) | 1989-11-06 | 1991-09-03 | Eli Farkas | Counter with integral carbonated beverage dispenser |
US5450557A (en) | 1989-11-07 | 1995-09-12 | Loral Aerospace Corp. | Single-chip self-configurable parallel processor |
US5428793A (en) | 1989-11-13 | 1995-06-27 | Hewlett-Packard Company | Method and apparatus for compiling computer programs with interproceduural register allocation |
WO1991012991A1 (en) | 1990-02-27 | 1991-09-05 | The Coca-Cola Company | Multiple fluid space dispenser and monitor |
JP3210319B2 (ja) | 1990-03-01 | 2001-09-17 | 株式会社東芝 | ニューロチップおよびそのチップを用いたニューロコンピュータ |
US5203474A (en) | 1990-06-16 | 1993-04-20 | Alco Standard Corporation | Beverage dispensing nozzle |
US5303846A (en) | 1990-09-17 | 1994-04-19 | Abcc/Techcorp. | Method and apparatus for generating and dispensing flavoring syrup in a post mix system |
US5190189A (en) | 1990-10-30 | 1993-03-02 | Imi Cornelius Inc. | Low height beverage dispensing apparatus |
US5156301A (en) | 1990-12-17 | 1992-10-20 | Imi Cornelius Inc. | Constant ratio post-mix beverage dispensing valve |
US5202993A (en) | 1991-02-27 | 1993-04-13 | Sun Microsystems, Inc. | Method and apparatus for cost-based heuristic instruction scheduling |
KR0176263B1 (ko) | 1991-03-11 | 1999-05-15 | 마이클 에이치. 모리스 | 비용기준 발견적 명령스케쥴링을 최적화하기 위한 방법 및 장치 |
US5325525A (en) | 1991-04-04 | 1994-06-28 | Hewlett-Packard Company | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time |
US5301100A (en) | 1991-04-29 | 1994-04-05 | Wagner Ferdinand H | Method of and apparatus for constructing a control system and control system created thereby |
US5156871A (en) | 1991-05-01 | 1992-10-20 | Imi Cornelius Inc. | Low cost beverage carbonating apparatus and method |
US5193718A (en) | 1991-06-25 | 1993-03-16 | Imi Cornelius Inc. | Quick electronic disconnect for a beverage dispensing valve |
US5440752A (en) | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US5339428A (en) | 1991-09-04 | 1994-08-16 | Digital Equipment Corporation | Compiler allocating a register to a data item used between a use and store of another data item previously allocated to the register |
WO1994009595A1 (en) | 1991-09-20 | 1994-04-28 | Shaw Venson M | Method and apparatus including system architecture for multimedia communications |
US5625669A (en) | 1991-09-27 | 1997-04-29 | Telemac Cellular Corporation | Mobile phone with internal call accounting controls |
JP3124074B2 (ja) | 1991-09-30 | 2001-01-15 | 富士通株式会社 | 情報自動販売機 |
US5278986A (en) | 1991-12-13 | 1994-01-11 | Thinking Machines Corporation | System and method for compiling a source code supporting data parallel variables |
US5522070A (en) | 1992-03-19 | 1996-05-28 | Fujitsu Limited | Computer resource distributing method and system for distributing a multiplicity of processes to a plurality of computers connected in a network |
US5269442A (en) | 1992-05-22 | 1993-12-14 | The Cornelius Company | Nozzle for a beverage dispensing valve |
US5768561A (en) | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
US5802290A (en) | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
US5684980A (en) | 1992-07-29 | 1997-11-04 | Virtual Computer Corporation | FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions |
US5368198A (en) | 1992-08-26 | 1994-11-29 | Imi Cornelius Inc. | Beverage dispenser |
US5437395A (en) | 1992-09-15 | 1995-08-01 | Imi Cornelius Inc. | Modular beverage dispenser |
GB9222840D0 (en) | 1992-10-31 | 1992-12-16 | Smiths Industries Plc | Electronic assemblies |
US5603043A (en) | 1992-11-05 | 1997-02-11 | Giga Operations Corporation | System for compiling algorithmic language source code for implementation in programmable hardware |
US5263509A (en) | 1992-11-12 | 1993-11-23 | General Electric Company | Refrigerator with door mounted dispenser supply mechanism |
US5392960A (en) | 1992-11-13 | 1995-02-28 | Wilshire Partners | Postmix beverage dispenser and a method for making a beverage dispenser |
US5367651A (en) | 1992-11-30 | 1994-11-22 | Intel Corporation | Integrated register allocation, instruction scheduling, instruction reduction and loop unrolling |
US6192255B1 (en) | 1992-12-15 | 2001-02-20 | Texas Instruments Incorporated | Communication system and methods for enhanced information transfer |
US5335276A (en) | 1992-12-16 | 1994-08-02 | Texas Instruments Incorporated | Communication system and methods for enhanced information transfer |
US5689689A (en) | 1992-12-17 | 1997-11-18 | Tandem Computers Incorporated | Clock circuits for synchronized processor systems having clock generator circuit with a voltage control oscillator producing a clock signal synchronous with a master clock signal |
US5452457A (en) | 1993-01-29 | 1995-09-19 | International Business Machines Corporation | Program construct and methods/systems for optimizing assembled code for execution |
US5297400A (en) | 1993-02-17 | 1994-03-29 | Maytag Corporation | Liquid dispensing assembly for a refrigerator |
US5280711A (en) | 1993-02-25 | 1994-01-25 | Imi Cornelius Inc. | Low cost beverage dispensing apparatus |
US5483658A (en) | 1993-02-26 | 1996-01-09 | Grube; Gary W. | Detection of unauthorized use of software applications in processing devices |
US5379343A (en) | 1993-02-26 | 1995-01-03 | Motorola, Inc. | Detection of unauthorized use of software applications in communication units |
US5712996A (en) | 1993-03-15 | 1998-01-27 | Siemens Aktiengesellschaft | Process for dividing instructions of a computer program into instruction groups for parallel processing |
JP3499252B2 (ja) | 1993-03-19 | 2004-02-23 | 株式会社ルネサステクノロジ | コンパイル装置及びデータ処理装置 |
US5870427A (en) | 1993-04-14 | 1999-02-09 | Qualcomm Incorporated | Method for multi-mode handoff using preliminary time alignment of a mobile station operating in analog mode |
FI932605A (fi) | 1993-06-07 | 1994-12-08 | Nokia Telecommunications Oy | Tukiasemavastaanotinlaitteisto |
US5517667A (en) | 1993-06-14 | 1996-05-14 | Motorola, Inc. | Neural network that does not require repetitive training |
US5343716A (en) | 1993-06-29 | 1994-09-06 | Imi Cornelius Inc. | Beverage dispenser with improved cold plate |
JP3159345B2 (ja) | 1993-07-02 | 2001-04-23 | 日本電気株式会社 | パイプライン演算処理装置 |
JPH0728786A (ja) | 1993-07-15 | 1995-01-31 | Hitachi Ltd | ベクトルプロセッサ |
US5507009A (en) | 1993-08-13 | 1996-04-09 | Motorola, Inc. | Method for reprogramming a communication unit's access to a wireless communication system |
US5701482A (en) | 1993-09-03 | 1997-12-23 | Hughes Aircraft Company | Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes |
US5732563A (en) | 1993-09-22 | 1998-03-31 | Imi Cornelius Inc. | Electronically controlled beverage dispenser |
CA2126265A1 (en) | 1993-09-27 | 1995-03-28 | Michael Robert Cantone | System for synthesizing field programmable gate array implementations from high level circuit descriptions |
JP3594309B2 (ja) | 1993-09-28 | 2004-11-24 | 株式会社ナムコ | パイプライン処理装置,クリッピング処理装置,3次元シミュレータ装置及びパイプライン処理方法 |
US5862961A (en) | 1993-10-26 | 1999-01-26 | Imi Cornelius Inc. | Connection device for dispensing fluid from a bottle |
US6111935A (en) | 1993-10-27 | 2000-08-29 | Canon Kabushiki Kaisha | Adaptive expansion table in a digital telephone receiver |
US5490165A (en) | 1993-10-28 | 1996-02-06 | Qualcomm Incorporated | Demodulation element assignment in a system capable of receiving multiple signals |
US5721854A (en) | 1993-11-02 | 1998-02-24 | International Business Machines Corporation | Method and apparatus for dynamic conversion of computer instructions |
EP1338957A3 (en) | 1993-11-05 | 2003-10-29 | Intergraph Corporation | Software scheduled superscalar computer architecture |
KR960010668B1 (ko) | 1993-11-06 | 1996-08-07 | 엘지전자 주식회사 | 냉장고 |
US5530435A (en) | 1993-12-09 | 1996-06-25 | Steelcase Inc. | Utility distribution system for modular furniture and the like |
US5517668A (en) | 1994-01-10 | 1996-05-14 | Amdahl Corporation | Distributed protocol framework |
US5491823A (en) | 1994-01-25 | 1996-02-13 | Silicon Graphics, Inc. | Loop scheduler |
US5635940A (en) | 1994-02-02 | 1997-06-03 | Hickman; Paul L. | Communication configurator and method for implementing same |
US5619695A (en) | 1994-02-03 | 1997-04-08 | Lockheed Martin Corporation | Method and apparatus for scheduling resources |
US5519694A (en) | 1994-02-04 | 1996-05-21 | Massachusetts Institute Of Technology | Construction of hierarchical networks through extension |
BR7400414U (pt) | 1994-03-04 | 1994-07-26 | Spal Ind Brasileira De Bebidas | Máquina dispensadora de refrigerantes |
US5454406A (en) | 1994-05-13 | 1995-10-03 | Eaton Corporation | Automatic beverage dispenser |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US5745366A (en) | 1994-07-14 | 1998-04-28 | Omnicell Technologies, Inc. | Pharmaceutical dispensing device and methods |
US5655140A (en) | 1994-07-22 | 1997-08-05 | Network Peripherals | Apparatus for translating frames of data transferred between heterogeneous local area networks |
US5630206A (en) | 1994-08-11 | 1997-05-13 | Stanford Telecommunications, Inc. | Position enhanced cellular telephone system |
US5499758A (en) | 1994-08-19 | 1996-03-19 | Mccann's Engineering & Manufacturing Co. | Liquid dispenser for use with containers |
US6056194A (en) | 1995-08-28 | 2000-05-02 | Usa Technologies, Inc. | System and method for networking and controlling vending machines |
US5608643A (en) | 1994-09-01 | 1997-03-04 | General Programming Holdings, Inc. | System for managing multiple dispensing units and method of operation |
FR2724273B1 (fr) | 1994-09-05 | 1997-01-03 | Sgs Thomson Microelectronics | Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi |
JP3525353B2 (ja) | 1994-09-28 | 2004-05-10 | 株式会社リコー | デジタル電子スチル・カメラ |
JPH08106375A (ja) | 1994-10-03 | 1996-04-23 | Ricoh Co Ltd | 信号処理演算器 |
US5600810A (en) | 1994-12-09 | 1997-02-04 | Mitsubishi Electric Information Technology Center America, Inc. | Scaleable very long instruction word processor with parallelism matching |
US5602833A (en) | 1994-12-19 | 1997-02-11 | Qualcomm Incorporated | Method and apparatus for using Walsh shift keying in a spread spectrum communication system |
US5636368A (en) | 1994-12-23 | 1997-06-03 | Xilinx, Inc. | Method for programming complex PLD having more than one function block type |
DE4446882B4 (de) | 1994-12-27 | 2004-02-12 | BSH Bosch und Siemens Hausgeräte GmbH | Vorrichtung zum wiederholten, selbständigen Dosieren von genau dosierten Mengen eines pulverförmigen Reinigungsmittels in wasserführenden Reinigungsmaschinen insbesondere Haushalt-Geschirrspülmaschinen und Haushalt-Waschmaschinen |
KR0146100B1 (ko) | 1995-01-07 | 1998-09-15 | 이헌조 | 가전기기의 실사용상태 정보수집 및 분석장치 |
US5706191A (en) | 1995-01-19 | 1998-01-06 | Gas Research Institute | Appliance interface apparatus and automated residence management system |
US5742180A (en) | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
CN100452071C (zh) | 1995-02-13 | 2009-01-14 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US5892961A (en) | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US5696906A (en) | 1995-03-09 | 1997-12-09 | Continental Cablevision, Inc. | Telecommunicaion user account management system and method |
US5669001A (en) | 1995-03-23 | 1997-09-16 | International Business Machines Corporation | Object code compatible representation of very long instruction word programs |
US6085740A (en) | 1996-02-21 | 2000-07-11 | Aerogen, Inc. | Liquid dispensing apparatus and methods |
US5737631A (en) | 1995-04-05 | 1998-04-07 | Xilinx Inc | Reprogrammable instruction set accelerator |
US5611867A (en) | 1995-04-12 | 1997-03-18 | Maytag Corporation | Method of selecting a wash cycle for an appliance |
US5835753A (en) | 1995-04-12 | 1998-11-10 | Advanced Micro Devices, Inc. | Microprocessor with dynamically extendable pipeline stages and a classifying circuit |
US6021186A (en) | 1995-04-17 | 2000-02-01 | Ricoh Company Ltd. | Automatic capture and processing of facsimile transmissions |
US5933642A (en) | 1995-04-17 | 1999-08-03 | Ricoh Corporation | Compiling system and method for reconfigurable computing |
US5794062A (en) | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
US5534796A (en) | 1995-04-21 | 1996-07-09 | Intergraph Corporation | Self-clocking pipeline register |
US5751295A (en) | 1995-04-27 | 1998-05-12 | Control Systems, Inc. | Graphics accelerator chip and method |
US5802278A (en) | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
US5704053A (en) | 1995-05-18 | 1997-12-30 | Hewlett-Packard Company | Efficient explicit data prefetching analysis and code generation in a low-level optimizer for inserting prefetch instructions into loops of applications |
US5646544A (en) | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5787237A (en) | 1995-06-06 | 1998-07-28 | Apple Computer, Inc. | Uniform interface for conducting communications in a heterogeneous computing network |
US5634190A (en) | 1995-06-06 | 1997-05-27 | Globalstar L.P. | Low earth orbit communication satellite gateway-to-gateway relay system |
US5613004A (en) | 1995-06-07 | 1997-03-18 | The Dice Company | Steganographic method and device |
US5553755A (en) | 1995-06-09 | 1996-09-10 | Summit Packaging Systems, Inc. | Whipped cream dispenser |
US5542265A (en) | 1995-06-30 | 1996-08-06 | Rutland; Michael D. | External refrigerator-mounted liquid dispenser |
FR2736787B1 (fr) | 1995-07-11 | 1997-08-08 | Alcatel Business Systems | Systeme de communication et equipements correspondants pour installation d'abonne |
US5768594A (en) | 1995-07-14 | 1998-06-16 | Lucent Technologies Inc. | Methods and means for scheduling parallel processors |
US5822308A (en) | 1995-07-17 | 1998-10-13 | National Semiconductor Corporation | Multi-tasking sequencer for a TDMA burst mode controller |
US6199093B1 (en) | 1995-07-21 | 2001-03-06 | Nec Corporation | Processor allocating method/apparatus in multiprocessor system, and medium for storing processor allocating program |
US5842004A (en) | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
US5784313A (en) | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5778439A (en) | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5646545A (en) | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
US5991308A (en) | 1995-08-25 | 1999-11-23 | Terayon Communication Systems, Inc. | Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant |
US5623545A (en) | 1995-08-31 | 1997-04-22 | National Semiconductor Corporation | Automatic data generation for self-test of cryptographic hash algorithms in personal security devices |
DE19532422C1 (de) | 1995-09-01 | 1997-01-23 | Philips Patentverwaltung | Lokales, nach dem asynchronen Transfermodus (ATM) arbeitendes Netzwerk mit wenigstens zwei Ringsystemen |
US5822360A (en) | 1995-09-06 | 1998-10-13 | Solana Technology Development Corporation | Method and apparatus for transporting auxiliary data in audio signals |
US5845815A (en) | 1995-09-08 | 1998-12-08 | Imi Cornelius Inc. | Flow control for beverage dispensing valve |
US5742821A (en) | 1995-11-08 | 1998-04-21 | Lucent Technologies Inc. | Multiprocessor scheduling and execution |
EP0778240A1 (en) | 1995-12-08 | 1997-06-11 | IMI Cornelius Inc. | Electro-mechanical refrigeration system |
US6473609B1 (en) | 1995-12-11 | 2002-10-29 | Openwave Systems Inc. | Method and architecture for interactive two-way communication devices to interact with a network |
US5734582A (en) | 1995-12-12 | 1998-03-31 | International Business Machines Corporation | Method and system for layout and schematic generation for heterogeneous arrays |
KR100187284B1 (ko) | 1995-12-19 | 1999-05-01 | 김광호 | 냉장고의 음료공급장치 |
US5706976A (en) | 1995-12-21 | 1998-01-13 | Purkey; Jay Floyd | Vending machine inventory control device |
US6510510B1 (en) | 1996-01-25 | 2003-01-21 | Analog Devices, Inc. | Digital signal processor having distributed register file |
US5889816A (en) | 1996-02-02 | 1999-03-30 | Lucent Technologies, Inc. | Wireless adapter architecture for mobile computing |
US5791517A (en) | 1996-02-21 | 1998-08-11 | Menachem M. Deren | Beverage dispenser device |
US6237029B1 (en) | 1996-02-26 | 2001-05-22 | Argosystems, Inc. | Method and apparatus for adaptable digital protocol processing |
US5894473A (en) | 1996-02-29 | 1999-04-13 | Ericsson Inc. | Multiple access communications system and method using code and time division |
FR2745649B1 (fr) | 1996-03-01 | 1998-04-30 | Bull Sa | Systeme de configuration de logiciels preconfigures sur des systemes ouverts en reseau dans un environnement distribue et procede mis en oeuvre par un tel systeme |
US6393046B1 (en) | 1996-04-25 | 2002-05-21 | Sirf Technology, Inc. | Spread spectrum receiver with multi-bit correlator |
US6055314A (en) | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
US6346824B1 (en) | 1996-04-09 | 2002-02-12 | Xilinx, Inc. | Dedicated function fabric for use in field programmable gate arrays |
US5956518A (en) | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US5802055A (en) | 1996-04-22 | 1998-09-01 | Apple Computer, Inc. | Method and apparatus for dynamic buffer allocation in a bus bridge for pipelined reads |
US5903886A (en) | 1996-04-30 | 1999-05-11 | Smartlynx, Inc. | Hierarchical adaptive state machine for emulating and augmenting software |
US5626407A (en) | 1996-05-10 | 1997-05-06 | Emplast, Inc. | Storage system for refrigerators |
US6181981B1 (en) | 1996-05-15 | 2001-01-30 | Marconi Communications Limited | Apparatus and method for improved vending machine inventory maintenance |
US5771362A (en) | 1996-05-17 | 1998-06-23 | Advanced Micro Devices, Inc. | Processor having a bus interconnect which is dynamically reconfigurable in response to an instruction field |
US5822313A (en) | 1996-05-24 | 1998-10-13 | National Semiconductor Corporation | Seamless handover in a cordless TDMA system |
US5784699A (en) | 1996-05-24 | 1998-07-21 | Oracle Corporation | Dynamic memory allocation in a computer using a bit map index |
US5784636A (en) | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5907580A (en) | 1996-06-10 | 1999-05-25 | Morphics Technology, Inc | Method and apparatus for communicating information |
US6175854B1 (en) | 1996-06-11 | 2001-01-16 | Ameritech Services, Inc. | Computer system architecture and method for multi-user, real-time applications |
US5887174A (en) | 1996-06-18 | 1999-03-23 | International Business Machines Corporation | System, method, and program product for instruction scheduling in the presence of hardware lookahead accomplished by the rescheduling of idle slots |
US6192388B1 (en) | 1996-06-20 | 2001-02-20 | Avid Technology, Inc. | Detecting available computers to participate in computationally complex distributed processing problem |
US6360256B1 (en) | 1996-07-01 | 2002-03-19 | Sun Microsystems, Inc. | Name service for a redundant array of internet servers |
US6023742A (en) | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
US5890014A (en) | 1996-08-05 | 1999-03-30 | Micronet Technology, Inc. | System for transparently identifying and matching an input/output profile to optimal input/output device parameters |
JP3123440B2 (ja) | 1996-08-14 | 2001-01-09 | 日本電気株式会社 | 無線通信システムのチャネル選択方法 |
US5838165A (en) | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5819255A (en) | 1996-08-23 | 1998-10-06 | Tandem Computers, Inc. | System and method for database query optimization |
US6041970A (en) | 1996-08-30 | 2000-03-28 | Imi Cornelius Inc. | Pre-mix beverage dispensing system and components thereof |
US6226387B1 (en) | 1996-08-30 | 2001-05-01 | Regents Of The University Of Minnesota | Method and apparatus for scene-based video watermarking |
US5828858A (en) | 1996-09-16 | 1998-10-27 | Virginia Tech Intellectual Properties, Inc. | Worm-hole run-time reconfigurable processor field programmable gate array (FPGA) |
US5889989A (en) | 1996-09-16 | 1999-03-30 | The Research Foundation Of State University Of New York | Load sharing controller for optimizing monetary cost |
US5790817A (en) | 1996-09-25 | 1998-08-04 | Advanced Micro Devices, Inc. | Configurable digital wireless and wired communications system architecture for implementing baseband functionality |
US5825202A (en) | 1996-09-26 | 1998-10-20 | Xilinx, Inc. | Integrated circuit with field programmable and application specific logic areas |
US6021492A (en) | 1996-10-09 | 2000-02-01 | Hewlett-Packard Company | Software metering management of remote computing devices |
US6016395A (en) | 1996-10-18 | 2000-01-18 | Samsung Electronics Co., Ltd. | Programming a vector processor and parallel programming of an asymmetric dual multiprocessor comprised of a vector processor and a risc processor |
US6005943A (en) | 1996-10-29 | 1999-12-21 | Lucent Technologies Inc. | Electronic identifiers for network terminal devices |
US5950131A (en) | 1996-10-29 | 1999-09-07 | Motorola, Inc. | Method and apparatus for fast pilot channel acquisition using a matched filter in a CDMA radiotelephone |
US5913172A (en) | 1996-11-15 | 1999-06-15 | Glenayre Electronics, Inc. | Method and apparatus for reducing phase cancellation in a simulcast paging system |
US7607147B1 (en) | 1996-12-11 | 2009-10-20 | The Nielsen Company (Us), Llc | Interactive service device metering systems |
US6246883B1 (en) | 1996-12-24 | 2001-06-12 | Lucent Technologies, Inc. | Mobile base station |
US5987611A (en) | 1996-12-31 | 1999-11-16 | Zone Labs, Inc. | System and methodology for managing internet access on a per application basis for client computers connected to the internet |
TW361051B (en) | 1997-01-09 | 1999-06-11 | Matsushita Electric Ind Co Ltd | Motion vector detection apparatus |
US5953322A (en) | 1997-01-31 | 1999-09-14 | Qualcomm Incorporated | Cellular internet telephone |
US5940438A (en) | 1997-02-18 | 1999-08-17 | Mitsubishi Electric Information Technology Center America, Inc (Ita) | Universal modem for digital video, audio and data communications |
US6289488B1 (en) | 1997-02-24 | 2001-09-11 | Lucent Technologies Inc. | Hardware-software co-synthesis of hierarchical heterogeneous distributed embedded systems |
US6061580A (en) | 1997-02-28 | 2000-05-09 | Randice-Lisa Altschul | Disposable wireless telephone and method for call-out only |
US6289434B1 (en) | 1997-02-28 | 2001-09-11 | Cognigine Corporation | Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates |
JP3340343B2 (ja) | 1997-03-13 | 2002-11-05 | 株式会社東芝 | プロセッサ及び情報処理装置 |
US6059840A (en) | 1997-03-17 | 2000-05-09 | Motorola, Inc. | Automatic scheduling of instructions to reduce code size |
US5912572A (en) | 1997-03-28 | 1999-06-15 | Cypress Semiconductor Corp. | Synchronizing clock pulse generator for logic derived clock signals with synchronous clock suspension capability for a programmable device |
US6115751A (en) | 1997-04-10 | 2000-09-05 | Cisco Technology, Inc. | Technique for capturing information needed to implement transmission priority routing among heterogeneous nodes of a computer network |
US5991302A (en) | 1997-04-10 | 1999-11-23 | Cisco Technology, Inc. | Technique for maintaining prioritization of data transferred among heterogeneous nodes of a computer network |
EP0886411A3 (en) | 1997-04-15 | 2004-01-21 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for device interaction by protocol |
US6041322A (en) | 1997-04-18 | 2000-03-21 | Industrial Technology Research Institute | Method and apparatus for processing data in a neural network |
JP3555729B2 (ja) | 1997-04-22 | 2004-08-18 | 日本ビクター株式会社 | 可変長符号化データの処理方法及び装置 |
US5860021A (en) | 1997-04-24 | 1999-01-12 | Klingman; Edwin E. | Single chip microcontroller having down-loadable memory organization supporting "shadow" personality, optimized for bi-directional data transfers over a communication channel |
US6219697B1 (en) | 1997-05-02 | 2001-04-17 | 3Com Corporation | Method and apparatus for operating the internet protocol over a high-speed serial bus |
US5886537A (en) | 1997-05-05 | 1999-03-23 | Macias; Nicholas J. | Self-reconfigurable parallel processor made from regularly-connected self-dual code/data processing cells |
US6047115A (en) | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US5917852A (en) | 1997-06-11 | 1999-06-29 | L-3 Communications Corporation | Data scrambling system and method and communications system incorporating same |
US5949415A (en) | 1997-06-16 | 1999-09-07 | Intel Corporation | Method and apparatus for tracking program usage in a computer system |
FI105251B (fi) | 1997-06-18 | 2000-06-30 | Nokia Mobile Phones Ltd | Menetelmä aikajakoisen solukkoverkon tukiasemien tunnistamiseksi matkaviestimessä ja matkaviestin |
US6292827B1 (en) | 1997-06-20 | 2001-09-18 | Shore Technologies (1999) Inc. | Information transfer systems and method with dynamic distribution of data, control and management of information |
US6628699B2 (en) | 1997-06-23 | 2003-09-30 | Schlumberger Resource Management Systems, Inc. | Receiving a spread spectrum signal |
EP0887989A3 (en) | 1997-06-25 | 2001-02-28 | FISHER & PAYKEL LIMITED | Appliance communication system |
US5970254A (en) | 1997-06-27 | 1999-10-19 | Cooke; Laurence H. | Integrated processor and programmable data path chip for reconfigurable computing |
US5966534A (en) | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
DE69825370T2 (de) | 1997-07-17 | 2004-12-16 | Matsushita Electric Industrial Co., Ltd., Kadoma | CDMA Funknachrichtenübertragungsgerät |
US6111893A (en) | 1997-07-31 | 2000-08-29 | Cisco Technology, Inc. | Universal protocol conversion |
US6760833B1 (en) | 1997-08-01 | 2004-07-06 | Micron Technology, Inc. | Split embedded DRAM processor |
US6292830B1 (en) | 1997-08-08 | 2001-09-18 | Iterations Llc | System for optimizing interaction among agents acting on multiple levels |
US6311149B1 (en) | 1997-08-18 | 2001-10-30 | National Instruments Corporation | Reconfigurable test system |
US6006249A (en) | 1997-08-19 | 1999-12-21 | The Chase Manhattan Bank | Method and apparatus for concurrent data processing |
US6078736A (en) | 1997-08-28 | 2000-06-20 | Xilinx, Inc. | Method of designing FPGAs for dynamically reconfigurable computing |
US6199181B1 (en) | 1997-09-09 | 2001-03-06 | Perfecto Technologies Ltd. | Method and system for maintaining restricted operating environments for application programs or operating systems |
KR100246399B1 (ko) | 1997-09-23 | 2000-04-01 | 구자홍 | 냉장고용 디스펜서어셈블리 및 그 제어방법 |
US6036166A (en) | 1997-09-25 | 2000-03-14 | Imi Cornelius Inc. | Chamber valve |
US6120551A (en) | 1997-09-29 | 2000-09-19 | Xilinx, Inc. | Hardwire logic device emulating an FPGA |
US6363411B1 (en) | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
US6590415B2 (en) | 1997-10-09 | 2003-07-08 | Lattice Semiconductor Corporation | Methods for configuring FPGA's having variable grain components for providing time-shared access to interconnect resources |
US6195788B1 (en) | 1997-10-17 | 2001-02-27 | Altera Corporation | Mapping heterogeneous logic elements in a programmable logic device |
US5999734A (en) | 1997-10-21 | 1999-12-07 | Ftl Systems, Inc. | Compiler-oriented apparatus for parallel compilation, simulation and execution of computer programs and hardware models |
US5993739A (en) | 1997-10-29 | 1999-11-30 | Chaircare | Continuous washing system |
US5873045A (en) | 1997-10-29 | 1999-02-16 | International Business Machines Corporation | Mobile client computer with radio frequency transceiver |
US6122670A (en) | 1997-10-30 | 2000-09-19 | Tsi Telsys, Inc. | Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently |
FR2770659A1 (fr) | 1997-10-31 | 1999-05-07 | Sgs Thomson Microelectronics | Processeur de traitement perfectionne |
US6289487B1 (en) | 1997-11-03 | 2001-09-11 | Harris Corporation | Efficient modified viterbi decoder |
US6185418B1 (en) | 1997-11-07 | 2001-02-06 | Lucent Technologies Inc. | Adaptive digital radio communication system |
US6128307A (en) * | 1997-12-01 | 2000-10-03 | Advanced Micro Devices, Inc. | Programmable data flow processor for performing data transfers |
US6018783A (en) | 1997-12-12 | 2000-01-25 | Advanced Micro Devices, Inc. | Register access controller which prevents simultaneous coupling of more than one register to a bus interface |
US6046603A (en) | 1997-12-12 | 2000-04-04 | Xilinx, Inc. | Method and apparatus for controlling the partial reconfiguration of a field programmable gate array |
US6091263A (en) | 1997-12-12 | 2000-07-18 | Xilinx, Inc. | Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM |
DE69827589T2 (de) | 1997-12-17 | 2005-11-03 | Elixent Ltd. | Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen |
JPH11184674A (ja) | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | レジスタファイル |
US6192070B1 (en) | 1998-01-02 | 2001-02-20 | Mitsubishi Electric Research Laboratories, Inc. | Universal modem for digital video, audio and data communications |
US5959811A (en) | 1998-01-13 | 1999-09-28 | Read-Rite Corporation | Magnetoresistive transducer with four-lead contact |
US6039219A (en) | 1998-01-20 | 2000-03-21 | Bach; Lanae E. | Liquid dispensing system for a refrigerator |
US6230307B1 (en) | 1998-01-26 | 2001-05-08 | Xilinx, Inc. | System and method for programming the hardware of field programmable gate arrays (FPGAs) and related reconfiguration resources as if they were software by creating hardware objects |
US6366999B1 (en) | 1998-01-28 | 2002-04-02 | Bops, Inc. | Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution |
US6134629A (en) | 1998-01-29 | 2000-10-17 | Hewlett-Packard Company | Determining thresholds and wrap-around conditions in a first-in-first-out memory supporting a variety of read and write transaction sizes |
US6378072B1 (en) | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6094726A (en) | 1998-02-05 | 2000-07-25 | George S. Sheng | Digital signal processor using a reconfigurable array of macrocells |
US6076174A (en) | 1998-02-19 | 2000-06-13 | United States Of America | Scheduling framework for a heterogeneous computer network |
US6360263B1 (en) | 1998-02-25 | 2002-03-19 | International Business Machines Corporation | Dynamic resource allocation for user management in multi-processor time shared computer systems |
JPH11261440A (ja) | 1998-03-11 | 1999-09-24 | Oki Electric Ind Co Ltd | 合成受信装置 |
US6691148B1 (en) | 1998-03-13 | 2004-02-10 | Verizon Corporate Services Group Inc. | Framework for providing quality of service requirements in a distributed object-oriented computer system |
US6073132A (en) | 1998-03-27 | 2000-06-06 | Lsi Logic Corporation | Priority arbiter with shifting sequential priority scheme |
US7055151B1 (en) | 1998-04-03 | 2006-05-30 | Applied Micro Circuits Corporation | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
US6134605A (en) | 1998-04-15 | 2000-10-17 | Diamond Multimedia Systems, Inc. | Redefinable signal processing subsystem |
US6202130B1 (en) | 1998-04-17 | 2001-03-13 | Motorola, Inc. | Data processing system for processing vector data and method therefor |
US6088043A (en) | 1998-04-30 | 2000-07-11 | 3D Labs, Inc. | Scalable graphics processor architecture |
US6226735B1 (en) | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
US6292822B1 (en) | 1998-05-13 | 2001-09-18 | Microsoft Corporation | Dynamic load balancing among processors in a parallel computer |
US6223222B1 (en) | 1998-05-14 | 2001-04-24 | 3Com Corporation | Method and system for providing quality-of-service in a data-over-cable system using configuration protocol messaging |
US6411612B1 (en) | 1998-05-19 | 2002-06-25 | Harris Communication | Selective modification of antenna directivity pattern to adaptively cancel co-channel interference in TDMA cellular communication system |
KR20010043794A (ko) | 1998-06-05 | 2001-05-25 | 샌제이브 사이두 | 추상형 지역 탐색 기술을 사용한 컴퓨터 구현 방식의스케줄링 시스템 및 프로세스 |
US6305014B1 (en) | 1998-06-18 | 2001-10-16 | International Business Machines Corporation | Lifetime-sensitive instruction scheduling mechanism and method |
US6175892B1 (en) | 1998-06-19 | 2001-01-16 | Hitachi America. Ltd. | Registers and methods for accessing registers for use in a single instruction multiple data system |
US6282627B1 (en) | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
KR100333724B1 (ko) | 1998-06-30 | 2002-09-17 | 주식회사 하이닉스반도체 | 티타늄알루미늄나이트라이드반사방지막을이용한반도체소자의금속배선형성방법 |
US6356994B1 (en) | 1998-07-09 | 2002-03-12 | Bops, Incorporated | Methods and apparatus for instruction addressing in indirect VLIW processors |
US6604085B1 (en) | 1998-07-20 | 2003-08-05 | Usa Technologies, Inc. | Universal interactive advertising and payment system network for public access electronic commerce and business related products and services |
EP0974898A3 (en) | 1998-07-24 | 2008-12-24 | Interuniversitair Microelektronica Centrum Vzw | A method for determining a storage-bandwidth optimized memory organization of an essentially digital device |
US6587684B1 (en) | 1998-07-28 | 2003-07-01 | Bell Atlantic Nynex Mobile | Digital wireless telephone system for downloading software to a digital telephone using wireless data link protocol |
US6377983B1 (en) | 1998-08-31 | 2002-04-23 | International Business Machines Corporation | Method and system for converting expertise based on document usage |
US6356863B1 (en) | 1998-09-08 | 2002-03-12 | Metaphorics Llc | Virtual network file server |
US6381735B1 (en) | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Dynamic classification of sections of software |
US6360259B1 (en) | 1998-10-09 | 2002-03-19 | United Technologies Corporation | Method for optimizing communication speed between processors |
US6301653B1 (en) | 1998-10-14 | 2001-10-09 | Conexant Systems, Inc. | Processor containing data path units with forwarding paths between two data path units and a unique configuration or register blocks |
US6467009B1 (en) | 1998-10-14 | 2002-10-15 | Triscend Corporation | Configurable processor system unit |
US6219780B1 (en) | 1998-10-27 | 2001-04-17 | International Business Machines Corporation | Circuit arrangement and method of dispatching instructions to multiple execution units |
US6289375B1 (en) | 1998-10-30 | 2001-09-11 | International Business Machines Corporation | Method and apparatus for invoking network agent functions using a hash table |
US6446258B1 (en) | 1998-11-03 | 2002-09-03 | Intle Corporation | Interactive instruction scheduling and block ordering |
US6052600A (en) | 1998-11-23 | 2000-04-18 | Motorola, Inc. | Software programmable radio and method for configuring |
US6138693A (en) | 1998-11-23 | 2000-10-31 | Matz; Warren W. | Automatic detergent dispenser |
US6563891B1 (en) | 1998-11-24 | 2003-05-13 | Telefonaktiebolaget L M Ericsson (Publ) | Automatic gain control for slotted mode operation |
US6405214B1 (en) | 1998-12-17 | 2002-06-11 | Hewlett-Packard Company | Method of gathering usage information and transmitting to a primary server and a third party server by a client program |
US6385751B1 (en) | 1998-12-30 | 2002-05-07 | Texas Instruments Incorporated | Programmable, reconfigurable DSP implementation of a Reed-Solomon encoder/decoder |
US6978450B2 (en) * | 1999-01-15 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system for optimizing compilation time of a program by selectively reusing object code |
US6618777B1 (en) | 1999-01-21 | 2003-09-09 | Analog Devices, Inc. | Method and apparatus for communicating between multiple functional units in a computer environment |
JP3444216B2 (ja) | 1999-01-28 | 2003-09-08 | 日本電気株式会社 | プログラマブルデバイス |
KR100731371B1 (ko) | 1999-02-15 | 2007-06-21 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 구성가능 기능 유닛을 포함하는 프로세서를 사용해서 컴퓨터 프로그램을 실행하는 방법, 프로세서 및 컴퓨터 판독가능 기록 매체 |
JP3033575B1 (ja) | 1999-02-17 | 2000-04-17 | 日本電気株式会社 | 画像処理装置 |
US20020083423A1 (en) | 1999-02-17 | 2002-06-27 | Elbrus International | List scheduling algorithm for a cycle-driven instruction scheduler |
US6718541B2 (en) | 1999-02-17 | 2004-04-06 | Elbrus International Limited | Register economy heuristic for a cycle driven multiple issue instruction scheduler |
US6150838A (en) | 1999-02-25 | 2000-11-21 | Xilinx, Inc. | FPGA configurable logic block with multi-purpose logic/memory circuit |
US6510138B1 (en) | 1999-02-25 | 2003-01-21 | Fairchild Semiconductor Corporation | Network switch with head of line input buffer queue clearing |
US6349394B1 (en) | 1999-03-31 | 2002-02-19 | International Business Machines Corporation | Performance monitoring in a NUMA computer |
US6141283A (en) | 1999-04-01 | 2000-10-31 | Intel Corporation | Method and apparatus for dynamically placing portions of a memory in a reduced power consumption state |
US6570877B1 (en) | 1999-04-07 | 2003-05-27 | Cisco Technology, Inc. | Search engine for forwarding table content addressable memory |
US6832250B1 (en) | 1999-04-13 | 2004-12-14 | Lexmark International, Inc. | Usage-based billing and management system and method for printers and other assets |
EP1093611A1 (en) | 1999-05-06 | 2001-04-25 | Koninklijke Philips Electronics N.V. | Data processing device, method for executing load or store instructions and method for compiling programs |
US6263057B1 (en) | 1999-05-07 | 2001-07-17 | Lucent Technologies Inc. | Automatic telecommunications provider selection system |
KR100761328B1 (ko) | 1999-05-07 | 2007-09-27 | 모픽스 테크놀로지 아이엔씨 | 헤테로지니어스 프로그래머블 게이트 어레이 |
US6347346B1 (en) | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
US6901440B1 (en) | 1999-07-02 | 2005-05-31 | Agilent Technologies, Inc. | System and method for universal service activation |
KR100358427B1 (ko) | 1999-07-12 | 2002-10-25 | 한국전자통신연구원 | 씨디엠에이 적응배열안테나 시스템을 위한 효율적 구조의 복조기 |
US6359248B1 (en) | 1999-08-02 | 2002-03-19 | Xilinx, Inc. | Method for marking packaged integrated circuits |
US6507947B1 (en) | 1999-08-20 | 2003-01-14 | Hewlett-Packard Company | Programmatic synthesis of processor element arrays |
US6430624B1 (en) | 1999-10-21 | 2002-08-06 | Air2Web, Inc. | Intelligent harvesting and navigation system and method |
US6421372B1 (en) | 1999-11-10 | 2002-07-16 | Itt Manufacturing Enterprises, Inc. | Sequential-acquisition, multi-band, multi-channel, matched filter |
FR2801118B1 (fr) | 1999-11-17 | 2001-12-21 | Bull Cp8 | Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque |
EP1107512A1 (en) | 1999-12-03 | 2001-06-13 | Sony International (Europe) GmbH | Communication device and software for operating multimedia applications |
JP2001166947A (ja) | 1999-12-06 | 2001-06-22 | Nec Corp | コンパイル処理方式 |
GB2357226B (en) | 1999-12-08 | 2003-07-16 | Hewlett Packard Co | Security protocol |
AU2915201A (en) | 1999-12-30 | 2001-07-16 | Morphics Technology, Inc. | A fast initial acquisition and search device for a spread spectrum communicationsystem |
US6601158B1 (en) | 1999-12-30 | 2003-07-29 | Pmc-Sierra, Inc. | Count/address generation circuitry |
WO2001050624A1 (en) | 1999-12-30 | 2001-07-12 | Morphics Technology, Inc. | Method and apparatus to support multi standard, multi service base-stations for wireless voice and data networks |
AU2001233150A1 (en) | 2000-01-28 | 2001-08-07 | Morphics Technolgoy Inc. | A wireless spread spectrum communication platform using dynamically reconfigurable logic |
WO2001056199A1 (en) | 2000-01-28 | 2001-08-02 | Morphics Technology Inc. | Method and apparatus for processing a secondary synchronization channel in a spread spectrum system |
US6711607B1 (en) * | 2000-02-04 | 2004-03-23 | Ensim Corporation | Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service |
US6711617B1 (en) | 2000-02-09 | 2004-03-23 | International Business Machines Corporation | Method and apparatus for providing automatic configuration of a computer system based on its physical location using an electronically read schedule |
US6438737B1 (en) | 2000-02-15 | 2002-08-20 | Intel Corporation | Reconfigurable logic for a computer |
US6735621B1 (en) | 2000-02-18 | 2004-05-11 | Nortel Networks Limited | Method and apparatus for messaging between disparate networks |
US7509420B2 (en) | 2000-02-18 | 2009-03-24 | Emc Corporation | System and method for intelligent, globally distributed network storage |
US6778212B1 (en) | 2000-02-22 | 2004-08-17 | Pixim, Inc. | Digital image sensor with on -chip programmable logic |
WO2001069439A1 (en) | 2000-03-17 | 2001-09-20 | Filesx Ltd. | Accelerating responses to requests made by users to an internet |
US6807590B1 (en) | 2000-04-04 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Disconnecting a device on a cache line boundary in response to a write command |
US6658048B1 (en) | 2000-04-07 | 2003-12-02 | Nokia Mobile Phones, Ltd. | Global positioning system code phase detector with multipath compensation and method for reducing multipath components associated with a received signal |
DE10019085A1 (de) | 2000-04-10 | 2001-12-06 | Francotyp Postalia Gmbh | Anordnung und Verfahren zum Bereitstellen einer Mitteilung beim Laden von Dienstleistungsdaten für ein Endgerät |
US7181542B2 (en) | 2000-04-12 | 2007-02-20 | Corente, Inc. | Method and system for managing and configuring virtual private networks |
US6820105B2 (en) | 2000-05-11 | 2004-11-16 | Cyberguard Corporation | Accelerated montgomery exponentiation using plural multipliers |
JP2003534612A (ja) | 2000-05-20 | 2003-11-18 | ヨンヒ リーン | オンデマンド型のコンテンツ提供方法及びシステム |
US6604189B1 (en) | 2000-05-22 | 2003-08-05 | Lsi Logic Corporation | Master/slave processor memory inter accessability in an integrated embedded system |
US20020010848A1 (en) | 2000-05-29 | 2002-01-24 | Shoichi Kamano | Data processing system |
US6601086B1 (en) | 2000-06-06 | 2003-07-29 | Emware, Inc. | Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices |
US6606529B1 (en) | 2000-06-09 | 2003-08-12 | Frontier Technologies, Inc. | Complex scheduling method and device |
US6675265B2 (en) | 2000-06-10 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants |
US6410941B1 (en) | 2000-06-30 | 2002-06-25 | Motorola, Inc. | Reconfigurable systems using hybrid integrated circuits with optical ports |
US6684319B1 (en) | 2000-06-30 | 2004-01-27 | Conexant Systems, Inc. | System for efficient operation of a very long instruction word digital signal processor |
EP1368905A4 (en) | 2000-07-31 | 2009-06-24 | Infineon Technologies Ag | DEVICE AND METHOD FOR A CONFIGURABLE MULTI-DWELL SEARCH ENGINE FOR SPREADING SPECTRUM APPLICATIONS |
AU2001283124A1 (en) | 2000-07-31 | 2002-02-13 | Morphics Technology, Inc. | Generic finger architecture for spread spectrum applications |
WO2002011396A2 (en) | 2000-08-01 | 2002-02-07 | Hrl Laboratories, Llc | Apparatus and method for context-sensitive dynamic information service |
US20020032551A1 (en) | 2000-08-07 | 2002-03-14 | Jabari Zakiya | Systems and methods for implementing hash algorithms |
GB0019341D0 (en) | 2000-08-08 | 2000-09-27 | Easics Nv | System-on-chip solutions |
FR2813409A1 (fr) | 2000-08-29 | 2002-03-01 | Canon Res Ct France Sa | Procede et dispositif configuration d'un peripherique de traitement de documents electroniques dans un reseau de communication |
JP3473695B2 (ja) | 2000-08-30 | 2003-12-08 | Necエレクトロニクス株式会社 | W−cdmaシステムにおけるセルサーチ方法及び回路 |
US6754470B2 (en) | 2000-09-01 | 2004-06-22 | Telephia, Inc. | System and method for measuring wireless device and network usage and performance metrics |
KR100342483B1 (ko) | 2000-09-09 | 2002-06-28 | 윤종용 | 비동기방식 이동 통신 시스템에서의 기지국 탐색 장치 및방법 |
US6538470B1 (en) | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US6718182B1 (en) | 2000-09-18 | 2004-04-06 | Compal Electronics, Inc. | Modularized functionality enhancement for a cellular telephone |
JP2004512716A (ja) | 2000-10-02 | 2004-04-22 | アルテラ・コーポレイション | 専用プロセッサ装置を含むプログラマブルロジック集積回路装置 |
JP3933380B2 (ja) | 2000-10-05 | 2007-06-20 | 富士通株式会社 | コンパイラ |
WO2002032029A1 (fr) | 2000-10-06 | 2002-04-18 | Yozan Inc. | Recepteur |
US7035932B1 (en) | 2000-10-27 | 2006-04-25 | Eric Morgan Dowling | Federated multiprotocol communication |
US6748360B2 (en) | 2000-11-03 | 2004-06-08 | International Business Machines Corporation | System for selling a product utilizing audio content identification |
US20020107962A1 (en) | 2000-11-07 | 2002-08-08 | Richter Roger K. | Single chassis network endpoint system with network processor for load balancing |
JP3415579B2 (ja) | 2000-11-09 | 2003-06-09 | 松下電器産業株式会社 | マッチドフィルタおよび相関検出演算方法 |
US6766165B2 (en) | 2000-12-05 | 2004-07-20 | Nortel Networks Limited | Method and system for remote and local mobile network management |
US6738744B2 (en) | 2000-12-08 | 2004-05-18 | Microsoft Corporation | Watermark detection via cardinality-scaled correlation |
US7844666B2 (en) | 2000-12-12 | 2010-11-30 | Microsoft Corporation | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US6865664B2 (en) | 2000-12-13 | 2005-03-08 | Conexant Systems, Inc. | Methods, systems, and computer program products for compressing a computer program based on a compression criterion and executing the compressed program |
US6823448B2 (en) | 2000-12-15 | 2004-11-23 | Intel Corporation | Exception handling using an exception pipeline in a pipelined processor |
US6842895B2 (en) | 2000-12-21 | 2005-01-11 | Freescale Semiconductor, Inc. | Single instruction for multiple loops |
US20020087829A1 (en) | 2000-12-29 | 2002-07-04 | Snyder Walter L. | Re-targetable communication system |
US7230978B2 (en) | 2000-12-29 | 2007-06-12 | Infineon Technologies Ag | Channel CODEC processor configurable for multiple wireless communications standards |
DE60213762T2 (de) | 2001-01-12 | 2007-10-04 | Broadcom Corp., Irvine | Implementierung des SHA1 Algorithmusses |
US6871236B2 (en) | 2001-01-26 | 2005-03-22 | Microsoft Corporation | Caching transformed content in a mobile gateway |
US7085310B2 (en) | 2001-01-29 | 2006-08-01 | Qualcomm, Incorporated | Method and apparatus for managing finger resources in a communication system |
US6753873B2 (en) | 2001-01-31 | 2004-06-22 | General Electric Company | Shared memory control between detector framing node and processor |
US6925167B2 (en) | 2001-02-01 | 2005-08-02 | Estech Systems, Inc. | Service observing in a voice over IP telephone system |
US20020107905A1 (en) | 2001-02-05 | 2002-08-08 | Roe Colleen A. | Scalable agent service system |
US20020162026A1 (en) | 2001-02-06 | 2002-10-31 | Michael Neuman | Apparatus and method for providing secure network communication |
US6760587B2 (en) | 2001-02-23 | 2004-07-06 | Qualcomm Incorporated | Forward-link scheduling in a wireless communication system during soft and softer handoff |
US7433942B2 (en) | 2001-02-27 | 2008-10-07 | Intel Corporation | Network management |
US20020147845A1 (en) | 2001-03-06 | 2002-10-10 | Juan-Antonio Sanchez-Herrero | Flexible user distribution between user's serving entities |
US6674999B2 (en) | 2001-03-16 | 2004-01-06 | Skyworks Solutions, Inc | Dynamically varying linearity system for an RF front-end of a communication device |
US20040133745A1 (en) | 2002-10-28 | 2004-07-08 | Quicksilver Technology, Inc. | Adaptable datapath for a digital processing system |
US7225279B2 (en) | 2002-06-25 | 2007-05-29 | Nvidia Corporation | Data distributor in a computation unit forwarding network data to select components in respective communication method type |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7325123B2 (en) | 2001-03-22 | 2008-01-29 | Qst Holdings, Llc | Hierarchical interconnect for configuring separate interconnects for each group of fixed and diverse computational elements |
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
WO2002077854A1 (en) | 2001-03-26 | 2002-10-03 | Azurn Networks Inc. | Unified xml voice and data media converging switch and application delivery system |
JP4642264B2 (ja) | 2001-04-03 | 2011-03-02 | 株式会社日立国際電気 | スペクトル拡散通信用相関回路 |
EP1255368A1 (en) | 2001-04-30 | 2002-11-06 | Siemens Information and Communication Networks S.p.A. | Method to perform link adaptation in enhanced cellular communication systems with several modulation and coding schemes |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US6785341B2 (en) | 2001-05-11 | 2004-08-31 | Qualcomm Incorporated | Method and apparatus for processing data in a multiple-input multiple-output (MIMO) communication system utilizing channel state information |
US20020184291A1 (en) | 2001-05-31 | 2002-12-05 | Hogenauer Eugene B. | Method and system for scheduling in an adaptable computing engine |
US6618434B2 (en) | 2001-05-31 | 2003-09-09 | Quicksilver Technology, Inc. | Adaptive, multimode rake receiver for dynamic search and multipath reception |
US7032229B1 (en) | 2001-06-04 | 2006-04-18 | Palmsource, Inc. | Automatic tracking of user progress in a software application |
US6912515B2 (en) | 2001-06-04 | 2005-06-28 | Xerox Corporation | Method and system for algorithm synthesis in problem solving |
US6653859B2 (en) | 2001-06-11 | 2003-11-25 | Lsi Logic Corporation | Heterogeneous integrated circuit with reconfigurable logic cores |
US7266703B2 (en) | 2001-06-13 | 2007-09-04 | Itt Manufacturing Enterprises, Inc. | Single-pass cryptographic processor and method |
US7969431B2 (en) | 2001-06-29 | 2011-06-28 | National Instruments Corporation | Graphical program node for generating a measurement program |
US20030023830A1 (en) | 2001-07-25 | 2003-01-30 | Hogenauer Eugene B. | Method and system for encoding instructions for a VLIW that reduces instruction memory requirements |
US6883084B1 (en) | 2001-07-25 | 2005-04-19 | University Of New Mexico | Reconfigurable data path processor |
US6768768B2 (en) | 2001-09-19 | 2004-07-27 | Qualcomm Incorporated | Method and apparatus for step two W-CDMA searching |
US7257620B2 (en) | 2001-09-24 | 2007-08-14 | Siemens Energy & Automation, Inc. | Method for providing engineering tool services |
US20030061260A1 (en) | 2001-09-25 | 2003-03-27 | Timesys Corporation | Resource reservation and priority management |
US20030142818A1 (en) | 2001-09-28 | 2003-07-31 | Nec Usa, Inc. | Techniques for efficient security processing |
US7139263B2 (en) | 2001-10-19 | 2006-11-21 | Sentito Networks, Inc. | Voice over IP architecture |
CA2360712A1 (en) * | 2001-10-31 | 2003-04-30 | Sicon Video Corporation | Method and apparatus for the data-driven synchronous parallel processing of digital data |
US7146500B2 (en) | 2001-11-14 | 2006-12-05 | Compass Technology Management, Inc. | System for obtaining signatures on a single authoritative copy of an electronic record |
US7106787B2 (en) | 2001-11-28 | 2006-09-12 | Broadcom Corporation | Acquisition matched filter for W-CDMA systems providing frequency offset robustness |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US7356670B2 (en) * | 2001-12-14 | 2008-04-08 | Nxp B.V. | Data processing system |
US20030131162A1 (en) | 2002-01-10 | 2003-07-10 | Stacey Secatch | Non-destructive read FIFO |
US7631196B2 (en) | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US20040015970A1 (en) | 2002-03-06 | 2004-01-22 | Scheuermann W. James | Method and system for data flow control of execution nodes of an adaptive computing engine (ACE) |
US20040039801A9 (en) | 2002-03-11 | 2004-02-26 | Venkatachary Srinivasan | System and method for delivering data in a network |
US20030212684A1 (en) | 2002-03-11 | 2003-11-13 | Markus Meyer | System and method for adapting preferences based on device location or network topology |
US20030172138A1 (en) | 2002-03-11 | 2003-09-11 | Mccormack Jonathan I. | System and method for managing two or more electronic devices |
US7200735B2 (en) | 2002-04-10 | 2007-04-03 | Tensilica, Inc. | High-performance hybrid processor with configurable execution units |
US6732354B2 (en) * | 2002-04-23 | 2004-05-04 | Quicksilver Technology, Inc. | Method, system and software for programming reconfigurable hardware |
US6988139B1 (en) | 2002-04-26 | 2006-01-17 | Microsoft Corporation | Distributed computing of a job corresponding to a plurality of predefined tasks |
JP3860075B2 (ja) | 2002-05-30 | 2006-12-20 | シャープ株式会社 | テスト回路を有する自己同期型論理回路および自己同期型論理回路のテスト方法 |
US7076781B2 (en) | 2002-05-31 | 2006-07-11 | International Business Machines Corporation | Resource reservation for large-scale job scheduling |
US6907598B2 (en) | 2002-06-05 | 2005-06-14 | Microsoft Corporation | Method and system for compressing program code and interpreting compressed program code |
US7620678B1 (en) | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
US20040062300A1 (en) | 2002-10-01 | 2004-04-01 | Mcdonough John G. | System and method for detecting direct sequence spread spectrum signals using batch processing of independent parameters |
US7243333B2 (en) | 2002-10-24 | 2007-07-10 | International Business Machines Corporation | Method and apparatus for creating and executing integrated executables in a heterogeneous architecture |
US6883074B2 (en) | 2002-12-13 | 2005-04-19 | Sun Microsystems, Inc. | System and method for efficient write operations for repeated snapshots by copying-on-write to most recent snapshot |
US6912640B2 (en) * | 2003-03-14 | 2005-06-28 | Sun Microsystems, Inc. | Method to partition large code across multiple e-caches |
US8296764B2 (en) * | 2003-08-14 | 2012-10-23 | Nvidia Corporation | Internal synchronization control for adaptive integrated circuitry |
US7503048B1 (en) * | 2003-08-18 | 2009-03-10 | Cray Incorporated | Scheduling synchronization of programs running as streams on multiple processors |
US7174432B2 (en) * | 2003-08-19 | 2007-02-06 | Nvidia Corporation | Asynchronous, independent and multiple process shared memory system in an adaptive computing architecture |
US7200837B2 (en) * | 2003-08-21 | 2007-04-03 | Qst Holdings, Llc | System, method and software for static and dynamic programming and configuration of an adaptive computing architecture |
US7321979B2 (en) | 2004-01-22 | 2008-01-22 | International Business Machines Corporation | Method and apparatus to change the operating frequency of system core logic to maximize system memory bandwidth |
US7194598B2 (en) | 2004-01-26 | 2007-03-20 | Nvidia Corporation | System and method using embedded microprocessor as a node in an adaptable computing machine |
US20060150165A1 (en) | 2004-12-30 | 2006-07-06 | Intel Corporation | Virtual microengine systems and methods |
US7480901B2 (en) | 2005-02-03 | 2009-01-20 | International Business Machines Corporation | System and method for producing per-processor optimized executables |
JP3938387B2 (ja) | 2005-08-10 | 2007-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンパイラ、制御方法、およびコンパイラ・プログラム |
US7937692B2 (en) | 2005-11-30 | 2011-05-03 | Red Hat, Inc. | Methods and systems for complete static analysis of software for building a system |
US8108844B2 (en) * | 2006-06-20 | 2012-01-31 | Google Inc. | Systems and methods for dynamically choosing a processing element for a compute kernel |
US7814486B2 (en) * | 2006-06-20 | 2010-10-12 | Google Inc. | Multi-thread runtime system |
US8438365B2 (en) * | 2006-10-06 | 2013-05-07 | Calos Fund Limited Liability Company | Efficient data loading in a data-parallel processor |
US9038041B2 (en) * | 2006-12-04 | 2015-05-19 | Tibco Software, Inc. | Stream processor with compiled programs |
US8108845B2 (en) * | 2007-02-14 | 2012-01-31 | The Mathworks, Inc. | Parallel programming computing system to dynamically allocate program portions |
US8214808B2 (en) | 2007-05-07 | 2012-07-03 | International Business Machines Corporation | System and method for speculative thread assist in a heterogeneous processing environment |
GB0808576D0 (en) * | 2008-05-12 | 2008-06-18 | Xmos Ltd | Compiling and linking |
US8291006B2 (en) * | 2008-05-30 | 2012-10-16 | International Business Machines Corporation | Method for generating a distributed stream processing application |
US8601458B2 (en) * | 2009-05-14 | 2013-12-03 | International Business Machines Corporation | Profile-driven data stream processing |
US8996556B2 (en) * | 2009-06-05 | 2015-03-31 | Microsoft Technology Licensing, Llc | Parallel processing of an ordered data stream |
US8621446B2 (en) | 2010-04-29 | 2013-12-31 | International Business Machines Corporation | Compiling software for a hierarchical distributed processing system |
US8645934B2 (en) | 2010-05-06 | 2014-02-04 | International Business Machines Corporation | Simultaneous compiler binary optimizations |
US8510749B2 (en) | 2010-05-27 | 2013-08-13 | International Business Machines Corporation | Framework for scheduling multicore processors |
-
2011
- 2011-01-21 WO PCT/US2011/022152 patent/WO2011091323A1/en active Application Filing
- 2011-01-21 EP EP11735276.5A patent/EP2526494B1/en active Active
- 2011-01-21 KR KR1020127021744A patent/KR101814221B1/ko active IP Right Grant
- 2011-01-21 US US13/011,763 patent/US8843928B2/en active Active - Reinstated
- 2011-01-21 JP JP2012550178A patent/JP5990466B2/ja not_active Expired - Fee Related
-
2014
- 2014-09-22 US US14/492,705 patent/US10073700B2/en active Active
-
2016
- 2016-08-15 JP JP2016159234A patent/JP6495208B2/ja active Active
-
2018
- 2018-09-10 US US16/126,918 patent/US11055103B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20130009746A (ko) | 2013-01-23 |
JP2013518327A (ja) | 2013-05-20 |
US20190004813A1 (en) | 2019-01-03 |
US11055103B2 (en) | 2021-07-06 |
EP2526494A1 (en) | 2012-11-28 |
US10073700B2 (en) | 2018-09-11 |
US8843928B2 (en) | 2014-09-23 |
JP2017004550A (ja) | 2017-01-05 |
US20110179252A1 (en) | 2011-07-21 |
KR101814221B1 (ko) | 2018-01-02 |
EP2526494B1 (en) | 2020-01-15 |
EP2526494A4 (en) | 2017-02-01 |
US20150012725A1 (en) | 2015-01-08 |
JP6495208B2 (ja) | 2019-04-03 |
WO2011091323A1 (en) | 2011-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5990466B2 (ja) | ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 | |
US10318260B2 (en) | Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system | |
US9158575B2 (en) | Multithreaded processor array with heterogeneous function blocks communicating tokens via self-routing switch fabrics | |
JP2022539844A (ja) | 静止再構成可能データ・プロセッサ | |
JP2016526220A (ja) | プログラム可能な最適化を有するメモリネットワークプロセッサ | |
TWI714903B (zh) | 多處理器裝置及用於操作多處理器系統之方法 | |
US10599404B1 (en) | M/A for compiling parallel program having barrier synchronization for programmable hardware | |
Ginosar et al. | RC64: High performance rad-hard manycore | |
Jo et al. | SOFF: An OpenCL high-level synthesis framework for FPGAs | |
Giorgi et al. | Modeling multi-board communication in the axiom cyber-physical system | |
Popovici et al. | ProgrammingModels for MPSoC | |
Ginosar | The plural many-core architecture-high performance at low power | |
Chadwick | Communication centric, multi-core, fine-grained processor architecture | |
Schoeberl et al. | Models of communication for multicore processors | |
Uddin | Microgrid-The microthreaded many-core architecture | |
Scherer et al. | Executing process networks on heterogeneous platforms using OpenCL | |
Bosch Pons | Breaking host-centric management of task-based parallel programming models | |
Lankamp | Design and evaluation of a multithreaded many-core architecture | |
Kadakia | Data routing in multicore processors using dimension increment method | |
Scheduled | Advanced Compilers, Architectures and Parallel Systems | |
Ramjiawan | Mapping Multiple Processes onto SPEs of the CELL BE Platform using the SCO Model of Computation | |
Fernandes de Araújo et al. | Operating System Support for IPNoSys |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140120 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150318 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160328 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160621 |
|
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: 20160714 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5990466 Country of ref document: JP 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 |
|
LAPS | Cancellation because of no payment of annual fees |