JP2005510778A - 適応可能な計算エンジン内のスケジューリングのための方法、及びシステム - Google Patents

適応可能な計算エンジン内のスケジューリングのための方法、及びシステム Download PDF

Info

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
Application number
JP2003500679A
Other languages
English (en)
Inventor
ビー. ホーゲノー、ユージーン
Original Assignee
クイックシルバー テクノロジー、インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by クイックシルバー テクノロジー、インコーポレイテッド filed Critical クイックシルバー テクノロジー、インコーポレイテッド
Publication of JP2005510778A publication Critical patent/JP2005510778A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling 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”)」記載に関する適応可能な計算エンジンに関して提供され、その内容は本願に組入れられている。その記載の一部は、本発明の適用の説明を明解にするために以下に再び記載される。
図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の第五分類は、チャネル符号化等をビットレベルの処理を実行することを含み得る。
これらの計算ユニットから最適な性能を作り出すことは、多くの考慮事項に影響する。特に重要な考慮事項は、有用に作業を実行するために、使用可能なハードウェアのリソースをどのようにスケジュールし、割当てるか決定することである。全体的に、本発明は、計算ユニットの使用可能なハードウェアのリソースにより、コンパイル済みのプログラムのアセンブルされた形態をスケジュールすることに関する。スケジュールは、どのように、命令が、どの時間に、更に効率的に、その能力を最大化する手段を使用される使用可能な順番のリソースを使用して、実行されるか指示するスケジューラツールにより提供される。最適化を実行することにより、スケジューラはコントローラのセパレータ部分からの情報を利用する。セパレータは、スケジュールされ得るデータフローグラフ表示する、符号「セグメント」を抽出する。符号セグメントは、「for loops」、「if−then−else」より生成したバリアから生じ、更に、サブルーチンが、プログラム中のバリアを判定するための従来の配列モデルとして周知の、実行されるプログラムより呼び出される。従って、セグメントをスケジュールするために、セパレータは更にセグメントを分割し、どのセグメントがレジスタを共用するかを判定し、及び内部ループ及び、高優先順位としてプラグラマ−が呼び出したセグメントに優先度を与えるなど、優先度を有するセグメントを判定する。セパレータは、各符号セグメントに対してスケジューラを呼出し、事前割当されたレジスタを指示する。
図3は、スケジューラが呼び出された場合のスケジューリング処理による工程に対するブロックダイヤグラムを示している。図示のように、処理は、ハードウェア構成ファイルから生じる、ハードウェアの構成テーブル(工程300)の初期化により開始される。ハードウェアの構成ファイルは、その演算及びI/Oリソース、並びにネットワークリソースに関して単一種類のマトリックスに対する構成を定義する。従って、演算及びI/Oリソースは
各計算ユニット(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. 前記精緻化する工程は、前記スケジュールのコストを表示する値と対応付ける工程と、前記値が許容可能な状態を満たすか否か判定する工程とを備える請求項1に記載の方法。
  3. 許容可能な前記状態は、更にコストがゼロで構成される請求項2に記載の方法。
  4. 前記値が許容可能な状態を満たさない場合、前記方法は、更に無作為な手段により、微増加の変化を通じて、前記スケジュールを変更することにより、変更後のスケジュールを提供する工程を備える請求項2に記載の方法。
  5. 前記無作為な手段により変更する工程は、更に無作為に前記データフローグラフのノードを選択する工程と、前記無作為に選択したノードのために、利用可能な変化を選択する工程とを備える請求項4に記載の方法。
  6. 前記変更後のスケジュールのために、更に、前記値を計算する工程を備える請求項4に記載の方法。
  7. 前記変更後のスケジュールが、前記スケジュールの前記値よりも計算した値が高い場合、前記変更後のスケジュールは使用されない、請求項6に記載の方法。
  8. 前記変更後のスケジュールが、前記スケジュールの前記値よりも計算した値が低い場合、前記方法は、前記スケジュールとして、前記変更後のスケジュールを指示する工程と、前記値が許容可能な状態を満たすか否か判定する工程とを備える請求項6に記載の方法。
  9. 前記方法が許容可能な状態を満たす場合、前記方法は、更に前記実行可能なスケジュールとして、前記スケジュールを指示する工程を備える請求項8に記載の方法。
  10. 実行可能なスケジュールが実現された場合に、スケジュール済みのデータフローグラフとして、前記特定のセグメントを表示する工程を備える請求項9に記載の方法。
  11. 前記複数の計算ユニットを提供する工程が、適応可能な計算機内のマトリックスとして、複数の計算ユニットを提供する工程を備える請求項1に記載の方法。
  12. アセンブルされたプログラムを、適応可能な計算エンジン内で、スケジューリングするためのシステムであって、
    前記アセンブルされたプログラムの特定のセグメントを実行するために、使用可能なハードウェアを提供するための複数の計算ユニットと、
    前記複数の計算ユニットを構成するためのホストコントローラと、
    実行可能なスケジュールが実現されるまで、反復的な手段により,前記特定のセグメントを表示するデータグラフに従って、前記複数の計算ユニットを割当てるスケジュールを
    精緻化することにより、前記特定のセグメントを実行する前記複数の計算ユニットを、スケジュールし、割当てるための手段を備えるシステム。
  13. 前記複数の計算ユニットは、更に、適応可能な計算エンジンのマトリックスを備える請求項12に記載のシステム。
  14. 前記スケジュールし、割当てるための手段は、更に前記スケジュールのコストを表示する値と対応付けし、前記値が許容可能な状態を満たすか否か判定する請求項12に記載のシステム。
  15. 前記許容可能な状態が、更にコストがゼロで構成される請求項12に記載のシステム。
  16. 前記値が許容可能な状態を満たさない場合、スケジューリング及び割当てのための前記手段が、前記変更後のスケジュールを提供するため、無作為な手段による微増加の変化を通じて、前記スケジュールを変更する請求項14に記載のシステム。
  17. スケジューリングと変更のための前記手段は、無作為な手段により、前記データフローグラフのノードを選択することと、無作為による前記選択したノードのために使用可能な変更を選択することとにより、変更する請求項14に記載のシステム。
  18. スケジューリング及び割当てのための前記手段は、前記変更後のスケジュールのための前記値を計算する請求項16に記載のシステム。
  19. 前記変更後のスケジュールが、前記スケジュールの前記値より計算した値が高い場合、前記変更後の値は使用されない請求項18に記載のシステム。
  20. 前記変更後のスケジュールが、前記スケジュールの前記値よりも計算した値が低い場合、スケジューリングと変更のための前記手段は、更に前記スケジュールとして、前記変更後のスケジュールを指示し、前記値が許容可能な状態を満たすか否か判定を繰り返す請求項18に記載のシステム。
  21. 前記値が許容可能な状態を満たす場合、更に、スケジューリングと変更のための前記手段は、実行可能なスケジュールとして、前記スケジュールを命令する請求項20に記載のシステム。
  22. スケジューリングと変更のための前記手段は、更に、実現可能なスケジュールが実現された場合、前記スケジュール済みのデータフローグラフとして特定のセグメントを表示する請求項21に記載のシステム。
  23. 適応可能な計算エンジン内で計算ユニットのマトリックスとして最適なスケジュールを判定する方法であって、
    あるコードセグメントの実行ために、前記マトリックスを利用する選択したスケジュールのために、コストの値の表示を判定する工程と、
    前記値が許容可能なコストレベルに達するまで微増加の工程を通して、無作為に、選択したスケジュールを調整する工程と、
    許容可能なコストレベルが実現された場合、実現可能なスケジュールを指示する工程とを備える方法。
  24. 更に、前記許容可能なコストレベルは、コストがゼロである請求項23に記載の方法。
  25. ノード及びエッジのデータフローグラフとして、前記コードセグメントを表現する工程を、更に備える請求項23に記載の方法。
  26. 調整する前記工程は、更に無作為にデータフローグラフのノードを選択する工程と、選択したスケジュールを調整するための無作為なノードのために使用可能な変化を選択する工程とを備える請求項25に記載の方法。
JP2003500679A 2001-05-31 2002-05-15 適応可能な計算エンジン内のスケジューリングのための方法、及びシステム Pending JP2005510778A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
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) 传送带处理的系统、装置和方法