JP2005510778A - 適応可能な計算エンジン内のスケジューリングのための方法、及びシステム - Google Patents
適応可能な計算エンジン内のスケジューリングのための方法、及びシステム Download PDFInfo
- Publication number
- JP2005510778A JP2005510778A JP2003500679A JP2003500679A JP2005510778A JP 2005510778 A JP2005510778 A JP 2005510778A JP 2003500679 A JP2003500679 A JP 2003500679A JP 2003500679 A JP2003500679 A JP 2003500679A JP 2005510778 A JP2005510778 A JP 2005510778A
- Authority
- JP
- Japan
- Prior art keywords
- schedule
- value
- scheduling
- data flow
- flow graph
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
適応可能な計算エンジンのためのスケジューラの適用が記載される。この適用は、適応可能な計算エンジン上のアセンブル済みのプログラムの特定のセグメントを実行するために使用可能なハードウェアリソースとして、複数の計算ユニットを提供することを含む。特定のセグメントに対するスケジュールは、実現可能なスケジュールが実現されるまで、反復的な手法により、特定のセグメントを表示するデータフローグラフに位置する複数の計算ユニットを割当てることにより、生成される。
Description
本発明は、適切な時期でのプログラム命令のスケジューリングと、処理命令リソースに対する割当てに関する。
電子産業は、組み込みシステム市場の大部分を構成する、大容量の民生用アプリケーションの要求に対応するよう、次々と推進されてきた。組み込みシステムは、最小限の遅延、最小限の電力消費を伴い、さらに、最小限の費用で性能を製造するという課題に直面している。組み込みシステムを採用した民生用アプリケーションの数と種類が増加するにつれ、これらの課題は更により急を要している。組み込みシステムが採用された民生用アプリケーションの例は、携帯電話、携帯情報端末(PDA)、全地球測位(GPS)受信機、デジタルカメラ等の携帯端末である。これらの装置は、性質により、小型、低電力、軽量、機能豊富であることを要求される。
機能豊富な性能を提供する試みにおいて、装置内の利用可能なハードウェアのリソースの効率的な利用を作り出す能力が最重要になってきた。複数の処理要素を採用するほとんど全ての環境において、要素がプロセッサ、メモリ、レジスタファイル等のどんな形態をとったとしても、格別関心を持たれることは、即座に、タスクのために利用可能な各要素の効率的な作動を見出すことである。従って、スケジューリングの最適な手段を識別し、更にリソースを割当てるための適切な意志決定処理は、効率的且つ効果的なシステムを実現するために必要である。本発明はその必要性に対するものである。
適応可能な計算エンジンのための態様を記載した。この様態は、適応可能な計算エンジンでアセンブルされたプログラムの特定のセグメントを実行するために利用可能なハードウェアのリソースとして複数の計算ユニットを提供することを含む。特定のセグメントに対するスケジュールは、実行可能なスケジュールが実現されるまで、反復的な手段により、特定のセグメントを表示するデータフローグラフに一致する複数の計算ユニットを割当てることによって、精緻化される。
本発明は適切な時期でのプログラム命令のスケジュール及び処理リソースに対する命令の割当てに関する。以下の記載は、当業者が本発明を作成し、使用可能なように提示され、特許出願及びその仕様に従い提供される。本開示に記載された好適な実施形態に対する多様な変更、一般的な原理、及び形態は、当業者に容易に理解される。従って、本発明は、示された実施形態により限定されず、本開示に記載された原理及び形態により構成された幅広い範囲を与えられる。
好適な実施形態において、本発明の態様は、本発明の譲渡人に譲渡された、同時継続米国特許出願、号の「ヘテロジニアスで、さらに多様な再構成可能なマトリクスと、固定応用特有の計算要素を有する適応性の計算ユニットとを備える適応性集積回路(“Adaptive Integrated Circuitry with Heterogeneous and Reconfigurable Matrices of Diverse and Adaptive Computational Units Hav
ing Fixed, Application Specific Computaional Elements”)」記載に関する適応可能な計算エンジンに関して提供され、その内容は本願に組入れられている。その記載の一部は、本発明の適用の説明を明解にするために以下に再び記載される。
ing Fixed, Application Specific Computaional Elements”)」記載に関する適応可能な計算エンジンに関して提供され、その内容は本願に組入れられている。その記載の一部は、本発明の適用の説明を明解にするために以下に再び記載される。
図1を参照すると、ブロックダイヤグラムは、集積回路、又は他の追加コンポーネントを有する集積回路の一部として、好適には組入れられている、適応可能な計算(アダプティブコンピューティング)エンジン(ACE)100を示している。好適な実施形態において、以下の詳細な記載により、ACE100は、コントローラ120と、図示されているマトリックス150Aから150N等の、一つ以上の再構成可能なマトリックス150と、マトリックス相互接続ネットワーク110とを含み、更に好適にはメモリ140を含む。
従来技術との大きな違いは、ACE100は、再構成可能なマトリックス150、コントローラ120、メモリ140の間及びこれら内部、並びに他の入力/出力(I/O)機能との間における信号及び他の通信のために、従来の(及び典型的には分離)データ及び命令バスを利用しない。むしろ、下記の詳細のように、構成され、更に再構成されることにより、リアルタイムにより、再構成可能なマトリックス150、コントローラ120、メモリ140の間及び内部に所与の接続を提供し得る、マトリックス相互接続ネットワーク110を利用することにより、データ、制御、及び構成情報は、これらの要素の間及び内部を送信される。
メモリ140は、公知の、所望の又は好適な方法により実施され得、ACE100内部に含まれ得、又は他のIC或いはICの一部に組入れられ得る。好適な実施形態において、メモリ140は、ACE100内に含まれ、及び好ましくは低消費電力のランダムアクセスメモリ(RAM)であるが、更に、フラッシュ、DRAM,SRAM,MRAM、EPROM、E2PROMなどの他の形態のメモリであってもよい。好適な実施形態においては、メモリ140は好適には直接メモリ接続(DMA)エンジンを含むが、これは分離して図示されていない。
コントローラ120は、好適には下記の二種類の機能を実行可能な能力を有する、縮小命令セット(RISC)プロセッサ、コントローラ、他のデバイス、又はICとして実施される。「カーナル」制御と言われる第一制御機能は、カーナルコントローラ(KARC)125と図示され、[マトリックス]制御と言われる第二制御機能は、マトリックスコントローラ(MARC)130として図示される。
多様なマトリックス150は再構成可能で、ヘテロジニアスであり、即ち、一般的に、所望の構成に依存する。再構成可能なマトリックス150Aは、一般的に再構成可能なマトリックス150Bから150Nと異なり、再構成可能なマトリックス150Bは、一般的に再構成可能なマトリックス150A、及び再構成可能なマトリックス150Cから150Nと異なり、再構成可能なマトリックス150Cは、一般的に再構成可能なマトリックス150A、150B、及び再構成可能なマトリックス150Dから150Nと異なる、等である。多様な各再構成可能なマトリックス150は、一般的に、多種多様な計算ユニット(200、図2)を含み、さらにこれは、相互接続ネットワークを通じて、多様な機能を実行する多様な方法により、接続され、構成され、再構成され得る、固定応用特有の計算要素(250、図2)の多種多様な組合せを含む。多様な内部の構成及び再構成に加えて、多様なマトリックス150は、他のマトリックス150に対して、マトリックス相互接続ネットワーク110を通じて、高いレベルにおいて接続され、構成され、再構成され得る。
図2を参照すると、ブロックダイヤグラムは、より詳細に、複数の計算ユニット200(計算ユニット200A〜200Nとして図示される)、及び複数の計算要素250(計算要素250A〜250Zとして図示される)を備える再構成可能なマトリックス150を例示し、好適な種類の計算要素250のさらなる例を提供する。図2に図示するように、幾つかのマトリックス150は、一般的に、マトリックスコントローラ230、複数の計算(又は計算的な)ユニット200、論理上又は概念上の、相互接続ネットワーク110の部分集合又は部分として、データ相互接続ネットワーク240、ブーリアン相互接続ネットワーク210を含む。上記のように、データ相互接続ネットワーク240が、様々な計算ユニット200の間及び内部のデータ入力及び出力のための、再構成可能な相互接続の能力を提供する。一方、ブーリアン相互接続ネットワーク210が、多様な計算ユニット200の間及び内部のブーリアン又は論理的な入力及び出力のための再構成可能な相互接続の能力を提供する。しかし、概念的にはブーリアン及びデータ機能に分割されているが、マトリックス相互接続ネットワーク110のいかなる所与の物理的部分は、いかなる所定の時間においても、ブーリアン相互接続ネットワーク210、データ相互接続ネットワーク240、最低レベルの相互接続220(多様な計算要素250の間及び内部)、他の入力、出力、又は接続機能として作動し得る。
図2の説明を続けると、計算ユニット200内部に含まれるものは、計算的なユニット250A〜250Z(集合的に計算的なユニット250として参照される)として示される、複数の計算的なユニット250と、追加的な相互接続220である。相互接続220は、再構成可能な相互接続の能力と、多様な計算要素250の間及び内部の入力/出力パスとを提供する。上記のように、各多様な計算要素250は、多様な複数の、固定の計算要素250により生じる、所与のタスク又はタスクの範囲を実行するように設計される、専用の適用特異的なハードウェアから構成される。固定計算要素250は、相互に再構成可能に接続され、常に、相互接続220、ブーリアンネットワーク210、マトリックス相互接続ネットワーク110を利用することにより、アルゴリズム又は他の機能を実行し得る。
好適な実施形態において、多様な計算要素250は、多様な再構成可能な計算ユニット200内部に設計され、集合される。乗算等の、特定のアルゴリズム又は機能を実行するように設計される、計算要素250に、さらに他の種類の計算要素250が、利用され得る。図2に図示したように、計算要素250A及び250Bは、メモリとして実施することにより、所与の演算又は処理機能に対して、(より「離れた(リモート)」メモリ140と比較すると)ローカルメモリ要素を提供する。更に、計算要素250I、250J、250K、250Lは、有限状態機械を実施するために、(複数のフリップフロップを使用する等)構成されることにより、(より「リモート」MARC130と比較すると)ローカル処理能力を提供し、特に複雑化した制御処理のために適切である。
好適な実施形態において、マトリックスコントローラ230は、更にいかなる所与のマトリックス150に含まれることにより、よりすぐれた参照の局所性及び、いかなる再構成処理及びいかなる対応データ操作の制御を提供する。例えば、計算要素250の再構成が、いかなる所与の計算ユニット200内で生じた場合でも、マトリックスコントローラ230は、特定の命令(又は構成)が、所与の用途のための反復データ処理を続ける特定の期間に、そのまま保持するように指示され得る。
ACE100の所望の機能に依存して、使用可能な、多様な種類の様々な計算要素250を使用することにより、計算ユニット200は、大まかに分類され得る。計算ユニット200の第一分類は、乗算、加算、有限インパルス応答のフィルタリング等、線形演算を実行する計算要素250を含む。計算ユニット200の第二分類は、離散コサイン変換、三角計算、複合乗算等の、非線形演算を実行する計算要素250を含む。計算ユニット2
00の第三分類は、図2で図示したような計算ユニット200C等の、特に複雑な制御配列、動的なスケジューリング、及び入力/出力の管理に対して有用な、有限状態機械として実施する。第四分類は、計算ユニット200Aなど、メモリ及びメモリ管理を実施し得る。最後に計算ユニット200の第五分類は、チャネル符号化等をビットレベルの処理を実行することを含み得る。
00の第三分類は、図2で図示したような計算ユニット200C等の、特に複雑な制御配列、動的なスケジューリング、及び入力/出力の管理に対して有用な、有限状態機械として実施する。第四分類は、計算ユニット200Aなど、メモリ及びメモリ管理を実施し得る。最後に計算ユニット200の第五分類は、チャネル符号化等をビットレベルの処理を実行することを含み得る。
これらの計算ユニットから最適な性能を作り出すことは、多くの考慮事項に影響する。特に重要な考慮事項は、有用に作業を実行するために、使用可能なハードウェアのリソースをどのようにスケジュールし、割当てるか決定することである。全体的に、本発明は、計算ユニットの使用可能なハードウェアのリソースにより、コンパイル済みのプログラムのアセンブルされた形態をスケジュールすることに関する。スケジュールは、どのように、命令が、どの時間に、更に効率的に、その能力を最大化する手段を使用される使用可能な順番のリソースを使用して、実行されるか指示するスケジューラツールにより提供される。最適化を実行することにより、スケジューラはコントローラのセパレータ部分からの情報を利用する。セパレータは、スケジュールされ得るデータフローグラフ表示する、符号「セグメント」を抽出する。符号セグメントは、「for loops」、「if−then−else」より生成したバリアから生じ、更に、サブルーチンが、プログラム中のバリアを判定するための従来の配列モデルとして周知の、実行されるプログラムより呼び出される。従って、セグメントをスケジュールするために、セパレータは更にセグメントを分割し、どのセグメントがレジスタを共用するかを判定し、及び内部ループ及び、高優先順位としてプラグラマ−が呼び出したセグメントに優先度を与えるなど、優先度を有するセグメントを判定する。セパレータは、各符号セグメントに対してスケジューラを呼出し、事前割当されたレジスタを指示する。
図3は、スケジューラが呼び出された場合のスケジューリング処理による工程に対するブロックダイヤグラムを示している。図示のように、処理は、ハードウェア構成ファイルから生じる、ハードウェアの構成テーブル(工程300)の初期化により開始される。ハードウェアの構成ファイルは、その演算及びI/Oリソース、並びにネットワークリソースに関して単一種類のマトリックスに対する構成を定義する。従って、演算及びI/Oリソースは
各計算ユニット(CU)の数と種類により、各マトリックスに対して、特定される。各CUに対して、そのCU上で実行され得る演算のリストが、特定される。リスト内の各演算に対して、ハードウェアにより要求されるパイプラインの遅延の数、演算が同期的(加算等)又は非同期的(引算等)のどちらであるか、及び非同期演算について、ハードウェアが切替オペランドを制御可能であるか否かに対する仕様が、提供される。各マトリックスに対するネットワークのリソースは、全てのCU出力ポートからCU入力ポートのルートに対するクロスポイントのテーブルにより、特定される。各ルートに対して、ルートの種類(レジスタファイル、ラッチ、無線等)、及びブロッキングリスト(あるルートが使用される場合にブロックされる他のルート等)が、特定される。各レジスタファイルルートの種類に対して、ファイル内のレジスタの数とパイプラインの遅延の数は特定される。
各計算ユニット(CU)の数と種類により、各マトリックスに対して、特定される。各CUに対して、そのCU上で実行され得る演算のリストが、特定される。リスト内の各演算に対して、ハードウェアにより要求されるパイプラインの遅延の数、演算が同期的(加算等)又は非同期的(引算等)のどちらであるか、及び非同期演算について、ハードウェアが切替オペランドを制御可能であるか否かに対する仕様が、提供される。各マトリックスに対するネットワークのリソースは、全てのCU出力ポートからCU入力ポートのルートに対するクロスポイントのテーブルにより、特定される。各ルートに対して、ルートの種類(レジスタファイル、ラッチ、無線等)、及びブロッキングリスト(あるルートが使用される場合にブロックされる他のルート等)が、特定される。各レジスタファイルルートの種類に対して、ファイル内のレジスタの数とパイプラインの遅延の数は特定される。
スケジューラは更に入力データフローグラフ(工程305)を初期化する。上記のように、符号セグメントは、データフローグラフとして、抽出され、更に表示される。データフローグラフはノード及び端(エッジ)の集合により形成される。図4に図示するように、ソースノード400は、一つ以上の宛先ノード405,410に値をブロードキャストし、この場合、各ノードは、原子動作、即ち、加算又はシフト等の、単一演算として、基礎となるハードウェアによりサポートされる演算等を実行する。オペランドは、エッジ420として表示されるパスに沿って、ある出力ポートによるソースノード400からの出力であり、この場合、エッジ420は、ソースノード400の出力エッジとして作動し、宛先ノード405及び410の入力ポートに対する入力エッジへ分岐する。論理的な観点
によれば、ノードはゼロ時間で実行される。ノードは、ノードの全ての入力エッジとして、値を有した場合に、実行/起動(ファイヤ)する。入力エッジ以外のノードは待機することにより、クロックサイクルがゼロにおいて実行する。
によれば、ノードはゼロ時間で実行される。ノードは、ノードの全ての入力エッジとして、値を有した場合に、実行/起動(ファイヤ)する。入力エッジ以外のノードは待機することにより、クロックサイクルがゼロにおいて実行する。
更に、2種類のエッジが、データフローグラフにより表示され得る。状態エッジは、レジスタにより認識され、一クロックサイクルの遅延を有し、定数及びフィードバックパスとして使用され得る。無線エッジは、ゼロクロックサイクルの遅延を有し、現在のクロックサイクル中のみ有効な値を有し、従って、宛先ノードが、ソースノードのように、同一の論理クロックサイクル上で実行するようにする。スケジューラは、論理クロックサイクルを取り、計算リソース及びネットワークリソースの使用可能性に基づく、物理クロックサイクル全体に、論理クロックサイクルを展開する。データフローグラフが正常に一回実行され、二度と使用されないとすると、データフローグラフは‘for−loop’を実行するために何度もインスタンス化され得る。状態エッジは、‘for−loop’が開始前に、初期化される必要があり、その結果は、‘for−loop’が終了時に、状態エッジから‘コピー’され得る。一部の演算は、単一のデータストリームからの入力など、順番に並べる必要がある。データフローグラフは、仮想ブーリアンエッジを含むことにより、ノードを連続的に実行させる。
スケジューラ自身は、入力データフローグラフにより特定したノードのリスト内のどのノードが、単一クロックサイクルと並列に実行され得るか、及びどのノードが次のサイクルに対して遅延されるべきか、判定する。更にスケジューラは、レジスタを割当てることにより、(ノードの遅延実行により要求される)中間値を保持し、状態変数を保持し、及び定数を保持する。更に、スケジューラはレジスタの寿命を解析することにより、レジスタが再使用し得る時を判定し、CUにノードを割当て、ノードが特定のクロックサイクルにより実行されるようスケジュールする。従って、各ノードに対して、演算的コード(OPコード)と、ソースコードに対するポインタ(firFilter.q、55行)と、適切な場合、事前割当CUと、入力エッジのリストと、出力エッジのリストとを含み、各エッジ、ソースノード、宛先ノード、及びエッジが初期値を有するか否かを示すフラグ等の状態フラグ等に対する、幾つかの仕様がある。
再び図3を参照すると、初期化工程に後続して、スケジューラは、‘至急(ASAP)’スケジュール (工程310)、及び‘半コンピュータ化’スケジュール(工程315)を判定することにより、初期スケジュールを判定する。ASAPスケジュールは、データフローグラフを通したスキャンを行い、更に、命令中のデータ依存性の制約条件のみを伴う使用可能な無限の資源がある場合、どのようにグラフが実行されるか判定される。ASAPスケジュールは、最小数の可能なクロックサイクル、最大数の使用され得るCU、最大のレジスタの寿命を含む、情報をグラフに提供する。ASAPスケジュール及び実際に使用可能なハードウェアのリソースの量に基づいて、‘半コンピュータ化’スケジュールが構成される。半コンピュータ化スケジュール及びリソース情報の一部の使用に基づいて、スケジューラに対する初期スケジュールが作成される。
初期スケジュールを使用して、スケジュールに対する「コスト」が評価される(工程320)。本開示の目的のため、コストは、スケジュールの利点を反映する値を参照する。好適な実施形態において、工程325を経て判定されたように、コストがゼロと見出される等、コストが許容可能な状態内にあると見出された場合、次に実現可能なスケジュールが見出される(工程330)。初期スケジュールがコストを要求して生じることが起こり得る場合、反復的な手法が、特定のスケジュールに対してコストをゼロに減少する必要があると期待される。反復的に実行することにより、スケジューラに対する規定の最適化パラメータが使用される。
最適化パラメータは、どのようにスケジューラが最適な解法を探索するか、適切に制御する。最適化パラメータは、解法を見出すために最適化のループを実行する回数を示す、nLoop等のパラメータと、各試行に対して、時間及び空間においてあるノードの移動を試みる各ループに対する試行数を示すnTrialパラメータと、コストを増加し得るが、究極的には収束を獲得することを補助する「劣化」変更において、どの程度の「劣化」変更が許容可能であるか制御する、許容変化確率パラメータ等を含む。これらのパラメータは、スケジュールの最適化中に採用される発見的方法の一部を形成する。発見的方法は、当業者にスケジュールの特定のアルゴリズムを試みること、特定のハードウェアの構成を使用すること、解法に収束する間に、スケジューラがそれ自身をトラップするものを観測することとを含む、試行錯誤の経験に基づく、最適化のガイドラインを参照する。
従って、これらの最適化パラメータは、スケジュールのコストがゼロで無い場合に役割を果たす(工程325が肯定的の場合)。スケジュールのコストがゼロで無い場合、微増加の変化が、あるノードの再スケジュールにより、行われる(工程335)。微増加工程を実行中に、ノードは無作為に選択される。更に、この工程は、ノードのスケジュール及び割当てを行い得る、全ての変化の候補に基づき、これらの変化の候補の一つは無作為に選択される。例えば、変化の候補は、ノードがスケジュールされた場合、クロックサイクルを、又は、ノードが割当てられたCUを変更することを含み得る。次に、コストは再計算される(工程340)。工程345を経由して判定されたように、コストが増加した場合、前回のスケジュールに戻る(工程350)、しかし、コストが増加しなかった場合、変化が供されることにより、変化後のスケジュールを提供する(工程355)。次にこの処理は、工程325に戻ることにより、実現可能なスケジュールが見出されるまで、工程335,340,345,350及び355が適当に繰り返されることにより形成される、最適化のためのループを使用して、コストがゼロか否か判定する。
実現可能なスケジュールが見出されると共に、スケジューラは、スケジュール済みのデータフローグラフを提供する。スケジュール済みのデータフローグラフは、各ノードに対して、割当て済みのCUと、スケジュール済みのクロックサイクルと、入力オペランドが切替えられたか否か示す切替えフラグとの情報を提供する。各エッジに対して、スケジュール済みのデータフローグラフは、ソース及び宛先ノードの間で使用されるルート、及びレジスタの割当てを示す。この手法により、続くプログラムコードの実行は、使用可能なリソースの最適化を利用して行われる。
上記により、多くの変形及び変更が本発明の新規の概念の精神と範囲から離れることなく実行され得る。本開示で例示した特定の方法及び装置に関して限定されないことを意図されることが理解され、推論され得る。当然、全てのこのような変更が、請求項の範囲内に収まるように、添付した請求項が覆うことを意図する。
Claims (26)
- アセンブルされたプログラムを、適応可能な計算エンジン内で、スケジューリングする方法であって、
前記アセンブルされたプログラムの特定のセグメントを実行するために使用可能なハードウェアのリソースとして、複数の計算ユニットを提供する工程と、
データフローグラフとして、前記特定のセグメントを表示する工程と、
実行可能なスケジュールが実現されるまで、反復的な手段により、前記データフローグラフに従って、前記複数の計算ユニットを割当てることにより、スケジュールを精緻化する工程とを備える方法。 - 前記精緻化する工程は、前記スケジュールのコストを表示する値と対応付ける工程と、前記値が許容可能な状態を満たすか否か判定する工程とを備える請求項1に記載の方法。
- 許容可能な前記状態は、更にコストがゼロで構成される請求項2に記載の方法。
- 前記値が許容可能な状態を満たさない場合、前記方法は、更に無作為な手段により、微増加の変化を通じて、前記スケジュールを変更することにより、変更後のスケジュールを提供する工程を備える請求項2に記載の方法。
- 前記無作為な手段により変更する工程は、更に無作為に前記データフローグラフのノードを選択する工程と、前記無作為に選択したノードのために、利用可能な変化を選択する工程とを備える請求項4に記載の方法。
- 前記変更後のスケジュールのために、更に、前記値を計算する工程を備える請求項4に記載の方法。
- 前記変更後のスケジュールが、前記スケジュールの前記値よりも計算した値が高い場合、前記変更後のスケジュールは使用されない、請求項6に記載の方法。
- 前記変更後のスケジュールが、前記スケジュールの前記値よりも計算した値が低い場合、前記方法は、前記スケジュールとして、前記変更後のスケジュールを指示する工程と、前記値が許容可能な状態を満たすか否か判定する工程とを備える請求項6に記載の方法。
- 前記方法が許容可能な状態を満たす場合、前記方法は、更に前記実行可能なスケジュールとして、前記スケジュールを指示する工程を備える請求項8に記載の方法。
- 実行可能なスケジュールが実現された場合に、スケジュール済みのデータフローグラフとして、前記特定のセグメントを表示する工程を備える請求項9に記載の方法。
- 前記複数の計算ユニットを提供する工程が、適応可能な計算機内のマトリックスとして、複数の計算ユニットを提供する工程を備える請求項1に記載の方法。
- アセンブルされたプログラムを、適応可能な計算エンジン内で、スケジューリングするためのシステムであって、
前記アセンブルされたプログラムの特定のセグメントを実行するために、使用可能なハードウェアを提供するための複数の計算ユニットと、
前記複数の計算ユニットを構成するためのホストコントローラと、
実行可能なスケジュールが実現されるまで、反復的な手段により,前記特定のセグメントを表示するデータグラフに従って、前記複数の計算ユニットを割当てるスケジュールを
精緻化することにより、前記特定のセグメントを実行する前記複数の計算ユニットを、スケジュールし、割当てるための手段を備えるシステム。 - 前記複数の計算ユニットは、更に、適応可能な計算エンジンのマトリックスを備える請求項12に記載のシステム。
- 前記スケジュールし、割当てるための手段は、更に前記スケジュールのコストを表示する値と対応付けし、前記値が許容可能な状態を満たすか否か判定する請求項12に記載のシステム。
- 前記許容可能な状態が、更にコストがゼロで構成される請求項12に記載のシステム。
- 前記値が許容可能な状態を満たさない場合、スケジューリング及び割当てのための前記手段が、前記変更後のスケジュールを提供するため、無作為な手段による微増加の変化を通じて、前記スケジュールを変更する請求項14に記載のシステム。
- スケジューリングと変更のための前記手段は、無作為な手段により、前記データフローグラフのノードを選択することと、無作為による前記選択したノードのために使用可能な変更を選択することとにより、変更する請求項14に記載のシステム。
- スケジューリング及び割当てのための前記手段は、前記変更後のスケジュールのための前記値を計算する請求項16に記載のシステム。
- 前記変更後のスケジュールが、前記スケジュールの前記値より計算した値が高い場合、前記変更後の値は使用されない請求項18に記載のシステム。
- 前記変更後のスケジュールが、前記スケジュールの前記値よりも計算した値が低い場合、スケジューリングと変更のための前記手段は、更に前記スケジュールとして、前記変更後のスケジュールを指示し、前記値が許容可能な状態を満たすか否か判定を繰り返す請求項18に記載のシステム。
- 前記値が許容可能な状態を満たす場合、更に、スケジューリングと変更のための前記手段は、実行可能なスケジュールとして、前記スケジュールを命令する請求項20に記載のシステム。
- スケジューリングと変更のための前記手段は、更に、実現可能なスケジュールが実現された場合、前記スケジュール済みのデータフローグラフとして特定のセグメントを表示する請求項21に記載のシステム。
- 適応可能な計算エンジン内で計算ユニットのマトリックスとして最適なスケジュールを判定する方法であって、
あるコードセグメントの実行ために、前記マトリックスを利用する選択したスケジュールのために、コストの値の表示を判定する工程と、
前記値が許容可能なコストレベルに達するまで微増加の工程を通して、無作為に、選択したスケジュールを調整する工程と、
許容可能なコストレベルが実現された場合、実現可能なスケジュールを指示する工程とを備える方法。 - 更に、前記許容可能なコストレベルは、コストがゼロである請求項23に記載の方法。
- ノード及びエッジのデータフローグラフとして、前記コードセグメントを表現する工程を、更に備える請求項23に記載の方法。
- 調整する前記工程は、更に無作為にデータフローグラフのノードを選択する工程と、選択したスケジュールを調整するための無作為なノードのために使用可能な変化を選択する工程とを備える請求項25に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/872,397 US20020184291A1 (en) | 2001-05-31 | 2001-05-31 | Method and system for scheduling in an adaptable computing engine |
PCT/US2002/015639 WO2002097562A2 (en) | 2001-05-31 | 2002-05-15 | Method and system for scheduling in an adaptable computing engine |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005510778A true JP2005510778A (ja) | 2005-04-21 |
Family
ID=25359489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003500679A Pending JP2005510778A (ja) | 2001-05-31 | 2002-05-15 | 適応可能な計算エンジン内のスケジューリングのための方法、及びシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20020184291A1 (ja) |
EP (1) | EP1402348A2 (ja) |
JP (1) | JP2005510778A (ja) |
KR (1) | KR20040012878A (ja) |
AU (1) | AU2002308750A1 (ja) |
TW (1) | TW569135B (ja) |
WO (1) | WO2002097562A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007041781A (ja) * | 2005-08-02 | 2007-02-15 | Fujitsu Ltd | リコンフィグ可能な集積回路装置 |
JP2007094847A (ja) * | 2005-09-29 | 2007-04-12 | Fujitsu Ltd | リコンフィグ可能な集積回路装置 |
JP2013196706A (ja) * | 2012-03-16 | 2013-09-30 | Samsung Electronics Co Ltd | ミニコア基盤の再構成可能プロセッサ、そのためのスケジュール装置及び方法 |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133745A1 (en) | 2002-10-28 | 2004-07-08 | Quicksilver Technology, Inc. | Adaptable datapath for a digital processing system |
US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US7752419B1 (en) | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US7046635B2 (en) | 2001-11-28 | 2006-05-16 | Quicksilver Technology, Inc. | System for authorizing functionality in adaptable hardware devices |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US7215701B2 (en) | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
US7403981B2 (en) * | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
US20040015970A1 (en) * | 2002-03-06 | 2004-01-22 | Scheuermann W. James | Method and system for data flow control of execution nodes of an adaptive computing engine (ACE) |
US7328414B1 (en) | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
US7478031B2 (en) * | 2002-11-07 | 2009-01-13 | Qst Holdings, Llc | Method, system and program for developing and scheduling adaptive integrated circuity and corresponding control or configuration information |
US8276135B2 (en) | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US7225301B2 (en) | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
US6895292B2 (en) * | 2003-04-28 | 2005-05-17 | Palo Alto Research Center Inc. | Predictive and preemptive planning and scheduling for different job priorities system and method |
WO2010001353A1 (en) | 2008-07-02 | 2010-01-07 | Nxp B.V. | A multiprocessor circuit using run-time task scheduling |
US9507640B2 (en) * | 2008-12-16 | 2016-11-29 | International Business Machines Corporation | Multicore processor and method of use that configures core functions based on executing instructions |
EP2526494B1 (en) | 2010-01-21 | 2020-01-15 | SVIRAL, Inc. | A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
US8498957B2 (en) * | 2011-05-26 | 2013-07-30 | Alcetel Lucent | Optimal multi-factor evaluation in computing systems |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
US10402168B2 (en) | 2016-10-01 | 2019-09-03 | Intel Corporation | Low energy consumption mantissa multiplication for floating point multiply-add operations |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10445451B2 (en) * | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10387319B2 (en) * | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10445234B2 (en) * | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
Family Cites Families (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556044B2 (en) * | 2001-09-18 | 2003-04-29 | Altera Corporation | Programmable logic device including multipliers and configurations thereof to reduce resource utilization |
EP0384635B1 (en) * | 1989-02-24 | 1997-08-13 | AT&T Corp. | Adaptive job scheduling for multiprocessing systems |
US5261099A (en) * | 1989-08-24 | 1993-11-09 | International Business Machines Corp. | Synchronous communications scheduler allowing transient computing overloads using a request buffer |
US5768561A (en) * | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
US5802290A (en) * | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
US6192255B1 (en) * | 1992-12-15 | 2001-02-20 | Texas Instruments Incorporated | Communication system and methods for enhanced information transfer |
DE59401478D1 (de) * | 1993-03-15 | 1997-02-13 | Siemens Ag | Verfahren zur maschinellen erzeugung von nebenläufig bearbeitbaren befehlsgruppen aus einem programm für superskalare mikroprozessoren |
US5870427A (en) * | 1993-04-14 | 1999-02-09 | Qualcomm Incorporated | Method for multi-mode handoff using preliminary time alignment of a mobile station operating in analog mode |
US5517667A (en) * | 1993-06-14 | 1996-05-14 | Motorola, Inc. | Neural network that does not require repetitive training |
US5701482A (en) * | 1993-09-03 | 1997-12-23 | Hughes Aircraft Company | Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes |
US5732563A (en) * | 1993-09-22 | 1998-03-31 | Imi Cornelius Inc. | Electronically controlled beverage dispenser |
WO1995009390A1 (en) * | 1993-09-28 | 1995-04-06 | Namco Ltd. | Pipeline processor, clipping processor, three-dimensional simulator and pipeline processing method |
US5862961A (en) * | 1993-10-26 | 1999-01-26 | Imi Cornelius Inc. | Connection device for dispensing fluid from a bottle |
US5721854A (en) * | 1993-11-02 | 1998-02-24 | International Business Machines Corporation | Method and apparatus for dynamic conversion of computer instructions |
US5530435A (en) * | 1993-12-09 | 1996-06-25 | Steelcase Inc. | Utility distribution system for modular furniture and the like |
US5745366A (en) * | 1994-07-14 | 1998-04-28 | Omnicell Technologies, Inc. | Pharmaceutical dispensing device and methods |
US6056194A (en) * | 1995-08-28 | 2000-05-02 | Usa Technologies, Inc. | System and method for networking and controlling vending machines |
FR2724273B1 (fr) * | 1994-09-05 | 1997-01-03 | Sgs Thomson Microelectronics | Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi |
JP3525353B2 (ja) * | 1994-09-28 | 2004-05-10 | 株式会社リコー | デジタル電子スチル・カメラ |
KR0146100B1 (ko) * | 1995-01-07 | 1998-09-15 | 이헌조 | 가전기기의 실사용상태 정보수집 및 분석장치 |
US5742180A (en) * | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5892961A (en) * | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US5696906A (en) * | 1995-03-09 | 1997-12-09 | Continental Cablevision, Inc. | Telecommunicaion user account management system and method |
US5737631A (en) * | 1995-04-05 | 1998-04-07 | Xilinx Inc | Reprogrammable instruction set accelerator |
US6021186A (en) * | 1995-04-17 | 2000-02-01 | Ricoh Company Ltd. | Automatic capture and processing of facsimile transmissions |
US5751295A (en) * | 1995-04-27 | 1998-05-12 | Control Systems, Inc. | Graphics accelerator chip and method |
US5634190A (en) * | 1995-06-06 | 1997-05-27 | Globalstar L.P. | Low earth orbit communication satellite gateway-to-gateway relay system |
US5842004A (en) * | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
US5742821A (en) * | 1995-11-08 | 1998-04-21 | Lucent Technologies Inc. | Multiprocessor scheduling and execution |
EP0778240A1 (en) * | 1995-12-08 | 1997-06-11 | IMI Cornelius Inc. | Electro-mechanical refrigeration system |
US5734582A (en) * | 1995-12-12 | 1998-03-31 | International Business Machines Corporation | Method and system for layout and schematic generation for heterogeneous arrays |
US5706976A (en) * | 1995-12-21 | 1998-01-13 | Purkey; Jay Floyd | Vending machine inventory control device |
US6510510B1 (en) * | 1996-01-25 | 2003-01-21 | Analog Devices, Inc. | Digital signal processor having distributed register file |
US5889816A (en) * | 1996-02-02 | 1999-03-30 | Lucent Technologies, Inc. | Wireless adapter architecture for mobile computing |
US6237029B1 (en) * | 1996-02-26 | 2001-05-22 | Argosystems, Inc. | Method and apparatus for adaptable digital protocol processing |
US5894473A (en) * | 1996-02-29 | 1999-04-13 | Ericsson Inc. | Multiple access communications system and method using code and time division |
US6055314A (en) * | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
US6346824B1 (en) * | 1996-04-09 | 2002-02-12 | Xilinx, Inc. | Dedicated function fabric for use in field programmable gate arrays |
US5903886A (en) * | 1996-04-30 | 1999-05-11 | Smartlynx, Inc. | Hierarchical adaptive state machine for emulating and augmenting software |
US6181981B1 (en) * | 1996-05-15 | 2001-01-30 | Marconi Communications Limited | Apparatus and method for improved vending machine inventory maintenance |
US5907580A (en) * | 1996-06-10 | 1999-05-25 | Morphics Technology, Inc | Method and apparatus for communicating information |
US6175854B1 (en) * | 1996-06-11 | 2001-01-16 | Ameritech Services, Inc. | Computer system architecture and method for multi-user, real-time applications |
US5887174A (en) * | 1996-06-18 | 1999-03-23 | International Business Machines Corporation | System, method, and program product for instruction scheduling in the presence of hardware lookahead accomplished by the rescheduling of idle slots |
US6192388B1 (en) * | 1996-06-20 | 2001-02-20 | Avid Technology, Inc. | Detecting available computers to participate in computationally complex distributed processing problem |
US6360256B1 (en) * | 1996-07-01 | 2002-03-19 | Sun Microsystems, Inc. | Name service for a redundant array of internet servers |
US6023742A (en) * | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
US5890014A (en) * | 1996-08-05 | 1999-03-30 | Micronet Technology, Inc. | System for transparently identifying and matching an input/output profile to optimal input/output device parameters |
JP3123440B2 (ja) * | 1996-08-14 | 2001-01-09 | 日本電気株式会社 | 無線通信システムのチャネル選択方法 |
US6041970A (en) * | 1996-08-30 | 2000-03-28 | Imi Cornelius Inc. | Pre-mix beverage dispensing system and components thereof |
US6226387B1 (en) * | 1996-08-30 | 2001-05-01 | Regents Of The University Of Minnesota | Method and apparatus for scene-based video watermarking |
US6021492A (en) * | 1996-10-09 | 2000-02-01 | Hewlett-Packard Company | Software metering management of remote computing devices |
US6016395A (en) * | 1996-10-18 | 2000-01-18 | Samsung Electronics Co., Ltd. | Programming a vector processor and parallel programming of an asymmetric dual multiprocessor comprised of a vector processor and a risc processor |
US5913172A (en) * | 1996-11-15 | 1999-06-15 | Glenayre Electronics, Inc. | Method and apparatus for reducing phase cancellation in a simulcast paging system |
US6246883B1 (en) * | 1996-12-24 | 2001-06-12 | Lucent Technologies, Inc. | Mobile base station |
US6061580A (en) * | 1997-02-28 | 2000-05-09 | Randice-Lisa Altschul | Disposable wireless telephone and method for call-out only |
US6059840A (en) * | 1997-03-17 | 2000-05-09 | Motorola, Inc. | Automatic scheduling of instructions to reduce code size |
US5912572A (en) * | 1997-03-28 | 1999-06-15 | Cypress Semiconductor Corp. | Synchronizing clock pulse generator for logic derived clock signals with synchronous clock suspension capability for a programmable device |
US6041322A (en) * | 1997-04-18 | 2000-03-21 | Industrial Technology Research Institute | Method and apparatus for processing data in a neural network |
US5860021A (en) * | 1997-04-24 | 1999-01-12 | Klingman; Edwin E. | Single chip microcontroller having down-loadable memory organization supporting "shadow" personality, optimized for bi-directional data transfers over a communication channel |
US6219697B1 (en) * | 1997-05-02 | 2001-04-17 | 3Com Corporation | Method and apparatus for operating the internet protocol over a high-speed serial bus |
US5886537A (en) * | 1997-05-05 | 1999-03-23 | Macias; Nicholas J. | Self-reconfigurable parallel processor made from regularly-connected self-dual code/data processing cells |
US6047115A (en) * | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US5917852A (en) * | 1997-06-11 | 1999-06-29 | L-3 Communications Corporation | Data scrambling system and method and communications system incorporating same |
US6078736A (en) * | 1997-08-28 | 2000-06-20 | Xilinx, Inc. | Method of designing FPGAs for dynamically reconfigurable computing |
IL126148A (en) * | 1997-09-09 | 2004-02-19 | Sanctum Ltd | Method and system for maintaining restricted operating environments for application programs or operating systems |
US6036166A (en) * | 1997-09-25 | 2000-03-14 | Imi Cornelius Inc. | Chamber valve |
US6363411B1 (en) * | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
US6195788B1 (en) * | 1997-10-17 | 2001-02-27 | Altera Corporation | Mapping heterogeneous logic elements in a programmable logic device |
US5873045A (en) * | 1997-10-29 | 1999-02-16 | International Business Machines Corporation | Mobile client computer with radio frequency transceiver |
FR2770659A1 (fr) * | 1997-10-31 | 1999-05-07 | Sgs Thomson Microelectronics | Processeur de traitement perfectionne |
US6185418B1 (en) * | 1997-11-07 | 2001-02-06 | Lucent Technologies Inc. | Adaptive digital radio communication system |
US6046603A (en) * | 1997-12-12 | 2000-04-04 | Xilinx, Inc. | Method and apparatus for controlling the partial reconfiguration of a field programmable gate array |
DE69827589T2 (de) * | 1997-12-17 | 2005-11-03 | Elixent Ltd. | Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen |
JPH11184674A (ja) * | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | レジスタファイル |
US6192070B1 (en) * | 1998-01-02 | 2001-02-20 | Mitsubishi Electric Research Laboratories, Inc. | Universal modem for digital video, audio and data communications |
US6039219A (en) * | 1998-01-20 | 2000-03-21 | Bach; Lanae E. | Liquid dispensing system for a refrigerator |
US6230307B1 (en) * | 1998-01-26 | 2001-05-08 | Xilinx, Inc. | System and method for programming the hardware of field programmable gate arrays (FPGAs) and related reconfiguration resources as if they were software by creating hardware objects |
US6366999B1 (en) * | 1998-01-28 | 2002-04-02 | Bops, Inc. | Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution |
US6378072B1 (en) * | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6076174A (en) * | 1998-02-19 | 2000-06-13 | United States Of America | Scheduling framework for a heterogeneous computer network |
US6360263B1 (en) * | 1998-02-25 | 2002-03-19 | International Business Machines Corporation | Dynamic resource allocation for user management in multi-processor time shared computer systems |
US6073132A (en) * | 1998-03-27 | 2000-06-06 | Lsi Logic Corporation | Priority arbiter with shifting sequential priority scheme |
US6202130B1 (en) * | 1998-04-17 | 2001-03-13 | Motorola, Inc. | Data processing system for processing vector data and method therefor |
US6223222B1 (en) * | 1998-05-14 | 2001-04-24 | 3Com Corporation | Method and system for providing quality-of-service in a data-over-cable system using configuration protocol messaging |
US6175892B1 (en) * | 1998-06-19 | 2001-01-16 | Hitachi America. Ltd. | Registers and methods for accessing registers for use in a single instruction multiple data system |
US6356994B1 (en) * | 1998-07-09 | 2002-03-12 | Bops, Incorporated | Methods and apparatus for instruction addressing in indirect VLIW processors |
US6377983B1 (en) * | 1998-08-31 | 2002-04-23 | International Business Machines Corporation | Method and system for converting expertise based on document usage |
US6381735B1 (en) * | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Dynamic classification of sections of software |
US6360259B1 (en) * | 1998-10-09 | 2002-03-19 | United Technologies Corporation | Method for optimizing communication speed between processors |
US6219780B1 (en) * | 1998-10-27 | 2001-04-17 | International Business Machines Corporation | Circuit arrangement and method of dispatching instructions to multiple execution units |
US6052600A (en) * | 1998-11-23 | 2000-04-18 | Motorola, Inc. | Software programmable radio and method for configuring |
US6563891B1 (en) * | 1998-11-24 | 2003-05-13 | Telefonaktiebolaget L M Ericsson (Publ) | Automatic gain control for slotted mode operation |
US6385751B1 (en) * | 1998-12-30 | 2002-05-07 | Texas Instruments Incorporated | Programmable, reconfigurable DSP implementation of a Reed-Solomon encoder/decoder |
US6510138B1 (en) * | 1999-02-25 | 2003-01-21 | Fairchild Semiconductor Corporation | Network switch with head of line input buffer queue clearing |
US6349394B1 (en) * | 1999-03-31 | 2002-02-19 | International Business Machines Corporation | Performance monitoring in a NUMA computer |
US6347346B1 (en) * | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
KR100358427B1 (ko) * | 1999-07-12 | 2002-10-25 | 한국전자통신연구원 | 씨디엠에이 적응배열안테나 시스템을 위한 효율적 구조의 복조기 |
US6359248B1 (en) * | 1999-08-02 | 2002-03-19 | Xilinx, Inc. | Method for marking packaged integrated circuits |
US6507947B1 (en) * | 1999-08-20 | 2003-01-14 | Hewlett-Packard Company | Programmatic synthesis of processor element arrays |
AU2611201A (en) * | 1999-12-30 | 2001-07-16 | Morphics Technology, Inc. | Method and apparatus to support multi standard, multi service base-stations for wireless voice and data networks |
US6538470B1 (en) * | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
-
2001
- 2001-05-31 US US09/872,397 patent/US20020184291A1/en not_active Abandoned
-
2002
- 2002-05-15 KR KR10-2003-7015689A patent/KR20040012878A/ko not_active Application Discontinuation
- 2002-05-15 WO PCT/US2002/015639 patent/WO2002097562A2/en not_active Application Discontinuation
- 2002-05-15 JP JP2003500679A patent/JP2005510778A/ja active Pending
- 2002-05-15 EP EP02774106A patent/EP1402348A2/en not_active Withdrawn
- 2002-05-15 AU AU2002308750A patent/AU2002308750A1/en not_active Abandoned
- 2002-05-27 TW TW091111148A patent/TW569135B/zh not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007041781A (ja) * | 2005-08-02 | 2007-02-15 | Fujitsu Ltd | リコンフィグ可能な集積回路装置 |
JP4536618B2 (ja) * | 2005-08-02 | 2010-09-01 | 富士通セミコンダクター株式会社 | リコンフィグ可能な集積回路装置 |
JP2007094847A (ja) * | 2005-09-29 | 2007-04-12 | Fujitsu Ltd | リコンフィグ可能な集積回路装置 |
US7734896B2 (en) | 2005-09-29 | 2010-06-08 | Fujitsu Microelectronics Limited | Enhanced processor element structure in a reconfigurable integrated circuit device |
JP4619252B2 (ja) * | 2005-09-29 | 2011-01-26 | 富士通セミコンダクター株式会社 | リコンフィグ可能な集積回路装置 |
JP2013196706A (ja) * | 2012-03-16 | 2013-09-30 | Samsung Electronics Co Ltd | ミニコア基盤の再構成可能プロセッサ、そのためのスケジュール装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2002097562A3 (en) | 2003-09-18 |
WO2002097562A2 (en) | 2002-12-05 |
KR20040012878A (ko) | 2004-02-11 |
TW569135B (en) | 2004-01-01 |
US20020184291A1 (en) | 2002-12-05 |
AU2002308750A1 (en) | 2002-12-09 |
EP1402348A2 (en) | 2004-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005510778A (ja) | 適応可能な計算エンジン内のスケジューリングのための方法、及びシステム | |
US11048661B2 (en) | Systems and methods for stream-dataflow acceleration wherein a delay is implemented so as to equalize arrival times of data packets at a destination functional unit | |
Wigley et al. | The development of an operating system for reconfigurable computing | |
Khandekar et al. | COLA: Optimizing stream processing applications via graph partitioning | |
US20030023830A1 (en) | Method and system for encoding instructions for a VLIW that reduces instruction memory requirements | |
US20160202999A1 (en) | A Computing Platform, A Reconfigurable Hardware Device And A Method for Simultaneously Executing Processes On Dynamically Reconfigurable Hardware Device, Such As An FPGA, As Well As Instruction Set Processors, Such As A CPU, And A Related Computer Readable Medium | |
EP3908920B1 (en) | Optimizing hardware fifo instructions | |
KR20200091789A (ko) | Gpu 연산의 동시 실행을 위한 플랫폼 | |
Bousselmi et al. | Energy efficient partitioning and scheduling approach for scientific workflows in the cloud | |
Marconi | Online scheduling and placement of hardware tasks with multiple variants on dynamically reconfigurable field-programmable gate arrays | |
Kwok et al. | Computation and energy efficient image processing in wireless sensor networks based on reconfigurable computing | |
EP4040295A1 (en) | Memory bandwidth allocation for multi-tenant fpga cloud infrastructures | |
Tang et al. | Hardware/software partitioning of embedded system-on-chip applications | |
Rakhmatov et al. | Hardware-software bipartitioning for dynamically reconfigurable systems | |
KR101445794B1 (ko) | 소프트웨어 기반 무선통신 터미널을 위한 프로그래밍 가능한 장치 | |
Bauer et al. | PATS: a performance aware task scheduler for runtime reconfigurable processors | |
Chen et al. | Configuration-sensitive process scheduling for FPGA-based computing platforms | |
Ghiasi et al. | Optimal reconfiguration sequence management | |
Choudhary et al. | FPGA-based adaptive task scheduler for real time embedded systems | |
Zhu et al. | A multi-application mapping case study for NoC-based MPSoCs | |
Aridor et al. | Open job management architecture for the Blue Gene/L supercomputer | |
Diessel et al. | On scheduling dynamic FPGA reconfigurations | |
US11442794B1 (en) | Event assignment for synchronization of concurrent execution engines | |
Nollet et al. | Exploiting Hierarchical Configuration to Improve Run-Time MPSoC Task Assignment. | |
CN114730173A (zh) | 传送带处理的系统、装置和方法 |