JP2014059905A - 再構成可能なプログラマブルロジックデバイスコンピュータシステム - Google Patents
再構成可能なプログラマブルロジックデバイスコンピュータシステム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
Abstract
【課題】プログラマブルロジックに基づいた再構成可能なコンピュータシステムを提供する。
【解決手段】アプリケーションを作成するためにシステム設計言語を使用する。アプリケーションは、ソフトウェア要素とプログラマブルロジックリソース要素とに自動的に分割される。システムリソースをスケジューリングおよび配分するために仮想コンピュータオペレーティングシステムが使用される仮想コンピュータオペレーティングシステムは、システム内のプログラマブルロジックリソースの能力を増加させるための仮想ロジックマネージャを含んでいる。
【選択図】図1
【解決手段】アプリケーションを作成するためにシステム設計言語を使用する。アプリケーションは、ソフトウェア要素とプログラマブルロジックリソース要素とに自動的に分割される。システムリソースをスケジューリングおよび配分するために仮想コンピュータオペレーティングシステムが使用される仮想コンピュータオペレーティングシステムは、システム内のプログラマブルロジックリソースの能力を増加させるための仮想ロジックマネージャを含んでいる。
【選択図】図1
Description
この発明は、プログラマブルロジックデバイス技術に係り、より具体的には、システムの能力を高められるように最適化して与えられたアプリケーションを実施するようプログラマブルロジックが再構成されるコンピュータシステムに関する。
従来のコンピュータ構造における唯一のプログラマブル要素はマイクロプロセッサである。マイクロプロセッサは特定のアプリケーションに対応してカスタマイズすることができない固定的な命令セットをもって構成されている。マイクロプロセッサは、アプリケーションのいずれのソフトウェア実行機能をも仮想的に実行させることができる点において柔軟である。しかしながら、所与の機能の実行速度は、マイクロプロセッサ上において実行すると一般的に低下する。これは、ソフトウェアで実行される機能はマイクロプロセッサの一般命令セットを使用するにはかなり複雑なものであるためである。
従来のコンピュータ構造によれば、ソフトウェアは通常限られた範囲のプラットフォーム上でのみ動作する。アプリケーション技術者が所与のマイクロプロセッサ上で動作するようにアプリケーションを作成することを決定した場合、アプリケーション技術者が使用することができる命令セットはマイクロプロセッサ上に永久的に常駐するものの1つとして限定される。従ってアプリケーション技術者は、アプリケーションがハードウェアプラットフォームに適しているか、またはソフトウェアプラットフォームに適しているかを選択する必要がある。ハードウェアに基づいたシステムが非柔軟かつ非効率的であるためしばしばソフトウェアプラットフォームが好まれるが、多くの場合において、マイクロプロセッサ上に常駐する一般命令セットが特定のタイプのアプリケーションソフトウェアに対して不充分な性能をもたらす。例えば、グラフィックスを多用するアプリケーションは、通常例えば3D処理等のアプリケーションのうちの特定のグラフィック要素に特別に適したハードウェアを必要とする。ハードウェアプラットフォーム用のプログラミングに関する複雑性を回避するため技術者はソフトウェアに頼るが、これによってアプリケーションの速度が大幅に低下する危険性がある。
最近、プログラマブルロジックデバイスに基づいた再構成可能なコンピュータの概念が提案された。この種のシステムは、例えば、欧州特許第A−0801351号公報(インタナショナルコンピュータリミテッド)に記載されており、これは再構成可能な回路を有する内蔵周辺機器コントローラを開示している。この種のシステムは、さらに国際特許出願第WO94/10627号公報(ギガオペレーションズコーポレーション)にも記載されており、これは再構成可能な回路を有する分散プロセッシングユニットを開示している。“プログラマブルハードウェアデバイスソフトウェアアクセレーション”(エドワード・M・D氏等によるIEE会報:コンピュータおよびデジタル技術、GB、IEE、1996年第143刊第1号、第55−63頁、XP000554820号、ISSN:1350−2387)および米国特許第5684984号公報には、ハードウェアに基づいた機能を実行するために使用されるプログラマブルハードウェアが開示されている。再構成可能なコンピュータの目的は、カスタマイズすることができるハードウェアを使用して並行性ならびに高速実行時間を提供することによって従来のコンピュータより性能を向上させることである。プログラマブルロジックデバイスを使用することによって柔軟性を増加させることができ、これはこの種のプログラマブルロジックデバイスがデバイス内に新しい構成データをロードすることによって再構成し得るためである。このことにより再構成可能なコンピュータにおいて、従来のコンピュータのような単一の命令セットではなく多数の命令セットを付加することができる。コンピュータが再構成可能なロジックを使用する場合、一定数のハードウェアを使用してより多くの機能を実行することができる。
"プログラマブルハードウェアデバイスソフトウェアアクセレーション"(エドワード・M・D氏等によるIEE会報:コンピュータおよびデジタル技術、GB、IEE、1996年第143刊第1号、第55−63頁、XP000554820号、ISSN:1350−2387)
本発明の目的は、与えられたアプリケーションを処理するコンピュータの能力を最適化するよう再プログラムすることができるプログラマブルロジックデバイスに基づいた、改善された再構成可能なコンピュータを提供することである。
本発明のこれらおよびその他の対象は、本発明の原理に従ってプログラマブルロジックに基づいた再構成可能なコンピュータシステムを提供することによって解決される。
再構成可能なコンピュータのアプリケーションを開発しているアプリケーション技術者は、そのコンピュータ上でどのリソースが使用可能であるかについて配慮する必要はない。単一のプログラマブルロジックデバイスのサイズまたはプログラマブルロジックデバイスの集合に基づいたハードウェア集約が使用される。アプリケーションがコンパイルされると、ハードウェア内で実行されるアプリケーションの機能は、プログラマブルロジックデバイスと同じサイズかまたはこれより小さいサイズの、構成データを含むブロックに分割される。
再構成可能なコンピュータシステムは、モジュール式かつ拡張可能である。より多くのハードウェアリソースが追加された場合、システムの性能が向上する。増強された性能の利点を得るためにアプリケーションを再度コンパイルする必要はない。
ある実行時間中において使用可能なリソースに基づいて、どの手段が動作するかを選択するために仮想のコンピュータオペレーティングシステムを使用する。アプリケーション技術者が高レベルの言語を使用してプログラマブルロジックリソースを使用する再構成可能なコンピュータシステム上で実行することができるアプリケーションのためのハードウェア手段およびソフトウェア手段の両方を開発することを可能にするソフトウェア開発ツールを提供することができる。これらのツールは関数からなるシステム設計言語によって書かれた特性を自動的に分割しソフトウェア機能またはハードウェア機能に割り当てる分割手段を備えることができる。ソフトウェア機能およびハードウェア機能は、スレッドならびにプログラマブルロジックリソース構成データにそれぞれコンパイルすることができる。これらのスレッドならびに構成データは、アプリケーションを実行するために実行時間中において仮想コンピュータオペレーティングシステムによって使用することができる。
再構成可能なコンピュータシステムは、アプリケーション技術者に対して1つのアプリケーションのための性能要件を特定するメカニズムを提供する。例えば、グラフィックスアプリケーションは、単位時間にディスプレイスクリーン上に描写される多辺形の数に応じて特定の処理量を必要とする。秒当りに百万の多辺形を描写する必要がある場合、例えば、アプリケーション技術者は、仮想コンピュータオペレーティングシステムに対して、多辺形を描写する機能が1μs以内のその動作を完了させる必要があることを特定することができる。
仮想コンピュータオペレーティングシステムは、このシステムを使用して動作するアプリケーションの性能(ならびに個々の機能)をモニタする能力と、特定のアプリケーションおよび個々の機能に対してより多くのリソースを再配分して性能要件を満たすことを保持する能力を備えている。仮想コンピュータオペレーティングシステムは、特定の機能を実行する際においてシステムの能力に従ってこの機能をソフトウェアバージョンで実行するかまたはハードウェアバージョンで実行するかを決定することもできる。例えば、別の集中的な演算を要するアプリケーションを実行している際に多辺形描写機能を同時に実行することがスケジュールされた場合、仮想コンピュータオペレーティングシステムによって実行される動的な構成が、いつリソースの配分を決定するか、およびソフトウェアバージョンの多辺形描写機能を使用するかまたはハードウェアバージョンの多辺形描写機能を使用するかを考慮することができる。
プログラマブルロジックリソースの中からアプリケーションの機能を配分する仮想コンピュータオペレーティングシステムが提供される。仮想コンピュータオペレーティングシステムは、仮想コンピュータ核サービス要素を含むことができる。仮想コンピュータ核サービス要素は仮想ロジックリソースマネージャを含む多様なリソースマネージャを含むことができる。
実行時間中、特定の再構成可能なコンピュータシステムが仮想ロジック能力を伴う仮想オペレーティングシステムを有する場合、仮想ロジックマネージャはプログラマブルロジックリソースと二次記憶デバイスとの間におけるプログラマブルロジック構成データおよびアプリケーション状態情報の交換を制御することができる。このことによって限られたリソースしか持たない再構成可能なコンピュータシステムにおいて複雑なアプリケーションを実行することが可能になる。
本発明のその他の詳細、特徴、ならびに種々の利点は、添付図面を参照しながら以下に記述する好適な実施例の詳細な説明によって明らかにされる。
図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)
- 本願明細書に記載された発明。
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)
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)
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 |
-
1999
- 1999-11-19 DE DE69910826T patent/DE69910826T2/de not_active Expired - Fee Related
- 1999-11-19 EP EP03010241A patent/EP1351154A2/en not_active Withdrawn
- 1999-11-19 JP JP2000584401A patent/JP2002530780A/ja active Pending
- 1999-11-19 WO PCT/US1999/027485 patent/WO2000031652A2/en active IP Right Grant
- 1999-11-19 EP EP03010240A patent/EP1351153A3/en not_active Withdrawn
- 1999-11-19 US US09/443,971 patent/US6658564B1/en not_active Expired - Lifetime
- 1999-11-19 EP EP99962804A patent/EP1138001B1/en not_active Expired - Lifetime
-
2003
- 2003-09-19 US US10/666,948 patent/US7171548B2/en not_active Ceased
-
2009
- 2009-01-30 US US12/322,325 patent/USRE42444E1/en not_active Expired - Lifetime
-
2010
- 2010-03-16 JP JP2010059968A patent/JP5050069B2/ja not_active Expired - Fee Related
-
2011
- 2011-01-11 JP JP2011003508A patent/JP5509107B2/ja not_active Expired - Fee Related
-
2012
- 2012-07-24 JP JP2012163797A patent/JP2012252712A/ja active Pending
-
2013
- 2013-11-29 JP JP2013246866A patent/JP2014059905A/ja active Pending
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 |