JP2014059905A - 再構成可能なプログラマブルロジックデバイスコンピュータシステム - Google Patents

再構成可能なプログラマブルロジックデバイスコンピュータシステム Download PDF

Info

Publication number
JP2014059905A
JP2014059905A JP2013246866A JP2013246866A JP2014059905A JP 2014059905 A JP2014059905 A JP 2014059905A JP 2013246866 A JP2013246866 A JP 2013246866A JP 2013246866 A JP2013246866 A JP 2013246866A JP 2014059905 A JP2014059905 A JP 2014059905A
Authority
JP
Japan
Prior art keywords
programmable logic
resources
functions
hardware
function
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
JP2013246866A
Other languages
English (en)
Inventor
Stephen J Smith
スミス,スティーブン,ジェイ
Timothy J Southgate
サウスゲート,ティモシー,ジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altera Corp
Original Assignee
Altera Corp
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 Altera Corp filed Critical Altera Corp
Publication of JP2014059905A publication Critical patent/JP2014059905A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Abstract

【課題】プログラマブルロジックに基づいた再構成可能なコンピュータシステムを提供する。
【解決手段】アプリケーションを作成するためにシステム設計言語を使用する。アプリケーションは、ソフトウェア要素とプログラマブルロジックリソース要素とに自動的に分割される。システムリソースをスケジューリングおよび配分するために仮想コンピュータオペレーティングシステムが使用される仮想コンピュータオペレーティングシステムは、システム内のプログラマブルロジックリソースの能力を増加させるための仮想ロジックマネージャを含んでいる。
【選択図】図1

Description

この発明は、プログラマブルロジックデバイス技術に係り、より具体的には、システムの能力を高められるように最適化して与えられたアプリケーションを実施するようプログラマブルロジックが再構成されるコンピュータシステムに関する。
従来のコンピュータ構造における唯一のプログラマブル要素はマイクロプロセッサである。マイクロプロセッサは特定のアプリケーションに対応してカスタマイズすることができない固定的な命令セットをもって構成されている。マイクロプロセッサは、アプリケーションのいずれのソフトウェア実行機能をも仮想的に実行させることができる点において柔軟である。しかしながら、所与の機能の実行速度は、マイクロプロセッサ上において実行すると一般的に低下する。これは、ソフトウェアで実行される機能はマイクロプロセッサの一般命令セットを使用するにはかなり複雑なものであるためである。
従来のコンピュータ構造によれば、ソフトウェアは通常限られた範囲のプラットフォーム上でのみ動作する。アプリケーション技術者が所与のマイクロプロセッサ上で動作するようにアプリケーションを作成することを決定した場合、アプリケーション技術者が使用することができる命令セットはマイクロプロセッサ上に永久的に常駐するものの1つとして限定される。従ってアプリケーション技術者は、アプリケーションがハードウェアプラットフォームに適しているか、またはソフトウェアプラットフォームに適しているかを選択する必要がある。ハードウェアに基づいたシステムが非柔軟かつ非効率的であるためしばしばソフトウェアプラットフォームが好まれるが、多くの場合において、マイクロプロセッサ上に常駐する一般命令セットが特定のタイプのアプリケーションソフトウェアに対して不充分な性能をもたらす。例えば、グラフィックスを多用するアプリケーションは、通常例えば3D処理等のアプリケーションのうちの特定のグラフィック要素に特別に適したハードウェアを必要とする。ハードウェアプラットフォーム用のプログラミングに関する複雑性を回避するため技術者はソフトウェアに頼るが、これによってアプリケーションの速度が大幅に低下する危険性がある。
最近、プログラマブルロジックデバイスに基づいた再構成可能なコンピュータの概念が提案された。この種のシステムは、例えば、欧州特許第A−0801351号公報(インタナショナルコンピュータリミテッド)に記載されており、これは再構成可能な回路を有する内蔵周辺機器コントローラを開示している。この種のシステムは、さらに国際特許出願第WO94/10627号公報(ギガオペレーションズコーポレーション)にも記載されており、これは再構成可能な回路を有する分散プロセッシングユニットを開示している。“プログラマブルハードウェアデバイスソフトウェアアクセレーション”(エドワード・M・D氏等によるIEE会報:コンピュータおよびデジタル技術、GB、IEE、1996年第143刊第1号、第55−63頁、XP000554820号、ISSN:1350−2387)および米国特許第5684984号公報には、ハードウェアに基づいた機能を実行するために使用されるプログラマブルハードウェアが開示されている。再構成可能なコンピュータの目的は、カスタマイズすることができるハードウェアを使用して並行性ならびに高速実行時間を提供することによって従来のコンピュータより性能を向上させることである。プログラマブルロジックデバイスを使用することによって柔軟性を増加させることができ、これはこの種のプログラマブルロジックデバイスがデバイス内に新しい構成データをロードすることによって再構成し得るためである。このことにより再構成可能なコンピュータにおいて、従来のコンピュータのような単一の命令セットではなく多数の命令セットを付加することができる。コンピュータが再構成可能なロジックを使用する場合、一定数のハードウェアを使用してより多くの機能を実行することができる。
欧州特許第A−0801351号公報 国際特許出願第WO94/10627号公報 米国特許第5684984号公報
"プログラマブルハードウェアデバイスソフトウェアアクセレーション"(エドワード・M・D氏等によるIEE会報:コンピュータおよびデジタル技術、GB、IEE、1996年第143刊第1号、第55−63頁、XP000554820号、ISSN:1350−2387)
本発明の目的は、与えられたアプリケーションを処理するコンピュータの能力を最適化するよう再プログラムすることができるプログラマブルロジックデバイスに基づいた、改善された再構成可能なコンピュータを提供することである。
本発明のこれらおよびその他の対象は、本発明の原理に従ってプログラマブルロジックに基づいた再構成可能なコンピュータシステムを提供することによって解決される。
再構成可能なコンピュータのアプリケーションを開発しているアプリケーション技術者は、そのコンピュータ上でどのリソースが使用可能であるかについて配慮する必要はない。単一のプログラマブルロジックデバイスのサイズまたはプログラマブルロジックデバイスの集合に基づいたハードウェア集約が使用される。アプリケーションがコンパイルされると、ハードウェア内で実行されるアプリケーションの機能は、プログラマブルロジックデバイスと同じサイズかまたはこれより小さいサイズの、構成データを含むブロックに分割される。
再構成可能なコンピュータシステムは、モジュール式かつ拡張可能である。より多くのハードウェアリソースが追加された場合、システムの性能が向上する。増強された性能の利点を得るためにアプリケーションを再度コンパイルする必要はない。
ある実行時間中において使用可能なリソースに基づいて、どの手段が動作するかを選択するために仮想のコンピュータオペレーティングシステムを使用する。アプリケーション技術者が高レベルの言語を使用してプログラマブルロジックリソースを使用する再構成可能なコンピュータシステム上で実行することができるアプリケーションのためのハードウェア手段およびソフトウェア手段の両方を開発することを可能にするソフトウェア開発ツールを提供することができる。これらのツールは関数からなるシステム設計言語によって書かれた特性を自動的に分割しソフトウェア機能またはハードウェア機能に割り当てる分割手段を備えることができる。ソフトウェア機能およびハードウェア機能は、スレッドならびにプログラマブルロジックリソース構成データにそれぞれコンパイルすることができる。これらのスレッドならびに構成データは、アプリケーションを実行するために実行時間中において仮想コンピュータオペレーティングシステムによって使用することができる。
再構成可能なコンピュータシステムは、アプリケーション技術者に対して1つのアプリケーションのための性能要件を特定するメカニズムを提供する。例えば、グラフィックスアプリケーションは、単位時間にディスプレイスクリーン上に描写される多辺形の数に応じて特定の処理量を必要とする。秒当りに百万の多辺形を描写する必要がある場合、例えば、アプリケーション技術者は、仮想コンピュータオペレーティングシステムに対して、多辺形を描写する機能が1μs以内のその動作を完了させる必要があることを特定することができる。
仮想コンピュータオペレーティングシステムは、このシステムを使用して動作するアプリケーションの性能(ならびに個々の機能)をモニタする能力と、特定のアプリケーションおよび個々の機能に対してより多くのリソースを再配分して性能要件を満たすことを保持する能力を備えている。仮想コンピュータオペレーティングシステムは、特定の機能を実行する際においてシステムの能力に従ってこの機能をソフトウェアバージョンで実行するかまたはハードウェアバージョンで実行するかを決定することもできる。例えば、別の集中的な演算を要するアプリケーションを実行している際に多辺形描写機能を同時に実行することがスケジュールされた場合、仮想コンピュータオペレーティングシステムによって実行される動的な構成が、いつリソースの配分を決定するか、およびソフトウェアバージョンの多辺形描写機能を使用するかまたはハードウェアバージョンの多辺形描写機能を使用するかを考慮することができる。
プログラマブルロジックリソースの中からアプリケーションの機能を配分する仮想コンピュータオペレーティングシステムが提供される。仮想コンピュータオペレーティングシステムは、仮想コンピュータ核サービス要素を含むことができる。仮想コンピュータ核サービス要素は仮想ロジックリソースマネージャを含む多様なリソースマネージャを含むことができる。
実行時間中、特定の再構成可能なコンピュータシステムが仮想ロジック能力を伴う仮想オペレーティングシステムを有する場合、仮想ロジックマネージャはプログラマブルロジックリソースと二次記憶デバイスとの間におけるプログラマブルロジック構成データおよびアプリケーション状態情報の交換を制御することができる。このことによって限られたリソースしか持たない再構成可能なコンピュータシステムにおいて複雑なアプリケーションを実行することが可能になる。
本発明のその他の詳細、特徴、ならびに種々の利点は、添付図面を参照しながら以下に記述する好適な実施例の詳細な説明によって明らかにされる。
本発明に係る説明的な再構成可能なコンピュータシステムを示すブロック線図である。 本発明に係る再構成可能なコンピュータのブートプロセス内に含まれる代表的なステップを示すフローチャートである。 本発明に係る再構成可能なコンピュータの代表的なオペレーティングシステム核サービスを示すブロック線図である。 本発明に係る再構成可能なコンピュータ内へ機能をロードするために仮想コンピュータオペレーティングシステムによって使用される代表的なステップのフローチャートである。 本発明に従って、仮想コンピュータオペレーティングシステムがユニットハードウェアに対して設計されたアプリケーションをどのように使用し、コンピュータシステム内の1つまたは複数のプログラマブルロジックリソースをアプリケーションの機能に対してどのように配分するかを示す概略図である。 本発明に従ってプログラマブルロジックリソースがどのように複数の機能に対して配分されるかを示す概略図である。 本発明に係る再構成可能なコンピュータの代表的なソフトウェア開発の流れを示すブロック線図である。 本発明に係る再構成可能なコンピュータのための単純化された代表的なソフトウェア開発の流れを示すブロック線図である。
図1において、本発明に係る再構成可能なコンピュータシステムの全体的な構造が概略図として示されている。再構成可能なコンピュータシステム5内のハードウェアリソースは、プログラマブルロジックデバイス内で実行可能な中央演算装置(CPU)16、実在のマイクロプロセッサ、またはこれらの要素の組み合わせと、メモリ12と、入力/出力(I/O)デバイス18(プログラマブルロジックデバイスまたはその他の適宜なデバイスに基づくものとし得る)と、相互接続ネットワーク22とからなる。
プログラマブルロジックデバイスは、通常プログラマブルロジック領域、ルーティング構造、入力および出力領域、メモリ領域、ならびに構成記憶装置(すなわちプログラマブルロジック領域内のロジック要素を構成するために使用される構成データを記憶するためのメモリ)のアレーを備えている。プログラマブルロジックデバイスによって実行されるロジック機能は、構成記憶装置内に蓄積された構成データ、構成記憶装置からロジック領域、ルーティング構造、入力および出力領域、ならびにメモリ領域への接続によって決定される。構成記憶装置は、例えば、実質的に無限回書き込むことができるスタティックRAMに基づいたものとすることができる。他方、消去可能なプログラマブルROMデバイス等のプログラマブルロジックデバイスの外部のデバイスを、プログラマブルロジックデバイスの内部スタティックRAMに代えて構成記憶装置として使用することもできる。必要に応じて、実質的に回数を書き込むことができるその他のいずれかのメモリまたは記録デバイスを使用することができる。従って、プログラマブルロジックデバイスによって実行されるロジック機能は、無数回にわたって回路内で変更することができる。好適なプログラマブルロジックデバイスの一例として、カリフォルニア州サンノゼ市アルテラ社によるフレックスEPF10K50デバイスが挙げられる。この型式のプログラマブルロジックデバイスは単に例示的なものである。必要に応じて、その他の適宜な型式のプログラマブルロジックデバイスをシステム5内において使用することができる。必要であれば、プログラマブルロジックデバイスは1つまたは複数の構成記憶装置の部分的な再構成を補助することができる。
不揮発RAM10は、初期化情報を記憶するために使用することができる。再構成可能なコンピュータシステムに初めて電源が付加された際、コンピュータを初期化するために初期化情報を使用することができる。このプロセスは“ブートストラッピング”として知られている。
演算に使用されるメモリデバイスは、RAMデバイス12とすることができる。これは、スタティックまたはダイナミック集積回路メモリ技術によって形成することができる。スタティックまたはダイナミックメモリ技術の選択は、このメモリによって実行されることを必要とする演算機能に基づいて決定することができる。スタティックRAMデバイスはダイナミックRAMに比べて高速なアクセス時間を有するが、記録セルごとにより多くのトランジスタを使用する上に、同等な記録密度でもより高い製造コストを要する。所定の演算機能に対する好適なメモリ技術の決定において、アクセス時間、密度、ならびにコストの組み合わせが要素となる。
相互接続ネットワーク22は、それぞれの物理的リソースを結合するワイヤ(例えば、バス)として形成される。相互接続ネットワーク技術は、位相幾何を動的に再構成することができるプログラマブルロジックデバイスまたはプログラマブル相互接続デバイスを使用して形成することができる。この技術は、特定の演算機能に対して最適化される。考えられるネットワーク位相幾何の例としては、メッシュ、全または部分クロスバー、小集団、ハイパーキューブ、分散または共有メモリ階層構造等が挙げられる。
I/O接続20は、再構成可能な演算アレーをキーボード、光学ディスプレイ、等の外部機器、ハードディスクドライブ等の大量記憶装置に結合するか、または他の再構成可能または再構成不可能なコンピュータシステムを含んだコンピュータネットワークに接続するワイヤによって形成することができる。
必要であれば、プログラマブルロジックデバイスは、ロジックデバイス14に対する組み合わせあるいは連続ロジック機能か、マイクロプロセッサ16に対するマイクロプロセッサ機能か、またはI/Oインタフェース18に対するI/O機能を実行するように使用することができる。これらの機能のうちのどれか、例えばマイクロプロセッサ機能は、必要に応じて固定されたハードウェアによって実行することができる。
この種のシステムの拡張は、より多くのプログラマブルロジックデバイスの追加を含むことができる。システムにプログラマブルロジックデバイスを追加するに従って、処理能力が増加する。拡張性およびモジュール性によってプログラマブルロジックデバイスリソースの増加が可能となり、結果としてシステム能力の増加がもたらされる。
メモリ12は、アプリケーションならびにシステムプログラムおよびデータを実行するためのメモリ階層構造を補助する。アプリケーションおよびシステムプログラムは、マイクロプロセッサコードおよびプログラマブルロジックデバイス構成データを含むことができる。
プログラマブルロジックデバイスは、アプリケーションの継続中にのみ必要とされるアプリケーション固有のI/Oデバイス18を形成するよう構成することができる。この種のデバイスは、イーザネットプロトコル、スモールコンピュータシステムズインタフェース(SCSI)プロトコル、周辺機器相互接続(PCI)プロトコル、ビデオドライバプロトコル等のプロトコルを含むことができる。
相互接続ネットワーク22は以下の機能を提供するために使用することができ、それらは:プログラマブルロジックデバイス構成バス、アプリケーションメモリバス、およびI/Oバスである。各バスは独立して機能することができる。プログラマブルロジック構成バスは、システム内において各プログラマブルロジックデバイスを形成するために使用することができる。プログラマブルロジックデバイス構成アドレッシングモードに従って、このデータはプログラマブルロジックデバイスのグループまたは個別のプログラマブルロジックデバイスに同時に伝送することができる。アプリケーションメモリバスは、システムがプログラマブルロジックデバイスのアレーとともに共有または分散メモリシステムを形成することを可能にする。I/Oバスはプログラマブルロジックデバイスを外部のI/Oデバイスに接続することを可能にする。
不揮発メモリデバイス10内の情報は、図2に示されているようにシステムをブートストラップするために使用される。ステップ30においてシステムに電源が投入されると、演算に使用されるプログラマブルロジックデバイスおよびRAM12はいずれも前回の構成からの情報を維持しない。不揮発メモリ10内に記録された情報の目的は、ブートストラップマネージャをロードすることである(ステップ)ブートストラップマネージャは、続いてステップ34においてベーシックI/Oサービス(BIOS)をロードし、ステップ36においてパワーオン自己検査診断プログラムをロードおよび実行し、ステップ38においてオペレーティングシステム核をロードおよび実行することができる。
不揮発メモリ10内に記録されたブートストラップインストラクションは、ステップ36中において演算リソース上で実行することができる。このリソースは専用マイクロプロセッサ、マイクロプロセッサとして構成されたプログラマブルロジックデバイス、マイクロプロセッサと部分的にマイクロプロセッサとして構成されたプログラマブルロジックデバイスとの組み合わせ、またはプログラマブルロジックデバイスロジック回路とすることができる。リソースが専用のマイクロプロセッサである場合、不揮発メモリ10は単にブートストラッププロセスを実行するために必要とされるマイクロプロセッサインストラクションのみを含んでいる。プログラマブルロジックデバイスをマイクロプロセッサとして構成する必要がある場合、不揮発メモリ10はプログラマブルロジックデバイス構成データならびにマイクロプロセッサインストラクションを含むことができる。その他の場合、不揮発メモリ10はロジック回路のためのプログラマブルロジックデバイス構成データを含むことができ、これはブートストラッププロセスを実行するために追加的なプログラムインストラクション必要とするものかあるいは必要としないもののいずれでも可能である。
最終的なブートストラッププロセスはオペレーティングシステム核をロードすることである。このローディングプロセスはプログラマブルロジックデバイスを使用して実行されるマイクロプロセッサのインストラクションのローディングを含むか、またはプログラマブルロジックデバイスに対する構成のローディングを含むことができる。いずれの構成(マイクロプロセッサおよびインストラクション、またはインストラクションを伴っているかあるいは伴わないロジック回路)を使用しても、オペレーティングシステムは仮想コンピュータオペレーティングシステム(VC−OS)と呼称することができる。
仮想コンピュータオペレーティングシステムの典型的な要素が図3に示されている。図3の仮想コンピュータオペレーティングシステム40は、従来のオペレーティングシステムがランタイムマネージメントに関して提供していた基本的なサービスを提供することができる。加えて、仮想コンピュータオペレーティングシステムは、プログラマブルロジックの使用に関してシステム5のサービスを補助する。
仮想コンピュータオペレーティングシステムは、与えられたアプリケーションの機能が実行されることを保証するランタイムマネージメントツールを含んでいる。例えば、ランタイムマネージメント機能は、システム設計レベルで特定された機能およびタイミング条件が満たされていることを保証する。
例えば、マイクロソフトウィンドウズ(登録商標)NT等の従来のオペレーティングシステムは、従来のコンピュータシステムにおいてランタイム中に使用可能なリソース上において実行される機能をスケジューリングする。この種の従来のコンピュータシステム内のリソースは、アプリケーションプログラムの要求ならびにリソースの使用可能性に基づいてランタイム中に動的に再配分される。各リソースは、物理メモリの再配分を行う仮想メモリマネージャ等のリソースマネージャを備える。従来のオペレーティングシステムにおける最も一般的なリソースマネージャは、ファイルシステムマネージャ、グラフィックスマネージャ、I/Oマネージャ(大容量記録アクセスまたはキーボードあるいはマウス等のシンプルI/Oデバイスを操作するため)、ネットワークマネージャ、および仮想メモリマネージャである。
本発明によれば、仮想コンピュータオペレーティングシステム40は、仮想コンピュータオペレーティングシステム40とこの仮想コンピュータオペレーティングシステム40のために書かれたアプリケーションとの間のインタフェースを提供するアプリケーションプログラムインタフェース44を備えている。仮想コンピュータオペレーティングシステム40は、さらにリソースマネージメント機能を提供する核サービス42を含んでいる。システム内の各サービスはリソースマネージャを有することができる。例えば、ファイルリソースはファイルシステムマネージャ46によって操作することができる。グラフィックスリソースはグラフィックスマネージャ47によって操作し、I/OリソースはI/Oマネージャ48によって操作し、ネットワークリソースはネットワークマネージャマネージャ50によって操作し、仮想メモリリソースは仮想メモリマネージャ52によって操作することができる。再構成可能なコンピュータシステムは仮想ロジックを有することができ、これは仮想ロジックマネージャ54によって管理することができ、この仮想ロジックマネージャはアプリケーションによって形成されシステム5内の限られたプログラマブルロジックリソースにアクセスする要求を処理するものである。
従来のオペレーティングシステムは、RAMの制限を克服するために仮想メモリに依存する。仮想メモリは、ランタイムデータを一時的に保存するために二次記憶装置(ハードディスク等)を使用することができ、そうでない場合このデータは一次記憶装置(RAM等)に記録される。アプリケーションによって機能およびデータが要求されると、オペレーティングシステムは要求されたデータがその時点で仮想メモリ内に記録されているかどうかを判断し、もし記録されている場合、そのデータを物理メモリ内にある他のアプリケーションのためのデータをその時点で仮想メモリから要求されている機能およびデータに置き換える。
しかしながら、本発明に係る仮想ロジックマネージャは、プログラマブルロジックデバイスのランタイム配分を行うことができる。仮想ロジックマネージャは、多様なアプリケーションが要求するプログラマブルロジック内で実行される機能のランタイム要件を満たすものである。1つのアプリケーションは、要求を処理するために存在するプログラマブルロジックデバイスを使用して処理される以上の機能を要求することがあり得る。従って、仮想ロジックマネージャは、プログラマブルロジック内で実行される機能のランタイム交換を管理する必要がある。
従来の仮想メモリマネージャは、比較的少ない量の物理メモリを比較的大量の論理メモリとしてアプリケーションに対して提供していた。これは、物理メモリ内外のメモリページを二次記憶装置(通常はローカルハードディスク)に対して(またはここから)ランタイム交換することによって達成される。本発明に係る仮想ロジックマネージャ54を使用すれば、比較的少ない量の物理プログラマブルロジックデバイスをアプリケーションに対しては比較的大量の論理プログラマブルロジックデバイスとして提供することができる。これは、仮想ロジックマネージャ54を使用してプログラマブルロジックデバイス構成メモリ(すなわち、構成ストア)内外のプログラマブルロジックデバイス構成データおよび状態情報を二次記憶装置(通常ローカルハードディスクドライブ)に対して(またはここから)ランタイム交換することを実施することによって達成される。
図4には、システム内で実行する機能をロードするプロセスが示されている。このプロセスは、機能が実行される時間に使用される最適の機能手段(ソフトウェアまたはハードウェア)を選択するために使用される。
使用可能なシステムのハードウェア処理バンド幅ならびに使用可能なシステムのソフトウェア処理バンド幅がステップ150において決定される。ソフトウェア処理バンド幅は、システム内の全てのマイクロプロセッサが休止中で機能を実行していない時間の総量から算出される。ハードウェア処理バンド幅は、システム内の非使用のプログラマブルロジックリソースと使用されているプログラマブルロジックリソースがデータを処理していない時間の総量とに基づいて計算される。
機能のために必要とされるハードウェア処理バンド幅ならびに機能のために必要とされるソフトウェア処理バンド幅は、ステップ152において決定される。これらの要求は、アプリケーション技術者によって絶対要求として特定されるか、または前記の実行される機能に並んで付加された追加的な小機能を実行する際のシステムの性能に基づいて特定することができる。この小機能はステップ152で実施することができるとともにシステムの性能を測定することができる。
ステップ154において、要求されるソフトウェア処理バンド幅がシステム内で使用可能なバンド幅より小さいかどうかが判断される。要求されるソフトウェア処理バンド幅がシステム内で使用可能なバンド幅よりも小さい場合、ソフトウェア手段がシステムにロードされステップ160においてマイクロプロセッサ上で実行される。ソフトウェア手段がハードウェア手段よりも少ないシステムリソースを使用するため、この選択がなされる。
ソフトウェア処理バンド幅が適正でない場合、ステップ156においてハードウェア手段が評価される。使用可能なハードウェアバンド幅が許容可能である場合、ステップ162において機能がシステム上にロードされてプログラマブルロジックリソース上で直接的に実行される。ステップ156において、使用可能なハードウェアのバンド幅が許容不可能であると判断され、さらにステップ158において性能要求が“ハード”でありつまり性能要求を満たす必要がある場合、ユーザに対してエラーメッセージが提供されステップ164において機能(およびその親機能)のロードが中止される。要求が“ハード”でない場合、ステップ162において機能がロードされ、低減された性能レベルで実行される。
いずれかの機能手段がシステム内にロードされた後(どの機能が優先度が低いものでありこの優先度の低い機能を必要に応じて除去するかどうかを決定するために通常の手段を使用し)、システム内の機能の性能がステップ166でモニタされる。バンド幅を処理するシステムの機能に対して与えられた優先度は、要求されるバンド幅と実現される実際のバンド幅との差に比例する。
優先度マネージメントプロセスによってリソース配分に対して新しい機能がスケジューリングされると、仮想コンピュータオペレーティングシステムのリソース再配分ルーチンによって実施される第1のステップは、機能の拘束を満たすことができるリソースが存在するかどうかを判断することである。このようなリソースが存在する場合、このリソースが前記機能に対して配分される。存在しない場合、物理リソースのプール内に存在する最適の候補が適宜な代替法則を使用して検索される。例えば、あるアプリケーションの所定の機能を実行するために再構成することが可能なプログラマブルロジックリソースが不充分であると判断された場合、仮想コンピュータオペレーティングシステムは再構成が不要なハードウェアリソース(例えば、専用マイクロプロセッサまたはCPUとして動作するよう構成されたプログラマブルロジックデバイス)を使用して所与の機能を実行し得ることを保証するために使用することができる。仮想コンピュータオペレーティングシステムは、マイクロプロセッサ上で機能を実行する前に適正なソフトウェアバージョンの機能がアプリケーション技術者によって提供されているかどうかを保証することができる。
機能の拘束に従って、適宜な置換法則が使用され、これはファーストインファーストアウト、ラストリーセントリユースド、またはラストフリークェントリユースドを含んでいる。ランタイムマネージメントシステムがリアルタイムインタラプト処理プロセス等の優先度の高い機能を検出した際、極端なケースとして1番目の最適なリソースのオンデマンド交換があり得る。
リソース配分およびスケジューリングに関連して、従来のコンピュータ構造のオペレーティングシステムによるランタイムリソースマネージメントは、CPUスケジューリングのための種々の技術を含んでいる。ワンバイワンベーシック上のコンピュータシステム操作アプリケーション(ならびに同じアプリケーション下の個々の機能)を有することは極めて非効率的となり得る。与えられたいずれかの時間に処理される与えられたいずれかの時間に処理されるタスクに応じて、いくつかのリソースが拘束され、一方その他のリソースはアイドルとなり得る。結果は極めて遅いコンピュータとなる。これに対応して、従来のオペレーティングシステムの殆どにおいては徐々にCPUスケジューリングのコンセプトが適用されるようになってきた。
従来のコンピュータシステムにおけるCPUスケジューリングは、リソースを配分しシステムによって処理される全ての機能の順序がスケジューリングされる。CPUスケジューリングの目的は、安定したマルチタスク環境を形成することである。この環境は、優先度、I/O遅延による機能停止、または各機能を処理する順序を決定付けるために使用されるその他の要因等の各要因の組み合わせに基づいてCPUリソースをアルゴリズム的に配分することによって形成される。例えば、マイクロプロセッサがユーザの入力を待つ点に到達している機能を処理する場合、従来のオペレーティングシステムのCPUスケジューリング特性は、ユーザの入力が可能になるまでの間マイクロプロセッサのリソース(同様に他の使用可能なシステムリソース)を使用する可能性のある他の機能を提供することができる。ユーザの入力が可能になった際、最初の機能がシステム内で休止状態になっていた際に放棄していたリソースを再び使用する。
本発明によれば、1つまたは複数のマイクロプロセッサ上においてプログラマブルロジックデバイスが完全または部分的に構成される再構成可能なコンピュータシステムにおいて、スケジューリングシステムの機能は従来のCPUスケジューリングシステムと比べていくらか異なった作用をもたらす。従来のCPUスケジューリングはマイクロプロセッサリソースを各機能に対して配分し、プログラマブルロジックスケジューリングはプログラマブルロジックリソース(そのうちのいくつかとすることもできる)を各機能に配分する。プログラマブルロジックリソースはマイクロプロセッサとしてプログラムする必要はないが、所要の機能、例えばI/O機能、グラフィックス機能、ネットワーク機能等を実行するようにプログラムすることができる。再構成可能なコンピュータのオペレーティングシステム内のこの種の特徴の目的は、複数グループのプログラマブルロジックリソース中において多様なタスクを同時に処理するタスクを管理することを補助することである。他方、従来のコンピュータのオペレーティングシステムにおいて、CPUスケジューリング能力の第一の目的は、与えられたある時点において能動である種々のタスクによって高い処理能力が要求されるために生じるマイクロプロセッサの停止を削減することである。
再構成可能なコンピュータに対する典型的なスケジューリングは、プログラマブルロジックリソースを各アプリケーション機能に配分することができるタイムマルチプレクシングを使用することができる。このことは、予め設定された時間間隔における異なった機能間の切換えを含むことができる。重要な例外は、リアルタイムインタラプトとI/O機能である。
再構成可能なコンピュータシステムにおいてリソースが休止状態になりすぐに配分される機能が1つもスケジューリングされていない場合、機能先取りが、機能が要求される前にプログラマブルリソースを構成データとともにロードし得るようにするためのプログラマブルロジックリソース構成オーバヘッドに関連する時間コストを最小化することを補助する。
プログラマブルロジックデバイスをロードすることに関連する時間コストは、現在市販されているプログラマブルロジックデバイスにおいてミリ秒の単位である。必要であれば、プログラマブルロジックデバイスを構成するために必要とされる時間は、増加されたパイプラインおよび並列性をデバイス上において使用することによって縮小(例えば、ナノ秒の単位まで)することができる。
従って、一群のプログラマブルロジックリソースに基づいた再構成可能なコンピュータシステムは、システム内で使用することができるプログラマブルロジックの数が比較的大きいため、比較的大きな処理能力を備えると言う利点を有する。再構成可能なシステムにおいて、より多くの処理能力が必要とされる場合、単に相互接続ネットワーク上により多くのプログラマブルロジックデバイスを追加すれば良い。システムにより多くのプログラマブルロジックデバイスを追加した後アプリケーションを再度コンパイルする必要はなく、これはランタイムマネージャが新しいハードウェアを自動的に検出してランタイム実行能力の中に組み込むからである。これらのデバイスの全てが仮想コンピュータオペレーティングシステムを使用して制御および監視される。
ソフトウェア設計者によって設定された最小および最大機能実行目標は、リソース配分に対してスケジューリングされた次の機能を決定することができる。加えて、その時点で実行している機能の優先度もスケジューリングされる次の機能の決定に使用される。
本発明の別の特徴は、プログラマブルロジックデバイスのデフラグメント能力である。従来のコンピュータにおいて、ハードドライブ等の記憶装置はドライブ上のリソースが継続的に配分および消去されることによって生じる問題を防止するためにデフラグメントすることが可能であった。従来のハードドライブ上の消去されたスペースは、連続する大きなスペースを必要とする機能に対して再配分するために充分なスペースを有してないことがあり得る。本発明によれば、単一のプログラマブルロジックデバイスの部分構成をデフラグメントするためにプログラマブルロジックデフラグメンテーションを使用することができる。これによって、予め配分された多数の小さなプログラマブルロジックの領域を使用可能なプログラマブルロジックのより大きな稼動領域を形成するために再配分することが可能になる。このことは、プログラマブルロジックの多様な部分への特定の各スイッチに対して再構成データを再配分して所要のプログラマブルロジックデバイス機能を提供することを含んでいる。
本発明の別の特徴は、ソフトウェア開発に関するものである。ソフトウェア開発プロセスは、演算システムを使用する重要な部分である。複雑な機能を実行するとともにユーザが演算システムと相互交信するための複雑なインタフェースを形成することが重要である。最も一般的な開発ツールは、JAVA(登録商標)、C++、ADA、LISP、COBOL、VISUAL BACIC等の高級プログラム言語を含んでいる。ソフトウェア開発プロセス中における一貫性を保持するため、再構成可能なコンピュータシステムに対する高級言語は、従来の高級プログラミング言語の原理を使用して設計されている。
アプリケーションは、通常複数の機能を備えている。例えば、グラフィックを多用するアプリケーションは、ある機能をレンダリングサーフェイスのために使用し、その他の機能を光線追跡のために使用することができる。仮想コンピュータオペレーティングシステムは、プログラマブルロジックデバイスリソースをアプリケーションの機能に対して配分する。
ユニットハードウェア概念が使用される。すなわち、アプリケーションエンジニアは、そのアプリケーションを実行するいずれかの特定のシステムがいくつのプログラマブルロジックデバイスリソースを有しているかを考慮する必要はない。むしろ、少なくとも1つのプログラマブルロジックデバイスの最小リソース要求に従って、全てのリソースを使用可能とする概念が形成される。
このことは、図5Aに示されている。ハードウェア機能181はユニットハードウェア概念(すなわち、このアプリケーションに対するハードウェア描写言語は、ハードウェア182のユニットとして示されているプログラマブルロジックリソースまたはプログラマブルロジックリソースの集合体内で実行される構成データのブロックにコンパイルされると仮定する)に基づいてHDLコンパイラ180によってコンパイルされる。ユニットハードウェア182は、例えば、単一のプログラマブルロジックデバイスまたは単一のプログラマブルロジックデバイスの一部分とすることができる。HDLコンパイラ180は、構成データを伴ったVC−OS184を構成データのブロックの形式で提供し、ここで各ブロックはユニットハードウェア182に適合するものである。VC−OS184は必要に応じてプログラマブルロジックデバイスリソースを前記のブロック(これらが機能を形成し、さらにこれがアプリケーションを形成する)に配分する。
図5Aの例において、VC−OS184はアプリケーションのブロック1に配分されたプログラマブルロジックリソース186を有し、アプリケーションのブロック2に配分されたプログラマブルロジックリソース188を有し、・・・アプリケーションのブロックnに配分されたプログラマブルロジックリソース190を有する。ロジックリソース180,188,および190等のロジックリソースは、それぞれ単一のプログラマブルロジックデバイスに基づくか、それぞれプログラマブルロジックデバイスの一部分に基づくか、それぞれそのようなデバイス構成組み合わせに基づくか、またはそれぞれ他の好適なロジックリソースに基づくものとすることができる。配分されるリソースはシステム毎あるいはあるシステムにおいてもランタイム毎に変化することができるが、HDLコンパイラ180は不変のユニットハードウェア概念に基づいてアプリケーションをコンパイルすることができる。仮想ロジックマネージャは、特定のプログラマブルロジックリソースが限られている場合、その中の構成データのブロックを交換することができる。さらに、図5Bに示されているように、VC−OSは1つのプログラマブルロジックデバイスリソースを複数の構成データのブロックに配分することができる。
図6には、高レベルの設計仕様またはアルゴリズムのコンパイル、ならびに再構成可能なハードウェア構造上での実行が詳細に示されている。仕様(アルゴリズム)70、拘束のセット74、およびリソースライブラリ76がソフトウェア開発ツール192上に入力として提供される。仕様は、システム設計言語で書くことができる。仕様において、アプリケーション技術者はシステム設計言語によって提供されるツールを使用してアプリケーションを書くだけで良い。アプリケーション技術者は、システム設計言語によって作成された機能のソフトウェアバージョンならびにハードウェアバージョンを考慮する必要はない。分割手段72は仕様70をソフトウェア機能78およびハードウェア機能80に分割することができる。その結果、各機能は完全にソフトウェア上(例えばマイクロプロセッサ)で実行するか、完全にハードウェア上(例えばプログラマブルロジックデバイス)で実行するか、またはそれらの組み合わせとすることができる。それぞれの機能的分割部分に対してソフトウェア操作およびハードウェア操作の両方が形成され、これは所要の部分手段を実行する決定がランタイムが開始するまで遅延する可能性があるからである。システム設計言語プロファイラは、システム設計言語コード上で実行され重要なパスの分析および区分の割当てを行うこともできる。
分割操作は拘束74を考慮に入れることもできる。2つの一般型式の拘束74が存在する。第1に、システム設計言語仕様70の機能的限界は、機能間のタイミング関係を含むことができ、機能間に並行または連続的拘束が存在することも可能である。第2に、コスト関数はリソースライブラリ76内のハードウェアリソースを使用することに関連付けられる。リソースライブラリ76は、使用可能な各ハードウェアリソースついての詳細を含んでいる(一般的にこれらはマイクロプロセッサ、メモリ、およびプログラマブルロジックデバイス)。これらは、計算速度、待ち時間、ならびにリソースの応答時間あるいは時間のコスト関数(通常はソフトウェア手段に対する)、エリア(通常はハードウェア手段に対する)、または通信(時間およびエリアの両方にまたがる)等を含むことができる。
適合しなければならない拘束を“ハード”拘束と定義することができる。ハード拘束の1例は、リアルタイムI/Oまたはインタラプトプロセスを含む拘束である。“ソフト”拘束と定義される拘束もあり得る。ソフト拘束の1例は、スプレッドシート内の等差関数に関連付けられた拘束である。これらの等差関数が特定の時間内に実行されることは重要でなく、これらの機能が高速に実行されることと、アプリケーションの使用が簡便になることが重要である。
リソースライブラリ76は、各種のリソースの特性を記している。例えば、マイクロプロセッサは特定のインストラクションセットおよびデータパス幅等の特性を有し、メモリは特定のデータパス幅を有し、プログラマブルロジックデバイスは特定のロジック容量ならびにI/Oカウントを有することができる。分割ツール72はリソースライブラリ76ならびに拘束74の特性を考慮するが、あるシステム内に各リソースがそれぞれ何個存在するかは考慮することができない。ランタイムリソースマネージャは、実行中のアプリケーションからの要求に従って機能分割を使用可能なハードウェアリソースにマッピングする必要がある。
一度システム設計言語仕様70がソフトウェア機能78とハードウェア機能80とに分割されると、これらの機能の間においてパラメータの伝送が可能になるようインタフェース機能86が形成される。これらのインタフェース機能86は、メモリマッピングされたハードウェア機能80にパラメータを書き込むソフトウェア手段とするか、またはプログラマブルロジックデバイス内にハードディスクインタフェース回路を構成してファイルシステムの形成を可能にすることを含むことができる。
全ての機能について、ハードウェアならびにソフトウェア手段の両方を備える必要はない。アプリケーション技術者は、ソフトウェアおよびハードウェアの全ての機能を作成することができ、両方を作成できる人とどちらか一方のみを作成できる人が存在する。しかしながら、最適な組み合わせの機能ならびに手段を選択する際にオペレーティングシステムに柔軟性を与えるために両方のバージョンを有することが好適である。
各機能に分割した後、ソフトウェアおよびハードウェア内の各要素は物理的実行技術にマッピングする必要がある。このことは、高級言語コンパイラ82を使用してソフトウェア機能78をスレッド88にコンパイルし、ハードウェア表記言語コンパイラ84を使用してハードウェア機能80を構成パターン90にコンパイルすることを含んでいる。このステージにおいて、例えば一定増加(等差および幾何学の両方)、強度低下(例えば、a+a=2*a、これは考え得るコスト積算段を除去する)、パイプライン化、またはリソース共有等の多様な最適化および節約技術が適用される。
実行可能な最後のコードイメージ(ソフトウェアおよびハードウェア機能ならびにパラメータアドレスを有するリンカ92)は、主機能と動的に連結された機能を有し、それらの全てがソフトウェアまたはハードウェア、あるいはその両方において実行される。システム設計言語分割手段72によって形成されるこれらの機能および拘束74は、仮想コンピュータオペレーティングシステム94への入力である。
他方、図7に示されているように、仕様をソフトウェア要素およびハードウェア要素に分割することによって、ユーザは設計の流れを単純化することができる。この流れは、機能的タイミング拘束はまったく受け継がない(これはシステム設計言語によって書かれてないためである)。必要であれば、拘束を考慮に入れることも可能である。制御の主的な流れはマイクロプロセッサ130(またはマイクロプロセッサとしてプログラムされたプログラマブルロジックデバイス)上において実行され、これはプログラマブルロジック132上に存在する機能を呼び出すことができる。
マイクロプロセッサ130またはプログラマブルロジックデバイス132のいずれかを目的とするアルゴリズム機能は、プログラマブルロジック132内で実行される機能のために、高級言語114によって書くことができ、高級言語−ハードウェア記載言語コンパイラ118を使用してハードウェア記述言語に変換される。ソフトウェア機能とハードウェア機能との間でパラメータを伝送するためのインタフェース機能112も高級言語で書かれている。
高級言語コンパイラ116は、ソフトウェア機能110をコンパイルするとともに、リンカ124内のハードウェア記載言語コンパイラ120からの構成データ126に連結されているスレッド122を形成する。これらの機能は、その後仮想コンピュータオペレーティングシステム128によって使用される。
使用可能なリソース、アプリケーション技術者のインストラクション、および拘束に基づいて、仮想コンピュータオペレーティングシステムは、特定のアプリケーションを実行するためにソフトウェア手段、ハードウェア手段、またはその組み合わせのいずれかを使用するかを決定することができる(実行時間中またはソフトウェア実行中のいずれか)。このことにより、ソフトウェア上で実行するためにより適した機能がソフトウェアを使用して実行されるため極めて効果的な処理が可能となり、他方プログラマブルロジックハードウェアデバイスに適した機能はプログラマブルロジックリソースを使用して実行される。
以上の記述は単に本発明の原理を説明する目的のものであり、当業者においては本発明の視点および概念を逸脱することなく種々の設計変更をなし得ることが理解されよう。

Claims (1)

  1. 本願明細書に記載された発明。
JP2013246866A 1998-11-20 2013-11-29 再構成可能なプログラマブルロジックデバイスコンピュータシステム Pending JP2014059905A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10914298P 1998-11-20 1998-11-20
US60/109,142 1998-11-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012163797A Division JP2012252712A (ja) 1998-11-20 2012-07-24 再構成可能なプログラマブルロジックデバイスコンピュータシステム

Publications (1)

Publication Number Publication Date
JP2014059905A true JP2014059905A (ja) 2014-04-03

Family

ID=22326022

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2000584401A Pending JP2002530780A (ja) 1998-11-20 1999-11-19 再構成可能なプログラマブルロジックデバイスコンピュータシステム
JP2010059968A Expired - Fee Related JP5050069B2 (ja) 1998-11-20 2010-03-16 再構成可能なプログラマブルロジックデバイスコンピュータシステム
JP2011003508A Expired - Fee Related JP5509107B2 (ja) 1998-11-20 2011-01-11 再構成可能なプログラマブルロジックデバイスコンピュータシステム
JP2012163797A Pending JP2012252712A (ja) 1998-11-20 2012-07-24 再構成可能なプログラマブルロジックデバイスコンピュータシステム
JP2013246866A Pending JP2014059905A (ja) 1998-11-20 2013-11-29 再構成可能なプログラマブルロジックデバイスコンピュータシステム

Family Applications Before (4)

Application Number Title Priority Date Filing Date
JP2000584401A Pending JP2002530780A (ja) 1998-11-20 1999-11-19 再構成可能なプログラマブルロジックデバイスコンピュータシステム
JP2010059968A Expired - Fee Related JP5050069B2 (ja) 1998-11-20 2010-03-16 再構成可能なプログラマブルロジックデバイスコンピュータシステム
JP2011003508A Expired - Fee Related JP5509107B2 (ja) 1998-11-20 2011-01-11 再構成可能なプログラマブルロジックデバイスコンピュータシステム
JP2012163797A Pending JP2012252712A (ja) 1998-11-20 2012-07-24 再構成可能なプログラマブルロジックデバイスコンピュータシステム

Country Status (5)

Country Link
US (3) US6658564B1 (ja)
EP (3) EP1351154A2 (ja)
JP (5) JP2002530780A (ja)
DE (1) DE69910826T2 (ja)
WO (1) WO2000031652A2 (ja)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
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.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
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
US9195784B2 (en) * 1998-08-31 2015-11-24 Cadence Design Systems, Inc. Common shared memory in a verification system
DE69910826T2 (de) 1998-11-20 2004-06-17 Altera Corp., San Jose Rechnersystem mit rekonfigurierbarer programmierbarer logik-vorrichtung
WO2002013000A2 (de) 2000-06-13 2002-02-14 Pact Informationstechnologie Gmbh Pipeline ct-protokolle und -kommunikation
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
GB0012773D0 (en) * 2000-05-25 2000-07-19 Radioscape Ltd Programmable single-chip device and related development environment
US6732263B1 (en) * 2000-06-12 2004-05-04 Altera Corporation Configuring both a programmable logic device and its embedded logic with a single serialized configuration bit stream
AU2001283549A1 (en) * 2000-08-07 2002-02-18 Altera Corporation Software-to-hardware compiler
US7343594B1 (en) 2000-08-07 2008-03-11 Altera Corporation Software-to-hardware compiler with symbol set inference analysis
JP2004512716A (ja) * 2000-10-02 2004-04-22 アルテラ・コーポレイション 専用プロセッサ装置を含むプログラマブルロジック集積回路装置
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
AU2001295716A1 (en) * 2000-10-12 2002-04-22 Celoxica Limited System and method for an operating system in a reconfigurable logic device
NZ508052A (en) 2000-11-09 2003-06-30 Derek Ward Programmable controller
GB0028079D0 (en) * 2000-11-17 2001-01-03 Imperial College System and method
US7213231B1 (en) * 2001-01-11 2007-05-01 Cisco Technology, Inc. Cross-spectrum application model for dynamic computing environments in software lifecycle
EP1229445A1 (de) * 2001-02-02 2002-08-07 Cluster Labs GmbH Verfahren zum Betreiben eines Rechnersystems und Vorrichtung
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9411532B2 (en) 2001-09-07 2016-08-09 Pact Xpp Technologies Ag Methods and systems for transferring data between a processing device and external devices
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US7840777B2 (en) * 2001-05-04 2010-11-23 Ascenium Corporation Method and apparatus for directing a computational array to execute a plurality of successive computational array instructions at runtime
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
EP2224330B1 (de) 2001-06-20 2012-05-09 Krass, Maren Verfahren und gerät zum partitionieren von grossen rechnerprogrammen
US20030033374A1 (en) * 2001-07-24 2003-02-13 Condor Engineering, Inc. Method and system for implementing a communications core on a single programmable device
DE10139610A1 (de) * 2001-08-11 2003-03-06 Daimler Chrysler Ag Universelle Rechnerarchitektur
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
US7257815B2 (en) * 2001-09-05 2007-08-14 Microsoft Corporation Methods and system of managing concurrent access to multiple resources
US20030056091A1 (en) * 2001-09-14 2003-03-20 Greenberg Craig B. Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US7768522B2 (en) * 2002-01-08 2010-08-03 Apple Inc. Virtualization of graphics resources and thread blocking
US6809735B1 (en) 2002-01-08 2004-10-26 Apple Computer, Inc. Virtualization of graphics resources
US6809736B1 (en) * 2002-01-08 2004-10-26 Apple Computer, Inc. Virtualization of graphics resources
US7015919B1 (en) * 2002-01-08 2006-03-21 Apple Computer, Inc. Virtualization of graphics resources
WO2003060747A2 (de) * 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
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
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
US7194615B2 (en) * 2002-09-17 2007-03-20 Nokia Corporation Reconfigurable apparatus being configurable to operate in a logarithmic scale
US8276135B2 (en) * 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7424710B1 (en) * 2002-12-18 2008-09-09 Vmware, Inc. TCP/IP offloading for virtual machines
US8639487B1 (en) * 2003-03-25 2014-01-28 Cadence Design Systems, Inc. Method for multiple processor system-on-a-chip hardware and software cogeneration
WO2005001689A1 (ja) * 2003-06-25 2005-01-06 Nec Corporation 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
GB2407178B (en) * 2003-10-17 2006-07-12 Toshiba Res Europ Ltd Reconfigurable signal processing module
US7986328B2 (en) * 2004-02-26 2011-07-26 Hewlett-Packard Development Company, L.P. Graphics optimization system and method
JP4497993B2 (ja) 2004-04-16 2010-07-07 株式会社日立製作所 電子配付物の配付制御システム及び方法
JP2005309644A (ja) 2004-04-20 2005-11-04 Hitachi Ltd リソース制御方法及びそのシステム
US20050278505A1 (en) * 2004-05-19 2005-12-15 Lim Seow C Microprocessor architecture including zero impact predictive data pre-fetch mechanism for pipeline data memory
US7623660B1 (en) 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
US7328335B1 (en) 2004-10-01 2008-02-05 Xilinx, Inc. Bootable programmable logic device for internal decoding of encoded configuration data
US7689726B1 (en) * 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
US7199608B1 (en) * 2005-02-17 2007-04-03 Xilinx, Inc. Programmable logic device and method of configuration
US20060200603A1 (en) * 2005-03-01 2006-09-07 Naoto Kaneko Dynamic resource allocation for a reconfigurable IC
US7805593B1 (en) * 2005-03-24 2010-09-28 Xilinx, Inc. Real-time performance monitoring using a system implemented in an integrated circuit
US7774299B2 (en) * 2005-05-09 2010-08-10 Microsoft Corporation Flow computing
DE102005021749A1 (de) * 2005-05-11 2006-11-16 Fachhochschule Dortmund Verfahren und Vorrichtung zur programmgesteuerten Informationsverarbeitung
US9874923B1 (en) * 2005-05-30 2018-01-23 Invent.Ly, Llc Power management for a self-powered device scheduling a dynamic process
US7650603B2 (en) * 2005-07-08 2010-01-19 Microsoft Corporation Resource management for virtualization of graphics adapters
US7443196B2 (en) 2005-07-15 2008-10-28 Tabula, Inc. Configuration network for a configurable IC
US9049243B2 (en) * 2005-09-28 2015-06-02 Photobucket Corporation System and method for allowing a user to opt for automatic or selectively sending of media
US9009265B2 (en) * 2005-09-28 2015-04-14 Photobucket Corporation System and method for automatic transfer of data from one device to another
EP1963986A2 (en) * 2005-09-28 2008-09-03 Ontela Inc. Method and system for establishing a service- application execution environment in a hetergoneous, distributed computing system nad a user-friendly data-transfer service application executing within the service-application execution environment
JP5016807B2 (ja) * 2005-10-07 2012-09-05 株式会社日立ハイテクノロジーズ データ処理システム
US7769929B1 (en) * 2005-10-28 2010-08-03 Altera Corporation Design tool selection and implementation of port adapters
US7779286B1 (en) 2005-10-28 2010-08-17 Altera Corporation Design tool clock domain crossing management
JP4978006B2 (ja) 2006-01-05 2012-07-18 日本電気株式会社 データ処理装置及びデータ処理方法
EP1974265A1 (de) 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardwaredefinitionsverfahren
US7379777B2 (en) * 2006-01-24 2008-05-27 National Instruments Corporation System and method for automatically updating the memory map of a programmable logic controller to customized hardware
JP2007207136A (ja) 2006-02-06 2007-08-16 Nec Corp データ処理装置、データ処理方法、及びデータ処理プログラム
US7533362B1 (en) * 2006-03-20 2009-05-12 Altera Corporation Allocating hardware resources for high-level language code sequences
US7636796B2 (en) * 2006-09-15 2009-12-22 Microsoft Corporation Smart interconnect for modular multi-component embedded devices
US9665970B2 (en) * 2006-09-19 2017-05-30 Imagination Technologies Limited Variable-sized concurrent grouping for multiprocessing
US9424270B1 (en) 2006-09-28 2016-08-23 Photobucket Corporation System and method for managing media files
KR100883655B1 (ko) * 2006-12-04 2009-02-18 삼성전자주식회사 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법
US8103987B2 (en) * 2007-03-09 2012-01-24 Mips Technologies, Inc. System and method for managing the design and configuration of an integrated circuit semiconductor design
US20080222581A1 (en) 2007-03-09 2008-09-11 Mips Technologies, Inc. Remote Interface for Managing the Design and Configuration of an Integrated Circuit Semiconductor Design
US7839162B2 (en) 2007-06-27 2010-11-23 Tabula, Inc. Configurable IC with deskewing circuits
US8069425B2 (en) 2007-06-27 2011-11-29 Tabula, Inc. Translating a user design in a configurable IC for debugging the user design
US7595655B2 (en) 2007-06-27 2009-09-29 Tabula, Inc. Retrieving data from a configurable IC
WO2009039462A1 (en) 2007-09-19 2009-03-26 Tabula, Inc. Method and system for reporting on a primary circuit structure of an integrated circuit (ic) using a secondary circuit structure of the ic
US20090106755A1 (en) * 2007-10-19 2009-04-23 Sundeep Chandhoke Programmable Controller with Multiple Processors Using Scanning and Data Acquisition Architectures
US9336051B2 (en) * 2007-10-19 2016-05-10 National Instruments Corporation Programmable controller with multiple processors using a scanning architecture
JP5119902B2 (ja) * 2007-12-19 2013-01-16 富士通セミコンダクター株式会社 動的再構成支援プログラム、動的再構成支援方法、動的再構成回路、動的再構成支援装置および動的再構成システム
US8429394B1 (en) 2008-03-12 2013-04-23 Stone Ridge Technology Reconfigurable computing system that shares processing between a host processor and one or more reconfigurable hardware modules
US8595723B2 (en) * 2008-06-10 2013-11-26 Hewlett-Packard Development Company, L.P. Method and apparatus for configuring a hypervisor during a downtime state
US8525548B2 (en) * 2008-08-04 2013-09-03 Tabula, Inc. Trigger circuits and event counters for an IC
US20100115528A1 (en) * 2008-10-30 2010-05-06 Nokia Corporation Software Defined Radio
JP5507136B2 (ja) * 2009-07-09 2014-05-28 株式会社日立製作所 管理装置及び方法並びに計算機システム
US8072234B2 (en) 2009-09-21 2011-12-06 Tabula, Inc. Micro-granular delay testing of configurable ICs
US20110106522A1 (en) * 2009-11-05 2011-05-05 Chinya Gautham N virtual platform for prototyping system-on-chip designs
JP5371109B2 (ja) * 2010-02-23 2013-12-18 日本電気株式会社 移行方法
US8364946B2 (en) * 2010-03-22 2013-01-29 Ishebabi Harold Reconfigurable computing system and method of developing application for deployment on the same
DE102010035102A1 (de) * 2010-08-23 2012-04-19 Bürkert Werke GmbH Steuergerät für fluidische Systeme
US9553590B1 (en) 2012-10-29 2017-01-24 Altera Corporation Configuring programmable integrated circuit device resources as processing elements
KR102014721B1 (ko) * 2013-01-29 2019-10-21 삼성전자 주식회사 어플리케이션과 비즈니스 요구에 기반한 프로그램 가능한 지능적 스토리지 아키텍처
US9577643B1 (en) 2013-11-26 2017-02-21 Altera Corporation Secure partial reconfiguration regions
US10452392B1 (en) 2015-01-20 2019-10-22 Altera Corporation Configuring programmable integrated circuit device resources as processors
US9805152B1 (en) * 2016-02-17 2017-10-31 Xilinx, Inc. Compilation of system designs
US10110233B2 (en) 2016-06-23 2018-10-23 Altera Corporation Methods for specifying processor architectures for programmable integrated circuits
US10394990B1 (en) * 2016-09-27 2019-08-27 Altera Corporation Initial condition support for partial reconfiguration
US11099894B2 (en) 2016-09-28 2021-08-24 Amazon Technologies, Inc. Intermediate host integrated circuit between virtual machine instance and customer programmable logic
US10338135B2 (en) 2016-09-28 2019-07-02 Amazon Technologies, Inc. Extracting debug information from FPGAs in multi-tenant environments
US10282330B2 (en) 2016-09-29 2019-05-07 Amazon Technologies, Inc. Configurable logic platform with multiple reconfigurable regions
US10162921B2 (en) 2016-09-29 2018-12-25 Amazon Technologies, Inc. Logic repository service
US10250572B2 (en) 2016-09-29 2019-04-02 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
US10642492B2 (en) 2016-09-30 2020-05-05 Amazon Technologies, Inc. Controlling access to previously-stored logic in a reconfigurable logic device
US10423438B2 (en) * 2016-09-30 2019-09-24 Amazon Technologies, Inc. Virtual machines controlling separate subsets of programmable hardware
US11115293B2 (en) 2016-11-17 2021-09-07 Amazon Technologies, Inc. Networked programmable logic service provider
KR102559581B1 (ko) * 2018-05-23 2023-07-25 삼성전자주식회사 재구성 가능 로직을 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10891132B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Flow convergence during hardware-software design for heterogeneous and programmable devices

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1444084A (en) 1972-06-21 1976-07-28 Honeywell Inf Systems Generalized logic device
US5142625A (en) 1985-06-12 1992-08-25 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
US5134884A (en) * 1986-05-02 1992-08-04 Forrest Anderson Single pulse imaging device
US5068823A (en) * 1988-07-11 1991-11-26 Star Semiconductor Corporation Programmable integrated circuit using topological and parametric data to selectively connect and configure different high level functional blocks thereof
EP0419105B1 (en) * 1989-09-21 1997-08-13 Texas Instruments Incorporated Integrated circuit formed on a surface of a semiconductor substrate and method for constructing such an integrated circuit
US5128871A (en) * 1990-03-07 1992-07-07 Advanced Micro Devices, Inc. Apparatus and method for allocation of resoures in programmable logic devices
US5541849A (en) * 1990-04-06 1996-07-30 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
JPH04314133A (ja) * 1991-04-11 1992-11-05 Nec Corp 情報処理装置
JPH04355867A (ja) * 1991-05-31 1992-12-09 Oki Electric Ind Co Ltd 分散処理方式
US5579530A (en) * 1992-06-11 1996-11-26 Intel Corporation Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus
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
US5442792A (en) * 1992-08-07 1995-08-15 Hughes Aircraft Company Expert system compilation method
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5535342A (en) 1992-11-05 1996-07-09 Giga Operations Corporation Pld connector for module having configuration of either first PLD or second PLD and reconfigurable bus for communication of two different bus protocols
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
JPH06301522A (ja) * 1993-04-09 1994-10-28 Sony Corp 計算機システム構成方法
JPH0784754A (ja) * 1993-09-14 1995-03-31 Toshiba Corp 電子計算機
US5535406A (en) * 1993-12-29 1996-07-09 Kolchinsky; Alexander Virtual processor module including a reconfigurable programmable matrix
US6044211A (en) * 1994-03-14 2000-03-28 C.A.E. Plus, Inc. Method for graphically representing a digital device as a behavioral description with data and control flow elements, and for converting the behavioral description to a structural description
US5761484A (en) * 1994-04-01 1998-06-02 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
US5484740A (en) * 1994-06-06 1996-01-16 Motorola, Inc. Method of manufacturing a III-V semiconductor gate structure
US5548228A (en) * 1994-09-28 1996-08-20 Altera Corporation Reconfigurable programmable logic device having static and non-volatile memory
GB9508931D0 (en) * 1995-05-02 1995-06-21 Xilinx Inc Programmable switch for FPGA input/output signals
JPH08305547A (ja) * 1995-05-11 1996-11-22 Oki Electric Ind Co Ltd Pldによるコンピュータおよびコンパイラおよびオペレーティングシステム
US5646545A (en) * 1995-08-18 1997-07-08 Xilinx, Inc. Time multiplexed programmable logic device
US5859878A (en) * 1995-08-31 1999-01-12 Northrop Grumman Corporation Common receive module for a programmable digital radio
KR0180058B1 (ko) * 1995-09-13 1999-04-01 이민화 Cine메모리에 데이타를 압축 저장하는 초음파진단장치
SE505783C2 (sv) 1995-10-03 1997-10-06 Ericsson Telefon Ab L M Förfarande för att tillverka en digital signalprocessor
US5819064A (en) 1995-11-08 1998-10-06 President And Fellows Of Harvard College Hardware extraction technique for programmable reduced instruction set computers
JP3075166B2 (ja) * 1996-02-13 2000-08-07 日本電気株式会社 遠隔保守システム
GB9607528D0 (en) 1996-04-11 1996-06-12 Int Computers Ltd Integrated circuit processor
US5968161A (en) * 1996-08-29 1999-10-19 Altera Corporation FPGA based configurable CPU additionally including second programmable section for implementation of custom hardware support
JPH1078932A (ja) * 1996-09-04 1998-03-24 Hitachi Ltd リコンフィグラブル・ネットワークコンピュータ
GB2317245A (en) 1996-09-12 1998-03-18 Sharp Kk Re-timing compiler integrated circuit design
US5946219A (en) * 1996-10-30 1999-08-31 Atmel Corporation Method and system for configuring an array of logic devices
US5822570A (en) * 1996-10-30 1998-10-13 Microsoft Corporation System and method for parsing and executing a single instruction stream using a plurality of tightly coupled parsing and execution units
JPH10171645A (ja) * 1996-12-12 1998-06-26 Fujitsu Ltd 情報処理装置
DE19654593A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
US5835734A (en) * 1997-03-07 1998-11-10 California Institute Of Technology Electronic processing and control system with programmable hardware
US6219149B1 (en) 1997-04-01 2001-04-17 Fuji Xerox Co., Ltd. Print processing apparatus
JP3125863B2 (ja) * 1997-04-01 2001-01-22 富士ゼロックス株式会社 印刷処理装置
US6085317A (en) * 1997-08-15 2000-07-04 Altera Corporation Reconfigurable computer architecture using programmable logic devices
US5966534A (en) 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
US6219628B1 (en) * 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US6608638B1 (en) * 2000-02-07 2003-08-19 National Instruments Corporation System and method for configuring a programmable hardware instrument to perform measurement functions utilizing estimation of the hardware implentation and management of hardware resources
US6226776B1 (en) * 1997-09-16 2001-05-01 Synetry Corporation System for converting hardware designs in high-level programming language to hardware implementations
JP4212676B2 (ja) * 1998-02-12 2009-01-21 富士ゼロックス株式会社 情報処理システムおよび情報処理方法
US6011740A (en) * 1998-03-04 2000-01-04 Xilinx, Inc. Structure and method for providing additional configuration memories on an FPGA
US5999990A (en) * 1998-05-18 1999-12-07 Motorola, Inc. Communicator having reconfigurable resources
US6282627B1 (en) * 1998-06-29 2001-08-28 Chameleon Systems, Inc. Integrated processor and programmable data path chip for reconfigurable computing
DE69910826T2 (de) * 1998-11-20 2004-06-17 Altera Corp., San Jose Rechnersystem mit rekonfigurierbarer programmierbarer logik-vorrichtung
GB9828381D0 (en) 1998-12-22 1999-02-17 Isis Innovation Hardware/software codesign system
US6068823A (en) * 1999-01-15 2000-05-30 The University Of Houston System Process for the benign direct fixation and conversion of nitrogen oxides
US6477683B1 (en) * 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
JP4636696B2 (ja) 1999-04-20 2011-02-23 アーオー テクノロジー アクチエンゲゼルシャフト ヒト又は動物の器官の表面における3d座標の経皮的獲得用の装置
US6457173B1 (en) * 1999-08-20 2002-09-24 Hewlett-Packard Company Automatic design of VLIW instruction formats
US6745160B1 (en) * 1999-10-08 2004-06-01 Nec Corporation Verification of scheduling in the presence of loops using uninterpreted symbolic simulation
US6625797B1 (en) * 2000-02-10 2003-09-23 Xilinx, Inc. Means and method for compiling high level software languages into algorithmically equivalent hardware representations
US6510546B1 (en) * 2000-07-13 2003-01-21 Xilinx, Inc. Method and apparatus for pre-routing dynamic run-time reconfigurable logic cores
AU2001283549A1 (en) * 2000-08-07 2002-02-18 Altera Corporation Software-to-hardware compiler

Also Published As

Publication number Publication date
EP1351154A2 (en) 2003-10-08
EP1138001A2 (en) 2001-10-04
EP1351153A2 (en) 2003-10-08
JP5050069B2 (ja) 2012-10-17
JP5509107B2 (ja) 2014-06-04
DE69910826D1 (de) 2003-10-02
US20040098569A1 (en) 2004-05-20
US6658564B1 (en) 2003-12-02
US7171548B2 (en) 2007-01-30
WO2000031652A3 (en) 2000-12-28
EP1351153A3 (en) 2008-11-05
JP2002530780A (ja) 2002-09-17
JP2011090710A (ja) 2011-05-06
DE69910826T2 (de) 2004-06-17
JP2012252712A (ja) 2012-12-20
EP1138001B1 (en) 2003-08-27
USRE42444E1 (en) 2011-06-07
JP2010170572A (ja) 2010-08-05
WO2000031652A2 (en) 2000-06-02

Similar Documents

Publication Publication Date Title
JP5509107B2 (ja) 再構成可能なプログラマブルロジックデバイスコンピュータシステム
WO2000031652A9 (en) Reconfigurable programmable logic device computer system
RU2571366C2 (ru) Виртуальная архитектура неоднородного доступа к памяти для виртуальных машин
RU2569805C2 (ru) Виртуальная архитектура неоднородной памяти для виртуальных машин
US9542231B2 (en) Efficient execution of parallel computer programs
US9052957B2 (en) Method and system for conducting intensive multitask and multiflow calculation in real-time
CA2121154C (en) System for emulating multi-tasking pipelines in a single tasking environment
US20030056091A1 (en) Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations
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
US20100017761A1 (en) Data conversion apparatus, data conversion method, and computer-readable recording medium storing program
US9110692B2 (en) Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system
JP3355184B1 (ja) エミュレーションシステム上における複数の回路設計の同時エミュレーションのための方法及び装置
JP2013546106A (ja) 分散型コンピューティングアーキテクチャ
JP2020119564A (ja) 多重経路ニューラルネットワーク及びそのレイヤにリソースを割り当てる方法並びに多重経路ニューラルネットワークアナライザ
Tasoulas Resource management and application customization for hardware accelerated systems
Philbin et al. Virtual topologies: A new concurrency abstraction for high-level parallel languages: Preliminary report
CN116775208A (zh) 不需要硬件复位的执行软件在处理组件之间的灵活迁移
CN116774000A (zh) 虚拟化处理器中的硬件处理资源
Schuttenberg Linux Kernel Support For Micro-Heterogeneous Computing
James Philbin et al. Virtual Topologies: A New Concurrency Abstraction for High-Level Parallel Languages (Preliminary Report)
Martınez INAUGURAL-DISSERTATION zur Erlangung der Doktorwürde der Naturwissenschaftlich-Mathematischen Gesamtfakultät

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140822

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150303