JP2002505535A - 2次元またはそれ以上の次元のプログラミング可能なセル構造を備えたデータフロープロセッサおよびコンポーネントをデッドロックなくコンフィグレーションする方法 - Google Patents
2次元またはそれ以上の次元のプログラミング可能なセル構造を備えたデータフロープロセッサおよびコンポーネントをデッドロックなくコンフィグレーションする方法Info
- Publication number
- JP2002505535A JP2002505535A JP2000533804A JP2000533804A JP2002505535A JP 2002505535 A JP2002505535 A JP 2002505535A JP 2000533804 A JP2000533804 A JP 2000533804A JP 2000533804 A JP2000533804 A JP 2000533804A JP 2002505535 A JP2002505535 A JP 2002505535A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- configuration
- configuration data
- data
- filmo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Logic Circuits (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
A等)を備えたデータフロープロセッサ(DFP)およびコンポーネントの自立
的ダイナミックリロード方法)、ならびに特許出願 196 54 593.5-53 (ランタ イムにプログラミング可能なコンポーネントの再コンフィグレーション方法)に
記載されている。そこにはDFPならびにFPGA、DPGAおよび従来技術に
よる類似のコンポーネントをコンフィグレーションおよび再コンフィグレーショ
ンする方法について記述されており、それによれば別個に形成され中央で上位に
位置するマイクロコントローラに似たコンポーネントが、下位に位置するかなり
パッシブな制御ユニットの配分の役割を担っている。
ンフィグレーションを制御する中央のグローバルなユニットを使用すると、数多
くの様々な再コンフィグレーション要求を一度に処理しなければならないときに
隘路となってしまう。既述のコンポーネントの並列性の長所は、上記のような中
央ユニットによって制約されてしまう。なぜならばそれらは典型的な「ボトルネ
ック」を成しており、データ処理がこれにより著しく緩慢になってしまう。さら
に、ロードすべきコンフィグレーションへのイベントソースの割り当てが問題と
なる。それというのも、コンフィグレーションメモリの絶対アドレスで動作が行
われるからである。したがって再コンフィグレーションユニットには一種のメモ
リ管理システムが含まれていなければならず、これはオペレーティングシステム
の場合のように、どのメモリ領域がどのコンフィグレーションによって使われる
のかをいっしょに記録する。さらに付加的な問題として、リソース(たとえばC
EL)の管理が挙げられる。この場合、各CEL(セル)が正確に1度だけしか
、リコンフィグレーション要求により始められたアルゴリズムしかも残りの周辺
のCELも使用するアルゴリズムへ与えられないようにしておかなければならな
い。さもないとデッドロックの生じる可能性がある。
例を挙げる。複数のCELから成る1つのマトリックスはコンフィグレーション
されておらず、RESET状態にある。各CELは、それらが再コンフィグレー
ションされた状態にあるか否かを表すことができる。マトリックスにおけるすべ
てのCELはコンフィグレーションに対しスタンバイ状態にあり、つまり再コン
フィグレーション可能な状態にある。第1のコンフィグレーションルーチン(K
R1)がロードされ、その際、マトリックスは完全には使用されない。コンフィ
グレーションされたCELは、それがコンフィグレーション可能な状態にあると
いう合図を消す。まだコンフィグレーションされていないCELのグループに、
第1のコンフィグレーションルーチンとは独立した第2のコンフィグレーション
ルーチン(KR2)がロードされる。この場合、第3のコンフィグレーションル
ーチンはロードできない。なぜならばこれらのセルは第1および/または第2の
コンフィグレーションルーチンに必要とされ、それらは使われるためコンフィグ
レーション可能な状態にはないからである。必要とされるCELが開放されるま
で、すなわちKR1とKR2が終了してしまうまで、KR3は停止されなければ
ならない。KR1およびKR2の実行中、第4のコンフィグレーションルーチン
(KR4)および第5のコンフィグレーションルーチン(KR5)に対するロー
ド要求がさらに生じるけれども、それらをすべてただちに実行することはできな
い。なぜならばそれらは、KR1およびKR2により使われるCELを利用する
からである。KR3とKR4は部分的に同じCELを使用するが、KR5はKR
3およびKR4によるCELのいずれも使用しない。
: 1.KR3からKR5を、ロード要求に従い時間的な順序ができるかぎり保持さ
れるようロードすること。
ないできるかぎり数多くのKRをロードすること。
ドされるが、他のCELが部分的にロードされたKR4にブロックされているの
で、それ以上はロードできない。他方、KR4もそれ以上はロードできない。そ
れというのも、同様に必要とされるCELがKR3によりブロックされているか
らである。このことにより典型的なデッドロック状態が引き起こされる。
コンフリクト状態を解消するのは不可能である。
るかぎり良好なものにしなければならない。つまり本発明の目的は、できるかぎ
りわずかなコストでフレキシブル、パラレルかつデッドロックのないコンフィグ
レーションを行うことができるようにし、時間的にも計算上も僅かな手間しかか
けずにそれを実行できるようにすることである。この場合、以下の基本的な問題
を解決しなければならない: −K3だけしかロードしないのであれば、そのやり方によってもデッドロックは
発生しないが、KR5もロード可能であろうことから、それは最適ではない。
続のロードプロセスにあたり最高優先度をもつようあらかじめ記録しておかねば
ならず、このことは管理の手間が著しくかかることを意味する。
るユニット(以下ではコンフィグレーションテーブルCTと称する)を構成する
ことであり、その際にCTの個数を、最上位レベルにおいてちょうど1つのCT
が存在するよう、最下位の階層段から最上位の階層段に向かって低減させる。各
CTは他のパラレルなCTとは無関係に、コンフィグレーション可能な複数のエ
レメント(CEL)のコンフィグレーションおよびコントロールを行う。高い方
の階層段におけるCTは、低い階層におかれたCTのためのコンフィグレーショ
ンルーチンを一時記憶することができる。低い階層におかれた複数のCTが同一
のコンフィグレーションルーチンを必要とする場合、そのルーチンが高い階層に
おかれたCTにおいて一時記憶され、個々のCTから呼び出される。この場合、
高い階層におかれたCTは該当するコンフィグレーションルーチンをグローバル
な共通のコンフィグレーションメモリから1度呼び出すだけであり、これによっ
てキャッシュ効果が達成される。コンフィグレーション可能なコンポーネントか
ら離れて、マイクロプロセッサ、DFPあるいは複数の計算機構をもつ同等のも
のにおいて、命令キャッシュおよびデータキャッシュ用のキャッシュ方法として
本発明を使用することができる。この場合、用途に応じて、以下で説明するユニ
ットのうちのいくつか(たとえばFILMO)を省略できるが、階層構造につい
ては基本的に変更されない。したがってこの使用法はサブセットとみなされ、こ
れについてはこれ以上詳しくは立ち入らない。ここで述べる方法が慣用のキャッ
シュ方法よりも著しく有利な点は、データおよび/またはコードが選択的に、つ
まり精密にアルゴリズムに合わせてチューニングされた方法に基づきキャッシュ
されることである。さらに本発明によれば、完全にデッドロックのない大きいセ
ル構造の再コンフィグレーションを行えるようにもなる。
要求を処理する1つのコンポーネントに統合する代わりに、本発明によればその
役割を担うことができ階層構造(ツリー構造)で配置された複数のアクティブな
ユニットが設けられている。その際、最下位レベル(階層構造におけるリーフ)
からの要求は、その要求を処理できなかったときだけ、1つ上の階層レベルへ転
送される。これらのステップは最上位レベルに到達するまで、存在するすべての
レベルに対して繰り返される。最上位のレベルはさらに上位に位置する内部また
は外部のコンフィグレーションメモリとつながっており、これにはこのプログラ
ム実行にいつか必要とされるコンフィグレーションデータが含まれている。
ションデータに対する一種のキャッシングが達成される。コンフィグレーション
に対するアクセスは、主としてローカルで行われる。最も不利な状況として、該
当するデータが階層構造で配置されたCTのいずれにも存在しない場合、上位に
位置するコンフィグレーションメモリからコンフィグレーションをロードする必
要がある。その際、ロードすべきコンフィグレーションについて固定的な時間順
序を取り入れ、コンフィグレーションを1つのリストにまとめることによって、
デッドロックが回避される。CELのステータス情報はロード前に保護され、こ
れによりコンフィグレーションのリスト全体が使われている間、変更されずに保
持される。
応答するアクティブなユニットである。このトリガは、慣用の算術ユニットまた
は論理ユニット、アドレス発生器、演算ユニット等のための複数の電子コンポー
ネント(以下ではコンフィグレーション可能なエレメントCELと称する)から
成る2次元またはそれ以上の次元のマトリックスにより生成される。発生するト
リガに基づき、CT内で所定のアクションが引き起こされる。この場合、CTの
役割は、複数のCELの制御を引き継ぎ、それらの算術演算および/または論理
演算を求めることである。殊に、CELをコンフィグレーションおよび再コンフ
ィグレーションする必要がある。この役割をCTが担うが、これはそれぞれ複数
の個々のコンフィグレーションワード(KW)から成る可能な複数のコンフィグ
レーションルーチン(KR)を管理し、複数のCELをトリガ条件に基づきKR
のうちの1つまたは複数によってコンフィグレーションすることによって行われ
る。その際、CELには、それぞれコンフィグレーションワードの1つまたは複
数が含まれており、これにはコンフィグレーションすべきCELのアドレスが設
けられている。この場合、KRは完全かつ適正に複数のCELにコピーされなけ
ればならず、ここで複数のCELを、それぞれ異なるが完全に実行されるKRに
よりコンフィグレーションされるグループにまとめておくことができる。その際
、すべてのCELはグループ内で次のように結線されている。すなわち、必要と
される再コンフィグレーションの確認後、グループ分けされたすべてのCELに
対し共通の信号(ReConfig)により、各CELがデータ処理を終了し再
コンフィグレーション可能な状態へ移行しなければならないことが通知されるよ
う、グループ内で結線されている。
、そのつど2つの部分が互いに待機し、したがってデッドロック状況の生じた状
態にシステムが陥ってしまう可能性のあることである。
ロードするかまったくロードしないかだけにし、あるいは一種のタイムアウト手
法を適用すれば回避できよう。とはいえこれにより一連の欠点(所要スペース、
伝播時間等)や問題点が生じてしまう。たとえば、 −コンフィグレーションをロードできない場合の措置 −コンフィグレーションをロードする順序の管理 −場合によってはCELにロードすることができるかもしれない他のコンフィグ
レーションが留意されないため、パフォーマンスの落ち込み などである。
は従来技術によるDFPシステムから出発するものである。
き止め、ルックアップテーブルによりロードすべきコンフィグレーション(KR
)を選択する。到来するトリガ信号は阻止され、目下のコンフィグレーションが
完全に処理されてしまうまで、他のいかなるトリガも受けつけない。1つのコン
フィグレーションは複数の命令から成り、これは複数のCELの集合へ伝送され
る。しかし伝播時間にコンフィグレーション可能なシステムでは、いかなるコン
フィグレーション命令(KW)も実行できるという保証がない。これはたとえば
、アドレッシングされたコンフィグレーション可能なエレメント(CEL)がそ
のタスクを依然として終了せず、したがって新たなコンフィグレーションデータ
を受け取ることができないようなことになって失敗してしまうおそれがある。パ
フォーマンスの劣化を避ける目的で、(対応するCELが再コンフィグレーショ
ン可能な状態になくコンフィグレーションを拒否(REJECT)したため)実
行できなかったすべてのコンフィグレーション命令が、FIFOに従い(以下で
詳しく説明する)専用メモリ(FILMO)内に最後に存在するコンフィグレー
ション命令の後ろに書き込まれる。その後、次のコンフィグレーション命令が同
じやり方で処理される。これは1つのコンフィグレーションの最後に到達するま
で繰り返される。
ようにするためトリガ信号を受けつける状態へ移行する。この状態でCTはFI
LMOをタイマ制御により規則的なインターバルで処理する。
フィグレーションが処理される前にCTがメモリFILMOを通過することによ
り行われる。FIFOに似たFILMOの構造により、先行のトリガ要求中に完
全には処理できなかったKWが新たに処理すべきWKよりも高い優先順位を自動
的にもつようにされる。メモリ(FILMO)の処理にあたり、コンフィグレー
ション命令によりアドレッシングされるコンフィグレーション可能な各エレメン
ト(CEL)は、KWの送信前または送信中、状態「コンフィグレーション可能
」にあるか否かについてテストされる。この状態「コンフィグレーション可能」
(ACCEPT)にあれば、データが伝送され、メモリFILMOから消去され
る。状態「コンフィグレーション不可能」(REJECT)にあれば、データは
FILMO内に残され、次のスキャン時に新たに処理される。CTはFILMO
内の次のエントリを処理する。これはFILMOの最後に到達するまで繰り返さ
れる。その後、トリガ信号の発生によりアクティブにされた本来のコンフィグレ
ーションが処理される。この場合、FILMOの構造はFIFO方式に対応し、
つまり最も古いエントリが一番最初に処理される。新たなKRがロードされなく
てもFILMOを処理する目的で、FILMOはタイマ制御により規則的なイン
ターバルでスキャンされる。
はこのフェーズ中、パラレルに処理され続け、それらの機能に作用が及ぼされな
い。これによりCTがFILMOを処理している間、1つまたは複数のコンフィ
グレーション可能なエレメント(CEL)が状態「コンフィグレーション可能」
へ移行するような状況が起こり得る。CTはFILMO内における任意の個所で
処理状態になる可能性があるため、以下のような状況の発生する可能性がある: CTは、アドレッシングされたコンフィグレーションすべきエレメント(CE
L)が状態「コンフィグレーション可能」におかれていないような最初の命令の
処理するよう試みる。これによりCTは次の命令(KW)を続行する。同じ時点
で、1つまたは複数のコンフィグレーション可能なエレメントが状態「コンフィ
グレーション可能」に移行し、それには第1のコンフィグレーション命令により
書き込まれたかもしれないコンフィグレーション可能なエレメントも含まれる。
CTは第2のコンフィグレーション命令(KW)を処理し、これは第1のコンフ
ィグレーション命令と同じであるが他のコンフィグレーションからのものである
コンフィグレーション可能なエレメント(CEL)を使用する。この時点で、コ
ンフィグレーション可能なエレメント(CEL)は状態「コンフィグレーション
可能」にあり、命令をうまく処理することができる。
仕上げられる、という保証がもはやなくなる。この場合、部分的に完成した2つ
のコンフィグレーションの存在する可能性があり、それらは完全にロードできる
ようにするためにそれぞれ他方のコンフィグレーションのコンフィグレーション
可能なエレメントを必要とする。ここでデッドロック状態が発生し、これは図1
8に示されている。この場合、コンフィグレーションAとコンフィグレーション
Bをコンフィグレーションしようとしている。CTは、コンフィグレーションA
とコンフィグレーションBにおけるハッチングされた部分をすでにロードしてい
る。コンフィグレーションAは完成のために、コンフィグレーションBのうち明
るく二重にハッチングされた領域をさらに必要とし、コンフィグレーションBは
完成のために、コンフィグレーションAのうち暗く二重にハッチングされた領域
を必要とする。これら両方のコンフィグレーションはともにまだ完全には終わっ
ておらず、したがって機能を果たす能力もないので、双方のコンフィグレーショ
ンのいずれについてもこれら2つのコンフィグレーションの一方が取り除かれる
であろう終了状態には入らない。これらのコンフィグレーションは両方とも、ま
だ必要としているコンフィグレーション可能なエレメントが開放されるのを待っ
ている。
ち、CTがFILMOの処理前にコンフィグレーション可能なすべてのエレメン
トの状態を捕捉し、それに従って事象が終了するまでいかなる変化ももはや許可
せず、つまり発生する変化を無視するようにしている。換言すれば、コンフィグ
レーション可能なすべてのエレメントの状態がFILMOの処理前に保護され、
あるいはFILMOの処理中、状態の変化が阻止される。1つの実現可能な技術
的形態は、コンフィグレーション可能な各エレメントにおいて1つのレジスタを
使用し、そのレジスタへFILMO処理前の状態を入れて保護することである。
CTは捕捉された状態だけに基づき動作し、コンフィグレーション可能なエレメ
ントの目下の状態によっては動作しない。これにより、処理すべき命令(KW)
がコンフィグレーション可能なエレメント(CEL)の等しい状態を確実に見出
せるようになる。このステップは、1つまたは複数のコンフィグレーション可能
なエレメントがFILMOの処理中に状態「コンフィグレーション可能」へ移行
することを排除していない。この変化はCTには処理中にすぐさまは見えず、次
の実行開始になってようやく気がつくことになる。
は、KWをCELに書き込む順序を正確に守ることである。たとえば有用である
のは、CELをバスシステムへつなぐ前、まずはじめにバスシステムのコンフィ
グレーションを行うことであり、それによってCELが他のルーチンによって使
われているバスと接続されることがなくなる。換言すれば、対応するバスコネク
ションのコンフィグレーションを事前に行うことができたときにだけ、CELの
コンフィグレーションが行われる。
: 後続のKWのコンフィグレーションにとって重要な構成をもつコンフィグレー
ションワード(KW)は、特別に表される(以下ではKWRと称する)。このよ
うなKWRのコンフィグレーションが失敗すると、該当するコンフィグレーショ
ンルーチン(KR)内における後続のすべてのKWがFILMOに書き込まれ、
この過程では実行されない。FILMOのスキャン時にも、順序がKWRの後方
にありコンフィグレーションの失敗したすべてのKWは、目下の過程では実行さ
れない。
ベルが存在する。この配置構成は、有利には木構造(CTツリー)に対応する。
この場合、ルートCT(Root−CT)は外部のコンフィグレーションメモリ
(ECR)であり、これにはすべてのKRが対応づけられて格納されている一方
、リーフにはコンフィグレーション可能なエレメント(CEL)が対応づけられ
ており、これによって個々のKRが呼び出される。中間レベルのCTにはそれぞ
れコンフィグレーション可能なエレメントが対応づけられており、これらは同じ
階層段階におかれている。各CTにはローカルな内部メモリが対応づけられてい
る。このメモリは、新たに格納すべきKRのためにもはやスペースがないとき、
あるいはそのことが特別なCT命令(REMOVE)によって明示的に要求され
たとき、部分的に消去される。この場合、消去は、せいぜいのところもはや要求
されないKRだけが、あるいはREMOVE命令によって明示的に表されたKR
だけが消去されるよう、消去判定基準に従いKRごとに行われる。同様にKRは
、新たにロードすべきKRをメモリに書き込むのにちょうど必要な数だけ、つま
りそれにちょうど必要な個数のメモリが空きになるよう、1つ1つ消去される。
これにより、キャッシュ効果の最適化のためできるかぎり多くのKRをメモリ内
に残しておくことができる。
でずっと上に存在するCTは、CTx内には格納されていないKRを、外部のコ
ンフィグレーションメモリECRから要求するのではなく、CTxからダイレク
トに受け取ることである。これにより、複数のレベルにわたってキャッシュ構造
が生じる。CTツリーにおけるデータ伝送の煩雑性殊にECRにおける所要メモ
リ帯域幅が著しく低減される。
、下の方に位置するCTは必要とするKRを上に位置するCTからダイレクトに
受け取るのであって、外部のECRに対するメモリアクセスは不要である。必要
とするKRが高い方に位置するCTのいずれにも存在していないときにだけ、E
CRへのアクセスを介してKRをロードすればよい。これにより、KRのための
格別効率的な階層キャッシュ構造が得られる。この構造に基づき実現可能な消去
判定基準も得られるが、これは用途に応じて経験的に決められることになる。い
くつかの可能性を挙げておく: −最も古いエントリーの消去 −最も小さいエントリーの消去 −最も大きいエントリーの消去 −最も稀にしか呼び出されないエントリーの消去 CT階層構造の基礎 キャッシュ効果を達成するため、CTはツリー構造における1つの階層にまと
められる。個々のノード(CT)の間にバスシステム(Inter−CT−Bu
s)が存在し、これはそれぞれ上方のノード(CT)を複数の下位のノード(C
T)と接続する。その際、下位のノード(CT)は上位のノード(CT)に対し
データを要求し、それに応じて上位のノードは下位のノードへデータを送る。下
位のノードはステータス情報を互いに交換し、そのためにいっそう上位のノード
間のネットワークが利用され、それらのネットワークはそれに応じてアドレスを
分解する必要がある。
できるように配置されている。つまり、最下位のアドレスビットはツリーの個々
のリーフを表し、他の各アドレスビットはそれぞれ1つの階層レベルだけ上を選
択するのである。したがって各CTは一義的なアドレスを有している。
れているかが示されている。
おける複数のアドレスビットがそれに応じてまとめられる。
ているのかが示されており、その際、レベル0には8個のCTをもつグループが
存在している(アドレスビット 2..0)
ごとに1つのバイナリツリーを形成することによって行われる。
INITIATOT)が正確なターゲットアドレスを指示するか、あるいはTA
GETが相対的にアドレッシングされる。
、ビット14はブロードキャストを表し、したがってすべてのCTを選択する。
X/Yアドレスは、INITIATORのアドレスを出発点としたTARGET
のアドレスを表している。
ドレスを目下のアドレスポジションに加えることで、TARGETが求められる
。各レベルは特定のアドレス幅(Addresswidth)をもっている。加算器はこの幅
に対応している。
ッシングされたCTが目下のノードよりも下には位置しておらず、アドレス要求
がその上に位置するCT(次に高いノード)へ転送されることを意味する。オー
バーフローやアンダーフローが発生しなければ、TARGETは目下のノードよ
りも下に位置している。目下のレベルで計算されたアドレスビット(表を参照)
により、目下のノードのすぐ下に位置するCTが選択される。そこからそれぞれ
相応に計算されたアドレスビットに基づき、次に低いCT(ノード)が選択され
る。
すべてのノードに対し等しい優先順位が与えられる。上位のノードはそれよりも
高い優先順位をもっている。これにより、上位のノードから下位へ向かって伝送
されるアクセス、あるいはINITIATORからすでにかなり進んだアクセス
が、他のアクセスよりも優先される。
とにする。以下では、各コンポーネントについて詳細に説明する。
ィグレーションルーチン(KR)のすべての処理を制御する。各CTにはガーベ
ージコレクタ(GC)が配分されており、これはCTのメモリ(CTR)からの
KRの除去を制御する。なお、FILMOはまだ処理すべきKWの管理を担い、
LOADステートマシンはKRのロードを制御する。
の際、技術的に可能なすべてのインプリメンテーションを適用することができ、
個々のCTおよびその下位におかれたCTに対するKRのローカルな記憶のため
に用いられる。特別な事例として、ASICやPLD(従来技術参照)に似た機
能をコンポーネントに設ける目的で、メモリ(CTR)をROM、EPROM、
EEPROM、フラッシュROM等として構成することができる。
のポインタが使用される: 1.フリーポインタ(FP)。これはCTR内における最後のKRの後ろにある
最初の空きメモリロケーションを指す。
TRから除去すべきエントリを指す。
除去すべきでない最終的なコンフィグレーションワード(KW)つまりKRのエ
ントリが、その位置からGPによって規定されたエントリーへコピー/移動され
るようなロケーションである。
指す。
CELは、それがコンフィグレーション可能な状態にあるかぎり、KWの受領確
認をする(ACCEPT)。KWが拒否された場合(REJECT)、あとにな
ってプログラムポインタを利用することなく再度、アドレッシングされたCEL
へ書き込むため、FIFOに類似したメモリ(FILMO)内にそれが一時的に
バッファリングされる。
ガ信号は、望ましくないトリガをフィルタリング除去(マスキング除去)するフ
ィルタであるマスクを通過する。従来技術に従って、マスクをANDゲート(A
ND)におり構成することができ、このゲートによればトリガとイネーブル信号
とがAND結合される。トリガは、優先順位の付けられたラウンドロビン・アー
ビタ(Round-Robin-Arbiter, SCRR-ARB)を介してバイナリ信号に変換される。 優先順位の付けられたラウンドロビン・アービタにより、ラウンドロビン・アー
ビタの平等性の利点と、1つのクロック内における次のイネーブルの検出つまり
優先順位アービタの利点とが合わせられる。
UT1)へ供給され、このルックアップテーブルは、アドレスとして到来するト
リガに対し該当するKRのIDを割り当てて、データラインへ送出する。第2の
ルックアップテーブル(LUT2)において、KRのIDがCTR内におけるK
Rのメモリロケーションのアドレスに割り当てられる。第2のルックアップテー
ブルはトリガ信号の割り当てに利用されるだけでなく、IDをパラメータとして
用いる使われる命令のアドレス割り当てのためにも利用される。トリガ信号と該
当するIDとの対応づけは、あとで説明する命令”REFERENCE”により
LUT1にエントリされる。LUT2の管理つまりIDとCTRにおけるアドレ
スとの対応づけは、CTSとGCにより自動的に行われる。
。<ID>は、コンフィグレーションルーチンにおける一義的な識別番号を表す
。
において、コンフィグレーションテーブル(CT)はコンフィグレーションルー
チンの処理を終了する。ガーベージコレクタ(GC)は、そのコンフィグレーシ
ョンルーチンにおけるエントリの除去を終了する。
。このルーチンがCTのメモリ内に存在していなければ、その上に位置するCT
に対しそれが要求され、ないしはメモリからロードされる。
GIN<ID>からSTOPまでCTのメモリから除去し、除去されたコンフィ
グレーションルーチンによってもメモリの隙間が生じないようになるまで、後続
のコンフィグレーションルーチンを前へ押し出すことである。
き込む。<FORCED>がセットされていると、該当するターゲットレジスタ
のRECONFIGフラグがセットされていなくても、データが書き込まれる。
<EXIT>は、REJECTのときに後続のKWRが引き続き実行されるのを
中止するKWRであるこを表すために用いられる。
R>によりセットするか、あるいはそれを<TRIGGER>によりリセットす
る。
待つ。<UNMASKED>がセットされていれば、待っているトリガに対しト
リガマスクの状態とは無関係に応答する。
。
によりトリガ信号に対し特定のKRが割り当てられる。
IT,TRIGGER,REFERENCEは、BEGINと...STOPで
括られた中でのみ有効である。この括りの外では命令は実行されない。
り、ここでKRは下位に位置する異なる複数のCTまたはCELによって利用さ
れる。下位のユニットからコンポーネント(たとえばRAM、周辺装置)の外部
インタフェースへのアクセスが行われる場合、外部インタフェースの種々のアド
レスまたは一部分を記憶する必要がある。これにより基本的には、必要とされる
個々のKRの内容が区別されることになろう。キャッシングはもはや不可能であ
る。この場合、間接参照により対策が講じられる。この目的で専用のKR(以下
ではIKRと称する)が用いられ、これは必要な外部パラメータをもっており、
それをセットする。必要に応じトリガを介して、異なる階層レベルにおける他の
異なるKRが呼び出される。IKRの最後から本来のKRが呼び出される。IK
Rだけはキャッシングできないが他方、呼び出されたKRはまったく一義的であ
り、そのためキャッシュ可能である。ここで有用であるのは、IKRのサイズを
絶対的な最小値まで低減することであり、つまりもっぱら外部の異なるパラメー
タと本来のKRの呼び出しだけにすることである。
いる: BEGIN<ID>; ... xxx; 有効な命令、この場合、外部の周辺装置だけを制御する TRIGGER<ID>; 周辺プロセスに対するスタート、ストップまたはロ
ード要求 ... GOTO<ID>; 本来のKRへのジャンプ STOP; 特別な事例: 1.WAIT_FOR_BOOT この命令は、CTRの最初のアドレスだけに有効である。ブートプロセス中、
まずはじめに完全なブートKRがCTRに書き込まれるが、Boot−KR B EGIN<0>の開始シーケンスではない。その個所(アドレス1)にはWAI
T_FOR_BOOTがあり、これはRESET時に自動的にセットされる。B
oot−KR全体がCTRに書き込まれてからはじめて、WAIT_FOR_B
OOTがBEGIN<0>によって上書きされ、CTSがBoot−KRの処理
を始める。WAIT_FOR_BOOTはプログラム内に現れてはならない。
であるかを表す。BOOT<CT−ID>後にはBEGINは続かず、Boot
−KRはSTOPによってではなく、あとにくるBOOT<CT−ID>によっ
て終了する。そしてSTOPによってブートプロセスが終了する。BOOT<C
T−ID>はプログラム内に現れてはならない。
Rを下位の階層のCTにロードする。この目的で、ROOT−CTに対応づけら
れた外部のコンフィグレーションメモリ(ECR)内の定められたアドレス(B
OOT−ADR)へのジャンプが存在する。ROOT−CTはこのジャンプを実
行し、ブートシーケンスに到達する。これは以下のように構成されている: BOOT<CT−ID0>; COMMAND; COMMAND; ... BOOT<CT−ID1>; COMMAND; COMMAND; ... ... BOOT<CT−IDn>; COMMAND; COMMAND; ... STOP; ブートプロセス中、まずはじめにBoot−KR全体が、<CT−ID>によ
り表されたCTのアドレス2からCTR内に書き込まれる。Boot−KR(B
EGIN<0>)の開始シーケンスは、アドレス1には書き込まれない。その個
所にはWAIT_FOR_BOOTがあり、これはRESET時に自動的にセッ
トされる。Boot−KR全体がCTRに書き込まれ、ROOT−CTが次のB
OOT<CT−ID>に到達してはじめて、STOPがBoot−KRの終わり
でCTRに書き込まれ、WAIT_FOR_BOOTがBEGIN<0>によっ
て上書きされる。CTSはBoot−KRの処理を始める。
基本メカニズムが存在する。
RはCTR内には存在していない。
KRはCTR内には存在していない。
CTR内に有効なアドレスが存在するか否かについてチェックする。これが存在
しなければ、つまりLUT2において<ID>が値0を指していれば、LOAD
<ID>がCTSへ送られる。
KRを要求する。この要求はトリガ形式で上位のCTに到達し、それによって相
応に評価される。上位のCTは要求されたKRを要求されたCTへ送信する。デ
ータは、FREE−POINTER(FP)の指すアドレスからCTRへ書き込
まれ、その際、FPは書き込みアクセスごとに1だけ高められる。FPがCTR
の上限に到達すると、ガーベージコレクタ(GC)が呼び出され、CTR内で最
下位のKRが除去されてCTRが圧縮されるようになる。そのときFPが新たに
セットされる。この過程は、ロードすべきKRが完全にCTRに納まるまで行わ
れる。
ーションのためにロードしなければならないKR全体が含まれている。外部のコ
ンフィグレーションメモリ(ECR)には、定められたアドレス(ARD−BO
OT)のところにブートコンフィグレーションルーチンへのジャンプがおかれて
いる。任意であるがアプリケーション内部で固定的に定められた長さをもつ別の
所定のメモリ領域(LUT−ECR)には、個々のKRへのジャンプがおかれて
いる。この場合、個々のKRの<ID>はECR内のアドレスとして用いられ、
そこには個々のKRの開始アドレスが存在する。これによりKRが間接的にアド
レッシングされるのである: ID −> LUT−ECT −> KR コンフィグレーションメモリ内におけるKRの変更 ID<A>をもつKRは変更されることになる。まずはじめにHOSTはID
<A>のための新たなKRを、ECR内の空きメモリロケーションへ書き込む。
ID<A>は、上位のユニット(HOST)におけるコンフィグレーションメモ
リ内のKRの新たなアドレスといっしょに、そのために設けられたROOT−C
Tのレジスタに書き込まれる。ROOT−CTは、その下に位置するすべてのC
Tへ命令REMOVE<A>を送信する。それに応じてすべてのCTは、STO
Pに到達したときまたはIDLEサイクルの間すなわちKRが実行されなければ
ただちに、そのIDに関連するKRをCTRから除去し、LUT2はアドレス<
A>に”NoAdr”をセットする。つまりこのことは、LUT2内にID<A
>に対する有効なアドレスエントリが存在しないことを意味する。ID<A>が
再度要求されれば、欠けているエントリ(”NoAdr”)は強制的にLUT2
への<A>ではなく、各CTはECRに対しKR<A>を新たに要求する。
ードを所定のアドレスに書き込む。アドレッシングされたコンフィグレーション
可能なエレメント(CEL)が新たなコンフィグレーションを受け入れる準備が
整っていないため(REJECT)、タイプKWのコンフィグレーションワード
の書き込みが不可能であれば、コンフィグレーションワードはアドレッシングさ
れたコンフィグレーション可能なエレメント(CEL)ではなく、以下ではFI
LMOと称するメモリへ書き込まれる。後続の命令は、再度コンフィグレーショ
ンワードを書き込むことができなくなるまで通常どおり処理され、できなくなれ
ばそのワードはFILMOへ書き込まれる。
たなコンフィグレーションを受け入れる準備が整っていないため(REJECT
)、タイプKWRのコンフィグレーションワードの書き込みが不可能であれば、
コンフィグレーションワードはアドレッシングされたコンフィグレーション可能
なエレメント(CEL)の代わりに、以下ではFILMOと称するメモリへ書き
込まれる。KRが終了するまでの後続のすべての命令は、CELではなくFIL
MOへダイレクトに書き込まれる。
前にスキャンされる。この場合、最も古いデータワードのところで始まり、従来
技術によるFIFOに従い、読み出されたFIFOの各ワードがアドレッシング
されたエレメントへ送られる。ここでアドレッシングされたエレメントはすでに
、コンフィグレーションワードを受け取る準備ができていなければならない。デ
ータワードを最初から書き込むことができるかぎり(つまりアドレッシングされ
たコンフィグレーション可能なエレメント(CEL)がスタンバイ状態にあれば
)、FIFOの形式でFILMOからエントリが除去される。コンフィグレーシ
ョンワードを書き込むことができなければ、それはとばされてFILMOからは
除去されない。FIFOとは異なり、とびこされたコンフィグレーション後のデ
ータがさらに読み出される。とびこされたコンフィグレーションワードの後に書
き込むことのできるコンフィグレーションワードは、FILMOの実装に従って
以下のとおりとなる。すなわち、 1.書き込み済とマーキングされ、FILMOからは消去されない。ここで書き
込み済とマーキングされたコンフィグレーションワードは、後続のスキャンにお
いてはもはや読み出されず、あるいはとばされたコンフィグレーションワードが
もはやその前に存在しなければ、ただちに消去される。
されたコンフィグレーションワードの前と後ではそのまま得られ、ここで消去の
ため後続のワードが前方(上方)へ、あるいは先行のワードが後方(下方)へシ
フトされ、その際、コンフィグレーションワードの順序は強制的に維持される。
TSにより書き込むことのできなかったコンフィグレーションワード(KW)が
、新たにFILMOに付加され、つまりKWはFILMOの(読み出し方向で)
最後に書き込まれる。FILMOがいっぱいになると、すなわちコンフィグレー
ション値のための空きエントリが存在しないと、KRの実行が停止される。FI
LMOは、十分にコンフィグレーションワードを書き込むことができ、それに応
じて多数の空きエントリが発生するまでスキャンされ、その後、KRが引き続き
処理される。FILMOはFIFOに似たメモリを成しており、これは常に最も
古いエントリから直線的にスキャンされる。しかしFIFOとは異なり、エント
リがとばされる(First In Linear Multiple Out)。
割を担う。これはKRの命令を実行し、到来するトリガに対し応答する。そして
これはFILMOの管理の役割を担い、殊にアイドルサイクル中、KRの実行前
にそれを読み出す。これはLUT構造により生成された信号illegal<T
RG>(Illegalトリガ、図1の0102参照)とload<ID>に対
して応答する。load<ID>は、LUT2においてキャッシュミスが生じた
とき(0105)、あるいはIDにより参照されるKR/IKRが消去済とマー
キングされていたとき(0107)に生成される。これは上位のCTの制御信号
に対して応答する。図2〜図7には、命令処理のためのインプリメンテーション
の実例が描かれている。
送信 上位のCTの制御信号 −remove<ID>(図15,1513参照) CTに対し<ID>の消去を要求 −write_to_FP<data>(図2,0205参照) データをCTへ送信。データは占有されているメモリの最後に付加される。
ていないKRのIDを指している場合、KRをリロードしなければならない。し
かし状況によっては、要求されたKRをロードするのに十分なスペースがCTR
内にない。
ければならない。この場合、KRがCTRの最後にはなければ、隙間が生じてし
まう。新たなKRをロードしても、この隙間は場合によっては完全には埋められ
ず、あるいはこの隙間が新たなKRに対し小さすぎるかもしれない。その結果、
CTRのフラグメンテーションが発生する。ガーベージコレクタの役割は、KR
をCTRを除去し、新たなエントリのためのスペースを確保することであり、か
つエントリ除去後のCTRを、残ったすべてのKRが閉じたブロックとして相前
後してメモリ内に位置するようにし、しかも空いたメモリブロックが閉じたブロ
ックとしてCTRの最後に位置させることである。このことにより最適に、しか
もメモリロケーションの損失なく新たなKRをロードすることができる。
クトを有しており、これらのトリガ信号は1つのバスへ送られてまとめられる。
到来するトリガはマスクを介して評価され、つまりイネーブルにされたトリガ信
号が転送される。イネーブルにされたトリガ信号は、クロック同期してサンプル
レジスタ内にバッファリングされる(サンプリングされる)。アービタは格納さ
れているトリガ信号のうちの1つを選択し、信号をバイナリベクトルへ変換する
。選択されたトリガ信号はサンプルレジスタから消去される。そしてバイナリベ
クトルは第1のルックアップテーブル(LUT1)へ転送され、このテーブルに
よってバイナリベクトルが呼び出すべきコンフィグレーションルーチン(KR)
の識別番号(ID)へ変換される。IDは、第2のルックアップテーブル(LU
T2)においてCTメモリ(CTR)内のKRのアドレスに変換される。CTス
テートマシン(CTS)はそのプログラムポインタ(PP)を上記のアドレスに
セットし、KRの実行を開始する。ここで前提とするのは、マスクを介してイネ
ーブルにされた各トリガがLUT1内に対応するエントリをもっていることであ
る。これが欠けていると、エラー状態がCTSへ伝送され(Illegaltr
igger)、その際、各ID=”NoAdr”は存在しないエントリとして評
価される。”NoAdr”は、インプリメンテーションに依存して選定されるト
ークンである。LUT2内にエントリがなければ、つまりIDに該当するKRが
CTR内に存在しなければ、ロード要求がCTSへ送られる(load<ID>
)。
に定義できる命令とはいえ殊にトリガベクトルを交換するための別のインタフェ
ースも存在する。その際にCTは、 −他のすべてのCTへ命令を送るか(BROADCAST) −またはアドレッシングされた任意のCTへ命令を送る(ADDRESSED) 命令”Triggervektor”はバイナリ値を表しており、これは受け
取ったCTにおけるLUT2内のエントリを参照している。トリガベクトルの送
信はたとえば、IKR内でKRをさらに別のCTにおいてスタートさせ、これに
よりたとえば周辺装置やメモリを制御するために必要される。
KR IDとみなされるのか、あるいはトリガパルスのバイナリ値とみなされる
のかを表すようにする。トリガパルスが生じているのであれば、LUT1のデー
タ内容がそのままトリガとして上位のCTへ送られる。
そのまま上位のCTへ送られる(代案としてトリガ値の代わりにそのままIDを
伝送してもよい)。
デッドロック状況を生じさせないよう同期方式を作る必要がある。この方式によ
って、複数のCTから成る特定のグループ内のKRだけしかこのグループ内の他
のCTにおいて別のKRをスタートさせないよう、注意を払わなければならない
。複数のKRを同時にスタートさせると、CEL平面における既述のデッドロッ
クと同じように、各CT間でデッドロックの生じてしまう可能性がある。
、後続の信号で他のCT(TAGET)が送られることを表す。トリガ<ID>
,<CT#>によって、スタートさせるべきKRのIDが一義的なID CT#
をもつCTへ送られる。この場合、トリガの送信はまず最初にすぐ上位のCTに
対して行われ、これはCT#に応じてトリガをそのCT空間内の今度は下位のC
Tへ送るか、またはそれにとって上位のCTへ送る(CT階層を参照)。命令が
到達すれば、それが受領確認を行う。
められる。命令の転送要求がCT内における別の要求にぶつかれば、最も低い優
先順位をもつ命令が取り下げられる。
れず、このためただ1つのKRだけしかスタートせず、このことで必要とされる
デッドロックのない状況が得られるようになる。
パフォーマンスを高めることができる。命令の取り下げ後、GETCTS/LO
OSECTS内の先行するすべての命令も同様に取り下げられ、つまりINIT
IATORがすべてのTARGETへ信号DISMISSを送り、GETCTS
の待機時間後にKRの実行が開始される。命令区間GETCTS...LOOS
ECTS内におけるすべてのトリガの受領確認がINITIATORへ送られる
。受領確認が到来するたびに次の命令の処理が続けられる。命令LOOSECT
Sに到達すると、INITIATORはすべてのTARGETへ信号GOを送る
。これによりTARGET−CTが、トリガにより伝送されたIDをもつKRの
実行をスタートさせる。TARGETはトリガの発生後に状態を変化させ、その
状態においてTARGETはGOまたはDISMISSの発生を待つ。
得られる: 1つの階層平面における1つのグループ内の各CT間にバスシステムが存在す
る(Inter−CT−Bus)。このバスシステムは、グループにおけるすべ
てのCTとそのグループのすぐ上に位置するCTとをつないでいる。機能的にG
ETCTSに似た命令GETBUSにより、バスシステムがCTにより調停され
る。この命令は、バスシステムを介して同じグループのCTへ転送される。アド
レッシングされたCT#がグループ内に存在していなければ、上位に位置するC
Tによって自動的にその上位に位置するバスが調停され、命令が転送される。調
停されたバスはINITIATORに対応づけられたままになり、したがって拒
否されるまで、または命令LOOSEBUSがバスに発せられるまで、他のすべ
てのCTに対しは阻止される。LOOSEBUSはLOOSECTSと対比でき
る。命令LOOSEBUSの実行前、GO信号が関与するすべてのCTへ送られ
る。これは命令LOOSEBUSまたは前につなげられた特別な命令によって行
われる。命令殊にトリガは、やはり既述の基本的手法に従って処理される。バス
システムを調停できなかったとき、拒否が生じる。調停の際、1つの平面におけ
るCTがそれぞれ等しく優先順位づけされ、上位のCTはそれよりも高い優先順
位をもつ。Inter−CT−Busを介して命令を送信する場合、アドレッシ
ングされたCTが命令を受け入れるまで(ACCEPT)または拒否するまで(
REJECT)、命令はアクティブなまま保持される。
rbiter SCRR-ARB)はクロック同期するよう構成されていて、つまりこれによっ て(インプリメンテーションに応じて正または負の)クロック側縁(TF1)ご
とに結果が供給される。到来する信号(ARB−IN)はマスク(ARB−MA
SK)を通り、このマスクは後述の方法に従いアービタ自体によって管理される
。マスクの出力信号は、従来技術に従い優先順位アービタ(ARB−PRIO)
へ送られる。アービタはクロック同期してクロック側縁(TF1)ごとに結果(
ARB−OUT)を送出し、つまりマスク(ARB−MASK)に従って最高優
先順位の付けられた信号のバイナリ値を供給する。この結果には、バイナリ値が
有効か無効かを表す信号(VALID)が割り当てられている。優先順位アービ
タのインプリメンテーションに応じて、信号0が印加されたときおよび信号が印
加されないときに同じバイナリ値が生成されるようにすることができる:この場
合、VALIDによって、信号が加わらないかぎり結果が無効であることが表さ
れる。この信号は、 1.アービタの結果として送出され、 2.デコーダに供給され、これは(以下のテーブルではたとえば3bit値とし
て表される)バイナリ値をデコーディングする(コーディング方式をこの原理に
従って任意のバイナリ値に整合可能である)。
これはデコーダのデコーディング値(ARB−DEC)を、TF1に対し逆のク
ロック側縁(TF2)のときに受け取る。ARB−DECはマスク(ARB−M
ASKにフィードバックされ、個々の入力信号(ARB−IN)をイネーブルに
する。
ルにされる。その理由はARB−DECがすべての信号を「イネーブル」にする
からである。
7(バイナリ111)が最高優先順位であり信号0(バイナリ000)が最低優
先順位である)がバイナリ値として送出される。
ってはさらに高く優先順位づけられているかもしれないが、セットされていない
。
り返されるかまたは、信号はARB−MASKの後ろには現れない。この場合、
ARB−DEC(デコーディングテーブル)は再びすべての信号をARB−DE
CによるARB−MASKによってイネーブルにし、このシーケンスはステップ
2から始まる。
される。
はいっそう高く優先順位付けられているかもしれないが、セットされていない(
ステップからさらに)。
力信号のうちの1つ(ARB−IN)がバイナリでデコーディングされて出力(
ARB−OUT)されるようになる。ARB−REGにイネーブル入力側(EN
)を設けることができ、これは対応する信号が生じたとき、TF2の場合だけレ
ジスタ内容の変更を許可する。このためクロックごとにバイナリベクトルが送出
されるのではなく、ENとTF2のイネーブルに依存して送出される。なお、入
力側の同期が必要であるのは、後置接続された回路が処理を1つのクロックサイ
クルごとには実行できず、複数のサイクルを必要とし、その後はじめて次のバイ
ナリベクトルを受け入れるときである。
、一連の信号をアービタによって高い優先順位が付けられているとみなすことで
ある。これはたとえば、各CT間で信号を転送するための既述の方法において必
要である。信号にいっそう高い優先順位を付ける目的で、ARB−PRIOにお
いて最高優先順位の付けられたコンタクトがマスキングされず、つまりマスク(
ARB−MASK)の前を通過する。これにより信号が優先的に扱われる。
ンプリメントすることもできる。ここで容易に理解できるように、トリガコント
ロール、ルックアップテーブルLUT1およびLUT2、ならびにInter−
CT通信とCELへのKWの書き込みなどの基本機能を、そのままマイクロコン
トローラによって実現することができる。この場合、効率的なFILMOの構造
だけが問題となるが、それはとりわけ実現可能なパフォーマンスいおいて顕著に
なる。したがってFILMOの構造については特別に言及する。
プログラムメモリがFILMOの機能性について拡張されている。この目的で、
付加的なビット(FILMO−BIT)が各KWに対応づけられ、これによって
対応するKWがCELに書き込まれた否かが表される。FILMOーBITがセ
ットされていれば、対応するKWは実行されない。メモリへのKWの書き込みに
あたりFILMO−BITがリセットされる。CT内におけるすべてのKRは、
それらがトリガまたはLOAD<ID>によって呼び出されるよう、チェーンリ
スト(FILMO−LIST)を介して順番に互いに結合されている。KRは、
それらが完全に実行されてしまうまでFILMO−LIST内に保持され、その
後、それらがリストから除去される。FILMO−LISTはFILMO方式に
従って実行され、このためFILMOメモリに対する直接的な代替となっている
。(完全性を期すために付言しておくと、本来のFILMO方式とは異なりKR
が2度リスト内に現れることはない。まだFILMO−LIST内に存在してい
るKRが呼び出された場合、その実行はそれがFILMO−LISTから取り除
かれるまで遅らさなくてはならない。) FILMOメモリロケーションの構造は以下の通りである:
ポートする: PUSH CELへKWを書き込む。
PT)のFILMO−BITをセット。
なかったとき(REJECT)、サブルーチンからリターン(RETURN)。
この命令が使用されるのは、KR内における後続のKWがこのKWのコンフィグ
レーション(ACCEPT)に依存しているときである;KRからのリターンに
より、PUSHRETが成功するまで(ACCEPT)、そのコンフィグレーシ
ョンが阻止される。
KWを書き込む。PUSHRETと同様、KWのコンフィグレーション順序にお
ける依存性を扱うために用いる。
コレクタ(GC)が使われる。メモリ内に新たなKRをロードするスペースがも
はや十分になくIDを消去しなければならないとき、あるいはKRが命令REM
OVEにより明示的に(消去すべきKRのIDの情報を伴って)消去されるとき
、GCが起動する。GCの実行をできるかぎり簡単に構成できるようにする目的
で、KR全体がチェーンリストを介して結合される。GCはリストをスキャンし
、もはや必要とされないKRを消去するが、これはそれらのKRが別のKRによ
って上書きされ、リストエントリが相応に整合されるようにして行われる。その
際、消去すべきKRによって生じるメモリの隙間が埋められ、つながったいっそ
う大きいなフリースペースがメモリの最後に生じるよう、メモリ内に残されるす
べてのKRがシフトされる。
えてジャンプが行われる。これにはガーベージコレクタのための二重にチェーン
結合されたリストが続き、そこではすべてのKRが互いに結合されている。”l
ength”はKRの長さを表す。この情報は、従来技術によるBlock−M
ove命令のために用いることができ、これはメモリ内のKRを移動させる必要
があるときに用いられる(Garbage,Load等)。続く二重にチェーン
結合されたリスト内にFILMOが形成されており、これによればCELに書き
込まれていないKWを含むKRだけが互いに結合されている。
呼び出し回数(呼び出しごとに値が1だけ高められる)、エイジ(KRに関する
GC実行回数に基づき測定可能:GC実行ごとに値が1だけ高められる)などが
含まれている。メモリスペース上の理由でKRを消去しなければならないとき、
CGはこの統計を評価することができる。キャッシュに関して、この種の統計に
より格別な利点が得られる。たとえば用いられるキャッシュアルゴリズムに依存
しアプリケーションの要求に従い、マイクロコントローラを次のようにプログラ
ミングすることができる。すなわち空きメモリが必要なとき、 1.最も古い/最も新しいKR 2.最も小い/最も大きいKR(エントリ”length”参照) 3.最も稀に/最も頻繁に呼び出されるKR がキャッシュから消去される。その際、自明の別の有用なステータス情報を格納
することができる。このような選択的なキャッシュは、現在知られているキャッ
シュ構造では不可能である。殊に、キャッシュにおいて自由にプログラミング可
能なキャッシュアルゴリズムは従来技術ではサポートされていない。ついでKR
統計が設けられており、これにはたとえばまだコンフィグレーションされていな
い(REJECT)またはコンフィグレーションされている(ACCEPT)K
Wの個数が含まれている。同時に、これからコンフィグレーションすべき最初の
KWのアドレスを格納することができる。このことの利点は、FILMOスキャ
ン時にすぐにKWへジャンプでき、KR全体をスキャンしなくて済むことであっ
て、その結果、めざましいパフォーマンス向上が得られる。
続IDのエントリにより構成される。それというのも、このことで絶対メモリア
ドレスを問題なくGCによってシフトできるからである。また、KRロード時と
GC実行時に問題が発生するのを回避する目的で、KR内では絶対ジャンプの代
わりに相対ジャンプだけしか用いられない。なぜかといえば、絶対アドレスは変
化しないからである。
コントローラを使用したときでも(他のCTからのものであってもトリガまたは
命令に基づき)新たなKRが実行される前にFILMOがスキャンされ、FIL
MOのスキャン前にはCELのステータス(コンフィグレーション可能またはコ
ンフィグレーション不可能)が保護される。
ョンデータ管理について示されている。
。図2〜図7は、ステートマシンの命令処理と機能を示す図である。図8は、S
CRR−ARBの構造を示す図である。図9は、LUT1&LUT2の構造を示
す図である。図10は、ポインタ演算装置とCTRの構造を示す図である。図1
1は、FILMOの構造を示す図である。図12aは、CTの階層構造を示す図
である。図12bは、各CT間におけるトリガの送信を示す図である。図12c
,dは、送信方法を示す図である。図13は、複数のIKRによるKRの呼び出
しを示す図である。図14は、ROOT−CTにおけるLUT1の構造を示す図
である。図15は、ROOT−CTにおけるHOSTコントロールの構造を示す
図である。図16は、LUTとECRのコンセプトを示す図である。図17は、
中間階層平面ないしはROOT−CTにおけるCTのシーケンスコントロールを
示す図である。図18は、2次元アレイのコンフィグレーションにおけるデッド
ロックの問題点を示す図である(明細書参照)。図19は、FILMOコンセプ
トを示す図である。図20は、Inter−CTコミュニケーションの基本原理
を示す図である。図21は、GETCTS方式によるInter−CTコミュニ
ケーションの実装例を示す図である。図22は、GETBUS方式によるInt
er−CTコミュニケーションの実装例を示す図である。図23は、Iter−
CTバスのバス構造を示す図である。図24は、CT階層内におけるアドレッシ
ングを示す図である。図25は、ガーベージリストである。図26は、FILM
Oリストである。図27は、KR内のFILMO機能を示す図である。図28は
、KRまたはFILMOを実行する前の状態の格納について示す図である。
いる。この場合、到来するバイナリのトリガベクトル(0101)が、LUT1
内で有効なKRまたはIKR IDに変換される。有効なIDが存在していなけ
れば信号”Illegal Trigger”が生成され(0102)、これに
よってそのトリガがLUT1内では未知のものであるとが指示される。さらにこ
の信号をエラーメッセージとして上位のCTへ転送してもよいし、あるいは無視
してもよい。「トリガ」から「ID」への変換は、命令”REFERENCE”
によりLUT1へエントリされる。有効なID(0103)がLUT2へ転送さ
れる。命令内でつまりオペランドにより与えられるID(0104)は、LUT
2にダイレクトにあたる。LUT2は到来するIDを、CTR内のKR/IKR
のアドレスへ変換する。KR/IKRがCTR内に格納されていなければ(キャ
ッシュ内に存在しなければ)、信号”Miss”が生成される(0105)。K
R/IKRの変換されたアドレスがトークン”NoAdr”でマーキングされて
いれば、”NoEntry”(0107)によって、アドレスの消去されている
ことが示される。”Miss”および”NoEntry”は、CTR内部アドレ
スへの変換が不可能であることを表す。これらの信号に基づきLOADステート
マシンは、その上に位置するCTの対応するIDをもつKR/IKRをリロード
する。有効なアドレスが存在しているかぎり、これはアドレス発生器のポインタ
演算装置へ転送される(0106)。LUT1において、到来するバイナリのト
リガベクトルがIDまたは別のトリガベクトルへ変換され、その場合、トリガベ
クトルが出力される(0108)。
じめに、ロードすべきKR/IKRのID(0201)がその上に位置するCT
へ送信される。それに応じてLUT2内で、要求されたIDのためのエントリの
ロケーションにフリーポインタ(FreePointer)の値がエントリされ
る。FPは、CTR内でKR/IKRのために利用された最後のエントリの後ろ
のエントリを指す。これは、ロードすべきKR/IKRの格納される最初のエン
トリである。ステートマシンは、上に位置するCTのデータワードを待つ。その
ワードを利用可能であれば、FPによって参照されているロケーションに書き込
まれる。そしてFPがインクリメントされる。FPがCTRの終端の後ろのエン
トリを指しているならば、スペース確保のためCTR内の最初のエントリが消去
される。その際、FPが更新される。上に位置するCTから送信されたデータワ
ードが”STOP”であればロードプロセスが中止され(0203)、そうでな
えれば新しいデータワードを待ちながらプロセスが続けられる(0204)。
SKレジスタへ書き込まれる。MASKレジスタはLUT1の前のトリガ信号入
力側に設けられていて、無効なトリガをマスク除去する。
トルとして他のCTへ送信される。
R/IKR IDへの変換がLUT1へ書き込まれる。
AITMASKレジスタへ書き込まれる。待っているトリガ以外したがってWA
ITMASKにおいてイネーブルにされるトリガ以外、すべてのトリガは無視さ
れる。そのトリガが到来してはじめて、プログラムの流れが戻る。
たコンフィグレーション可能なエレメント(CEL)へフィグレーションワード
が送られる。CELがたとえば状態「コンフィグレーション不可能」におかれて
いてコンフィグレーションワードを受け入れなければ、そのコンフィグレーショ
ンワードはFILMOへ書き込まれる(0401)。
種類の呼び出し方がある: 1.CTR内に位置する最初のKR/IKRがCTRから消去される。ガーベー
ジポインタ(GarbagePointer,GP)へCTRのアドレス0が割
り当てられる(0501)。
ジポインタ(GP)に、CTR内の消去すべきKR/IKRの最初のアドレスが
割り当てられる(0502)。
。GPとMPは、最初のKR/IKRをCTRから消去すべきときであっても、
CTR内の”BEGIN<ID>”命令を参照する。該当するIDがLUT2内
で無効であるとマーキングされる。MPは、メモリ内で次に位置するKR/IK
Rの”BEGIN<ID>に達するまで(0503)、あるいはMPがフリーポ
インタ FreePointer(FP)と等しくなるまで、つまり消去すべき KR/IKRがCTR内の最後のものになるまで(0504)、インクリメント
される。
によって占有されているメモリロケーションが空きとマーキングされ、ファンク
ション”REMOVE”が終了する(0505)。
により参照されたデータがGPにより参照されるメモリロケーションへコピーさ
れる。その際、MPとGPがインクリメントされる。このシーケンスは、MPが
CTRの最後に達するまで、あるいはFPの位置に達するまで(0507)行わ
れる。このシーケンス中、MPにより、”BEGIN<ID>”の存在するメモ
リロケーションが参照されると、LUT2における対応するIDのためのエント
リがMPによって上書きされ(0508)、これによってルックアップにあたり
適正なメモリロケーションが送出されるようになる。
のポインタが含まれている: 1.WriteP:FILMO−RAMの書き込みポインタ 2.ReadP:FILMO−RAMの読み出しポインタ 3.FullP:FILMO−RAMの「充填状態」を表し、アンダーフローま
たはオーバーフローを阻止する。
LMO−RAMの最初にある(TRUE)か、つまり読み出しポインタとFIL
MO−RAMの最初との間に消去されていないエントリが存在していないか、あ
るいは読み出しポインタがFILMO−RAMの中程に位置している(FALS
E)か、つまり使われるエントリが読み出しポインタとFILMO−RAMの最
初との間に位置しているかが表される。さらに、ReadPとFullPの状態
を格納する2つのレジスタが存在する。これは消去されていない最初のエントリ
が現れたときに両方のレジスタを保護するために必要である。なぜならば、あと
で行われる読み出しアクセスにあたり、そのエントリのロケーションで読み出し
を開始しなければならないからである。しかし他方、ReadPとFullPは
目下の読み出しプロセスの間、次の読み出しアドレスを得る目的で、またはFI
LMO−RAMの終わりを確認する目的で、さらに変えられなければならない。
FILMOをFIFOに似た構造(いわゆるリングメモリ)として構成すること
により、メモリの最初と最後をアドレス0や最大アドレスに基づき確認すること
はできない。
はそれらのレジスタから読み戻され(0602)、ステートマシンは基本状態に
ジャンプして戻る。そうでなければ(0603)、ReadPの指しているFI
LMO内のエントリが”NOP”と等しいか否かが調べられ、つまり消去された
とマーキングされたFILMO中程のエントリであるか否かが調べられる。これ
が該当しなければ(0604)、コンフィグレーション可能なエレメント(CE
L)へのエントリの書き込みが試みられる。CELが再コンフィグレーション可
能ではないため、これがうまくいかなければ(REJECT,0605)、Be
ginFがFALSEにセットされ、FullPがデクリメントされ、Read
Pがインクリメントされる。ステートマシンは処理ループの最初にジャンプする
(0606)。CELへのエントリの書き込みがうまくいくか(0607)、ま
たはエントリがNOPであれば、BeginFが調べられる。
は存在しない。FullPはインクリメントされ、FILMOの新たな開始を記
録しておくため、ReadPは所属のレジスタにおいて保護される。また、目下
のデータ量を記録するためFullPは保護され、ReadPはインクリメント
される。
FILMO−RAM内の目下のエントリはNOPによって上書きされ、つまりそ
のエントリは消去される。ReadPはインクリメントされる。
っぱいであるかが調べられる。いっぱいであれば(0611)、スペースを確保
するため読み出し経路にジャンプする。そうでなければデータワードがFILM
O−RAMへ書き込まれ、WritePとFullPがインクリメントされる。
ときにただちに基本状態(IDLE)を離れる。すなわち、 1.REMOVE−Kommandoがその上に位置するCTから現れたとき(
0701):REMOVE命令が実行され、ステートマシンはIDLEへ戻る。
が出力される。ステートマシンは”STOP”命令へジャンプし、その後、ID
LEへ戻る。
ログラムポインタ(PP)には、LUT2により生成されたアドレスがロードさ
れる。アドレスが無効であれば、つまりロードすべきKR/IKRのためにいか
なるエントリも存在しなければ、それがロードされ(0704)、PPが新たに
セットされる。
ID>命令が飛び越される)、別のトリガの発生が阻止され、RECONFIG
が阻止される。命令が実行され、実行ループの最初にジャンプする(0707)
。命令”STOP”が別個に実行される(0705)。トリガとRECONFI
Gが再びイネーブルにされ、ステートマシンはIDLEにジャンプする。命令”
EXECUTE”も別個に実行される(0706)。EXECUTE<ID>で
表されたIDがID−REGに書き込まれる。PPは新たにロードされ、IDに
より表されたKR/IKRが実行される(0708)。
ま基本コンフィグレーションの実行にジャンプする(0709)。
タINを介してマスク(0801)に到達し、これは既知のテーブルに従い信号
の関連部分を通したり阻止したりする。従来技術による慣用の優先順位アービタ
(0802)は通された信号の集合から1つの信号を調停し、そのバイナリベク
トル(BinaryOut)を有効/無効識別子(ValidOut)とともに
(やはり従来技術に従い)SCRR−ARBの出力として供給する。この信号は
既知のテーブルに従いデコーディングされ(0803)、クロック同期のための
レジスタ(0804)へ導かれる。このレジスタを介して、データINマスクが
スイッチングされる。その際、レジスタはクロックにより制御されるかまたは、
次の有効なバイナリベクトルを問い合わせるネクスト信号(イネーブルEN)に
よって制御される。リセット時または識別子(ValidOut)が無効である
と示されたとき、データINマスクがすべての信号を通すようレジスタがスイッ
チングされる。
おり、この場合には信号であるデータIN 0..データIn 1に対しSCR
R方式に従い同じ優先順位が与えられているのに対し、データIn m..デー
タIn nには高い優先順位が与えられている。
(BinaryIn)は、LUT1のアドレス入力側(0901)へ導かれる。
LUT1はバイナリベクトルを、別のCTへ転送するために有効なトリガに変換
するか、あるいは有効なIDに変換する。これらはともに0901を経て送出さ
れる。0911において、それがトリガであるかIDであるかが指示される。命
令”REFERENCE”によって、LUT1へ到来するバイナリベクトルの変
換がエントリされていなければ、(ビットエントリまたは特定のトークンたとえ
ば”VOID”に対する比較器によって)信号”Illegal Trigge
r”が生成される(0914)。
02)を介してさらに処理される。0902は、有効なIDを表すLUT1のデ
ータ出力またはCTのIDレジスタ(0903)を、LUT2のアドレス入力側
(0904)へスイッチングする。0904はキャッシュに似た構造を有してお
り、つまり0902からのデータ出力側における下位の部分(0906)は09
04のアドレス入力側へ供給されるのに対し、上位の部分(0907)は090
4のデータ入力側へ供給される。0904に属するデータ出力側は、比較器(0
905)によって0907と比較される。この方式の利点は、0904がすべて
のIDを変換するために深さをもっている必要がなく、かなり小さくすることが
できる。慣用のキャッシュと同様にIDの一部分だけが変換され、その際、LU
T2内で0907に基づき、選択されたIDがLUT1により与えられたものと
一致するか否かを判定することができる。これは従来技術によるキャッシュ/T
AG方式に相応する。
られて設けられており、これはオペレーションに従いフリーポインタ(FP、オ
ペレーションLOAD)、ガーベージポインタ(GP、オペレーションREMO
VE)または無効識別子/トークン(NoAdr、オペレーションREMOVE
)をLUT2へ格納するために供給する。両方のポインタはCTR内のメモリロ
ケーションを参照しており、”NoAdr”は、適合するIDに対するエントリ
が存在せずそのエントリは消去されていることを表す。このことはデータ出力側
において、比較器0909によってデータをトークン”NoAdr”と比較する
ことによって判定される。この場合、ステートマシンへ以下のことが転送される
。すなわち、 −”ValidIn”によるバイナリベクトルの発生(図8参照)。
rigger/ID Out)。トリガは0912を介して別のCTへ転送され
、IDは固有のCTにおいて処理され、LUT2へ転送される。
it/Miss Out)。
9の結果(”NoENtry Out”)。
ress Out)。
からトリガまたはIDへの変換がロードされる。命令のオペランドはバス091
3を介してLUT1へ導かれる。同じバスを介してIDレジスタ(0909)が
ロードされる。
ーブポインタ(MP)およびフリーポインタ(FP)が示されている。各ポイン
タは、別個に制御できるロード可能なアップダウンカウンタによって構成されて
いる。各ポインタには(必要であるかぎり)、他のカウンタの値をロードするこ
とができ、さらにLUT2の出力(0107)もロードすることができる。
(1001)を介して、ポインタのうちの1つがCTRのアドレス入力側へ案内
される。データはマルチプレクサ(1002)を介して上位のステートマシンか
ら、またはレジスタ(1003)から、CTRへ到達する。さらにステートマシ
ンおよびFILMO(1006)へ、マルチプレクサ(1004)を介して上位
のCTまたはCTRのデータが転送される。この場合、上位のCTからREMO
VE命令が発生したときにはそれがそのまま1004を介してステートマシンへ
導かれるのに対し、そうでなければ命令はCTRからステートマシンへ案内され
る。レジスタ1003は、命令を格納しCTR入力側へフィードバックするため
に用いられ、それらはガーベージコレクタ実行中にあるアドレスから別のアドレ
スへシフトされる。
らFILMOへ到達し、マルチプレクサ(1102)を介してFILMO−RA
M(1103)へ書き込まれるかまたは、マルチプレクサ(1104)を介して
コンフィグレーション可能なエレメント(1116)へ送られる。データが11
03において消去されると、1102を介して”NOP”トークンが1103へ
書き込まれる。比較器(1105)によってデータ出力側で”NOP”トークン
が識別され、コンフィグレーション可能なエレメントへの書き込みが阻止される
。マルチプレクサ1106を介して、書き込みポインタWriteP(1107
)または読み出しポインタ(1108)が1103のアドレス入力側へ導かれる
。リセット(図6参照)を行えるようにするため、レジスタ1109で読み出し
ポインタが保護される。1103における充填状態カウンタ(1110)は、図
6に示したようにレジスタ1111でリセットに対し保護される。1103が空
であるか(1112)またはいっぱいであるか(1113)が、2つの比較器に
よって調べられる。さらにマルチプレクサ1115を介して、1116へ(11
01からの)ステートマシンの制御信号を送るのか、FILMOの制御信号を送
るのかが選択される。
ータを、ROOT−CT(1201)およびそれに割り当てられたECR(12
04)から受け取る。コンポーネント内における各実装平面ごとに、1つまたは
複数のCTが存在している。各CTは、それらの平面およびその下に位置するC
Tの管理を担当する。なお、ツリーのすべての枝が同じ深さにある必要はない。
たとえば、1つのコンポーネントの周辺装置(1202)を制御するためには、
動作ユニット(1203)を制御するよりも僅かな平面しかないかもしれない。
この場合、データ伝送はツリー状に行われる。各CTは、その下に位置するすべ
てのCTのためのキャッシュとして動作する。
はツリー状に進行するのに対し、トリガの流れは固定されていない。各CTは、
他のいかなるCTへもトリガを送ることができる。トリガ交換は通常、リーフ(
1203)からROOT−CTの方向でのみ行われる。しかし場合によっては、
逆方向で伝送が進行する可能性もある。
205がトリガベクトルをすべてのCTへ送る。
その上に位置するCTへ送る。また、1207はLOWERトリガベクトルを、
その下に位置するすべてのCTへ送る。さらに1208は、ダイレクトにアドレ
ッシングされた(ADDRESSED)トリガベクトルを、1207とダイレク
トにはつながっていない特定のCTへ伝送する。
ュされている共通のKRxを要求している。そこに示されているように、このK
Rは共通の枝によりキャッシュされ、隣りの枝(1301)においても共通のC
Tを利用可能である。
間の階層平面におけるROOT−CTとCTにおいて用いられる。これまで述べ
てきたCTとの基本的な相違点は、個々のトリガ信号の代わりにIDおよび/ま
たはトリガベクトルをCTにより管理しなければならないことである。ここでは
各ベクトルに、ベクトルの有効性を指示するためのハンドシェーク信号(RDY
)が割り当てられており、これはアービタ(1401)へ伝送される。マルチプ
レクサ(1402,1403)を介して、複数のトリガベクトル(1404)の
うちの1つまたは複数のIDベクトルのうちの1つ(1405)が選択される。
トリガベクトルはLUT1(1406)のアドレス入力側へそのまま到達し、L
UT1はその他の点では図9に示されているように結線されている。IDレジス
タ(1407)も、やはり図9に示されているように結線されている。図9とは
異なり、マルチプレクサ1408は3つの入力側を有している(0902を参照
)。ここではこのマルチプレクサはステートマシンのほか、付加的にアービタ1
401によっても制御される。付加的な入力側を介して、1403を経たIDベ
クトルはLUT2へそのまま伝送される。この目的でバス1409が用いられる
。(基本的に、図9に示したCTの場合でもIDをマルチプレクサ(1408)
によってLUT2へダイレクトに供給することができる。この場合にはIDを、
変換せずにそのままCELからLUT2へ送ることができる。)”Trigge
r/ID Out”は、図9に示されているようにして生成される。図9によれ
ば”Valid Out”へ転送される”ValidIn”信号は、ここでは存
在しない。その代わりに1401によるアービテーションに応じて、トリガベク
トルのためには”Valid Trigger Out”が生成され、IDベク
トルのためには”Valid ID Out”が生成され、これによって処理を
どのように行うべきかがステートマシンに指示される。
示されていない別のユニットへ案内される。ROOT−CTは通常のCT機能に
加えて、外部のコンフィグレーションメモリ(ECR)へのインタフェースおよ
びなければならないアドレス発生器とECRへのアクセスを管理するユニットを
必要とする。
においてそのIDをCTR内のメモリロケーションに変換する(図16a参照)
。ROOT−CTはECRへのアクセス時、ECR内部におけるIDをECR内
のアドレスへ変換し、そのアドレスにおいてIDにより参照されたKR/IKR
が始まる。この目的でECR内に、可能なIDの個数に対応する大きさをもつメ
モリ領域が設定されている(たとえばIDが10bit幅であれば210=102
4個の可能なIDが得られ、したがってECR内で1024個のエントリが予約
される)。以下の実例ではこのメモリ領域はECRの下端にあり、LUT2との
類似性を区別するため、LUT−ECRと称する。その際、トリガからIDへの
変換は、既知のCTに従いLUT1(1601)において行われる。理解を深め
るため、図16bによりECRへのアクセスについて示す。
01に到達する。さらに1501を介して、IDはロード可能なカウンタ150
2へ書き込まれる。1502の出力側は、マルチプレクサ1503を介してEC
Rのアドレスバス(1504)へ導かれる。データバス1505を介して、ID
からメモリアドレスへの変換はマルチプレクサ/デマルチプレクサ(1506)
を経て1501へ到達し、これは1502に対しメモリアドレスをロードする。
その後、ステートマシンLOAD−ECR(図17参照)によって対応するKR
/IKRのデータワードがECRから読み出され、CTRに書き込まれ、その際
、1502は読み出しプロセス後にそのつど高められ、これは命令”STOP”
が読み出されるまで行われる。
06を介してKR/IKRをECRへ書き込む。その際にステートマシン(CT
S)によって、ECRへHOSTがアクセスするのかROOT−CTがアクセス
するのかについてて調停される。
をロードする必要がある。このため固定的なメモリアドレス(BOOT−ADR
)が取り入られ、これはBOOT−KRにおける最初のメモリテーブルを示す。
BOOT−ADRとしては、IDが1で始まるかぎりメモリロケーション0hが
推奨され、そうでなければ2IDまたは他の何らかのメモリロケーションを使用す
ることができる。この実施例では2IDを使う。
するため、BOOT−KRがロードされているかぎりルックアップを実行する。
ROOT−CTは1502の後でデータを書き換え、そこからは”STOP”命
令が発生するまでBOOT−KRをロードできるようにする。
せの役割を担っている。これは以下のようにして行われる: アドレス 小さい2IDは1508により監視され、つまりHOSTによってこ
のアドレスへのアクセスが行われると、信号(ACC−ID)がステートマシン
(CTS)へ送られる。同様に、BOOT−ADRが1509を介して監視され
、信号ACC−BOOTがステートマシン(CTS)へ送られる。
ードに作用する。
ことは比較器1510を介して確認され、コンポーネントの停止に作用する。小
さい2IDのアドレスへHOSTが書き込みを行うと、アドレスがREMOVEレ
ジスタ(1511)へロードされる。そのアドレスはIDに対応しているので(
ECR−LUT参照)、変更されたKR/IKRのIDは1511内におかれる
。すべてのCTへ、即座に実行するための命令REMOVE<ID>が送られる
(1513)。それに応じてCTは、対応するIDのKR/IKRをそれらのC
TRないしはLUT2から消去する。KR/IKRの後続の呼び出しにあたり、
CTは強制的に新たなKR/IKRをECRからロードしなければならない。
るシーケンスが示されている。IDが内部のCTR内に存在しなければ(図1の
1701参照)、IDはカウンタ1502へ書き込まれる(1703)。150
2におけるアドレスを用いたECRのアクセスによって、KR/IKRのベース
アドレスが供給される。これは1502へ書き込まれる(1704)。図2によ
るLOADが行われる(1702)。この場合、データは上位のCTからではな
くECRから読み出され(1705)、本来のCTRへ書き込まれるだけでなく
、下位のCTへも送られる(1706)。中間の階層平面におけるCTにおいて
、図1の場合と同じようにしてトリガの変換が行われるが、ただし例外としてト
リガベクトルとIDベクトルは図14に従って処理しなければならない。また、
KR/IKRは図2に従ってロードされるが、例外として、データワードは本来
のCTRに書き込まれるだけでなく(0210)、同時に下位のCTへも送られ
る。
、読み出しアクセスおよび書き込みアクセスにあたり必ず始めから終わりへ向か
ってスキャンされる(1902)。FILMOの最初のエントリが書き込まれ消
去されると(1903)、読み出しポインタは消去されていない最初のエントリ
までシフトされる(1904)。FILMOの中間からエントリが書き込まれた
とき(1905)、読み出しポインタは変わらずに保持され(1906)、それ
らのエントリに”NOP”がマーキングされる(1907)。データがFILM
Oに書き込まれると(1908)、それが終端において最後のエントリの後ろに
付けられる(1909)。読み出しポインタ(1910)は変えられずに保持さ
れる。
いないCTを形成することもできる。とはいえ、その制御は比較的煩雑である。
その際にCTは、すでにLUT2とCTRがECR内に統合されているROOT
−CTと同じように構成されている。このやり方を理解するために、このCTの
説明は不要である。
へ書き込むためのトリガが挿入される。この場合、データはCELからCTRへ
書き込まれる。このために必要な変更は一般的なものであり、FILMOは完全
に省略できる。データのキャッシュにあたり、データの一貫性という問題点が生
じる。このことは、DE 42 21 278 A1 による方法を適用して、データおよびそれ
らのデータの有効性を個々の階層平面において識別できるようにすることで回避
することができる。リード・モディファイ・ライト・サイクル(Read-Modify-Wr
ite-Cycle, RMWサイクル)を実行するためにデータが要求される場合、すべ ての階層平面におけるデータが付加的なエントリに基づきCTR/ECR内で無
効である(INVALID)と識別される。このためエントリに、データを利用
するKR/IKRの一義的なIDをエントリすることができる。データは、それ
らのデータを利用するKR/IKRがデータを書き戻し(従来技術によるライト
・バック方式を参照)それらのIDを消去してしまうまで、他のIDをもつKR
/IKRによって利用することができない。
タを要求し、上位のCTはROOT−CT2004にデータを要求する。データ
要求とともに、要求を行うKR/IKR(2001)のIDが伝送される。デー
タ(2002)は2007へ送られる。それ以降の他のすべてのアクセスは拒絶
される(2003)。
が再び受け入れられる(2006)。
、それが2007へ送られる。データを阻止するためのIDは、階層内のすべて
のCTへ送られる(2001)。図20dにおけるデータの書き戻し(ライトバ
ック)において、データは階層内のすべてのCTへ書き込まれ、IDが消去され
る。
NITIATOR CT(2101)とTARGET CT(2102)との通
信、ならびにGETCTS/LOOSECTS方式による介在平面を経由しない
TARGET CT(2103)とのダイレクトな通信について描かれている。
103から、確立の確認としてGRANTを受け取る。その後、2101は21
04,2105,2106を介して、2102へのコネクションを確立する。2
102へのコネクションは、2102に達したときにはじめて承認される(GR
ANT)。
が2101へ送られ、2101はそのプロセスを中止する。つまり、2103へ
のコネクションも中止され、REJECTが2103へ送られる。しかし210
2がGRANTによってコネクションを承認すると、2101は2103と21
02へGO命令を送り、これによって同時に2103と2102へコネクション
確立の成功と同期が確認される。このプロトコルによって、データまたは命令を
デッドロックを生じさせずに同期させて伝送することができる。なぜならばGO
によって、すべてのTARGETが命令を正しく受け取るようになるからである
。
信の経過が示されている。図21によるやり方ではそのつど上位におかれたCT
が制御および優先順位づけの役割を担っているのに対し、ここでは制御はInt
er−CTバス(2201)によって引き継がれる。
ローカルなInter−CTバスを要求する(2202)ことによって確立され
る。バスが空いていれば(ACCEPT)要求が承認され、バスが占有されてい
れば(REJECT)要求が拒否される。その後、これは2102のアドレスを
バスへ送る。アドレッシング方式に従いバスコントローラは、そのアドレスがロ
ーカルなバスアドレス外にあることを識別し、上位のCT2104を介してその
CTのローカルなバスへのコネクションを確立する(2203)。
02のローカルバスへのコネクションが確立される(2204)。2101はこ
のとき、データ通信に必要とされるすべてのバスにおけるただ1つのバスマスタ
となっているので、デッドロックの生じないスムーズな通信を確実に進行させる
ことができる。それというのも、他のすべてのCTに対して通信チャネルが阻止
されているからである。2102と2103もバスを利用することができない。
その理由は、それらはTARGET役として命令だけしか受け取ることができず
、INITIATOR(2101)自体による要求に応答してデータを送ること
しかできないからである。
除される。2101がバス確立動作中に使用されているバスに当たれば、REJ
ECTが2101へ送られ、2101はそのバスシステムを再び解除し、あとの
時点で新たに確立を試みる。複数のCTが同時に同じバスを要求したときには、
上に位置するCTに対し高い優先順位が付けられる(2205)。このことによ
り、すでに多数の平面を経由して延びた長く進行しているバス確立動作が、まだ
非常にローカルなバス確立動作によって打ち切られてしまうことが回避される。
拡張されたプロトコルによればREJECTが発生したとき、高い優先順位の付
けられたバス確立動作により必要とされるバスだけを解除することができる。こ
れによりパフォーマンスを格段に高めることができる。なぜならば、バスすべて
をあとの時点で新たに確立しなくてもよいからである。
て描かれている。CT2301〜2304は、それらのインタフェース(230
8〜2311)を介して上位のCT2305(インタフェース2307)といっ
しょにInter−CTバス2312と接続されている。Iter−CTバスの
接続はラウンドロビン・アービタによって行われ、これは2308〜2311に
対し同じ優先順位を与えるが、2307に対してはそれよりも高い優先順位を与
え、これは各バスをまとめるためのマルチプレクサを制御する。アービタには、
制御信号(たとえば確立/解除、ACCEPT,REJECT...)を評価す
るステートマシンが対応づけられている。
ここでは正方形によってCTがシンボリックに表されており、その際、CTのア
ドレスが書き込まれている。この場合、−は重要でないアドレスビットを表し、
それらは評価されない。重要なアドレスビットには2進数の0か1が与えられて
おり、何らかの任意のアドレスビットについては*がおかれている。なお、この
図式を多次元のツリーに投影して同様に適用できることも容易に理解することが
できる。その際、与えられたアドレスはそれぞれ軸の1つを表していて、換言す
れば、軸ごとに相応の別個のアドレス系が存在するのである。
の場合、相対アドレス−1が示されている。計算 −1+1=00(「相対移動
」+「目下の平面上でのINITIATOR−CTのアドレス」)により、同じ
ローカルバスに接続されているCT 0000を計算することができる。
10+0=10(「相対移動」+「目下の平面上でのINITIATOR−CT
のアドレス」)により、桁上げ1が生じる。なぜならば、最下位のローカルバス
のアドレス領域はちょうど1bit幅だからである。これにより、次に高いバス
が選択される。そのバスのアドレス計算にあたり10+10=100(「相対移
動」+「目下の平面でのINITIATOR−CTのアドレス」)によって新た
に桁上げが発生する。なぜならば、そのアドレス領域は最下位バスのアドレス領
域よりもちょうど1つだけ大きい2bitだからである。次に高い平面では、計
算10+010=0100によっても桁上げは発生せず、したがって(左から)
3番目のビットにより次に低い平面との経路1**がアドレッシングされ、(左
から)2番目のビットによりさらに次の最下位平面の経路10*がアドレッシン
グされ、ついで最後のビットによりTARGET−CTが選択される。
4dには、負のオーバーフローをもつ負の方向での3つの平面を介したやり方が
示されている。
2)には、CT(2501)が2次元で配置されて設けられている。次元のアド
レスは、個々のCTにおいてx/yで与えられている。2502の上位には、次
に高い平面(2504)がおかれている。それらのCT(2503)はそれぞれ
、平面2502における4つのCTのグループを制御する。2504におけるC
Tのアドレス空間は1bitだけ幅が広く、ここでは*によって平面2502の
アドレスビットが表されているが、それらは2504におけるCTの選択にとっ
て重要なものではない。さらに2504の上位には、ROOT−CT2505が
設けられている。それらのアドレスもやはり1bitだけ幅が広く、*の意味も
同じである。
ーベージコレクタのチェーンについて描かれている。この場合、すべてのKRは
ヘッダエントリ(garbage−previous/garbage−nex
t)を介して互いにチェーン結合されている。リストによりガーベージコレクタ
を実行する際、エントリが(+1)だけ上昇することによりKRのエージがキャ
ッシュ統計(2602)のために記録される。ガーベージコレクタは、KRがF
ILMOリストにまだ連なっているか否かを表すエントリKR統計(2601)
を留意する。その場合にはGCによってKRを消去してはならず、その理由はそ
れがまだコンフィグレーションされていないKWを有しているからである。択一
的にこのテストを、FILMO−nextおよびFILMO−previous
について実行してもよい。
チェーンをガーベージリスト(図26)とは完全に異なるものとすることができ
る。各KRは、FILMO−previousとFILMO−nextを介して
チェーン結合されている。KR統計(2701)のエントリは、個々のKR内に
おいてまだコンフィグレーションされていないそのつど最初のKWを指している
。FILMOの実行は、最初のIDにおいてKRがスタートするように構成され
ている。実行後、実行されていないKWの位置が2701に従って書き込まれる
。KRが完全に実行されてしまっているならば、チェーン結合されたFILMO
リストからそのKRが除去されるが、メモリ内には残される。その後、FILM
Oリストを介して次のKRへのジャンプが行われ、これも同様に処理される。
まず最初にジャンプ命令がおかれており、これによってKRのヘッダ(2801
)の後ろへのジャンプが行われる。各KWにはFILMOビット(2802)が
割り当てられている。この場合、値1(2803)によって、KWがCELによ
り受け入れられ(ACCEPT)、次のスキャン時にはもはや実行されないこと
が表されている。値0(2804)はREJECTを表し、そのKWは次のスキ
ャン時に新たに実行されなければならない。オプションとしてのKR統計(27
01)は、0の付された最初のKWを指している。PUSHRET(2805)
がREJECTを受け取ると、KRの処理はそこで中止され、次のスキャン時に
最初のKWにおいてあるいは2701の指すロケーションにおいて新たに行われ
る。そうでなければ、KRはその終端で2806において規定どおりに終了する
。
ス情報を保護するための回路が示されている。このステータス情報は、CEL(
2901)からレジスタ(2902)へ到達する。FILMOのスキャン前また
はKRのスタート前、CTはイネーブル信号(2903)を2902へ送る。そ
れに応じてステータス情報が引き継がれ、CTへ転送される(2904)。29
04は、2903からの次の発信までそのまま一定に維持される。
たKWを受け入れることを表す ブロック命令(たとえばBLOCK−MOVE) 複数のデータ(ブロック)をメモリ内またはメモリと周辺装置の間でシフトさ
せる命令。この場合、シフトすべきデータの出所アドレス、そのデータの宛先ア
ドレス、ならびにデータブロックの長さが表される。
のための1つの処理単位を成している。1つのデータワードにおいて、プロセッ
サ等のコンポーネントのための命令も純粋なデータもコーディングすることがで
きる。
ポーネント内で使用できるもの。つまりエレメントとは: −あらゆる種類のコンフィグレーション可能なセル −クラスタ −RAMブロック −ロジック −算術ユニット −レジスタ −マルチプレクサ −チップのI/Oピン 結果 ある結果は、使用に適した何らかのやり方でハードウェアにより評価すること
ができ、その評価に対する反応として条件付けられたアクションをトリガさせる
ことができる。
タの制限はない。
)、スリープ・モード(Sleeo-Mode)もセットされる。
領域になること ガーベージコレクタ メモリ管理ユニット。フラグメンテーションを回避する。
スシステム INITIATOR Inter−CTバスへのアクセスをスタートさせるCT ポインタ アドレスまたはデータワードへのポインタ コンフィグレーション可能なエレメント(KE) コンフィグレーション可能なエレメントは、専用の機能のためのコンフィグレ
ーションワードにより形成可能なロジックコンポーネントのユニットを成してい
る。したがってコンフィグレーション可能なエレメントは、あらゆる種類のRA
Mセル、マルチプレクサ、算術論理ユニット、レジスタ、ならびにあらゆる種類
の内部および外部のネットワーク仕様等である。
の形成(再コンフィグレーションを参照)。
ドが含まれている。
ビット列は、コンフィグレーションすべきエレメントに対する有効なセッティン
グを成しており、したがって機能を果たす1つの単位が生じる。
ット。特別にその役割に整合されたマイクロコントローラによって構成されてい
る。
セルであって、コンフィグレーションに従い簡単な論理的または算術的役割で満
たされる。
に割り当てられているか否かが判定される。
ーブルであって、KRがローカルメモリ内に存在しているか否かが判定される。
送られたKWを受け入れられないことを表す信号 REMOVE<ID> 1.IDにより参照されたKRを除去するためのKR内の命令 2.IDにより参照されたKRを消去するため、上位のCTから別個のインタフ
ェースまたはハンドシェーキングを介して下位のCTへ送られる命令 RESET コンポーネントまたはコンピュータシステム全体を規定された基本状態へリセ
ットすること ROOT−CT 外部のコンフィグレーションメモリへのダイレクトなアクセスを行う最高階層
平面のCT ラウンドロビン・アービタ 環状に進行し、最後に調停された信号に常に最下位優先順位を割り当てるアー
ビタ。
データ処理の制御および同期合わせのため別のコンフィグレーション可能なエレ
メントまたは算術ユニットへ転送されるステータス信号。この同期信号を時間的
に遅らせて(記憶して)、同じコンフィグレーション可能なエレメントまたは算
術ユニットへ戻すこともできる。
にコンフィグレーションすること(コンフィグレーション参照)。
依存する。このマシンは複雑な機能を制御するために用いられ、従来技術に相応
する。
トリガの送信を示す図であり、図12c,dは送信方法を示す図である。
を示す図である。
である。
図である。
図である。
するための回路を示す図である。
Claims (25)
- 【請求項1】 2次元またはそれ以上の次元のセルアレイを備えたコンポー
ネント(たとえばFPGA,DPGA,DFP等)をデッドロックなく自動的に
コンフィグレーションおよび再コンフィグレーションする方法において、 コンフィグレーションおよび再コンフィグレーションを制御するユニットは、
割り当てられたコンフィグレーション可能なエレメントの集合を管理し、 該集合は、コンフィグレーション可能なすべてのエレメントの部分集合または
全体集合を成し、前記の管理を、 1.1 割り当てられたコンフィグレーション可能なエレメントの再コンフィグ
レーション要求が前記ユニットへ送られ、 1.2 該ユニットは要求を処理し、ここで、 a)コンフィグレーション可能なエレメントの目下のステータスを保護し、 b)存在する先行の要求におけるまだロードすべきコンフィグレーションデー
タをバッファメモ(FILMO)からコンフィグレーション可能なエレメントへ
可能なかぎりロードし、 c)コンフィグレーションデータが該ユニットのメモリ内に存在しているなら
ば、再コンフィグレーション要求を該ユニットにおけるメモリ内のロードすべき
コンフィグレーションデータのアドレスに変換し、 d)コンフィグレーションデータが該ユニットのメモリ内に存在していないな
らば、上位のユニットにおいて対応するIDをもつコンフィグレーションデータ
を要求してロードし、 1.3 前記ユニットは命令シーケンスのコンフィグレーションデータを処理し
、ここで、 a)コンフィグレーション可能なエレメントがコンフィグレーションデータを
受け入れることができるならば、コンフィグレーション可能なエレメントへ該デ
ータをロードし、 b)コンフィグレーションデータを受け入れることのできないコンフィグレー
ション可能なエレメントのデータは、その時間順序に従いバッファメモリ(FI
LMO)へロードし、 1.4 コンフィグレーションデータが完全に処理されてしまった後、再び新た
に発生する要求を受け入れ、新たな要求が発生するまで、存在する先行の要求に
おいてまだロードしなければならないコンフィグレーションデータを、バッファ
メモリ(FILMO)からコンフィグレーション可能なエレメントへロードする
、 ことにより行うことを特徴とする、 2次元またはそれ以上の次元のセルアレイを備えたコンポーネント(たとえば
FPGA,DPGA,DFP等)をデッドロックなく自動的にコンフィグレーシ
ョンおよび再コンフィグレーションする方法。 - 【請求項2】 コンフィグレーション可能なエレメントに受け入れられなか
ったコンフィグレーションデータを、バッファメモリ(FILMO)の最後に書
き込む、請求項1記載の方法。 - 【請求項3】 コンフィグレーション可能なエレメントに書き込むため、コ
ンフィグレーションデータをバッファメモリの最初から最後まで読み出し、バッ
ファメモリを常に完全にスキャンする、請求項1または2記載の方法。 - 【請求項4】 バッファメモリの最初においてコンフィグレーション可能な
エレメントに書き込まれるコンフィグレーションデータをバッファメモリ内で消
去し、つまり読み出しポインタを書き込まれたデータの後ろにセットする、請求
項1から3のいずれか1項記載の方法。 - 【請求項5】 バッファメモリの中間からコンフィグレーション可能なエレ
メントに書き込まれるコンフィグレーションデータを、 a)バッファメモリ内で消去されたとマーキングし、それにより新たな読み出
しスキャン時には飛び越されるようにするかまたは、 b)バッファメモリ(FILMO)内で消去し、該消去にあたり、まだ存在し
ているコンフィグレーションデータを消去すべきメモリロケーションからバッフ
ァメモリ(FILMO)の最初または最後までシフトし、消去されたメモリロケ
ーションが既存のコンフィグレーションデータにより占有され、それに応じてポ
インタがメモリの最初または最後に合わせて整合されるよう、前記のシフトを行
う、 請求項1から4のいずれか1項記載の方法。 - 【請求項6】 ステートマシン(ガーベージコレクタ)が前記ユニットのメ
モリ(CTR)を、メモリの隙間が生じないように管理し、ここでメモリの隙間
を存在しているコンフィグレーションデータによって、メモリの隙間の最初から
出発してメモリ(CTR)の最後までシフトし、消去されたメモリロケーション
が既存のコンフィグレーションデータによって占有され、それに応じてポインタ
がメモリの最後に合わせて整合され、IDの変換がシフトされたメモリロケーシ
ョンに合わせて整合されるよう、前記のシフトをシフトを行う、請求項1から5
のいずれか1項記載の方法。 - 【請求項7】 ユニットに到来する要求をコンフィグレーションルーチンの
一義的な識別子(ID)に変換し、IDはメモリ(CTR)内のメモリロケーシ
ョンを指す、請求項1から6のいずれか1項記載の方法。 - 【請求項8】 コンフィグレーションデータは別のコンフィグレーションデ
ータのロードに作用する(EXECUTE)、請求項1から7のいずれか1項記
載の方法。 - 【請求項9】 前記ユニットは階層構造的に1つのツリー構造内に配置され
ている、請求項1から8のいずれか1項記載の方法。 - 【請求項10】 前記ツリー構造内で最上位におかれたユニットは、1つの
共通のメモリを上位のコンピュータと分け合い、上位のコンピュータはコンポー
ネント内のシーケンスを上位のユニットとの通信を介して制御する、請求項1か
ら9のいずれか1項記載の方法。 - 【請求項11】 中間および最上位の階層平面に属するユニットは、通常の
要求(トリガ)のほかにIDの要求にも応答し、参照されるコンフィグレーショ
ンルーチンにおけるメモリロケーションのアドレスへの前記IDの変換が行われ
、トリガからIDへの変換が省略される、請求項1から10のいずれか1項記載
の方法。 - 【請求項12】 コンフィグレーションデータは別のユニットへの要求によ
り、該別のユニットにおける他のコンフィグレーションデータの実行に作用を及
ぼし(TRIGGER)、ここで前記要求は、 a)ブロードキャストとして他のすべてのユニットへ送られる、 b)すぐ上に位置するユニットだけに送られる、 c)すぐ下に位置するユニットだけに送られる、 d)アドレッシングされた特定のユニットへ送られる、 請求項1から11のいずれか1項記載の方法。 - 【請求項13】 コンフィグレーション可能なエレメントにおいて受け入れ
られなかった該エレメントの所定のコンフィグレーションデータをバッファメモ
リ(FILMO)にロードし、1つの命令シーケンスにおける後続のコンフィグ
レーションデータ全体もバッファメモリにロードする、請求項1記載の方法。 - 【請求項14】 1つの命令シーケンスにおける先行するすべてのコンフィ
グレーションデータをコンフィグレーション可能なエレメントにロードできたと
きだけ、コンフィグレーション可能なエレメントへ該エレメントの所定のコンフ
ィグレーションデータをロードする、請求項1記載の方法。 - 【請求項15】 請求項13および/または請求項14記載の方法を使用す
ることにより、命令シーケンス内のまえもって定められた一定のコンフィグレー
ション順序を守る、請求項1,13または14記載の方法。 - 【請求項16】 割り当てられたエレメントから到来する再コンフィグレー
ション要求を、対応する命令シーケンスの一義的な識別番号に変換する、請求項
1記載の方法。 - 【請求項17】 識別番号への変換にあたり参照された再コンフィグレーシ
ョン要求を検出せず、参照されていないとマーキングして処理する、請求項1ま
たは16記載の方法。 - 【請求項18】 識別番号の変換をルックアップテーブルを介して行う、請
求項1または16記載の方法。 - 【請求項19】 割り当てられたエレメントから到来する再コンフィグレー
ション要求には一義的な識別番号がすでに設けられている、請求項1記載の方法
。 - 【請求項20】 一義的な識別番号をメモリ内の対応する命令シーケンスの
アドレスに変換する、請求項1または16から19のいずれか1項記載の方法。 - 【請求項21】 有効なアドレスが存在していなければ、対応する命令シー
ケンスをメモリにロードしてアドレス参照を確立する、請求項1または20記載
の方法。 - 【請求項22】 識別番号からアドレスへの変換をルックアップテーブルに
よって行う、請求項1または20記載の方法。 - 【請求項23】 バッファメモリを別個のメモリとしては構成せず、精確に
命令シーケンスと一致させ、コンフィグレーション不可能なコンフィグレーショ
ンワードをそのようなワードとしてマーキングし、該命令シーケンスが再度呼び
出されたときにはマーキングされたコンフィグレーションワードだけを新たに処
理する、請求項1から22のいずれか1項記載の方法。 - 【請求項24】 命令シーケンスをポインタによってチェーン結合し、以前
はコンフィグレーション不可能だったコンフィグレーションワードをコンフィグ
レーション可能なエレメントへロードするときに時間順序が守られるよう、前記
のチェーン結合を行う、請求項1または23記載の方法。 - 【請求項25】 命令シーケンスを完全にポインタによりチェーン結合し、
ガーベージコレクタがチェーンに基づきすべての命令シーケンスにわたって動作
し、除去すべき命令シーケンスを後続の命令シーケンスによって上書きし、ポイ
ンタチェーンから取り除く、請求項1または23記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19807872.2 | 1998-02-25 | ||
DE19807872A DE19807872A1 (de) | 1998-02-25 | 1998-02-25 | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
PCT/DE1999/000505 WO1999044120A2 (de) | 1998-02-25 | 1999-02-25 | VERFAHREN ZUR DEADLOCKFREIEN KONFIGURATION VON DATENFLUSSPROZESSOREN UND BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALER PROGRAMMIERBARER ZELLSTRUKTUR (FPGAs, DPGAs, O. DGL.) |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002505535A true JP2002505535A (ja) | 2002-02-19 |
JP2002505535A5 JP2002505535A5 (ja) | 2006-04-20 |
JP4338308B2 JP4338308B2 (ja) | 2009-10-07 |
Family
ID=7858839
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000533804A Expired - Fee Related JP4338308B2 (ja) | 1998-02-25 | 1999-02-25 | 2次元またはそれ以上の次元のプログラミング可能なセル構造を備えたデータフロープロセッサおよびコンポーネントをデッドロックなくコンフィグレーションする方法 |
JP2000533829A Expired - Fee Related JP4215394B2 (ja) | 1998-02-25 | 1999-02-25 | データフロープロセッサおよび2次元またはそれ以上の次元のプログラミング可能なセル構造をもつコンポーネントにおけるコンフィグレーションデータの階層的キャッシュ方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000533829A Expired - Fee Related JP4215394B2 (ja) | 1998-02-25 | 1999-02-25 | データフロープロセッサおよび2次元またはそれ以上の次元のプログラミング可能なセル構造をもつコンポーネントにおけるコンフィグレーションデータの階層的キャッシュ方法 |
Country Status (10)
Country | Link |
---|---|
US (3) | US6571381B1 (ja) |
EP (4) | EP2293193A1 (ja) |
JP (2) | JP4338308B2 (ja) |
CN (2) | CN1298521A (ja) |
AT (2) | ATE217713T1 (ja) |
AU (2) | AU3326299A (ja) |
CA (2) | CA2321874A1 (ja) |
DE (5) | DE19807872A1 (ja) |
EA (2) | EA003407B1 (ja) |
WO (2) | WO1999044120A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008066875A (ja) * | 2006-09-05 | 2008-03-21 | Fuji Xerox Co Ltd | データ処理装置 |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003025781A2 (de) * | 2001-09-19 | 2003-03-27 | Pact Xpp Technologies Ag | Verfahren zur konfiguration der verbindung zwischen datenverarbeitungszellen |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US6205249B1 (en) | 1998-04-02 | 2001-03-20 | Scott A. Moskowitz | Multiple transform utilization and applications for secure digital watermarking |
US7664263B2 (en) | 1998-03-24 | 2010-02-16 | Moskowitz Scott A | Method for combining transfer functions with predetermined key creation |
US7346472B1 (en) | 2000-09-07 | 2008-03-18 | Blue Spike, Inc. | Method and device for monitoring and analyzing signals |
US7457962B2 (en) | 1996-07-02 | 2008-11-25 | Wistaria Trading, Inc | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
US7177429B2 (en) | 2000-12-07 | 2007-02-13 | Blue Spike, Inc. | System and methods for permitting open access to data objects and for securing data within the data objects |
US7095874B2 (en) | 1996-07-02 | 2006-08-22 | Wistaria Trading, Inc. | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
US7159116B2 (en) | 1999-12-07 | 2007-01-02 | Blue Spike, Inc. | Systems, methods and devices for trusted transactions |
DE19651075A1 (de) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
EP1329816B1 (de) | 1996-12-27 | 2011-06-22 | Richter, Thomas | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704728A1 (de) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US7664264B2 (en) | 1999-03-24 | 2010-02-16 | Blue Spike, Inc. | Utilizing data reduction in steganographic and cryptographic systems |
EP1228440B1 (de) | 1999-06-10 | 2017-04-05 | PACT XPP Technologies AG | Sequenz-partitionierung auf zellstrukturen |
WO2001018628A2 (en) * | 1999-08-04 | 2001-03-15 | Blue Spike, Inc. | A secure personal content server |
DE19946752A1 (de) * | 1999-09-29 | 2001-04-12 | Infineon Technologies Ag | Rekonfigurierbares Gate-Array |
ATE476700T1 (de) | 2000-06-13 | 2010-08-15 | Richter Thomas | Pipeline ct-protokolle und -kommunikation |
US7127615B2 (en) | 2000-09-20 | 2006-10-24 | Blue Spike, Inc. | Security based on subliminal and supraliminal channels for data objects |
US7502920B2 (en) * | 2000-10-03 | 2009-03-10 | Intel Corporation | Hierarchical storage architecture for reconfigurable logic configurations |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
GB2406416A (en) * | 2000-10-31 | 2005-03-30 | Advanced Risc Mach Ltd | Describing an integrated circuit configuration |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
WO2005045692A2 (en) | 2003-08-28 | 2005-05-19 | Pact Xpp Technologies Ag | Data processing device and method |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
AU2002254921A1 (en) | 2001-03-05 | 2002-09-19 | Pact Informationstechnologie Gmbh | Methods and devices for treating and processing data |
US20090300262A1 (en) * | 2001-03-05 | 2009-12-03 | Martin Vorbach | Methods and devices for treating and/or processing data |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7624204B2 (en) * | 2001-03-22 | 2009-11-24 | Nvidia Corporation | Input/output controller node in an adaptable computing environment |
JP2004533691A (ja) | 2001-06-20 | 2004-11-04 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データを処理するための方法 |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) * | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
JP4152319B2 (ja) * | 2001-09-07 | 2008-09-17 | アイピーフレックス株式会社 | データ処理システムおよびその制御方法 |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
DE10147772C1 (de) * | 2001-09-27 | 2003-09-11 | Siemens Ag | Verfahren zum Betreiben eines Übertragungssystems und Übertragungssystem in einem Energieversorgungsnetz |
US7594229B2 (en) * | 2001-10-09 | 2009-09-22 | Nvidia Corp. | Predictive resource allocation in computing systems |
US7644279B2 (en) * | 2001-12-05 | 2010-01-05 | Nvidia Corporation | Consumer product distribution in the embedded system market |
US7577822B2 (en) * | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
US20050132344A1 (en) * | 2002-01-18 | 2005-06-16 | Martin Vorbach | Method of compilation |
WO2003060747A2 (de) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
AU2003214003A1 (en) | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
WO2003081454A2 (de) * | 2002-03-21 | 2003-10-02 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
JP4501914B2 (ja) * | 2002-04-03 | 2010-07-14 | ソニー株式会社 | 集積回路、および集積回路装置 |
US7287275B2 (en) | 2002-04-17 | 2007-10-23 | Moskowitz Scott A | Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth |
US7093255B1 (en) * | 2002-05-31 | 2006-08-15 | Quicksilver Technology, Inc. | Method for estimating cost when placing operations within a modulo scheduler when scheduling for processors with a large number of function units or reconfigurable data paths |
US7620678B1 (en) | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
US7802108B1 (en) | 2002-07-18 | 2010-09-21 | Nvidia Corporation | Secure storage of program code for an embedded system |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US7249352B2 (en) * | 2002-08-22 | 2007-07-24 | International Business Machines Corporation | Apparatus and method for removing elements from a linked list |
JP4388895B2 (ja) | 2002-09-06 | 2009-12-24 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | リコンフィギュアラブルなシーケンサ構造 |
US7502915B2 (en) * | 2002-09-30 | 2009-03-10 | Nvidia Corporation | System and method using embedded microprocessor as a node in an adaptable computing machine |
US8949576B2 (en) * | 2002-11-01 | 2015-02-03 | Nvidia Corporation | Arithmetic node including general digital signal processing functions for an adaptive computing machine |
US7617100B1 (en) | 2003-01-10 | 2009-11-10 | Nvidia Corporation | Method and system for providing an excitation-pattern based audio coding scheme |
JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
US9330060B1 (en) * | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US7565677B1 (en) | 2003-04-21 | 2009-07-21 | Microsoft Corporation | Method and apparatus for managing a data carousel |
US7450600B2 (en) * | 2003-04-21 | 2008-11-11 | Microsoft Corporation | Method and apparatus for managing a data carousel |
US8660182B2 (en) * | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
US7603542B2 (en) * | 2003-06-25 | 2009-10-13 | Nec Corporation | Reconfigurable electric computer, semiconductor integrated circuit and control method, program generation method, and program for creating a logic circuit from an application program |
US8296764B2 (en) * | 2003-08-14 | 2012-10-23 | Nvidia Corporation | Internal synchronization control for adaptive integrated circuitry |
US7484045B2 (en) * | 2004-03-30 | 2009-01-27 | Intel Corporation | Store performance in strongly-ordered microprocessor architecture |
US8130825B2 (en) * | 2004-05-10 | 2012-03-06 | Nvidia Corporation | Processor for video data encoding/decoding |
US8018463B2 (en) | 2004-05-10 | 2011-09-13 | Nvidia Corporation | Processor for video data |
US7278122B2 (en) * | 2004-06-24 | 2007-10-02 | Ftl Systems, Inc. | Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization |
TWI256013B (en) * | 2004-10-12 | 2006-06-01 | Uli Electronics Inc | Sound-effect processing circuit |
EP1849095B1 (en) * | 2005-02-07 | 2013-01-02 | Richter, Thomas | Low latency massive parallel data processing device |
CN100476795C (zh) * | 2005-02-21 | 2009-04-08 | 徐建 | 事件处理机 |
CN101194472B (zh) * | 2005-06-01 | 2012-07-18 | 西门子公司 | 具有独立软件模块的测量或保护设备以及保护系统 |
WO2007062327A2 (en) * | 2005-11-18 | 2007-05-31 | Ideal Industries, Inc. | Releasable wire connector |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
EP1974265A1 (de) | 2006-01-18 | 2008-10-01 | PACT XPP Technologies AG | Hardwaredefinitionsverfahren |
US8724702B1 (en) | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
US7827451B2 (en) * | 2006-05-24 | 2010-11-02 | International Business Machines Corporation | Method, system and program product for establishing decimal floating point operands for facilitating testing of decimal floating point instructions |
US8660380B2 (en) * | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
US7999820B1 (en) | 2006-10-23 | 2011-08-16 | Nvidia Corporation | Methods and systems for reusing memory addresses in a graphics system |
US20080111923A1 (en) * | 2006-11-09 | 2008-05-15 | Scheuermann W James | Processor for video data |
WO2008061161A2 (en) * | 2006-11-14 | 2008-05-22 | Star Bridge Systems, Inc. | Execution of legacy code on hybrid computing platform |
US8169789B1 (en) | 2007-04-10 | 2012-05-01 | Nvidia Corporation | Graphics processing unit stiffening frame |
US7987065B1 (en) | 2007-04-17 | 2011-07-26 | Nvidia Corporation | Automatic quality testing of multimedia rendering by software drivers |
US8572598B1 (en) | 2007-04-18 | 2013-10-29 | Nvidia Corporation | Method and system for upgrading software in a computing device |
US20080291209A1 (en) * | 2007-05-25 | 2008-11-27 | Nvidia Corporation | Encoding Multi-media Signals |
US8756482B2 (en) * | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US8726283B1 (en) | 2007-06-04 | 2014-05-13 | Nvidia Corporation | Deadlock avoidance skid buffer |
US7948500B2 (en) * | 2007-06-07 | 2011-05-24 | Nvidia Corporation | Extrapolation of nonresident mipmap data using resident mipmap data |
US7944453B1 (en) | 2007-06-07 | 2011-05-17 | Nvidia Corporation | Extrapolation texture filtering for nonresident mipmaps |
US9118927B2 (en) * | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
US8873625B2 (en) | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
JP5294304B2 (ja) * | 2008-06-18 | 2013-09-18 | 日本電気株式会社 | 再構成可能電子回路装置 |
US8598990B2 (en) * | 2008-06-30 | 2013-12-03 | Symbol Technologies, Inc. | Delimited read command for efficient data access from radio frequency identification (RFID) tags |
US8666181B2 (en) * | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
WO2010142432A2 (en) | 2009-06-09 | 2010-12-16 | Martin Vorbach | System and method for a cache in a multi-core processor |
JP2016178229A (ja) | 2015-03-20 | 2016-10-06 | 株式会社東芝 | 再構成可能な回路 |
JP6672190B2 (ja) * | 2017-01-16 | 2020-03-25 | 株式会社東芝 | データベースシステムおよびデータ処理方法 |
US11803507B2 (en) | 2018-10-29 | 2023-10-31 | Secturion Systems, Inc. | Data stream protocol field decoding by a systolic array |
Family Cites Families (152)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5936857A (ja) | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
US4739474A (en) | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
US5123109A (en) | 1983-05-31 | 1992-06-16 | Thinking Machines Corporation | Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4870302A (en) | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4761755A (en) | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
US5023775A (en) | 1985-02-14 | 1991-06-11 | Intel Corporation | Software programmable logic array utilizing "and" and "or" gates |
US5247689A (en) | 1985-02-25 | 1993-09-21 | Ewert Alfred P | Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments |
US4706216A (en) | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US5225719A (en) | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
US5015884A (en) | 1985-03-29 | 1991-05-14 | Advanced Micro Devices, Inc. | Multiple array high performance programmable logic device family |
US4967340A (en) | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
EP0221360B1 (en) | 1985-11-04 | 1992-12-30 | International Business Machines Corporation | Digital data message transmission networks and the establishing of communication paths therein |
US4852048A (en) | 1985-12-12 | 1989-07-25 | Itt Corporation | Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion |
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 |
US4860201A (en) * | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US4811214A (en) | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5226122A (en) | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
US5115510A (en) | 1987-10-20 | 1992-05-19 | Sharp Kabushiki Kaisha | Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information |
US4918690A (en) | 1987-11-10 | 1990-04-17 | Echelon Systems Corp. | Network and intelligent cell for providing sensing, bidirectional communications and control |
US5113498A (en) | 1987-11-10 | 1992-05-12 | Echelon Corporation | Input/output section for an intelligent cell which provides sensing, bidirectional communications and control |
US5303172A (en) | 1988-02-16 | 1994-04-12 | Array Microsystems | Pipelined combination and vector signal processor |
US5204935A (en) | 1988-08-19 | 1993-04-20 | Fuji Xerox Co., Ltd. | Programmable fuzzy logic circuits |
US4901268A (en) | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
US5353432A (en) * | 1988-09-09 | 1994-10-04 | Compaq Computer Corporation | Interactive method for configuration of computer system and circuit boards with user specification of system resources and computer resolution of resource conflicts |
EP0363631B1 (de) | 1988-09-22 | 1993-12-15 | Siemens Aktiengesellschaft | Schaltungsanordnung für Fernmeldevermittlungsanlagen, insbesondere PCM-Zeitmultiplex-Fernsprechvermittlungsanlagen mit Zentralkoppelfeld und angeschlossenen Teilkoppelfeldern |
DE68926783T2 (de) | 1988-10-07 | 1996-11-28 | Martin Marietta Corp | Paralleler datenprozessor |
US5014193A (en) | 1988-10-14 | 1991-05-07 | Compaq Computer Corporation | Dynamically configurable portable computer system |
US5136717A (en) | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
US5081375A (en) | 1989-01-19 | 1992-01-14 | National Semiconductor Corp. | Method for operating a multiple page programmable logic device |
GB8906145D0 (en) | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US5203005A (en) | 1989-05-02 | 1993-04-13 | Horst Robert W | Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement |
US5109503A (en) | 1989-05-22 | 1992-04-28 | Ge Fanuc Automation North America, Inc. | Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters |
US5212652A (en) | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5489857A (en) | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
US5233539A (en) | 1989-08-15 | 1993-08-03 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure, input/output structure and configurable logic block |
US5128559A (en) | 1989-09-29 | 1992-07-07 | Sgs-Thomson Microelectronics, Inc. | Logic block for programmable logic devices |
JP2968289B2 (ja) | 1989-11-08 | 1999-10-25 | 株式会社リコー | 中央演算処理装置 |
GB8925721D0 (en) | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
US5522083A (en) | 1989-11-17 | 1996-05-28 | Texas Instruments Incorporated | Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors |
US5125801A (en) | 1990-02-02 | 1992-06-30 | Isco, Inc. | Pumping system |
US5142469A (en) | 1990-03-29 | 1992-08-25 | Ge Fanuc Automation North America, Inc. | Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller |
US5198705A (en) | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5483620A (en) | 1990-05-22 | 1996-01-09 | International Business Machines Corp. | Learning machine synapse processor system apparatus |
US5111079A (en) | 1990-06-29 | 1992-05-05 | Sgs-Thomson Microelectronics, Inc. | Power reduction circuit for programmable logic device |
SE9002558D0 (sv) | 1990-08-02 | 1990-08-02 | Carlstedt Elektronik Ab | Processor |
US5708836A (en) | 1990-11-13 | 1998-01-13 | International Business Machines Corporation | SIMD/MIMD inter-processor communication |
US5734921A (en) | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5765011A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5588152A (en) | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5590345A (en) | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
CA2051222C (en) * | 1990-11-30 | 1998-05-05 | Pradeep S. Sindhu | Consistent packet switched memory bus for shared memory multiprocessors |
US5301344A (en) | 1991-01-29 | 1994-04-05 | Analogic Corporation | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets |
DE59109046D1 (de) | 1991-02-22 | 1998-10-08 | Siemens Ag | Programmierverfahren für einen Logikbaustein |
JPH04290155A (ja) | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 並列データ処理方式 |
JPH04293151A (ja) | 1991-03-20 | 1992-10-16 | Fujitsu Ltd | 並列データ処理方式 |
US5617547A (en) | 1991-03-29 | 1997-04-01 | International Business Machines Corporation | Switch network extension of bus architecture |
JPH04328657A (ja) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
US5389431A (en) | 1991-05-14 | 1995-02-14 | Idemitsu Kosan Co., Ltd. | Nonwoven fabric and process for producing same |
US5551033A (en) * | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
WO1992022029A1 (en) | 1991-05-24 | 1992-12-10 | British Technology Group Usa, Inc. | Optimizing compiler for computers |
US5659797A (en) | 1991-06-24 | 1997-08-19 | U.S. Philips Corporation | Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface |
US5338984A (en) | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
US5260610A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
AU2939892A (en) | 1991-12-06 | 1993-06-28 | Richard S. Norman | Massively-parallel direct output processor array |
US5208491A (en) | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
JP2791243B2 (ja) | 1992-03-13 | 1998-08-27 | 株式会社東芝 | 階層間同期化システムおよびこれを用いた大規模集積回路 |
US5452401A (en) | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
EP0643855A1 (en) | 1992-06-04 | 1995-03-22 | Xilinx, Inc. | Timing driven method for laying out a user's circuit onto a programmable integrated circuit device |
DE4221278C2 (de) | 1992-06-29 | 1996-02-29 | Martin Vorbach | Busgekoppeltes Mehrrechnersystem |
US5475803A (en) | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
US5590348A (en) | 1992-07-28 | 1996-12-31 | International Business Machines Corporation | Status predictor for combined shifter-rotate/merge unit |
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 |
US5497498A (en) | 1992-11-05 | 1996-03-05 | Giga Operations Corporation | Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation |
US5392437A (en) | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US5361373A (en) | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
GB9303084D0 (en) | 1993-02-16 | 1993-03-31 | Inmos Ltd | Programmable logic circuit |
JPH06276086A (ja) | 1993-03-18 | 1994-09-30 | Fuji Xerox Co Ltd | フィールドプログラマブルゲートアレイ |
US5548773A (en) | 1993-03-30 | 1996-08-20 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Digital parallel processor array for optimum path planning |
US5596742A (en) | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5473266A (en) | 1993-04-19 | 1995-12-05 | Altera Corporation | Programmable logic device having fast programmable logic array blocks and a central global interconnect array |
DE4416881C2 (de) | 1993-05-13 | 1998-03-19 | Pact Inf Tech Gmbh | Verfahren zum Betrieb einer Datenverarbeitungseinrichtung |
IL109921A (en) * | 1993-06-24 | 1997-09-30 | Quickturn Design Systems | Method and apparatus for configuring memory circuits |
US5444394A (en) | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
JPH0736858A (ja) | 1993-07-21 | 1995-02-07 | Hitachi Ltd | 信号処理プロセッサ |
US5457644A (en) | 1993-08-20 | 1995-10-10 | Actel Corporation | Field programmable digital signal processing array integrated circuit |
US5440538A (en) | 1993-09-23 | 1995-08-08 | Massachusetts Institute Of Technology | Communication system with redundant links and data bit time multiplexing |
US5455525A (en) | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
US5535406A (en) | 1993-12-29 | 1996-07-09 | Kolchinsky; Alexander | Virtual processor module including a reconfigurable programmable matrix |
DE69519426T2 (de) | 1994-03-22 | 2001-06-21 | Hyperchip Inc | Zellenbasierte fehlertolerante Architektur mit vorteilhafter Verwendung der nicht-zugeteilten redundanten Zellen |
US5561738A (en) | 1994-03-25 | 1996-10-01 | Motorola, Inc. | Data processor for executing a fuzzy logic operation and method therefor |
US5761484A (en) | 1994-04-01 | 1998-06-02 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5430687A (en) | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US5896551A (en) * | 1994-04-15 | 1999-04-20 | Micron Technology, Inc. | Initializing and reprogramming circuitry for state independent memory array burst operations control |
US5426378A (en) | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
JP2671804B2 (ja) | 1994-05-27 | 1997-11-05 | 日本電気株式会社 | 階層型資源管理方法 |
US5532693A (en) | 1994-06-13 | 1996-07-02 | Advanced Hardware Architectures | Adaptive data compression system with systolic string matching logic |
US5513366A (en) | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
EP0707269A1 (en) * | 1994-10-11 | 1996-04-17 | International Business Machines Corporation | Cache coherence network for a multiprocessor data processing system |
US5493239A (en) | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US5532957A (en) | 1995-01-31 | 1996-07-02 | Texas Instruments Incorporated | Field reconfigurable logic/memory array |
US5742180A (en) | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5659785A (en) | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
US5537057A (en) | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5892961A (en) | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US5570040A (en) | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5541530A (en) | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5646544A (en) | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5559450A (en) | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
US5778439A (en) | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5583450A (en) | 1995-08-18 | 1996-12-10 | Xilinx, Inc. | Sequencer for a time multiplexed programmable logic device |
US5784313A (en) * | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5652894A (en) | 1995-09-29 | 1997-07-29 | Intel Corporation | Method and apparatus for providing power saving modes to a pipelined processor |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5936424A (en) | 1996-02-02 | 1999-08-10 | Xilinx, Inc. | High speed bus with tree structure for selecting bus driver |
US5956518A (en) | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US5894565A (en) | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US6023564A (en) * | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
US5838165A (en) | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5828858A (en) | 1996-09-16 | 1998-10-27 | Virginia Tech Intellectual Properties, Inc. | Worm-hole run-time reconfigurable processor field programmable gate array (FPGA) |
US6005410A (en) | 1996-12-05 | 1999-12-21 | International Business Machines Corporation | Interconnect structure between heterogeneous core regions in a programmable array |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654593A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
DE19704044A1 (de) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
DE19704728A1 (de) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
WO1998038958A1 (en) | 1997-03-05 | 1998-09-11 | Massachusetts Institute Of Technology | A reconfigurable footprint mechanism for omnidirectional vehicles |
US5884075A (en) * | 1997-03-10 | 1999-03-16 | Compaq Computer Corporation | Conflict resolution using self-contained virtual devices |
US6125408A (en) * | 1997-03-10 | 2000-09-26 | Compaq Computer Corporation | Resource type prioritization in generating a device configuration |
US6085317A (en) * | 1997-08-15 | 2000-07-04 | Altera Corporation | Reconfigurable computer architecture using programmable logic devices |
US6389379B1 (en) * | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US6321366B1 (en) * | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US6421817B1 (en) * | 1997-05-29 | 2002-07-16 | Xilinx, Inc. | System and method of computation in a programmable logic device using virtual instructions |
US6047115A (en) * | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US6122719A (en) | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming in a network of multiple context processing elements |
US6108760A (en) | 1997-10-31 | 2000-08-22 | Silicon Spice | Method and apparatus for position independent reconfiguration in a network of multiple context processing elements |
US5915123A (en) * | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
US6127908A (en) | 1997-11-17 | 2000-10-03 | Massachusetts Institute Of Technology | Microelectro-mechanical system actuator device and reconfigurable circuits utilizing same |
US6389579B1 (en) | 1998-01-26 | 2002-05-14 | Chameleon Systems | Reconfigurable logic for table lookup |
US6282627B1 (en) | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
US6243808B1 (en) | 1999-03-08 | 2001-06-05 | Chameleon Systems, Inc. | Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups |
US6347346B1 (en) | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
US6370596B1 (en) | 1999-08-03 | 2002-04-09 | Chameleon Systems, Inc. | Logic flag registers for monitoring processing system events |
US6341318B1 (en) | 1999-08-10 | 2002-01-22 | Chameleon Systems, Inc. | DMA data streaming |
US6349346B1 (en) | 1999-09-23 | 2002-02-19 | Chameleon Systems, Inc. | Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit |
US6288566B1 (en) | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
US6311200B1 (en) | 1999-09-23 | 2001-10-30 | Chameleon Systems, Inc. | Reconfigurable program sum of products generator |
US6392912B1 (en) | 2001-01-10 | 2002-05-21 | Chameleon Systems, Inc. | Loading data plane on reconfigurable chip |
-
1998
- 1998-02-25 DE DE19807872A patent/DE19807872A1/de not_active Withdrawn
-
1999
- 1999-02-25 WO PCT/DE1999/000505 patent/WO1999044120A2/de active IP Right Grant
- 1999-02-25 DE DE19980312T patent/DE19980312D2/de not_active Expired - Fee Related
- 1999-02-25 US US09/623,113 patent/US6571381B1/en not_active Expired - Lifetime
- 1999-02-25 AT AT99914430T patent/ATE217713T1/de not_active IP Right Cessation
- 1999-02-25 US US09/623,052 patent/US6480937B1/en not_active Expired - Lifetime
- 1999-02-25 CA CA002321874A patent/CA2321874A1/en not_active Abandoned
- 1999-02-25 EA EA200000880A patent/EA003407B1/ru not_active IP Right Cessation
- 1999-02-25 JP JP2000533804A patent/JP4338308B2/ja not_active Expired - Fee Related
- 1999-02-25 CA CA002321877A patent/CA2321877A1/en not_active Abandoned
- 1999-02-25 AU AU33262/99A patent/AU3326299A/en not_active Abandoned
- 1999-02-25 DE DE59901447T patent/DE59901447D1/de not_active Expired - Lifetime
- 1999-02-25 EP EP10012017A patent/EP2293193A1/de not_active Withdrawn
- 1999-02-25 JP JP2000533829A patent/JP4215394B2/ja not_active Expired - Fee Related
- 1999-02-25 AU AU31371/99A patent/AU3137199A/en not_active Abandoned
- 1999-02-25 EA EA200000879A patent/EA003406B1/ru not_active IP Right Cessation
- 1999-02-25 WO PCT/DE1999/000504 patent/WO1999044147A2/de active IP Right Grant
- 1999-02-25 CN CN99805453A patent/CN1298521A/zh active Pending
- 1999-02-25 CN CN99805452A patent/CN1298520A/zh active Pending
- 1999-02-25 AT AT99913087T patent/ATE217715T1/de not_active IP Right Cessation
- 1999-02-25 EP EP01120095A patent/EP1164474A3/de not_active Withdrawn
- 1999-02-25 DE DE59901446T patent/DE59901446D1/de not_active Expired - Lifetime
- 1999-02-25 DE DE19980309T patent/DE19980309D2/de not_active Expired - Lifetime
- 1999-02-25 EP EP99913087A patent/EP1057117B1/de not_active Expired - Lifetime
- 1999-02-25 EP EP99914430A patent/EP1057102B1/de not_active Expired - Lifetime
-
2002
- 2002-07-09 US US10/191,926 patent/US6687788B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008066875A (ja) * | 2006-09-05 | 2008-03-21 | Fuji Xerox Co Ltd | データ処理装置 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002505535A (ja) | 2次元またはそれ以上の次元のプログラミング可能なセル構造を備えたデータフロープロセッサおよびコンポーネントをデッドロックなくコンフィグレーションする方法 | |
US20230168897A1 (en) | System Having a Hybrid Threading Processor, a Hybrid Threading Fabric Having Configurable Computing Elements, and a Hybrid Interconnection Network | |
KR102407106B1 (ko) | 프로그래밍 가능한 원자적 동작을 하는 메모리 컨트롤러 | |
US6822959B2 (en) | Enhancing performance by pre-fetching and caching data directly in a communication processor's register set | |
US6055605A (en) | Technique for reducing latency of inter-reference ordering using commit signals in a multiprocessor system having shared caches | |
US7099328B2 (en) | Method for automatic resource reservation and communication that facilitates using multiple processing events for a single processing task | |
US9218290B2 (en) | Data caching in a network communications processor architecture | |
US20060206635A1 (en) | DMA engine for protocol processing | |
US7487305B2 (en) | Prioritized bus request scheduling mechanism for processing devices | |
US9183145B2 (en) | Data caching in a network communications processor architecture | |
TWI317482B (en) | Wide-port context cache apparatus, systems and methods, and machine-accessible medium having associated information | |
JP3801919B2 (ja) | パケットルーティング動作におけるプロセッサ用キューイングシステム | |
KR101753913B1 (ko) | 기계 비전 알고리즘을 위한 멀티프로세서 시스템온칩 | |
US20170083257A1 (en) | On-chip Atomic Transaction Engine | |
US6990555B2 (en) | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) | |
US20080109573A1 (en) | RDMA systems and methods for sending commands from a source node to a target node for local execution of commands at the target node | |
KR20020020186A (ko) | 내장형 프로세서 복합체, 네트워크 프로세싱 시스템 및인스트럭션 실행 제어 방법 | |
CN103959261B (zh) | 网络处理器中的多内核互联 | |
CN101218570A (zh) | 在直接存储器存取任务请求之间进行仲裁的装置和方法 | |
JPH0652519B2 (ja) | メモリーサブシステム入力キュー | |
US7466716B2 (en) | Reducing latency in a channel adapter by accelerated I/O control block processing | |
US6801985B1 (en) | Data bus using synchronous fixed latency loop including read address and data busses and write address and data busses | |
US9804959B2 (en) | In-flight packet processing | |
EP1069511B1 (en) | Data Transfer Controller with Plural Ports | |
JP2001195346A (ja) | 並列に転送寸法計算と無効化決定を実行するデータ転送コントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081114 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090216 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090223 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090312 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090319 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090410 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090513 |
|
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: 20090604 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090630 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120710 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |